From 20cc45dd363b510135bccd73743ff2b56bf954ab Mon Sep 17 00:00:00 2001
From: Apertis CI <devel@lists.apertis.org>
Date: Tue, 28 Mar 2023 10:23:10 +0000
Subject: [PATCH] Import Upstream version 1.22.0

---
 .gitignore                                    |     15 +
 .gitlab/issue_templates/Bug.md                |     32 +
 COPYING                                       |    210 +-
 ChangeLog                                     | 132251 +--------------
 NEWS                                          |   3570 +-
 README => README.md                           |     64 +-
 RELEASE                                       |     29 +-
 data/android/GStreamer.java                   |    105 +
 .../completions/gst-inspect-1.0               |      2 +-
 .../completions/gst-launch-1.0                |      2 +-
 data/bash-completion/helpers/gst.in           |      2 +-
 data/bash-completion/helpers/meson.build      |      3 +-
 data/meson.build                              |     12 +-
 docs/gst-hotdoc-plugins-scanner.c             |     22 +-
 docs/gst/running.md                           |     17 +-
 docs/index.md                                 |      2 +-
 docs/meson.build                              |     41 +-
 .../{blank.md => coretracers/index.md}        |      0
 docs/plugins/coretracers/sitemap.txt          |      1 +
 docs/plugins/gst_plugins_cache.json           |     71 +-
 docs/random/API                               |      2 -
 docs/random/ChangeLog-0.8                     |   8759 -
 docs/random/TODO-pre-0.9                      |    170 -
 docs/random/autoplug1                         |    206 -
 docs/random/autoplug2                         |    289 -
 docs/random/bbb/streamselection               |     85 -
 docs/random/bbb/subtitles                     |    105 -
 docs/random/buffers                           |     19 -
 docs/random/caps                              |    209 -
 docs/random/caps.dia                          |   1132 -
 docs/random/caps2                             |    231 -
 docs/random/classes.dia                       |    Bin 5601 -> 0 bytes
 docs/random/ds/0.9-planning                   |    165 -
 docs/random/ds/buffer_locking                 |     30 -
 docs/random/ds/bufferpools                    |     57 -
 docs/random/ds/categories                     |     50 -
 docs/random/ds/element-checklist              |     43 -
 docs/random/ds/registry                       |     15 -
 docs/random/ds/roadmap                        |     79 -
 docs/random/ensonic/audiobaseclasses.txt      |     18 -
 docs/random/ensonic/dparams.txt               |     14 -
 .../ensonic/draft-registry-change-hooks.txt   |     56 -
 docs/random/ensonic/dynlink.txt               |     89 -
 docs/random/ensonic/interfaces.txt            |     85 -
 docs/random/ensonic/lazycaps.txt              |     72 -
 docs/random/ensonic/logging.txt               |     56 -
 docs/random/ensonic/media-device-daemon.txt   |     42 -
 docs/random/ensonic/plugindocs.txt            |     51 -
 docs/random/ensonic/receipies.txt             |     37 -
 docs/random/eos                               |    209 -
 docs/random/error                             |     59 -
 docs/random/example                           |    108 -
 docs/random/hierarchy                         |    153 -
 docs/random/i18n                              |      2 -
 docs/random/interfaces                        |    337 -
 docs/random/metadata                          |     80 -
 docs/random/moving-plugins                    |     75 +-
 docs/random/mutability                        |     30 -
 docs/random/negotiation                       |    286 -
 docs/random/old/ChangeLog.gst-plugins         |     91 -
 docs/random/old/ChangeLog.gstreamer           |  14867 --
 docs/random/omega/EOS/chain-walkthrough       |     19 -
 docs/random/omega/IDEAS                       |     21 -
 docs/random/omega/TODO-0.1.0                  |     54 -
 docs/random/omega/TYPE_FOURCC                 |      3 -
 docs/random/omega/build/TODO                  |      7 -
 docs/random/omega/caps2                       |    320 -
 docs/random/omega/caps3                       |     20 -
 docs/random/omega/debug-commit                |     30 -
 docs/random/omega/eos.old                     |     52 -
 docs/random/omega/filterfactory               |      3 -
 docs/random/omega/output_policies             |     61 -
 docs/random/omega/pad-negotiation             |     40 -
 docs/random/omega/padtemplates                |     46 -
 docs/random/omega/plan-generation             |     87 -
 docs/random/omega/sched-case                  |     20 -
 docs/random/omega/sched-commit1               |    103 -
 docs/random/omega/sched/chains                |     89 -
 docs/random/omega/sched/walkthrough-72        |     39 -
 docs/random/omega/sched2                      |     13 -
 docs/random/omega/scheduling                  |     66 -
 docs/random/omega/testing/Makefile            |      3 -
 docs/random/omega/testing/framework           |    144 -
 docs/random/omega/testing/gstobject.c         |    314 -
 docs/random/omega/testing/gstobject.txt       |     95 -
 docs/random/omega/type-properties             |     77 -
 docs/random/phonon-gst                        |    269 -
 docs/random/plugins                           |     93 -
 docs/random/plugins.dia                       |    941 -
 docs/random/porting-to-0.11.txt               |      5 -
 docs/random/queue                             |     38 -
 docs/random/richardb/syncmail                 |      3 -
 docs/random/rtp                               |     44 -
 docs/random/signal                            |     12 -
 docs/random/sources                           |    324 -
 docs/random/status-0.11-14-jun-2011.txt       |    192 -
 docs/random/styleguide                        |     18 -
 docs/random/testing/syntax                    |     37 -
 docs/random/thaytan/opengl                    |     20 -
 docs/random/thaytan/video-overlays            |     28 -
 docs/random/thomasvs/0.10                     |    121 -
 docs/random/thomasvs/0.4.0                    |    108 -
 docs/random/thomasvs/TODO                     |      3 -
 docs/random/thomasvs/docreview                |     37 -
 docs/random/thomasvs/features                 |     15 -
 docs/random/thomasvs/guadec-4                 |     16 -
 docs/random/thomasvs/pthread                  |     75 -
 docs/random/thomasvs/pwg                      |     39 -
 docs/random/thomasvs/registry                 |     36 -
 docs/random/types                             |     33 -
 docs/random/types2                            |    282 -
 docs/random/types3                            |    177 -
 docs/random/use-cases-0.11.txt                |     21 -
 docs/random/usecases                          |     44 -
 docs/random/vis-transform                     |     78 -
 docs/random/wingo/porting-plugins-to-0.9      |     32 -
 docs/random/wingo/threadsafe-properties       |     76 -
 docs/random/wingo/without-factories           |     62 -
 docs/random/zaheerm/dvb-interface.txt         |     26 -
 gst/gettext.h                                 |     69 -
 gst/glib-compat-private.h                     |      3 +
 gst/gst-i18n-app.h                            |     44 -
 gst/gst-i18n-lib.h                            |     47 -
 gst/gst.c                                     |    147 +-
 gst/gst.h                                     |      9 +-
 gst/gst_private.h                             |     26 +-
 gst/gstallocator.c                            |     56 +-
 gst/gstallocator.h                            |      3 +
 gst/gstandroid.c                              |    610 +
 gst/gstatomicqueue.c                          |     10 +-
 gst/gstbin.c                                  |    253 +-
 gst/gstbin.h                                  |    114 +-
 gst/gstbuffer.c                               |    258 +-
 gst/gstbuffer.h                               |    133 +-
 gst/gstbufferlist.c                           |     40 +-
 gst/gstbufferlist.h                           |      2 +-
 gst/gstbufferpool.c                           |     90 +-
 gst/gstbufferpool.h                           |    158 +-
 gst/gstbus.c                                  |    217 +-
 gst/gstbus.h                                  |     29 +-
 gst/gstcaps.c                                 |    169 +-
 gst/gstcaps.h                                 |     27 +-
 gst/gstcapsfeatures.c                         |     63 +-
 gst/gstcapsfeatures.h                         |      5 +-
 gst/gstchildproxy.c                           |    176 +-
 gst/gstchildproxy.h                           |     55 +-
 gst/gstclock.c                                |    155 +-
 gst/gstclock.h                                |    135 +-
 gst/gstconfig.h.in                            |     80 +-
 gst/gstcontext.c                              |     27 +-
 gst/gstcontrolbinding.c                       |      9 +-
 gst/gstcontrolbinding.h                       |     58 +-
 gst/gstcontrolsource.c                        |      3 +
 gst/gstcontrolsource.h                        |      5 +-
 gst/gstdatetime.c                             |    256 +-
 gst/gstdatetime.h                             |      4 +-
 gst/gstdebugutils.c                           |     15 +-
 gst/gstdebugutils.h                           |     20 +-
 gst/gstdevicemonitor.c                        |    242 +-
 gst/gstdeviceprovider.c                       |     35 +-
 gst/gstdeviceprovider.h                       |     93 +-
 gst/gstdeviceproviderfactory.c                |     14 +-
 gst/gstdynamictypefactory.h                   |     48 +
 gst/gstelement.c                              |     87 +-
 gst/gstelement.h                              |    143 +-
 gst/gstelementfactory.c                       |    425 +-
 gst/gstelementfactory.h                       |     24 +
 gst/gsterror.c                                |      2 +-
 gst/gstevent.c                                |    212 +-
 gst/gstevent.h                                |     26 +
 gst/gstinfo.c                                 |    750 +-
 gst/gstinfo.h                                 |    361 +-
 gst/gstiterator.c                             |     13 +-
 gst/gstmacos.h                                |     43 +
 gst/gstmacos.m                                |    101 +
 gst/gstmemory.c                               |      2 +-
 gst/gstmemory.h                               |     58 +-
 gst/gstmessage.c                              |    306 +-
 gst/gstmeta.c                                 |    220 +-
 gst/gstmeta.h                                 |     61 +
 gst/gstminiobject.c                           |     31 +-
 gst/gstminiobject.h                           |      7 +
 gst/gstobject.c                               |      8 +-
 gst/gstpad.c                                  |    225 +-
 gst/gstpad.h                                  |      7 +-
 gst/gstpadtemplate.c                          |     10 +-
 gst/gstparamspecs.c                           |      4 +-
 gst/gstparse.c                                |      4 +-
 gst/gstpipeline.c                             |     14 +-
 gst/gstplugin.c                               |    167 +-
 gst/gstpluginfeature.c                        |      3 +
 gst/gstpluginloader.c                         |    171 +-
 gst/gstpoll.c                                 |      8 +-
 gst/gstpreset.c                               |      6 +-
 gst/gstpromise.c                              |      2 +-
 gst/gstprotection.c                           |      5 +-
 gst/gstquark.c                                |      1 +
 gst/gstquark.h                                |      5 +-
 gst/gstquery.c                                |    220 +-
 gst/gstquery.h                                |     21 +
 gst/gstregistry.c                             |    155 +-
 gst/gstregistrybinary.c                       |     17 +
 gst/gstregistrychunks.c                       |      3 +-
 gst/gststreams.c                              |     36 +-
 gst/gststructure.c                            |    204 +-
 gst/gststructure.h                            |     26 +-
 gst/gstsystemclock.c                          |    264 +-
 gst/gsttaglist.c                              |     22 +-
 gst/gsttaglist.h                              |      2 +-
 gst/gsttask.c                                 |      2 +-
 gst/gsttaskpool.c                             |    275 +-
 gst/gsttaskpool.h                             |     69 +-
 gst/gsttoc.c                                  |     30 +-
 gst/gsttracerrecord.c                         |      1 +
 gst/gsttracerrecord.h                         |      2 +-
 gst/gsttracerutils.c                          |      4 +-
 gst/gsttracerutils.h                          |    149 +
 gst/gsttypefind.c                             |     35 +-
 gst/gsttypefind.h                             |     91 +-
 gst/gsttypefindfactory.c                      |     10 +-
 gst/gsturi.c                                  |     95 +-
 gst/gstutils.c                                |     70 +-
 gst/gstvalue.c                                |    520 +-
 gst/gstvalue.h                                |     91 +-
 gst/gstversion.h.in                           |      9 +-
 gst/meson.build                               |     80 +-
 gst/parse/grammar.y.in                        |    512 +-
 gst/parse/meson.build                         |     10 +-
 gst/parse/types.h                             |     13 +
 gstreamer.doap                                |     92 +-
 hooks/pre-commit.hook                         |    115 -
 libs/gst/base/gstadapter.c                    |      3 +-
 libs/gst/base/gstaggregator.c                 |    353 +-
 libs/gst/base/gstaggregator.h                 |     17 +
 libs/gst/base/gstbaseparse.c                  |    105 +-
 libs/gst/base/gstbaseparse.h                  |     19 +-
 libs/gst/base/gstbasesink.c                   |     63 +-
 libs/gst/base/gstbasesink.h                   |     14 +-
 libs/gst/base/gstbasesrc.c                    |     75 +-
 libs/gst/base/gstbasesrc.h                    |     34 +-
 libs/gst/base/gstbasetransform.c              |     41 +-
 libs/gst/base/gstbasetransform.h              |     12 +
 libs/gst/base/gstbitwriter.c                  |     19 +-
 libs/gst/base/gstbytereader.c                 |      3 +-
 libs/gst/base/gstbytereader.h                 |      5 +-
 libs/gst/base/gstbytewriter.c                 |      4 +-
 libs/gst/base/gstflowcombiner.c               |      4 +-
 libs/gst/base/gstindex.c                      |      3 +-
 libs/gst/base/gstpushsrc.h                    |     16 +-
 libs/gst/base/gstqueuearray.c                 |     33 +-
 libs/gst/base/gsttypefindhelper.c             |    386 +-
 libs/gst/base/gsttypefindhelper.h             |     26 +
 libs/gst/base/meson.build                     |     60 +-
 libs/gst/check/gstcheck.c                     |     67 +-
 libs/gst/check/gstconsistencychecker.c        |     12 +-
 libs/gst/check/gstharness.c                   |    122 +-
 libs/gst/check/gstharness.h                   |      7 +-
 libs/gst/check/gsttestclock.c                 |    118 +-
 libs/gst/check/libcheck/check.c               |      3 +
 libs/gst/check/libcheck/check_run.c           |      5 +
 libs/gst/check/libcheck/libcompat/libcompat.h |     13 +-
 libs/gst/check/libcheck/meson.build           |     20 +-
 libs/gst/check/meson.build                    |     62 +-
 .../controller/gsttimedvaluecontrolsource.c   |      6 +-
 libs/gst/controller/meson.build               |     61 +-
 libs/gst/helpers/gst-ptp-helper.c             |      2 -
 libs/gst/helpers/meson.build                  |     25 +-
 libs/gst/net/gstnetaddressmeta.c              |      4 +-
 libs/gst/net/gstnetclientclock.c              |     20 +-
 libs/gst/net/gstnetcontrolmessagemeta.c       |      2 +-
 libs/gst/net/gstnettimepacket.c               |     10 +-
 libs/gst/net/gstnettimeprovider.c             |      5 +-
 libs/gst/net/gstntppacket.c                   |      8 +-
 libs/gst/net/gstptpclock.c                    |     40 +-
 libs/gst/net/meson.build                      |     55 +-
 meson.build                                   |    215 +-
 meson_options.txt                             |      3 +-
 pkgconfig/gstreamer-base-uninstalled.pc.in    |     15 -
 pkgconfig/gstreamer-base.pc.in                |     15 -
 pkgconfig/gstreamer-check-uninstalled.pc.in   |     15 -
 pkgconfig/gstreamer-check.pc.in               |     15 -
 .../gstreamer-controller-uninstalled.pc.in    |     15 -
 pkgconfig/gstreamer-controller.pc.in          |     15 -
 pkgconfig/gstreamer-net-uninstalled.pc.in     |     15 -
 pkgconfig/gstreamer-net.pc.in                 |     15 -
 pkgconfig/gstreamer-uninstalled.pc.in         |     21 -
 pkgconfig/gstreamer.pc.in                     |     20 -
 pkgconfig/meson.build                         |     52 -
 plugins/elements/gstcapsfilter.c              |      5 +-
 plugins/elements/gstclocksync.c               |    126 +-
 plugins/elements/gstclocksync.h               |      2 +
 plugins/elements/gstconcat.c                  |    126 +-
 plugins/elements/gstcoreelementselements.h    |     54 +
 plugins/elements/gstcoreelementsplugin.c      |     72 +
 plugins/elements/gstdataurisrc.c              |      3 +
 plugins/elements/gstdownloadbuffer.c          |     15 +-
 plugins/elements/gstelements.c                |    134 -
 plugins/elements/gstelements_private.c        |      6 +-
 plugins/elements/gstfakesink.c                |      6 +-
 plugins/elements/gstfakesrc.c                 |      9 +-
 plugins/elements/gstfdsink.c                  |     18 +-
 plugins/elements/gstfdsrc.c                   |     16 +-
 plugins/elements/gstfilesink.c                |     37 +-
 plugins/elements/gstfilesrc.c                 |    123 +-
 plugins/elements/gstfunnel.c                  |      2 +
 plugins/elements/gstidentity.c                |     95 +-
 plugins/elements/gstidentity.h                |      2 +
 plugins/elements/gstinputselector.c           |    195 +-
 plugins/elements/gstinputselector.h           |      4 +
 plugins/elements/gstmultiqueue.c              |    402 +-
 plugins/elements/gstmultiqueue.h              |      3 +
 plugins/elements/gstoutputselector.c          |      3 +
 plugins/elements/gstqueue.c                   |      4 +-
 plugins/elements/gstqueue2.c                  |     26 +-
 plugins/elements/gstqueue2.h                  |      2 +-
 plugins/elements/gstsparsefile.c              |     14 +-
 plugins/elements/gststreamiddemux.c           |      3 +
 plugins/elements/gsttee.c                     |      2 +
 plugins/elements/gsttypefindelement.c         |     55 +-
 plugins/elements/gstvalve.c                   |     86 +-
 plugins/elements/gstvalve.h                   |     21 +-
 plugins/elements/meson.build                  |      5 +-
 plugins/tracers/gstfactories.c                |    187 +
 .../LICENSE => plugins/tracers/gstfactories.h |     30 +-
 plugins/tracers/gstlatency.c                  |      4 +-
 plugins/tracers/gstleaks.c                    |    151 +-
 plugins/tracers/gsttracers.c                  |      4 +
 plugins/tracers/meson.build                   |      2 +-
 po/LINGUAS                                    |      2 +-
 po/af.po                                      |    239 +-
 po/ast.po                                     |    156 +-
 po/az.po                                      |    142 +-
 po/be.po                                      |    142 +-
 po/bg.po                                      |    221 +-
 po/ca.po                                      |    195 +-
 po/cs.po                                      |    159 +-
 po/da.po                                      |    146 +-
 po/de.po                                      |    208 +-
 po/el.po                                      |    189 +-
 po/en_GB.po                                   |    284 +-
 po/eo.po                                      |    810 +-
 po/es.po                                      |    331 +-
 po/eu.po                                      |    189 +-
 po/fi.po                                      |    198 +-
 po/fr.po                                      |    201 +-
 po/fur.po                                     |    138 +-
 po/gl.po                                      |    159 +-
 po/gstreamer-1.0.pot                          |    378 +-
 po/gstreamer.pot                              |   1713 +
 po/hr.po                                      |    244 +-
 po/hu.po                                      |    229 +-
 po/id.po                                      |    240 +-
 po/it.po                                      |    148 +-
 po/ja.po                                      |    154 +-
 po/ka.po                                      |   1337 +
 po/ko.po                                      |   1331 +
 po/lt.po                                      |    186 +-
 po/nb.po                                      |    176 +-
 po/nl.po                                      |    176 +-
 po/pl.po                                      |    155 +-
 po/pt_BR.po                                   |    256 +-
 po/ro.po                                      |    605 +-
 po/ru.po                                      |    156 +-
 po/rw.po                                      |    137 +-
 po/sk.po                                      |    169 +-
 po/sl.po                                      |    165 +-
 po/sq.po                                      |    318 +-
 po/sr.po                                      |    175 +-
 po/sv.po                                      |    169 +-
 po/tr.po                                      |    196 +-
 po/uk.po                                      |    164 +-
 po/vi.po                                      |    149 +-
 po/zh_CN.po                                   |    707 +-
 po/zh_TW.po                                   |    196 +-
 scripts/dist-translations.py                  |     24 +-
 scripts/gen-changelog.py                      |    240 +
 scripts/meson.build                           |      2 +-
 tests/benchmarks/meson.build                  |      2 +-
 tests/check/elements/clocksync.c              |     71 +
 tests/check/elements/concat.c                 |     12 +-
 tests/check/elements/fdsrc.c                  |      4 +
 tests/check/elements/funnel.c                 |     10 +-
 tests/check/elements/leaks.c                  |     13 +-
 tests/check/elements/multiqueue.c             |     42 +-
 tests/check/elements/selector.c               |      4 +-
 tests/check/elements/tee.c                    |     28 +-
 tests/check/gst/capslist.h                    |      3 +
 tests/check/gst/gst.c                         |     12 +-
 tests/check/gst/gstbin.c                      |    143 +-
 tests/check/gst/gstbuffer.c                   |     46 +
 tests/check/gst/gstbus.c                      |     27 +
 tests/check/gst/gstcaps.c                     |     41 +-
 tests/check/gst/gstcontroller.c               |      6 +-
 tests/check/gst/gstdatetime.c                 |     54 +-
 tests/check/gst/gstdevice.c                   |     12 +-
 tests/check/gst/gstelement.c                  |    119 +-
 tests/check/gst/gstelementfactory.c           |     30 +
 tests/check/gst/gstinfo.c                     |    116 +-
 tests/check/gst/gstmeta.c                     |    128 +-
 tests/check/gst/gstminiobject.c               |      6 +-
 tests/check/gst/gstobject.c                   |      2 +-
 tests/check/gst/gstpad.c                      |     98 +-
 tests/check/gst/gstpoll.c                     |      7 +
 tests/check/gst/gstpreset.c                   |      2 +-
 tests/check/gst/gstprotection.c               |      2 +-
 tests/check/gst/gststream.c                   |     74 +
 tests/check/gst/gststructure.c                |     99 +
 tests/check/gst/gstsystemclock.c              |      6 +
 tests/check/gst/gsttask.c                     |    172 +
 tests/check/gst/gsturi.c                      |     15 -
 tests/check/gst/gstutils.c                    |      4 +-
 tests/check/gst/gstvalue.c                    |    574 +-
 tests/check/gstreamer.supp                    |      2 +-
 tests/check/libs/aggregator.c                 |     94 +-
 tests/check/libs/baseparse.c                  |     95 +-
 tests/check/libs/bitwriter.c                  |     64 +-
 tests/check/libs/bytereader.c                 |      3 +-
 tests/check/libs/bytewriter.c                 |      5 +-
 tests/check/libs/collectpads.c                |      2 +-
 tests/check/libs/controller.c                 |      2 +-
 tests/check/meson.build                       |      7 +-
 tests/check/pipelines/cleanup.c               |      2 +-
 tests/check/pipelines/parse-launch.c          |      4 +-
 tests/check/pipelines/seek.c                  |      4 +-
 tests/check/pipelines/simple-launch-lines.c   |     10 +-
 tests/examples/adapter/meson.build            |      2 +-
 tests/examples/controller/control-sources.c   |      2 +-
 tests/examples/controller/controller-graph.c  |      2 +-
 tests/examples/controller/meson.build         |      4 +-
 tests/examples/helloworld/meson.build         |      2 +-
 tests/examples/memory/meson.build             |      2 +-
 tests/examples/netclock/meson.build           |      4 +-
 tests/examples/ptp/meson.build                |      2 +-
 tests/examples/stepping/meson.build           |      2 +-
 tests/examples/streamiddemux/meson.build      |      2 +-
 .../streamiddemux/streamiddemux-stream.c      |      4 +-
 tests/examples/streams/meson.build            |      4 +-
 tests/misc/netclock-replay.c                  |     18 -
 tests/validate/meson.build                    |      7 +-
 tools/gst-indent                              |     45 -
 tools/gst-inspect-1.0.1                       |     11 +
 tools/gst-inspect.c                           |    200 +-
 tools/gst-launch-1.0.1                        |      2 +-
 tools/gst-launch.c                            |     84 +-
 tools/gst-stats.c                             |    151 +
 tools/gst-typefind.c                          |     18 +-
 tools/meson.build                             |     52 +-
 tools/tools.h                                 |      2 +-
 448 files changed, 27192 insertions(+), 175273 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 .gitlab/issue_templates/Bug.md
 rename README => README.md (80%)
 create mode 100644 data/android/GStreamer.java
 rename docs/plugins/{blank.md => coretracers/index.md} (100%)
 create mode 100644 docs/plugins/coretracers/sitemap.txt
 delete mode 100644 docs/random/API
 delete mode 100644 docs/random/ChangeLog-0.8
 delete mode 100644 docs/random/TODO-pre-0.9
 delete mode 100644 docs/random/autoplug1
 delete mode 100644 docs/random/autoplug2
 delete mode 100644 docs/random/bbb/streamselection
 delete mode 100644 docs/random/bbb/subtitles
 delete mode 100644 docs/random/buffers
 delete mode 100644 docs/random/caps
 delete mode 100644 docs/random/caps.dia
 delete mode 100644 docs/random/caps2
 delete mode 100644 docs/random/classes.dia
 delete mode 100644 docs/random/ds/0.9-planning
 delete mode 100644 docs/random/ds/buffer_locking
 delete mode 100644 docs/random/ds/bufferpools
 delete mode 100644 docs/random/ds/categories
 delete mode 100644 docs/random/ds/element-checklist
 delete mode 100644 docs/random/ds/registry
 delete mode 100644 docs/random/ds/roadmap
 delete mode 100644 docs/random/ensonic/audiobaseclasses.txt
 delete mode 100644 docs/random/ensonic/dparams.txt
 delete mode 100644 docs/random/ensonic/draft-registry-change-hooks.txt
 delete mode 100644 docs/random/ensonic/dynlink.txt
 delete mode 100644 docs/random/ensonic/interfaces.txt
 delete mode 100644 docs/random/ensonic/lazycaps.txt
 delete mode 100644 docs/random/ensonic/logging.txt
 delete mode 100644 docs/random/ensonic/media-device-daemon.txt
 delete mode 100644 docs/random/ensonic/plugindocs.txt
 delete mode 100644 docs/random/ensonic/receipies.txt
 delete mode 100644 docs/random/eos
 delete mode 100644 docs/random/error
 delete mode 100644 docs/random/example
 delete mode 100644 docs/random/hierarchy
 delete mode 100644 docs/random/interfaces
 delete mode 100644 docs/random/metadata
 delete mode 100644 docs/random/mutability
 delete mode 100644 docs/random/negotiation
 delete mode 100644 docs/random/old/ChangeLog.gst-plugins
 delete mode 100644 docs/random/old/ChangeLog.gstreamer
 delete mode 100644 docs/random/omega/EOS/chain-walkthrough
 delete mode 100644 docs/random/omega/IDEAS
 delete mode 100644 docs/random/omega/TODO-0.1.0
 delete mode 100644 docs/random/omega/TYPE_FOURCC
 delete mode 100644 docs/random/omega/build/TODO
 delete mode 100644 docs/random/omega/caps2
 delete mode 100644 docs/random/omega/caps3
 delete mode 100644 docs/random/omega/debug-commit
 delete mode 100644 docs/random/omega/eos.old
 delete mode 100644 docs/random/omega/filterfactory
 delete mode 100644 docs/random/omega/output_policies
 delete mode 100644 docs/random/omega/pad-negotiation
 delete mode 100644 docs/random/omega/padtemplates
 delete mode 100644 docs/random/omega/plan-generation
 delete mode 100644 docs/random/omega/sched-case
 delete mode 100644 docs/random/omega/sched-commit1
 delete mode 100644 docs/random/omega/sched/chains
 delete mode 100644 docs/random/omega/sched/walkthrough-72
 delete mode 100644 docs/random/omega/sched2
 delete mode 100644 docs/random/omega/scheduling
 delete mode 100644 docs/random/omega/testing/Makefile
 delete mode 100644 docs/random/omega/testing/framework
 delete mode 100644 docs/random/omega/testing/gstobject.c
 delete mode 100644 docs/random/omega/testing/gstobject.txt
 delete mode 100644 docs/random/omega/type-properties
 delete mode 100644 docs/random/phonon-gst
 delete mode 100644 docs/random/plugins
 delete mode 100644 docs/random/plugins.dia
 delete mode 100644 docs/random/porting-to-0.11.txt
 delete mode 100644 docs/random/queue
 delete mode 100644 docs/random/richardb/syncmail
 delete mode 100644 docs/random/rtp
 delete mode 100644 docs/random/signal
 delete mode 100644 docs/random/sources
 delete mode 100644 docs/random/status-0.11-14-jun-2011.txt
 delete mode 100644 docs/random/styleguide
 delete mode 100644 docs/random/testing/syntax
 delete mode 100644 docs/random/thaytan/opengl
 delete mode 100644 docs/random/thaytan/video-overlays
 delete mode 100644 docs/random/thomasvs/0.10
 delete mode 100644 docs/random/thomasvs/0.4.0
 delete mode 100644 docs/random/thomasvs/TODO
 delete mode 100644 docs/random/thomasvs/docreview
 delete mode 100644 docs/random/thomasvs/features
 delete mode 100644 docs/random/thomasvs/guadec-4
 delete mode 100644 docs/random/thomasvs/pthread
 delete mode 100644 docs/random/thomasvs/pwg
 delete mode 100644 docs/random/thomasvs/registry
 delete mode 100644 docs/random/types
 delete mode 100644 docs/random/types2
 delete mode 100644 docs/random/types3
 delete mode 100644 docs/random/use-cases-0.11.txt
 delete mode 100644 docs/random/usecases
 delete mode 100644 docs/random/vis-transform
 delete mode 100644 docs/random/wingo/porting-plugins-to-0.9
 delete mode 100644 docs/random/wingo/threadsafe-properties
 delete mode 100644 docs/random/wingo/without-factories
 delete mode 100644 docs/random/zaheerm/dvb-interface.txt
 delete mode 100644 gst/gettext.h
 delete mode 100644 gst/gst-i18n-app.h
 delete mode 100644 gst/gst-i18n-lib.h
 create mode 100644 gst/gstandroid.c
 create mode 100644 gst/gstmacos.h
 create mode 100644 gst/gstmacos.m
 delete mode 100755 hooks/pre-commit.hook
 delete mode 100644 pkgconfig/gstreamer-base-uninstalled.pc.in
 delete mode 100644 pkgconfig/gstreamer-base.pc.in
 delete mode 100644 pkgconfig/gstreamer-check-uninstalled.pc.in
 delete mode 100644 pkgconfig/gstreamer-check.pc.in
 delete mode 100644 pkgconfig/gstreamer-controller-uninstalled.pc.in
 delete mode 100644 pkgconfig/gstreamer-controller.pc.in
 delete mode 100644 pkgconfig/gstreamer-net-uninstalled.pc.in
 delete mode 100644 pkgconfig/gstreamer-net.pc.in
 delete mode 100644 pkgconfig/gstreamer-uninstalled.pc.in
 delete mode 100644 pkgconfig/gstreamer.pc.in
 delete mode 100644 pkgconfig/meson.build
 create mode 100644 plugins/elements/gstcoreelementselements.h
 create mode 100644 plugins/elements/gstcoreelementsplugin.c
 delete mode 100644 plugins/elements/gstelements.c
 create mode 100644 plugins/tracers/gstfactories.c
 rename docs/random/LICENSE => plugins/tracers/gstfactories.h (55%)
 create mode 100644 po/gstreamer.pot
 create mode 100644 po/ka.po
 create mode 100644 po/ko.po
 create mode 100755 scripts/gen-changelog.py
 delete mode 100755 tools/gst-indent

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9cf107a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+*~
+*.bak
+
+Build
+*.user
+*.suo
+*.ipch
+*.sdf
+*.opensdf
+*.DS_Store
+
+# Meson
+/build
+/_build
+/subprojects
diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md
new file mode 100644
index 0000000..71c79ac
--- /dev/null
+++ b/.gitlab/issue_templates/Bug.md
@@ -0,0 +1,32 @@
+### Describe your issue
+<!-- a clear and concise summary of the bug. -->
+<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstreamer.freedesktop.org/lists/ -->
+
+#### Expected Behavior
+<!-- What did you expect to happen -->
+
+#### Observed Behavior
+<!-- What actually happened -->
+
+#### Setup
+- **Operating System:**
+- **Device:** Computer / Tablet / Mobile / Virtual Machine <!-- Delete as appropriate !-->
+- **GStreamer Version:**
+- **Command line:**
+
+### Steps to reproduce the bug
+<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
+1. open terminal
+2. type `command`
+
+### How reproducible is the bug?
+<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
+
+### Screenshots if relevant
+
+### Solutions you have tried
+
+### Related non-duplicate issues
+
+### Additional Information
+<!-- Any other information such as logs. Make use of <details> for long output -->
diff --git a/COPYING b/COPYING
index c87cfe8..efce2a8 100644
--- a/COPYING
+++ b/COPYING
@@ -1,13 +1,14 @@
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
 
- Copyright (C) 1991 Free Software Foundation, Inc.
-                    51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
 
 			    Preamble
 
@@ -16,97 +17,109 @@ freedom to share and change it.  By contrast, the GNU General Public
 Licenses are intended to guarantee your freedom to share and change
 free software--to make sure the software is free for all its users.
 
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
 
   To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
 
   For example, if you distribute copies of the library, whether gratis
 or for a fee, you must give the recipients all the rights that we gave
 you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
 it.  And you must show them these terms so they know their rights.
 
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
 permission to copy, distribute and/or modify the library.
 
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
 
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
 
   The precise terms and conditions for copying, distribution and
 modification follow.  Pay close attention to the difference between a
 "work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
 
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		  GNU LESSER GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
 
   A "library" means a collection of software functions and/or data
 prepared so as to be conveniently linked with application programs
@@ -255,7 +268,7 @@ distribute the object code for the work under the terms of Section 6.
 Any executables containing that work also fall under Section 6,
 whether or not they are linked directly with the Library itself.
 
-  6. As an exception to the Sections above, you may also compile or
+  6. As an exception to the Sections above, you may also combine or
 link a "work that uses the Library" with the Library to produce a
 work containing portions of the Library, and distribute that work
 under terms of your choice, provided that the terms permit
@@ -282,23 +295,31 @@ of these things:
     Library will not necessarily be able to recompile the application
     to use the modified definitions.)
 
-    b) Accompany the work with a written offer, valid for at
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
     least three years, to give the same user the materials
     specified in Subsection 6a, above, for a charge no more
     than the cost of performing this distribution.
 
-    c) If distribution of the work is made by offering access to copy
+    d) If distribution of the work is made by offering access to copy
     from a designated place, offer equivalent access to copy the above
     specified materials from the same place.
 
-    d) Verify that the user has already received a copy of these
+    e) Verify that the user has already received a copy of these
     materials or that you have already sent this user a copy.
 
   For an executable, the required form of the "work that uses the
 Library" must include any data and utility programs needed for
 reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
 components (compiler, kernel, and so on) of the operating system on
 which the executable runs, unless that component itself accompanies
 the executable.
@@ -347,7 +368,7 @@ Library), the recipient automatically receives a license from the
 original licensor to copy, distribute, link with or modify the Library
 subject to these terms and conditions.  You may not impose any further
 restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+You are not responsible for enforcing compliance by third parties with
 this License.
 
   11. If, as a consequence of a court judgment or allegation of patent
@@ -390,7 +411,7 @@ excluded.  In such case, this License incorporates the limitation as if
 written in the body of this License.
 
   13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
+versions of the Lesser General Public License from time to time.
 Such new versions will be similar in spirit to the present version,
 but may differ in detail to address new problems or concerns.
 
@@ -436,7 +457,7 @@ DAMAGES.
 
 		     END OF TERMS AND CONDITIONS
 
-     Appendix: How to Apply These Terms to Your New Libraries
+           How to Apply These Terms to Your New Libraries
 
   If you develop a new library, and you want it to be of the greatest
 possible use to the public, we recommend making it free software that
@@ -453,18 +474,18 @@ convey the exclusion of warranty; and each file should have at least the
     Copyright (C) <year>  <name of author>
 
     This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
+    modify it under the terms of the GNU Lesser General Public
     License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
+    version 2.1 of the License, or (at your option) any later version.
 
     This library is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
+    Lesser General Public License for more details.
 
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -479,3 +500,4 @@ necessary.  Here is a sample; alter the names:
   Ty Coon, President of Vice
 
 That's all there is to it!
+
diff --git a/ChangeLog b/ChangeLog
index 46efc7f..e40f242 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,130820 +1,2301 @@
-=== release 1.18.4 ===
+=== release 1.22.0 ===
 
-2021-03-15 17:47:24 +0000  Tim-Philipp Müller <tim@centricular.com>
+2023-01-23 19:29:34 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.18.4
-
-2021-03-11 15:41:16 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* gst/gstclock.h:
-	  clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
-	  GstClockID is secretly a gpointer so we can't use g_autoptr(),
-	  instead user can do:
-	  g_auto (GstClockID) clock_id = 0;
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/770>
-
-2021-01-31 12:12:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: Don't leak log function user_data if the debug system is compiled out
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/743>
-
-2021-01-15 01:16:34 +0900  Seungha Yang <seungha@centricular.com>
-
-	* gst/gsttask.c:
-	  task: Use SetThreadDescription Win32 API for setting thread name
-	  Since Windows 10 1607, we can make use of SetThreadDescription() API
-	  for setting thread name. Unlike previously used exception based
-	  method, this API will preserve configured thread name on dump file.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/741>
-
-2021-01-14 10:18:51 +0100  Marijn Suijten <marijns95@gmail.com>
-
-	* gst/gstmemory.c:
-	  gstmemory: Mark memory_map @info as `caller-allocates`
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
-
-2021-01-14 10:20:41 +0100  Marijn Suijten <marijns95@gmail.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Mark buffer_map* @info as `caller-allocates`
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
-
-2021-01-07 09:53:41 +0100  Marijn Suijten <marijns95@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  gst,base: Take GstAllocationParams parameter by const ptr
-	  This parameter is only informational and should not be modified. Enforce
-	  this at compile-time and to get the right signature in G-IR.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740>
-
-2021-01-14 02:16:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  Back to development
-
-=== release 1.18.3 ===
-
-2021-01-13 21:05:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
 	* NEWS:
 	* RELEASE:
 	* gstreamer.doap:
 	* meson.build:
-	  Release 1.18.3
+	  Release 1.22.0
 
-2021-01-13 03:01:57 +0900  Seungha Yang <seungha@centricular.com>
+2023-01-23 16:27:36 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* gst/gsturi.h:
-	  uri: Remove leftover documentation
-	  Follow-up from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/728
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731>
+	* po/bg.po:
+	* po/de.po:
+	* po/es.po:
+	* po/hr.po:
+	* po/id.po:
+	* po/nb.po:
+	* po/pl.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/uk.po:
+	* po/zh_CN.po:
+	  gstreamer: update translations
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>
 
-2021-01-08 20:23:23 +0900  Seungha Yang <seungha@centricular.com>
+2023-01-19 16:01:21 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstpromise.c:
-	* gst/gstpromise.h:
 	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/meson.build:
-	  gst: Add non-inline methods for bindings to able to use core APIs
-	  Provide non-inline version of refcounting APIs so that it can be
-	  consumed by bindings
-	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/46
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731>
-
-2020-12-11 16:01:27 +0100  Jakub Adam <jakub.adam@collabora.com>
+	  gst: Mark caps parameters in ALLOCATION query API as nullable
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3752>
 
-	* libs/gst/check/gstharness.c:
-	  harness: don't use GST_DEBUG_OBJECT with GstHarness
-	  GstHarness is not a GObject. Fixes assert on recently added check in
-	  gst_debug_log_valist() if GST_ENABLE_EXTRA_CHECKS is enabled.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/721>
-
-2020-12-06 23:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
+2023-01-18 16:07:39 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 
-	* meson.build:
-	  Back to development
+	* plugins/elements/gstinputselector.c:
+	  input-selector: Take the object lock while iterating sinkpads
+	  Otherwise we can race with pad removal and crash from use-after-free.
+	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1717
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3745>
 
-=== release 1.18.2 ===
+=== release 1.21.90 ===
 
-2020-12-06 13:21:19 +0000  Tim-Philipp Müller <tim@centricular.com>
+2023-01-13 19:08:48 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* ChangeLog:
 	* NEWS:
 	* RELEASE:
 	* gstreamer.doap:
 	* meson.build:
-	  Release 1.18.2
-
-2020-12-03 19:22:43 +0100  Marijn Suijten <marijns95@gmail.com>
-
-	* libs/gst/check/gsttestclock.c:
-	  check: gst_test_clock_process_next_clock_id returns nullable
-	  It is possible there are no more pending clocks in the chain, in which
-	  case this function returns null.
-	  See also tests like test_single_shot_async_future that validate NULL
-	  returns.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/716>
-
-2020-12-02 09:22:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gststreams.c:
-	  streams: gst_stream_type_get_name() is not nullable
-	  It takes an enum and only the defined values are valid to pass in here
-	  as it's not extensible from the outside.
-	  Add a g_return_val_if_reached() for the unreachable case and return
-	  "invalid".
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/713>
-
-2020-11-03 22:58:26 -0800  Khem Raj <raj.khem@gmail.com>
-
-	* gst/gst_private.h:
-	  gst_private.h: increse padding in struct _GstClockEntryImpl
-	  When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
-	  the static assert that the GstClockEntryImpl smaller or
-	  equal to the struct _GstClockEntryImpl triggered.
-	  (they were 12bytes off).
-	  To fix this, the padding is increased by 8 bytes (on 32bit).
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/695>
-
-2020-11-02 17:43:42 +0800  Bing Song <bing.song@nxp.com>
-
-	* plugins/elements/gstclocksync.c:
-	* plugins/elements/gstidentity.c:
-	  identity/clocksync: Also provide system clock if sync=false
-	  identity should provide when sync=true. Don't provide when sync=false.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/630
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/697>
-
-2020-11-10 21:39:13 +1000  Jonathan Matthew <jonathan@d14n.org>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: copy seqnum to new segment event
-	  Fixes: #635
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/701>
-
-2020-10-17 12:34:20 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstdatetime.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstelement.c:
-	* gst/gstparse.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gststreamcollection.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  Add some missing nullable annotations
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/699>
-
-2020-11-03 22:39:54 +1000  Jonathan Matthew <jonathan@d14n.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix modes in scheduling query handling
-	  Create a new query to send upstream and copy the flags across from it,
-	  rather than reusing the same query, as this allows us to prevent use
-	  of pull mode when we don't have a download file.
-	  Fixes: #629
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/696>
-
-2020-10-31 15:10:23 -0400  Chris White <cxwembedded@gmail.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: colorize PIDs in log messages
-	  The PIDs on log lines were supposed to be colorized before, but the
-	  escape sequence was incorrect.  With this change, the code uses the
-	  correct sequence to colorize those PIDs.  E.g., instead of `\033[334m`
-	  (incorrect), use `\033[34m` (correct).
-	  This makes the log messages easier to read.  It also reduces the chance
-	  that a buggy terminal will choke on the invalid escape sequence.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/624
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/691>
-
-2020-10-30 23:46:07 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/libs/gstharness.c:
-	  harness: Handle element not being set cleanly.
-	  If a harness is created with gst_harness_new_empty(), there
-	  might not be an internal element to unref on cleanup.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/687>
-
-2020-10-30 00:45:42 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: When removing a sink, check if the EOS status changed.
-	  Removing a sink that hasn't posted EOS might change the bin itself
-	  to EOS if it's the last remaining non-EOSed sink.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/685>
-
-2020-10-16 10:39:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Include min-upstream-latency in buffering time
-	  While we can fixe the upstream latency using the min-upstream-latency, we
-	  are now forced to use queues (hence more thread) in order to store the pending
-	  data whenever we have an upstream source that has lower latency.
-	  This fixes the issue by allowing to buffer the fixed upstream latency. This is
-	  particularly handy on single core systems were having too many threads can
-	  cause serious performance issues.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/684>
-
-2020-10-27 12:33:56 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  Back to development
-
-=== release 1.18.1 ===
+	  Release 1.21.90
 
-2020-10-26 11:08:36 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.18.1
+2023-01-11 15:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-2020-09-01 00:26:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+	* po/LINGUAS:
+	* po/af.po:
+	* po/ast.po:
+	* po/az.po:
+	* po/be.po:
+	* po/bg.po:
+	* po/ca.po:
+	* po/cs.po:
+	* po/da.po:
+	* po/de.po:
+	* po/el.po:
+	* po/en_GB.po:
+	* po/eo.po:
+	* po/es.po:
+	* po/eu.po:
+	* po/fi.po:
+	* po/fr.po:
+	* po/fur.po:
+	* po/gl.po:
+	* po/hr.po:
+	* po/hu.po:
+	* po/id.po:
+	* po/it.po:
+	* po/ja.po:
+	* po/ka.po:
+	* po/ko.po:
+	* po/lt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/rw.po:
+	* po/sk.po:
+	* po/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/zh_TW.po:
+	  gstreamer: update translations
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
 
-	* libs/gst/base/gstaggregator.c:
-	* tests/check/libs/aggregator.c:
-	  aggregator: make peek() has() pop() drop() buffer API threadsafe
-	  Enforce that the last buffer that was peeked (or had its existence
-	  checked) on a pad is the one that gets popped / dropped, resetting
-	  at the end of each aggregation cycle.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/603
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/675>
+2023-01-11 14:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-2020-10-13 01:19:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+	* scripts/dist-translations.py:
+	* scripts/meson.build:
+	  Fix translation pot files when creating dist tarballs
+	  Add version as per Translation Project requirements and
+	  also add a .pot file without the ABI suffix.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
 
-	* gst/gstvalue.c:
-	  gstvalue: don't write to const char *
-	  Our various deserializing functions require NULL terminators
-	  to not over consume substrings (eg fields of an array). Instead
-	  of writing a NULL terminator to the passed-in string, which may
-	  result in segfaults, make a copy of the substring we're interested
-	  in.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/673>
+2023-01-11 12:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2020-10-10 00:53:42 +0900  Seungha Yang <seungha@centricular.com>
+	* tools/gst-inspect.c:
+	* tools/gst-launch.c:
+	* tools/gst-typefind.c:
+	  tools: Use `gst_macos_main()` on macOS
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709>
 
-	* meson.build:
-	  meson: Disallow DbgHelp for UWP build
-	  Most symbols in DbgHelp.h are not allowed for UWP
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/670>
+2023-01-04 21:37:55 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 
-2020-10-07 03:49:33 +0900  Seungha Yang <seungha@centricular.com>
+	* docs/meson.build:
+	  docs: explicitly declare gir build dependencies
+	  As the path to the gir file is passed to hotdoc.generate_doc() and
+	  not the build target itself, meson doesn't know about the dependency.
+	  In turn, as the CI doesn't build everything before building the
+	  documentation target, some gir files might not exist, for instance
+	  in the case of gst-rtsp-server, causing the output documentation to
+	  be empty.
+	  The error occurred silently because hotdoc accepts wildcards for
+	  *-sources arguments, thus it won't warn about a missing gir file as
+	  it is legitimate for glob matching to resolve to nothing.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3686>
 
-	* gst/gstinfo.c:
-	  info: Fix build on Windows ARM64 device
-	  gstinfo.c(3086): error C2094: label 'done' was undefined
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/668>
+2022-12-29 18:16:31 +0000  Philippe Normand <philn@igalia.com>
 
-2020-10-09 12:13:15 +1100  Matthew Waters <matthew@centricular.com>
+	* gst/gstevent.c:
+	  event: Fix gst_event_parse_stream_collection annotation
+	  The output parameter ownership is passed to the caller.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3659>
 
-	* meson.build:
-	  build: use cpu_family for arch checks
-	  e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all
-	  generally have the same layouts.  cpu_family() groups all of these into
-	  just 'arm' that the ABI check table is expecting.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/667>
+2022-12-28 17:42:31 +0000  Philippe Normand <philn@igalia.com>
 
-2020-10-08 13:37:41 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+	* tests/check/gst/gstelement.c:
+	  tests: gstelement: Fix test_add_pad_while_paused flakiness
+	  `gst_element_remove_pad()` doesn't automatically deactivate the pad, it has to
+	  be done explicitly beforehand, otherwise the pad task might be left dangling,
+	  exposed to undefined behaviour.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3653>
 
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix in/outbuf confusion of _default_transform_meta
-	  The default implementation doesn't actually use its buffer parameters,
-	  but this error might have been the cause of some actual confusion in
-	  the plugins code.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/666>
+2019-05-04 03:54:44 +0200  Alicia Boya García <aboya@igalia.com>
 
-2020-09-26 09:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+	* gst/gstelement.c:
+	* tests/check/gst/gstelement.c:
+	  gstelement: fix deadlock in gst_element_add_pad() when >=PAUSED
+	  gst_element_add_pad() is supposed to activate the pad if the element
+	  state is >= PAUSED and the pad is not already active.
+	  Unfortunately, before this patch, the activation was performed while the
+	  element lock was still taken, which ended causing a deadlock in
+	  gst_pad_start_task() as it attempted to post `stream-status` message in
+	  the element, which also requires the element lock.
+	  Elements could work around this bug by activating the pad manually
+	  before adding it to the element.
+	  This patch fixes the problem by performing pad activation only after the
+	  element lock has been released.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3635>
+
+2022-12-14 23:30:54 +0200  Mart Raudsepp <mart.raudsepp@globalm.media>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Fix potential deadlock with parallel release_pad calls
+	  Commit d3a66f9851ea introduced a potential deadlock with two parallel release_pad
+	  calls, where one could release the main multiqueue lock (qlock) while still
+	  holding the reconf_lock and then calling other routines which in some conditions
+	  may try to acquire qlock again. The second release_pad could already acquire the
+	  qlock and then start waiting on reconf_lock, which may never be possible because
+	  because the first one isn't releasing it until it can acquire qlock.
+	  Fix it by holding reconf_lock for the whole durationg of qlock, making this
+	  particular deadlock impossible.
+	  Fixes #1642
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3571>
+
+2022-12-20 03:54:46 +0900  Hiero32 <unnoh@tkd.att.ne.jp>
 
-	* gst/gstpadtemplate.c:
-	  padtemplate: add missing annotation
-	  Adds missing "transfer full" annotation for caps parameter in
-	  gst_pad_template_set_documentation_caps()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/660>
+	* plugins/elements/gstfdsink.c:
+	* plugins/elements/gstfdsrc.c:
+	  fdsrc,fdsink: Set binary mode on FD
+	  Default mode of STD handles on Windows is text mode, and OS will
+	  insert CRLF sequence by default.
+	  Co-authored-by: Seungha Yang <seungha@centricular.com>
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070>
 
-2020-09-16 02:16:52 +0200  Mathieu Duponchelle <mathieu@centricular.com>
+2022-12-20 03:51:45 +0900  Hiero32 <unnoh@tkd.att.ne.jp>
 
-	* gst/gstmeta.c:
-	  gstmeta: intern registered impl string
-	  Subsequent lookups in the hashtable are probably better done
-	  on memory we're confident is allocated to us :)
-	  It was easy to trigger invalid reads by calling gst_meta_register
-	  with dynamically allocated memory, freeing that memory, then
-	  calling gst_meta_get_info()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/657>
+	* plugins/elements/gstcoreelementselements.h:
+	* plugins/elements/gstcoreelementsplugin.c:
+	* plugins/elements/gstelements_private.c:
+	* plugins/elements/gstfdsink.c:
+	* plugins/elements/gstfdsrc.c:
+	  coreelements: Use G_OS_WIN32 macro
+	  * HAVE_WIN32 is not defined elsewhere
+	  * Enables fdsrc/fdsink for MinGW build as well
+	  Co-authored-by: Seungha Yang <seungha@centricular.com>
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3070>
 
-2020-09-15 21:07:27 +0900  Seungha Yang <seungha@centricular.com>
+2022-12-13 08:58:43 -0500  Xavier Claessens <xavier.claessens@collabora.com>
 
-	* gst/gstinfo.c:
+	* gst/gstconfig.h.in:
+	* libs/gst/check/libcheck/meson.build:
 	* meson.build:
-	  info: Load DbgHelp.dll using g_module_open()
-	  ... and update meson file so that enable it only using required headers.
-	  "dependency(...)" is unlikely successful for Windows SDK libraries
-	  since it doesn't ship pkg-config file. So it needs to be changed
-	  to "find_library()" to link corresponding .lib file. That would
-	  result to most MSVC build system will link dbghelp.dll. However,
-	  one drawback of the change is that gstreamer-1.0.dll will mandate
-	  dbghelp.dll although it should be optional. So g_module_open() way
-	  can be the most safe way in this case.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/659>
-
-2020-09-30 11:56:40 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: mark documentation caps as may be leaked
-	  The template itself is already marked as such and the caps, the
-	  documentation caps are a logical extension of those two.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/658>
-
-2020-09-18 09:59:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST()
-	  Otherwise the clock id we access might not be a valid pointer anymore.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/656>
-
-2020-09-08 12:45:42 +0100  Tom Schoonjans <Tom.Schoonjans@rfi.ac.uk>
+	  Fix API visibility macros
+	  This copies the logic from GLib discussed there:
+	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2936
+	  Beside being simpler, it also fix all public symbols being annotated
+	  with dllexport when doing a static build, as discovered there:
+	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3540#note_1678335
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3567>
 
-	* libs/gst/helpers/ptp_helper_post_install.sh:
-	  ptp_helper_post_install.sh: deal with none
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/655>
+2022-12-17 00:36:49 +0000  Mathieu Duponchelle <mathieu@centricular.com>
 
-2020-09-09 01:23:11 +0800  Xℹ Ruoyao <xry111@mengyan1223.wang>
-
-	* tests/check/meson.build:
-	  skip elements/leak.c if tracer is not available
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/654>
-
-2020-08-20 11:09:11 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Wake up source pad in PAUSED<->PLAYING transitions
-	  When going to PLAYING we will now have a clock and can stop waiting on
-	  the condition variable and instead start waiting on the clock if
-	  necessary for the current configuration.
-	  In the other direction when going to PAUSED the clock might have
-	  disappeared and we might need to wait on the condition variable again
-	  instead.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/653>
-
-2020-08-24 11:59:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Wake up blocking pads when releasing them
-	  Otherwise deactivating them will cause a deadlock as they're blocking
-	  inside the streaming thread.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/601
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/652>
-
-2020-09-08 13:40:25 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	  ptp: Also handle gnu/kfreebsd
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/651>
-
-2020-09-08 17:44:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  Back to development
-
-=== release 1.18.0 ===
+	* libs/gst/base/gstbasesrc.c:
+	  basesrc: respect FIXED_CAPS flag in caps query implementation
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3590>
 
-2020-09-08 00:01:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+2022-07-28 00:43:42 +0900  Hosang Lee <hosang10.lee@lge.com>
 
-	* .gitlab-ci.yml:
-	* ChangeLog:
-	* NEWS:
-	* README:
-	* RELEASE:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.18.0
+	* gst/gststreams.c:
+	* tests/check/gst/gststream.c:
+	  gst: handle combinations in gst_stream_type_get_name()
+	  This should handle the majority of the valid stream cases.
+	  The element setting the stream type may set each type separately.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2804>
 
-2020-09-07 20:22:38 +0100  Tim-Philipp Müller <tim@centricular.com>
+2022-12-13 18:42:11 +0100  Piotr Brzeziński <piotr@centricular.com>
 
+	* gst/gst.h:
+	* gst/gstmacos.h:
+	* gst/gstmacos.m:
+	* gst/meson.build:
 	* meson.build:
-	* scripts/dist-translations.py:
-	* scripts/meson.build:
-	  meson: dist pot file in tarballs
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/618>
-
-2020-08-21 11:06:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Document that samples_selected() must only be called from the aggregate() function
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/607>
-
-2020-08-20 10:54:12 +0300  Sebastian Dröge <sebastian@centricular.com>
+	  macos: Add wrapper API to run a NSApplication in the main thread
+	  On macOS, a Cocoa event loop is needed in the main thread to ensure
+	  things like opening a GL window work correctly. In the past, this was
+	  patched into glib via Cerbero, but that prevented us from updating it.
+	  This workaround simply runs an NSApplication and then calls the
+	  main function on a secondary thread, allowing GStreamer to correctly
+	  display windows and/or system permission prompts, for example.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3532>
 
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't automatically adjust segment if subclass provided one
-	  On the first buffer the base class would update the segment position
-	  based on the start-time-selection. If the subclass provides its own
-	  segment this will caused unexpected behaviour and override segment
-	  information that was explicitly set by the subclass.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/600>
-
-=== release 1.17.90 ===
+2022-12-12 11:34:51 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2020-08-20 16:08:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* gstreamer.doap:
+	* gst/gstsystemclock.c:
 	* meson.build:
-	  Release 1.17.90
-
-2020-08-10 22:42:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix documentation for samples-selected and buffer-consumed
-	  GI expects the instance parameter to be documented, omitting it
-	  leads to a msismatched output in the gir.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/592>
-
-2020-08-07 09:30:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add optional GstStructure info parameter to "samples-selected" signal
-	  Subclasses can use this to provide more information, for example
-	  audioaggregator could provide the offset into the output buffer where
-	  the next data is going to be filled.
-	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/805
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/590>
-
-2020-08-05 16:54:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add segment, pts, dts and duration to samples-selected
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/588>
-
-2020-08-04 07:10:03 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* tests/validate/meson.build:
-	  Meson: Override gst-tester-1.0 program to find it in other modules
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/586>
-
-2020-08-03 16:26:58 +0300  Jordan Petridis <jordan@centricular.com>
-
-	* gst/gstcaps.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstelementfactory.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gststructure.c:
-	  fix clang 10 warnings
-	  the typesystem checks in g_atomic_pointer_compare_and_exchange
-	  seem to trigger some false positives with clang 10
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/584>
-
-2020-08-04 11:13:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix iteration direction in skip_buffers
-	  Subclasses use the pad segment to determine whether a buffer
-	  should be skipped, we thus don't want to check if a buffer
-	  needs to be skipped before processing the segment it's part
-	  of.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/585>
-
-2020-07-30 19:31:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* tests/check/gst/gsturi.c:
-	  gsturi: Add new API for storing unmodified userinfo / fragment
-	  New API: gst_uri_from_string_escaped()
-	  Identical to gst_uri_from_string() except that the userinfo and
-	  fragment components of the URI will not be unescaped while parsing.
-	  This is needed for correctly parsing usernames or passwords with `:`
-	  in them such as reported at:
-	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583>
-
-2020-08-01 01:57:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/check/gst/gsturi.c:
-	  tests: Add more tests for gsturi
-	  Add tests that exercise unescaping of userinfo and fragments.
-	  Also convert to a modular macro-based definition so that we can reuse
-	  the list of tests in the next commit.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/583>
-
-2020-07-30 19:53:10 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tools/gst-inspect.c:
-	  inspect: Print preset description when available
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/582>
-
-2020-06-30 21:10:05 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: expose sample selection API
-	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/771
-	  for context.
-	  This exposes new API that subclasses must call from their
-	  aggregate() implementation to signal that they have selected
-	  the next samples they will aggregate: gst_aggregator_selected_samples()
-	  GstAggregator will emit a new signal there, `samples-selected`,
-	  handlers can then look up samples per pad with the newly-added
-	  gst_aggregator_peek_next_sample.
-	  In addition, a new FIXME is logged when subclasses haven't actually
-	  called `selected_samples` from their aggregate() implementation.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/549>
-
-2020-07-28 10:59:35 +0900  Hosang Lee <hosang10.lee@lge.com>
-
-	* gst/gsturi.c:
-	* tests/check/gst/gsturi.c:
-	  gsturi: unescape '=' in http query
-	  Don't use percent-encoding for '=' in http queries.
-	  '=' in the following kind of http query should be maintained.
-	  example:
-	  ?token=exp=123~acl=/QualityLevels(*~hmac=0cb ...
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/580>
-
-2020-07-24 13:31:47 +0200  Camilo Celis Guzman <camilo@pexip.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	  basetransform: handle invalid subclass implementation for fixate_caps
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/575>
-
-2020-07-24 17:53:00 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't push pointless new segment events
-	  In 1.0, there is no concept of segment update, so don't push new
-	  identical segments.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/578>
-
-2020-07-24 11:38:28 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix seqnum handling in pull mode
-	  After a seek in pull mode, we should use the seek seqnum for all
-	  following operations, not some random seqnums
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/577>
-
-2020-07-26 15:30:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: suppress g-ir-scanner warnings
-	  Make g-ir-scanner skip all those check macros that are
-	  not useful for or usable from bindings.
-	  gstcheck.h:209: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_message_error'
-	  gstcheck.h:212: Warning: GstCheck: Unknown namespace for symbol 'assert_message_error'
-	  gstcheck.h:251: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int'
-	  gstcheck.h:267: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int'
-	  gstcheck.h:280: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int_hex'
-	  gstcheck.h:299: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int_hex'
-	  gstcheck.h:310: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64'
-	  gstcheck.h:327: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64'
-	  gstcheck.h:340: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_int64_hex'
-	  gstcheck.h:358: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_int64_hex'
-	  gstcheck.h:369: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64'
-	  gstcheck.h:386: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64'
-	  gstcheck.h:399: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_uint64_hex'
-	  gstcheck.h:417: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_uint64_hex'
-	  gstcheck.h:428: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_string'
-	  gstcheck.h:444: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_string'
-	  gstcheck.h:455: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_float'
-	  gstcheck.h:474: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_float'
-	  gstcheck.h:487: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_pointer'
-	  gstcheck.h:506: Warning: GstCheck: Unknown namespace for symbol 'assert_equals_pointer'
-	  gstcheck.h:517: Warning: GstCheck: Unknown namespace for symbol 'fail_unless_equals_clocktime'
-	  gstcheck.h:534: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREADS'
-	  gstcheck.h:547: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTIONS'
-	  gstcheck.h:555: Warning: GstCheck: Unknown namespace for symbol 'MAIN_START_THREAD_FUNCTION'
-	  gstcheck.h:626: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL'
-	  gstcheck.h:628: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CRITICAL'
-	  gstcheck.h:640: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_WARNING'
-	  gstcheck.h:652: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT'
-	  gstcheck.h:661: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_OBJECT_REFCOUNT_BETWEEN'
-	  gstcheck.h:676: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_CAPS_REFCOUNT'
-	  gstcheck.h:679: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_BUFFER_REFCOUNT'
-	  gstcheck.h:682: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_MINI_OBJECT_REFCOUNT'
-	  gstcheck.h:690: Warning: GstCheck: Unknown namespace for symbol 'ASSERT_SET_STATE'
-	  gstcheck.h:729: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_test'
-	  gstcheck.h:740: Warning: GstCheck: Unknown namespace for symbol 'tcase_skip_broken_loop_test'
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>
-
-2020-07-26 14:52:30 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.h:
-	  utils: silence g-ir-scanner warnings about float conversion macros
-	  663: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE'
-	  664: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE'
-	  665: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE'
-	  666: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE'
-	  669: Warning: Gst: symbol='GFLOAT_TO_LE': Unknown namespace for symbol 'GFLOAT_TO_LE'
-	  670: Warning: Gst: symbol='GFLOAT_TO_BE': Unknown namespace for symbol 'GFLOAT_TO_BE'
-	  671: Warning: Gst: symbol='GDOUBLE_TO_LE': Unknown namespace for symbol 'GDOUBLE_TO_LE'
-	  672: Warning: Gst: symbol='GDOUBLE_TO_BE': Unknown namespace for symbol 'GDOUBLE_TO_BE'
-	  678: Warning: Gst: symbol='GFLOAT_FROM_LE': Unknown namespace for symbol 'GFLOAT_FROM_LE'
-	  679: Warning: Gst: symbol='GFLOAT_FROM_BE': Unknown namespace for symbol 'GFLOAT_FROM_BE'
-	  680: Warning: Gst: symbol='GDOUBLE_FROM_LE': Unknown namespace for symbol 'GDOUBLE_FROM_LE'
-	  681: Warning: Gst: symbol='GDOUBLE_FROM_BE': Unknown namespace for symbol 'GDOUBLE_FROM_BE'
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>
-
-2020-07-26 14:48:52 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/math-compat.h:
-	  math-compat.h: silence g-ir-scanner warnings
-	  Easier to just make g-ir-scanner skip this header via #ifndef __GI_SCANNER__
-	  than maintain different sets of headers in the meson.build file.
-	  Warning: Gst: symbol="rint": Unknown namespace for symbol "rint"
-	  Warning: Gst: symbol="rintf": Unknown namespace for symbol "rintf"
-	  Warning: Gst: symbol="isnan": Unknown namespace for symbol "isnan"
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>
-
-2020-07-26 14:42:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstevent.h:
-	* gst/gstquery.h:
-	  event, query: fix g-ir-scanner warnings
-	  gstevent.h:72: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG'
-	  gstquery.h:76: Warning: Gst: symbol='FLAG': Unknown namespace for symbol 'FLAG'
-	  Use _FLAG(xyz) instead of FLAG(xyz) to silence g-ir-scanner
-	  warnings about this internal helper define.
-	  It's also slightly more hygienic.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/579>
-
-2020-07-24 13:30:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* gst/gsttracerutils.c:
-	* gst/meson.build:
-	* plugins/tracers/meson.build:
-	* tests/check/meson.build:
-	  tracer: declare GstTracer API stable
-	  It's been around for more than 4 years and people have built
-	  lots of stuff on top of it, doesn't really make sense to keep
-	  it marked as unstable. We're unlikely to change it now, and
-	  we can always deprecate it and make a new one if needed.
-	  This stabilises the following API:
-	  - gst_tracer_register()
-	  - gst_tracing_get_active_tracers()
-	  - gst_tracing_register_hook()
-	  - gst_tracer_record_new()
-	  - gst_tracer_record_log()
-	  Might also help a bit with #424
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/576>
-
-2020-07-23 14:51:51 +1000  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: unref sink/src caps after deactivating pads
-	  Otherwise, access to the harness' sink/src caps is racy between any caps
-	  query performed by an element and gst_harness_teardown().
-	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/794
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/574>
-
-2020-07-22 12:44:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
-
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	  check: Always mark _ck_assert_failed as noreturn
-	  So that we can use `fail` like `g_assert_not_reached`.
-	  The comment is apparently wrong or outdated, as GCC considers it legal
-	  for noreturn-marked functions to return using longjmp.
-	  See the thread at
-	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/59#note_576422
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/573>
-
-2020-07-14 12:15:34 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: improve seqnum fallback warning message
-	  Print target CPU we're building for.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/565>
-
-2020-07-14 12:11:57 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: fix meta sequence number fallback on rpi
-	  The global seqnum variable wasn't actually increased in
-	  the fallback code path, leading to all buffers getting
-	  a seqnum of 0. Which also made the unit test fail.
-	  This affects platforms/toolchains that don't have
-	  64-bit atomic ops such as when compiling for armv7 rpi.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/565>
-
-2020-07-09 09:46:07 +0200  Stéphane Cerveau <scerveau@collabora.com>
-
-	* meson.build:
-	  meson: add a plugin summary
-	  This summary displays a list of plugins which
-	  have been enabled.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/560>
-
-2020-07-22 10:51:54 +0300  Eero Nurkkala <eero.nurkkala@offcode.fi>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix memory leak
-	  With meson configure option: -Db_sanitize=address, the following
-	  issue is seen while running the test "tools_gstinspect":
-	  Running suite(s): gst-inspect
-	  =================================================================
-	  ==20880==ERROR: LeakSanitizer: detected memory leaks
-	  Direct leak of 51 byte(s) in 9 object(s) allocated from:
-	  #0 0x7ffb4dbb0b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
-	  #1 0x7ffb4cdf1ab8 in g_malloc (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x51ab8)
-	  SUMMARY: AddressSanitizer: 51 byte(s) leaked in 9 allocation(s).
-	  0%: Checks: 1, Failures: 0, Errors: 1
-	  GOptionEntry man page states that: "Please note that parsed arguments need to be freed separately (see GOptionEntry)."
-	  Thus, free the 'min_version' string that has been allocated but never freed.
-	  Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/572>
-
-2020-07-20 17:08:32 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstbufferpool.c:
-	  gst/bufferpool: only resize in reset when maxsize is larger
-	  Only resize the buffer if the maxsize is larger then the configued pool
-	  size.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/570>
-
-2020-07-16 23:03:35 +1000  Matthew Waters <matthew@centricular.com>
-
-	* plugins/tracers/meson.build:
-	  build/coretracers: add dep on threads
-	  Fixes the following build error and missing '-pthread' argument when
-	  linking:
-	  subprojects/gstreamer/plugins/tracers/libgstcoretracers.so.p/gstleaks.c.o: In function `gst_leaks_tracer_setup_signals':
-	  /work/build32/../subprojects/gstreamer/plugins/tracers/gstleaks.c:919: undefined reference to `pthread_atfork'
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/571>
-
-2020-07-14 00:03:18 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* tests/check/libs/controller.c:
-	  directcontrolbinding: Properly initialize default `last_value`
-	  It was zero and in some condition it means that the control binding
-	  values where ignored (as shown in the test). Setting it to MAXDOUBLE
-	  so that the first time we sync the values from a a timestamp in the
-	  right range the proper value is computed.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/564>
-
-2020-07-16 18:55:22 +0900  Seungha Yang <seungha@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: Fix possible broken debug output on Windows
-	  Depending on Windows codepage setting, some characters could
-	  be broken when printing on terminal. Fortunatly g_print* family will
-	  take care Windows codepage.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/566>
-
-2020-07-16 16:34:05 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstpad.h:
-	  pad: More explicitly explain how to post errors on GST_FLOW_ERROR
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/568>
-
-2020-07-15 16:12:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency tracer: Fix leaks in the reported latency trace
-	  The stack item was not freed as it was supposed, causing leaks.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/269>
-
-2019-08-30 23:59:42 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency tracer: Fix unsafe and NULL pointer accesses
-	  Use thread-safe accesses to pad peers and parent objects. This
-	  fixes some crashers and all the non-safe access patterns I could
-	  spot. There's still some weirdness when using the latency
-	  tracer on pipeline chains that aren't yet linked, but this
-	  at least stops it segfaulting.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/269>
-
-2020-07-13 08:00:15 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstinfo.h:
-	  Revert "gstinfo: Check threshold for category from macro"
-	  This reverts commit dcece2a878b88335fd1990dbeeb88bdeacba0f06.
-	  This increased the code size and number of branches for all debug statements.
-	  Fixes #564
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/563>
-
-2020-07-10 17:11:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: expose gst_aggregator_finish_buffer_list API
-	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1276
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/562>
-
-2020-07-06 11:55:38 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/elements/leaks.c:
-	  tests/elements/leaks.c: check get_tracer_by_name return value
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/557>
-
-2020-05-18 19:45:35 +0900  Seungha Yang <seungha@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Deprecate gst_base_src_new_seamless_segment()
-	  It can be replaced by gst_base_src_new_segment()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/490>
-
-2020-05-17 00:08:56 +0900  Seungha Yang <seungha@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: Add new API for handling GstSegment update by subclass
-	  Add API gst_base_src_new_segment() for subclass to be able to
-	  signalling new GstSegment which should be applied to following
-	  buffers.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/490>
-
-2020-07-09 07:57:01 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: Stop inlining gst_tag_list_copy
-	  This way it gets exposed to bindings through GObject Introspection.
-	  Same logic as with d1b2d3429c66d80b8d38f9afc6a8dfca49f3a71a
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/561>
-
-2020-07-08 05:15:28 +0900  Seungha Yang <seungha@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Use g_thread_yield instead of g_usleep(1)
-	  Since the commit
-	  https://gitlab.gnome.org/GNOME/glib/-/commit/01c02ac08b682de622930b1278c9c14d0ffe6c49,
-	  g_usleep(1) will be translated to Sleep(1) on Windows which means
-	  sleep in 1 millisecond. But GLib provides g_thread_yield() API
-	  which is exactly what we required here for thread context switching.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/559>
-
-2020-01-08 19:38:45 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* tests/check/gst/gstdevice.c:
-	  deviceprovider: Do static probe on start as fallback
-	  For providers that don't support dynamic probing, just fall back to doing
-	  a static one on start() to make the UI developers life easier.
-	  This also means that the monitor doesn't need to call _can_monitor() before
-	  calling start.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/353>
-
-2018-05-02 13:05:21 +0200  Christoph Reiter <reiter.christoph@gmail.com>
-
-	* gst/gstelementfactory.c:
-	  gstelementfactory: Fix missing features in case a feature moves to another filename
-	  In case a plugin filename was renamed with the plugin being in the registry cache
-	  the features were not loaded after the rename:
-	  1) Cache of old/gone filename was loaded, features added
-	  2) New filename was loaded, features where not added because
-	  they were already found in the registry.
-	  3) In the end stale cache entries for files which are no longer there
-	  are removed, including the wanted features.
-	  4) The cache gets updated without the features.
-	  Fix this by also checking at (2) that the found feature is from the loaded plugin
-	  and not from some stale cache entry.
-	  This affected directsoundsink where libgstdirectsoundsink.dll was renamed
-	  to libgstdirectsound.dll, losing the directsoundsink element in the process.
-	  Fixes #290
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/102>
-
-2020-07-04 16:59:23 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* scripts/extract-release-date-from-doap-file.py:
-	  meson: set release date from .doap file for releases
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/555>
-
-2020-07-05 18:17:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/POTFILES:
-	  po: update POTFILES
-	  xgettext: error while opening "gst/parse/grammar.y" for reading: No such file or directory
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/586
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/556>
-
-2020-07-03 11:45:36 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	  ptp: Add GNU Hurd to the list of supported platforms and fix the Solaris name
-	  https://mesonbuild.com/Reference-tables.html#operating-system-names has
-	  the table of all supported names right now.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/583
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/554>
-
-2020-07-02 11:21:27 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: When removing a ghost pad also unset its target
-	  Otherwise the proxy pad of the ghost pad still stays linked to some
-	  element inside the bin, which is not allowed anymore according to the
-	  topology.
-	  In 2.0 this should be fixed more generically from inside GstGhostPad but
-	  currently there is no way to get notified that the ghost pad is
-	  unparented.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/553>
-
-2020-07-03 02:03:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  Back to development
-
-=== release 1.17.2 ===
-
-2020-07-03 00:22:34 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.17.2
-
-2020-07-01 20:20:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gststreams.c:
-	  stream: Don't use GST_FIXME_OBJECT() when generating a random stream id if the caller didn't provide one
-	  That would call into gst_info_describe_stream(), which takes the same
-	  mutex a second time and then deadlocks.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/552>
-
-2020-05-11 17:44:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstutils.c:
-	  gstutils: fix link in parse_bin_from_description_full doc
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/475>
-
-2020-06-26 00:50:44 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbin.h:
-	  gstbin: Fix docs typo
-	  element-added-deep -> deep-element-added in the GstBin doc header
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/547>
-
-2020-06-25 02:14:56 +0900  Seungha Yang <seungha@centricular.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	  docs: Specify UTF-8 encoding everywhere
-	  Otherwise some non-English character might be broken depending on
-	  OS and/or locale.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/545>
-
-2020-06-25 01:37:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* hooks/pre-commit.hook:
-	  hooks: add opt-in cache update hook
-	  CI now checks that plugin caches are up to date, for example
-	  when adding a new property to an element.
-	  This is something pretty easy to forget, and it can be checked
-	  in a pre-commit hook provided the cache generator generates no
-	  unnecessart diff on the developer's machine. This is now the
-	  case for me in core, -base and -good, and eventually all the
-	  repositories should behave appropriately, at least on my
-	  development machine.
-	  The new check in the pre-commit hook is only performed when
-	  the user is in the development environment (it checks
-	  $MESON_BUILD_ROOT to determine that), and when the developer
-	  has opted-in by setting `GST_CACHE_HOOK=enabled`. That is
-	  because the hook will actually rebuild the cache with ninja,
-	  and modify it in the source directory, that's not a behaviour
-	  we want to enable by default.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/546>
-
-2020-06-24 22:51:48 +0900  Seungha Yang <seungha@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Use gst_info_strdup_vprintf to print string
-	  g_vprintf() will write a string binary to stdout directly using fwrite().
-	  So, depending on character in the string, fwrite to stdout can
-	  print broken one but printf family might not cause the issue.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/544>
-
-2020-06-24 07:54:42 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* gst/gstbus.c:
-	* tests/check/gst/gstbus.c:
-	  bus: clear bus->priv->signal_watch immediately when the source is removed
-	  There is a race-condition that can trigger the assertion in
-	  gst_bus_add_signal_watch_full():
-	  If gst_bus_add_signal_watch_full() is called immediately after
-	  gst_bus_remove_signal_watch() then bus->priv->signal_watch may still be set
-	  because gst_bus_source_dispose() or gst_bus_source_finalize() was not yet
-	  called.
-	  This happens if the corresponding GMainContext has the source queued for
-	  dispatch. In this case, the following dispatch will only unref and delete
-	  the signal_watch because it was already destroyed. Any pending messages
-	  will remain until a new watch is installed.
-	  So bus->priv->signal_watch can be cleared immediately when the watch is
-	  removed. This avoid the race condition.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/543>
-
-2020-06-23 01:54:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  gst-hotdoc-plugins-scanner: serialize interfaces
-
-2020-06-22 23:41:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  gst-hotdoc-plugins-scanner: don't instantiate base classes
-
-2020-06-21 02:00:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  gst-hotdoc-plugins-scanner: serialize parents in hierarchy when needed
-
-2020-06-22 09:11:07 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/meson.build:
-	  docs: Document signals and properties only for current type
-
-2020-06-19 22:52:01 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  doc: Stop documenting properties from parents
-
-2020-06-23 05:18:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstregistrychunks.c:
-	  registry: Print the pointer when printing features
-	  This is what we do everywhere else too, useful for debugging.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/542>
-
-2020-06-23 03:43:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstregistry.c:
-	  registry: Use a toolchain-specific registry file on Windows
-	  If we load a plugin registry for MinGW plugins when running with MSVC,
-	  we will have to write out the whole cache again, and vice-versa. Just
-	  use separate cache files so that the cache is actually useful.
-	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/427
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/542>
-
-2020-06-22 12:26:46 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	  ghostpad: Deprecate gst_ghost_pad_construct()
-	  Instead do everything it did as part of GObject::constructed() and
-	  change the function to always return TRUE.
-	  gst_ghost_pad_construct() was meant to be called by subclasses right
-	  after construction of the object to finish construction as it can fail
-	  in theory. In practice it's impossible for it to fail, even more so if
-	  called directly from GObject::constructed(): The only failure condition
-	  is if the newly created proxy pad already has a parent, which is
-	  impossible at this point as nothing else can have a reference to it.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/540>
-
-2020-05-19 22:54:20 +0200  Thor Andreassen <ta@toggle.be>
-
-	* tools/gst-inspect-1.0.1:
-	* tools/gst-inspect.c:
-	  tools: gst-inspect, add option '--color' with short option '-C'
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/498>
-
-2020-06-18 13:46:29 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: Add a printf extension for ClockTime/ClockTimeDiff pointers
-	  Using both GST_TIME_FORMAT+GST_TIME_ARGS and friend is cumbersome, this
-	  makes it sensibly more user friendly.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/535>
-
-2020-06-20 00:27:57 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  Back to development
-
-=== release 1.17.1 ===
-
-2020-06-19 19:13:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.17.1
-
-2020-06-19 11:19:43 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	* docs/plugins/gst_plugins_cache.json:
-	  doc: Stop recording if building from source/release in plugin cache
-	  Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/537
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/537>
-
-2020-06-19 12:01:49 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstdynamictypefactory.c:
-	* gst/gstdynamictypefactory.h:
-	* gst/gstelement.c:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.c:
-	* gst/gststructure.c:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* gst/gsttracerutils.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstaggregator.h:
-	* libs/gst/base/gstbaseparse.c:
-	  Fix up and add various "Since" markers and other related docs fixes
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/536>
-
-2020-06-18 15:52:40 +0700  Roman Shpuntov <roman.shpuntov@gmail.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Fix clock time conversion on Windows/xbox
-	  The returned ratio can be bigger than GST_SECOND, in which case we would
-	  forever return 0 for the system clock time. Even in other cases if it's
-	  close to GST_SECOND it would result in accuracy loss.
-	  Instead of doing the division by GST_CLOCK_TIME_NONE during
-	  initialization once, do it every time the clock time is requested.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/575
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/534>
-
-2020-06-12 15:07:42 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstelement.c:
-	* gst/gsttask.c:
-	  gst: Delay creation of threadpools
-	  Since glib 2.64, gthreadpool will start waiting on a GCond immediately upon
-	  creation. This can cause issues if we fork *before* actually using the
-	  threadpool since we will then be signalling that GCond ... from another process
-	  and that will never work.
-	  Instead, delay creationg of thread pools until the very first time we need
-	  them. This introduces a minor (un-noticeable) delay when needing a new thread
-	  but fixes the issues for all users of GSTreamer that will call gst_init, then
-	  fork and actually start pipelines.
-	  See https://gitlab.gnome.org/GNOME/glib/-/issues/2131 for more context.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/531>
-
-2020-06-07 12:05:07 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Push event on selected pad only when one is selected
-	  Calling `gst_input_selector_get_active_sinkpad` triggers sinkpad
-	  selection but won't notify about it, leading  to breaking code that
-	  relying on it. This new code added as part of
-	  63ccf45395ce734a2044a58193939a3eda50eb0c was thought to be triggered only
-	  when a pad was already selected and not change the behavior otherwise
-	  so this commit makes sure it is actually the case.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/766
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/522>
-
-2020-05-27 15:35:41 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstdatetime.c:
-	  check: Fix datetime unit test for builds without assert
-	  If built with assertions disabled, we need to ensure the variable is properly
-	  reset before testing
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/530>
-
-2020-06-11 10:56:10 +0900  sohwan.park <sohwan.park@lge.com>
-
-	* tests/check/gst/gstmessage.c:
-	  message: Add unit test for GST_MESSAGE_RATE_CHANGE
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/528>
-
-2020-06-11 10:54:54 +0900  sohwan.park <sohwan.park@lge.com>
-
-	* tests/check/gst/gstevent.c:
-	  event: Add unit test for INSTANT_RATE_CHANGE and INSTANT_RATE_SYNC_TIME
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/528>
-
-2020-06-11 10:53:59 +0900  sohwan.park <sohwan.park@lge.com>
-
-	* tests/check/gst/gstsegment.c:
-	  segment: Add unit test for GST_SEEK_FLAG_INSTANT_RATE_CHANGE
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/528>
-
-2020-06-09 15:06:52 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update plugins cache
-
-2020-06-09 15:05:54 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Fix the way we mark properties mutability
-	  When nothing is specified, we should default to NULL, not PLAYING
-
-2020-06-10 11:23:42 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix StartTimeSelection enum type registration
-	  Make it thread-safe and use the actual C identifiers for the "name"
-	  field, as otherwise gobject-introspection will fall apart.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/527>
-
-2020-06-08 10:51:57 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update plugins cache
-
-2016-09-01 17:33:13 +1000  Matthew Waters <matthew@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  tracers/leaks: fix reentrancy issues with the custom signal handlers
-	  The signal handlers were performing mutex operations in the signal handlers
-	  which is bad idea that may lead to deadlocks.
-	  1. Implement a separate signal thread to handle the signals.
-	  2. Use the glib provided signal GSource to avoid performing operations in
-	  the signal handler.
-	  Fix #186
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/487>
-
-2020-06-08 22:47:56 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gst_private.h:
-	  gst_private.h: increse padding in struct _GstClockEntryImpl
-	  When compiling for 32bit ios arm, the static assert that the
-	  GstClockEntryImpl smaller or equal to the struct _GstClockEntryImpl
-	  triggered. (they were 12bytes off).
-	  To fix this, the padding is increased by 12 bytes (on 32bit).
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/525>
-
-2020-06-08 16:04:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstparamspecs.h:
-	  paramspecs: add 'Since: 1.18' markers for new param spec flags
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/524>
-
-2020-06-07 20:56:49 +0900  Seungha Yang <seungha@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  doc: Add GstObject specific GParamFlags
-	  Document "controllable", "mutable-{ready, paused, playing}" and
-	  "conditonally-available" GParamFlags
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/283>
-
-2019-09-11 13:51:04 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* gst/gstparamspecs.h:
-	* tools/gst-inspect.c:
-	  paramspecs: Add a GParamSpecFlag to indicate the property might not always exists
-	  Add new flag for users to notice that the property is not guaranteed
-	  to exist depending on environment.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/283>
-
-2020-06-07 18:42:21 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/elements/leaks.c:
-	  check: Avoid race with leaks test
-	  The problem is that the taskpool might not have completely drained by the time
-	  we check for leaks.
-	  Instead, ensure all tasks have stopped before testing for valid results.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/523>
-
-2020-06-04 17:50:01 +0200  Camilo Celis Guzman <camilo@pexip.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: protect against lost wakeups for iterm_del condition
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/513>
-
-2020-06-06 10:19:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Prevent potential NULL pointer dereference when serializing plugin object types
-	  CID 1464007
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/516>
-
-2020-06-06 08:24:01 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Directly unreference the documentation caps
-	  The public-facing API has a (valid) protection against NULL caps. We can just
-	  directly remove it.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/515>
-
-2020-06-06 01:10:09 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: fix markdown link to #GstPluginAPIFlags
-
-2020-06-05 23:28:38 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	  padtemplate: expose getters and setters "documentation caps"
-	  This can be used in elements where the caps of pad templates
-	  are dynamically generated and dependent on the environment.
-	  An example is x265enc.
-
-2020-06-05 21:10:29 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttee.c:
-	* tests/check/gst/gstutils.c:
-	  utils: expose GstPluginAPIFlags
-	  These can be passed to gst_type_mark_as_plugin_api, to inform
-	  plugin cache generation.
-	  For now a single flag is specified, "IGNORE_ENUM_MEMBERS", it
-	  can be used for dynamically generated enums to avoid documenting
-	  environment-specific enumeration members. An example is
-	  GstX265EncTune.
-
-2020-06-01 16:18:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstclocksync.c:
-	* plugins/elements/gstidentity.c:
-	* tests/check/gst/gstbin.c:
-	  identity, clocksync: implement provide_clock
-	  Since those are using the clock for sync, they need to also
-	  provide a clock for good measure. The reason is that even if
-	  downstream elements provide a clock, we don't want to have
-	  that clock selected because it might not be running yet.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/509>
-
-2020-06-02 22:39:41 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gststructure.c:
-	  structure: Quickly document serialization format
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/510>
-
-2020-06-03 09:17:32 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gststructure.c:
-	  structure: Reflow the SECTION comment
-	  Removing trailing whitespaces and avoiding to exceed 80chars
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/510>
-
-2020-05-27 03:41:37 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Defer downstream bitrate query to the streaming thread.
-	  When we want to perform a downstream bitrate query, just
-	  set the reconfigure flag on the srcpad and get the streaming
-	  thread to do it. That avoids emitting a downstream query
-	  when receiving the upstream RECONFIGURE event - which can
-	  lead to deadlocks if downstream is sending the event from
-	  within a lock - e.g. input-selector.
-	  If querying the downstream bitrate changes the cached
-	  value, then make sure to update our buffering state
-	  and potentially post a BUFFERING message to the application.
-	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/566
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/501>
-
-2020-06-03 08:09:04 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Avoid deadlock when requesting pads
-	  The deadlock was the following:
-	  * One thread requests a new pad, the internal lock is kept while adding the pad
-	  * Another thread (or the same one) requests the internal links of a pad (could
-	  be that pad)... which also requires that lock.
-	  That internal lock is not required when adding the pad to the element (which is
-	  the last action when requesting a new pad). The fact it will be actually used
-	  will be *after* the request pad function is released.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/512>
-
-2020-06-04 03:24:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstparamspecs.h:
-	* gst/gstvalue.h:
-	  doc: document fundamental types
-
-2020-06-03 18:33:51 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/meson.build:
-	  doc: Require hotdoc >= 0.11.0
-
-2020-06-02 22:25:24 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Don't include GObject and GstPipeline signals
-	  They're already documented from elsewhere.
-
-2020-06-02 12:25:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Export GstAggregatorStartTimeSelection in the header and document it
-	  It is used by one of the aggregator properties and was private in the
-	  source file before.
-
-2020-05-25 16:21:12 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update gst_plugins_cache.json
-
-2020-05-28 21:51:22 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttee.c:
-	  plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
-
-2020-05-28 23:40:09 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Store all non-element types in a separate other-types array
-	  And also make sure to not duplicate them.
-
-2020-05-28 22:59:09 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Use gst_type_is_plugin_api() for deciding whether a type should be included in the docs
-
-2020-05-28 20:56:14 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: Add helper function for marking types as plugin API
-	  This can be used to mark additional types exposed by plugins (i.e.
-	  enums, flags and GObjects) via properties, signals or pad templates as
-	  plugin API. They can then be picked up by the documentation for the
-	  plugin.
-	  Not all types exposed by plugins are documented automatically because
-	  they might come from an external library and should be documented from
-	  there instead.
-
-2020-05-26 13:06:20 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Don't try to print pad templates of non-GstElement types
-
-2020-05-21 17:33:36 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/meson.build:
-	  docs: Print object/flag/enum type information in a more structured way and in more places
-	  Custom types are printed now for signal parameters/return value and properties, and more consistently.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/59
-
-2020-06-04 11:21:45 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Avoid races when posting buffering messages
-	  When posting a buffering message succesfully:
-	  * Remember the *actual* percentage value that was posted
-	  * Make sure we only reset the percent_changed variable if the value we just
-	  posted is indeed different from the current value
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/511>
-
-2020-05-28 14:56:26 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tests/validate/meson.build:
-	  tests:validate: Whitelist validate plugins
-	  This is required so we can use validateflow for example
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/506>
-
-2020-05-28 12:39:08 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tests/validate/gst-tester.c:
-	  tester: Fix exit code on bailout/skipping
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/506>
-
-2020-05-27 20:22:49 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstpromise.c:
-	  promise: update documentation and annotations for NULL replies
-	  The implementation and tests already handle NULL replies.
-	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/502>
-
-2020-05-27 12:26:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/leaks.c:
-	  tests: leak tracer: disable stack traces for faster test execution
-	  This test takes 39 seconds on my machine even though it just runs
-	  a couple of fakesrc num-buffers=2 ! fakesink pipelines. Most of
-	  the cpu seems to be spent in libz, related to stack trace management.
-	  Use stack-traces-flags=none instead of stack-traces-flags=full
-	  until a better solution can be found. Might warrant more
-	  investigation in any case..
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/503>
-
-2020-05-20 17:32:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/queue2.c:
-	  queue2: don't post unnecessary buffering message, refine locking
-	  This is a follow up to review comments in !297
-	  + The posting of the buffering message in READY_TO_PAUSED isn't
-	  needed, removing it made the test fail, but the correct fix
-	  was simply to link elements together
-	  + Move code to relock the queue and set last_posted_buffering_percent
-	  and percent_changed inside the buffering_post_lock in create_write().
-	  This makes locking consistent with post_buffering()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/297>
-
-2019-10-04 16:57:29 +0200  Carlos Rafael Giani <crg7475@mailbox.org>
-
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/queue2.c:
-	  queue2: Fix missing/dropped buffering messages at startup
-	  This fixes a bug that occurs when an attempt is made to post a buffering
-	  message before the queue2 was assigned a bus. One common situation where
-	  this happens is when the use-buffering property is set to TRUE before the
-	  queue2 was added to a bin.
-	  If the result of gst_element_post_message() is not checked, and the
-	  aforementioned situation occurs, then last_posted_buffering_percent and
-	  percent_changed will still be updated, as if posting the message succeeded.
-	  Later attempts to post again will not do anything because the code then
-	  assumes that a message with the same percentage was previously posted
-	  successfully and posting again is redundant.
-	  Updating these variables only if posting succeed and explicitely
-	  posting a buffering message in the READY->PAUSED state change ensure that
-	  a buffering message is posted as early as possible.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/297>
-
-2020-05-25 14:56:10 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Only try initializing entries if they were not initialized before
-	  And add assertions accordingly.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/500>
-
-2020-05-25 12:51:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Clarify comment that described a previous version of the code
-	  Nowadays we are only waking up the head entry waiting if either the head
-	  entry is unscheduled (which is handled some lines above already), or
-	  when the head entry specifically is woken up because a new entry became
-	  the new head entry.
-	  We're not waking up *all* entries anymore whenever any entry in the last
-	  was unscheduled.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/500>
-
-2020-05-22 19:28:54 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Get rid of atomic access to clock entry status and use the mutex instead
-	  We already have a mutex in each clock entry anyway and need to make use
-	  of that mutex in most cases when the status changes. Removal of the
-	  atomic operations and usage of the mutex instead simplifies the code
-	  considerably.
-	  The only downside is that unscheduling a clock entry might block for the
-	  time it needs for the waiting thread to go from checking the status of
-	  the entry to actually waiting, which is not a lot of code.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/500>
-
-2020-05-22 18:12:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Don't start waiting for a clock id if it was signalled before
-	  Otherwise it can happen that unscheduling a clock id never takes place
-	  and instead it is waiting until the normal timeout. This can happen if
-	  the wait thread checks the status and sets it to busy, then the
-	  unschedule thread sets it to unscheduled and signals the condition
-	  variable, and then the waiting thread starts waiting. As condition
-	  variables don't have a state (unlike Windows event objects), we have to
-	  remember ourselves in a new boolean flag protected by the entry mutex
-	  whether it is currently signalled, and reset this after waiting.
-	  Previously this was not a problem because a file descriptor was written
-	  to for waking up, and the token was left on the file descriptor until
-	  the read from it for waiting.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/500>
-
-2020-02-15 22:20:18 +0530  dhilshad <mohddhilshadm@gmail.com>
-
-	* plugins/elements/gstsparsefile.c:
-	  sparsefile: fix possible crash when seeking
-	  In gst_sparse_file_clear function we were closing a file and
-	  reopening it using closed file descriptor.
-	  Fix: Removed closing and reopening of file.
-	  Fixes #512
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/372>
-
-2017-11-04 13:28:03 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Fix comparison of int/int64 ranges
-	  ranges are only equal if:
-	  * Their bounds are equal
-	  * And their step value are equal *IF* they contain more than one value
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/253
-
-2020-05-12 02:05:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: do not supress legitimate errors when unlocking
-	  Instead, only wait_preroll when writev_* returns FLUSHING
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/476>
-
-2020-05-12 00:57:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	  fdsink: remove unused struct member `bytes_written`
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/476>
-
-2020-05-12 00:54:56 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: port over unlock code from fdsink
-	  See also: 5216322d39448ed61c86bb1b3dd9c8c5e6feccf3
-	  The previous code was causing "random" flushing returns
-	  in scenarios with intensive state changes such as within
-	  a buffering pipeline.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/476>
-
-2020-05-19 22:24:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Add boolean field for readability of properties
-	  Some properties are write-only.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/496>
-
-2020-05-19 10:34:01 +0200  Thor Andreassen <ta@toggle.be>
-
-	* tools/gst-inspect-1.0.1:
-	  tools: option '-u' occurs twice in gst-inspect-1.0.1
-	  I have removed the erroneous one according to the source file.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/492>
-
-2020-05-19 14:16:49 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tests/validate/gst-tester.c:
-	  tester: Stop using g_file_new_build_filename
-	  It was introduced in GLib 2.56 only
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/560
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/495>
-
-2020-05-04 17:05:07 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tests/meson.build:
-	* tests/validate/gst-tester.c:
-	* tests/validate/meson.build:
-	* tests/validate/simplest.validatetest:
-	* tests/validate/simplest/flow-expectations/log-sink-sink-expected:
-	  tests: Add a gst-tester utility
-	  gst-tester is a tool to launch `.validatetest` files with
-	  TAP[0] compatible output and supporting missing `gst-validate`
-	  application which means that it can be cleanly integrated with meson
-	  test harness.
-	  It allows us to use `gst-validate` to write integration tests in any
-	  GStreamer repository keeping them as close as possible to the code. It
-	  can simplify a lot test writing and reading and not having to go into
-	  another repository to implement or run tests makes it more convenient to
-	  use.
-	  This also implements a stupid simple test to show how that works
-	  [0] https://testanything.org/
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/461>
-
-2020-05-19 09:30:50 +0000  Stéphane Cerveau <scerveau@collabora.com>
-
-	* docs/random/moving-plugins:
-	  docs: update moving-plugins to use gitlab and meson
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/493>
-
-2020-05-18 10:46:04 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbin.c:
-	  gstbin: Remove mentions of duration caching
-	  This was effectively disabled in 1.0 with the intent of maybe re-enabling it.
-	  The problem is that caching duration at a bin level doesn't make much sense
-	  since there might be queueing/buffering taking place internally and therefore
-	  the duration reported might have no correlation to what is actually being
-	  outputted.
-	  Remove commented code and fixmes, and update documentation
-	  Fixes #4
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/489>
-
-2020-05-15 11:48:07 +0000  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Ensure events are forwarded only once per pad
-	  The code was prepared to do it but was missing to fill the pushed_pads
-	  list.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/485>
-
-2020-05-14 17:13:05 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Ensure that events are pushed first on active pad
-	  Making it less random and fixing a race in a GES test where we have
-	  as pipeline:
-	  ```
-	  videotestsrc ! output-selector name=s ! input-selector name=i s. ! timecodestamper ! i.
-	  ```
-	  which we seek, leading to the seek reaching the video testsrc
-	  without going through the timecodestamper and generating a buffer
-	  even before timecodestamper gets the seek which means that its internal
-	  state is wrong compared to the datastream it gets and attaches wrong
-	  timecode metas.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/485>
-
-2020-05-15 10:38:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  docs: Add list of interfaces implemented by elements to the docs
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/486>
-
-2020-05-13 17:35:01 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: Print event seqnums, object pointers and structures
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/482>
-
-2020-05-13 17:34:12 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: Add support for queries and buffers
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/482>
-
-2020-05-13 17:07:43 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Never reset active pad set from the user
-	  This was leading to interesting races in a GES test.
-	  Related to: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/108
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/481>
-
-2020-05-14 12:13:07 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Minor refactoring
-	  Move checks related to peerfilter in one place. No impact except for logic.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/484>
-
-2020-05-14 11:32:39 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Minor list intersection optimization
-	  When matching against the 2nd list, increment the starting position of the inner
-	  list iteration.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/484>
-
-2020-05-07 21:06:18 +0800  Xu Guangxin <guangxin.xu@intel.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: unblock acquire thread when we discard buffer
-	  else the acquire thread will wait infinitely.
-	  The deadlock showed in prevous unit test commit. This will fix it
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/470>
-
-2020-05-11 18:21:48 +0800  Xu Guangxin <guangxin.xu@intel.com>
-
-	* tests/check/gst/gstbufferpool.c:
-	  tests: bufferpool: add dead lock test for buffer discard
-	  you will see a deadlock after you apply this patch, and run following commandline:
-	  GST_STATE_IGNORE_ELEMENTS=1 tests/check/gst_gstbufferpool
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/470>
-
-2020-05-11 22:27:14 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstoutputselector.h:
-	  output-selector: Drop duplicated seek events
-	  When we get a seek event on several source pads, we should drop
-	  the duplicated ones as any element that has several srcpads (like
-	  demuxers).
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/478>
-
-2020-05-12 05:58:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/check/meson.build:
-	  meson: Pass native: false to add_languages()
-	  This is needed for cross-compiling without a build machine compiler
-	  available. The option was added in 0.54, but we only need this in
-	  Cerbero and it doesn't affect older versions so it should be ok.
-	  Will just cause a spurious warning.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/477>
-
-2020-05-12 16:42:42 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: Fix iterating GstStructure fields
-	  This broke with 1b568fa01fa16885c3a7368551034c206493a41a where we inlined the array
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/479>
-
-2020-05-10 11:37:45 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update gst_plugins_cache.json
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/474>
-
-2020-05-10 11:35:53 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	  docs: Output JSON files with UTF-8 encoding
-	  Otherwise non-ASCII characters are encoded as \uXXXX.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/474>
-
-2020-05-08 17:21:20 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Fix segment (de)serialization
-	  By using the proper quarks (stored in the indirection table) and not the *enums*
-	  of those entry in the quark table.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/473>
-
-2020-05-08 08:03:54 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gsturi.c:
-	  check: uri: Check return value
-	  CID #1455381
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/472>
-
-2020-05-08 08:02:12 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstvalue.c:
-	  check: gstvalue: Check return value
-	  As is done everywhere else
-	  CID #1455540
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/472>
-
-2020-05-08 07:43:02 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/libs/gsttestclock.c:
-	  check: testclock: Check return values
-	  As done everywhere else.
-	  CID #1455383
-	  CID #1455524
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/472>
-
-2020-05-08 07:03:49 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstpromise.c:
-	  check: gst_promise_reply() takes ownership
-	  Copy the structure temporarily to check it further down.
-	  CID #1455392
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/472>
-
-2020-05-08 06:49:45 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstprintf.c:
-	  check: Don't leak test string
-	  Turns out the length returned by `__gst_vasprintf()` doesn't include the final
-	  `\0`.
-	  CID #1455430
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/472>
-
-2020-05-07 23:00:13 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gsttaglist.c:
-	* tests/check/gst/gsttag.c:
-	  taglist: Fix crash when comparing two lists of the same length but with different items
-	  Fixes #549
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/469>
-
-2020-05-07 03:28:59 +1000  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/elements/selector.c:
-	  tests/input selector: Fix a shutdown crash
-	  Hold a ref to the pad we're planning on sending EOS too, so that
-	  it doesn't disappear if things shut down before the thread gets
-	  to actually send the EOS event.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/467>
-
-2020-04-28 22:21:13 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: Handle seeking with single_segment=True
-	  Identity was ignoring seek and flush events even when using
-	  a single segment. In the end it means that we couldn't compute
-	  buffers running-time and stream time after seeks.
-	  This commits adds support for flushing seeks only as I have no idea
-	  what to do for non flushing ones.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/450>
-
-2020-04-28 13:28:32 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstclocksync.c:
-	* plugins/elements/gstidentity.c:
-	  identity,clocksync: Fix timestamping inside single segment in reverse playback
-	  In reverse playback, buffers are played back from buffer.stop
-	  (buffer.pts + buffer.duration) to buffer.pts running times which
-	  mean that we need to use the buffer end running time as a buffer
-	  timestsamp, not the buffer pts when using a single segment in reverse
-	  playback.
-	  This is now being tested in
-	  `validate.test.identity.reverse_single_segment`
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/450>
-
-2020-04-23 16:24:15 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Fix clock synchronization running time in reverse playback
-	  In reverse playback, buffers have to be displayed at buffer.stop running
-	  time, otherwise a same set of buffer can't be displayed in the exact opposite
-	  order to forward playback.
-	  For example, seeking a video stream at 1fps with start=0, stop=5s, rate=1.0
-	  will display the following buffers:
-	  b0.pts = 0s, b0.duration = 1s - at running time = 0s
-	  b1.pts = 1s, b1.duration = 1s - at running time = 1s
-	  b2.pts = 2s, b2.duration = 1s - at running time = 2s
-	  b3.pts = 3s, b3.duration = 1s - at running time = 3s
-	  b4.pts = 4s, b4.duration = 1s - at running time = 4s
-	  <wait at EOS for 1second>
-	  Now, playing that reverse with start=0, stop=5s, rate=1.0 has to display
-	  the following buffers:
-	  b0.pts = 4s, b0.duration = 1s - at running time = 0s
-	  b1.pts = 3s, b1.duration = 1s - at running time = 1s
-	  b2.pts = 2s, b2.duration = 1s - at running time = 2s
-	  b3.pts = 1s, b3.duration = 1s - at running time = 3s
-	  b4.pts = 0s, b4.duration = 1s - at running time = 4s
-	  <wait at EOS for 1second>
-	  With the previous code, it reproduced the following:
-	  b0.pts = 4s, b0.duration = 1s - at running time = 1s
-	  b1.pts = 3s, b1.duration = 1s - at running time = 2s
-	  b2.pts = 2s, b2.duration = 1s - at running time = 3s
-	  b3.pts = 1s, b3.duration = 1s - at running time = 4s
-	  b4.pts = 0s, b4.duration = 1s - at running time = 5s
-	  <NO WAIT AT EOS AND POST EOS RIGHT AWAY>
-	  This is being tested with the `validate.launch_pipeline.sink.reverse_playback_clock_waits.*`
-	  set of tests
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/450>
-
-2020-04-23 16:10:24 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix the way position is computed in reverse playback
-	  In reverse playback, buffers are played back from buffer.stop
-	  (buffer.pts + buffer.duration) to buffer.pts, which means that the
-	  position after the buffer is consumed is buffer.pts, not buffer.pts -
-	  buffer.duration.
-	  Without that change, and when `automatic_eos` feature is on,
-	  we were dropping the last buffers as marking the stream EOS one buffer
-	  too soon.
-	  This is now being tested extensively by GstValidate in the
-	  `validate.test.clock_sync.*` set of tests.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/450>
-
-2020-05-02 12:01:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  pkgconfig: add pluginscannerdir variable
-	  So we can get this in a unified way from installed
-	  and uninstalled GStreamer when using pkg-config to
-	  set up test environments in other modules.
-	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/456>
-
-2020-05-06 11:59:15 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gsttaglist.c:
-	  taglist: Make equality check more uniform
-	  Previously this was iterating over taglists with ... string names.
-	  Instead use the same technique as `gst_structure_is_equal()` with the additional
-	  double check.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/466>
-
-2020-05-06 10:07:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstregistrybinary.c:
-	  registrybinary: Also call fclose() if fflush()/fsync() failed
-	  Otherwise we would be leaking the file in error cases.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/465>
-
-2020-05-06 09:59:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstregistrybinary.c:
-	  registrybinary: Don't call fclose() more than once
-	  We must not retry fclose() on EINTR as POSIX states:
-	  After the call to fclose(), any use of stream results in undefined
-	  behavior.
-	  We ensure above with fflush() and fsync() that everything is written out
-	  so chances of running into EINTR are very low. Nonetheless assume that
-	  the file can't be safely renamed, we'll just try again on the next
-	  opportunity.
-	  CID #1462697
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/465>
-
-2020-05-06 08:04:28 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use explicit limit checking
-	  When we know we'll only be checking the real limits, use a clearer/simpler
-	  macro.
-	  CID #1037148
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/464>
-
-2020-04-15 17:49:37 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstsegment.h:
-	  segment: Enhance the GstSegment structure documentation
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/435>
-
-2020-05-05 13:20:10 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/plugins/gst_plugins_cache.json:
-	  doc: Add signal flags information in the plugin cache
-	  Updating the plugin cache file
-	  Same behavior as g-ir as the signal flags don't have a GType associated.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/463>
-
-2020-05-03 18:50:26 +0200  Richard Kreckel <kreckel@ginac.de>
-
-	* gst/gstregistrybinary.c:
-	  registrybinary: Use a FILE* in BinaryRegistryCache...
-	  ...instead of a file descriptor so buffered I/O is used when writing
-	  the binary cache. This boosts performance at startup, particularly on
-	  network filesystems where writes may be quite slow.
-	  Fixes gstreamer#545.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/458>
-
-2020-04-23 14:57:59 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstvalue.c:
-	  gstvalue: Use quark-based structure usage for segment (de)serialization
-	  Instead of string-based one. Smaller and faster code
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-04-17 17:14:36 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Handle runtime checks as such
-	  The various `g_strdup_printf()` returns values are runtime checks
-	  which could be disabled if one wants and therefore should be
-	  handled as such with g_return_val_if_fail()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-05-01 15:15:46 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Remove useless checks
-	  The calling function already checks that the values exists and it's
-	  a valid list
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-05-01 14:50:52 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Use previous assumption
-	  The types were already checked for equality just before, not need to
-	  check for that again
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-05-01 14:48:37 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Use comparision functions directly
-	  We know the types of values, just use the comparision function directly
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-05-01 14:45:28 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  gstvalue: Minor optimization for checks
-	  For value types that aren't subclassable, just check the type directly.
-	  For flags, compare against the fundamental type directly instead of going through
-	  the more expensive recursive check of `G_TYPE_CHECK_VALUE_TYPE()`
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-23 17:03:51 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Optimize list subset some more
-	  Avoid going through the double subtract function when comparing
-	  anything to a list.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-23 17:01:20 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Optimize gst_value_compare_list
-	  The compare function only needs to be retrieved once and used
-	  directly
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-21 13:05:33 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Avoid temporary allocation
-	  The problem is that:
-	  * g_value_init will end up allocating an internal list/array
-	  * g_value_copy *clears* the existing value by calling the free func
-	  and then the copy function (creating it again)
-	  To avoid that alloc/free/alloc cycle, directly call the appropriate
-	  function
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-23 08:20:58 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstcaps.c:
-	  gstcaps: Move assignment outside loop
-	  s1 and f1 stay the same within the inner loop
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-23 08:10:53 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gststructure.c:
-	  gststructure: inline gst_structure_is_subset()
-	  Having direct access to the iteration allows tighter code and
-	  also being able to stop earlier.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-03-23 08:06:26 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gststructure.c:
-	  gststructure: Inline gst_structure_intersect()
-	  Having direct access to the iteration allows tighter code and
-	  also being able to stop earlier.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/453>
-
-2020-05-05 10:47:07 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gst_private.h:
-	* gst/gstregistry.c:
-	* gst/gstregistrychunks.c:
-	  gstregistry: Directly get list of plugin features
-	  Previously this was:
-	  * iterating and referencing all plugin features in a GList
-	  * *then* filtering out the ones we want
-	  * Was doing that filtering by name (i.e. `strcmp`) instead of direct pointer
-	  comparision
-	  Instead, just create a private direct function to get the list of plugin
-	  features
-	  Uses 4 times less instructions ...
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/462>
-
-2020-05-04 16:51:19 +0000  Rubén Gonzalez <rgonzalez@fluendo.com>
-
-	* gst/gstplugin.c:
-	  plugin: Fix typo with GStremaer version:
-	  ```
-	  has incompatible version (plugin: 1.15, gst: 1,12)
-	  ```
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/460>
-
-2020-05-01 15:03:55 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: No longer store same-type intersection functions in table
-	  The intersection function table is a legacy of 2005, when one could
-	  register random intersection functions. This is no longer the case.
-	  The only place where that table was used was:
-	  * `gst_value_can_intersect()`, where it was already only used for identical
-	  GType
-	  * `gst_value_intersect()`, where the table iteration was insanely expensive
-	  Instead this patch:
-	  * Only stored intersection functions for *different* types (of which there are
-	  only 4)
-	  * Make gst_value_intersect directly call the same-type intersection functions
-	  and only use the table if ever it doesn't match.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/454>
-
-2020-05-01 17:27:07 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Simplify task name creation
-	  This was going through a few locks and doing temporarily allocations for every
-	  single task creation.. just to get a name.
-	  We don't need to take locks since:
-	  * The parent exists (we have a reference to it)
-	  * The pad exists (the task belongs to it)
-	  * Changing names of pad/elements when activating is a big no-no
-	  Instead use the existing direct GST_DEBUG_PAD_NAME macro
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/455>
-
-2020-05-01 17:30:20 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstpad.c:
-	  gstevent: Add function for checking event name by GQuark
-	  Avoids doing string<=>quark conversions in the sticky event handling path.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/455>
-
-2020-04-17 17:12:10 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: Unify common checks for intersections
-	  Regardless of the intersect method chosen, migrate the same checks
-	  up into the calling function. Same result, just less code.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/455>
-
-2020-04-15 09:09:22 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstregistry.c:
-	  gstregistry: Remove unneeded call
-	  _priv_gst_preload_plugins is only filled if option parsing is active.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/455>
-
-2020-05-01 10:19:08 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't get flow name if not needed
-	  Put it in the debug call so it's only called when/if needed
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/455>
-
-2020-04-22 10:26:45 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstclocksync.c:
-	* plugins/elements/gstclocksync.h:
-	* tests/check/elements/clocksync.c:
-	  clocksync: Remove handoff signals
-	  They're not really useful on this element and were just a leftover from
-	  identity.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/540
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/443>
-
-2020-05-03 16:11:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Mark segment parameter as const in gst_aggregator_update_segment()
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/457>
-
-2020-02-24 11:24:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-stats.c:
-	  tools: gst-stats: parse thread-id in windows debug logs properly
-	  They don't seem to have the "0x" prefix.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/376>
-
-2020-05-01 10:07:09 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.h:
-	* libs/gst/check/gsttestclock.c:
-	  Add missing colons to Since markers in the docs
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/452>
-
-2020-04-28 00:33:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: fix link-like syntax in doc
-
-2020-04-24 12:47:52 +1000  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: also forward context queries between harnesses
-	  Fixes multiple OpenGL contexts being created with a setup like:
-	  h = gst_harness_new ("glcolorconvert");
-	  gst_harness_add_src (h, "gltestsrc", FALSE);
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/448>
-
-2020-04-22 12:58:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Always clear drain flag before pulling
-	  In pull mode, each pull is unique. A following pull can be well inside the
-	  range even if the previous one wasn't. Fix this my moving the drain flag
-	  right before the pull.
-	  This avoids passing a bad drain flag to parsers, which may endup truncate
-	  buffers causing data corruption.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1275
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/446>
-
-2020-04-23 15:46:48 +1000  Matthew Waters <matthew@centricular.com>
-
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* pkgconfig/meson.build:
-	  build: libcheck may require linking against rt
-	  In static linking scenarios, this is required to avoid this error
-	  building tests:
-	  /work/prefix/lib/libgstcheck-1.0.a(check_run.c.o): In function `tcase_run_tfun_fork':
-	  /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:476: undefined reference to `timer_create'
-	  /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:483: undefined reference to `timer_settime'
-	  /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check_run.c:493: undefined reference to `timer_delete'
-	  /work/prefix/lib/libgstcheck-1.0.a(check.c.o): In function `check_get_clockid':
-	  /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check.c:628: undefined reference to `timer_create'
-	  /work/gstreamer/_builddir/../../../src/gstreamer/libs/gst/check/libcheck/check.c:629: undefined reference to `timer_delete'
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/447>
-
-2020-04-22 18:59:54 +0200  Juan Navarro <juan.navarro@gmx.es>
-
-	* gst/gstcaps.c:
-	  gstcaps: fix out of bounds checks
-	  These two checks could end up allowing out of bounds array access, when
-	  the index equals the array size.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/445>
-
-2020-04-21 19:33:08 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstvalue.c:
-	  Revert "gstvalue: Avoid expensive fallback on intersection"
-	  This reverts commit cd751c2de39969ab6187eab12e4e8a85e0467cf7.
-	  Reverts https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/406
-	  Fixes glviewconvert negotiation in e.g.:
-	  gltestsrc ! glviewconvert output-mode-override=side-by-side ! glstereosplit name=s s.left ! queue ! fakesink s.right ! queue ! glimagesink
-	  Problem here is that intersecting flagsets in gst_value_intersect will
-	  always find a value comparison function but may fail a direct type
-	  comparison due to flagsets supporting derived types.  When flagset
-	  derived types are intersected, an intersection will therefore always
-	  fail.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/441>
-
-2020-04-22 20:19:23 +0900  Seungha Yang <seungha@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Fix clock waiting on Windows
-	  Add missing parentheses in macro for the divide operation
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/444>
-
-2020-04-21 18:14:00 +0100  Charlie Turner <cturner@igalia.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Skip multiqueue stats in dot dump
-	  If this is not done, tools like xdot fail with "unexpected char
-	  b'\\'". This is a regression caused by commit
-	  74938f07c2a9b3411716fa7595178942c80e20f4 (multiqueue: Add stats
-	  property).
-	  The deserialized value coming out of g_object_get_property looks like
-	  this,
-	  $24 = (gchar *) 0x7f560c0046a0 "application/x-gst-multi-queue-stats, queues=(structure)< \\\"queue_0\\\\,\\\\ buffers\\\\=\\\\(uint\\\\)39\\\\,\\\\ bytes\\\\=\\\\(uint\\\\)8
-	  120251\\\\,\\\\ time\\\\=\\\\(guint64\\\\)1460000000\\\\;\\\", \\\"queue_1\\\\,\\\\ buffers\\\\=\\\\(uint\\\\)186\\\\,\\\\ bytes\\\\=\\\\(uint\\\\)838020\\\\,\\\\ time\\\\=\
-	  \\\(guint64\\\\)1984000002\\\\;\\\" >;"
-	  That is immediately looking wrong. I don't know enough about GNOME
-	  serialization details to say with confidence what happened here. It
-	  gets worse after this is sent through g_strescape and then written to
-	  the dot file. Interestingly, dot -Tpng is fine to ignore them it
-	  seems.
-	  Since the stats are by definition verbose, I decided the best choice
-	  to omit them from the dot file, since such details are not of interest
-	  there.
-	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/442>
-
-2020-04-20 16:21:10 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* gst/gstbin.c:
-	* gst/gstchildproxy.c:
-	* gst/gstiterator.c:
-	* gst/gstpad.c:
-	* gst/gstpreset.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstsystemclock.c:
-	* gst/parse/grammar.y.in:
-	* libs/gst/base/gstcollectpads.c:
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/mass-elements.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tests/check/gst/gsttracerrecord.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/examples/helloworld/helloworld.c:
-	* tests/examples/netclock/netclock-client.c:
-	* tests/examples/streamiddemux/streamiddemux-stream.c:
-	  Use gst_object_unref() / gst_object_clear() instead of the GObject ones
-	  To allow the refcounting tracer to work better. In childproxy/iterator
-	  these might be plain GObjects but gst_object_unref() also works on them.
-	  In other places where it is never GstObject, g_object_unref() is kept.
-
-2020-04-17 11:44:40 +0530  dhilshad <mohddhilshadm@gmail.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer:fix pushing buffer before stream start event
-	  downloadbuffer source pad pushes the first buffer before pushing
-	  Stream Start and Segment event, when working in Push mode.
-	  Fix:Pushing Stream Start and Segment after coming out of
-	  wait for data, and before pushing the buffer to next element.
-	  Fixes #534
-
-2020-04-17 07:44:55 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstregistrychunks.c:
-	  gstregistrychunks: Directly set name on features
-
-2020-04-17 07:44:26 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstobject.c:
-	  gstobject: Don't double-notify when setting names
-	  If the name is set via the gobject setters, the notificatio will
-	  already be emitted.
-
-2020-04-16 11:40:49 +0200  Jan Tojnar <jtojnar@gmail.com>
-
-	* meson.build:
-	  build: Install bash-completion relative to datadir
-	  Since bash-completion 2.9, it was no longer possible to override
-	  the completionsdir through prefix. [1] In 2.10, the overridability
-	  was re-estabilished but this time through datadir variable. [2]
-	  This should not really matter except for developers installing the project
-	  into a custom prefix or distros using per-package prefixes like NixOS.
-	  [1]: https://github.com/scop/bash-completion/commit/81ba2c7e7dfbaefbafa1e8615727c9612e5fb314
-	  [2]: https://github.com/scop/bash-completion/pull/344
-
-2020-04-15 20:27:36 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: introduce a minimum wait time
-	  There is not point waiting if the time to wait is less than this
-	  platform specific value.  The worst case here is GCond usage on windows
-	  where the granularity is 1ms.
-
-2020-04-15 17:54:21 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gst_private.h:
-	* gst/gstclock.c:
-	* gst/gstsystemclock.c:
-	* meson.build:
-	  gst/systemclock: wait on each entry individually
-	  Problem:
-	  multiple aggregator elements (audiomixer, compositor) in a live
-	  pipeline use a lot of CPU waiting each other up.  This is because
-	  of the previously unused clock entry unscheduling during regular
-	  operation.
-	  Clock entry unscheduling has the potential to wake up every clock entry
-	  waiting using the system clock which may be a large number.
-	  Solution:
-	  Implement waiting per entry and only wakeup the unscheduled entry.
-	  While this may be possible using GCond, theoretically GCond only gives
-	  us microsecond accuracy and uses relative waits in a number of places.
-	  We can unfortunately do better poking at the platform specifics
-	  ourselves by using futexes on linux and pthread on other unix.  Windows
-	  may have a possible implementation using Waitable timers but that is
-	  not implemented here and instead falls back to the GCond implementation.
-	  GCond waits on Windows is still as accurate as the previous GstPoll-based
-	  implementation.
-
-2020-04-14 15:08:47 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: log the object name with all debug logs
-	  Simplifies correlating logs with clock instances
-
-2020-04-14 14:48:20 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: move to GCond waiting
-
-2020-04-12 20:33:43 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Fix segfault comparing empty GValueArrays
-	  Adding a test
-
-2020-04-08 22:22:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: fix base_time selection when flush seeking live
-	  When a live pipeline goes to PLAYING, its change_state method
-	  is called twice for PAUSED_TO_PLAYING: the first time is
-	  from GstElement, when NO_PREROLL is returned, the second
-	  is from GstBin, after all async_done messages have been
-	  collected.
-	  base_time selection is done only the first time, through
-	  comparisons with start_time.
-	  On the other hand, when this live pipeline gets flush seeked,
-	  even though start_time is reset by the sink upon reception
-	  of flush_stop(reset_time=TRUE), PAUSED_TO_PLAYING only occurs
-	  once, from GstBin, after all async_done messages have been
-	  collected. This causes the base_time to be off by <latency>.
-	  This commit addresses this by mimicing the behaviour of
-	  GstElement on NO_PREROLL, and calling the change_state
-	  method manually when the following conditions are met:
-	  * The pipeline is live
-	  * The target state is PLAYING
-
-2020-04-09 16:38:23 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Add current-level-{buffers, bytes, time} pad properties
-	  To get the current buffers/bytes/time levels of the corresponding
-	  internal queue
-
-2020-04-09 13:12:22 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Add stats property
-	  The returned "stats" structure contains, for now, one array called
-	  "queues" with one GstStructure per internal queue, containing said
-	  queue's current level of bytes, buffers, and time.
-
-2020-04-08 12:09:10 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  Meson: Change extra-checks to feature option and make it yielding
-
-2020-04-08 17:53:17 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/libs/baseparse.c:
-	  baseparse: Don't return more data than asked for in pull_range()
-	  Even when pulling a new 64KB buffer from upstream, don't return
-	  more data than was asked for in the pull_range() method and then
-	  return less later, as that confused subclasses like h264parse.
-	  Add a unit test that when a subclass asks for more data, it always
-	  receives a larger buffer on the next iteration, never less.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/530
-
-2020-04-06 18:14:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  downloadbuffer, multiqueue, queue2: Fix watermark docs
-	  It is not explicitly specified anywhere in the docs that 0% buffering is
-	  at low-watermark and 100% buffering is at high-watermark. It was
-	  specified only in the sources.
-
-2020-04-02 13:45:48 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Add a guard against getrange functions not filling a caller-provided buffer
-	  It's a programming error to not do so and would cause all kinds of
-	  problems in the caller that assumed its own buffer to have been filled.
-
-2020-01-31 11:32:10 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* tests/check/gst/gsttask.c:
-	  task: Introduce gst_task_resume() API
-	  This new API allow resuming a task if it was paused, while leaving it to
-	  stopped stated if it was stopped or not started yet. This new API can be
-	  useful for callback driver workflow, where you basically want to pause and
-	  resume the task when buffers are notified while avoiding the race with a
-	  gst_task_stop() coming from another thread.
-
-2020-04-01 15:41:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: go back down to GST_STATE_NULL in one step.
-	  Going through each state on the way back down to GST_STATE_NULL
-	  can cause deadlocks, for example:
-	  gst-launch-1.0 audiotestsrc ! valve drop=true ! autoaudiosink
-	  ctrl + C
-	  Hangs forever when going to PAUSED, because the "final" state is
-	  ASYNC, and the sink blocks waiting for a preroll buffer.
-	  Going straight to NULL addresses this issue, and also helps
-	  making teardown faster when piping sparse streams to a
-	  sync sink.
-
-2020-04-01 02:36:40 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/libs/baseparse.c:
-	  baseparse: Fix upstream read caching
-	  When running in pull mode (for e.g. mp3 reading),
-	  baseparse currently reads 64KB from upstream, then mp3parse
-	  consumes typically around 417/418 bytes of it. Then
-	  on the next loop, it will read a full fresh 64KB again,
-	  which is a big waste.
-	  Fix the read loop to use the available cache buffer first
-	  before going for more data, until the cache drops to < 1KB.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/518
-
-2020-04-01 02:46:52 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix typo
-
-2020-03-31 19:05:30 +0900  Seungha Yang <seungha@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  filesink: Fix for updating the index of memory to write in the next iteration
-	  current_buf_mem_idx stands for the index of memory of the corresponding
-	  buffer which is scheduled to be written in the next iteration.
-	  If all memory objects were scheduled to be written in the current
-	  iteration, reset the index to zero so that starting from the first
-	  memory object of the next buffer.
-
-2020-03-28 16:20:51 +0900  Seungha Yang <seungha@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  filesink: Fix crash caused by zero-size memory allocation
-	  If size of vector is greater than one, we are allocating zero-size
-	  memory and trying invalid memcpy operation
-
-2019-11-22 23:55:56 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstsegment.c:
-	  gstsegment: Refuse instant-rate seeks in gst_segment_do_seek()
-	  Elements that pass a seek with INSTANT_RATE flag to
-	  gst_segment_do_seek() haven't been updated and we should
-	  refuse the seek.
-
-2019-11-22 23:53:59 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Check the return value of gst_segment_do_seek()
-	  Don't assume that a given seek succeeds - check the return result.
-
-2020-03-20 19:28:37 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: Add a new full buffer mode to filesink
-	  Previously the default and full modes were the same. Now the default
-	  mode is like before: it accumulates all buffers in a buffer list until
-	  the threshold is reached and then writes them all out, potentially in
-	  multiple writes.
-	  The new full mode works by always copying memory to a single memory area
-	  and writing everything out with a single write once the threshold is
-	  reached.
-
-2020-03-20 18:48:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	  filesink/fdsink: Write 1 iovec directly without copying if there's no writev() support
-
-2020-03-20 18:43:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	  fdsink/filesink: Refactor writev() code to prevent stack overflows
-	  If buffer lists with too many buffers would be written before, a stack
-	  overflow would happen because of memory linear with the number of
-	  GstMemory would be allocated on the stack. This could happen for example
-	  when filesink is configured with a very big buffer size.
-	  Instead now move the buffer and buffer list writing into the helper
-	  functions and at most write IOV_MAX memories at once. Anything bigger
-	  than that wouldn't be passed to writev() anyway and written differently
-	  in the previous code, so this also potentially speeds up writing for
-	  these cases.
-	  For example the following pipeline would crash with a stackoverflow:
-	  gst-launch-1.0 audiotestsrc ! filesink buffer-size=1073741824 location=/dev/null
-
-2020-03-25 20:23:17 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	* tests/check/libs/flowcombiner.c:
-	  flowcombiner: passthrough the flow return if there are no pads
-	  What may happen is that during the course of processing a buffer,
-	  all of the pads in a flow combiner may disappear.  In this case, we
-	  would return NOT_LINKED.  Instead return whatever the input flow return
-	  was.
-
-2018-04-10 18:09:18 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
-
-	* gst/gstinfo.h:
-	  gstinfo: Check threshold for category from macro
-	  This way we can avoid to process parameters if log is not going
-	  to be printed.
-
-2020-03-24 15:00:03 +1100  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/running.md:
-	  docs/running: be consistent with ordering of full-stops inside ``
-	  Everywhere else places the period outside.
-
-2020-03-23 12:28:12 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gststructure.c:
-	  gststructure: Fix gst_structure_take ownership handling
-	  The old code would leave a dangling pointer in oldstr_ptr if two threads
-	  attempted to take the same structure into the same location at the same
-	  time:
-	  1. First "oldstr == newstr" check (before the loop) fails.
-	  2. Compare-and-exchange fails, due to a second thread completing the
-	  same gst_structure_take.
-	  3. Second "oldstr == newstr" check (in the loop) succeeds, loop breaks.
-	  4. "oldstr" check succeeds, old structure gets freed.
-	  5. oldstr_ptr now contains a dangling pointer.
-	  This shouldn't happen in code that handles ownership sanely, so check
-	  that we don't try to do this and complain loudly.
-	  Also simplify the function by using a do-while loop, like
-	  gst_mini_object_take.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/413
-
-2020-03-23 12:36:01 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gst_private.h:
-	  gstdeviceproviderfactory: Remove volatile from provider storage
-	  Avoids a few compiler warnings:
-	  ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c: In function ‘gst_device_provider_factory_finalize’:
-	  ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:96:12: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers]
-	  96 |   provider = g_atomic_pointer_get (&factory->provider);
-	  |            ^
-	  ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c: In function ‘gst_device_provider_factory_get’:
-	  ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:276:19: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers]
-	  276 |   device_provider = g_atomic_pointer_get (&newfactory->provider);
-	  |                   ^
-	  ../subprojects/gstreamer/gst/gstdeviceproviderfactory.c:309:21: warning: assignment discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers]
-	  309 |     device_provider = g_atomic_pointer_get (&newfactory->provider);
-	  |
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/414
-
-2020-03-22 09:47:35 +0100  Ondřej Hruška <ondra@ondrovo.com>
-
-	* gst/gstdatetime.c:
-	* tests/check/gst/gstdatetime.c:
-	  gstdatetime: Add missing NULL check to gst_date_time_new_local_time
-	  Also add a unit test for this.
-	  Fixes #524
-
-2020-03-20 09:11:02 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstregistrychunks.c:
-	* meson.build:
-	  registrychunks: Use strnlen if available
-	  When this `_strnlen` internal method was added, strnlen (in glibc)
-	  was not available yet (appeared in 2.10 it was released that same
-	  year).
-	  If available, use the much more optimized strnlen
-
-2020-03-20 16:32:07 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* meson.build:
-	  filesink: Check for sys/uio.h so we can actually use writev()
-
-2020-03-19 11:20:14 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Avoid expensive fallback on intersection
-	  The type checks at the end of `gst_value_intersect` to call the flagset
-	  intersection are relatively expensive.
-	  If we already know that:
-	  * There was a compare function but it didn't return GST_VALUE_EQUAL
-	  * AND none of the registered intersect functions failed
-	  Then we know they can't intersect and can return early.
-	  Trims ~20% of the instruction calls
-
-2020-03-18 09:43:27 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Optimize some list<=>list functions
-	  For subtracting a list from another, the previous implementation would
-	  do a double subtraction of one from another (which would create temporary
-	  arrays/values which would then be discarded). Instead iterate and do
-	  the comparision directly.
-	  For intersecting a list with another, we can directly iterate both at
-	  once and therefore avoid doing a *full* check of all values of the list
-	  against all other values of the list.
-
-2020-03-18 09:39:35 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  gstvalue: Inline GstValueList/GstValueArray
-	  This tries to inline as much as possible array/list and its contents
-	  in order to avoid double allocation/freeing. This also improves the
-	  locality of data.
-	  The internal value is still API/ABI compatible with the *public*
-	  GArray structure. This allows READ-ONLY backwards compatibility with
-	  any external users that assume that the content of a list/array value
-	  is backed by a GArray.
-
-2020-03-03 15:36:26 +0100  Miguel Paris <mparisdiaz@gmail.com>
-
-	* gst/gstbufferlist.c:
-	* tests/check/gst/gstbufferlist.c:
-	  bufferlist: foreach: always remove as parent if buffer is changed
-	  In case the buffer is not writable, the parent (the BufferList) is not
-	  removed before calling func. So if it is changed, the parent (the BufferList)
-	  of the previous buffer should be removed after calling func.
-
-2020-03-18 11:10:13 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: Add check for overflow
-
-2020-03-10 18:14:57 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gststructure.c:
-	  gststructure: Optimize pre-allocation of structures
-	  For all the structure creation using valist/varargs we calculate
-	  the number of fields we will need to store. This ensures all callers
-	  will end up with a single allocation.
-
-2020-03-10 18:13:09 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gststructure.c:
-	  gststructure: Inline array and contents
-	  Instead of having 3 allocations:
-	  * One for GstStructure
-	  * One for GArray
-	  * One for the array *within* GArray
-	  We try to limit this to a single allocation, inlining everything. This
-	  reduces the number of micro-allocations and improves locality of data
-	  access.
-
-2020-03-13 16:41:52 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Handle NULL caps for comparisons
-	  Having a NULL caps in a GValue is legal and we should handle it
-	  properly for comparisons.
-
-2020-03-13 12:14:08 +0100  Stéphane Cerveau <scerveau@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Fix a minor leak using meta_str
-
-2020-03-11 15:19:45 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Refactor parsing lists to allow trailing comas
-	  Before that commit `{test, }` wouldn't be accepted as an array
-	  because of the trailing coma, the commit fixes that.
-	  At the same time, the code has been refactored to avoid special casing
-	  the first element of the list, making `{,}` or `<,>` valid lists.
-
-2020-02-10 18:29:41 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* gst/gstclock.h:
-	  clock: remove documentation link on GTimeVal
-	  Looks like it's been removed from glib.devhelp2 on Fedora 31.
-	  Fix #508
-
-2020-03-11 22:39:35 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: allow not passthrough if generate_output is implemented
-	  This allows an element to not require implementing transform or
-	  transform_ip.
-
-2020-03-09 21:32:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstclocksync.c:
-	  clocksync: Use g_cond_signal() instead of g_cond_broadcast()
-	  There can only be a single waiter: on the streaming thread.
-
-2020-03-09 21:31:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Use g_cond_signal() instead of g_cond_broadcast()
-	  There can only be a single waiter: on the streaming thread.
-
-2020-03-09 20:27:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Unblock condition variable on FLUSH_START
-	  ... and immediately return FLUSHING from the streaming thread instead of
-	  waiting potentially forever.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/516
-
-2020-03-09 15:17:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Don't start the system clock at 0 on Windows
-	  We kept the start time around and subtracted it everywhere for "easy of
-	  debugging", but we don't do anything like this anywhere else and it
-	  only complicates the code unnecessarily.
-
-2020-03-09 15:16:00 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Don't divide by zero on Windows if high performance timers are not available
-
-2020-03-07 11:09:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Don't assert in fixate() on EMPTY/ANY caps and document EMPTY/ANY behaviour on more functions
-	  fixate() will return empty caps if it gets empty caps passed and assert
-	  early if any caps are provided as there's no meaningful way of fixating
-	  any caps.
-	  truncate() and simplify() will return the input caps in case of
-	  any/empty caps as before, but slightly optimized and as documented
-	  behaviour.
-	  Also add tests for this and a few other operations behaviour on
-	  empty/any caps.
-
-2020-03-04 22:13:12 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  gstaggregator: fix the prototype of sink_event_pre_queue
-	  This is not an API breakage, as implementors are already
-	  expected to return a GstFlowReturn
-
-2020-03-03 18:49:36 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Follow up to missing s/g_print/gst_print/g
-	  Required to avoid broken log string on Windows but missed
-	  in the commit of 493a3261a9757b5ade7aec289eb07221966f9eed
-
-2020-02-29 19:00:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: Fix thread-id pattern matching on Windows
-	  The format modifier for thread-id prints hex value without "0x" prefix on Windows.
-
-2020-01-26 00:56:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gstrusage.h:
-	  tracers: rusage: use thread-local storage for per-thread stats
-	  .. instead of looking things up by thread id from a GHashTable,
-	  which also happens to have no locking around insertion/lookup.
-
-2020-01-26 00:32:18 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/gstrusage.c:
-	  tracers: rusage: fix minor string leak in constructor
-
-2019-11-02 11:49:25 +0100  Johan Bjäreholt <johan@bjareho.lt>
-
-	* tools/gst-stats.c:
-	  gst-stats: Fix missing NULL checks
-	  gst-inspect-1.0 segfaults on tracing logs where it fails to find
-	  element stats. So on the pipelines where we get the following WARNING
-	  during execution will afterwards crash with a segfault as the
-	  g_ptr_array has a index for it but it is just a NULL pointer.
-	  WARN default gst-stats.c:444:do_message_stats: no element stats found for ix=X
-	  An example of an pipeline which can reproducibly create a trace log
-	  where this occurs would be this
-	  GST_DEBUG="GST_TRACER:7" GST_TRACERS="stats;rusage;latency" gst-launch-1.0 videotestsrc num-buffers=120 ! autovideosink &> trace.log
-	  gst-stats-1.0 trace.log
-
-2020-02-24 15:24:44 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Improve clarity of latency query maths debug message
-	  Add the equation to the debug message to make it easier for non-GStreamer
-	  experts to understand why their pipeline has latency.
-
-2020-02-26 17:20:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/misc/netclock-replay.c:
-	  tests: Maintain compatibility with GLib 2.48
-	  That's the minimum version of GLib we require right now.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/514
-
-2020-02-25 04:47:35 +1100  Jan Schmidt <jan@centricular.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	* plugins/elements/gstclocksync.c:
-	* plugins/elements/gstclocksync.h:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/meson.build:
-	* tests/check/elements/clocksync.c:
-	* tests/check/meson.build:
-	  clocksync: Add new clocksync element
-	  The clocksync element is a generic element that can be
-	  placed in a pipeline to synchronise passing buffers to the
-	  clock at that point. This is similar to 'identity sync=true',
-	  but because it isn't GstBaseTransform-based, it can process
-	  GstBufferLists without breaking them into separate GstBuffers
-
-2020-02-26 22:29:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Add define guard for g_log_writer_supports_color()
-	  g_log_writer_supports_color() was introduced since GLib 2.50.0
-	  which is slightly higher version than our minimum required GLib version.
-
-2020-02-25 19:13:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/misc/netclock-replay.c:
-	* tools/gst-stats.c:
-	  Don't use glib format modifiers with sscanf or printf
-	  We do not have a way to know the format modifiers to use with string
-	  functions provided by the system. `G_GUINT64_FORMAT` and other string
-	  modifiers only work for glib string formatting functions. We cannot
-	  use them for string functions provided by the stdlib. See:
-	  https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
-	  F.ex.:
-	  ```
-	  ../tools/gst-stats.c:921:11: error: too many arguments for format [-Werror=format-extra-args]
-	  printf ("Number of Buffers passed: %" G_GUINT64_FORMAT "\n", num_buffers);
-	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-	  ../tools/gst-stats.c:922:11: error: unknown conversion type character 'l' in format [-Werror=format=]
-	  printf ("Number of Events sent: %" G_GUINT64_FORMAT "\n", num_events);
-	  ^~~~~~~~~~~~~~~~~~~~~~~~~~
-	  In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
-	  from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
-	  from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
-	  from ../gst/gst.h:27,
-	  from ../tools/tools.h:28,
-	  from ../tools/gst-stats.c:30:
-	  /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
-	  #define G_GUINT64_FORMAT "llu"
-	  ^
-	  ```
-	  and
-	  ```
-	  ../tests/misc/netclock-replay.c: In function 'main':
-	  ../tests/misc/netclock-replay.c:98:23: error: unknown conversion type character 'l' in format [-Werror=format=]
-	  if (sscanf (line, "%" G_GUINT64_FORMAT " %" G_GUINT64_FORMAT " %"
-	  ^~~
-	  In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32,
-	  from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32,
-	  from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/include/glib-2.0/glib.h:30,
-	  from ../tests/misc/../../libs/gst/net/gstntppacket.c:38,
-	  from ../tests/misc/netclock-replay.c:31:
-	  /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
-	  #define G_GUINT64_FORMAT "llu"
-	  ^
-	  ```
-	  This is needed for upgrading glib inside Cerbero which builds with
-	  `-Werror` on Windows:
-	  https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/419
-
-2020-02-19 18:49:07 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: skip "parent" property for elements when dumping pipeline graph
-	  Seems unnecessary to print the parent name for every
-	  element in the pipeline graph, it's clear from the
-	  graph what the parent element is and it's hard to
-	  imagine a case where this is useful info rather than
-	  just distracting spam. So far this was only done for
-	  pads, but we should just do it for everything.
-
-2019-12-19 11:28:13 +0100  Matus Gajdos <matuszpd@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix memory leak
-	  A buffer to be skipped wasn't unref'd in gst_base_parse_chain().
-	  Fixes #406
-
-2020-01-27 14:46:18 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leak tracer: Initialize GValue
-
-2020-02-13 17:53:29 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leaks: Do not trace refs for object we do not follow
-	  When the user sets filters, we should not trace ref counts of object that
-	  are not traced. This optimizes the tracer by potentially avoiding
-	  generating useless backtraces.
-
-2020-02-10 16:35:06 -0600  Zebediah Figura <z.figura12@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Set the private duration before posting a duration-changed message
-	  Otherwise an application cannot rely on a subsequent call to e.g. gst_pad_query_duration() succeeding.
-
-2020-02-12 12:32:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Make setting/replacing/clearing the sync handler thread-safe
-	  Previously we would use the object lock only for storing the sync
-	  handler and its user_data in a local variable, then unlock it and only
-	  then call the sync handler. Between unlocking and calling the sync
-	  handler it might be unset and the user_data be freed, causing it to be
-	  called with a freed pointer.
-	  To prevent this add a refcounting wrapper struct around the sync
-	  handler, hold the object lock while retrieving it and increasing the
-	  reference count and only actually free it once the reference count
-	  reaches zero.
-	  As a side-effect we can now also allow to actually replace the sync
-	  handler. Previously it was only allowed to clear it after initially
-	  setting it according to the docs, but the code still allowed to clear it
-	  and then set a different one.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/506
-
-2020-02-13 15:38:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* docs/gst/running.md:
-	  docs: Fix bold markdown syntax for GST_DEBUG_NO_COLOR
-	  Fixing markdown syntax
-
-2020-01-27 11:58:57 +0000  Henry Wilkes <hwilkes@igalia.com>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: keep ANY caps empty internally
-	  Keep the ANY caps empty internally when appending and merging
-	  caps/structures. Previously, an ANY caps could end up containing
-	  internal structures, which could be fetched by the user, and gave the
-	  caps a non-zero length.
-	  Also, made sure that `gst_caps_set_features_simple` frees the features
-	  if caps is empty.
-
-2020-01-21 19:02:48 +0000  Henry Wilkes <hwilkes@igalia.com>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: fix is_strictly_equal
-	  Fixed gst_caps_is_strictly_equal() to take into account whether either of
-	  the caps are ANY caps. Previously, two ANY caps could be considered not
-	  strictly equal if one of them still contained some remnant *internal*
-	  structure (this can happen if an ANY caps has emerged from an append or
-	  merge operation). Also, an ANY caps with no remnant internal structures
-	  was considered strictly equal to an EMPTY caps. Similarly, a non-ANY caps
-	  was considered strictly equal to an ANY caps if its remnant internal
-	  structures happened to match.
-	  Also changed gst_caps_is_fixed to take into account that an ANY caps
-	  should not be considered fixed even if it contains a single remnant
-	  internal fixed structure. This affects gst_caps_is_equal(), which uses a
-	  separate method if both caps are fixed. Previously, this meant that a
-	  non-ANY fixed caps was considered equal to an ANY caps if it contained a
-	  single matching remnant internal structure.
-	  Added some tests for these two equality methods, which covers the above
-	  examples, as well as asserts existing behaviour.
-	  Fixes #496
-
-2020-02-10 12:58:47 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Make gst_base_transform_reconfigure() public
-	  This has the same function as the negotiate() functions in various other
-	  base classes and is required to be able to completely re-implement
-	  submit_input_buffer() in subclasses.
-
-2020-01-07 17:12:54 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't set meaningless buffer dts from segment->start
-	  When we do not have any information about DTSs we shouldn't try to make
-	  them up, moreover after seeking `segment->start` has nothing to do with
-	  the next buffer timing (and is probably after the actual buffer timestamp)
-	  and since, since https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/fa8312472f08d468677d188d5cf1ad52c5b5b0a0
-	  we do:
-	  ```
-	  if (buffer->dts > buffer->dts)
-	  buffer->pts = buffer->dts
-	  ```
-	  we end up setting `buffer->pts = segment->start` which is plain
-	  broken and leads to downstream decoder accept the first buffer
-	  as it will be inside the segment (its pts==segment->start) which
-	  basically means accurate seeking behaves mostly the same way as
-	  keyframe seeks.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/492
-
-2019-12-27 12:36:10 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstsystemclock.c:
-	* meson.build:
-	  systemclock: No need to check for CLOCK_TAI in the meson
-	  POSIX defines CLOCK_MONOTONIC to always be a macro, so I think
-	  it's safe to assume that CLOCK_TAI will also be.
-
-2019-12-13 11:07:40 -0800  Ederson de Souza <ederson.desouza@intel.com>
-
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	* meson.build:
-	  GstSystemClock: Add GST_CLOCK_TYPE_TAI
-	  GST_CLOCK_TYPE_TAI is GStreamer abstraction for CLOCK_TAI. Main
-	  motivation for this patch is support for transmission offloading features
-	  - when network packets are timestamped with the time they are deemed to
-	  be actually transmitted. Linux API for that requires that time to be
-	  in CLOCK_TAI coordinate.
-	  With GST_CLOCK_TYPE_TAI, applications can use CLOCK_TAI directly on
-	  their pipelines, avoiding the need to cross timestamp packet times. By
-	  leveraging system's CLOCK_TAI, applications also don't need to keep track
-	  of leap seconds - less burden for them. Just keep system's CLOCK_TAI
-	  accurate and use it.
-
-2020-01-24 23:56:32 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Don't consider having a group-id or being STREAM_START if we have not a single STREAM_START message
-	  This would cause us to set GST_GROUP_ID_INVALID as group-id in the
-	  aggregated STREAM_START message if there are no sinks at all or none of
-	  them have a STREAM_START message, which is simply wrong.
-	  If we have not a single STREAM_START message then the bin should not be
-	  considered STREAM_START.
-
-2020-01-24 17:52:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	  event/message: Don't allow setting invalid group ids
-	  They are optional on STREAM_START messages/events but if available
-	  should have at least a valid value.
-	  For STREAM_GROUP_DONE events don't allow creating it with an invalid
-	  group id as this does not make any sense.
-
-2020-01-23 19:27:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Initialize source pad segment position to -1 when resetting
-	  This allows start-time selection in gst_aggregator_pad_chain_internal()
-	  to actually work as that code assumes it to be -1 for actually
-	  overriding the value.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/500
-
-2020-01-09 20:07:06 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gstbin.c:
-	  bin: Fix deep-element-removed log message
-	  child and bin were switched.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/354
-
-2019-09-03 17:14:49 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstmessage.h:
-	  docs: Document the new 'redirect-location' error message detail field
-
-2014-12-30 11:48:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y.in:
-	* gst/parse/parse.l:
-	* tests/check/pipelines/parse-launch.c:
-	* tools/gst-launch-1.0.1:
-	  parse: add support for presets
-	  Add new parse syntax: @preset="<preset-name>" to load presets.
-	  Fixes #86
-
-2019-12-26 15:08:09 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: handle ERROR messages in the sync handler
-	  Errors causing the pipeline to fail going from NULL to PAUSED
-	  were not displayed, and the pipeline was not dumped either in
-	  those cases.
-	  In addition, dumping the pipeline from the sync handler means
-	  the dump matches exactly the state of the pipeline at the
-	  moment the error was posted.
-
-2019-12-22 21:13:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Increase array size for printing rank name
-	  Now the rank value can be MAX_INT (2147483647)
-
-2019-08-15 20:56:40 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* docs/gst/running.md:
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstpluginfeature.c:
-	  pluginfeature: Allow updating initial rank of plugin feature
-	  Introducing "GST_PLUGIN_FEATURE_RANK" environment variable in order for users
-	  to adjust rank of plugin(s) via environment.
-	  A "feature" and "rank" key-value pair should be separable by ":",
-	  and each key-value pair is recognized per "," delimiters. The rank
-	  can be a numerical value or one of pre-defined rank values
-	  such as "NONE", "MARGINAL", "SECONDARY", and "PRIMARY" in case-insensitive manner.
-	  In addition to pre-defined { NONE, MARGINAL, SECONDARY, PRIMARY },
-	  "MAX" can be passed to key value used to ensure having a higher rank
-	  than other plugin features.
-	  Example)
-	  - GST_PLUGIN_FEATURE_RANK=qtdemux:256,h264parse:NONE
-	  Set rank of qtdemux plugin to 256 (primary) and 0 (none) for h264parse.
-
-2019-08-30 00:23:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* tests/check/gst/gstinfo.c:
-	  gstinfo: Add new API for getting debug log lines
-	  If you're using a custom log handler, you had to reverse-engineer the
-	  debug log format and create your own format function. Now, you can
-	  call `gst_debug_log_get_line()` and it will return a string (without
-	  ANSI escape color codes) representation instead.
-	  This is useful in situations when you need to log the ordinary
-	  gst_debug log to a resource that can't be opened as a `FILE` handle.
-	  Also includes a test.
-
-2019-12-20 14:01:02 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/gst/gstsystemclock.c:
-	  tests: remove system-dependent tests
-	  We now have GstTestClock-based tests that validate the same logic,
-	  without inducing spurious timing failures / overly relying on sleeps.
-	  Fixes: #346
-	  Fixes: #347
-	  Fixes: #348
-	  Co-authored by: Thibault Saunier <tsaunier@igalia.com>
-
-2019-12-20 10:53:21 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* tests/check/libs/gsttestclock.c:
-	  tests-clock: Fix race in test_late_crank
-	  There was a case where we started waiting on the clock before setting
-	  the clock time, leading to the wait succeeding instead of being late:
-	  gsttestclock.c:1073:F:testclock:test_late_crank:0: '1 * GST_SECOND' (1000000000) is not equal to 'context.jitter' (-4000000000)
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/426
-	  Co-authored by: Mathieu Duponchelle <mathieu@centricular.com>
-
-2019-11-15 15:49:32 +0100  Niels De Graef <niels.degraef@barco.com>
-
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* tests/check/gst/gstbin.c:
-	  bin: Add method to find elements by factory name
-	  A common use case of a dynamically built pipeline is that you want to
-	  (conditionally) find a certain element, e.g. the `rtpbin`s in a
-	  `uridecodebin`. If that element has a fixed name inside its parent bin
-	  (and only has a single instance) this can be easily done by
-	  `gst_bin_get_by_name()`.
-	  If there are multiple instances of the element however, you can only use
-	  `gst_bin_iterate_all_by_interface()`, but this doesn't work if you don't
-	  have the specific `GType` (which is often the case, due to plugins being
-	  dynamically loaded). As such, another fallback could be to use the
-	  well-known name of the element's factory (in case of our example, this
-	  is of course `"rtpbin"`).
-
-2019-12-18 15:57:35 +0100  Stéphane Cerveau <scerveau@collabora.com>
-
-	* gst/gstevent.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  gstreamer: use of g_value_dup_string
-	  Use helper method to get string from GValue.
-
-2019-12-13 18:21:32 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/pipelines/parse-launch.c:
-	  tests: fix pipelines_parse_launch.delayed_link flakiness
-	  Fixes #345
-	  There were two causes for the flakiness, one much rarer than
-	  the other.
-	  The test sets up a source with a sometimes pad added during
-	  the transition of a wrapper bin from READY to PAUSED.
-	  It runs 4 iterations, the last of which makes it so the
-	  negotiation fails.
-	  In that case, the intention as correctly presented by the following
-	  comment:
-	  /* [..] ie, the pipeline should create ok but fail to change state */
-	  However the implementation of run_delayed_test was neither calling
-	  get_state on the pipeline (it called it on the wrapper bin), nor
-	  checking that the return of get_state was FAILURE (it actually
-	  checked that it was not).
-	  This led to an obvious race condition, and was fixed by calling
-	  get_state on the pipeline, then checking that in this specific
-	  case (expect_link == FALSE), the state change has actually failed.
-	  The second, rarer race condition is at set_state time. When we
-	  don't expect the link to succeed, the return of set_state may
-	  either be FAILURE or ASYNC, depending on timing. This was fixed
-	  by taking expect_link into account when checking the return value
-	  of set_state.
-	  Co-authored by: Thibault Saunier <tsaunier@igalia.com>
-
-2019-12-12 11:39:56 +0100  Peter Seiderer <ps.report@gmx.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: handle fsync interrupted by signal (EINTR)
-	  According to [1] EINTR is a possible errno for fsync(),
-	  so handle it as all other EINTR (do/while(errno == EINTR)).
-	  Signed-off-by: Peter Seiderer <ps.report@gmx.net>
-
-2019-12-12 11:37:56 +0100  Peter Seiderer <ps.report@gmx.net>
-
-	* gst/gstregistrybinary.c:
-	  registry: handle fsync interrupted by signal (EINTR)
-	  According to [1] EINTR is a possible errno for fsync(),
-	  so handle it as all other EINTR (do/while(errno == EINTR)).
-	  Signed-off-by: Peter Seiderer <ps.report@gmx.net>
-
-2019-12-12 11:07:07 +0100  Peter Seiderer <ps.report@gmx.net>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: handle fsync interrupted by signal (EINTR)
-	  According to [1] EINTR is a possible errno for fsync() and it happens in
-	  reality on linux (video writing via splitmuxsink with robust muxing enabled
-	  on a cifs mounted network share), so handle it as all other EINTR
-	  (do/while(errno == EINTR)).
-	  Fixes:
-	  GError.message: Error while writing to file "vidoe_001.mp4". GError.domain: 2372 GError.code: 10 from: FileSink debug: gstfilesink.c(849): gst_file_sink_render (): /GstPipeline:Pipeline/GstSplitMuxSink:SplitMuxSink/GstBin:QueueBin/GstFileSink:FileSink: Interrupted system call
-	  Signed-off-by: Peter Seiderer <ps.report@gmx.net>
-
-2019-12-10 17:06:02 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstsystemclock.c:
-	* libs/gst/base/gstcollectpads.c:
-	* tests/check/elements/tee.c:
-	  Remove deprecated GTimeVal
-	  GTimeVal won't work past 2038
-
-2019-12-10 13:31:50 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstdevice.c:
-	* gst/gstelementfactory.c:
-	  device, elementfactory: relax floating requirement
-	  Using g_assert() is a bit too extreme, as it will abort the whole
-	  program unless G_DISABLE_ASSERTS is true.
-	  Switch to g_critical()
-
-2019-12-10 09:42:37 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: remove bogus refcount asserts
-	  As soon as gstcheck potentially calls out to code it does not
-	  control, such as gst_element_request_pad, all assertions about
-	  pad refcounts go out the window.
-
-2019-12-06 11:40:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix logging in new update_segment API
-
-2019-12-05 13:44:33 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add method to update srcpad segment
-
-2019-12-05 09:54:32 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Clean up #ifdefs to compile with debugging enabled in all combinations
-	  Thanks to Roland Jon for finding this.
-
-2019-12-04 20:12:02 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstdevice.c:
-	* gst/gstelementfactory.c:
-	  device, elementfactory: don't enforce floating status
-	  The reference we receive when calling g_object_new should be
-	  floating, but we can't force it at our level.
-	  Switch from g_object_force_floating() to a simple assertion.
-	  See https://gitlab.freedesktop.org/gstreamer/gst-python/issues/27
-
-2019-06-19 13:45:54 +0200  Tulio Beloqui <tulio.beloqui@pexip.com>
-
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	  testclock: added single clock id process function
-	  Co-authored-by: Havard Graff <hgr@pexip.com>
-
-2019-10-21 17:56:14 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Use new GSource dispose function
-	  Without this it is possible that we have a GSource with reference count
-	  0 stored in the GstBus that is currently in the process of being
-	  destroyed. gst_bus_remove_watch() might then access it, increase its
-	  reference count to 1 again, call GSource API on it and then unref it,
-	  which will then finalize it a second time.
-	  The dispose function allows the GSource to be resurrected until it
-	  returned so the above would be safe now.
-	  This caused some spurious crashes during shutdown in various
-	  applications.
-
-2019-12-03 15:40:59 -0500  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* meson_options.txt:
-	* plugins/meson.build:
-	* plugins/tracers/meson.build:
-	  Meson: Add 'coretracers' feature option
-	  This was the only plugin still built when using
-	  -Dauto_features=disabled, besides coreelements.
-
-2019-12-03 11:23:01 +0000  HÃ¥vard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  gstharness: don't push the event to the queue before processing
-	  The application might pull and unref it by the time the code gets
-	  around to check it for EOS.
-
-2019-11-28 13:09:45 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't copy invalid DTS to the PTS
-	  We were checking to make sure the buffer's DTS wouldn't be after its
-	  PTS. However, the check would also trigger when DTS is NONE, which is
-	  e.g. in the case of some broken cameras.
-	  Fixes #470
-
-2019-11-27 15:47:32 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracers: Don't leak temporary GstStructure
-	  CID: 1455462
-
-2018-11-21 16:14:58 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbuffer.c:
-	  GstBuffer: size-related optimization
-	  Avoid calling generic function when it's possible to directly
-	  return/get sizes
-
-2018-11-21 16:13:48 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbuffer.c:
-	  GstBuffer: Inline fast-path for merged memory
-
-2019-11-27 09:41:36 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstparse.c:
-	  docs: mention gst_parse_bin_from_description() in gst_parse_launch() docs
-
-2019-11-22 16:04:20 +0100  Linus Svensson <linussn@axis.com>
-
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* tests/check/gst/gstdatetime.c:
-	  datetime: Add constructor for timestamps in microseconds
-
-2019-10-11 17:33:42 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Make sure PTS >= DTS
-	  If, for example, we are accumulating rounding errors from the buffer
-	  duration when calculating the PTS/DTS, it can happen that the buffer
-	  thinks it should be presented before it's decoded. In that case we just
-	  clamp the DTS.
-
-2019-11-18 00:15:31 +0000  Stéphane Cerveau <scerveau@collabora.com>
-
-	* gst/gstbuffer.h:
-	  gstbuffer: update documentation
-	  remove unclear documentation about GST_BUFFER_FLAG_MARKER
-
-2019-11-12 11:24:45 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch-1.0.1:
-	* tools/gst-launch.c:
-	  gst-launch: Disable printing current position by default when stdout is not a tty
-	  ... and add new option to force-enable printing position even if stdout
-	  is not a tty.
-
-2019-11-03 12:55:13 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: add gst_structure_take
-	  (╯°□°)╯︵ ┻━┻
-
-2019-08-20 13:57:09 +0200  Tulio Beloqui <tulio.beloqui@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/libs/gstharness.c:
-	  harness: fixed race condition on forward pad while forwarding sticky events to sink harness
-	  Co-authored-by: Camilo Celis <camilo@pexip.com>
-	  Co-authored-by: Havard Graff <hgr@pexip.com>
-
-2019-11-12 19:15:34 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  hotdoc: Add missing json escaping
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/50
-
-2019-11-12 15:19:28 +0900  Wonchul Lee <w.lee@lge.com>
-
-	* gst/gstevent.h:
-	  event: Fix gir warning
-	  It fixes below gir warnings.
-	  ../subprojects/gstreamer/gst/gstevent.c:2246: Warning: Gst:
-	  gst_event_new_instant_rate_sync_time: unknown parameter
-	  'rate_multiplier' in documentation comment, should be 'rate'
-	  ../subprojects/gstreamer/gst/gstevent.c:2296: Warning: Gst:
-	  gst_event_parse_instant_rate_sync_time: unknown parameter
-	  'rate_multiplier' in documentation comment, should be 'rate'
-
-2019-08-26 12:48:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/parse/grammar.y.in:
-	* gst/parse/meson.build:
-	  gst/parse: define pure-parser depending on bison version
-	  After release bison 2.5 the declaration %pure-parser was deprecated
-	  in favor of %define api.pure
-	  Nonetheless, until bison 3.4, the declaration was treated as backward
-	  compatibility, but now bison shows a warning:
-	  warning: deprecated directive, use ‘%define api.pure’
-	  The patch's approach is to handle both directives according with the
-	  used bison's version, by string replacement at source configuration
-	  stage.
-
-2019-02-21 13:29:31 +0100  Nayana Topolsky <nayana.topolsky@streamunlimited.com>
-
-	* gst/gstpad.c:
-	  pad: clear sticky event tag upon stream-start
-	  When playing gapless there were situations when some sticky events
-	  like tags were stuck at some pad and then revived much later.
-	  Therefore it is better to clear them upon stream-start.
-	  Fixes #360
-
-2019-05-30 22:29:23 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* gst/gsttaglist.h:
-	  taglist: Fix broken empty set character in code
-	  Previous one was not a valid ASCII empty set character.
-	  'tig' and 'git log -p' couldn't represent it as expected.
-
-2019-05-30 20:53:34 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch-1.0.1:
-	* tools/gst-launch.c:
-	  gst-launch: Add support printing current position of pipeline
-	  By default, gst-launch will print the current position of pipeline (with duration if available).
-	  To disable it, use "--no-position" option.
-
-2019-05-29 20:22:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Port to the direct use of GMainLoop
-	  ... instead of custom event loop.
-	  This can make it easy to use GMainLoop related APIs in code.
-
-2019-05-29 20:24:06 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Remove meaningless global variable
-
-2019-02-07 23:59:51 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: Instant rate change handling
-	  Implement aggregation of INSTANT_RATE_REQUEST messages and sending of
-	  INSTANT_RATE_SYNC_TIME events.
-
-2018-05-15 18:42:25 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Add support for instant-rate-change events
-	  Post instant-rate-request message when receiving an instant-rate-change
-	  event, and handle the incoming instant-rate-sync-time events from the
-	  pipeline.
-
-2018-05-14 23:14:24 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  event/message: Add new instant-rate-sync-time event and instant-rate-request message
-
-2018-05-09 15:28:13 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstsegment.h:
-	  event: Add new GST_EVENT_INSTANT_RATE_CHANGE and GST_SEEK_FLAGS_INSTANT_RATE_CHANGE
-	  A seek with that flag set must be non-flushing, not change the playback
-	  direction and start/stop position. A seek handler will then send the new
-	  GST_EVENT_INSTANT_RATE_CHANGE event downstream for downstream elements
-	  to immediately apply the new playback rate before the new in-band segment
-	  event arrives.
-
-2019-11-02 15:06:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	  elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE
-	  This new symbol matches with the elements within "Hardware" class.
-
-2019-10-31 11:06:48 +0100  Niels De Graef <niels.degraef@barco.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use g_object_notify_by_pspec
-	  `g_object_notify()` actually takes a global lock to look up the
-	  `GParamSpec` that corresponds to the given property name. It's not a
-	  huge performance hit, but it's easily avoidable by using the
-	  `_by_pspec()` variant.
-
-2019-10-25 01:41:27 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: First deactivate the pad and then remove it when releasing pads
-	  This reverts a96002bb28c21b30fb9338a4620ad20504c70aa5, which is not
-	  necessary anymore. If we release the pad after removing it then none of
-	  the deactivation code will actually be called because the pad has no
-	  parent anymore, and we require a parent on the pad for deactivation to
-	  happen.
-	  This can then, among other things, cause a streaming thread to be still
-	  stuck in a pad probe because the pad was never flushed, and waiting
-	  there forever because now the pad will actually never be flushed anymore.
-
-2019-10-25 01:39:50 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Check for the removed pad flag also in the slow pushing path
-	  If a pad is currently being released we don't want to forward the
-	  FLUSHING flow return but instead consider it as NOT_LINKED. FLUSHING
-	  would also cause upstream to be FLUSHING.
-	  This part was missed in a3c4a3201a705eb1934ceeea34d1ca42d4571c07 and
-	  resulted in a different (and wrong) workaround in
-	  a96002bb28c21b30fb9338a4620ad20504c70aa5.
-
-2019-10-25 01:39:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Lock mutex before reading the removed flag of the pads
-	  Otherwise we're not guaranteed to read the very latest value that
-	  another thread might've written in there when the pad was released, and
-	  could instead work with an old value.
-
-2019-09-30 11:34:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Drop need-context messages without source instead of crashing
-
-2019-10-17 12:13:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: build gir even when cross-compiling if introspection was enabled explicitly
-	  This can be made to work in certain circumstances when
-	  cross-compiling, so default to not building g-i stuff
-	  when cross-compiling, but allow it if introspection was
-	  enabled explicitly via -Dintrospection=enabled.
-	  Fixes #454 and #381.
-
-2019-06-09 01:34:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	* .gitmodules:
-	* Makefile.am:
-	* README:
-	* TODO:
-	* autogen.sh:
-	* common:
-	* configure.ac:
-	* data/Makefile.am:
-	* data/bash-completion/helpers/.gitignore:
-	* docs/.gitignore:
-	* docs/plugins/.gitignore:
-	* docs/random/.gitignore:
-	* docs/random/autotools:
-	* docs/random/omega/testing/.gitignore:
-	* gst/.gitignore:
-	* gst/Makefile.am:
-	* gst/parse/.gitignore:
-	* gst/parse/Makefile.am:
-	* gst/printf/Makefile.am:
-	* libs/Makefile.am:
-	* libs/gst/Makefile.am:
-	* libs/gst/base/.gitignore:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/.gitignore:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/controller/.gitignore:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/net/.gitignore:
-	* libs/gst/net/Makefile.am:
-	* m4/.gitignore:
-	* m4/Makefile.am:
-	* m4/check-checks.m4:
-	* pkgconfig/.gitignore:
-	* pkgconfig/Makefile.am:
-	* plugins/Makefile.am:
-	* plugins/elements/.gitignore:
-	* plugins/elements/Makefile.am:
-	* plugins/tracers/.gitignore:
-	* plugins/tracers/Makefile.am:
-	* po/.gitignore:
-	* po/Makevars:
-	* po/POTFILES:
-	* po/README:
-	* po/remove-potcdate.sin:
-	* scripts/create-uninstalled-setup.sh:
-	* scripts/five-bugs-a-day.pl:
-	* scripts/git-update.sh:
-	* scripts/gst-uninstalled:
-	* stamp.h.in:
-	* tests/.gitignore:
-	* tests/Makefile.am:
-	* tests/benchmarks/.gitignore:
-	* tests/benchmarks/Makefile.am:
-	* tests/check/.gitignore:
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/generic/.gitignore:
-	* tests/check/gst/.gitignore:
-	* tests/check/libs/.gitignore:
-	* tests/check/pipelines/.gitignore:
-	* tests/examples/Makefile.am:
-	* tests/examples/adapter/.gitignore:
-	* tests/examples/adapter/Makefile.am:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/helloworld/.gitignore:
-	* tests/examples/helloworld/Makefile.am:
-	* tests/examples/memory/.gitignore:
-	* tests/examples/memory/Makefile.am:
-	* tests/examples/netclock/.gitignore:
-	* tests/examples/netclock/Makefile.am:
-	* tests/examples/ptp/.gitignore:
-	* tests/examples/ptp/Makefile.am:
-	* tests/examples/stepping/.gitignore:
-	* tests/examples/stepping/Makefile.am:
-	* tests/examples/streamiddemux/Makefile.am:
-	* tests/examples/streams/.gitignore:
-	* tests/examples/streams/Makefile.am:
-	* tests/misc/Makefile.am:
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	  Remove autotools build system
-
-2019-10-10 15:53:16 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbus.c:
-	* tests/check/gst/gstdatetime.c:
-	* tests/check/gst/gstevent.c:
-	  core: Avoid usage of deprecated API
-	  GTimeval and related functions are now deprecated in glib.
-	  Replacement APIs have been present since 2.26
-
-2019-09-23 11:19:07 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* libs/gst/check/gstcheck.c:
-	  Check buffer size before checking buffer data
-	  If the expected size is bigger than the actual buffer size, it would
-	  memcmp random memory which could lead to crashes instead of proper error
-	  reporting.
-
-2019-09-24 10:09:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	* tests/check/elements/dataurisrc.c:
-	  dataurisrc: Do not include trailing `\0` into buffer
-
-2019-09-24 10:06:51 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: Add gst_harness_pull_until_eos()
-
-2019-10-06 11:12:11 -0400  Aaron Boxer <aaron.boxer@collabora.com>
-
-	* NEWS:
-	* docs/README:
-	* docs/random/TODO-pre-0.9:
-	* docs/random/ensonic/dynlink.txt:
-	* docs/random/ensonic/interfaces.txt:
-	* docs/random/eos:
-	* docs/random/interfaces:
-	* docs/random/phonon-gst:
-	* docs/random/rtp:
-	* docs/random/status-0.11-14-jun-2011.txt:
-	* docs/random/types3:
-	* docs/random/wtay/autoplug2:
-	* docs/random/wtay/eos-19012001:
-	* docs/random/wtay/eos2:
-	* docs/random/wtay/eos4:
-	* docs/random/wtay/negotiation3:
-	* docs/random/wtay/network-transp:
-	* docs/random/wtay/pipelineinfo:
-	* docs/random/wtay/porting-list-0.11.txt:
-	* docs/random/wtay/scheduling_ideas:
-	* gst/gstcontrolbinding.c:
-	* gst/gstdatetime.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* libs/gst/base/gstbitwriter.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/helpers/gst_gdb.py:
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/libs/collectpads.c:
-	* tests/check/pipelines/parse-launch.c:
-	  documentation: fix a number of typos
-
-2019-10-04 20:01:46 +0300  Jordan Petridis <jpetridis@gnome.org>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  gstdirectcontrolbinding: Fix integer comparison
-	  i is declared as gint but then compared against `n_values` guint
-	  in the for loop below.
-
-2019-09-30 11:49:35 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstcaps.c:
-	  gst: Don't pass miniobjects to GST_DEBUG_OBJECT() and similar macros
-	  The argument must be at least a GObject according to the GstLogFunction
-	  definition, and while the default C log function handles miniobjects
-	  just fine this is crashing bindings and user-supplied log functions that
-	  (rightfully) don't expect anything but GObjects.
-
-2019-09-07 04:36:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: use value_nick for serialization
-	  not value_name . This was causing incorrect launch lines to be
-	  displayed by gst-device-monitor, and the deserialization code
-	  below works with nicks.
-
-2019-09-10 00:28:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstdeviceprovider.c:
-	  deviceprovider: set the bus to non-flushing before calling klass->start
-	  Not posting DEVICE_ADDED messages while a device provider is being
-	  started makes things awkward for applications, as they have to call
-	  get_devices() after starting the monitor.
-	  This requires redundant code on the application side, and as far as
-	  I understand also could cause race conditions, when a device gets
-	  added between the calls to gst_device_monitor_start() and
-	  gst_device_monitor_get_devices(), causing the application to "see"
-	  the same device twice.
-
-2019-09-12 10:09:18 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelementfactory.c:
-	  element: Enforce that elements created by gst_element_factory_create/make() are floating
-	  Bindings might have a hard time making sure that the reference is indeed
-	  still floating after returning here.
-	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
-
-2019-09-12 10:08:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdevice.c:
-	  device: Enforce that elements created by gst_device_create_element() are floating
-	  Bindings might have a hard time making sure that the reference is indeed
-	  still floating after returning here.
-	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
-
-2019-09-12 10:03:08 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdevice.c:
-	  device: gst_device_create_element() is `transfer floating`, not `transfer full`
-	  Fixing the annotation fixes leaking of the created element in all
-	  bindings using GObject-Introspection.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
-
-2019-09-10 12:31:40 +0200  Sebastiano Barrera <sebastiano.barrera@gmail.com>
-
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	  base: GstBaseSrc/GstBaseSink::get_caps: add (nullable) to `filter`
-	  The virtual method named `get_caps` in both `GstBaseSrc` and
-	  `GstBaseSink` has a `filter` parameter which can be `NULL` (the
-	  default implementation in GstBaseSrc already considers the case).
-	  Before this commit, there was no gtk-doc annotation representing this
-	  fact, which caused the corresponding entry in the GIR file to also
-	  miss this fact.
-	  This caused bugs in other places, such inducing the Vala compiler to
-	  introduce a wrongly assert on `(filter != NULL)` in every
-	  implementation of the `get_caps` method implemented in Vala.
-
-2019-08-26 07:34:30 +0200  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstregistry.c:
-	* gst/gststreamcollection.c:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	  Don't pass default GLib marshallers for signals
-	  By passing NULL to `g_signal_new` instead of a marshaller, GLib will
-	  actually internally optimize the signal (if the marshaller is available
-	  in GLib itself) by also setting the valist marshaller. This makes the
-	  signal emission a bit more performant than the regular marshalling,
-	  which still needs to box into `GValue` and call libffi in case of a
-	  generic marshaller.
-	  Note that for custom marshallers, one would use
-	  `g_signal_set_va_marshaller()` with the valist marshaller instead.
-
-2019-09-07 12:32:40 +0100  Jim Mason <jmason@ibinx.com>
-
-	* plugins/elements/gstelements_private.c:
-	  consolidated IOV_MAX/UIO_MAXIOV handling per GLib + legacy behaviour for osx/ios
-
-2019-09-06 19:23:01 +0100  Jim Mason <jmason@ibinx.com>
-
-	* plugins/elements/gstelements_private.c:
-	  gst_writev: respect IOV_MAX for the writev iovec array #439
-
-2019-09-04 16:59:58 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Added gst_pad_get_single_internal_link
-	  gst_pad_iterate_internal_links is usually used to find a single internal
-	  link that a pad has, e.g. to find the corresponding pad of a multiqueue.
-	  Added a helper function that will return either a single internal link,
-	  if there's no other, or NULL.
-
-2019-09-03 10:38:13 +0200  David Svensson Fors <davidsf@axis.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: free qdata array when the last qdata is removed
-	  In cases with many long-lived buffers that have qdata only very
-	  briefly, the memory overhead of keeping an array of 16 GstQData
-	  structs for each buffer can be significant. We free the array when
-	  the last qdata is removed, like it was done in 1.14.
-	  Fixes #436
-
-2019-09-03 13:44:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstbin.c:
-	  bin: Fix minor race when adding to a bin
-	  This patch simply add a null check around a case where a child may have
-	  been unparented concurrently to the deep_add_remove operation. This was
-	  found by accident in the form of an "IS_GST_OBJECT" assertion, but had
-	  no other known side effect in that test.
-
-2019-08-30 12:04:40 +1000  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/libcheck/meson.build:
-	  libcheck: fix macos werror build
-	  ../libs/gst/check/libcheck/check.c:617:15: error: result of comparison of constant 4294967295 with expression of type 'clockid_t' is always false [-Werror,-Wtautological-constant-out-of-range-compare]
-	  if (clockid == -1) {
-	  ~~~~~~~ ^  ~~
-
-2019-08-28 15:19:54 +1000  Matthew Waters <matthew@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	  file/fdsrc: use struct stat64 on android to match stat64()
-	  Fixes android werror failures:
-	  ../plugins/elements/gstfdsrc.c:244:25: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types]
-	  if (fstat (src->fd, &stat_results) < 0)
-	  ^~~~~~~~~~~~~
-	  /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here
-	  int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
-	  ^
-	  ../plugins/elements/gstfdsrc.c:560:23: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types]
-	  if (fstat (src->fd, &stat_results) < 0)
-	  ^~~~~~~~~~~~~
-	  /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here
-	  int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
-	  ^
-	  if (fstat (fd, &stat_results) < 0)
-	  ^~~~~~~~~~~~~
-	  /home/matt/Projects/cerbero/build/android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here
-	  int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
-	  ^
-	  if (fstat (src->fd, &stat_results) < 0)
-	  ^~~~~~~~~~~~~
-	  ../../../../../android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here
-	  int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
-	  ^
-	  ../plugins/elements/gstfilesrc.c:477:23: error: incompatible pointer types passing 'struct stat *' to parameter of type 'struct stat64 *' [-Werror,-Wincompatible-pointer-types]
-	  if (fstat (src->fd, &stat_results) < 0)
-	  ^~~~~~~~~~~~~
-	  ../../../../../android-ndk-18/sysroot/usr/include/sys/stat.h:159:38: note: passing argument to parameter '__buf' here
-	  int fstat64(int __fd, struct stat64* __buf) __RENAME_STAT64(fstat, 3, 21);
-	  ^
-
-2019-08-26 22:36:25 +1000  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/libcheck/meson.build:
-	  check: fix werror build with clang
-	  Silence -Wformat-nonliteral warnings from the internal copy of libcheck
-	  ../subprojects/gstreamer/libs/gst/check/libcheck/check.c:379:29: warning: format string is not a string literal [-Wformat-nonliteral]
-	  vsnprintf (buf, BUFSIZ, msg, ap);
-	  ^~~
-	  ../subprojects/gstreamer/libs/gst/check/libcheck/check_error.c:48:21: warning: format string is not a string literal [-Wformat-nonliteral]
-	  vfprintf (stderr, fmt, args);
-	  ^~~
-	  ../subprojects/gstreamer/libs/gst/check/libcheck/check_str.c:92:29: warning: format string is not a string literal [-Wformat-nonliteral]
-	  n = vsnprintf (p, size, fmt, ap);
-	  ^~~
-
-2019-08-25 19:37:30 +0200  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstobject.c:
-	  object: Use g_object_notify_by_pspec()
-	  `g_object_notify()` actually takes a global lock to look up the
-	  `GParamSpec` that corresponds to the given property name. It's not a
-	  huge performance hit, but it's easily avoidable by using the
-	  `_by_pspec()` variant.
-
-2019-08-20 01:02:48 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Use gst_print* instead of g_print* to fix broken stdout on Windows
-	  Concurrent Windows' colored debug message and g_print will print
-	  string hard to read. Instead, use gst_print* which serialize
-	  debug output and the APIs call.
-
-2019-08-20 00:59:15 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* gst/gstinfo.c:
-	  info: Take lock around all prinf on Windows
-	  On Windows, concurrent colored gstreamr debug output and usual
-	  stdout/stderr string will cause broken output on terminal.
-	  Since it's OS specific behavior, that's hard to completely avoid it
-	  but we can protect it at least among our printing interfaces side.
-
-2019-08-23 18:17:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstpromise.c:
-	* gst/gsttaglist.h:
-	  docstrings: port ulinks to markdown links
-
-2019-08-20 17:18:31 +0200  Johan Sternerup <johast@axis.com>
-
-	* gst/gstutils.c:
-	  utils: Avoid memory merge in gst_util_dump_buffer()
-	  For buffers with multiple memory chunks, gst_buffer_map() has the side
-	  effect of merging the memory chunks into one contiguous
-	  chunk. Since gst_util_dump_mem() used gst_buffer_map() the internals
-	  of the buffer could actually change as a result of printing it.
-	  For the case of a buffer containing several memory chunks,
-	  gst_memory_map() is now used to obtain the memory address and each
-	  memory chunk is dumped separately preceded by a header line. The
-	  behaviour for a buffer containing a single memory chunk is left unchanged.
-
-2019-08-19 18:19:50 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Always handle serialized events/queries directly before waiting
-	  Otherwise it can happen that we start waiting for another pad, while one
-	  pad already has events that can be handled and potentially also a buffer
-	  that can be handled. That buffer would then however not be accessible by
-	  the subclass from GstAggregator::get_next_time() as there would be the
-	  events in front of it, which doesn't allow the subclass then to
-	  calculate the next time based on already available buffers.
-	  As a side-effect this also allows removing the duplicated event handling
-	  code in the aggregate function as we'll always report pads as not ready
-	  when there is a serialized event or query at the top of at least one
-	  pad's queue.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/428
-
-2019-08-15 12:56:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/meson.build:
-	  meson: fix warning about configure_file() install kwarg
-	  The install kwarg on configure_file() was only added in
-	  Meson 0.50 but we're targetting older versions as well,
-	  which caused a warning. The install kwarg is not needed
-	  here as we specify install_dir, so we can just drop it.
-	  Fixes #379
-
-2019-08-14 14:25:48 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add sink_event_pre_queue() and sink_query_pre_queue() vfuncs
-	  These allow subclasses catching serialized events/queries before they're
-	  queued up.
-
-2019-08-14 10:05:53 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add GstAggregator::negotiate()
-	  For consistency with other base classes and for allowing to completely
-	  override the negotiation behaviour.
-
-2019-08-14 09:51:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Actually handle NEED_DATA return from update_src_caps()
-	  The documentation says that this allows the subclass to signal that it
-	  needs more data before it can decide on caps, so let's actually
-	  implement it that way.
-
-2019-08-13 19:57:08 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregatorPad or subclass thereof
-
-2019-08-13 19:55:59 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Ensure that the source pad is created as a GstAggregatorPad if no type is given in the pad template
-	  Otherwise we would create a GstPad and that causes invalid memory
-	  accesses later.
-
-2019-08-06 10:09:22 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency: fix custom event leaks
-	  If the element before the sink needs $n buffers to produce one output
-	  buffer, we were reffing $n events and unreffing only one.
-	  Prevent this by using g_object_set_qdata_full() to handle the event
-	  unreffing so we're sure no ref will be lost.
-
-2019-08-12 11:53:33 +0300  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: Added gst_element_get_current_clock_time and gst_element_get_current_running_time
-	  Helper functions for getting the element clock's time, and the clock
-	  time minus base time, respectively.
-
-2019-08-08 13:49:07 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* gst/gstregistry.c:
-	* meson.build:
-	  registry: Use plugin directory from the build system for relocateable Windows builds
-	  Instead of guessing something based on preprocessor defines and magic.
-
-2019-04-30 17:24:50 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstdevicemonitor.c:
-	  device-monitor: list hidden providers before listing devices
-	  The way it was implemented could make the list updated after the
-	  list of device was filled with supposdely hidden devices
-
-2019-08-06 15:28:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: fix documentation
-	  funnel no longer sends its own segment since:
-	  bbb26f875692a6cd84050c545ba85a7d2129cf5d
-	  Update the documentation to reflect that
-
-2019-08-06 00:05:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmessage.h:
-	  message: fix up enum value for GST_MESSAGE_DEVICE_CHANGED
-	  This was added in 1.16 and accidentally duplicated the value of
-	  the existing GST_MESSAGE_REDIRECT.
-	  As the only known user of this message is GStreamer core itself,
-	  and it is quite an obscure message, it seems best to just fix up
-	  the enum value even if that technically breaks API.
-	  Fixes #418
-
-2019-08-06 03:16:35 +0000  Keri Henare <keri.freedesktop@henare.co.nz>
-
-	* configure.ac:
-	  Removes unnecessary "Sissy" pejorative from configure.ac warning message.
-
-2019-07-30 21:40:47 -0400  Doug Nazar <nazard@nazar.ca>
-
-	* gst/gstinfo.c:
-	  info: Fix deadlock in gst_ring_buffer_logger_log
-	  gst_ring_buffer_logger_log calls several functions while formatting
-	  the message which may in turn log a message while we already hold
-	  the mutex. Do all formatting first before acquiring the mutex to
-	  avoid this and reduce the time we hold the mutex.
-
-2019-08-02 13:07:58 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracers: set MAY_BE_LEAKED on tracer records
-	  The records are static and so appear as false positives when using those
-	  tracers with the leaks tracer as well.
-	  The leaks tracer was already setting this flag on its record so let's
-	  set it on the other ones as well.
-
-2019-07-22 15:06:20 +0000  Alicia Boya García <ntrrgc@gmail.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: Check for flush after seek
-	  In gst_download_buffer_wait_for_data(), when a seek is made with
-	  perform_seek_to_offset() the `qlock` is released temporarily. Therefore,
-	  the flushing condition can be set during this period and should be
-	  checked.
-	  This was not being checked before, causing occasional deadlocks when
-	  GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() was called.
-	  GST_DOWNLOAD_BUFFER_WAIT_ADD_CHECK() assumes that the caller has already
-	  checked that we're not flushing before, since this is done when
-	  acquiring the lock; so if we release it temporarily somewhere, we need
-	  to check for flush again.
-	  Without that check, the function would keep waiting for the condition
-	  variable to be notified before checking for flushing condition again,
-	  and that may very well never happen. This was reproduced when during pad
-	  deactivation when running WebKit in gdb.
-
-2019-07-19 21:57:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Non-live upstream have no max latency
-	  sync=TRUE implementation changes the latency query of a non-live
-	  upstream into live, though it wrongly set the upstream max latency to 0.
-	  As non-live sources won't loose data if we wait longer, this should have
-	  been reported as have no max latency limite (-1).
-
-2019-07-19 17:28:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: drop duplicated SEEK events
-	  This is similar to what demuxers do, and necessary when multiple
-	  sinks get seeked downstream of the aggregator: if we forward
-	  duplicated seeks upstream, elements such as demuxers may drop
-	  the flushing seeks, but return TRUE, aggregator then waits forever
-	  for the flushing events.
-	  Fixes #276
-
-2019-07-19 11:09:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix g-i warnings
-
-2019-07-14 22:41:56 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gst.c:
-	* gst/gstinfo.c:
-	  info: Free some more memory on gst_deinit()
-
-2019-07-14 21:36:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* tests/check/gst/gstinfo.c:
-	  info: Deprecate gst_debug_category_free()
-	  And change it to do nothing at all.
-	  As debug categories don't use reference counting and they can be
-	  retrieved from anywhere at any time by name, it is fundamentally unsafe
-	  to free them at any point in time except for right before the end of the
-	  process.
-	  No code apart from a unit test seems to be currently using the function,
-	  so deprecate it and also change it to do nothing at all.
-
-2019-07-11 17:53:53 +0100  Philippe Normand <philn@igalia.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Fix the ts-offset property getter
-	  Previous code was a copy/paste from the property setter function.
-
-2019-07-08 19:09:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Make parsing of explicit sink pad names more robust
-	  When passing "sink_%d" twice to aggregator before it would create two
-	  pads called "sink_0", because it failed to parse "%d" as integer and
-	  used 0 instead then.
-	  Instead validate that parsing was actually successful and also don't
-	  even try to parse if the requested pad name contains a '%'.
-
-2019-07-08 13:16:08 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* tools/gst-stats.c:
-	  gst-stats: fix leaks
-	  String returned from g_match_info_fetch() needs to be freed.
-
-2019-07-08 11:20:26 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* tools/gst-stats.c:
-	  gst-stats: sort latency by first activity before displaying
-	  We use to display the latency of each element in random order which is
-	  not very convenient when comparing latency between different runs.
-	  Sort them by "first activity" (the first latency reported for each
-	  element) so it's consistent betwen runs.
-	  This is the same logic when sorting and displaying element stats.
-
-2019-07-07 20:42:56 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gsttracerutils.c:
-	  gsttracerutils: Fix build with disabled tracer hooks.
-	  Add a stub gst_tracing_get_active_tracers() call when building
-	  with tracer hooks disabled.
-
-2019-07-02 17:14:50 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix possible NULL pointer dereferencing
-	  In the hotdoc inspector for example, pads are instantiated with
-	  g_object_new, other code paths to get/set properties already make
-	  that check.
-	  And update doc cache
-
-2019-07-01 23:54:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Fix typo in debug log message
-
-2019-07-01 20:20:13 +0530  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leakstracer: Improve notes in the the get-live-objects API docs
-	  It may not be obvious to the user how this action signal is meant to
-	  be called, so document it.
-
-2019-07-01 15:05:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/check/elements/leaks.c:
-	  tests: Add test for new activity-tracking leaktracer API
-
-2019-06-21 18:17:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leakstracer: Add API for tracking and checkpointing objects
-	  This feature was previously available only through the SIGUSR2 signal,
-	  which meant it wasn't available on platforms that don't have UNIX
-	  signals, such as Windows and with applications that already use
-	  SIGUSR1 for something else.
-	  Now we have action-signals for doing the same. These action signals
-	  can also be used for fetching the checkpoint information
-	  programmatically instead of printing to the debug log.
-
-2019-07-01 15:05:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/check/elements/leaks.c:
-	* tests/check/gstreamer.supp:
-	* tests/check/meson.build:
-	  tests: Add test for new live-objects leaktracer API
-	  Needs a valgrind suppression for:
-	  ==11119== Warning: invalid file descriptor -1 in syscall close()
-	  ==11119== Warning: invalid file descriptor -1 in syscall close()
-	  ==11119== Syscall param write(buf) points to uninitialised byte(s)
-	  ==11119==    at 0x4C4AFAD: syscall (in /usr/lib64/libc-2.29.so)
-	  ==11119==    by 0x4E70DF9: write_validate (Ginit.c:112)
-	  ==11119==    by 0x4E70DF9: UnknownInlinedFun (Ginit.c:148)
-	  ==11119==    by 0x4E70DF9: mincore_validate (Ginit.c:131)
-	  ==11119==    by 0x4E70CC3: UnknownInlinedFun (Ginit.c:208)
-	  ==11119==    by 0x4E70CC3: access_mem (Ginit.c:242)
-	  ==11119==    by 0x4E75536: UnknownInlinedFun (libunwind_i.h:168)
-	  ==11119==    by 0x4E75536: apply_reg_state (Gparser.c:863)
-	  ==11119==    by 0x4E75A71: _ULx86_64_dwarf_step (Gparser.c:952)
-	  ==11119==    by 0x4E71BD3: _ULx86_64_step (Gstep.c:71)
-	  ==11119==    by 0x48BAF47: generate_unwind_trace (gstinfo.c:2726)
-	  ==11119==    by 0x48BC92E: gst_debug_get_stack_trace (gstinfo.c:2908)
-	  ==11119==    by 0x49B2BB2: handle_object_created.part.0 (gstleaks.c:384)
-	  ==11119==    by 0x488134E: gst_object_constructed (gstobject.c:141)
-	  ==11119==    by 0x49EC61B: g_object_new_internal (gobject.c:1845)
-	  ==11119==    by 0x49EE347: g_object_new_valist (gobject.c:2128)
-	  ==11119==    by 0x49EE69C: g_object_new (gobject.c:1648)
-	  ==11119==    by 0x48CA59D: gst_pad_new_from_template (gstpad.c:867)
-	  ==11119==    by 0x68C209E: gst_base_src_init (gstbasesrc.c:454)
-	  ==11119==    by 0x4A0A0C3: g_type_create_instance (gtype.c:1858)
-	  ==11119==    by 0x49EC42C: g_object_new_internal (gobject.c:1805)
-	  ==11119==    by 0x49EDB14: g_object_new_with_properties (gobject.c:1973)
-	  ==11119==    by 0x49EE6C0: g_object_new (gobject.c:1645)
-	  ==11119==    by 0x48AF91A: gst_element_factory_create (gstelementfactory.c:372)
-	  ==11119==  Address 0x1ffeffe000 is on thread 1's stack
-	  ==11119==  in frame #6, created by generate_unwind_trace (gstinfo.c:2695)
-	  Fixed in libunwind commit:
-	  https://github.com/libunwind/libunwind/commit/b256722d49a63719c69c0416eba9163a4d069584
-	  Needs a separate suppression for Debian because the callstack is
-	  different there.
-
-2019-06-28 18:19:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leakstracer: Add API for logging leaks in the debug log
-	  This is the equivalent of sending SIGUSR1 to the application, and is
-	  useful on platforms where UNIX signals are not available, such as
-	  Windows.
-
-2019-06-28 18:19:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leakstracer: Add API for fetching leaked objects
-	  This allows programs to inspect the leaked objects directly, log them,
-	  and so on. Unlike the existing mechanism to use SIGUSR1, this also
-	  works on platforms that do not support UNIX signals, such as Windows
-	  and with applications that already use SIGUSR1 for something else.
-
-2019-06-19 04:22:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	  gsttracer: Add new API to fetch the list of active tracers
-	  This will be useful in the next commit where we add action-signals on
-	  the leaks tracer to get information about leaks and to manipulate
-	  checkpoints as a replacement for the SIGUSR1 and SIGUSR2 signals for
-	  doing the same.
-
-2019-06-19 03:47:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracers: Allow setting a name for all tracer objects
-	  This will be useful in combination with the next commit when we add
-	  API to get a list of active tracers so that consumers of the API can
-	  easily distinguish tracer objects.
-
-2019-06-29 09:22:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstbufferpool.c:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: Fix the buffer size reset code
-	  The offset in gst_buffer_resize() is additive. So to move back the
-	  offset to zero, we need to pass the opposite of the current offset. This
-	  was raised through the related unit test failingon 32bit as on 64bit
-	  the alignment padding was enough to hide the issue. The test was
-	  modified to also fail on 64bit. This patch will remove spurious
-	  assertions like:
-	  assertion 'bufmax >= bufoffs + offset + size' failed
-	  Fixes #316
-
-2019-06-24 21:14:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leakstracer: Get rid of GSlice usage
-	  It's not faster than malloc, and is slower in most cases. Glib is also
-	  getting rid of it entirely: https://gitlab.gnome.org/GNOME/glib/merge_requests/940
-
-2019-06-21 11:26:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leakstracer: Remove unused and redundant record fields
-	  All leak records are obviously scoped to the process, and nothing in
-	  the GstTracerRecord code uses these fields anyway.
-
-2019-06-21 10:43:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gsttracerrecord.c:
-	  tracerrecord: Be stricter while parsing record templates
-	  It's not really possible for us to recover when someone uses the
-	  gst_tracer_record_new() API incorrectly. Also, document a piece of
-	  somewhat-obscure code.
-
-2019-06-19 03:42:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  leakstracer: Improve documentation for the element
-	  Also print a useful g_warning() message when leaks are detected.
-
-2019-07-01 14:55:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  gstcheck: Document strcmp used in string cmp macros
-	  strcmp() does not allow the arguments to be NULL, but g_strcmp0()
-	  does, so document that we use g_strcmp0() so that people don't need to
-	  worry about that.
-
-2019-06-21 10:41:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  gstsystemclock: Mark the clock as MAY_BE_LEAKED
-	  It is freed in gst_deinit(), but otherwise it is leaked.
-
-2019-06-19 03:39:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstinfo.c:
-	* meson.build:
-	  gstinfo: Rework stack trace detection a bit
-	  Ensure that the code paths for HAVE_UNWIND and HAVE_DBGHELP are never
-	  taken at the same time, even if the build file code changes.
-	  Prefer DbgHelp over libunwind on Windows in case both are somehow
-	  available because DbgHelp is only available when building with the
-	  MSVC toolchain, and libunwind won't give us debug symbols from objects
-	  built with the MSVC toolchain.
-	  Also, print slightly more useful messages for the level of stack trace
-	  support enabled, and document what each if conditional does.
-
-2019-06-19 03:19:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* plugins/tracers/gstleaks.c:
-	  gstinfo: Add an explicit enum for GST_STACK_TRACE_SHOW_NONE
-	  The code implicitly uses this value when the stack trace is not FULL.
-	  Mostly useful for documenting the behaviour when each flag is passed
-	  and for translating to/from strings.
-
-2019-06-24 14:35:16 +0200  Carlos Rafael Giani <crg7475@mailbox.org>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* tests/check/libs/basesrc.c:
-	  basesrc: Add public gst_base_src_negotiate () function
-	  This is useful for when format changes occur mid-stream.
-
-2019-06-27 15:51:47 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Hold weak references to pads/multiqueue in SingleQueue
-	  Without holding a ref we have no guarantees that the SingleQueue
-	  doesn't have dangling pointers on those objects during its destruction.
-
-2019-05-06 19:19:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstplugin.c:
-	  gstplugin: Don't stat plugins when building for UWP
-	  When using GStreamer with Universal Windows Platform apps, dynamic
-	  plugins can only be loaded by filename (without a path) using
-	  gst_plugin_load_file() which will call into g_module_open().
-	  On Windows, GModule calls LoadLibrary() on the filename, but with
-	  UWP we need to use LoadPackagedLibrary() which is basically the same
-	  as LoadLibrary(), except it looks only for DLLs (by name) that have
-	  been packaged as assets with the app.
-	  These assets are not files and cannot be accessed using normal file
-	  APIs such as open() or stat().
-	  The upstream glib merge request for adding LoadPackagedLibrary support
-	  is: https://gitlab.gnome.org/GNOME/glib/merge_requests/951
-	  NOTE: Whitespcae removal is to make gst-indent happy
-
-2019-05-16 04:57:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h.in: Windows ARM64 does not allow unaligned access
-
-2019-06-19 17:39:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/check/gsttestclock.c:
-	* tests/check/libs/gsttestclock.c:
-	  testclock: Allow calling crank with a past entry
-	  At the moment, we can only use crank if the pending entry is in the
-	  future. This patch leaves the clock time to the same point if the
-	  pending entry was in the past. This still execute a single entry. This
-	  will be needed for the jitterbuffer, since as soon as we stop waking up
-	  the jitterbuffer when the timer is reschedule later, we may endup with
-	  such case in the unit tests.
-	  Related to #608
-
-2019-06-22 23:46:35 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Stop using the gst_pad_element_private API
-	  There was a race where we could still get the pad event function
-	  called when its private member were already unset, leading to
-	  a segfault in the event handler:
-	  ```
-	  0  gst_multi_queue_src_event (pad=<optimized out>, parent=<optimized out>, event=0x7f3ff0007600) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2534
-	  2534          ret = gst_pad_push_event (sq->sinkpad, event);
-	  [Current thread is 1 (Thread 0x7f406c0258c0 (LWP 21925))]
-	  (gdb) bt
-	  0  0x00007f4062ec1399 in gst_multi_queue_src_event (pad=<optimized out>, parent=<optimized out>, event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2534
-	  1  0x00007f406b40f46d in gst_validate_pad_monitor_src_event_check (handler=0x7f4062ec1360 <gst_multi_queue_src_event>, event=0x7f3ff0007600 [GstEvent], parent=0x7f3fcc01f090 [GstMultiQueue|multiqueue167], pad_monitor=0x7f3fe809e7c0 [GstValidatePadMonitor|validatepadmonitor2213]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2101
-	  2  0x00007f406b40f46d in gst_validate_pad_monitor_src_event_func (pad=<optimized out>, parent=0x7f3fcc01f090 [GstMultiQueue|multiqueue167], event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2374
-	  3  0x00007f406b904387 in gst_pad_send_event_unchecked (pad=pad@entry=0x7f3fdc027650 [GstPad|src_0], event=event@entry=0x7f3ff0007600 [GstEvent], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5772
-	  4  0x00007f406b90481b in gst_pad_push_event_unchecked (pad=pad@entry=0x7f4058182fc0 [GstPad|sink], event=event@entry=0x7f3ff0007600 [GstEvent], type=type@entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5417
-	  5  0x00007f406b90f016 in gst_pad_push_event (pad=0x7f4058182fc0 [GstPad|sink], event=event@entry=0x7f3ff0007600 [GstEvent]) at ../subprojects/gstreamer/gst/gstpad.c:5554
-	  6  0x00007f406a1c99ba in gst_video_decoder_src_event_default (decoder=0x7f3fe81c6060 [GstTheoraDec|theoradec46], event=<optimized out>) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1532
-	  7  0x00007f406b40f46d in gst_validate_pad_monitor_src_event_check (handler=0x7f406a1ca270 <gst_video_decoder_src_event>, event=0x7f3ff0007600 [GstEvent], parent=0x7f3fe81c6060 [GstTheoraDec|theoradec46], pad_monitor=0x7f4028163aa0 [GstValidatePadMonitor|validatepadmonitor2216]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2101
-	  8  0x00007f406b40f46d in gst_validate_pad_monitor_src_event_func (pad=<optimized out>, parent=0x7f3fe81c6060 [GstTheoraDec|theoradec46], event=0x7f3ff0007600 [GstEvent]) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2374
-	  ```
-	  This make the GstSingleQueue a MiniObject, mainly so it is properly
-	  refcounted.
-	  This also make use of the GstMultiQueuePad class for srcpads which
-	  is totally valid as srcpads and sinkpads share the same SingleQueue
-	  object.
-
-2019-06-21 15:38:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: add debug category
-
-2019-06-20 14:04:55 +0200  Michael Bunk <bunk@iat.uni-leipzig.de>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  Fixing various typos
-
-2019-06-20 16:42:01 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency: display event pointer in logs
-	  This is quite useful for debugging when tracer is reporting the wrong
-	  latency because of an element breaking the events/buffers ordering.
-
-2019-06-20 13:49:14 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* plugins/elements/gstelements_private.c:
-	  gstelements_private: sync gst_buffer_get_flags_string() with new flags
-
-2019-06-19 23:29:24 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: never unref queries we do not own
-	  The `query` argument of gst_pad_query is "transfer none".
-	  Query objects are "borrowed" by the pad query handlers and those
-	  should never unref them.
-	  This was leading to double freed queries in a very racy way with nested
-	  GESTimelines.
-
-2019-06-17 09:50:32 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gstmeta.c:
-	  gstmeta: Optimize get_tags() by using private quark table
-
-2019-06-13 10:32:32 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gstpad.c:
-	  pad: increase debug-level to warning for fatal outcomes
-
-2019-06-13 15:21:03 +0000  HÃ¥vard Graff <havard.graff@gmail.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: don't report 0 max-latency for leaky queue if max was already 0.
-
-2019-05-22 10:09:47 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: move creating of buffer and event queues to harness itself
-	  By only having it on sinkpad-creation, it is racy to write a test
-	  with a sometimes-pad (like a demuxer) that you want to pull from, having
-	  the pull wait until the pad arrives and the buffer can be produced.
-
-2018-10-03 13:56:22 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Fix race when forwarding event while tearing down harness
-
-2018-05-28 10:57:13 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Make sure pad functions are not called after teardown
-	  For the query function there's a risk that the function may be called
-	  after the harness has been teared down. Since the function accesses a
-	  pointer to the harness via the pad's data, the harness must protect
-	  itself against this.
-	  Event and chain function is also handled for constistency, although
-	  they don't have the same problem since the gstpad.c checks whether the
-	  pad is flushing before calling these.
-
-2019-06-11 22:09:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: don't try to take STREAM_LOCK on sink pad flush
-	  This was a misguided effort to try and guarantee the buffers of
-	  the sink pads would not change during aggregate, when an upstream
-	  branch is seeked independently, however this is simply incorrect
-	  as downstream has not necessarily been flushed, or the aggregate
-	  function might be waiting to receive buffers on other pads.
-
-2019-06-11 15:20:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: send flush_stop ourselves if needed
-	  In !159 , we switched to sending flush_start ourselves from the
-	  do_seek implementation. If no flushing seek successfully made its
-	  way upstream, we need to send flush_stop ourselves as well.
-
-2019-06-10 17:23:29 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: don't hold stream lock when flushing
-	  Releasing a GRecMutex from a different thread is undefined
-	  behaviour.
-	  There should be no reason to hold the stream lock from the
-	  moment aggregator receives a flush_start until it receives
-	  the last flush_stop: the source pad task is stopped, and can
-	  only be restarted once the last flush_stop has arrived.
-	  I can only speculate as to the reason why this was done,
-	  as it was that way since the original commit. My best
-	  guess is that aggregator originally didn't marshall events
-	  and queries to the aggregate thread, and this somehow
-	  helped work around this.
-
-2019-05-22 21:37:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* tests/check/libs/aggregator.c:
-	  aggregator: refactor flushing logic
-	  Instead of tracking "pending_flush_*" on the pads and the
-	  aggregator, we now simply track the last seqnum for flush start
-	  and flush stop events on the pads, and use it to determine whether
-	  we should enter or exit our flushing state.
-	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/977
-
-2019-06-05 18:40:12 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/gstreamer.supp:
-	  valgrind: revert generic suppression of ld-related errors
-	  the replacement suppression casts way too large a net, ignoring
-	  all leaks in the main thread
-
-2019-06-05 20:58:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/gstreamer.supp:
-	  valgrind: ignore dlopen leaks when parsing launch lines
-
-2019-06-05 20:58:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/gstreamer.supp:
-	  valgrind: suppress intentional debug list item leak
-
-2019-06-04 17:56:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Improve debug output a bit
-
-2019-06-04 17:55:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Reset last_stop on FLUSH_STOP too
-	  Otherwise when seeking backwards we would keep the last_stop at the last
-	  position we saw until playback passed the seek position again, and if
-	  switching to the next pad happens in the meantime we would set the wrong
-	  offset in the outgoing segment.
-
-2019-06-04 08:50:59 +0200  Niels De Graef <niels.degraef@barco.com>
-
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.h:
-	* gst/gstclock.h:
-	* gst/gstcontext.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.h:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.h:
-	* gst/gstdeviceproviderfactory.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstpromise.h:
-	* gst/gstquery.h:
-	* gst/gstregistry.h:
-	* gst/gstsample.h:
-	* gst/gstsegment.h:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.h:
-	* gst/gsttaglist.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.h:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.h:
-	* gst/gsttracerrecord.h:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.h:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstaggregator.h:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstflowcombiner.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/check/gsttestclock.h:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gstproxycontrolbinding.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	* libs/gst/net/gstptpclock.h:
-	  Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
-	  Since we started depending on GLib 2.44, we can be sure this macro is
-	  defined (it will be a no-op on compilers that don't support it). For
-	  plugins we should just start using `G_DECLARE_FINAL_TYPE` which means
-	  we no longer need the macro there, but for most types in core we don't
-	  want to break ABI, which means it's better to just keep it like it is
-	  (and use the `#ifdef` instead).
-
-2019-05-31 22:56:09 +0200  Niels De Graef <niels.degraef@barco.com>
-
-	* configure.ac:
-	* meson.build:
-	* tests/check/elements/dataurisrc.c:
-	  meson: Bump minimal GLib version to 2.44
-	  This means we can use some newer features and get rid of some
-	  boilerplate code using the `G_DECLARE_*` macros.
-	  As discussed on IRC, 2.44 is old enough by now to start depending on it.
-
-2019-06-01 02:37:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/meson.build:
-	  docs: unprefix subproject paths
-
-2019-05-30 23:23:35 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/meson.build:
-	* docs/plugins/blank.md:
-	* docs/plugins/gst_plugins_cache.json:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  docs: Add tracers support
-
-2019-05-31 01:56:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstelement.h:
-	  gstelement: fix links to the gsterror page
-
-2019-05-31 01:45:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gsttaglist.h:
-	  gsttaglist: do not link to symbols from gst-plugins-base in doc
-
-2019-05-29 21:33:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	* gst/gstbus.c:
-	* gst/gstconfig.h.in:
-	* gst/gstdebugutils.c:
-	* gst/gsterror.c:
-	* gst/gstplugin.c:
-	* gst/gsttaglist.h:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	  doc: remove xml from comments
-
-2019-05-22 18:56:34 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Document pad types
-	  And update the plugins doc cache
-
-2019-05-22 09:47:41 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Minor documentation fix
-
-2015-07-29 11:48:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix flow-return boolean return type mismatch
-	  Not that it matters, since we don't check the return value
-	  anyway. Unclear why the aggregator pad flush function should
-	  have a return value at all really, and perhaps it should be
-	  called reset anyway. Spotted by dv on irc.
-
-2019-05-12 07:45:31 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: add gst_element_pad() function
-	  Another helper to navigate a pipeline. It makes it possible to easily
-	  access the pads of an element:
-	  (gdb) print $gst_element_pad(basesink, "sink")
-	  $1 = 0x7fffe80770f0 [GstPad|sink]
-
-2019-05-11 21:08:50 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: print more data for segment events
-	  This add the different timestamps for segment events:
-	  (gdb) gst-print pad
-	  SrcPad(src, push) {
-	  events:
-	  [...]
-	  segment: time
-	  rate: 1.1
-	  start:    0:03:08.449753330
-	  time:     0:03:08.449753330
-	  position: 0:03:08.449753330
-	  duration: 0:12:14.166687500
-	  [...]
-	  }
-
-2019-05-11 21:02:37 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: add 'gst-pipeline-tree' command
-	  It shows a simple tree of all elements in pipeline.
-	  As with gst-dot, the toplevel bin is found from any element of the
-	  pipeline:
-	  (gdb) gst-pipeline-tree bsink
-	  playbin
-	  inputselector1
-	  inputselector0
-	  uridecodebin0
-	  queue2-0
-	  decodebin0
-	  avdec_aac0
-	  aacparse0
-	  vaapidecodebin0
-	  vaapipostproc0
-	  capsfilter1
-	  vaapi-queue
-	  vaapidecode0
-	  capsfilter0
-	  h264parse0
-	  multiqueue0
-	  matroskademux0
-	  typefind
-	  typefindelement0
-	  source
-	  playsink
-	  abin
-	  aconv
-	  resample
-	  conv
-	  identity
-	  aqueue
-	  pulsesink0
-	  vbin
-	  vconv
-	  scale
-	  conv
-	  identity
-	  vqueue
-	  vaapisink0
-	  vdbin
-	  deinterlace
-	  vdconv
-	  audiotee
-	  streamsynchronizer0
-
-2019-05-11 20:59:04 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: add gst_pipeline() and gst_bin_get() functions
-	  This simplifies navigating in a GStreamer pipeline, e.g.
-	  (gdb) print $gst_bin_get($gst_pipeline(pad), "matroskademux0")
-	  $1 = 0x7fffe81b4050 [GstMatroskaDemux|matroskademux0]
-
-2019-05-11 20:55:36 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: handle ghost and proxy pads while looking for the top-level element
-	  The parent object for pads is not always a GstElement. Handle GstProxyPad
-	  parents as well.
-
-2019-05-11 20:53:54 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: refactor finding top-level pipeline
-	  No functional changes. Just refactoring to make it possible to reuse this
-	  later.
-
-2019-05-11 20:53:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: gst-print add more pad and element information
-	  For elements, this adds all child elements, the state and base/start time:
-	  (gdb) gst-print pipeline
-	  0x5555556ebd20 "pipeline0"
-	  GstPipeline(pipeline0) {
-	  children:
-	  fakesink0
-	  queue0
-	  videotestsrc0
-	  state: PLAYING
-	  base_time: +2:54:36.892581150
-	  start_time: 0:00:00.000000000
-	  }
-	  For pads, this adds the peer pads and the current task state and the
-	  offset (if not zero):
-	  (gdb) gst-print pad
-	  SrcGhostPad(src, push) {
-	  events:
-	  [...]
-	  peer: vaapisink0:sink
-	  inner peer: scale:src
-	  }
-	  (gdb) gst-print pad
-	  SrcPad(src, push) {
-	  events:
-	  [...]
-	  peer: queue0:sink
-	  task: STARTED
-	  offset: 30000000 [+0:00:00.030000000]
-	  }
-
-2019-05-11 20:39:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: refactor time formating
-	  Make it reuseable independent of the GstClockTimePrinter.
-
-2019-05-22 10:44:50 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/dataurisrc.c:
-	  dataurisrc: Add test that checks various URIs against their expected output
-
-2019-05-21 17:22:04 +0200  Benjamin Otte <otte@redhat.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Fix crash when semicolon is aprt of data
-	  This URI is valid:
-	  data:,;base64
-	  (It encodes the literal string ";base64")
-	  But would lead to a crash because the code assumed the semicolon would
-	  be placed before the colon.
-
-2019-05-21 17:15:52 +0200  Benjamin Otte <otte@redhat.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Allow case-insensitive scheme
-	  Quoting RFC 2396:
-	  For resiliency, programs interpreting URI should treat upper case
-	  letters as equivalent to lower case in scheme names (e.g., allow
-	  "HTTP" as well as "http").
-
-2019-05-16 16:17:35 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	* plugins/tracers/meson.build:
-	  docs: add coretracers to the list of plugins
-
-2019-05-16 09:11:00 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/meson.build:
-	  docs: Stop building the doc cache by default
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
-
-2019-05-15 22:46:45 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update diplayed plugins filename something stable
-
-2019-05-15 21:15:35 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	  hotdoc: Let the the registry inspect in forks
-	  So that the whole process doesn't segfault if something bad happens while inspecting
-
-2019-05-15 09:23:06 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	* docs/meson.build:
-	  docs: Use the MESON_BUILD_ROOT env variable in the plugins cache generator
-
-2019-05-14 15:27:05 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/gst-plugins-doc-cache-generator.py:
-	  docs: Do not pass the json through stdout
-	  Unicode encoding breaks on windows when doing so
-
-2019-05-14 13:44:43 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstregistry.c:
-	  registry: Avoid discovering plugins in hotdoc private directories
-
-2019-05-14 13:44:24 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/meson.build:
-	  docs: Do not inspect internal files
-
-2019-05-14 20:27:47 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	  docs: Always follow Unix style newline
-	  The 'open()' follows default behavior of OS (CRLF in case of Windows).
-	  So it results in a bunch of git diff on Windows.
-
-2019-05-16 15:15:27 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Remove leading space from Since maker of gst_base_sink_get_stats()
-	  gobject-introspection does not like this.
-
-2019-05-16 15:13:23 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Fix syntax for gtk-doc comment of the new stats property
-
-2019-05-13 16:42:04 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  gstpad: Probes that return HANDLED can reset the data info field
-	  Before GST_PAD_PROBE_HANDLED was introduced, we had to handle the case
-	  where some probes would reset the probe info data field to NULL. This would
-	  be considered an invalid use-case.
-	  But with GST_PAD_PROBE_HANDLED it is totally fine to reset that, since
-	  the probe has "handled" it.
-
-2019-05-06 22:17:50 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: Implement workaround for some (network) filesystems that spuriously return EACCES on write
-	  This seems to happen when another client is accessing the file at the
-	  same time, and retrying after a short amount of time solves it.
-	  Sometimes partial data is written at that point already but we have no
-	  idea how much it is, or if what was written is correct (it sometimes
-	  isn't) so we always first seek back to the current position and repeat
-	  the whole failed write.
-	  It happens at least on Linux and macOS on SMB/CIFS and NFS file systems.
-	  Between write attempts that failed with EACCES we wait 10ms, and after
-	  enough consecutive tries that failed with EACCES we simply time out.
-	  In theory a valid EACCES for files to which we simply have no access
-	  should've happened already during the call to open(), except for NFS
-	  (see open(2)).
-	  This can be enabled with the new max-transient-error-timeout property, and
-	  a new o-sync boolean property was added to open the file in O_SYNC mode
-	  as without that it's not guaranteed that we get EACCES for the actual
-	  writev() call that failed but might only get it at a later time.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/305
-
-2019-05-14 15:44:07 -0400  Aaron Boxer <aaron.boxer@collabora.com>
-
-	* pkgconfig/gstreamer.pc.in:
-	  gstreamer.pc.in: exec_prefix must be defined before libexecdir
-
-2019-05-13 22:47:38 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	  docs: Update plugins cache
-
-2019-05-13 22:47:05 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	  docs: Fix cache invalidation status
-	  The dictionnary is updated in place so we were checking the same twice
-
-2018-11-11 20:11:47 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-plugins-doc-cache-generator.py:
-	* docs/meson.build:
-	  docs: Use the new GstPluginsPath.json to have the right plugin path
-	  When inspecting plugins to generate the json cache file. Otherwise
-	  when we are not in the uninstalled env and using `gst-build` plugins
-	  with dependency might fail/throw warning, etc..
-
-2018-10-28 12:05:41 +0000  Thibault Saunier <tsaunier@igalia.com>
-
-	* pkgconfig/gstreamer.pc.in:
-	* pkgconfig/meson.build:
-	  pkgconfig: Add information about libexecdir
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797349
-
-2018-09-13 16:14:22 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/README:
-	  doc: Update the README
-
-2018-08-19 19:41:41 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/plugins/gst_plugins_cache.json:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstelement.h:
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	* gst/gstevent.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.h:
-	* gst/gstpromise.c:
-	* gst/gstprotection.h:
-	* gst/gstquery.h:
-	* gst/gstsample.h:
-	* gst/gststructure.c:
-	* gst/gsttaglist.h:
-	* gst/gsttypefind.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstvalue.h:
-	* gst/meson.build:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/controller/gstproxycontrolbinding.c:
-	* libs/gst/net/gstnetclientclock.c:
-	  doc: Fix hotdoc warnings
-	  * Making sure that `static inline` function are in the GIR (by first
-	  defining them, and make sure to mark as skiped)
-	  * Do not try to link to unexisting symbols
-	  * Also generate GIR information about gst_tracers
-
-2018-10-22 03:14:11 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst-hotdoc-plugins-scanner.c:
-	* docs/gst-plugins-doc-cache-generator.py:
-	* docs/gst/building.md:
-	* docs/gst/gi-index.md:
-	* docs/gst/index.md:
-	* docs/gst/overview.md:
-	* docs/gst/running.md:
-	* docs/gst/sitemap.txt:
-	* docs/images/gdp-header.png:
-	* docs/images/gdp-header.svg:
-	* docs/images/gst-universe.svg:
-	* docs/index.md:
-	* docs/libs/base/index.md:
-	* docs/libs/base/sitemap.txt:
-	* docs/libs/check/index.md:
-	* docs/libs/check/sitemap.txt:
-	* docs/libs/controller/index.md:
-	* docs/libs/controller/sitemap.txt:
-	* docs/libs/index.md:
-	* docs/libs/net/index.md:
-	* docs/libs/net/sitemap.txt:
-	* docs/meson.build:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gst_plugins_cache.json:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.interfaces:
-	* docs/plugins/gstreamer-plugins.prerequisites:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/gstreamer-plugins.types:
-	* docs/plugins/index.md:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* docs/plugins/sitemap.txt:
-	* docs/version.in:
-	* gst/gstelement.c:
-	* gst/gsterror.c:
-	* gst/gstmessage.c:
-	* gst/gstpoll.c:
-	* gst/meson.build:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/meson.build:
-	* libs/gst/check/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/meson.build:
-	* plugins/meson.build:
-	* tools/tools.h:
-	  Port to hotdoc
-
-2018-09-14 09:24:26 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/gst/.gitignore:
-	* docs/gst/Makefile.am:
-	* docs/gst/building.xml:
-	* docs/gst/gst-universe.dot:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-overrides.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* docs/gst/meson.build:
-	* docs/gst/running.xml:
-	* docs/libs/.gitignore:
-	* docs/libs/Makefile.am:
-	* docs/libs/gdp-header.png:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-overrides.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* docs/libs/meson.build:
-	* docs/list-ulink.xsl:
-	* docs/meson.build:
-	* docs/version.entities.in:
-	* meson.build:
-	  doc: Remove gtk-doc support
-
-2018-08-11 10:12:27 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstobject.c:
-	* gst/gstparamspecs.h:
-	  gst: Add a GParamSpecFlag to force gst-inspect to use pspec default value
-	  Instead of the object value, this should be used every time a random
-	  value will be returned by g_object_get This is also useful to make the
-	  values returned by inspecting element stable accross runs.
-
-2018-10-22 11:44:04 +0200  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstcapsfeatures.c:
-	* gst/gstelement.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  doc: Add some missing docstrings
-
-2018-10-22 11:32:45 +0200  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstdynamictypefactory.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.h:
-	* gst/gsttracer.h:
-	* gst/gsttracerrecord.h:
-	* gst/gstutils.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* plugins/elements/gstqueue.c:
-	  doc: Fix and add some missing docstrings
-
-2018-10-22 11:32:40 +0200  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gststructure.c:
-	  structure: Mark _from_string as constructor
-
-2019-05-13 14:42:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  meson: Pass -DGST_STATIC_COMPILATION for static builds
-	  This is only needed on Windows when building with MSVC, but it is safe
-	  to pass it everywhere.
-	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398
-
-2019-05-13 13:24:42 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  meson: Link to objects instea of static helper library
-	  Otherwise the objects from that static helper library are not included
-	  in the gstreamer-1.0 static library. This was supposed to be fixed in
-	  Meson, but the pull request hasn't been merged yet:
-	  https://github.com/mesonbuild/meson/pull/3939
-	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/398
-
-2019-05-11 18:21:19 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/meson.build:
-	  meson: set correct install path for gdb helper
-	  The original version of the patch used glib-2.0 but that was later changed
-	  to gstreamer-1.0 for autotools. The meson file was forgotten.
-	  Fix the path to match the one used in libgstreamer-gdb.py.in.
-
-2019-05-10 14:51:15 +0200  Niels De Graef <niels.degraef@barco.com>
-
-	* gst/gsturi.h:
-	  uri: Add gst_clear_uri()
-	  Basically, you can use this instead of using `gst_uri_unref()` (which
-	  needs to be preceded by a NULL-check).
-	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/275
-	  and https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/3
-
-2019-05-09 08:59:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  gstbasesink: Fix gir annotation
-
-2019-01-26 10:40:19 -0500  Aaron Boxer <aaron.boxer@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  gstbasesink: add stats getter method
-	  fixes #355
-
-2019-05-08 12:11:50 +0200  Niels De Graef <niels.degraef@barco.com>
-
-	* gst/gstpromise.h:
-	  gst: Add support for g_autoptr(GstPromise)
-
-2019-05-01 15:46:56 +0200  Niklas Hambüchen <mail@nh2.me>
-
-	* gst/parse/get_flex_version.py:
-	  Make get_flex_version.py script executable
-	  Like all other scripts in the same dir.
-	  It has a hashbang, so it should be executable.
-
-2019-04-25 10:41:54 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* tools/gst-stats.c:
-	  gst-stats: format latency as GST_TIME
-	  Latency is easier to read when formatted as time rather than displayed
-	  as a flat number in ns.
-	  Especially when displaying GST_CLOCK_TIME_NONE which is now formated as
-	  99:99:99.999999999 instead of 18446744073709551615.
-
-2019-04-24 18:22:06 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix unused-const-variable error in windows
-	  ../tools/gst-inspect.c:44:20: error: 'DEFAULT_PAGER' defined but not used [-Werror=unused-const-variable=]
-
-2018-11-12 19:59:41 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  gstsegment: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED
-	  This is generally useful, and mandated by the ONVIF streaming
-	  spec, section 6.5.3
-	  <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
-
-2019-04-20 22:26:52 +0200  Rasmus Thomsen <oss@cogitri.dev>
-
-	* libs/gst/helpers/meson.build:
-	  meson: check for libcap via pkg-config
-	  It's possible that setcap is installed, but the libcap headers/libs aren't (e.g.
-	  during cross compilation, when you have the program installed for the host,
-	  but need the headers of the target). Also removes the need to manually check
-	  for the libcap headers.
-
-2019-04-23 18:00:59 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbitwriter.h:
-	  bitwriter: Fix inclusion of header in C++ code
-	  ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h: In function 'gboolean _gst_bit_writer_check_remaining(GstBitWriter*, guint32)':
-	  ../subprojects/gstreamer/libs/gst/base/gstbitwriter.h:161:31: error: invalid conversion from 'gpointer' {aka 'void*'} to 'guint8*' {aka 'unsigned char*'} [-fpermissive]
-	  bitwriter->data = g_realloc (bitwriter->data, (new_bit_size >> 3));
-	  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-2019-04-23 17:33:34 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/base.h:
-	  base: Include gstbitwriter.h in the single-include header
-
-2019-04-23 15:08:18 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstallocator.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.h:
-	* gst/gstclock.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gsterror.h:
-	* gst/gstevent.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstparse.h:
-	* gst/gstplugin.h:
-	* gst/gstsegment.h:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.h:
-	  gst: Fix various Since markers
-
-2019-04-23 15:07:08 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	  libs: Fix various Since markers
-
-2019-04-23 14:54:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Mark all public structs as Since: 1.14
-
-2019-04-23 14:39:48 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: Add Since: 1.16 marker to gst_caps_copy()
-
-2019-04-23 12:31:07 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbitwriter.h:
-	  bitwriter: Mark the whole type as Since: 1.16
-
-2018-11-13 13:41:53 +0100  Robert Rosengren <robertr@axis.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnetutils.c:
-	* libs/gst/net/gstnetutils.h:
-	* libs/gst/net/meson.build:
-	* libs/gst/net/net.h:
-	  netutils: make gst_net_utils_set_socket_dscp external
-	  Internal gst_net_utils_set_socket_dscp renamed and turned into external
-	  function. Similar functionality exists in e.g. multidupsink, which could
-	  instead use this one.
-
-2018-11-13 13:39:43 +0100  Robert Rosengren <robertr@axis.com>
-
-	* libs/gst/net/gstnetutils.c:
-	  netutils: Add IPv6 support to QoS DSCP
-	  Added IPv6 support as already implemented in multiudpsink
-	  (gst-plugins-good).
-
-2019-04-19 12:31:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add index for new symbols in 1.16
-
-2019-04-19 10:20:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* README:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* meson.build:
-	  Back to development
-
-=== release 1.16.0 ===
-
-2019-04-19 00:15:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* README:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.16.0
-
-2019-04-19 00:15:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2019-04-19 00:15:19 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/zh_CN.po:
-	  Update translations
-
-2019-04-18 10:13:51 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Downgrade EOS warning
-	  In the case of pushfilesrc, this is the expected behaviour, so let's
-	  downgrade the warning to a debug message to avoid confusing users.
-
-2019-04-17 20:46:58 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tests/check/libs/basesrc.c:
-	  tests: basesrc: unref gst_bus_timed_pop_filtered return
-
-2019-04-16 13:29:00 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  gstinfo: clean up function pointer names hashtable
-	  And add strduped function pointer names to the global quark
-	  table, so that they don't get reported as lost by valgrind.
-	  This allows us to use GST_DEBUG when running tests under
-	  valgrind.
-
-2019-04-16 23:50:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix doc chunk for new buffer-consumed signal
-	  Fixes 'Warning: GstBase: incorrect number of parameters in
-	  comment block, parameter annotations will be ignored.' from
-	  g-ir-scanner.
-
-2019-04-12 09:23:52 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Don't compare element name as element Id is already unique
-
-2019-04-12 08:38:03 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Remove redundant if conditions
-
-2019-04-12 08:34:49 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Make GST_DEBUG logs consistent
-
-2019-04-12 08:28:22 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Fix bug when dropping sub-latency probe event
-	  Fixes #373
-
-2019-04-12 16:37:18 +0200  Philipp Zabel <p.zabel@pengutronix.de>
-
-	* gst/gstevent.c:
-	  event: fix seek event creation
-	  Creating seek events segfaults on 32-bit ARM since commit 2fa15d53717c
-	  ('event: add new seek parameter, "trickmode-interval"'), which missed
-	  casting the trickmode-interval initializer in the variable argument list
-	  to guint64.
-
-2019-04-11 15:32:51 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Do not print warning if 'less' is missing
-
-=== release 1.15.90 ===
-
-2019-04-11 00:19:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.15.90
-
-2019-04-11 00:19:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2019-04-10 09:17:01 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Fix typo bug
-
-2019-04-10 09:13:53 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Fix bug when storing latency probe event
-	  The pad name sotred in the latency event has no longer the name of the element,
-	  so we have to get the element Id, element name and pad name values from the data
-	  structure and compare all 3 values.
-
-2019-04-10 10:18:54 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcontrolbinding.c:
-	  controlbinding: Check if the weak pointer was cleared before explicitly removing it
-	  Otherwise we'll get an assertion if the object behind the weak pointer
-	  was already destroyed in the meantime as we would pass NULL as first
-	  argument to g_object_remove_weak_pointer().
-
-2019-04-09 08:05:09 -0400  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	* tools/gst-stats.c:
-	  tracer: latency: Show element id, element name and pad name
-
-2019-03-25 15:36:08 +0100  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* tools/gst-stats.c:
-	  gst-stats: Add element latency support
-	  This will output latency information when parsing a log file with gst-stats that
-	  has latency trace information. It will show the min, max and mean latency for
-	  the pipeline and all its elements. It will also show the reported latency for
-	  each element of the pipeline. Output example:
-	  Latency Statistics:
-	  pulsesrc0_src|fakesink0_sink: mean=190000043 min=190000043 max=190000043
-	  Element Latency Statistics:
-	  flacparse0_src: mean=45561281 min=654988 max=90467575
-	  flacenc0_src: mean=89938883 min=81913512 max=97964254
-	  flacdec0_src: mean=45804881 min=228962 max=91380801
-	  Element Reported Latency:
-	  pulsesrc0: min=10000000 max=200000000 ts=0:00:00.262846528
-	  flacenc0: min=104489795 max=104489795 ts=0:00:00.262898616
-	  flacparse0: min=0 max=0 ts=0:00:00.262927962
-
-2019-03-21 10:37:34 +0100  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlatency.h:
-	  tracer: latency: Show per-element reported latency
-
-2019-03-20 12:20:48 +0100  Julian Bouzas <julian.bouzas@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Show element's source pad name instead of element's name
-	  The full pad name gives more information than the element's name, which is very
-	  useful when elements have multiple source pads.
-
-2019-03-18 21:55:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency: Dot not override already stored events
-	  First, the event would be leaved, but also when an element takes
-	  several buffers before producing one, we want the reported latency to be
-	  the aggregation, so the distance from the oldest buffer.
-
-2018-10-31 16:50:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlatency.h:
-	  tracer: latency: Add parameter to select latency type
-	  This sets back the default to trace only pipeline latency, and add flags
-	  to enabled element tracing. It is now possible to only trace element
-	  latency, only trace pipeline latency, trace both or none.
-
-2018-07-06 17:08:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: latency: Add per element latency tracer
-	  This adds per element latency tracing.
-
-2018-07-04 14:18:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer: Don't pass pads inside GstEvent
-	  This removes the passing of pad inside of a GstEvent. While this is not
-	  a bug, it may affect the live time of the pad, hense change the pipeline
-	  behaviour.
-
-2018-11-13 21:19:22 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/libs/basesrc.c:
-	  basesrc: do not send EOS when automatic_eos is FALSE
-
-2019-04-01 12:22:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add buffer-consumed pad signal
-	  The signal will be emitted when a buffer was consumed on
-	  a pad, if the newly-added "emit-signals" property has been
-	  set to TRUE.
-	  Handlers connected to the signal will receive a valid reference on
-	  the consumed buffer, allowing for example the retrieval of metas in
-	  order to forward them once an output buffer is pushed out.
-
-2019-04-05 11:43:53 +0200  Antonio Ospite <antonio.ospite@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix printing the first field of a GstStructure
-	  When printing a GstStructure property (e.g. the "stats" property in
-	  rtpsession) the first field is printed on the same line of the type
-	  description, and this is both inconsistent compared to  how Enum values
-	  are printed and confusing as the reader might miss the first field.
-	  To fix this, add a newline before printing GstStructure fields in
-	  properties.
-	  NOTE: this does not change the existing inconsistent behavior of an
-	  extra newline *after* a GstStructure property, but the latter is not as
-	  annoying and it would take more effort to fix because GstStructure
-	  fields are printed in CAPS descriptions too.
-
-2019-04-01 18:34:07 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstevent.c:
-	  event: add new seek parameter, "trickmode-interval"
-	  When performing a key unit trickmode seek, it may be useful to
-	  specify a minimum interval between the output frames, either
-	  in very high rate cases, or as a protection against streams
-	  that may contain an overly large amount of key frames.
-	  One use case is ONVIF Section 6.5.3:
-	  <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
-
-2019-03-22 17:46:03 +0100  Antonio Ospite <antonio.ospite@collabora.com>
-
-	* tests/check/gstreamer.supp:
-	  tests: add the valgrind suppression file from the "common" module
-	  Other gstreamer repositories have their own valgrind suppression file
-	  directly in the repository.
-	  Add a suppression file to the core gstreamer repository too, this makes
-	  it easier to use it with gst-build which does not check out the common
-	  module.
-	  This is also a little step towards the removal of the common submodule.
-	  NOTE: the added file is the latest version from the "common" repository
-	  but it has been renamed from gst.supp to gstreamer.supp for symmetry
-	  with the suppression files in the other repositories.
-
-2019-03-23 18:31:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  g-i: pass --quiet to g-ir-scanner
-	  This suppresses the annoying 'g-ir-scanner: link: cc ..' output
-	  that we get even if everything works just fine.
-	  We still get g-ir-scanner warnings and compiler warnings if
-	  we pass this option.
-
-2019-03-23 18:17:43 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: suppress some g-i warnings
-	  gstcheck.c:142: Warning: GstCheck: gst_check_add_log_filter: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
-	  gstcheck.h:178: Warning: GstCheck: gst_check_run_suite: argument suite: Unresolved type: 'Suite*'
-
-2019-03-23 17:53:54 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  g-i: silence 'nested extern' compiler warnings when building scanner binary
-	  We need a nested extern in our init section for the scanner binary
-	  so we can call gst_init to make sure GStreamer types are initialised
-	  (they are not all lazy init via get_type functions, but some are in
-	  exported variables). There doesn't seem to be any other mechanism to
-	  achieve this, so just remove that warning, it's not important at all.
-
-2019-03-23 17:53:07 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbitwriter.c:
-	  bitwriter: mark as 'skip' for gobject-introspection
-	  Silences g-ir-scanner warnings. We do the same for ByteWriter.
-
-2019-03-21 18:55:16 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: don't leak gap buffer when out of segment
-
-2019-03-21 18:47:04 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: take the pad lock around queue gap event removal
-	  As is done for every other queue interaction
-
-2019-03-20 17:43:02 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't reset the disable-passthrough property value
-	  Resetting as a result of _reset() on PAUSED->READY is unexpected.
-
-2019-03-14 11:59:43 +0100  Stephane Cerveau <scerveau@fluendo.com>
-
-	* gst/gstelement.c:
-	  gst_element_get_factory: update documentation
-	  Inform about a potential NULL result.
-
-2019-03-13 18:46:14 +0100  Stephane Cerveau <scerveau@fluendo.com>
-
-	* gst/gstelementfactory.c:
-	  gst_element_factory_get_metadata: protect from null factory
-
-2019-03-12 21:19:23 +0000  Damian Vicino <sdavtaker@gmail.com>
-
-	* README:
-	  Update README
-
-2019-03-12 20:12:37 +0000  Damian Vicino <sdavtaker@gmail.com>
-
-	* README:
-	  Update README to have correct name of the license file documented (COPYING). There is no LICENSE file in the root directory, and COPYING file content is a license file.
-
-2019-03-10 15:35:39 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tests/check/meson.build:
-	  tests: fdsrc: Exclude unit test on Windows
-	  Since elements_fdsrc.test_num_buffers uses blocking pipe on Windows,
-	  the test will never be finished. But emulating non-blocking fd without
-	  win32 APIs on Windows is a little tricky.
-
-2019-03-08 16:19:29 +0100  Santiago Carot-Nemesio <scarot@twilio.com>
-
-	* gst/gsttaskpool.c:
-	  gsttaskpool: Do not block tasks while cleaning up the taskpool
-	  There is a deadlock if any thread from the pool tries to push
-	  a new task while other thread is waiting for the pool of threads
-	  to finish. With this patch the thread will get an error when it
-	  tries to add a new task while the taskpool is being cleaned up.
-
-2019-03-06 19:46:46 +0100  Marco Trevisan (Treviño) <mail@3v1n0.net>
-
-	* gst/gsturi.c:
-	  gsturi: Fix annotation on get_path to return a nullable
-	  Use proper syntax or the (nullable): part will be part of the description
-
-2019-03-06 19:34:12 +0100  Marco Trevisan (Treviño) <mail@3v1n0.net>
-
-	* gst/gstmessage.c:
-	  gstmessage: Fix annotations on details
-	  Details argument should be nullable, but the docstring uses a wrong syntax.
-
-2019-03-06 09:04:54 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbuffer.c:
-	  tests: fix leak in buffer test_wrapped_bytes test
-
-2019-03-01 11:59:14 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstmeta.c:
-	  gstbuffer: store meta in add order
-	  The previous implementation of add was implemented as a prepend,
-	  switch to append as that seems like the expected order.
-
-2019-03-04 09:01:07 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* meson.build:
-	  Back to development
-
-2019-02-28 16:48:57 +0100  Santiago Carot-Nemesio <sancane@gmail.com>
-
-	* gst/gsttaskpool.c:
-	  taskpool: Set error in case something goes wrong in the default handlers
-
-=== release 1.15.2 ===
-
-2019-02-26 11:38:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.15.2
-
-2019-02-26 13:23:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/parse/Makefile.am:
-	  meson: dist get_flex_version.py
-
-2019-02-26 11:38:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2019-02-26 11:37:57 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/ast.po:
-	* po/az.po:
-	* po/be.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/da.po:
-	* po/de.po:
-	* po/el.po:
-	* po/en_GB.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/eu.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/fur.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/it.po:
-	* po/ja.po:
-	* po/lt.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update translations
-
-2019-02-25 13:49:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>
-
-	* gst/gstplugin.c:
-	  plugin: add 0BSD as valid license
-	  Add the zero-clause BSD license, which is an alteration of the ISC
-	  license, to the list of valid licenses.
-
-2019-02-25 13:48:38 +0100  Philipp Zabel <p.zabel@pengutronix.de>
-
-	* gst/gstplugin.c:
-	  plugin: fix link to 3-clause BSD license
-	  The current link points to the 2-clause BSD license,
-	  explicitly link to the 3-clause version of the license.
-
-2019-02-20 17:51:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstmacros.h:
-	  gstmacros.h: Fix restrict definition on MSVC
-	  Turns out it's exposed as `__restrict`, not as `restrict`.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/95#note_120782
-
-2019-02-20 01:25:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstmacros.h:
-	  gstmacros.h: Fix check for 'restrict' keyword
-	  MSVC also defines it as a keyword. Fixes build errors in projects that
-	  include MSVC's xkeycheck.h which ensures that keywords aren't overriden
-	  with a define.
-
-2019-02-18 09:58:19 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Don't miss return value on Windows build
-	  ... and use InterlockedExchangeAdd64 for the 64bit value.
-	  InterlockedExchangeAdd is 32bit version.
-
-2019-02-15 13:23:37 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Make removing of signal/bus watches thread-safe
-	  Between getting the GSource with the mutex and destroying it, something
-	  else might've destroyed it already and we would have a dangling pointer.
-	  Keep an additional reference just in case.
-
-2019-02-15 13:20:27 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Don't allow removing signal watches with gst_bus_remove_watch()
-	  Signal watches are reference counted and gst_bus_remove_watch() would
-	  immediately remove it, breaking the reference counting. Only
-	  gst_bus_remove_signal_watch() should be used for removing signal
-	  watches.
-
-2019-02-11 15:21:21 +1300  Lawrence Troup <lawrence.troup@teknique.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Document that pad unlink function is called with pad lock held
-	  Fixes #353
-
-2016-12-02 17:56:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst_private.h:
-	* gst/gstbuffer.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* tests/check/gst/gstmeta.c:
-	  buffer: store sequence number for metas
-	  For metas where order might be significant if multiple metas are
-	  attached to the same buffer, so store a sequence number with the
-	  meta when adding it to the buffer. This allows users of the meta
-	  to make sure metas are processed in the right order.
-	  We need a 64-bit integer for the sequence number here in the API,
-	  a 32-bit one might overflow too easily with high packet/buffer
-	  rates. We could do it rtp-seqnum style of course, but that's a
-	  bit of a pain.
-	  We could also make it so that gst_buffer_add_meta() just keeps metas in
-	  order or rely on the order we add the metas in, but that seems too
-	  fragile overall, when buffers (incl. metas) get merged or split.
-	  Also add a compare function for easier sorting.
-	  We store the seqnum in the MetaItem struct here and not in the
-	  GstMeta struct since there's no padding in the GstMeta struct.
-	  We could add a private struct to GstMeta before the start of
-	  GstMeta, but that's what MetaItem effectively is implementation-
-	  wise. We can still change this later if we want, since it's all
-	  private.
-	  Fixes #262
-
-2019-02-09 11:35:59 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdeviceprovider.c:
-	  deviceprovider: It's (transfer none) not (transfer-none)
-
-2019-01-30 10:41:58 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceprovider.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  device-provider: Allow notifying application of device changes
-	  Thi introduces new APIs to post a `DEVICE_CHANGED` message on the
-	  bus so the application is notifies when a device is modified. For
-	  example, if the "defaultness" of a device was changed or any property
-	  that can be changed at any time. Atomically changing the device
-	  object notifying that way allow us to abtract away the internal threads.
-	  New APIS:
-	  - gst_message_new_device_changed
-	  - gst_message_parse_device_changed
-	  - gst_device_provider_device_changed
-
-2019-02-08 16:42:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/parse/get_flex_version.py:
-	* gst/parse/meson.build:
-	  meson: Extract flex version using a regex inside a script
-	  Different builds of Flex on different platforms output different strings
-	  in --version. For example:
-	  macOS:
-	  flex 2.5.35 Apple(flex-31)
-	  Windows:
-	  win_flex.exe 2.6.4
-	  C:\Program Files (x86)\GnuWin32\bin\flex.EXE version 2.5.4
-	  We need to look for a string that looks like a version, which means
-	  a regex till https://github.com/mesonbuild/meson/issues/1609 is fixed.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/356
-
-2019-02-05 18:18:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/gst/gstmeta.c:
-	* tools/gst-inspect.c:
-	  misc: Fix various compiler warnings on MinGW
-	  gstharness.c: Use G_GSIZE_FORMAT instead of hard-coding %zu
-	  error: unknown conversion type character 'z' in format [-Werror=format]
-	  gst-inspect.c: GPid is void* on non-UNIX, and we only use it on UNIX
-	  error: initialization makes pointer from integer without a cast [-Werror]
-	  gstmeta.c: Use and then discard value
-	  error: value computed is not used [-Werror=unused-value]
-	  With this, gstreamer builds with -Werror on MinGW
-
-2019-01-29 16:26:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdatetime.c:
-	  datetime: new() and new_local_time() constructors are not nullable
-
-2019-01-29 15:50:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Constructors are all not nullable
-	  They can't possibly return NULL except in case of assertions.
-
-2019-01-29 15:49:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Constructors are all nullable as they check the template name
-
-2019-01-29 12:01:59 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/libs/baseparse.c:
-	  test: Set PTS on proper variable
-	  This would previously set the PTS on a random address causing various
-	  memory corruption
-
-2019-01-25 02:36:18 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstinfo.c:
-	* meson.build:
-	* meson_options.txt:
-	  gstinfo: add Windows stacktraces support
-	  This uses the DbgHelp library if available
-
-2019-01-25 13:46:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstpad.c:
-	  pad: Remove unneeded 64bit upcast in debug trace
-	  The hook->hook_id is a gulong for which there are no portability issues
-	  when tracing in printf format with %lu. So use %lu and remove the upcast
-	  to 64 bit. This makes the code more consistent with everything else
-	  tracing that hook_id and other gulong id.
-
-2019-01-24 13:52:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Re-add DEFAULT_LESS_OPTS with initial value
-	  Commit 56b4fbef5e6760adc927d0e1c7c8d6a0db9b785c refactored the pipe code
-	  to use GLib utility, but the patch was hading some other changed. LESS
-	  env was now hardcoded in the middle instead of from a define and was
-	  changed from FXR to -RX. The "-" is not even valid for LESS env, and
-	  with the lost of F, we would still use a pager when the content fits the
-	  terminal.
-
-2019-01-23 13:51:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsttaglist.c:
-	  taglist: Remove (scope call) annotation from gst_tag_register()
-	  This was added in 7fdb15d6a2 but it is wrong. (scope call) is for
-	  closures that only have to stay valid for the scope of the call, but the
-	  tag merge function has to stay valid for the whole lifetime of the
-	  application instead.
-	  There's no appropriate scope annotation for that so we have to skip
-	  these functions for now.
-
-2019-01-23 12:15:13 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: Fix spurious validation
-	  Should be equality check, not assignment.
-	  Additionally, use fail_unless_equals_* macro for better readability
-	  and debugging easier, if possible.
-
-2019-01-23 21:15:09 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/parse/meson.build:
-	  meson: improve flex version parsing
-	  the output of flex --version can contain more than one space
-
-2019-01-22 14:05:43 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* meson.build:
-	  meson: Correct minimum required GLib version
-	  It's updated to 2.40.0 since the commit 3e8ef4cf5a41e26836f0a5a8cb3ddaa5e55f1524
-
-2019-01-17 11:22:27 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Don't setup pager too early
-	  Setup it only if we have something to print out about inspected results.
-	  Otherwise, gst_tools_print_version() output will be redirected to pager and also
-	  exit immediately without waiting child process.
-
-2019-01-08 21:23:44 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Port to Glib's spawn API
-	  Although we support pager just for *nix until now,
-	  this can make more portable to Windows.
-	  Fixes #342
-
-=== release 1.15.1 ===
-
-2019-01-17 01:38:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.15.1
-
-2019-01-17 01:38:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2019-01-17 01:38:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/ast.po:
-	* po/az.po:
-	* po/be.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/da.po:
-	* po/de.po:
-	* po/el.po:
-	* po/en_GB.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/eu.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/fur.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/it.po:
-	* po/ja.po:
-	* po/lt.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update translations
-
-2019-01-17 01:30:25 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix ANSI escape sequence usage on Windows
-	  Either disable it when it's not supported, or setup the console to
-	  interpret them correctly when it's supported.
-	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/351
-
-2019-01-15 18:05:31 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Fix printf format when printing hook id
-	  It's a gulong so we have to cast it to a guint64 when using it with
-	  G_GUINT64_FORMAT.
-	  Spotted by Vincent Penvern.
-
-2019-01-14 16:22:16 +0800  Daniel Drake <drake@endlessm.com>
-
-	* gst/gstdeviceprovider.c:
-	  deviceprovider: fix counting number of times started
-	  GstDeviceProvider has a started_count private variable counter,
-	  and the gst_device_provider_start() documentation emphasizes the
-	  importance of balancing the start and stop calls.
-	  However, when starting a provider that is already started, the
-	  current code will never increment the counter more than once.
-	  So you start it twice, but it will have start_count 1, which is the
-	  maximum value it will ever see.
-	  Then when you stop it twice, on the 2nd stop, after decrementing the
-	  counter in gst_device_provider_stop():
-	  else if (provider->priv->started_count < 1) {
-	  g_critical
-	  ("Trying to stop a GstDeviceProvider %s which is already stopped",
-	  GST_OBJECT_NAME (provider));
-	  and the program is killed.
-	  Fix this by incrementing the counter when starting a device provider that
-	  was already started.
-
-2019-01-11 12:32:49 +0200  Jordan Petridis <jordan@centricular.com>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: gstdatetime: move gst_date_time_new* and time() calls closer
-	  While extremelly rare, time and gst_date_time_new_* will have
-	  diff values and potentially trigger an assertion. Thus move
-	  the calls as closely together as possible to mitigate this.
-
-2019-01-10 12:05:34 +0000  Sebastian Dröge <slomo@coaxion.net>
-
-	* gst/gstbin.c:
-	  Revert "bin: Hold the state lock while removing elements from a bin"
-	  This reverts commit 7f70d7a9450b321585fbfd1eb977548d4264b2a6
-
-2019-01-09 14:01:02 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* tests/check/gst/gststructure.c:
-	  tests: Add more int range fixation tests
-
-2019-01-09 13:38:44 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gststructure.c:
-	  structure: Support stepped ranges when fixating
-	  The step restriction was completely ignored until now.
-
-2019-01-09 13:37:30 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* gst/gststructure.c:
-	  structure: Use GLib's CLAMP macro for fixating ranges
-	  Just a bit of refactoring.
-
-2019-01-07 14:08:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Add note about racyness to gst_element_set_locked_state()
-	  This is racy if the state lock of the parent bin is not taken. The
-	  parent bin might've just checked the flag in another thread and as the
-	  next step proceed to change the child element's state.
-
-2019-01-07 14:08:00 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Hold the state lock while removing elements from a bin
-	  We need to take the state lock here to ensure that we're
-	  not currently just before setting the state of this child
-	  element. Otherwise it can happen that we removed the element
-	  here and e.g. set it to NULL state, and shortly afterwards
-	  have another thread set it to a higher state again as part of
-	  a state change for the whole bin.
-	  When adding an element to the bin this is not needed as we
-	  require callers to always ensure after adding to the bin that
-	  the new element is set to the correct state.
-
-2019-01-05 18:55:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix typo in docs
-
-2019-01-02 23:35:11 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  pipeline: Call gst_task_cleanup_all() before checking reference counts after shutdown
-	  We have to ensure that all background threads from thread pools are shut
-	  down, or otherwise they might not have had a chance yet to drop their
-	  last reference to the pipeline and then the assertion for a reference
-	  count of 1 on the pipeline fails.
-
-2019-01-02 18:41:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  pipeline: Use the test clock in all unit tests
-	  And check for exact times as we can now do that thanks to the test clock
-	  being deterministic.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/313
-
-2018-09-26 17:09:50 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: implement 'gst-dot' and 'gst-print' commands
-	  This adds two custom gdb commands:
-	  'gst-dot' creates dot files that a very close to what
-	  GST_DEBUG_BIN_TO_DOT_FILE() produces. Object properties and buffer content
-	  (e.g. codec-data in caps) are not available.
-	  'gst-print' produces high-level information about GStreamer objects. This
-	  is currently limited to pads for GstElements and events for the pads. The
-	  output can look like this:
-	  (gdb) gst-print pad.object.parent
-	  GstMatroskaDemux (matroskademux0) {
-	  SinkPad (sink, pull) {
-	  }
-	  SrcPad (video_0, push) {
-	  events:
-	  stream-start:
-	  stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367
-	  caps: video/x-theora
-	  width: 1920
-	  height: 800
-	  pixel-aspect-ratio: 1/1
-	  framerate: 24/1
-	  streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] >
-	  segment: time
-	  rate: 1
-	  tag: global
-	  container-format: Matroska
-	  }
-	  SrcPad (audio_0, push) {
-	  events:
-	  stream-start:
-	  stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875
-	  caps: audio/mpeg
-	  mpegversion: 4
-	  framed: true
-	  stream-format: raw
-	  codec_data: 0x7fffe0014500 [GstBuffer]
-	  level: 2
-	  base-profile: lc
-	  profile: lc
-	  channels: 2
-	  rate: 44100
-	  segment: time
-	  rate: 1
-	  tag: global
-	  container-format: Matroska
-	  tag: stream
-	  audio-codec: MPEG-4 AAC audio
-	  language-code: en
-	  }
-	  }
-
-2018-12-29 16:20:54 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* libs/gst/helpers/gst_gdb.py:
-	  gdb: make the code PEP-8 compliant
-
-2018-12-31 14:55:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gststream.h:
-	  tests: remove unused gststream.h file
-	  Looks like an earlier version of the .c file.
-
-2018-12-19 16:55:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Disable colors when piped
-	  This follows what git and systemd tools would do.
-
-2018-12-19 16:06:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix pager color with less
-	  Fixes #341
-
-2018-12-19 00:34:40 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: ensure submitted buffer list is writable
-	  Fixes flaky appsrc unit test where depending on scheduling
-	  the submitted list might not be writable if submitted via
-	  an action signal from the application thread.
-	  Fixes gst-plugins-base#522
-
-2018-12-14 15:55:27 +0000  Jonny Lamb <jonnylamb@jonnylamb.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: fixes to the eos-after and error-after properties
-	  I copied `error-after` to make the `eos-after` property, but it turned
-	  out there were some problems with that one, so this patch: adds
-	  separate counters (so setting to NULL and reusing the element will
-	  still work); clarifies the properties' min values; and reports an
-	  error when both are set.
-
-2018-11-28 14:58:32 -0600  Michael Gruner <michael.gruner@ridgerun.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: include prefix in the plugins path
-
-2018-12-17 23:29:16 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: datetime: Fix failure on Windows
-	  The documentation for WIN32 mktime indicates that for struct tm*
-	  before January 1, 1970, that -1 is returned, and since mktime is timezone
-	  dependent, the struct tm corresponding to 1:00, Jan. 1, 1970 might be failed.
-	  See also
-	  https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/mktime-mktime32-mktime64
-
-2018-09-25 09:03:03 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Add details of query in debug log
-
-2018-12-15 11:42:30 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Move variable to block where it's used
-	  There was a dead assignment used outside of the bin/pipeline creation
-	  which was confusing (and unused). Just move that variable to
-	  where it is actually used.
-	  (Note that that variable was not needed outside of that block since
-	  the refactoring done in 2b33d3318519fd613dd5a4ebbd7c308609904e68 )
-
-2018-12-15 11:08:09 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/examples/streamiddemux/streamiddemux-stream.c:
-	  examples: Remove dead assignments
-	  Those values are always set after before usage
-
-2018-12-15 11:07:21 +0100  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: assert on  result of gst_pad_push_event()
-	  That assertion was accidentally removed in the refactoring done in
-	  60de1f26c78feb0cde6d3f82cf86cf35daa71cc0
-
-2018-12-15 10:53:55 +0100  Edward Hervey <edward@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Remove dead assignment
-	  readable is set just after before usage since 906bbd3817c86e64d1bfa57570469055456addfe
-
-2018-12-14 18:38:21 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Let threads in the test take ownership of a strong reference to their pads
-	  Otherwise it can easily happen that the pad is destroyed before the
-	  thread disappears, as happened sometimes in the test_pad_probe_block_add_remove
-	  test where joining of the thread was done *after* the pad was unreffed
-	  and destroyed.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/339
-
-2018-12-14 18:37:53 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Print some debug information about pad probe hooks we remove
-
-2018-12-11 16:48:56 +0000  Jonny Lamb <jonnylamb@jonnylamb.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: add eos-after property
-	  Using `num-buffers` can be unpredictable as buffer sizes are often
-	  arbitrary (filesrc, multifilesrc, etc.). The `error-after` property on
-	  `identity` is better but obviously reports an error afterwards. This
-	  adds `eos-after` which does exactly the same thing but reports EOS
-	  instead.
-
-2018-12-11 10:48:46 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* tests/check/gst/gstcaps.c:
-	  gstcaps: add gst_caps_set_features_simple()
-	  Convenient helper setting a caps feature on all the structures of a
-	  caps.
-
-2018-12-06 20:22:21 +0000  Roman Sivriver <roman@rsiv.net>
-
-	* libs/gst/helpers/Makefile.am:
-	  gst: fixed the install command for gdb python macros on macos - `install -D` is not supported by BSD install
-
-2018-12-01 10:32:07 -0500  Dardo D Kleiner <dardokleiner@gmail.com>
-
-	* tests/check/gst/gstmeta.c:
-	  buffer: Add more exhaustive test for gst_buffer_foreach_meta() meta removal
-	  Existing test for iterating/removing buffer meta data was insufficient
-	  to detect linked list corruption when removing multiple items, and could
-	  also suffer from such corruption in attempting to count remaining items.
-	  Modified the one test and added several others to exercise multiple
-	  scenarios.
-	  Validates fix for issue #332.
-
-2018-12-01 10:48:11 -0500  Dardo D Kleiner <dardokleiner@gmail.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Fix memory corruption in gst_buffer_foreach_meta() when removing metas
-	  Fix corruption of meta list head when removing metas at the beginning
-	  during iteration. Linked list handling in gst_buffer_foreach_meta
-	  failed to track the previous entry and update the correct next pointer
-	  when removing items from beyond the head of the list, resulting in
-	  arbitrary list pointer corruption.
-	  Closes #332
-
-2018-12-05 17:24:00 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From cd1dee0 to 59cb678
-
-2018-11-23 21:22:21 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  libdw support is optional
-	  This was no longer optional, leading to deadcode. This regression was
-	  found trying to fix the unwind variant in cerbero.
-
-2018-11-29 12:54:46 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix colors for "URI handling" section
-	  They seemed incompatible with other colors.
-
-2018-11-28 18:06:54 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Avoid use of non-bright blue color
-	  Simple blue doesn't work on Linux console, which also happens to be a
-	  gnome-terminal theme. Use bright-blue instead.
-
-2018-11-26 22:00:28 +0900  KimTaeSoo <myrandy1@gmail.com>
-
-	* tests/check/libs/baseparse.c:
-	  baseparse: Add unit test for short reads
-	  Before the previous commit, buffer pulling count and chain function call
-	  counts are not equal due to EOS. After the modification, these counts
-	  are equal so unit test is passing.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/33
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294
-
-2018-11-15 00:17:09 +0900  KimTaeSoo <myrandy1@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Use buffer from short reads instead of pulling again
-	  baseparse internally uses a 64kb buffer for pulling data from upstream.
-	  If a 64kb pull is failing with a short read, it would previously pull
-	  again the requested size.
-	  Doing so is not only inefficient but also seems to cause problems with
-	  some elements (rawvideoparse) where the second pull would fail with EOS.
-	  Short reads are only allowed in GStreamer at EOS.
-	  Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/294
-
-2018-11-28 11:00:21 +0000  Philippe Normand <philn@igalia.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Let context queries pass through
-	  By doing so GL source elements can successfully reuse the GL context and display
-	  of downstream elements. This change fixes an issue in playbin when using
-	  gltestsrc where the context query made by the source element would fail and the
-	  source element would create a second (useless) GLDisplay.
-
-2018-11-28 05:58:53 +0200  Jordan Petridis <jordan@centricular.com>
-
-	* gst/gstsystemclock.c:
-	* libs/gst/check/libcheck/check.c:
-	* plugins/elements/gstfdsink.c:
-	* tests/benchmarks/capsnego.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gsturi.c:
-	  Run gst-indent through the files
-	  This is required before we enabled an indent test in the CI.
-	  https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
-
-2018-11-24 14:51:19 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Use only original 16 colors
-	  Not only this will make colored output work on old terminals and console
-	  as well, terminals can theme the actual colors this way to make it fit
-	  with their different themes this way.
-
-2018-11-27 02:59:41 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  Revert "harness: Take ownership of floating references (pads, elements) passed to the harness"
-	  This reverts commit 2faf93c009d866d68cf0d063a29bb8c21f192aea.
-	  THis broke half our unit tests, oops:
-	  https://ci.gstreamer.net/job/GStreamer-master/11203/testReport/
-
-2018-11-13 14:32:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Take ownership of floating references (pads, elements) passed to the harness
-	  Without this bindings get confused about the meaning of references, and
-	  we really own these references if they are not already owned by
-	  something else.
-
-2018-11-24 12:06:38 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Tell `less` to parse color codes
-	  This change was originally part of 2cf16838c54 (gst-inspect: Colored
-	  output) but got lost during the recent rebase.
-
-2018-10-27 18:06:20 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect-1.0.1:
-	* tools/gst-inspect.c:
-	  gst-inspect: Colored output
-	  Let's make the output a bit pretty to read. The colored output can be
-	  disabled with `--no-colors` option or by setting `GST_INSPECT_NO_COLORS'
-	  env (to any value).
-	  The chosen colors are based on the popular Solarized theme, which is
-	  targeted for both dark and light backgrounds.
-	  Note:
-	  * We only support true colors. If the terminal doesn't signal support for
-	  that via 'COLORTERM' env, we disable colored output.
-	  * We don't add colors to --print-plugin-auto-install-info output, as
-	  that's meant for machines, not humans. Not only machines don't care
-	  about beauty, the existing ones will likely not expect colors and choke
-	  on it and we'll get angry mob at our doors.
-	  [1] https://ethanschoonover.com/solarized
-
-2018-11-10 23:35:18 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Remove redundant plugin name from output
-	  When printing info about a specific plugin, there is no need to prefix
-	  some of the details with plugin's name. It's not only redundant but also
-	  inconsistent and makes the task of adding consistent coloring to the
-	  output (which we'll do in a follow patch), harder.
-
-2018-11-23 03:31:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Use less -F -X everywhere as the pager
-	  This emulates the default behaviour of git help pages, and also fixes
-	  a bug on macOS where `less -F` doesn't display anything at all when
-	  the output is shorter than one terminal screen.
-	  Also moved the DEFAULT_PAGER define to after the includes, because
-	  it's an unprefixed define.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/330
-
-2018-11-12 14:00:22 +0200  Jordan Petridis <jordan@centricular.com>
-
-	* .gitlab-ci.yml:
-	  Add Gitlab CI configuration
-	  This commit adds a .gitlab-ci.yml file, which uses a feature
-	  to fetch the config from a centralized repository. The intent is
-	  to have all the gstreamer modules use the same configuration.
-	  The configuration is currently hosted at the gst-ci repository
-	  under the gitlab/ci_template.yml path.
-	  Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
-
-2018-12-11 20:12:50 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: caps: Add more broken caps test case
-
-2018-12-11 20:12:41 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gststructure.c:
-	* gst/gsttracerrecord.c:
-	  gst: Fix string leak when G_VALUE_COLLECT_INIT() was failed
-	  Returned string should be freed
-	  Fixes #319
-
-2018-11-10 20:41:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdebugutils.h:
-	  debugutils: Make sure that GST_DEBUG_GRAPH_SHOW_VERBOSE gets the correct value in introspection
-	  Currently in Python it would become a signed 64 bit value but should
-	  actually be an unsigned 32 bit value with all bits set.
-	  This is the same problem as with GST_MESSAGE_TYPE_ANY.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=732633
-
-2018-11-06 10:20:17 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	* gst/meson.build:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gsturi.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/adapter.c:
-	  tests: fix tests when compiling with glib_checks=disabled
-	  We won't be able to do ASSERT_CRITICAL, but the main body of the tests
-	  are still valid, and given we ship GStreamer with this configuration, it
-	  is important to be able to run some tests against it.
-
-2018-10-31 10:29:22 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* tests/check/gst/gstdatetime.c:
-	  test/datetime: fix test for windows
-	  In the previous configuration, mktime returned -1 on Windows 10 compiled
-	  with MSVC using meson.
-	  Fix this by moving the hour one forward.
-
-2018-10-31 10:27:23 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* tests/check/gst/gsturi.c:
-	  tests/uri: fix test after GHashTable changes in GLib 2.59
-	  Maybe the implementation should not be dependent on a "random" hash-table
-	  ordering, but at least this shows the problem clearly.
-
-2018-11-09 11:34:19 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Pipe stderr to pager as well
-	  If stderr is not redirected by the user, also page that.
-
-2018-11-05 12:24:01 +0100  Niels De Graef <Niels.DeGraef@barco.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: cleanup (un)reffing of several objects.
-	  By using these functions, we can shave off a few lines, and make the
-	  intent of that line more clear.
-
-2018-11-08 14:09:32 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  Fix distcheck
-	  Follow-up to !18 and #320.
-
-2018-09-26 13:33:31 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
-
-	* configure.ac:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/helpers/glib_gobject_helper.py:
-	* libs/gst/helpers/gst_gdb.py:
-	* libs/gst/helpers/libgstreamer-gdb.py.in:
-	* libs/gst/helpers/meson.build:
-	  gst: add some gdb python macros
-	  This adds gdb pretty printer for some GStreamer types.
-	  For GstObject pointers the type and name is added, e.g.
-	  "0x5555557e4110 [GstDecodeBin|decodebin0]".
-	  For GstMiniObject pointers the object type is added, e.g.
-	  "0x7fffe001fc50 [GstBuffer]".
-	  For GstClockTime and GstClockTimeDiff the time is also printed in human
-	  readable form, e.g. "150116219955 [+0:02:30.116219955]".
-	  Fixes #320
-
-2018-11-08 10:09:29 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: Move clock GWeakRef to a private GstClockEntry struct
-	  There's no need for it to be in the public struct and we can keep the
-	  padding for things to be added in the future.
-
-2018-05-17 21:42:43 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* tests/check/elements/queue2.c:
-	  query: add a new bitrate query
-	  Allows determining from downstream what the expected bitrate of a stream
-	  may be which is useful in queue2 for setting time based limits when
-	  upstream does not provide timing information.
-	  Implement bitrate query handling in queue2
-	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
-
-2018-05-17 21:09:36 +1000  Matthew Waters <matthew@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: avoid ping-pong between 0% and 100% buffering messages
-	  If upstream is pushing buffers larger than our limits, only 1 buffer
-	  is ever in the queue at a time.  Once that single buffer has left the
-	  queue, a 0% buffering message would be posted followed immediately by a
-	  100% buffering message when the next buffer was inserted into the queue
-	  a very short time later.  As per the recommendations, This would result
-	  in the application pausing for a short while causing the appearance of
-	  a short stutter.
-	  The first step of a solution involves not posting a buffering message if
-	  there is still data waiting on the sink pad for insertion into the queue.
-	  This successfully drops the 0% messages from being posted however a
-	  message is still posted on each transition to 100% when the new buffer
-	  arrives resulting in a string of 100% buffering messages.  We silence
-	  these by storing the last posted buffering percentage and only posting a
-	  new message when it is different from or last posted message.
-
-2018-11-06 20:12:27 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlog.c:
-	  tracers: log: Fix post query trace
-	  The post tracer hooks have a GstQuery argument which was truncated from
-	  the trace. As the post hook is the one that contains the useful data,
-	  this bug was hiding the important information from that trace.
-
-2018-11-06 14:21:35 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: add new GstTestClock API
-
-2018-11-06 11:45:45 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	  harness: improve _wait_for_clock_id_waits performance
-	  By moving the functionality down to the testclock, the implementation
-	  no longer needs to poll the waits, but rather wait properly for
-	  them to be added.
-	  The performance-hit here would be that by polling the test-clock
-	  regularly, you would create contention on the testclock-lock, making code
-	  using the testclock (gst_clock_id_wait) fighting for the lock.
-
-2018-09-20 01:42:48 -0700  Havard Graff <havard@pexip.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: pre-calculate the ratio for multiplying the perf-count on win
-	  Saves a lot of computations.
-
-2018-10-28 12:46:09 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  gstpad: use hook_id instead of hook in called_probes list
-	  A pointer to a hook in this list can easily not be unique, given both
-	  the slice-allocator reusing memory, and the OS re-using freed blocks
-	  in malloc.
-	  By doing many repeated add and remove of probes, this becomes very easily
-	  reproduced.
-	  Instead use hook_id, which *is* unique for a added GHook.
-
-2018-09-27 19:13:35 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstbuffer.c:
-	  gst/buffer: add a new function for wrapping GBytes
-	  One restriction on the GBytes is that the data cannot be NULL as this is
-	  explicitly forbidden by GstMemory.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/318
-
-2018-11-03 00:49:01 +1100  Matthew Waters <matthew@centricular.com>
-
-	* meson.build:
-	* plugins/elements/meson.build:
-	* plugins/tracers/meson.build:
-	  meson: generate pkg-config files for our plugins
-
-2018-11-05 14:07:59 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  gst_clear_*: Remove volatile from arguments
-	  g_clear_pointer is not thread-safe and never was. GLib similarly removed
-	  the volatile from g_clear_object in 2aacef39b1.
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/327
-
-2018-11-05 14:03:51 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	* gst/gsttaglist.h:
-	  gst_clear_*: Cast to GstMiniObject** when needed
-
-2018-11-05 09:37:29 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: update gstreamer-sections.txt with new API
-
-2018-11-05 10:33:54 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstquery.h:
-	  query: add gst_query_take()
-	  This makes its API consistent with the other GstMiniObject subclasses
-
-2018-11-05 08:57:16 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstmessage.h:
-	  message: add gst_message_take()
-	  This makes its API consistent with the other GstMiniObject subclasses
-
-2018-11-04 19:14:32 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gsttaglist.h:
-	  taglist: add gst_tag_list_replace/take()
-	  This makes its API consistent with the other GstMiniObject subclasses.
-
-2018-11-04 19:13:39 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstbufferlist.h:
-	  bufferlist: add gst_buffer_list_replace/take()
-	  This makes its API consistent with the other GstMiniObject subclasses.
-
-2018-11-04 19:04:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: add gst_clear_structure()
-	  Basically, you can use this instead of using gst_structure_free (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:55:42 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gsttaglist.h:
-	  taglist: add gst_clear_tag_list()
-	  Basically, you can use this instead of using gst_tag_list_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:55:16 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstquery.h:
-	  query: add gst_clear_query()
-	  Basically, you can use this instead of using gst_query_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:54:44 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstmessage.h:
-	  message: add gst_clear_message()
-	  Basically, you can use this instead of using gst_message_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:53:51 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstevent.h:
-	  event: add gst_clear_event()
-	  Basically, you can use this instead of using gst_event_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:53:31 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstcaps.h:
-	  caps: add gst_clear_caps()
-	  Basically, you can use this instead of using gst_caps_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:52:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstbufferlist.h:
-	  bufferlist: add gst_clear_buffer_list()
-	  Basically, you can use this instead of using gst_buffer_list_unref
-	  (which needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-04 18:51:28 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstbuffer.h:
-	  buffer: add gst_clear_buffer()
-	  Basically, you can use this instead of using gst_buffer_unref (which
-	  needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-11-03 20:00:57 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: add gst_clear_mini_object()
-	  This is based on g_clear_object(). Basically, you can use this instead
-	  of using gst_mini_object_unref (which needs to be preceded by a NULL-check).
-	  Also fixes #275
-
-2018-02-08 17:31:15 +0100  Niels De Graef <nielsdegraef@gmail.com>
-
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  object: add gst_clear_object()
-	  This is based on g_clear_object(). Basically, you can use this instead
-	  of using g_object_unref (which needs to be preceded by a NULL-check).
-	  Fixes #275
-
-2018-11-05 11:07:14 +0800  Haihao Xiang <haihao.xiang@intel.com>
-
-	* .gitmodules:
-	* gstreamer.doap:
-	* scripts/create-uninstalled-setup.sh:
-	  Clone the code from gitlab
-	  This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/326
-
-2018-11-04 12:45:57 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Always forward RECONFIGURE events upstream
-	  Based on a patch by Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/67
-
-2018-11-03 18:44:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: Move clock weak ref into its own ABI struct
-	  Otherwise it will be hard to add other things into the padding later
-	  without breaking API.
-
-2018-11-03 18:29:17 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	  clock: Add new functions to the documentation
-
-2018-11-03 18:29:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: Fix deprecation handling of the GstClock clock field
-
-2016-09-08 08:49:54 -0600  Thomas Bluemel <tbluemel@control4.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* libs/gst/base/gstbasesink.c:
-	  clock: Keep weak reference to underlying clock
-	  Fixes potential segmentation fault when using a GstClockID that
-	  is referencing an already freed GstClock
-	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/187
-
-2018-10-30 15:30:38 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Don't page if output fits the screen
-
-2018-10-30 14:52:15 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Flush stdout before closing stdout FD
-	  Otherwise, last line can be lost.
-
-2018-10-28 15:19:38 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: Add API for proposing meta APIs from the allocation query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797350
-
-2018-09-20 23:17:52 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  segment: Allow stop == -1 in gst_segment_to_running_time() and rate < 0
-	  If a segment has stop == -1, then gst_segment_to_running_time()
-	  would refuse to calculate a running time for negative rates,
-	  but gst_segment_do_seek() allows this scenario and uses a
-	  valid duration for calculations.
-	  Make the 2 functions consistent by using any configured duration
-	  to calculate a running time too in that case.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796559
-
-2018-10-27 13:38:57 +0100  Zeeshan Ali <zeenix@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Pipe stdout to less if not piped already
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797344
-
-2018-10-26 09:21:42 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Lower debug level of some output related to the URI query
-	  It's not a warning if an URI doesn't have an extension, and it's also
-	  not mandatory that sources have an URI or even answer the URI query.
-
-2018-10-16 19:35:03 +0300  Jordan Petridis <jordan@centricular.com>
-
-	* gst/gstclock.h:
-	* gst/gstinfo.h:
-	* gst/gstvalue.h:
-	  gst: skip format specifiers from gir generation
-	  GST_TIME_FORMAT, GST_TIME_ARGS, GST_STIME_FORMAT, GST_STIME_ARGS
-	  GST_PTR_FORMAT, GST_SEGMENT_FORMAT, GST_FOURCC_FORMAT and
-	  GST_FOURCC_ARGS are format specifiers.
-	  They can't be used outside of C and should be generated in the gir.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797320
-
-2018-10-16 19:35:03 +0300  Jordan Petridis <jordan@centricular.com>
-
-	* gst/gsterror.h:
-	  gst/gsterror.h: skip GST_ERROR_SYSTEM during gir generation
-	  GST_ERROR_SYSTEM can't really be used outside of C and should
-	  be skipped.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797320
-
-2018-10-22 15:26:25 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't clamp running times for position calculation
-	  Since we use full signed running times, we no longer need to clamp
-	  the buffer time.
-	  This avoids having the position of single queues not advancing for
-	  buffers that are out of segment and never waking up non-linked
-	  streams (resulting in an apparent "deadlock").
-
-2018-10-22 13:45:52 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Reset result flow when retrying
-	  If we ever get a GST_FLOW_EOS from downstream, we might retry
-	  pushing new data. But if pushing that data doesn't return a
-	  GstFlowReturn (such as pushing events), we would end up returning
-	  the previous GstFlowReturn (i.e. EOS).
-	  Not properly resetting it would cause cases where queue2 would
-	  stop pushing on the first GstEvent stored (even if there is more
-	  data contained within).
-
-2018-10-17 16:38:42 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: Use GstTestClock for processing-deadline test
-	  Use the test clock instead of using a real one to make it
-	  easier to run in valgrind.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797291
-
-2018-10-16 10:48:40 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: pipeline: fix leak
-
-2018-10-15 18:47:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: Only clear dropped item if it is not returned
-
-2018-10-15 15:24:07 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: Clear items when dropping them and a clear function was defined
-
-2018-10-12 15:34:45 +0100  Philippe Normand <philn@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelementfactory.h:
-	  gstelementfactory: Remove MEDIA_HARDWARE FactoryType
-	  Using the MEDIA_ classifier prefix was inappropriate. It is sufficient to
-	  specify the additional klass name that element can set in their metadata.
-	  (follow-up of commit ca4b61c55562a4b74f241fe54cf1e5639a2aea25)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796921
-
-2018-10-05 12:19:46 +0200  Philippe Normand <philn@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelementfactory.h:
-	  gstelementfactory: Add MEDIA_HARDWARE klass classifier
-	  The Harware factory type classifier allows elements (decoders and encoders,
-	  mostly) to advertize they rely on hardware devices to perform encoding or
-	  decoding operations. This classifier can be used by applications to filter and
-	  select only the elements that use hardware devices, for instance to ensure
-	  zero-copy support is enabled for a specific pipeline.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796921
-
-2018-10-10 00:00:14 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add libnice to LD_LIBRARY_PATH
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797269
-
-2018-10-11 14:34:40 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp clock: Wait for ANNOUNCE before selecting a master
-	  Previously, with opportunistic sync we'd track a master
-	  clock as soon as we see a SYNC message, and hence sync up
-	  faster, but then we'd announce we're synched before seeing
-	  the ANNOUNCE, leaving the clock details like grandmaster-clock
-	  empty.
-	  A better way is to start tracking the clock opportunistically,
-	  but not announce we're synched until we've also seen the ANNOUNCE.
-
-2018-10-11 14:33:35 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp clock: improve debug
-	  Log message arrival times. Fix a typo in one debug string
-
-2018-10-11 14:29:47 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp clock: Increase tolerance for late follow-up and delay-resp
-	  The follow-up and delay-resp messages carry precise
-	  timestamps for the arrival at the clock master, but
-	  the local return time is unimportant, so we should be very
-	  lenient in accepting them late. Some PTP masters don't
-	  prioritise sending those packets, and we reject all the
-	  responses and never sync - or take forever to do so.
-	  Increase the tolerance to 20x the mean path delay.
-	  Also fix a typo in one debug output that would print
-	  the absolute time of the delay-resp message, not the offset
-	  from the delay-req that it's actually being compared against.
-
-2018-09-18 09:36:45 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Add TRACE level debug output
-	  Add some debugging to be able to tell what is happening
-	  inside the PTP clock protocol handling.
-
-2018-10-07 19:51:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: use new 'python' module instead of deprecated 'python3' one
-	  https://github.com/mesonbuild/meson/pull/4169
-
-2018-10-04 00:30:52 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: document new "min-upstream-latency" property is in nanosecs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797213
-
-2018-10-03 18:23:01 +0200  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstprotection.h:
-	  protection: Fix the string to define unspecified system id
-	  Setting it to "unspecified-system-id".
-
-2018-10-01 12:11:47 +0200  Yacine Bandou <yacine.bandou@softathome.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstprotection.h:
-	  protection: Add a new definition for unspecified system protection
-	  In some cases the system protection ID is not present in the contents
-	  or in their metadata.
-	  This define is used to set the value of the "system_id" field in GstProtectionEvent,
-	  with this value, the application will use an external information to choose which
-	  protection system to use.
-	  Example: The matroskademux uses this value in the case of encrypted WebM,
-	  the application will choose the appropriate protection system based on the information
-	  received through EME API.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797231
-
-2018-09-27 17:30:25 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	  queuearray: Add set_clear_func and clear functions
-	  gst_queue_array_clear will clear the GstQueueArray,
-	  gst_queue_array_set_clear_func will set a clear function for each
-	  element to be called on _clear and on _free.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797218
-
-2018-09-27 13:20:10 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add gtk-doc blurb for new min-upstream-latency prop
-
-2018-09-27 12:42:30 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add min-upstream-latency property.
-	  This is exposed as a solution to the use case of plugging in
-	  sources with a higher latency after the aggregator has started
-	  playing with an initial set of sources, allowing to avoid resyncing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797213
-
-2018-09-20 16:28:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstelement.c:
-	  element: remove inactive pad g_warning in add_pad
-	  The documentation incorrectly used to state that the pads were
-	  not automatically activated when added, whereas we actually do
-	  that when appropriate.
-	  Callers of gst_element_add_pad must not hold the object lock,
-	  which implies that they cannot perform the same checks as
-	  add_pad in a non-racy manner.
-	  This updates the documentation, and removes the g_warning
-	  that was output before performing automatic activation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797181
-
-2018-09-19 19:37:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/meson.build:
-	  meson: use library() for libgstcheck instead of always building a shared lib
-	  Otherwise we try to build a shared lib when we build the rest
-	  of GStreamer statically, which won't work because we pass
-	  -DGST_STATIC_COMPILATION when building statically, which means
-	  we won't dllimport public symbols from our libs which means
-	  that on Windows the unit tests will fail to link to libgstcheck.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
-2018-08-26 01:23:23 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/misc/Makefile.am:
-	* tests/misc/meson.build:
-	* tests/misc/netclock-replay.c:
-	  tests: netclock-replay: fix build with new api export/import
-	  Can't mix/match imports and exports from the same library
-	  here, so just include all .c files needed instead and don't
-	  link to gstnet at all then.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
-2018-08-25 23:56:01 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	* libs/gst/base/base-prelude.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/check/check-prelude.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/controller/controller-prelude.h:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetcontrolmessagemeta.c:
-	* libs/gst/net/net-prelude.h:
-	* meson.build:
-	  libs: figure out right export define in configure
-	  Add new GST_API_EXPORT in config.h and use that for GST_*_API
-	  decorators instead of GST_EXPORT.
-	  The right export define depends on the toolchain and whether
-	  we're using -fvisibility=hidden or not, so it's better to set it
-	  to the right thing directly than hard-coding a compiler whitelist
-	  in the public header.
-	  We put the export define into config.h instead of passing it via the
-	  command line to the compiler because it might contain spaces and brackets
-	  and in the autotools scenario we'd have to pass that through multiple
-	  layers of plumbing and Makefile/shell escaping and we're just not going
-	  to be *that* lucky.
-	  The export define is only used if we're compiling our lib, not by external
-	  users of the lib headers, so it's not a problem to put it into config.h
-	  Also, this means all .c files of libs need to include config.h
-	  to get the export marker defined, so fix up a few that didn't
-	  include config.h.
-	  This commit depends on a common submodule commit that makes gst-glib-gen.mak
-	  add an #include "config.h" to generated enum/marshal .c files for the
-	  autotools build.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
-2018-08-25 23:09:12 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	* gst/gstconfig.h.in:
-	* gst/meson.build:
-	* gst/parse/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/base-prelude.h:
-	* libs/gst/base/meson.build:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/check-prelude.h:
-	* libs/gst/check/meson.build:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/controller-prelude.h:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/meson.build:
-	* libs/gst/net/net-prelude.h:
-	  libs: fix 'inconsistent DLL linkage' warnings on Windows
-	  For each lib we build export its own API in headers when we're
-	  building it, otherwise import the API from the headers.
-	  This fixes linker warnings on Windows when building with MSVC.
-	  The problem was that we had defined all GST_*_API decorators
-	  unconditionally to GST_EXPORT. This was intentional and only
-	  supposed to be temporary, but caused linker warnings because
-	  we tell the linker that we want to export all symbols even
-	  those from externall DLLs, and when the linker notices that
-	  they were in external DLLS and not present locally it warns.
-	  What we need to do when building each library is: export
-	  the library's own symbols and import all other symbols. To
-	  this end we define e.g. BUILDING_GST_FOO and then we define
-	  the GST_FOO_API decorator either to export or to import
-	  symbols depending on whether BUILDING_GST_FOO is set or not.
-	  That way external users of each library API automatically
-	  get the import.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
-2018-08-25 22:53:07 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: add GST_API_IMPORT define
-	  This is for use by the various GST_*_API decorators and
-	  will be what they get defined to when a library API is being
-	  used by external users of that library (not the library itself
-	  whilst it's being compiled).
-	  In most cases it will simply map to a plain 'extern' but on
-	  Windows with MSVC it will need to map to __declspec(dllimport).
-	  For functions this is not strictly needed, but for exported
-	  variables it is.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
-2018-09-21 22:26:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* meson.build:
-	  meson: Specify encoding to UTF-8 when building with MSVC
-	  Fix build on some non-US locale Windows systems
-	  Error:
-	  gstreamer/gst/gstdebugutils.c(194): error C2001
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797186
-
-2018-09-20 16:22:14 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: define autoptr cleanup functions
-
-2018-09-19 15:42:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: gst: default to single include also for protection meta API
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797165
-
-2018-09-19 15:07:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: libs: move all includes to canonical single header includes
-	  And fix up bogus libs/ prefix for controller lib includes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797165
-
-2018-09-18 15:44:24 +0200  Linus Svensson <linussn@axis.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Update include directive for gstreamer-base components
-	  Change to always include gst/libs/base.h in order to also
-	  include base-prelude.h, but also because it's the right
-	  thing for people to include anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797165
-
-2018-09-19 11:31:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add glib-checks option to disable API guards and such
-	  We want this enabled by default, also in releases, but people
-	  may want to disable this for performance-critical workloads or
-	  on embedded devices.
-
-2018-09-19 11:25:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson_options.txt:
-	  meson: fix missing closing bracket in option descriptions
-
-2018-09-17 22:13:22 +1000  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: Use a different rate in a segment test.
-	  Using a rate of 1.1 in the test is causing the test to
-	  fail on 32-bit because ceil(1.1 * 10) can round to 12.
-	  Instead use a rate 2.0 that can be expressed as floating
-	  point number and doesn't trigger the problem.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797154
-
-2018-09-11 21:32:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Fix wrong printf format
-	  We add a guint64 and a guint, the result is a guint64. On 64bit
-	  architecture, this is the same, but on 32bit architecture, it's not.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797127
-
-2018-09-08 13:05:13 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gstbin.c:
-	  bin: Fix use-after-free issue in gst_bin_add()
-	  gst_element_post_message() takes ownership of the message so we need to increase
-	  its refcount until we no longer require access to its data (context_type).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797099
-
-2018-09-05 16:32:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/meson.build:
-	* tests/meson.build:
-	  meson: Always use a dependency object for dependencies
-	  Fixes a configure error with gst-build:
-	  subprojects/gst-plugins-base/meson.build:235:2: ERROR:  Fetched variable 'gst_check_dep' in the subproject 'gstreamer' is not a dependency object.
-
-2018-09-03 12:06:35 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gstutils.c:
-	  utils: Set default values for position and duration query results
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797066
-
-2018-08-30 17:44:07 +0100  Philippe Normand <philn@igalia.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: avg_bitrate calculation critical warning fix
-	  The avg_bitrate is an unsigned int, so the gst_util_uin64_scale() function can't
-	  be used for it, as it expects signed integers for the fraction parts arguments.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=797054
-
-2018-08-31 12:15:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Bring latency handling in sync with GstPad code
-
-2018-08-31 12:12:13 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  Revert "pad: Don't drop LATENCY queries with default implementation"
-	  This reverts commit 794944f779f954375fc74a3fffcc2067bba6a3e5.
-	  Accumulating non-live latency values generally makes no sense and often
-	  gives invalid results with min>max
-
-2018-08-31 12:12:09 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  Revert "pad: Accumulate live/non-live latency values separately"
-	  This reverts commit f5783e1cacb09867d81ba089b229faa7dd0edd0c.
-
-2018-08-29 02:03:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	* libs/gst/base/meson.build:
-	* libs/gst/check/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	* meson.build:
-	  meson: Maintain macOS ABI through dylib versioning
-	  Requires Meson 0.48, but the feature will be ignored on older versions
-	  so it's safe to add it without bumping the requirement.
-	  Documentation:
-	  https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
-
-2018-08-31 11:47:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Apply GstPad default latency handler fixes here too
-
-2018-08-31 11:41:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Accumulate live/non-live latency values separately
-	  And only ever use the non-live values if all pads are non-live,
-	  otherwise only use the results of all live pads.
-	  It's unclear what one would use the values for in the non-live case, but
-	  by this we at least pass them through correctly then.
-	  This is a follow-up for 794944f779f954375fc74a3fffcc2067bba6a3e5, which
-	  causes wrong latency calculations if the first pad is non-live but a
-	  later pad is actually live. In that case the live values would be
-	  accumulated together with the values of the non-live first pad,
-	  generally causing wrong min/max latencies to be calculated.
-
-2018-08-29 19:26:04 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Improve debug output a bit by printing pad names
-
-2018-08-28 14:22:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Flush buffers before directly writing out buffers with the SYNC_AFTER flag
-	  Otherwise we write out the SYNC_AFTER buffer immediately, and the
-	  previously queued up buffers afterwards which then breaks the order of
-	  data.
-	  Also add various debug output.
-
-2018-08-27 22:32:01 +1000  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/gst/gstsegment.c:
-	  gstsegment: Add check for gst_segment_offset_running_time()
-	  Add a check for gst_segment_offset_running_time() that values
-	  are taken directly from the segment base if possible.
-
-2018-08-23 22:34:47 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  gstsegment: Handle positions before the segment properly
-	  Fixes for gst_segment_position_from_running_time_full() when
-	  converting running_times that precede the segment start (or
-	  stop in a negative rate segment)
-	  The return value was incorrectly negated in those cases.
-	  Add some more unit test checks for those cases, and especially
-	  for segments with offsets.
-
-2018-08-26 00:45:45 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstmeta.c:
-	  tests: meta: fix msvc compiler warnings
-	  gstmeta.c(167): warning C4090: 'function': different 'const' qualifiers
-	  gstmeta.c(172): warning C4090: 'function': different 'const' qualifiers
-	  gstmeta.c(211): warning C4090: 'function': different 'const' qualifiers
-	  gstmeta.c(216): warning C4090: 'function': different 'const' qualifiers
-
-2018-08-26 00:34:44 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/check-prelude.h:
-	* libs/gst/check/gsttestclock.h:
-	  check: testclock: fix deprecation guards
-	  Make our own deprecation marker for libgstcheck,
-	  since the function declaration must contain the
-	  right API export decorator (GST_CHECK_API) and
-	  not the one for GStreamer core.
-
-2018-08-26 00:16:51 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbitwriter.h:
-	  bitwriter: fix compiler warning
-	  Don't return a value from a function that doesn't
-	  return a value using the returned value from a
-	  function that also doesn't return a value.
-	  gstbitwriter.h(265): warning C4098: 'gst_bit_writer_align_bytes_unchecked': 'void' function returning a value
-
-2018-08-17 17:24:59 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/filesink.c:
-	  filesink: Use SYNC_AFTER flag in seeking test
-	  Otherwise it's not guaranteed that buffers are actually on disk after
-	  pushing them, and reading the file via g_file_get_contents() might not
-	  include them yet.
-
-2018-08-17 17:24:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Consider the current buffer size when checking the current position
-
-2018-08-17 17:23:52 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Reset the current buffer size to NULL and clear the buffer on close and FLUSH_STOP
-
-2018-08-17 02:54:00 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	* meson.build:
-	  meson: host_system is 'ios' when building for iOS
-	  The cross file sets this value, and we use 'ios' in Cerbero.
-
-2018-08-14 11:28:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: Implement buffering internally
-	  We use writev() so every call ends up going to the kernel but for small
-	  buffers we generally would prefer to do as few write calls as possible.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794173
-
-2018-08-14 10:58:26 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: Remove buffer, deprecate line-buffer mode and don't use fflush()
-	  fflush() has no effect because we use writev() directly, so fsync()
-	  should be used instead which is actually flushing the kernel-side
-	  buffers.
-	  As a next step, a non-line-buffered buffering mode is to be added.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794173
-
-2018-08-14 12:30:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fixup for previous commit to prevent infinite loop if no events are pending
-
-2018-08-13 14:50:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Return an error directly if negotiation of a sink pad failed
-	  And don't give buffers to subclasses in that case.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796951
-
-2018-08-12 22:57:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* win32/MANIFEST:
-	* win32/README.txt:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstcontroller.def:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  win32: remove .def file with exports
-	  They're no longer needed, symbol exporting is now explicit
-	  via GST_*_API export decorators in all cases, that is
-	  autotools and meson, incl. MSVC.
-
-2018-08-12 19:04:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* gst/printf/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	  autotools: stop controlling symbol visibility with -export-symbols-regex
-	  Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
-	  This should result in consistent behaviour for the autotools and
-	  Meson builds where this is done already, and will allow us to drop
-	  the win32 .def files.
-
-2018-08-12 20:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	  bitwriter: fix g-i scanner warning
-	  gstbitwriter.h:45: Warning: GstBase: "@bit_capacity" parameter unexpected at this location:
-	  * @bit_capacity: Capacity of the allocated @data
-
-2018-08-11 18:17:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	  meson: add options to disable gobject cast checks and glib asserts
-	  And match what we do for autotools here currently.
-
-2018-08-10 09:22:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: define G_DISABLE_DEPRECATED for development versions
-	  Like in autotools.
-
-2018-08-10 01:23:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/meson.build:
-	* meson_options.txt:
-	* pkgconfig/meson.build:
-	* tests/check/meson.build:
-	  meson: add option to disable build of GStreamer unit test library
-
-2018-08-10 00:33:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add memory-alignment option
-
-2018-08-10 00:18:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add option to disable command-line option parsing
-
-2018-08-10 00:08:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/meson.build:
-	* gst/parse/meson.build:
-	* meson_options.txt:
-	* tests/check/meson.build:
-	* tools/meson.build:
-	  meson: add option to disable parse-launch pipeline string parser
-
-2018-08-09 23:32:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	* tests/meson.build:
-	  meson: add options to disable tests, examples, benchmarks and tools
-	  And remove duplicate option 'poisoning' and unused 'build_tools' one.
-
-2018-08-03 13:18:12 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  configure: Enable poisoning by default for non-release builds
-
-2018-08-03 13:16:21 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstcontext.c:
-	* gst/gstdatetime.c:
-	* gst/gstevent.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstpromise.c:
-	* gst/gstquery.c:
-	* gst/gstsample.c:
-	* gst/gsttaglist.c:
-	* gst/gsttoc.c:
-	* gst/gsturi.c:
-	  gst: Add poisoning to more types
-
-2018-08-03 10:36:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: fix setting of extra checks option
-	  It's checked for with #ifdef so setting it to 0 or 1
-	  will always enable it.
-
-2018-08-03 10:35:07 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add option to enable poisoning of deallocated objects
-
-2018-08-02 10:55:40 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Mark gst_type_find_helper_get_range_full() as Since 1.14.3
-
-2018-07-31 19:25:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Forward LATENCY query to all sinkpads
-	  Otherwise downstream will consider the pipeline not live if the active
-	  pad is live, even though some inactive pads might be live and might
-	  require a non-zero latency configuration.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796901
-
-2018-07-31 16:46:25 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Update pad offsets on the current event if the offset changed in pad probes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796898
-
-2018-07-30 18:51:35 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Ensure that the pad is blocked for IDLE probes if they are called from the streaming thread too
-	  IDLE probes that are directly called when being added will increase /
-	  decrease the "number of IDLE probes running" counter around the call,
-	  but when running from the streaming thread this won't happen.
-	  This has the effect that when running from a streaming thread it is
-	  possible to push serialized events or data out of the pad without
-	  problems, but otherwise it would deadlock because serialized data would
-	  wait for the IDLE probe to finish first (it is blocking after all!).
-	  With this change it will now always consistently deadlock instead of
-	  just every once in a while, which should make it obvious why this
-	  happens and prevent racy deadlocks in application code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796895
-
-2018-07-30 18:10:31 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* plugins/elements/gsttypefindelement.c:
-	* win32/common/libgstbase.def:
-	  typefind: Add new gst_type_find_helper_get_range_full() that returns flow return
-	  And make use of it in the typefind element. It's useful to distinguish
-	  between the different errors why typefinding can fail, and especially to
-	  not consider GST_FLOW_FLUSHING as an actual error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796894
-
-2018-07-27 23:22:42 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: annotate GstAggregatorClass::update_src_caps
-
-2018-07-25 07:34:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	* tests/examples/controller/meson.build:
-	* tests/examples/streams/meson.build:
-	* tests/meson.build:
-	  meson: Add feature options for optional deps
-	  Everything should be behind an option now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795107
-
-2018-07-26 02:31:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't leak peer pad of inactive pads when (not) forwarding QoS events to them
-
-2018-07-25 18:51:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* meson.build:
-	  meson: Install bash completion helper in prefix
-	  A regression was causing the helpers to be installed in /share which
-	  would lead to permission denied error or PolicyKit to promtp for
-	  permission. See:
-	  054fa3aa2 meson: Use new define_variable: feature instead of run_command()
-
-2018-07-25 16:00:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/meson.build:
-	* libs/gst/helpers/meson.build:
-	* meson.build:
-	  meson: host_machine.system() is darwin even on iOS
-	  Also use host_system everywhere.
-
-2018-07-25 14:25:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	* plugins/tracers/meson.build:
-	* tests/benchmarks/meson.build:
-	* tools/meson.build:
-	  meson: Don't add static printf library to executables
-	  They should only need to link to libgstreamer.
-
-2018-07-25 07:30:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	  meson: Use new define_variable: feature instead of run_command()
-
-2018-07-25 07:29:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	  meson: Small cleanup, unused variable
-
-2018-07-25 07:04:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	* meson.build:
-	  meson: Use copy: true for configure_file()
-	  Fixes a warning.
-
-2018-07-25 01:12:49 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Mark extension in gst_type_find_helper_get_range() as allow-none
-	  It always allowed NULL and even said so in the documentation.
-
-2018-07-24 17:28:45 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* plugins/elements/gsttypefindelement.c:
-	* win32/common/libgstbase.def:
-	  typefind: Add _with_extension() variants for typefinding data or a buffer
-	  And make use of that in the typefind element to also be able to make use
-	  of the extension in push mode. It previously only did that in pull mode
-	  and this potentially speeds up typefinding and might also prevent false
-	  positives.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796865
-
-2018-07-24 09:58:31 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	* gst/gstparse.c:
-	* gst/parse/types.h:
-	  gst: Simplify some boolean expressions
-	  (!x || (x && y)) is the same as (!x || y)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796847
-
-2018-07-23 23:17:54 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  Revert "pad: Handle changing sticky events in pad probes"
-	  This reverts commit 11e0f451eb498e92d05d8208f7217625dc62848b.
-	  When pushing a sticky event out of a pad with a pad probe or pad offset,
-	  those should not be applied to the event that is actually stored in the
-	  event but only in the event sent downstream. The pad probe and pad
-	  offsets are conceptually *after* the pad, added by external code and
-	  should not affect any internal state of pads/elements.
-	  Also storing the modified event has the side-effect that a re-sent event
-	  would arrive with any previous modifications done by the same pad probe
-	  again inside that pad probe, and it would have to check if its
-	  modifications are already applied or not.
-	  For sink pads and generally for events arriving in a pad, some further
-	  changes are still needed and those are tracked in
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765049
-	  In addition, the commit also had a refcounting problem with events,
-	  causing already destroyed events to be stored inside pads.
-
-2018-07-20 23:51:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: add missing (out) annotation to get_poll_fd()
-
-2018-07-18 21:13:57 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Do not check if NULL is an emtpy caps
-	  gst_base_transform_transform_caps can return NULL in various conditions
-	  thus we should not treat its result as valid caps.
-	  In all other places NULL is properly handled.
-
-2018-07-16 11:51:05 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  sink: Only add processing latency if upstream is live
-	  Only add it if upstream is live, otherwise leave the latency at 0.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640610
-
-2018-07-16 11:50:36 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  pipeline tests: Add test for processing latency
-
-2018-07-13 08:53:53 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Sort properties names
-	  Making it simpler to find properties you are looking for when reading.
-
-2018-07-13 08:52:55 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Minor GI warning fix.
-
-2018-07-10 08:48:47 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsample.c:
-	  sample: Set buffer/caps/buffer-lists to NULL correctly when replacing them with NULL
-
-2018-06-29 07:16:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferlist.c:
-	* tests/check/gst/gstbufferlist.c:
-	  bufferlist: Prevent gst_buffer_list_foreach() from modifying non-writeable lists
-	  Previously gst_buffer_list_foreach() could modify (drop or replace)
-	  buffers in non-writable lists, which could cause all kinds of problems
-	  if other code also has a reference to the list and assumes that it stays
-	  the same.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796692
-
-2018-06-29 07:16:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstbuffer.c:
-	  buffer: Add test to ensure that memories in a non-writable buffer are not writable
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796692
-
-2018-06-28 14:13:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  bufferlist: Add test to ensure that buffers in an non-writable list are not writable
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796692
-
-2018-07-03 20:07:31 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstsample.c:
-	* win32/common/libgstreamer.def:
-	  miniobject: Add parent pointers to the miniobject to influence writability
-	  Every container of miniobjects now needs to store itself as parent in
-	  the child object, and remove itself again at a later time.
-	  A miniobject is only writable if there is at most one parent, and that
-	  parent is writable itself, and if the reference count of the miniobject
-	  is 1.
-	  GstBuffer (for memories), GstBufferList (for buffers) and GstSample (for
-	  caps, buffer, bufferlist) was updated accordingly.
-	  Without this it was possible to have e.g. a bufferlist with refcount 2
-	  in two places, modifying the same buffer with refcount 1 at the same
-	  time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796692
-
-2018-07-08 20:52:08 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Add a fail_unless_equals_clocktime macro for convenience
-
-2018-07-07 09:15:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* win32/common/libgstbase.def:
-	  base: Add processing deadline API to win32 def
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640610
-
-2015-05-04 17:30:17 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: Add processing deadline
-	  The processing deadline is the acceptable amount of time to process the media
-	  in a live pipeline before it reaches the sink. This is on top of the algorithmic
-	  latency that is normally reported by the latency query. This should make
-	  pipelines such as "v4lsrc ! xvimagesink" not claim that all frames are late
-	  in the QoS events. Ideally, this should replace max_lateness for most applications.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640610
-
-2018-04-01 16:06:26 +0200  Bastian Köcher <git@kchr.de>
-
-	* gst/meson.build:
-	* libs/gst/check/meson.build:
-	* libs/gst/controller/meson.build:
-	  gstreamer: fix install dir for configure files
-	  Nixos installs into a non-standard includedir.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794856
-
-2018-07-04 14:00:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gststructure.c:
-	  structure: Update doc error in ARRAY/LIST helpers
-
-2018-06-22 15:35:42 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gstprotection.c:
-	  protection: Release decryptors list, even if it's empty
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796651
-
-2018-06-23 17:01:09 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstallocator.c:
-	* gst/gstbin.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gststreamcollection.c:
-	* gst/gststreams.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttask.c:
-	* gst/gsttracer.c:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstptpclock.c:
-	* tests/check/gst/gstdevice.c:
-	  Update for g_type_class_add_private() deprecation in recent GLib
-	  https://gitlab.gnome.org/GNOME/glib/merge_requests/7
-
-2018-06-18 16:29:18 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Properly forward the SEGMENT seqnum
-
-2018-06-11 10:22:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Unset SNAP flags when creating a new seek event without KEY_UNIT flag
-	  The SNAP flags only make sense in combination with the KEY_UNIT flag,
-	  and without they expose all kinds of unexpected behaviour in various
-	  elements that don't expect this from happening.
-	  Also warn if this ever happens.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796558
-
-2018-06-18 09:17:36 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Require writable events for setting the running-time-offset and sequence number
-	  Otherwise multiple code paths with the same event could change the
-	  values on each other.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796615
-
-2018-03-15 12:43:56 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gststructure.c:
-	  gst_structure_to_string: display actual value of pointers
-	  We used to always display "NULL" which was pretty confusing when
-	  debugging.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794355
-
-2018-06-13 16:27:24 -0400  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gststreams.c:
-	  stream: Add some missing API safe guards
-
-2018-06-08 17:58:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpoll.c:
-	  poll: minor docs clarification
-	  'Not implemented' could be misinterpreted to mean that
-	  the API doesn't even exist there.
-
-2018-06-08 17:57:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update for new API
-
-2018-04-05 12:40:09 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	* gst/gstpoll.h:
-	  poll: add API to watch for POLLPRI
-	  Windows doesn't seem to have an equivalent of POLLPRI so disabled those
-	  functions on this platform.
-	  This API can be used, for example, to wait for video4linux events which
-	  are using POLLPRI.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794977
-
-2018-04-05 12:19:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: stop treating on POLLPRI as 'read'
-	  Current code was considering "can read" as having either POLLIN or POLLPRI being
-	  set.
-	  This may lead to client being awaken because of POLLPRI, starting a blocking
-	  read and getting stuck because there is actually nothing to read.
-	  This patch removes POLLPRI handling in read code and I'll add specific
-	  API to wait for POLLPRI.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794977
-
-2018-06-05 17:02:18 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Ensure seqnum consistency
-	  We need all relevant events of a segment to have consistent seqnum:
-	  * GST_EVENT_SEGMENT
-	  * GST_EVENT_EOS
-	  If we are push-based and create a new segment, use the same seqnum
-	  as the upstream event.
-	  If we are pull-based, use the seqnum of that newly created segment
-	  event everywhere
-
-2018-06-05 17:01:05 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: Only allow setting valid seqnum on messages
-	  If we want to make sure we never end up with invalid seqnum on
-	  messages let's forbid setting them.
-
-2018-06-05 16:59:50 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Only allow setting valid seqnum on events
-	  If we want to make sure we never end up with invalid seqnum on
-	  events let's forbid setting them.
-
-2018-06-05 16:58:21 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Make sure we don't use invalid seqnums on messages
-	  There is a possibility that the accumlation functions don't set
-	  a seqnum. Make sure we only set/override the seqnum of the new
-	  messages if we *have* a valid upstream seqnum to use
-
-2018-06-02 14:02:19 +0200  Dimitrios Katsaros <patcherwork@gmail.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: use GstQueueArray
-	  When using queue2 as a queue it was using GQueue with
-	  individually allocated queue items, so two allocs for
-	  each item. With GstQueueArray we can avoid those.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796483
-
-2018-06-03 19:37:40 +0200  Mike Wey <mike.wey@gtkd.org>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: add some missing introspection annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=796488
-
-2018-05-30 14:06:06 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: Documentation improvements
-	  * Remove references to old functions and methods
-	  * Use proper #ClassName.vmethod() decorator for vmethod
-
-2018-05-22 16:30:58 +0200  Thibault Saunier <tsaunier@igalia.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: Add an option to activate extra checks
-	  And activate them by default as with autotools
-
-2018-05-21 23:10:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: rename gtkdoc option to gtk_doc
-
-2018-05-21 11:37:00 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstdatetime.c:
-	  datetime: Update/fix documentation
-
-2018-05-21 11:36:42 +0200  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	  sample: Update documentation
-
-2018-05-21 11:16:29 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpadtemplate.h:
-	  gst: Add an example to GST_STATIC_PAD_TEMPLATE macro
-
-2018-05-21 09:14:37 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* gst/gstmeta.c:
-	* gst/gstprotection.c:
-	  gst: add some GIR array annotations
-
-2018-05-20 14:07:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add 'nls' option to disable translations
-	  And enable by default. Was implicitly disabled because
-	  ENABLE_NLS was not defined.
-
-2018-05-16 23:25:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstbase.def:
-	  win32: update for new aggregator API
-	  Fixes make distcheck.
-
-2018-05-05 10:46:09 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add get_next_time function for live streams
-	  Add a function to do the right thing for live streams.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795486
-
-2018-05-10 00:05:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Fix race condition causing the same probe to be called multiple times
-	  Probes were remembering a cookie that was used to check if the probe was
-	  already called this time before the probes list changed. However the
-	  same probes could've been called by another thread in between and thus
-	  gotten a new cookie, and would then be called a second time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795987
-
-2018-05-04 09:29:22 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstregistrybinary.c:
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  gst: Use memcpy() instead of strncpy() where appropriate
-	  strncpy() is assumed to be for strings so the compiler assumes that
-	  it will need an extra byte for the string-terminaning NULL.
-	  For cases where we know it's actually "binary" data, just copy it
-	  with memcpy.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795756
-
-2018-05-07 10:47:00 +0900  Seungha Yang <seungha.yang@navercorp.com>
-
-	* libs/gst/base/gstbitwriter.h:
-	  bitwriter: Fix build error
-	  Fix implicit-function-declaration warning for meemst and memcpy
-	  gstbitwriter.h:166:3: error: implicit declaration of function ‘memset’
-	  memset (bitwriter->data + clear_pos, 0, (new_bit_size >> 3) - clear_pos);
-	  ^
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795867
-
-2018-05-07 01:32:14 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstevent.h:
-	  gstevent: Add some FIXME: 2.0 about removing the timestamp
-	  The timestamp field isn't valuable or used well anywhere. We
-	  should remove it for GStreamer 2.0
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761462
-
-2014-03-18 16:01:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/bitwriter.c:
-	* tests/check/meson.build:
-	  bitwriter: Add unit tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707543
-
-2013-11-12 15:00:51 +0800  Wind Yuan <feng.yuan@intel.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbitwriter-docs.h:
-	* libs/gst/base/gstbitwriter.c:
-	* libs/gst/base/gstbitwriter.h:
-	* libs/gst/base/meson.build:
-	* win32/common/libgstbase.def:
-	  bitwriter: Add a generic bit writer
-	  GstBitWriter provides a bit writer that can write any number of
-	  bits into a memory buffer. It provides functions for writing any
-	  number of bits into 8, 16, 32 and 64 bit variables.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707543
-
-2018-05-05 19:08:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	* libs/gst/helpers/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	* plugins/meson.build:
-	* plugins/tracers/meson.build:
-	* tests/check/meson.build:
-	* tests/meson.build:
-	  meson: Update option names to omit disable_ and with- prefixes
-	  Also yield common options to the outer project (gst-build in our case)
-	  so that they don't have to be set manually.
-
-2018-05-05 16:16:45 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbufferlist.c:
-	* tests/check/gst/gstbufferlist.c:
-	  bufferlist: fix abort due to underflow when creating 0-sized list
-	  gst_buffer_list_new_sized(0) will cause an underflow in a calculation
-	  which then makes it try to allocate huge amounts of memory, which
-	  may lead to aborts.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795758
-
-2018-05-05 12:16:07 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup: remove dead wiki link, mention gst-build
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795734
-
-2018-05-05 11:32:12 +0200  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: since marker for new API
-	  Was also backported.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795332
-
-2018-05-04 14:00:21 +0200  Francisco Velazquez <francisv@ifi.uio.no>
-
-	* gst/gstdebugutils.h:
-	  debugutils: Update configure option in documentation
-	  Update documentation on non existent option `gst-enable-gst-debug'.  Instead,
-	  one has to make sure that the `--disable-gst-debug' option was not used when
-	  compiling GStreamer (i.e., `./configure --disable-gst-debug').
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795801
-
-2018-04-27 12:41:58 -0400  luz.paz <luzpaz@users.noreply.github.com>
-
-	* docs/random/typefind:
-	* docs/random/wtay/capsnego-cases:
-	* docs/random/wtay/events2:
-	* gst/gstelement.c:
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/gst/gstpreset.c:
-	  Source code typo fixes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795610
-
-2018-04-27 12:40:31 -0400  luz.paz <luzpaz@users.noreply.github.com>
-
-	* configure.ac:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/random/TODO-pre-0.9:
-	* docs/random/autoplug1:
-	* docs/random/autoplug2:
-	* docs/random/bbb/streamselection:
-	* docs/random/caps:
-	* docs/random/caps2:
-	* docs/random/company/clocks:
-	* docs/random/company/gstdata:
-	* docs/random/company/gstparse:
-	* docs/random/company/gvadec.txt:
-	* docs/random/company/tagging:
-	* docs/random/company/time:
-	* docs/random/ds/0.9-planning2:
-	* docs/random/dynpads:
-	* docs/random/ensonic/distributed.txt:
-	* docs/random/ensonic/dparams.txt:
-	* docs/random/ensonic/draft-bufferpools.txt:
-	* docs/random/ensonic/draft-registry-change-hooks.txt:
-	* docs/random/ensonic/dynlink.txt:
-	* docs/random/ensonic/embedded.txt:
-	* docs/random/ensonic/interfaces.txt:
-	* docs/random/ensonic/lazycaps.txt:
-	* docs/random/ensonic/logging.txt:
-	* docs/random/ensonic/media-device-daemon.txt:
-	* docs/random/ensonic/profiling.txt:
-	* docs/random/error:
-	* docs/random/events:
-	* docs/random/gdp:
-	* docs/random/matth/scheduling.txt:
-	* docs/random/negotiation:
-	* docs/random/old/ChangeLog.gstreamer:
-	* docs/random/omega/TODO-0.1.0:
-	* docs/random/omega/caps2:
-	* docs/random/omega/plan-generation:
-	* docs/random/omega/sched-commit1:
-	* docs/random/omega/sched2:
-	* docs/random/phonon-gst:
-	* docs/random/plan-0.11.txt:
-	* docs/random/plugins:
-	* docs/random/porting-to-1.0.txt:
-	* docs/random/queue:
-	* docs/random/rtp:
-	* docs/random/thomasvs/0.10:
-	* docs/random/thomasvs/packaging:
-	* docs/random/types:
-	* docs/random/types2:
-	* docs/random/types3:
-	* docs/random/uraeus/gstreamer_and_midi.txt:
-	* docs/random/wtay/CORBA:
-	* docs/random/wtay/autoplug2:
-	* docs/random/wtay/caps-negociation:
-	* docs/random/wtay/capsnego2:
-	* docs/random/wtay/capsnego2-docs:
-	* docs/random/wtay/clocking:
-	* docs/random/wtay/eos2:
-	* docs/random/wtay/events:
-	* docs/random/wtay/events3:
-	* docs/random/wtay/interactivity:
-	* docs/random/wtay/messages:
-	* docs/random/wtay/namespaces:
-	* docs/random/wtay/negotiation3:
-	* docs/random/wtay/padprobes:
-	* docs/random/wtay/pipelineinfo:
-	* docs/random/wtay/plugin_guidelines:
-	* docs/random/wtay/registry:
-	* docs/random/wtay/scheduling_ideas:
-	* docs/random/wtay/threading:
-	* docs/random/wtay/threads_hilevel:
-	* docs/random/wtay/timecache:
-	* gst/gst.c:
-	* gst/gstbin.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstdebugutils.c:
-	* gst/gstdebugutils.h:
-	* gst/gstdevice.h:
-	* gst/gstdeviceprovider.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstinfo.h:
-	* gst/gstmemory.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpreset.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstsegment.c:
-	* gst/gststreams.c:
-	* gst/gsttaglist.c:
-	* gst/gsttracerrecord.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* gst/parse/grammar.y:
-	* hooks/pre-commit.hook:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/net/gstptpclock.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/tracers/gstlatency.c:
-	* scripts/gst-plot-traces.sh:
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/streamiddemux.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/aggregator.c:
-	* tests/examples/helloworld/helloworld.c:
-	  Fix typos in comments and docs
-	  Found via `codespell`
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795610
-
-2018-04-25 19:47:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstbase.def:
-	  win32: add new symbol
-
-2018-04-25 14:30:04 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Improve doc for gst_aggregator_pad_has_buffer
-
-2018-04-23 11:34:19 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add API to check if a pad has a new buffer
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795332
-
-2018-04-25 18:28:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: don't over-allocate internal GstMeta items
-	  We would allocate space for two GstMeta structs even though
-	  there is only one in the end (the one in GstMetaItem and in
-	  GstFooMeta overlap).
-
-2018-03-23 12:48:37 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* gst/meson.build:
-	* libs/gst/base/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	* plugins/elements/meson.build:
-	  Meson: Use library() to build both static and shared libs
-	  Meson supports building both static and shared libraries in a single
-	  library() call. It has the advantage of reusing the same .o objects and
-	  thus avoid double compilation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794627
-
-2018-04-24 14:37:40 -0400  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* meson.build:
-	  Meson: Fix check for linker args
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795513
-
-2018-04-22 19:23:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	  pkgconfig: set pluginsdir to plugins/ sub-directory for uninstalled .pc file
-	  So we don't unnecessarily scan directories that have no plugins
-	  (or try to open libs). Matches how we limit the search space for
-	  plugin modules to gst/ ext/ sys/ subdirs.
-
-2018-04-20 12:30:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: fix invalid keyword argument warnings
-	  cc.compiles() doesn't have a 'prefix' argument (yet) and the
-	  prefix has already been prepended to the source code snippets.
-	  https://github.com/mesonbuild/meson/issues/2364
-
-2018-04-18 11:35:20 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstevent.c:
-	  Revert "docs: Minor fix in event_new_select_streams"
-	  This reverts commit f218917d02760f8f32a35e4e635e23230c47c0c6.
-
-2018-04-17 20:03:09 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstevent.c:
-	  docs: Minor fix in event_new_select_streams
-
-2018-04-17 11:24:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue, inputselector: show pad properties in gst-inspect-1.0
-
-2018-04-17 11:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstoutputselector.c:
-	  inputselector, outputselector: add guards for wrong pads being set as active pads
-	  Catch users wrongly setting foreign pads or wrong pads as
-	  the selector's active pad, which leads to all kinds of
-	  other issues. It's a programming error so handle it just
-	  like we would if we had direct API.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795309
-
-2018-04-17 14:00:20 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: Add a macro based variant of gst_caps_copy
-	  This way we do not hit the performance overhead of having the method
-	  not inlined but still can use it from bindings.
-
-2018-04-16 16:30:27 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: Handle changing sticky events in pad probes
-	  In the case where the user sets a new padprobeinfo->data in a probe
-	  where the data is a sticky event, the new sticky event should be automatically
-	  sticked on the probed pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795330
-
-2018-04-17 09:33:02 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstinfo.c:
-	  debug: Make PADS debug background blue
-	  Red on red was... suboptimal!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795330
-
-2018-04-17 17:00:53 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update defs for new exports
-
-2018-04-16 16:27:57 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Handle harness->element not being a GstBin
-	  It is totally valid but in gst_harness_find_element we were not
-	  handling that case.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795308
-
-2018-04-04 17:36:57 -0300  Thibault Saunier <tsaunier@igalia.com>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  gst: Stop inlining gst_caps_copy
-	  This way it gets exposed to bindings through GObject Introspection.
-
-2018-04-16 10:52:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From f0c2dc9 to ed78bee
-
-2018-04-15 00:49:55 +0200  Aurelien Jarno <aurelien@aurel32.net>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h.in: initial RISC-V support
-	  RISC-V supports unaligned accesses, but these might run extremely slowly
-	  depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS
-	  to 0 on this architecture.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795271
-
-2018-04-11 17:16:54 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: port the buffer list from GSList to GstQueueArray
-	  Significantly reduces the amount of memory allocation operations.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795167
-
-2018-04-11 15:38:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* tests/check/libs/queuearray.c:
-	* win32/common/libgstbase.def:
-	  API: gst_queue_array_peek_nth
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795157
-
-2018-04-11 13:44:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  gstqueuearray: make find() return a 0-based index
-	  And make the drop() functions expect a 0-based index too,
-	  this addresses a longstanding FIXME. This will not break
-	  backward compatibility, because the drop() functions
-	  were previously only meant to be used with the index
-	  returned by find().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795156
-
-2018-04-11 00:49:02 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	* win32/common/libgstreamer.def:
-	  gstsample: new API
-	  gst_sample_set_buffer
-	  gst_sample_set_caps
-	  gst_sample_set_segment
-	  gst_sample_set_info
-	  gst_sample_is_writable
-	  gst_sample_make_writable
-	  This commit makes it possible to reuse a sample object and avoid
-	  unnecessary memory allocations, for example in appsink.
-	  In addition, writability is now required to set the buffer list.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=795144
-
-2018-04-13 20:15:46 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	  base: fix some GIR annotations
-	  Mostly related to out parameters and their transfer
-
-2018-03-29 18:59:43 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* gst/gstbuffer.c:
-	* gst/gstutils.c:
-	  gst: add some GIR array annotations
-
-2018-04-13 09:58:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Add missing parameters documentation
-
-2018-04-11 19:56:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  gstdebug: fix occasional deadlocks on windows when outputting debug logging
-	  When outputting debug logs on Windows, some sections are protected
-	  with a non-recursive lock. Turns out though that gst_debug_message_get()
-	  might indirectly, via our printf format extensions, call code which
-	  in turn would try to log something when it can't handle something. If
-	  that happens we end up in gst_debug_log_default() again recursively and
-	  try to again take the lock that's already taken, thus deadlocking.
-	  Format the debug message string outside of the critical section
-	  instead to avoid this.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784382
-
-2018-04-09 14:19:19 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsturi.h:
-	  gsturi: include gstconfig.h earlier for GST_API define
-
-2018-03-27 10:25:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstinfo.c:
-	* tests/check/gst/gstinfo.c:
-	  gstinfo: fix debug levels being applied in the wrong order
-	  Remove unneeded reapplication of patterns. Besides being
-	  superfluous (gst_debug_reset_threshold already applies
-	  patterns) it was also wrong and didn't stop checking patterns
-	  after the first match (broken in 67e9d139).
-	  Also fix up unit test which checked for the wrong order.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794717
-
-2018-03-27 10:15:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Simplify gst_debug_reset_threshold() implementation
-	  Replace the while+goto with a for+break and check walk to determine
-	  whether we had a match. Move up the unlock to keep the locked section as
-	  small as possible.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794717
-
-2018-03-27 10:14:27 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Reduce code duplication around level pattern matching
-	  Move the match, logging and set_threshold to a new function.
-	  The log levels are different, so choose the higher one (LOG). Having two
-	  equivalent messages at two different levels seems like a bad idea
-	  anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794717
-
-2018-03-27 17:16:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gststreamcollection.c:
-	  streamcollection: embed GQueue into the private struct
-
-2018-04-02 12:44:15 +0200  Edward Hervey <edward@centricular.com>
-
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Update libs documentation
-	  * Make sure all libcheck headers are ignored
-	  * Add all missing symbols
-
-2018-04-02 12:43:57 +0200  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Update gst core doc
-
-2018-04-02 12:42:30 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstparamspecs.h:
-	* gst/gsttracerutils.h:
-	  gst: Documentation fixes
-	  * Fix copy-paste error for GstParamSpecArray documentation
-	  * Use proper field name for tracer utils documentation
-
-2018-04-02 12:41:48 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	* libs/gst/check/gstcheck.h:
-	  libs: Documentation fixes
-	  * Symbols not properly exposed or wrongly named
-
-2018-03-29 12:36:11 +1100  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: fix deep-element-added signal debug log message
-	  Adding the bin to the child element doesn't really make sense.
-
-2018-03-22 13:00:21 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: bump meson req for gnome.mkenums_simple()
-
-2018-03-22 12:18:28 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstenumtypes.c.template:
-	* gst/gstenumtypes.h.template:
-	  meson: remove no longer needed core enumtypes template files
-
-2017-07-20 18:12:43 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* Makefile.am:
-	* gst/meson.build:
-	  meson: use gnome.mkenums_simple() to generate core enumtypes
-
-2017-07-20 13:03:55 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* Makefile.am:
-	* libs/gst/controller/controller_mkenum.py:
-	* libs/gst/controller/meson.build:
-	* meson.build:
-	  meson: use gnome.mkenums_simple() to generate controller enumtypes
-
-2017-07-19 19:37:02 +1000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* libs/gst/controller/meson.build:
-	  meson: delete unused variable
-
-2018-03-21 20:02:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/gst/gstbufferpool.c:
-	  test: Pool now try to reset the size
-	  As a side effect, buffers are no longer expected to be discarded on
-	  resize.
-
-2016-11-14 15:35:50 +0100  Petr Kulhavy <brain@jikos.cz>
-
-	* gst/gstbufferpool.c:
-	  gstbuffer: reset buffer to its original size if intact
-	  Enhance default_reset_buffer() to resize the buffer to its full size if the
-	  memory hasn't changed. This allows to reuse the buffer even if the offset has
-	  changed or the size has shrunk, rather than freeing the buffer.
-	  Change related to: https://bugzilla.gnome.org/show_bug.cgi?id=772841
-
-2018-03-21 10:20:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/net.h:
-	  net: Include gstnetcontrolmessagemeta.h in net.h
-
-2018-03-21 10:13:44 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstparamspecs.h:
-	  paramspecs: Set g-i annotation values for GST_PARAM_* constants
-
-2018-03-21 10:11:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelementfactory.h:
-	  elementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g-i annotation value
-
-2018-03-20 16:11:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstchildproxy.c:
-	* gst/parse/grammar.y:
-	  gst: Fix compilation with latest GLib
-	  g_object_ref() forwards the type of its argument nowadays.
-	  ./grammar.y:409:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
-	  gstchildproxy.c:212:7: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
-
-2018-03-20 09:02:34 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* meson.build:
-	  Back to development
-
-=== release 1.14.0 ===
-
-2018-03-19 20:09:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.14.0
-
-2018-03-19 20:09:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-=== release 1.13.91 ===
-
-2018-03-13 19:08:54 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.13.91
-
-2018-03-13 19:08:54 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2018-03-13 11:54:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	  meson: docs: update api decorators to ignore
-
-2018-03-12 23:12:13 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/Makefile.am:
-	  docs: fixup for new libs API export decorators
-
-2018-03-12 23:03:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnet.h:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnetcontrolmessagemeta.h:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	* libs/gst/net/gstptpclock.h:
-	* libs/gst/net/meson.build:
-	* libs/gst/net/net-prelude.h:
-	* libs/gst/net/net.h:
-	  net: GST_EXPORT -> GST_NET_API
-	  We need different export decorators for the different libs.
-	  For now no actual change though, just rename before the release,
-	  and add prelude headers to define the new decorator to GST_EXPORT.
-
-2018-03-12 23:03:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/controller-prelude.h:
-	* libs/gst/controller/controller.h:
-	* libs/gst/controller/controller_mkenum.py:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gstproxycontrolbinding.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* libs/gst/controller/meson.build:
-	  controller: GST_EXPORT -> GST_CONTROLLER_API
-	  We need different export decorators for the different libs.
-	  For now no actual change though, just rename before the release,
-	  and add prelude headers to define the new decorator to GST_EXPORT.
-
-2018-03-12 23:03:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/check-prelude.h:
-	* libs/gst/check/check.h:
-	* libs/gst/check/gstbufferstraw.h:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gstconsistencychecker.h:
-	* libs/gst/check/gstharness.h:
-	* libs/gst/check/gsttestclock.h:
-	* libs/gst/check/meson.build:
-	  check: GST_EXPORT -> GST_CHECK_API
-	  We need different export decorators for the different libs.
-	  For now no actual change though, just rename before the release,
-	  and add prelude headers to define the new decorator to GST_EXPORT.
-
-2018-03-12 23:03:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/base-prelude.h:
-	* libs/gst/base/base.h:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstaggregator.h:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstflowcombiner.h:
-	* libs/gst/base/gstindex.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/base/gstqueuearray.h:
-	* libs/gst/base/gsttypefindhelper.h:
-	* libs/gst/base/meson.build:
-	  base: GST_EXPORT -> GST_BASE_API
-	  We need different export decorators for the different libs.
-	  For now no actual change though, just rename before the release,
-	  and add prelude headers to define the new decorator to GST_EXPORT.
-
-2018-03-12 23:03:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/Makefile.am:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.h:
-	* gst/gstchildproxy.h:
-	* gst/gstclock.h:
-	* gst/gstconfig.h.in:
-	* gst/gstcontext.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.h:
-	* gst/gstdebugutils.h:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.h:
-	* gst/gstdeviceproviderfactory.h:
-	* gst/gstdynamictypefactory.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstenumtypes.h.template:
-	* gst/gsterror.h:
-	* gst/gstevent.h:
-	* gst/gstformat.h:
-	* gst/gstghostpad.h:
-	* gst/gstinfo.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.h:
-	* gst/gstpreset.h:
-	* gst/gstpromise.h:
-	* gst/gstprotection.h:
-	* gst/gstquery.h:
-	* gst/gstregistry.h:
-	* gst/gstsample.h:
-	* gst/gstsegment.h:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.h:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.h:
-	* gst/gsttocsetter.h:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.h:
-	* gst/gsttracerrecord.h:
-	* gst/gsttypefind.h:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.h:
-	* gst/gstutils.h:
-	* gst/gstvalue.h:
-	  gst: GST_EXPORT -> GST_API
-	  We need different export decorators for the different libs.
-	  For now no actual change though, just rename before the release,
-	  and add prelude headers to define the new decorator to GST_EXPORT.
-
-2018-03-08 13:30:30 +1100  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstpromise.c:
-	  promise: be more explicit in docs about who/when to use reply/interrupt/expire
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794153
-
-2018-03-07 11:19:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Balance unlock/unlock_stop in _src_stop()
-	  Otherwise it's possible that we won't be able to start again
-	  depending the implementation. We do start/stop in normal use cases
-	  whenever GST_QUERY_SCHEDULING happens before we are started.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794149
-
-2018-03-07 11:16:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: No need to stop flushing in start_complete
-	  The flushing state is handled a bit differently, there is no need
-	  to stop flushing in start_complete. This would other result in
-	  unlock_stop being called without unlock_start.
-	  Unlike what the old comment says, there is no need to take the live
-	  lock here, we are still single threaded at this point (app thread
-	  or the state change thread). Also, we will wait for playing state
-	  in create/getrange, no need to do that twice.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794149
-
-2018-03-05 11:52:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Change dot-file functions documentation to proper gtk-doc
-	  This way gobject-introspection also picks it up and handles our
-	  annotations.
-	  See https://gitlab.gnome.org/GNOME/gobject-introspection/issues/194
-
-2018-03-04 10:53:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* win32/common/libgstbase.def:
-	  queuearray: Implement pop_tail_struct() for completeness
-	  All other variants of {peek,pop}_{head,tail}_{,struct} were already
-	  implemented.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=794035
-
-2018-03-04 10:24:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpreset.c:
-	* gst/gsturi.c:
-	  gst: Add some more (type filename) annotations
-
-=== release 1.13.90 ===
-
-2018-03-03 21:51:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.13.90
-
-2018-03-03 21:51:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	  Update docs
-
-2018-02-13 22:20:18 +1100  Matthew Waters <matthew@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstsparsefile.c:
-	  plugins: Don't force 64-bit file/seek functions variants on android
-	  Most functions are automatically chosen from the _FILE_OFFSET_BITS
-	  define, the remaining one (fstat) is only available on API >= 21 so
-	  check for that
-
-2018-03-01 22:21:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* win32/common/libgstbase.def:
-	  Add new symbol to docs and .def file
-	  Fixes make check
-
-2018-03-01 16:19:09 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* plugins/elements/gstqueue.c:
-	* tests/check/elements/queue.c:
-	  queue: Ignore thresholds if a query is queued
-	  The queue gets filled by the tail, so a query will always be the tail
-	  object, not the head object. Also add a _peek_tail_struct() method to the
-	  GstQueueArray to enable looking at the tail.
-	  With unit test to prevent future regression.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762875
-
-2018-03-01 18:38:01 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* meson.build:
-	  meson: -Wformat-* require -Wformat
-
-2018-03-01 17:20:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/printf/meson.build:
-	* libs/gst/check/libcheck/meson.build:
-	* meson.build:
-	  meson: enable more warnings
-	  Modeled on the autotools build, -W flags are only
-	  added if the compiler supports them.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793958
-
-2018-03-01 00:31:11 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  gstaggregator: pads must inherit from #GstAggregatorPad
-	  Document this, and take advantage of that fact to use
-	  GstAggregator.srcpad.segment instead of GstAggregator.segment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793942
-
-2018-03-01 01:15:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  Revert "gstaggregator: pads must inherit from #GstAggregatorPad"
-	  This reverts commit 9774b3775d8483e5697f9196a26c1e5831113bd6.
-	  Pushed by mistake
-
-2018-03-01 01:12:07 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: ensure we build a ghost pad ..
-	  When we construct from a custom GType
-
-2018-03-01 01:09:48 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: fix mixed declarations
-
-2018-03-01 00:31:11 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  gstaggregator: pads must inherit from #GstAggregatorPad
-	  Document this, and take advantage of that fact to use
-	  GstAggregator.srcpad.segment instead of GstAggregator.segment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793942
-
-2018-02-28 19:53:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: allow src GstAggregatorPads
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=793917
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793934
-
-2018-02-28 19:51:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	  pad, ghostpad: use the template gtype if specified
-	  Also make sure the GType passed to the with_gtype versions
-	  of the template constructors is_a GstPad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793933
-
-2018-02-21 22:25:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix integer overflow in bitrate calculation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793284
-
-2018-02-21 22:01:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Avoid overflow in update_interval calculation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793284
-
-2018-02-21 21:43:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix check for update_interval
-	  update_interval may be -1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793284
-
-2018-02-19 15:39:46 +0900  Justin Kim <justin.kim@collabora.com>
-
-	* meson.build:
-	  meson: Use .dylib suffix if darwin
-	  For Mac OS, GST_EXTRA_MODULE_SUFFIX should be set as '.dylib'.
-	  Otherwise, GStreamer fails to load its plugins.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793584
-
-2018-02-01 18:29:27 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* tests/check/libs/queuearray.c:
-	* win32/common/libgstbase.def:
-	  queuearray: add _peek_tail() and _pop_tail()
-	  API: gst_queue_array_pop_tail()
-	  API: gst_queue_array_peek_tail()
-	  These will be needed later for appsrc.
-
-2018-02-13 12:38:33 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* gst/gstbuffer.c:
-	* gst/gstevent.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gstsegment.c:
-	* gst/gsttaglist.c:
-	* gst/gsturi.c:
-	  gst: fix some GIR annotations
-	  Mostly related to out parameters and their transfer
-
-2018-01-10 04:08:57 +0100  Alicia Boya García <aboya@igalia.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/libs/basesink.c:
-	  gstbasesink: Include segment.offset in the computation of position
-	  Position queries with GST_FORMAT_TIME are supposed to return stream
-	  time.
-	  gst_base_sink_get_position() estimates the current stream time on its
-	  own instead of using gst_segment_to_stream_time(), but the algorithm
-	  used was not taking segment.offset into account, resulting in invalid
-	  values when this field was set to a non-zero value.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=792434
-
-2018-02-15 12:58:43 +1100  Matthew Waters <matthew@centricular.com>
-
-	* plugins/tracers/gstlatency.c:
-	  tracers: latency: allow for non parented pads to send latency probes
-	  Such a setup is used in rtspsrc for its TCP connection
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793478
-
-2018-02-15 19:44:14 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* meson.build:
-	  Back to development
-
-=== release 1.13.1 ===
-
-2018-02-15 16:31:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* NEWS:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.13.1
-
-2018-02-15 13:36:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: pipeline: try to make test_pipeline_reset_start_time more reliable
-	  Occasionally this test would fail, especially if the system is under load,
-	  because the position query would pick up the last position from the
-	  last buffer timestamp which has a lower timestamp than what we're
-	  looking for. The sleep is long enough, however. It's unclear to me why
-	  exactly this happens but there seems to be some kind of scheduling
-	  issue going on as the streaming thread floods the sink with buffers.
-	  Let's throttle the fakesrc to 100 buffers per second and make the sink
-	  sync to the clock to restore some sanity. It should be totally sufficient
-	  to test what we want to test, and seems to make things reliable here.
-
-2018-02-15 12:03:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gsturi.c:
-	  tests: uri: fix build without -DGST_DISABLE_DEPRECATED
-	  Must undefine it before including gst headers, since the test
-	  tests deprecated API.
-
-2018-02-15 12:09:31 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: want deprecation warnings if GST_DISABLE_DEPRECATED is *set*
-	  Fix inverted logic. If GST_DISABLE_DEPRECATED is undefined,
-	  we don't want warnings about deprecated API, and if it's
-	  defined we do want warnings.
-
-2018-02-15 11:28:23 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/bg.po:
-	* po/cs.po:
-	* po/da.po:
-	* po/de.po:
-	* po/fr.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	  po: update translations
-
-2018-02-14 19:37:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: add flow combiner ref/unref to docs
-	  So new-in-1.12 index actually has some entries.
-
-2018-02-14 19:13:28 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add index for new symbols in 1.14
-
-2018-02-14 19:12:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add index for new symbols in 1.12
-
-2018-02-08 17:22:14 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: make version numbers ints and fix int/string comparison
-	  WARNING: Trying to compare values of different types (str, int).
-	  The result of this is undefined and will become a hard error
-	  in a future Meson release.
-
-2018-02-03 17:56:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* gst/printf/Makefile.am:
-	  autotools: use -fno-strict-aliasing where supported
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769183
-
-2018-02-03 17:55:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.h:
-	  buffer: fix gtk-doc warning regarding _get_n_meta() declaration
-
-2018-02-02 00:24:20 +1100  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstpromise.c:
-	* gst/gstpromise.h:
-	  gstpromise: add since 1.14 markers
-
-2017-10-18 21:24:19 +1100  Matthew Waters <matthew@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add webrtc to libraries
-
-2018-01-31 14:01:36 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstbuffer.h:
-	  gstbuffer.h: move FLAG_LAST documentation back to the bottom
-
-2018-01-31 13:36:15 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: annotate virtual methods
-
-2018-01-30 16:41:39 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstbuffer.h:
-	  gstbuffer: add GST_BUFFER_FLAG_NON_DROPPABLE
-	  This can be used to identify buffers for which a higher percentage
-	  of redundancy should be allocated when performing forward error
-	  correction, or to prevent still video frames from being dropped by
-	  elements due to QoS.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=793008
-
-2018-01-30 20:30:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: use -fno-strict-aliasing if supported
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769183
-
-2017-12-23 16:45:18 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add gst_buffer_get_n_meta() convenience function
-	  Counts how many metas there are for a certain api type.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791918
-
-2017-10-22 18:05:30 +0530  Arun Raghavan <arun@arunraghavan.net>
-
-	* gst/gst.c:
-	* gst/gstallocator.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstdatetime.c:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstelement.c:
-	* gst/gstevent.c:
-	* gst/gstinfo.c:
-	* gst/gstmessage.c:
-	* gst/gstmeta.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstparamspecs.c:
-	* gst/gstparse.c:
-	* gst/gstplugin.c:
-	* gst/gstprotection.c:
-	* gst/gstquery.c:
-	* gst/gstsample.c:
-	* gst/gststreamcollection.c:
-	* gst/gststreams.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gsttoc.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	  gst: Fix up a bunch of GIR annotations
-	  This is mostly on nullable return values, and some other minor ones that
-	  I ran across.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789319
-
-2017-05-27 05:19:20 +0530  Arun Raghavan <arun@arunraghavan.net>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: Return NULL instead of FALSE
-	  Same effect, meaning is clearer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789319
-
-2018-01-26 12:42:28 +0100  François Laignel <fengalin@free.fr>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* tests/check/gst/gstmessage.c:
-	* win32/common/libgstreamer.def:
-	  message: Add gst_message_writable_structure()
-	  Add gst_message_writable_structure() to be able to add extra fields to
-	  messages (and be on par with GstEvent).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=792928
-
-2018-01-23 22:49:52 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: delegate buffer skipping to the aggregate thread
-	  As we do that for serialized events as well, and the subclass will
-	  most likely need to access pad->segment to make its decisions,
-	  doing that from the sinkpad's streaming threads was racy.
-
-2017-12-28 12:12:45 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  API: GstAggregatorPad.skip_buffer virtual method
-	  Allows subclasses to prevent buffers from being queued.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781928
-
-2018-01-23 20:04:02 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: Annotate some of the virtual methods
-
-2018-01-23 08:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	* win32/common/libgstbase.def:
-	  aggregator: rename _get_buffer() -> _peek_buffer() and _steal -> _pop
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791204
-
-2018-01-20 15:30:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstchildproxy.c:
-	  childproxy: gracefully handle methods being NULL
-	  Do this for all method invoke functions for consistency.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750154
-
-2018-01-18 18:11:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: fix .def file for new API
-	  Fixes check + distcheck
-
-2017-08-01 10:43:32 +0200  Michele Dionisio <michele.dionisio@gmail.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: fix build failure with #undef USE_MEASUREMENT_FILTERING
-	  "Label ‘out’ used but not defined", since it's also used by
-	  the USE_MEDIAN_PRE_FILTERING branch.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785631
-
-2018-01-18 19:16:12 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.h:
-	  padtemplate: And add missing GST_EXPORT to gst_pad_template_new_with_gtype()
-
-2018-01-18 19:15:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Add missing Since: 1.14 marker to gst_pad_template_new_with_gtype()
-
-2018-01-18 19:08:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	  padtemplate: Add gst_pad_template_new_with_gtype()
-	  For being able to create a pad template with GType without having a
-	  static pad template.
-
-2018-01-18 19:07:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Add Since: 1.14 marker to gst_pad_template_new_from_static_pad_template_with_gtype()
-
-2018-01-16 10:17:58 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  gstpad: Avoid stream-dead-lock on deactivation
-	  The following case can happen when two thread try to activate and
-	  deactivate a pad at the same time:
-	  T1: starts to deactivate, calls pre_activate(), sets in_activation
-	  to TRUE and carries on
-	  T2: starts to activate, calls pre_activate(), in_activation is TRUE
-	  so it waits on the GCond
-	  T1: calls post_activate(), tries to acquire the streaming lock ..
-	  but can't because T2 is currently holding it
-	  With this patch, the deadlock will no longer happen but does not
-	  solve the problem that:
-	  T2: will resume activation of the pad, set the pad mode to the target
-	  one (PUSH or PULL) and eventually the streaming lock gets released.
-	  T1: is able to finish calling post_activate() ... but ... the pad
-	  wasn't deactivated (T2 was the last one to "activate" the pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=792341
-
-2018-01-15 18:13:45 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  gstpad: Release pending g_cond_wait() when stopping/pausing task
-	  Otherwise we would deadlock waiting forever for the streaming lock
-	  to be released
-	  https://bugzilla.gnome.org/show_bug.cgi?id=792341
-
-2018-01-13 11:08:00 +0800  Jun Xie <jun.xie@samsung.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: fix confusing debug log message
-	  In case of a short buffer, the debug log is quite confusing.
-	  Distinguish the two types of failure cases to make it clearer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=792486
-
-2018-01-12 18:47:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstobject.c:
-	  docs: explicit refer to GObject docs for floating refs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788477
-
-2018-01-11 19:52:41 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/fakesink.c:
-	  tests: fakesink: make notify stress test work better on Windows
-	  Set up all ten pipelines and preroll them first, and only set
-	  them to playing to run wild after they're all set up. If we set
-	  them to PLAYING directly and let those threads run wild, then
-	  it might take ages (many seconds) for the other pipelines to
-	  even get up and running, especially on machines with only one
-	  or two cores, and operating systems that suck at scheduling.
-	  Now the fakesink test takes 19 secs instead of 71 secs on a
-	  single-cpu windows machine.
-
-2018-01-11 19:32:08 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/filesrc.c:
-	  tests: filesrc: more Windows fixes
-	  Fix typo in newly-added windows uri test.
-
-2018-01-11 18:44:50 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: use g_get_monotonic_time() as fallback in gst_utils_get_timestamp()
-	  This is a better fit given that the function docs say this
-	  should (only) be used for interval measurements, but also
-	  this seems to give much better granularity on Windows
-	  systems, where before this change there would often be
-	  10-20 lines of debug log with the same timestamp up front.
-
-2018-01-11 18:39:50 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstsystemclock.c:
-	  tests: systemclock: scale stress test threads according to number of cpus
-	  Scale the number of threads used in the stress tests according to
-	  the number of cores/cpus. We want some contention, but we also
-	  don't want too much contention, as some operating systems are
-	  better at handling 100 threads running wild on a single core
-	  than others.
-
-2018-01-11 17:10:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstplugin.c:
-	  plugin: plugin_load() must return a ref even if it was loaded already
-	  Fix refcounting issue when plugin was loaded already.
-	  gst_plugin_load() is supposed to return a ref, so it
-	  must always return a ref.
-	  This also fixes the gstplugin unit test on windows where
-	  fork is not available and where test_load_coreelements()
-	  would unref a plugin ref it didn't get and then mess up
-	  the internal registry plugin list state for the next test,
-	  in case where the test registry does not exist yet.
-
-2018-01-11 14:56:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/filesrc.c:
-	  tests: filesrc: fix for windows
-	  Location paths have backslashes on windows when converted from URI.
-
-2018-01-11 12:27:18 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  libs: check: print stacktrace on unexpected criticals
-
-2018-01-11 12:02:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/struct_x86_64w.h:
-	  tests: abi: fix abi test on 64-bit Windows
-	  Add header with structure sizes for 64-bit windows as well.
-	  They're almost the same as on Linux, but it looks like things
-	  like padding unions get aligned slightly differently so there
-	  are a handful of differences:
-	  sizeof(GstGhostPad) is 528, expected 536
-	  sizeof(GstPad) is 512, expected 520
-	  sizeof(GstPadProbeInfo) is 64, expected 72
-	  sizeof(GstProxyPad) is 520, expected 528
-
-2018-01-11 11:38:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: fix post init cat reg test on windows and with CK_FORK=no
-	  The test checks that categories not covered by the pattern in the
-	  GST_DEBUG string have debug level GST_LEVEL_DEFAULT set, but previous
-	  tests mess with the default threshold, which made this test fail on
-	  Windows or when run with CK_FORK=no. Fix this by resetting everything
-	  at the beginning, and then also do a sanity check afterwards.
-
-2018-01-11 11:36:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: reset default threshold to LEVEL_DEFAULT not 0
-	  in set_threshold_from_string().
-
-2017-11-08 20:05:03 +0100  HÃ¥vard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/libcompat/libcompat.h:
-	* libs/gst/check/libcheck/meson.build:
-	* libs/gst/check/meson.build:
-	* libs/gst/meson.build:
-	* pkgconfig/meson.build:
-	* tests/meson.build:
-	  meson: make check and tests build on Windows with msvc
-
-2018-01-02 10:02:45 +0100  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  gstharness: Remove double free
-
-2017-12-26 18:08:31 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gststreams.h:
-	  streams: GstStreamType/GstStream are available since 1.10
-	  Annotate them as such.
-
-2017-12-26 13:46:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: skip translations if gettext is not available
-
-2017-12-26 12:51:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove DEBUG_FUNCPTR
-	  The new gst_element_do_foreach_pad() does not print the functions anymore.
-
-2017-12-26 12:17:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: add comment for how to improve tracer support
-
-2017-12-26 11:29:39 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	  segment: add a FIXME-2.0 for the format parameters
-	  Capture the somewhat not ordinary use of the extra format parameter in a
-	  comment.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=788979
-
-2017-12-24 16:21:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstdeinit.c:
-	* tests/check/meson.build:
-	  Skip gst_deinit() if gstreamer was not initialized properly
-	  Can happen if an error occurs during option parsing, for example.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781914
-
-2017-12-23 23:43:33 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: Replace large test macro with function
-	  Just a bit of cleanup.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756867
-
-2017-12-15 09:43:40 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: Check we get CREATE+ENTER stream-statuses when adding pads
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756867
-
-2017-12-15 09:14:57 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't start new pads until parented
-	  Start task on new source pads added at runtime after they
-	  have been added to the element, not during activation.
-	  This ensures the pads can post their CREATE stream-status
-	  messages and the application can set thread priorities.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756867
-
-2017-12-15 09:14:07 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Split task handling from gst_single_queue_flush
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756867
-
-2017-12-23 23:25:58 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Avoid a maybe-uninitialized warning
-	  Arch Linux x86_64, gcc 7.2.1-2, -Og -g3
-
-2017-12-21 13:47:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: Don't hold the mutex while posint the download-complete message
-	  Something might handle it from a sync message handler and call back into
-	  downloadbuffer, causing a deadlock.
-
-2017-12-20 18:56:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: set_default() clock parameter can be NULL
-
-2017-12-20 18:11:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Annotate set_clock() clock parameter with allow-none
-
-2017-12-20 18:09:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Annotate set_bus() bus parameter as allow-none
-	  It's possible to replace the bus with NULL/None
-
-2017-12-10 22:50:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: update for gl lib move from bad to base
-
-2017-12-11 20:58:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Allow going passthrough inside decide_allocation
-	  Sub-class may want to decide to go passthrough/in-place by inspecting
-	  the support meta APIs. This patch duplicates the check for this mode,
-	  so we still don't do uneeded allocation query while we allow sub-classes
-	  to switch the behaviour during it's own decide_allocation call.
-	  Notice that such sub-class need to reset the class to non-passthrough in
-	  set_caps() in order for decide_allocation to be called again. This is
-	  needed otherwise we'd be doing an allocation query in element in which
-	  it make no sense (notably capsfilter).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791453
-
-2017-12-17 14:18:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstplugin.c:
-	  plugin: Annotate add_dependency() arguments as NULL-terminated arrays
-
-2017-12-14 00:03:04 +0530  Umang Jain <mailumangjain@gmail.com>
-
-	* gst/gstbus.c:
-	  docs: GstBus: Provide more information for ref/unref during bus watch.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791588
-
-2017-12-14 16:05:00 +1100  Matthew Waters <matthew@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  update win32 defs for tracer API addition
-
-2017-12-14 14:48:47 +1100  Matthew Waters <matthew@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From e8c7a71 to 3fa2c9e
-
-2017-12-05 21:36:34 +1100  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/inspect/plugin-coretracers.xml:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerfactory.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  docs: include tracers in the documentation
-	  Requires exposing the tracer GType from the GstTracerFactory in order
-	  to link the plugin with the tracer in the documentation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791253
-
-2017-12-05 20:56:09 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  check/harness: fix transfer annotations on buffer passing functions
-
-2017-08-30 13:03:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* tests/check/libs/basesrc.c:
-	* win32/common/libgstbase.def:
-	  basesrc: add buffer list support
-	  Add a gst_base_src_submit_buffer_list() function that allows subclasses
-	  to produce a bufferlist containing multiple buffers in the ::create()
-	  function. The buffers in the buffer list will then also be pushed out
-	  in one go as a GstBufferList. This can reduce push overhead
-	  significantly for sources with packetised inputs (such as udpsrc)
-	  in high-throughput scenarios.
-	  The _submit_buffer_list() approach was chosen because it is fairly
-	  straight-forward, backwards-compatible, bindings-friendly (as opposed
-	  to e.g. making the create function return a mini object instead),
-	  and it allows the subclass maximum control: the subclass can decide
-	  dynamically at runtime whether to return a list or a single buffer
-	  (which would be messier if we added a create_list virtual method).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750241
-
-2017-08-31 01:18:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: minor code readability improvement
-
-2017-12-07 12:05:23 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbus.c:
-	* gst/gstevent.c:
-	* gst/gsttracer.c:
-	* gst/gsttracerutils.h:
-	* gst/gstvalue.h:
-	  docs: Fix a few gtk-doc warnings
-	  Broken links mostly.
-
-2017-12-06 20:58:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests: aggregator: fix caps leak in unit test
-
-2017-12-06 17:07:29 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  gstpad: Handle GST_PAD_PROBE_HANDLED on sticky event push
-	  When actually pushing an event, if we get GST_FLOW_CUSTOM_SUCCESS_1
-	  (which is the conversion of GST_PAD_PROBE_HANDLED return value),
-	  don't consider the stick event push as ignored, but as handled
-
-2017-12-06 13:40:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	  event/query/message: Annotate get_structure() return value as nullable
-
-2017-12-06 13:36:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstquery.c:
-	  query: Add an empty structure in writable_structure() if there is none yet
-	  This is consistent with how it works for GstEvent already.
-
-2017-12-05 18:21:00 +0100  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpromise.c:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	  docs: Misc addition/fixes
-	  And also add the "Since" API sections for 1.12 and 1.14
-
-2017-12-05 18:20:34 +0100  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  docs: Add documentation for GST_SEQNUM_INVALID
-	  And link to it
-
-2017-12-05 17:28:55 +0100  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: Never return a group_id of 0, add GST_GROUP_ID_INVALID
-	  Various plugins use special values (0 or G_MAXUINT32) as an
-	  invalid/unset group_id, but nothing guarantees a groupid won't have
-	  that value.
-	  Instead define a value which group_id will never have and make
-	  gst_group_id_next() always return a value different from that.
-	  API: GST_GROUP_ID_INVALID
-
-2017-12-05 16:42:57 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: make bindings use the GBytes variant for _take_all_data()
-
-2016-11-23 13:12:36 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: use new take_all_data() function in _dump_to_file().
-
-2017-12-05 15:28:43 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	* tests/check/libs/gstharness.c:
-	  harness: add gst_harness_take_all_data() + _take_all_data_as_{bytes,buffer}()
-	  Convenience function to just grab all pending data
-	  from the harness, e.g. if we just want to check if
-	  it matches what we expect and we don't care about
-	  the chunking or buffer metadata.
-	  Based on patch by: Havard Graff <havard.graff@gmail.com>
-
-2017-12-05 15:16:36 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: document that _extract_dup() will return NULL for 0-sized buf
-	  And make it explicit, and don't call _extract() on NULL data buffer.
-
-2017-12-05 12:27:18 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/check/meson.build:
-	  meson: Use array syntax instead of .get() in tests
-
-2017-11-24 02:39:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/parse/meson.build:
-	  meson: Use new find_program fallback syntax
-	  We use this syntax in libs/gst/helpers/meson.build already.
-
-2017-12-04 18:08:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  gst: gst_element_remove_pad() is transfer none for the pad
-	  While the refcount of the pad is decreased, it's the refcount that is
-	  owned by the parent (i.e. the element) and not the one passed in by the
-	  caller.
-	  Fixes a memory leak in bindings.
-
-2017-12-04 11:24:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add finish_buffer() vfunc
-	  So subclasses can override the finish behaviour
-	  and/or decorate or modify buffers before they
-	  get pushed out.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760981
-
-2017-12-04 12:29:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: disable tag merging and forwarding for now
-	  Subclasses should handle this for now.
-
-2017-11-06 20:23:12 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: Avoid maybe-uninitialized compiler warning
-	  On Arch Linux x86_64, gcc 7.2.0-3, -Og -g3:
-	  gstdevicemonitor.c: In function ‘bus_sync_message’:
-	  gstdevicemonitor.c:276:8: error: ‘matches’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
-	  This commit also simplifies the code a bit.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789983
-
-2017-12-03 14:48:22 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdebugutils.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	  gst: Annotate various strings as type filename if they represent a path/filename
-
-2017-12-02 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: hook up to docs
-
-2017-12-02 15:24:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/base.h:
-	* libs/gst/base/gstaggregator.h:
-	* libs/gst/base/meson.build:
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/meson.build:
-	* win32/common/libgstbase.def:
-	  aggregator: hook up to build system
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739010
-
-2017-12-02 15:12:25 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	  Move GstAggregator from -bad to core
-	  Merge branch 'aggregator-move'
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739010
-
-2017-11-06 21:07:51 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Remove klass->sinkpads_type
-	  This posed problems for the python bindings (and possibly others).
-	  Instead, subclasses now use add_pad_template_with_gtype.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789986
-
-2017-11-02 18:32:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add doc blurb for gst_aggregator_pad_is_eos()
-
-2017-11-02 16:05:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: also remove now-unused PadForeachFunc declaration
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785679
-
-2017-08-02 12:08:26 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Remove pad iterator function
-	  Use new gst_element_foreach_sink_pad() from core instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785679
-
-2017-11-02 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: use new gst_element_foreach_sink_pad()
-	  Instead of gst_aggregator_iterate_sinkpads() which will
-	  soon be removed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785679
-
-2017-11-01 15:18:08 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add more comments
-
-2017-10-23 11:52:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/aggregator.c:
-	  tests: comment and logging cleanups for audiomixer and aggregator
-	  Remove some references to 'collectpads'. Logs pads through the object variants.
-	  Add some more comments. Remove a left over comment.
-
-2017-10-22 19:43:17 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix type for latency property (int64 -> GStClockTime)
-	  The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode
-	  in live-adder.
-
-2017-07-13 19:03:19 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't take flush lock from output thread
-	  Instead just take it in the chain function.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784911
-
-2017-07-13 18:38:34 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't block if adding to the tail of the queue
-	  If we're adding to the tail of the queue, it's because we're converting
-	  a gap event, so don't block there it means we're calling from the output
-	  thread.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784911
-
-2017-10-17 08:03:02 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: review code related to time level
-	  Add a comment for when the state matters. Use a local var for priv in
-	  update_time_level() to improve readability. Move the our_latency local
-	  var below the query results checks.
-
-2017-10-17 07:51:51 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: init latency values with 0 instead of FALSE
-
-2017-10-15 20:46:09 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: code cleanup for event and query func
-	  Only look up klass for non serialized events/queries. For events remove
-	  superfluous assignment for the return value in the flushing case.
-
-2017-10-15 17:46:45 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: simplify pad_event_func for FLUSH_STOP events
-	  We want to skip serialization for FLUSH_STOP events (apparently). We can
-	  simplify the code to add it to the top-level conditions. There was nothing
-	  done in the first code path if the event was FLUSH_STOP.
-
-2017-10-15 16:57:13 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: drop special casing for eos
-	  Just queue it like any other serialized event. This way we don't need to
-	  check if there still are buffers in the queue.
-	  Validated with the tests and gst-launch-1.0 pipelines.
-
-2017-10-15 16:51:21 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add a doc-blob for the event_func
-
-2017-10-15 16:48:21 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: rename a local variable
-	  The variable tracks wheter the queue is not empty, but num_buffers==0. That
-	  means we have events or queries to process. Rename accordingly.
-
-2017-10-15 12:17:42 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove commented code
-	  The SEGMENT_DONE event does not require any special treatment. This is
-	  commented out in 6efc106a67.
-
-2017-10-15 12:14:28 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: move the comment for the locks to the lock macros
-	  Looks like some code was inserted afterwards.
-
-2017-10-15 10:44:44 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: improve section docs
-	  Mention how data ends up in the queues. Document the relation of the pad
-	  functions and the class vmethods to get events and queries.
-
-2017-10-14 18:18:44 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: add two more tests for a sequence of data
-	  This verifies that we handle events and queries at the head of the queue and
-	  then buffers.
-
-2017-10-14 13:26:02 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: refactor the test helper
-	  Make the test helpers use a queue. This lets us also test sequences of events,
-	  queries and data.
-
-2017-10-14 12:08:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: test cleanup
-	  Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
-	  arbitrary extra blank lines. Make push_event() more like push_buffer() - set
-	  the event to NULL and add cleanup to _chain_data_clear().
-
-2017-10-03 12:36:10 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: cleanup event forwarding
-	  Don't copy the whole event struct. Set the input params when we call the
-	  forwarding helper. Initialize the internal fields and return values in the
-	  helper.
-
-2017-10-03 12:08:42 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: simplify src_event
-	  Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result
-	  as we have. This lets us remove the local var plus the label.
-
-2017-09-17 12:37:03 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: register func for do_events_and_queries
-	  This fixes logging the func ptr from _iterate_sinkpads().
-
-2017-09-17 12:30:37 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: only set clipped_buffer to NULL if needed
-
-2017-09-17 12:25:37 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: rename check_events
-	  This function also handles queries. Update the code to loop until all events and
-	  queuries are handled.
-
-2017-09-17 12:24:54 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add a few more comments to PadPrivate struct
-
-2017-09-17 11:39:12 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: rename buffers field to data
-	  The queue stores buffers, events and queries.
-
-2017-09-17 10:18:56 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: documentaion fixes
-	  Fix typos and remove params docs, where the param was moved.
-
-2017-09-05 14:26:52 +0200  Edward Hervey <edward@centricular.com>
-
-	* tests/check/libs/aggregator.c:
-	  check: Fix usage of dual probes
-	  Using two (or more) probes on the same pad where one of the probe
-	  returns HANDLED or DROP is tricky since the other probes might
-	  not be called.
-	  Instead use regular probes and a proper pad (the sinkpad already existed,
-	  it only required to be activated and have a dummy chain function for
-	  the events/buffers to be received/handled properly)
-
-2017-07-30 12:17:57 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: log all events
-	  We already log a few events explicitly, just log them all with more detail.
-
-2017-07-29 16:54:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: fix header formatting
-
-2017-07-24 18:38:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Remove the GAP event from the queue before queueing up the GAP buffer
-	  Otherwise check_events() will not remove the GAP event (as the queue
-	  tail is not the event anymore but the GAP buffer), then the GAP buffer
-	  is handled, then the GAP event is handled again, ... forever.
-
-2017-07-18 00:30:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: mark symbols explicitly for export with GST_EXPORT
-
-2017-07-13 22:00:58 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove duplicated code fragment
-	  This code already runs above when (event || query).
-
-2017-07-13 21:55:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: code cleanups
-	  Fix comment typos, some copy'n'paste in logging. Add more doc comments.
-
-2017-04-13 22:11:55 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Invalidate pad's tail position ...
-	  when dequeuing a segment event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784593
-
-2017-07-01 20:23:25 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix "'aggclass' may be used uninitialized in this function"
-
-2017-05-23 00:53:57 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Process serialized queries through the queue
-	  This ensures that they really get processed in order with
-	  buffers. Just waiting for the queue to be empty is sometimes not
-	  enough as the buffers are dropped from the pad before the result is
-	  pushed to the next element, sometimes resulting in surprising
-	  re-ordering.
-
-2017-05-23 00:53:23 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Set flow to FLUSHING on pad stop
-	  Fixes a rare race where the pad is being stopped while doing a query.
-
-2016-11-18 14:44:16 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Request pad templates which are not request pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782920
-
-2016-11-18 14:41:54 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't restrict sink pad names
-	  Sink pads could have other names than sink_%u
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782920
-
-2017-05-21 15:19:17 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Implement propose allocation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782918
-
-2017-05-21 14:34:13 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Check for the result of caps events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782918
-
-2017-05-21 14:28:00 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Caps event always goes to the aggregate thread
-	  So no need to check it here.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782918
-
-2017-05-20 16:58:54 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add downstream allocation query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746529
-
-2017-05-20 15:56:16 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Remove unused GST_FLOW_NOT_HANDLED
-
-2017-05-20 14:24:57 +0200  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add simple support for caps handling
-	  Modelled off the videoaggregator caps handling as that seems the most
-	  mature aggregtor-using implementation that has caps handling there is.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776931
-
-2017-05-20 13:10:53 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Reset upstream latency on first buffer
-	  In the case an aggregator is created and pads are requested but only
-	  linked later, we end up never updating the upstream latency.
-	  This was because latency queries on pads that are not linked succeed,
-	  so we never did a new query once a live source has been linked, so the
-	  thread was never started.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757548
-
-2016-05-14 15:52:37 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Always handle sync'ed events on output thread
-	  Having all synchronized events always be handled on the output
-	  thread should make synchronization easier.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2016-07-06 16:39:17 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Delay clipping to output thread
-	  This is required because the synchronized events like caps or segments
-	  may only be processed on the output thread.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2016-07-07 16:13:57 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Make pad eos as soon as all buffers are processed, dont way for events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2016-07-07 11:47:40 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Only count buffers when declaring queue full
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2016-07-06 16:41:44 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Simplify clip function
-	  The return value was ignored anyway
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2016-05-15 16:04:58 +0300  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Only declare first buffer on actual buffer
-	  The function needs to be unlocked if any data is received, but only
-	  end the first buffer processing on an actual buffer, synchronized events
-	  don't matter on the first buffer processing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2017-05-09 20:20:07 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Set initial position on first buffer
-	  Set the initial position on the first buffer, otherwise the queue
-	  will grow without limits before the output thread is started.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2017-05-09 20:06:29 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Reset the pad's first buffer flag with the rest
-	  There is not reason to have separate code to reset this one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2017-05-09 20:05:55 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Reset pad on init
-	  Factor out the pad reset code from the flushing and use it on init as well
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2017-05-09 20:13:58 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix indentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781673
-
-2017-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  docs: Port all docstring to gtk-doc markdown
-
-2017-04-12 12:06:52 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Make instance var name match  between .c and .h
-	  Making GI happy
-
-2017-04-07 10:19:43 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstaggregator.c:
-	  gstaggregator: fix event use after free
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781017
-
-2016-09-06 16:05:53 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Use the event_full function for GstAggregatorPads
-	  Allowing us to tell GstPad why we are failing an event, which might
-	  be because we are 'flushing' even if the sinkpad is not in flush state
-	  at that point.
-
-2016-05-25 13:38:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  Revert "aggregator: Start the task when linked"
-	  This reverts commit 302580c3815136d29479c3a8cae611d6e2ff3709.
-
-2016-04-13 16:30:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Start the task when linked
-	  Until now we would start the task when the pad is activated. Part of the
-	  activiation concist of testing if the pipeline is live or not.
-	  Unfortunatly, this is often too soon, as it's likely that the pad get
-	  activated before it is fully linked in dynamic pipeline.
-	  Instead, start the task when the first serialized event arrive. This is
-	  a safe moment as we know that the upstream chain is complete and just
-	  like the pad activation, the pads are locked, hence cannot change.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757548
-
-2016-04-22 10:15:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Check all pads for data when live
-	  When live, we still need to inspect all pads queue in order to determin
-	  if we have received the first buffer or not.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765431
-
-2016-04-15 16:51:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix locking when using the clock
-	  This fixes a race where we check if there is a clock, then it get
-	  removed and we endup calling gst_clock_new_single_shot_id() with a NULL
-	  pointer instead of a valid clock and also calling gst_object_unref()
-	  with a NULL pointer later.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757548
-
-2016-04-03 17:56:06 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove duplicated test of flow_return in pad_chain_internal
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764549
-
-2016-03-28 13:52:07 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: Fix leak in unit test
-	  GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data,
-	  it was handled by us in one way or another.
-
-2016-03-27 19:06:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix strcmp test for sink template
-
-2016-03-27 18:41:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't try to be too smart while allocating pad names
-	  Previously, while allocating the pad number for a new pad, aggregator was
-	  maintaining an interesting relationship between the pad count and the pad
-	  number.
-	  If you requested a sink pad called "sink_6", padcount (which is badly named and
-	  actually means number-of-pads-minus-one) would be set to 6. Which means that if
-	  you then requested a sink pad called "sink_0", it would be assigned the name
-	  "sink_6" again, which fails the non-uniqueness test inside gstelement.c.
-	  This can be fixed by instead setting padcount to be 7 in that case, but this
-	  breaks manual management of pad names by the application since it then becomes
-	  impossible to request a pad called "sink_2". Instead, we fix this by always
-	  directly using the requested name as the sink pad name. Uniqueness of the pad
-	  name is tested separately inside gstreamer core. If no name is requested, we use
-	  the next available pad number.
-	  Note that this is important since the sinkpad numbering in aggregator is not
-	  meaningless. Videoaggregator uses it to decide the Z-order of video frames.
-
-2016-03-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/libs/aggregator.c:
-	  bad: use new gst_element_class_add_static_pad_template()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763081
-
-2015-11-09 16:08:30 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests:aggregator: fix tc failure and correct check value
-	  Failure by this commit 2dfa548f3645844082c3db65d96d87255701b3ad, which is
-	  to append hooks instead of prepend.
-	  Because of this change, aggretated_cb is not called and leads to failure.
-	  And correct to check flush stop value instead of flush start value
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757801
-
-2015-11-05 12:36:48 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: use GST_STIME_FORMAT for GstClockTimeDiff
-	  No need to manually handle negative value of deadline, GST_STIME_FORMAT does
-	  exactly this.
-
-2015-11-03 19:09:33 -0800  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: don't compare templ instance pointers
-	  One can pass the PadTemplate from the element_class or the one from the factory.
-	  While they have the same content, the addresses are different.
-
-2015-11-03 14:41:57 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Set to running in a single place
-	  Only set to running when the thread is actually started.
-
-2015-11-03 14:37:26 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Document more locking
-
-2015-11-02 20:10:35 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Hold object lock while manipulating the segment
-	  Make sure the object lock is held when aggregator->segment is
-	  modified.
-
-2015-11-02 19:05:01 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Remove dead code
-	  This code will never be called as max>=min in all cases. If the upstream
-	  latency query returned min>max, the function already returned and all
-	  values that are added to those have max>= min.
-
-2015-10-23 15:42:24 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour
-	  Not all aggregator subclasses will have a single pad template called sink_%u
-	  and might do something special depending on what the application requests.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757018
-
-2015-09-30 19:05:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT()
-
-2015-09-30 19:03:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: For the start time selection, only set the segment position
-	  segment.time and segment.start can stay the same, and were always the same
-	  before anyway because of a mistake.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755623
-
-2015-08-31 16:12:40 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't forward QOS events to sinkpads that had no buffer yet
-	  Otherwise they will receive a QOS event that has earliest_time=0 (because we
-	  can't have negative timestamps), and consider their buffer as too late
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754356
-
-2015-09-17 19:42:34 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Keep at least two buffers in the queue in live mode
-	  When in live mode, the queue needs to hold the currently processed
-	  buffer and one more at least.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754851
-
-2015-09-11 12:21:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Document that get_next_time() should return running time
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753196
-
-2015-08-28 23:05:20 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Also ignore start-time on seek from gst_element_send_event()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753806
-
-2015-07-02 19:34:43 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests: Add test for seeking live pipelines
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
-
-2015-07-02 19:19:33 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests: Make source live to re-enable aggregator timeout tests
-	  The live mode is only enabled if one of the sources if live.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
-
-2015-03-06 19:50:08 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Queue "latency" buffers at each sink pad.
-	  In the case where you have a source giving the GstAggregator smaller
-	  buffers than it uses, when it reaches a timeout, it will consume the
-	  first buffer, then try to read another buffer for the pad. If the
-	  previous element is not fast enough, it may get the next buffer even
-	  though it may be queued just before. To prevent that race, the easiest
-	  solution is to move the queue inside the GstAggregatorPad itself. It
-	  also means that there is no need for strange code cause by increasing
-	  the min latency without increasing the max latency proportionally.
-	  This also means queuing the synchronized events and possibly acting
-	  on them on the src task.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
-
-2015-07-29 20:07:09 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Default to "zero" start time selection mode as documented
-
-2015-07-29 20:06:11 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Ignore the "first" mode if the segment not a time segment
-
-2015-06-15 18:30:20 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Add property to select how to decide on a start time
-	  Before aggregator based elements always started at running time 0,
-	  now it's possible to select the first input buffer running time or
-	  explicitly set a start-time value.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749966
-
-2015-07-28 21:15:43 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Query the peer latency again on the next opportunity after a pad was added or removed
-	  Adding a pad will add a new upstream that might have a bigger minimum latency,
-	  so we might have to wait longer. Or it might be the first live upstream, in
-	  which case we will have to start deadline based aggregation.
-	  Removing a pad will remove a new upstream that might have had the biggest
-	  latency, so we can now stop waiting a bit earlier. Or it might be the last
-	  live upstream, in which case we can stop deadline based aggregation.
-
-2015-05-06 13:07:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add a convenience macro to get the source pad
-	  Easier than casting or acessing the parent everywhere
-
-2015-06-01 18:50:14 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Document that the latency is in ns
-
-2015-05-28 00:59:39 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Push EOS on error return.
-	  Before shutting down the srcpad task due to a
-	  downstream error, push an EOS to give downstream
-	  a chance to shut down somewhat cleanly.
-
-2015-03-29 17:53:23 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: document gap handling behavior
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
-
-2015-03-27 19:36:42 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: drop stale white space at warning
-
-2015-03-27 19:28:05 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: fix typo in test suite
-
-2015-03-27 18:32:27 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* tests/check/libs/aggregator.c:
-	  aggregator: add gap event handling unit test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
-
-2015-03-17 22:13:06 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: implement gap handling
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746249
-
-2015-04-01 22:10:11 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Unify downstream flow return and flushing
-	  Also means that having a non-OK downstream flow return
-	  wakes up the chain functions.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
-
-2015-04-01 21:45:01 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Flushing is always in pad lock, no need to atomics
-	  The usage of atomics was always doubtful as it was used to release a
-	  GCond
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
-
-2015-04-01 21:38:11 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Reset pending_eos on pad flush
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
-
-2015-04-01 21:37:25 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Unify code to set a pad flushing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747220
-
-2015-03-06 21:12:52 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Query latency on first incoming buffer.
-	  And keep on querying upstream until we get a reply.
-	  Also, the _get_latency_unlocked() method required being calld
-	  with a private lock, so removed the _unlocked() variant from the API.
-	  And it now returns GST_CLOCK_TIME_NONE when the element is not live as
-	  we think that 0 upstream latency is possible.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
-
-2015-03-06 21:12:13 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Be more aggressive with invalid replies to our latency query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745768
-
-2015-03-08 02:04:11 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregatory: don't redefine GST_FLOW_CUSTOM_SUCCESS
-
-2015-02-27 00:26:00 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Use standard upstream latency querying logic
-	  The same functionality is duplicated in the default latency querying
-	  now.
-
-2015-02-19 21:21:56 -0500  Olivier Crete <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Use src_lock to protect latency related members
-	  One has to use the src_lock anyway to protect the min/max/live so they
-	  can be notified atomically to the src thread to wake it up on changes,
-	  such as property changes. So no point in having a second lock.
-	  Also, the object lock was being held across a call to
-	  GST_ELEMENT_WARNING, guaranteeing a deadlock.
-
-2015-02-19 18:53:32 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Remove untrue comment
-
-2015-02-19 18:30:35 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't try to push tags while flush seeking
-	  The downstream segment could have been flushed already, so
-	  need to re-send the segment event before re-sending the tags.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-02-19 11:04:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Use the sinkpads iterator directly to query upstream latencies
-	  While gst_aggregator_iterate_sinkpads() makes sure that every pad is only
-	  visited once, even when the iterator has to resync, this is not all we have
-	  to do for querying the latency. When the iterator resyncs we actually have
-	  to query all pads for the latency again and forget our previous results. It
-	  might have happened that a pad was removed, which influenced the result of
-	  the latency query.
-
-2015-02-19 10:57:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Move gst_aggregator_get_latency_unlocked() a bit
-	  It was between another function and its helper function before, which was
-	  confusing when reading the code as it had nothing to do with the other
-	  functions.
-
-2015-02-19 01:28:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fail the latency query if one of the upstream queries fails
-
-2015-02-18 15:53:53 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Document locking order
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-02-18 15:11:14 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Rename confusinly named SRC_STREAM_LOCK macros to SRC_LOCK
-	  This will match the name of the lock itself. It is also not a stream
-	  lock as it not recursive and not held while pushing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-02-18 15:06:01 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Rename confusingly named stream lock to flush lock
-	  This lock is not what is commonly known as a "stream lock" in GStremer,
-	  it's not recursive and it's taken from the non-serialized FLUSH_START event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-02-18 15:04:04 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix macro indendation
-	  Changes no code
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-02-13 23:45:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: drop GAP events until we handle them properly
-
-2015-02-13 15:53:19 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* tests/check/libs/aggregator.c:
-	  aggregator: use new gst_aggregator_pad_drop_buffer()
-
-2015-02-13 15:49:50 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add gst_aggregator_pad_drop_buffer()
-	  steal_buffer() + unref seems to be a wide-spread idiom
-	  (which perhaps indicates that something is not quite
-	  right with the way aggregator pad works currently).
-
-2015-02-12 13:32:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: only post latency message if anything changed
-	  Perhaps we should check for element state as well and
-	  only post it if in PLAYING state.
-
-2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.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-10 10:49:16 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Pause srcpad task on flow errors
-	  Otherwise we will call the task function over and over again until
-	  upstream finally handled the flow return and shuts us down.
-
-2015-02-06 10:59:27 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Streamline latency calculations
-	  Min latency can never be invalid, latency property can never be invalid
-	  either. So no need to check for all these things in various places.
-
-2015-02-06 10:36:28 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: If upstream has no max latency but the subclass has, take the subclass max latency
-
-2015-02-06 10:33:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix min>max latency error check
-	  We have to include the upstream latency, our own latency and the subclass
-	  latency in the calculations.
-	  FIXME: This is still not entirely correct
-
-2015-02-06 10:30:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't add the latency property to the max latency
-	  It has no meaning for the max latency and is only used to increase the min
-	  latency.
-
-2015-01-26 17:06:29 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Cleanup locking around AggregatorPad flush related fields
-	  And document the locking
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-26 13:11:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: keep chain functions as dumb as possible.
-	  + A pad chain function has no business checking other pads,
-	  that's what the aggregate thread is for.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-26 11:32:47 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: More fixes around locking when accessing protected private fields
-	  In some more places we were accessing GstAggregator->segment
-	  and GstAggregator->seqnum without holding the GST_OBJECT_LOCK
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-26 11:29:08 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Make the PAD_LOCK private
-	  Instead of using the GST_OBJECT_LOCK we should have
-	  a dedicated mutex for the pad as it is also associated
-	  with the mutex on the EVENT_MUTEX on which we wait
-	  in the _chain function of the pad.
-	  The GstAggregatorPad.segment is still protected with the
-	  GST_OBJECT_LOCK.
-	  Remove the gst_aggregator_pad_peak_unlocked method as it does not make
-	  sense anymore with a private lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  aggregator: Hide GstAggregatorPad buffer and EOS fileds
-	  And add a getter for the EOS.
-	  The user should always use the various getters to access
-	  those fields
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 18:41:43 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Document locking of GstAggregatorPrivate members
-	  Most of them are protected by the object lock, specify
-	  which ones use a different lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 18:47:09 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Document how the segment is protected
-	  Document that it can only be accessed with the object lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 19:44:57 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Protect all latency related members with the object lock
-	  The locking was not consistent, now consistently use the object lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 19:43:12 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Document locking for gst_aggregator_get_latency_unlocked()
-	  Renamed it to _unlocked() to make it clear.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 19:35:25 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Protect the srcpad caps negotiation with the stream lock
-	  Instead of adding another lock, use the srcpad stream lock, which is already
-	  taken anyway to push out the new caps if needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 19:33:18 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Protect the tags with the object lock
-	  The tags related variables were sometimes protected, sometimes not and
-	  sometimes atomic. Put them all under the object lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 18:53:20 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Consistenly lock the flow_return state
-	  Use the object's lock to protect it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-21 18:45:36 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Consistently lock some members
-	  Some members sometimes used atomic access, sometimes where not locked at
-	  all. Instead consistently use a mutex to protect them, also document
-	  that.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-14 14:38:09 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Protect exported pad members with the pad's object lock
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-14 14:35:15 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Replace event lock with pad's object lock
-	  Reduce the number of locks simplify code, what is protects
-	  is exposed, but the lock was not.
-	  Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-09 22:01:00 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Protect data with the same mutex as GCond
-	  Whenever a GCond is used, the safest paradigm is to protect
-	  the variable which change is signalled by the GCond with the same
-	  mutex that the GCond depends on.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742684
-
-2015-01-14 23:47:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Nitpick spacing/punctuation in debug logging
-
-2015-01-09 21:51:40 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Remove pointless atomic
-	  It is only modified from the streaming thread
-
-2015-01-09 21:30:36 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix query leak
-
-2015-01-09 16:43:39 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Print jitter from clock waiting in the debug logs
-
-2015-01-04 17:15:37 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: don't use iterator when setting flush pending on pads
-
-2015-01-04 16:57:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: check if pads are ready more efficiently
-	  No need to use an iterator for this which creates a temporary
-	  structure every time and also involves taking and releasing the
-	  object lock many times in the course of iterating. Not to mention
-	  all that GList handling in gst_aggregator_iterate_sinkpads().
-
-2015-01-04 12:59:19 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: name vfunc arguments consistently
-
-2015-01-01 15:46:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add g-i transfer and scope annotations
-
-2015-01-01 14:10:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: register names of iterate_sinkpads functions with debug system
-
-2015-01-01 14:03:02 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: reduce debug messages for taking/releasing logs to TRACE level
-	  Don't spam debug log with this stuff.
-
-2014-12-31 18:16:21 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: move property member into private structure
-	  Our locking (or lack thereof) while accessing this also
-	  looks generally quite dodgy.
-
-2014-12-31 14:50:58 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove empty dispose function
-
-2014-12-30 23:58:34 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: give private functions namespace prefix
-	  Especially the GST_DEBUG_FUNCPTR ones.
-
-2014-12-31 12:35:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: fix up some docs comments in header
-
-2014-12-30 23:44:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: remove now-unused system clock member
-
-2014-12-30 19:22:01 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: make GstAggregatorPadForeachFunc take an GstAggregatorPad
-
-2014-12-30 17:50:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: bring start/stop vfunc semantics in line with other baseclasses
-	  Sub-class should not have to chain up to GstAggregator's start/stop
-	  vfuncs, same as in GstBaseSrc, GstBaseSink, GstBaseTransform etc.
-
-2014-12-28 18:26:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove pointless GST_DEBUG_FUNCPTR
-	  Not useful for GObject vfuncs.
-
-2014-12-28 18:24:21 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: remove duplicate pad parent_class variable
-	  G_DEFINE_TYPE already provides one, just need to use it.
-
-2014-12-28 18:22:57 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add _CAST() variants for cast macros
-
-2014-12-28 01:13:33 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: make padding larger
-	  Esp. the class structures, can't have enough
-	  spare space for virtual functions.
-
-2014-12-27 16:15:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Log to the pad instead of the element
-	  More correct way of doing the same thing as before
-
-2014-12-27 09:49:43 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Make sure that the minimum latencies are never GST_CLOCK_TIME_NONE
-
-2014-12-27 09:42:57 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Wait for the minimum latency, not the maximum
-	  The minimum latency is the latency we have to wait at least
-	  to guarantee that all upstreams have produced data. The maximum
-	  latency has no meaning like that and shouldn't be used for waiting.
-
-2014-12-27 04:21:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Clamp the min latency at the max if it's greater
-
-2014-12-27 04:21:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Print the sinkpad name while logging latency queries
-	  Very useful while debugging.
-
-2014-12-27 04:19:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Take the stream lock when iterating sink pads
-	  When iterating sink pads to collect some data, we should take the stream lock so
-	  we don't get stale data and possibly deadlock because of that. This fixes
-	  a definitive deadlock in _wait_and_check() that manifests with high max
-	  latencies in a live pipeline, and fixes other possible race conditions.
-
-2014-12-23 11:45:05 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't leak flush-start events
-
-2014-12-23 10:24:27 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Also change the default latency to 0, not just the minimum
-
-2014-12-23 09:52:20 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix docs and default value of the latency property
-
-2014-12-22 22:19:52 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Also include the subclass latency in the result of the latency query
-
-2014-12-22 15:26:37 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Post a latency message if the value of the latency property changes
-
-2014-12-22 15:03:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Wake up the src thread after handling a latency query
-	  Due to changed latencies or changed live-ness we might have to
-	  adjust if we wait on a deadline at all and how long.
-
-2014-12-22 15:00:36 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Don't count the number of times we need to wake up but instead check all conditions for waiting again
-	  This simplifies the code and also makes sure that we don't forget to check all
-	  conditions for waiting.
-	  Also fix a potential deadlock caused by not checking if we're actually still
-	  running before starting to wait.
-
-2014-12-17 19:51:32 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: Add function to allow subclasses to set their own latency
-	  For audiomixer this is one blocksize, for videoaggregator this should
-	  be the duration of one output frame.
-
-2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  aggregator: Add a timeout parameter to ::aggregate()
-	  When this is TRUE, we really have to produce output. This happens
-	  in live mixing mode when we have to output something for the current
-	  time, no matter if we have enough input or not.
-
-2014-12-16 19:49:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests: fix aggregator unit test after property renaming
-
-2014-12-16 17:33:01 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Some minor cleanup
-
-2014-12-05 18:19:54 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: make the src pad task drive the pipeline for live pipelines
-	  This removes the uses of GAsyncQueue and replaces it with explicit
-	  GMutex, GCond and wakeup count which is used for the non-live case.
-	  For live pipelines, the aggregator waits on the clock until either
-	  data arrives on all sink pads or the expected output buffer time
-	  arrives plus the timeout/latency at which time, the subclass
-	  produces a buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=741146
-
-2014-12-14 01:29:26 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests/aggregator: Use correct type when setting property
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741495
-
-2014-11-19 17:17:06 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Unblock events/queries immediately if the pad is flushing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
-
-2014-11-19 17:15:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Drop serialized events/queries if the pad is flushing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
-
-2014-11-19 17:03:41 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Block serialized events/queries until the pad has consumed all buffers
-	  Otherwise the caps of the pad might change while the subclass still works with
-	  a buffer of the old caps, assuming the the current pad caps apply to that
-	  buffer. Which then leads to crashes and other nice effects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740376
-
-2014-11-19 17:03:33 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix typo in debug output
-
-2014-11-17 14:00:10 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add _get_latency() for subclass usage
-	  API: gst_aggregator_get_latency
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739996
-
-2014-10-20 18:25:08 +0530  Vineeth T M <vineeth.tm@samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  audiomixer: critical error for blocksize, timeout min/max values
-	  Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
-	  timeout value of aggregator is defined with MAX of MAXINT64,
-	  but it cannot cross G_MAXLONG * GST_SECOND - 1
-	  Hence changed the max value of the same
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738845
-
-2014-10-07 16:57:27 +1100  Matthew Waters <matthew@centricular.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests/aggregator: add timeout handling test for the timeout parameter
-
-2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add latency query handling
-
-2014-10-06 18:23:03 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	  aggregator: add a timeout property determining buffer wait time
-	  Determines the amount of time that a pad will wait for a buffer before
-	  being marked unresponsive.
-	  Network sources may fail to produce buffers for an extended period of time,
-	  currently causing the pipeline to stall possibly indefinitely, waiting for
-	  these buffers to appear.
-	  Subclasses should render unresponsive pads with either silence (audio), the
-	  last (video) frame or what makes the most sense in the given context.
-
-2014-09-17 16:48:02 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Replace GMainContext with GAsyncQueue (v2)
-	  The previous implementation kept accumulating GSources,
-	  slowing down the iteration and leaking memory.
-	  Instead of trying to fix the main context flushing, replace
-	  it with a GAsyncQueue which is simple to flush and has
-	  less overhead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736782
-
-2014-08-05 15:36:30 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Set seqnum only when segments are received.
-
-2014-08-02 18:25:01 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Add a streaming lock so to secure flush start action
-	  Without a lock that is taken in FLUSH_START we had a rare race where we
-	  end up aggregating a buffer that was before the whole FLUSH_START/STOP
-	  dance. That could lead to very wrong behaviour in subclasses.
-
-2014-07-18 13:58:55 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Query seeking when a seek failed to see if it was expected
-	  And do not worry if seeking failed on a stream that is not seekable
-
-2014-07-18 01:41:26 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: set future seqnum before propagating the seek event.
-	  So the seqnum is properly set for the following events.
-
-2014-07-08 16:16:55 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Store segment when seeked in READY for later use
-
-2014-10-06 10:11:23 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Unref the taglist in GstAggregator::stop()
-
-2014-10-03 12:34:15 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Take lock to ensure set_caps is not called concurently
-	  Avoiding to be in an inconsistent state where we do not have
-	  actual negotiate caps set as srccaps and leading to point where we
-	  try to unref ->srccaps when they have already been set to NULL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735042
-
-2014-08-11 23:38:40 +1000  Matthew Waters <ystreet00@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix up doc comment for set_src_caps
-	  It does not occur 'later' anymore
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
-
-2014-08-07 19:54:36 +1000  Matthew Waters <ystreet00@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  videoaggregator: push the caps event as soon as we receive it
-	  Along with the required mandatory dependent events.
-	  Some elements need to perform an allocation query inside
-	  ::negotiated_caps().  Without the caps event being sent prior,
-	  downstream elements will be unable to answer and will return
-	  an error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732662
-
-2014-07-16 16:57:35 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Reset flow_return *after* stopping the srcpad task.
-	  Otherwise it might be set in an already running aggregate function.
-
-2014-07-10 13:18:21 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Flush sinkpads when stopping
-	  All values are meaningless in that case, so we should make sure that
-	  we clean everything
-
-2014-07-10 13:15:55 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Do not forget to reset the flow return when stoping
-	  Setting it to FLUSHING when the element is not started, and to OK
-	  when it starts.
-
-2014-07-08 16:48:08 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Handle event seqnum
-
-2014-07-06 16:17:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: fix locking
-	  We would unlock a mutex we never locked on SEGMENT
-	  events.
-
-2014-06-30 12:22:07 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	* tests/check/libs/aggregator.c:
-	  aggregator: Avoid destroying sources we do not own
-	  + Unref the maincontext in a new dispose function
-	  + Make sure to remove all sources on dispose
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732445
-
-2014-06-28 11:20:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/libs/aggregator.c:
-	  tests: aggregator: fix various leaks in the tests
-
-2014-06-28 09:34:05 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: always store or unref the buffer on the _chain function
-	  Otherwise it leaks, and it is very common to go to flushing when the
-	  pipeline is stopping, leaking a buffer.
-
-2014-06-28 09:32:32 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: always unref the buffer on _finish function
-	  Otherwise the user doesn't know if it was unref'd or not
-
-2014-06-28 09:31:55 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: add dispose/finalize functions
-	  Add functions to be able to cleanup the mutex/cond and pending buffers
-	  on the aggregator and on its pad
-
-2014-06-26 10:53:16 +1000  Matthew Waters <ystreet00@gmail.com>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: plug a memory leak of the srccaps
-
-2014-06-21 16:51:01 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.h:
-	  libs:base: Properly declare APIs as UNSTABLE
-
-2014-06-21 13:45:13 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	  aggregator: Fix requested pad name
-
-2014-05-22 19:44:37 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstaggregator.c:
-	* libs/gst/base/gstaggregator.h:
-	* tests/check/libs/aggregator.c:
-	  aggregator: Add new GstAggregator base class
-	  This base class has been added to a newly created libgstbadbase library
-	  Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731917
-
-2017-12-02 12:02:15 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: add test for post-gst_init() category registration perf
-	  When registering categories after gst_init() we would re-check *all*
-	  categories against the existing GST_DEBUG patterns again, whereas
-	  it's enough to just check the new category. Moreover, we would parse
-	  the GST_DEBUG pattern string again and re-add that to the existing
-	  pattern list for every newly-registered debug category, and then
-	  check that against all categories of course. This made registering
-	  categories after gst_init() very very slow.
-
-2017-12-02 12:29:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: always check match patterns for new debug categories
-	  Not only if a match pattern was set originally via GST_DEBUG.
-	  Patterns might be set programmatically as well after all.
-
-2017-12-02 12:22:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: fix performance issue with registering categories after gst_init()
-	  When registering a new debug category after gst_init(), simply check
-	  the existing patterns against that new category.
-	  No need to iterate over all categories and recheck them all against
-	  the existing patterns.
-	  Also, no need to re-parse the existing pattern string set via GST_DEBUG
-	  and add the same set of match patterns all over again to the existing
-	  list of match patterns every time we register a new debug category.
-	  Combined with iterating all debug categories on a change this would
-	  make adding debug categories after gst_init() very very very slow.
-
-2017-12-01 13:33:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstplugin.c:
-	  plugin-scanner: Measure string length in bytes
-	  g_strndup() wants a number of bytes to copy, so use strlen intead of
-	  UTF-8 strlen function.
-
-2017-11-30 17:49:10 +0100  Michael Tretter <m.tretter@pengutronix.de>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: do not require a name to create a clock
-	  The gst_ptp_clock_new() does not actually require a name. However, for
-	  example the rtpjitterbuffer may create a clock without a name, fail, and
-	  fall back to not using the PTP clock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=791034
-
-2017-11-28 23:37:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: fix readable flag printing for pad properties
-
-2017-11-27 20:09:42 +1100  Matthew Waters <matthew@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 3f4aa96 to e8c7a71
-
-2017-11-26 13:31:28 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstpreset.c:
-	  Revert "preset: Do not save deprecated properties"
-	  This reverts commit 81e10f61231ad56ca4aa07278993b87c6ec0f058.
-	  A mistake lead to committing it twice in a weird way.
-
-2017-11-03 12:20:47 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstpreset.c:
-	  preset: Do not save deprecated properties
-	  It will g_warn upon deserialization and we should not use
-	  those anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789871
-
-2017-11-08 12:46:44 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gsttaglist.c:
-	  taglist: Avoid assertions when getting tag nick from unregister tag
-	  With serialized GstDiscovererInfos we might end up trying to use
-	  tags that have not been registered.
-
-2017-11-03 12:23:50 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstpreset.c:
-	  preset: Do not save deprecated properties
-	  It will g_warn upon desarialization and we should not use
-	  those anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789871
-
-2017-10-13 00:21:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlog.c:
-	  tracers: log: no need to link to our internal printf implementation
-	  The call to __gst_vasprintf() was removed in commit 1a3e218b8.
-
-2017-11-26 00:20:13 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: don't print element flags whch are always 'none'
-	  We print the interesting flags like clocking capabilities separately
-	  later, this function just always prints 'none', so remove it.
-
-2017-11-25 23:43:56 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: print pad properties where we know the subclass type
-
-2017-11-25 22:27:08 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: refactor way indentation is done during printing
-
-2017-11-25 13:07:12 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Use free instead of g_free
-	  Because
-
-2017-11-25 12:44:11 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Don't leak array of strings
-	  The array provided by backtrace_symbols needs to be freed.
-
-2017-11-24 12:08:07 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstbuffer.c:
-	  check/buffer: Remove usless memcmp with empty size
-	  1) checking nothing against nothing is pointless
-	  2) memcmp needs to be provided non-NULL arguments
-
-2017-11-24 12:05:26 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstutils.c:
-	  gstutils: Fix linear regression comparision
-	  The check for dropping precision was wrong when sxx and syy were negative.
-	  if they are negative then "G_MAXINT64 - val" would always overflow
-	  The check was meant to use G_MININT64 (like in the loop contained just
-	  after).
-
-2017-11-24 13:58:01 +1100  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	  check: add missing harness function to symbol export list
-	  Fixes in user code:
-	  undefined reference to `gst_harness_add_element_sink_pad'
-	  Also reorder harness function list to be strictly in alphabetical order and
-	  double check the list with:
-	  awk '{ if ($1 !~ /#define/) if ($2 ~ /gst_harness_/) { print $2 }; if ($3 ~ /gst_harness_/) { print $3} }' libs/gst/check/gstharness.h | sort
-
-2017-11-24 13:41:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/capsfilter.c:
-	* tests/check/elements/dataurisrc.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/queue2.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/elements/valve.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/generic/states.c:
-	* tests/check/gst/gst.c:
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/gstatomicqueue.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstbufferpool.c:
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstcapsfeatures.c:
-	* tests/check/gst/gstchildproxy.c:
-	* tests/check/gst/gstclock.c:
-	* tests/check/gst/gstcontext.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/gst/gstcpp.cc:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstindex.c:
-	* tests/check/gst/gstinfo.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/gst/gstplugin.c:
-	* tests/check/gst/gstpoll.c:
-	* tests/check/gst/gstpreset.c:
-	* tests/check/gst/gstprintf.c:
-	* tests/check/gst/gstpromise.c:
-	* tests/check/gst/gstprotection.c:
-	* tests/check/gst/gstquery.c:
-	* tests/check/gst/gstsegment.c:
-	* tests/check/gst/gststream.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/gst/gsttask.c:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tests/check/gst/gsttracerrecord.c:
-	* tests/check/gst/gsturi.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/adapter.c:
-	* tests/check/libs/gstharness.c:
-	* tests/check/libs/gstnetclientclock.c:
-	* tests/check/libs/gstnettimeprovider.c:
-	* tests/check/libs/gsttestclock.c:
-	  tests: include config.h and don't include unix headers
-	  In many cases the unistd.h includes weren't actually needed.
-	  Preparation for making tests work on Windows with MSVC.
-
-2017-11-24 13:21:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/test_transform.c:
-	  tests: add missing license header to test_transform.c
-
-2017-11-10 16:26:50 +0100  Mikhail Fludkov <misha@pexip.com>
-
-	* configure.ac:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/Makefile.am:
-	  gsttraceutils: actually disable tracing system hooks if configured
-	  `./configure --disable-gst-tracer-hooks` didn't do anything, hooks were
-	  always enabled regardless of the option. It works correctly in the
-	  Meson build though.
-
-2017-10-26 12:09:07 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: add gst_utils_dump_buffer()
-	  Useful for debugging.
-
-2017-10-10 15:44:51 +0200  HÃ¥vard Graff <havard.graff@gmail.com>
-
-	* pkgconfig/meson.build:
-	  meson.build: use join_paths() on prefix
-	  So that "/" are correct on Windows and the paths in
-	  the .pc files are like C:/some/where and not
-	  C:\some\where.
-
-2017-11-24 09:49:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/net/gstptpclock.c:
-	  libs: fix indentation
-
-2017-08-18 14:30:32 +0200  Stian Selnes <stian@pexip.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  pad: gst_pad_activate_mode() always succeed if same mode
-	  Checking that the pad is in the correct mode before the parent is
-	  checked makes the call always succeed if the mode is ok.
-	  This fixes a race with ghostpad where gst_pad_activate_mode() could
-	  trigger a g_critical() if the ghostpad is unparented while the
-	  proxypad is deactivating, for instance if the ghostpad is released.
-	  More specifically, gst_ghost_pad_internal_activate_push_default()'s
-	  call to gst_pad_activate_mode() would fail if ghostpad doesn't have a
-	  parent. With this patch it will return true of mode is already
-	  correct.
-
-2017-03-31 16:36:05 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstfunnel.h:
-	  gstbasetranform: replace GST_BASE_TRANSFORM with GST_BASE_TRANSFORM_CAST
-	  To avoid a global type-lock on chain etc.
-
-2017-11-24 09:53:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: return TRUE if target pad was already set
-	  The state is as it should be, so no reason to return
-	  FALSE really, everything's good.
-
-2017-11-24 09:40:07 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: access internal pad with lock held
-
-2017-03-30 09:17:08 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* gst/gstghostpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  ghostpad: fix race-condition while tearing down
-	  An upstream query will take a ref on the internal proxypad, and can
-	  hence end up owning the last reference to that pad, causing a crash.
-
-2013-03-23 13:44:51 +0100  Haakon Sporsheim <haakon.sporsheim@gmail.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Add test suite time elapsed output
-
-2017-11-23 15:28:39 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Only calculate level if we have valid levels
-	  Doing calculations with GST_CLOCK_STIME_NONE would result in
-	  completely bogus levels
-
-2017-11-23 13:56:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: allocate slightly larger than needed tables at startup
-	  If we pre-allocate only *exactly* as many nodes as we need for the
-	  core types, we are practically guaranteed a re-alloc when external
-	  code like GstVideoTimeCode or GstEncodingProfile register their
-	  own GstValue things. So allocate a bit more than strictly needed.
-
-2017-11-06 21:10:54 +0100  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	* win32/common/libgstreamer.def:
-	  pad templates: Allow specifying GType
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=731301
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789986
-
-2017-11-22 15:59:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update for latest promise api changes
-
-2017-04-03 22:20:51 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstpromise.c:
-	* gst/gstpromise.h:
-	* gst/meson.build:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstpromise.c:
-	* tests/check/meson.build:
-	* win32/common/libgstreamer.def:
-	  gst: add a promise object
-	  An object that can be waited on and asked for asynchronous values.
-	  In much the same way as promise/futures in js/java/etc
-	  A callback can be installed for when the promise changes state.
-	  Original idea by
-	  Jan Schmidt <jan@centricular.com>
-	  With contributions from
-	  Nirbheek Chauhan <nirbheek@centricular.com>
-	  Mathieu Duponchelle <mathieu@centricular.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789843
-
-2017-11-20 17:01:04 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Make sure we use aligned memory
-	  This is in the same vein as for all other features. Some systems
-	  might not allow unaligned read.
-
-2017-11-17 00:15:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: stop printing element state_change function
-	  This is really not interesting at all, not sure why we print this.
-
-2017-11-17 00:14:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: fix double empty line after pad templates
-
-2017-11-16 10:47:46 +0100  Edward Hervey <edward@centricular.com>
-
-	  gstpad: Make pad (de)activation atomic
-	  The following could happen previously:
-	  * T1: calls gst_pad_set_active()
-	  * T2: currently (de)activating it
-	  * T1: gst_pad_set_active() returns, caller assumes that the pad has
-	  completed the requested (de)activation ... whereas it is not
-	  the case since the actual (de)activation in T2 might still be
-	  going on.
-	  To ensure atomicity of pad (de)activation, we use a internal
-	  variable (and cond) to ensure only one thread at a time goes through
-	  the actual (de)activation block
-	  https://bugzilla.gnome.org/show_bug.cgi?id=790431
-
-2017-11-16 08:26:12 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  gstpad: Make calls to GstPadActivateFunction MT-safe
-	  checking whether we already were in the target GstPadMode was being
-	  done too early and there was the risk that we *would* end up
-	  (de)activating a pad more than once.
-	  Instead, re-do the check for pad mode when entering the final pad
-	  (de)activation block.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=790431
-
-2017-11-10 12:07:28 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstparamspecs.c:
-	  paramspec: Move condition check inside the g_return
-	  It's mostly a debug check and crash avoidance, it's better to
-	  keep all the condition inside the macro.
-
-2017-11-10 12:03:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstparamspecs.c:
-	  paramspec: Add missing since for _spec_array()
-
-2017-11-10 14:10:31 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Handle single-pad use-cases
-	  When EOS reaches concat, it will switch to the next candidate as its
-	  activate pad.
-	  The problem arises when there is only one sinkpad, the "active" pad
-	  becomes NULL. This results in concat becoming unusable after it receives
-	  a *single* EOS on its single sinkpad.
-	  If we detect there is a single sinkpad and there is no current active pad:
-	  * If we are waiting (from selected sink event/buffer), become the current
-	  active pad.
-	  * If there is a seek request, send it upstream. We don't switch the
-	  active_sinkpad property at that point in time, since the seek could
-	  fail. If the seek succeeds, the following SEGMENT (or STREAM_START)
-	  will cause the pad_wait() to elect that pad as the new active one.
-	  * Flush events get forwarded
-	  https://bugzilla.gnome.org/show_bug.cgi?id=790167
-
-2017-11-09 17:38:19 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Make QoS forward MT-safe
-	  In the same way it's done for other event forwarding.
-
-2017-04-13 16:28:54 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/tracers/gstlatency.c:
-	  latency tracer: add timestamp to tracer records
-	  Include the timestamp of the recorded log as in the 'stats' tracer.
-	  This can be useful, for example, to plot a graph showing the latency
-	  over time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781315
-
-2017-11-04 11:45:54 +0100  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Fix overflow some more
-	  Nothing guaranteed that off+size wouldn't exceed a 2**64 value.
-	  Instead we reverse the operation and use a subtraction.
-
-2017-11-04 10:34:10 +0100  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Fix signed integer overflow
-	  Make sure the whole calculation is done with 64bit unsigned values
-	  (To be ready for people want to typefind exabyte files).
-
-2017-08-01 11:06:32 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* tests/check/gst/gstelement.c:
-	* win32/common/libgstreamer.def:
-	  element: add gst_element_foreach_*pad()
-	  Add convenience API that iterates over all pads, sink pads or
-	  source pads and makes sure that the foreach function is called
-	  exactly once for each pad.
-	  This is a KISS implementation. It doesn't use GstIterator and
-	  doesn't try to do clever things like resync if pads are added
-	  or removed while the function is executing. We can still do that
-	  in future if we think it's needed, but in practice it will
-	  likely make absolutely no difference whatsoever, since these
-	  things will have to be handled properly elsewhere by the element
-	  anyway if they're important.
-	  After all, it's always possible that a pad is added or removed
-	  just after the iterator finishes iterating, but before the
-	  function returns.
-	  This is also a replacement for gst_aggregator_iterate_sink_pads().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785679
-
-2017-10-27 14:58:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  gstleaks.c: always log leaks listing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789556
-
-2017-11-01 12:27:31 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/meson.build:
-	  net: Add new file to the meson.build
-
-2017-11-01 11:31:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/misc/netclock-replay.c:
-	  examples/netclock-replay: Fix build
-
-2017-10-30 10:49:06 +0100  Robert Rosengren <robertr@axis.com>
-
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnetutils.c:
-	* libs/gst/net/gstnetutils.h:
-	  netutils: Add util for setting socket DSCP
-	  Util function for setting QoS DSCP added, to remove duplicated code in
-	  netclientclock and nettimeprovider. Fix build error if missing IP_TOS.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784737
-
-2017-10-31 11:39:23 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstvalue.h:
-	  gstvalue: Cast GST_MAKE_FOURCC arguments
-	  To make it explicit that we are dealing with uint32 targets
-	  Avoids erroneous  runtime error: left shift of negative value -1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=789700
-
-2017-10-11 11:08:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/tracers/gstlatency.c:
-	  latency-tracer: Exclude synchronization time
-	  The goal of this tracer is to measure the processing latency between a
-	  src and a sink. In push mode, the time was read after the chain function
-	  have returned. As the amount of time we wait to get synched is reverse
-	  to the amount of latency the source introduced, the result was quite
-	  surprising.
-	  This patch moves the latency calculation in the pre-push hook. When
-	  there is no processing in a a pipeline (e.g. fakesrc ! fakesink), the
-	  latency will now be 0 as it's supposed to. For pull mode, the code was
-	  already correct. When GstBaseSink operate in pull mode, the processing
-	  time is done durring the pull, so pull-post is the right hook. The
-	  synchronization will happen after the pull has ended. Note that
-	  GstBaseSink rarely operate in pull mode.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788431
-
-2017-10-27 09:53:06 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Don't allow invalid SELECT_STREAMS event creation
-	  Asking to select no streams makes no sense and can create various
-	  issues.
-	  If one doesn't one any stream it should deactivate (or not use) the
-	  element in question.
-
-2017-10-25 17:10:15 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gst.c:
-	  gst: Fix build with option parsing disabled
-
-2017-10-20 17:28:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstsegment.c:
-	  segment: update the tests
-	  Boy scout rule. Make is a little less painful to debug the tests by using
-	  fail_unless_equals_{uint64,int64,float} where appropriate. Ideally the large
-	  tests would be splitted to avoid guessing data dependencies.
-
-2017-10-20 16:15:01 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.h:
-	  segment: clarify the segment docs for the duration
-
-2017-10-20 16:11:44 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	  Revert "segment: also intialize the duration"
-	  This reverts commit f1baaae17557fa75a9bcd940b994597714be2f74.
-
-2017-10-20 14:30:42 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	  segment: also intialize the duration
-	  If start and stop are set, calculate the duration and set it too.
-
-2017-10-20 13:02:35 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: print more details for typefind and tracer features
-	  Print full details for typefind features. Print some of the available features
-	  for tracers and add some todos for the ones we'd like to see.
-
-2017-10-20 11:16:46 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: reduce casting back and forth
-	  Refactor the print_element_info() to take a GstPluginFeature. Reduces the need
-	  to cast to and from GstElementFactory.
-
-2017-10-20 11:08:14 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: simplify the code for printing feature info
-	  Rename print_element_features() to print_feature_info() and move the code that
-	  handles the ElementFactory there. This simplifies the calling code and improves
-	  readability.
-	  Also don't leak the features for other factories.
-
-2017-06-02 16:27:29 +0200  Robert Rosengren <robertr@axis.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Add possibility to set QoS DSCP value
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784737
-
-2017-06-01 15:48:16 +0200  Robert Rosengren <robertr@axis.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: Add possibility to set QoS DSCP value
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784737
-
-2017-10-18 02:31:12 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  seqnum: Never return a seqnum of 0, reset GST_SEQNUM_INVALID
-	  Various plugins use the value of '0' as an invalid seqnum value
-	  (qtdemux for matching duplicated seek events, for example). Make
-	  that behaviour explicit, create a GST_SEQNUM_INVALID value,
-	  and ensure gst_util_seqnum_next never returns it.
-
-2017-10-16 16:06:37 +0530  Ashish Kumar <kr.ashish@samsung.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: Fix for possible crashes due to null pointer dereferencing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788838
-
-2017-10-15 15:59:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: mention the query function in the docs as well
-
-2017-10-06 21:59:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstmeta.c:
-	  gstbuffer: fix meta removal in gst_buffer_foreach_meta
-	  When updating the linked list, prev->next = next is correct
-	  if prev is actually updated after being set to the head
-	  of the list at the start.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788617
-
-2017-10-10 15:53:38 +0200  fengalin <fengalin@free.fr>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: Fix version for ref and unref functions
-	  The functions were introduced in version 1.12.1, GstFlowCombiner was
-	  introduced in 1.4.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788778
-
-2017-10-05 13:35:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use new gst_buffer_list_calculate_size() utility function
-
-2017-10-05 10:24:24 +0530  Ashish Kumar <kr.ashish@samsung.com>
-
-	* gst/gstdeviceprovider.c:
-	  device-provider: gst_device_provider_unhide_provider() always fails
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788520
-
-2017-10-04 14:16:46 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* gst/meson.build:
-	* libs/gst/base/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	* meson.build:
-	  meson: remove vs_module_defs
-	  The GST_EXPORT should handle it.
-
-2017-10-03 13:54:25 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstntppacket.c:
-	* plugins/elements/gstidentity.c:
-	  Use proper GtkDoc notation for NULL/FALSE/TRUE
-
-2017-10-02 17:59:17 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: iterate_sorted: Ensure sources are always returned last
-	  For linked elements, the resulting gst_bin_iterate_sorted() will
-	  properly return elements from sink to sources.
-	  If we have some elements that are not linked, we *still* want to
-	  ensure that we return:
-	  * In priority any sinks
-	  * Last of all any sources
-	  * And in between any element which is neither source nor sink
-	  For this to work, when looking for the next candidate element,
-	  not only check the degree order, but if there are two candidates
-	  with the same degree order, prefer the non-source one.
-	  Amongst other things, this fixes the case where we activating a
-	  bin containing unlinked sources and other elements. Without this
-	  we could end up activating sources (which might start adding pads
-	  to be linked) before other (to which those new source element pads
-	  might be linked) are not activated
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788434
-
-2017-10-02 14:11:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/elements/tee.c:
-	  tee-test: Test a real use case
-	  The real use case is when downstream didn't set a pool or
-	  allocation params, in which case we expect the tee to not
-	  create a pool or param from thin air. Dowstream setting
-	  an pool with size=0 was in fact testing a downstream element
-	  bug. The fact we handle that is accidental.
-
-2017-10-02 16:26:33 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	* tests/check/elements/tee.c:
-	  tee: don't create a pool if none is needed
-	  If the aggregated size is 0 and we create a pool, the pool would provide
-	  buffers with no memory assigned. Handle that case and skip the pool.
-	  This was the behaviour before cf803ea9f4e3fde92c1da86ecc47444035f7c0a7.
-	  Add a test for this scenario.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-10-02 13:35:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/elements/tee.c:
-	  tee: Re-enabled alloc query + allow-not-linked test
-	  In the unit test refactoring, the unlinked pad required to test
-	  the different behaviour induced by "allow-not-linked" property
-	  was removed.
-	  Commit e364d7944ecbab86dea73c0ee3e639e766938d36
-	  Move all the code for this test in the proper function, and re-add
-	  the missing unlinked pad. This makes the test useful again.
-
-2017-10-02 16:25:00 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/elements/tee.c:
-	  tee: split the allocation query test
-	  Split the large allocation_query test into seperate tests. Add a setup helper
-	  to reduce code duplication. Fix the original test that used fail_unless instead
-	  of ck_assert_int_eq and had it accidentially working.
-
-2017-10-02 16:22:00 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: add a todo comment
-	  Printing NULL is confusing when the type is e.g. a GArray that is not empty.
-
-2017-10-02 13:14:21 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstquery.c:
-	  query: doc consistency
-	  Mention that it is the 'buffer size', like we do elsewhere.
-
-2017-09-28 10:17:53 +0200  Edward Hervey <edward@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update exports file
-
-2017-09-27 20:29:06 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	* gst/gstplugin.c:
-	  gst: Modify behaviour of gst_get_main_executable_path
-	  To actually return the path of the executable, not its
-	  directory.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788256
-
-2017-09-26 21:51:53 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gst.h:
-	* win32/common/libgstreamer.def:
-	  gst: API: gst_get_main_executable_path()
-	  This is useful for plugins that need to inspect the
-	  folder of the main executable in order to determine the
-	  set of features they will expose, for example:
-	  https://github.com/centricular/gstreamer-vst3
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788214
-
-2017-09-27 13:07:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	  gst: Do not try to determine executable path on iOS.
-	  The method used relies on "libproc.h", which is only available
-	  on OSX.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788234
-
-2017-09-27 13:01:13 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	  gst: Fix typo in windows function name.
-	  GetModuleFilename -> GetModuleFileName
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788234
-
-2017-09-27 10:06:12 +0200  Edward Hervey <edward@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update export file
-
-2017-09-26 15:15:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	  plugin dependencies: fix 6cddce7663cb4b6ee061950d20365f42cb755851
-	  There were a few errors:
-	  * The plugin scanner now accepts executable path as an argument.
-	  In case it is NULL, argc == 2
-	  * We find the executable path in init_pre instead of gst_init,
-	  allowing this to work when gst is initialized through the
-	  option group (eg gst-inspect)
-	  * There was a semi-colon missing in the __APPLE__ #ifdef
-
-2017-09-25 20:35:59 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginloader.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* win32/common/libgstreamer.def:
-	  plugin: API: GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE
-	  When a plugin declares a dependency using this flag, all the
-	  relative paths are considered to be relative to the path of
-	  the main executable.
-	  We try to determine the path of the executable portably,
-	  with implementations provided for Linux, Windows and Mac.
-	  If retrieval of the path fails, we will not detect changes.
-	  In order for the main executable path to be the same when
-	  scanning a plugin in a child process, a new variable is
-	  exposed in gst_private.h, _gst_executable_path
-	  https://bugzilla.gnome.org/show_bug.cgi?id=788152
-
-2017-09-21 14:13:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* scripts/git-update.sh:
-	  git-update: Also build $EXTRA_MODULES
-	  Doing a git pull but not autogen.sh / make is not consistent behaviour.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=787981
-
-2017-09-19 23:58:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Print GstValueArray properties nicely
-	  https://bugzilla.gnome.org/show_bug.cgi?id=787924
-
-2017-04-01 07:15:22 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  Multiqueue: don't allow dropping SEGMENT_DONE events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780795
-
-2017-09-17 18:55:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstinfo.h:
-	  info: GstStackTraceFlags were added in 1.12
-
-2017-08-31 13:05:57 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  plugins: use new gst_buffer_list_calculate_size()
-
-2017-08-31 12:54:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: add gst_buffer_list_calculate_size()
-	  Returns size in bytes.
-
-2017-08-30 13:50:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: add gst_buffer_list_get_writable()
-	  Ensures buffer is writable. Useful if we want to change
-	  metadata on it such as timestamps.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750241
-
-2017-09-12 18:30:00 +0300  Michael Shigorin <mike@altlinux.org>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h.in: initial e2k arch support
-	  This makes gstreamer buildable on Elbrus 2000.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=787587
-
-2017-09-09 16:14:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstinfo.h:
-	  info: GstDebugColorFlags are flags, not an enum
-	  Annotate as such.
-
-2017-09-06 10:01:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: Add a drop-allocation property
-	  When enabled, this property will make the allocation query fail. This is
-	  the same as one could have done using a tee before the tee started
-	  implementing the allocation query.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-09-05 15:57:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gsttee.c:
-	* tests/check/elements/tee.c:
-	  tee: Allocate one more buffer when multi-plexing
-	  This extra buffer ensure that the downstream threads are not starved
-	  when multiplexing a stream.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-09-05 15:45:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/elements/tee.c:
-	  tee: Add test for the allocation query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-08-08 17:39:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Implement allocation query aggregation
-	  This will aggregate allocation params, pool and will keep all
-	  meta that has no parameters.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-08-08 17:35:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Deprecate alloc-pad property
-	  It has no effect, not implemented, and would lead to bad rendering.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
-
-2017-09-04 12:20:43 +0200  Miguel París <mparisdiaz@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: add test to check handled and drop probes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=787243
-
-2017-09-04 14:33:29 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Don't call remaining probes after they return DROPPED|HANDLED
-	  If multiple probes are set on a pad and one probe returns either
-	  GST_PAD_PROBE_HANDLED or GST_PAD_PROBE_DROPPED we need to stop
-	  calling the remaining probes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=787243
-
-2017-08-26 13:44:38 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Handle serializing NULL GValueArray
-	  Concider them as an empty array and do not segfault...
-	  https://bugzilla.gnome.org/show_bug.cgi?id=786670
-
-2017-08-24 16:00:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix taglist update spam
-	  We would constantly re-post the taglist because
-	  posted_avg_rate only gets set to avg_bitrate if
-	  parse->priv->post_avg_bitrate is true, so if it's
-	  false the posted rate will always differ from the
-	  current average rate and we'd queue an update,
-	  which leads to us spamming downstream and the
-	  application with taglist updates.
-	  Fix this by only queuing an update if the average
-	  rate will actually be posted.
-	  These taglists updates could cause expensive
-	  operations on the application side, e.g. in Totem.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=786561
-
-2017-08-17 12:23:10 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 48a5d85 to 3f4aa96
-
-2017-08-17 14:13:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceprovider.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element/deviceprovider: Add instance getter functions for class properties
-	  That is, the metadata and pad templates. Using instance getters is
-	  easier to deal with for bindings, especially autogenerated ones.
-
-2017-08-16 22:47:31 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: Return FLUSHING instead of EOS and don't start waiting for anything if currently flushing
-	  Otherwise we might try unscheduling a clock id (that does not exist
-	  yet), then the streaming thread waits for id and the state change never
-	  continues because the streaming thread is blocked.
-	  Also shutting down and flushing and similar should return FLUSHING, not
-	  EOS. The stream is not over, we're just not accepting any buffers
-	  anymore.
-
-2017-08-14 11:01:19 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstallocator.c:
-	* win32/common/libgstreamer.def:
-	  allocator: Hide private sysmem GType func
-	  Was never exposed in any header file, only exported
-	  by accident.
-
-2017-08-11 21:17:06 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* configure.ac:
-	  configure: Add switches for enabling/disabling libdw and libunwind
-	  https://bugzilla.gnome.org/show_bug.cgi?id=778193
-
-2017-08-13 10:50:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/libcheck/libcompat/libcompat.h:
-	  libcheck: fix build failure
-	  Need to define CK_DLL_EXP to extern as well in libcompat.h
-	  which gets included before the internal-check.h where the
-	  other fallback definition for CK_DLL_EXP is.
-	  duplicate symbol _check_minor_version in:
-	  libcheckinternal.a(libcheckinternal_la-check.o)
-	  libcheckinternal.a(libcheckinternal_la-check_log.o)
-
-2017-08-11 11:12:09 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Allow re-usability after EOS
-	  After EOS, it is possible for a pad to be resetted by sending
-	  either a STREAM_START or SEGMENT event
-	  Mimic the same behaviour when receiving STREAM_START/SEGMENT events
-	  in queue if we are EOS'd
-	  https://bugzilla.gnome.org/show_bug.cgi?id=786056
-
-2017-08-10 13:32:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/libcheck/meson.build:
-	* meson.build:
-	  meson: hide symbols by default unless explicitly exported
-
-2017-08-10 11:15:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstbufferstraw.h:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gstconsistencychecker.h:
-	* libs/gst/check/gstharness.h:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* libs/gst/check/libcheck/check.h.in:
-	  libs: check: sprinkle some GST_EXPORT
-	  Have to modify libcheck header a bit to avoid warnings
-	  about duplicate 'extern extern'.
-	  Also needs some additions to the libcheck meson.build file
-	  to define CK_EXP_DLL when building the static libcheck.
-
-2017-08-08 12:56:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: fix g-ir-scanner warning about bogus transfer annotations
-	  for vararg parameters. Vararg functions are not introspectable anyway,
-	  so might just as well mark them as '(skip)' while we're at it.
-	  gstutils.c:2611: Warning: Gst: invalid "transfer" annotation for <varargs>: only valid for object and GVariant types
-
-2017-08-09 16:15:23 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Allow re-usability after EOS
-	  After EOS, it is possible for a pad to be resetted by sending
-	  either a STREAM_START or SEGMENT event
-	  Mimic the same behaviour when receiving STREAM_START/SEGMENT events
-	  in queue2 if we are EOS'd
-	  https://bugzilla.gnome.org/show_bug.cgi?id=786056
-
-2017-08-09 10:51:39 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  plugins: *queue* elements: Handle STREAM_START in EOS situation
-	  When queue-like elements are in "EOS" situation (received GST_FLOW_EOS
-	  from downstream or EOS was pushed), they drain buffers/events that
-	  wouldn't be processed anyway and let through events that might
-	  modify the EOS situation.
-	  Previously only GST_EVENT_EOS and GST_EVENT_SEGMENT events were let
-	  through, but we also need to allow GST_EVENT_STREAM_START to go
-	  through since it resets the EOS state of pads since 1.6
-	  https://bugzilla.gnome.org/show_bug.cgi?id=786034
-
-2017-08-08 21:19:32 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: Skip gst_calculate_linear_regression() in bindings
-
-2017-08-07 12:24:37 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Handle buffering levels on NOT_LINKED
-	  When downstream returns NOT_LINKED, we return the buffering level
-	  as being 100%.
-	  Since the queue is no longer being consumed/used downstream, we
-	  want applications to essentially "ignore" this queue for buffering
-	  purposes.
-	  If other streams are still being used, those stream buffering levels
-	  will be used. If none are used, upstream will post an error message
-	  on the bus indicating no streams are used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785799
-
-2017-08-07 11:23:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	  meson: fix gtk-doc invocation
-	  Argument is called "scanobjs_args", and we were missing a quote.
-
-2017-08-07 11:06:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/meson.build:
-	* meson.build:
-	  meson: fix a few warnings
-
-2017-08-07 10:33:32 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* pkgconfig/meson.build:
-	  meson: add -lm to gstreamer-check-1.0 pkgconfig file
-	  Fixes warning with meson from git about LIBM not being
-	  defined in the configuration_data.
-
-2017-08-02 21:02:32 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Recheck sticky events after non-blocking buffer probes and blocking event probes
-	  Without the former, event changes (e.g. setting a pad offset) does not
-	  take effect for the current buffer but only for the next one. Without
-	  the latter, non-blocking event probes would not see any updated events
-	  yet.
-
-2017-07-29 10:28:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: fix build with gst debugging disabled
-
-2017-07-17 21:03:11 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* win32/common/libgstreamer.def:
-	  debug: Add a memory ringbuffer based debug logger
-	  This stores debug logs in memory per thread and uses up to a
-	  configurable amount of bytes per thread for the logs. Inactive threads
-	  are timed out after a configurable amount of time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785035
-
-2017-07-28 17:27:18 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsegment.c:
-	  segment: Add missing out annotations for various parameters
-
-2017-07-26 14:17:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstdownloadbuffer.h:
-	  downloadbuffer: remove unused struct member
-	  This was used in queue2 when handling in coming serialized
-	  queries, but downloadbuffer just refuses serialized queries.
-
-2015-03-10 16:42:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  check: duplicate code branches
-	  CID #1226446
-
-2017-07-26 11:15:58 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* gst/gstelement.c:
-	  element: document that gst_element_continue_state needs to be called with the STATE_LOCK
-	  It internally calls gst_element_change_state(), which requires the STATE_LOCK
-	  https://bugzilla.gnome.org/show_bug.cgi?id=785431
-
-2017-07-20 17:31:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: fix compiler warnings for SIGHUP handlers on windows
-	  Fix unused variable/function compiler warnings on windows.
-	  The SIGHUP handling is only available under unix.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783661
-
-2017-07-20 14:17:48 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix access to NULL pointer
-	  sq can be NULL.
-	  Also fix commit message (it's the queue we are iterating over that we
-	  are logging, not the one passed as argument).
-	  CID #1415569
-
-2017-07-03 15:17:33 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Calculate interleave only within each streaming thread
-	  ... and use the biggest interleave value among streaming threads.
-	  This is to optimize multiqueue size adaptation on adaptive streaming
-	  use case with "use-interleave" property.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784448
-
-2017-07-15 12:40:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/meson.build:
-	  meson: po: use glib preset and read language list from LINGUAS
-	  Supported since meson 0.37, so we can use it now.
-
-2017-07-15 11:54:18 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: don't modify memory if it's clearly not a valid miniobject
-	  Add back function guard that checks the refcount in a read-only
-	  operation first, and bail out without modifying the passed-in
-	  memory if it's clearly not a valid mini object. Otherwise we
-	  probably cause more harm than good. We keep the second sanity
-	  check based on the 'real refcount' at the time of the unref
-	  around for now too.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784383
-
-2017-07-14 16:56:54 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: deprecate non-functional "typefind" property
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736565
-
-2017-07-10 16:52:38 +0200  Francisco Velazquez <francisv@ifi.uio.no>
-
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/complexity.scm:
-	  benchmark: fix complexity benchmark
-	  Make complexity benchmark code work for complexity > 1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784754
-
-2017-07-14 16:12:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* gst/gstpluginloader.c:
-	* meson.build:
-	  win32: find plugin scanner in libexecdir subdir as configured
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679115
-
-2017-07-13 21:52:34 +0800  Jason Lin <shangchieh@realtek.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix buffer leaks if preroll failed
-	  buffer is not unreferened if preroll failed
-	  :Detailed Notes:
-	  - Problem : video freeze when switching from pause to 1/2-FF repeatedly
-	  - RootCause : buffer leaks in basesink
-	  - Solution : unref the buffer if prerolled failed
-	  :Testing Preformed:
-	  How to Test :
-	  pause -> 1/2 FF -> resume -> pause -> 1/2 FF ...
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784932
-
-2017-06-11 15:15:13 +0000  Graham Leggett <minfrin@sharp.fm>
-
-	* docs/gst/running.xml:
-	* tools/gst-launch-1.0.1:
-	* tools/gst-launch.c:
-	  Generate a gstreamer pipeline diagram on SIGHUP.
-	  Useful for debugging a pipeline that refuses to enter a given state.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783661
-
-2017-06-26 11:46:39 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: forward SINK_MESSAGE events downstream
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784551
-
-2017-07-11 14:56:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* meson.build:
-	  meson: Fix bashcomp installation
-	  For some reason the double quotes ended up in the path, hence
-	  the helper where installed at "."/share/...
-
-2017-07-11 14:55:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* data/bash-completion/helpers/meson.build:
-	* meson.build:
-	* plugins/elements/meson.build:
-	  meson: Use join_paths and .set_quoted where possible
-
-2017-07-11 16:15:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* pkgconfig/meson.build:
-	  meson: pkgconfig: add libunwind/libdw to gstreamer-1.0 Requires.private
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784795
-
-2017-07-11 15:29:44 +0200  Edward Hervey <edward@centricular.com>
-
-	* configure.ac:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  pkgconfig: Add private requirements
-	  Add libunwind and dw to the .pc Requires.private. Fixes static library
-	  compilation if gstreamer was compiled with one of those dependencies
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784795
-
-2017-07-09 21:20:03 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use GST_CLOCK_TIME macros for readability
-	  Replace some -1 comparison with GST_CLOCK_TIME macros.
-
-2017-07-09 21:16:44 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: correct some comments and add more logging
-	  Add more logging to analyze event handling (especially failure cases).
-
-2017-05-01 13:35:09 -0700  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* tools/gst-stats.c:
-	  tools: gst-stats: Use standard character escapes
-	  Having '\e' expand to '\x1b' is a gnu extension. I didn't see any
-	  document describing the behavior, but gcc also seems to expand
-	  '\[' to '['.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782028
-
-2017-07-07 12:06:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/parse/meson.build:
-	* meson.build:
-	  meson: find python3 via python3 module
-	  And rename python3 variable in meson build files for clarity.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783198
-
-2017-07-05 13:20:19 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/meson.build:
-	* meson_options.txt:
-	* plugins/meson.build:
-	* tests/check/meson.build:
-	  meson: add option to disable tracer hooks
-
-2017-07-05 13:19:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstmemory.c:
-	  tests: memory: skip test that depends on debug system if it's disabled
-
-2017-07-05 13:17:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttracerutils.h:
-	  tracing: fix build with tracer hooks disabled
-
-2017-07-03 09:03:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: make refcount tracing and debug logging reliable
-	  Tracing of the refcounts wasn't thread-safe, and log output of
-	  the refcount values before/after wasn't reliable.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784383
-
-2017-07-03 21:06:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstplugin.c:
-	  plugin: clarify code that deduces plugin name from file name
-	  Make the final else branch explicit for clarity.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783333
-
-2017-06-27 07:44:17 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbytereader-docs.h:
-	  docs: add a missing const in bytereader docs
-	  This syncs the prototype with gstbytereader.h
-
-2017-06-29 10:50:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Removed unused private member qos_enabled
-
-2017-06-26 14:09:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't reallocate buffers when flushing
-	  Instead of using gst_buffer_pool_set_active() when flushing, use
-	  gst_buffer_pool_set_flushing(), this avoids uneeded reallocation of the
-	  buffers.
-
-2017-06-01 10:36:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't hold LIVE_LOCK in create/alloc/fill
-	  Holding this lock on live source prevents the source from changing
-	  the caps in ::create() without risking a deadlock. This has consequences
-	  as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a
-	  side effect:
-	  - We no longer need to unlock when doing play/pause as the LIVE_LOCK
-	  isn't held. We then let the create() call finish, but will block if
-	  the state have changed meanwhile. This has the benefit that
-	  wait_preroll() calls in subclass is no longer needed.
-	  - We no longer need to change the state to unlock, simplifying the
-	  set_flushing() interface
-	  - We need different handling for EOS depending if we are in push or pull
-	  mode.
-	  This patch also document the locking of each private class member and
-	  the locking order.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783301
-
-2017-06-01 10:01:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Protect access to pool and allocator
-	  This was only partly protected by the object lock. Always take the
-	  object lock to access the currently configured pool and allocator.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783301
-
-2017-06-29 08:30:50 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix memory leak in print_pad_templates_info
-	  gst_static_caps_get function returned allocated memory.
-	  So, It should be free using gst_caps_unref.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784311
-
-2017-06-29 09:10:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: check for ppoll() as well
-
-2017-06-27 09:59:52 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* tools/meson.build:
-	  meson: Add configinc as include_directory in tools/
-	  Otherwise when the glib is used as a subproject config.h is the glib
-	  one, not ours.
-
-2017-06-23 15:13:16 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* meson.build:
-	  meson: Allow using glib as a subproject
-
-2017-06-28 09:54:56 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstprotection.c:
-	* gst/gstprotection.h:
-	* win32/common/libgstreamer.def:
-	  protection: add function to filter system ids
-	  gst_protection_filter_systems_by_available_decryptors() takes an array
-	  of strings and returns a new array of strings filtered by the available
-	  decryptors for them so the ones you get are the ones that you should be
-	  able to decrypt.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770107
-
-2017-06-23 11:11:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: fix with-package-name option
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784082
-
-2017-06-02 00:52:37 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstplugin.c:
-	  gstplugin: remove gst prefix when loading plugin on MSVC
-	  When building with Meson and MSVC, our plugins don't have a 'libgst'
-	  suffix and are just 'gstfoo.dll', so look for that too.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783333
-
-2017-06-21 10:48:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: sinkcaps can be NULL in default caps negotiation
-	  This was causing harmless assertion about the unreffed caps not being of
-	  type caps.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=784041
-
-2017-06-20 11:05:41 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update .def file
-
-2017-06-14 17:12:32 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: Add a function to get a string representation of GstStateChange
-	  API:
-	  gst_state_change_get_name
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783798
-
-2017-06-15 10:38:29 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstelement.h:
-	* gst/gstpipeline.c:
-	  element: Add missing values for "to same" state changes
-	  And handle newly added GstStateChange values in GstPipeline
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783798
-
-2017-06-20 15:57:47 +0900  Heekyoung Seo <heekyoung.seo@lge.com>
-
-	* gst/gstutils.c:
-	  utils: Fix leak in failed case of regression overflow checking
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783978
-
-2017-06-20 16:10:07 +0900  Heekyoung Seo <heekyoung.seo@lge.com>
-
-	* gst/gstregistrychunks.c:
-	  registrychunk: Fix leak in failed case of reading plugin dependency string
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783978
-
-2017-06-20 10:00:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* win32/common/libgstcontroller.def:
-	  controller: Export boxed type copy/free functions for GstControlPoint
-
-2017-06-20 09:57:01 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	* win32/common/libgstbase.def:
-	  base: Export boxed type copy/free functions for the remaining types
-
-2017-06-16 13:34:00 +0000  Andrejs Vasiljevs <andrejs.vasiljevs@ubnt.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Unref timeout GSource for delay requests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783864
-
-2017-06-15 10:51:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* tests/check/gst/gsturi.c:
-	* tests/check/meson.build:
-	  meson: fix tests build with --werror
-	  Need to pass -DGST_DISABLE_DEPRECATED to avoid warnings when
-	  testing deprecated API such as gst_uri_construct().
-	  Also remove #ifndef GST_DISABLE_DEPRECATED guard from header
-	  file, we don't use those any more for functions, the
-	  GST_DEPRECATED_FOR macro is enough.
-
-2017-06-14 17:36:57 +0200  Dimitrios Katsaros <patcherwork@gmail.com>
-
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* tests/check/gst/gsturi.c:
-	  gsturi: Fixed incorrect escaping of path as a generic string
-	  The gst_uri_construct function was escaping the location string
-	  as a generic uri string. This is incorrect since the slash('/')
-	  characters are reserved for use in this exact case. The patch
-	  changes the escape_string function mode to handle the path correctly.
-	  I have deleted the escape_string function since it is no longer being
-	  used and have created a unit test for the function. I have also
-	  deprecated this function in favour of the GstUri API.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=783787
-
-2017-06-07 11:42:28 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* tests/check/meson.build:
-	  meson: Do not use path separator in test names
-	  Avoiding warnings like:
-	  WARNING: Target "elements/audioamplify" has a path separator in its name.
-
-2017-05-31 20:40:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Put correct annotations on gst_bin_add() too
-
-2017-05-23 00:51:12 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Hold object lock while updating latency
-	  Otherwise in gst_base_src_query_latency(), it ended up
-	  sometimes thinking it wasn't -1 when it was actually.
-
-2017-05-22 12:01:41 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstobject.c:
-	  object: Add missing annotations to get_value_array() / get_value_g_array()
-	  Same as already used in GstControlBinding.
-
-2017-05-21 18:11:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* config.h.meson:
-	  meson: actually remove config.h.meson as well
-
-2017-05-21 19:16:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstprotection.c:
-	  protection: Fix annotations for gst_protection_select_system()
-
-2017-05-21 17:04:10 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstplugin.c:
-	  plugin: Stop plugin symbol name at first .
-	  This is because the python plugin ends up named
-	  libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop
-	  at the first dot.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782924
-
-2017-05-21 14:26:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* gst/meson.build:
-	* meson.build:
-	  meson: don't need config.h.meson any more
-	  Meson does the largefile support automatically nowadays, and
-	  can generate a config.h from configuration_data() without a
-	  template as input.
-
-2017-05-21 09:02:54 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	* meson.build:
-	* tests/check/meson.build:
-	  meson: make C++ compiler optional
-	  It's only used to build tests to see if our headers are C++ clean.
-
-2017-05-20 17:57:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/meson.build:
-	  meson: check: generate .gir file
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782173
-
-2017-05-20 19:42:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* win32/common/libgstreamer.def:
-	  parse: Make gst_parse_context_copy() public for bindings
-
-2017-05-20 16:44:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/Makefile.am:
-	  tools: dist new gst-stats man page
-	  Fixes meson build from tarball.
-
-2017-05-20 16:43:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  Dist meson ptp helper install script
-	  Fixes meson build from tarball.
-
-2017-05-20 13:24:18 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks: Handle subclasses in filters even for unhandled/lazy loaded types
-	  Using typename in the set of unhandled types instead of the quark so
-	  that we also handle subclasses as with other filters.
-
-2017-05-19 19:22:27 +0200  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: add missing E character to the legend
-	  The E character on pads indicates the presence of the EOS flag.
-
-2017-05-17 21:50:25 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstplugin.c:
-	  gst-plugin: allow '-' in plugin file name
-	  '-' will be translated to underscore when determining symbol name
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782756
-
-2016-06-20 15:58:59 +0200  Christoph Reiter <reiter.christoph@gmail.com>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstclock.c:
-	* tests/check/gst/gstsystemclock.c:
-	  gst: ref_sink() some more floating references returned by g_object_new()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743062
-
-2017-05-15 18:58:38 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gststreamcollection.c:
-	* gst/gststreams.c:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerutils.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
-	  I.e. most of them unfortunately.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743062
-
-2017-05-15 14:34:57 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstallocator.c:
-	  allocator: ref_sink() the global sysmem allocator after creation
-	  It's not owned by the first one to ask for it, but by this very code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743062
-
-2017-05-15 14:32:48 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstcontrolsource.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstptpclock.c:
-	* tests/check/gst/gstcontroller.c:
-	  gst: Don't ref_sink() GstObject subclasses in instance_init/constructor
-	  This is something bindings can't handle and it causes leaks. Instead
-	  move the ref_sink() to the explicit, new() constructors.
-	  This means that abstract classes, and anything that can have subclasses,
-	  will have to do ref_sink() in their new() function now. Specifically
-	  this affects GstClock and GstControlSource.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743062
-
-2017-05-15 14:32:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstelement.c:
-	* gst/gstghostpad.c:
-	* gst/gstobject.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gststreamcollection.c:
-	* gst/gststreams.c:
-	* gst/gsttracerrecord.c:
-	* gst/gstutils.c:
-	* libs/gst/controller/gstproxycontrolbinding.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  gst: Correctly annotate functions taking floating reference parameters and returning floating references
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702960
-
-2017-05-15 14:29:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstghostpad.c:
-	* gst/gstregistry.c:
-	* gst/gstutils.c:
-	  gst: Handle floating references consistently
-	  If a function takes a floating reference parameter, it should also be
-	  sinked in error cases. Otherwise the function behaves differently
-	  between error and normal cases, which is impossible for bindings to
-	  handle.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747990
-
-2015-07-10 15:36:59 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	  gst: Fix floating reference inconsistencies in error cases
-	  If a function takes a floating reference and sinks it, it should also do
-	  that in error cases. I.e. call ref_sink() followed by unref().
-	  Otherwise the reference counting behaviour of the function will be
-	  different between the good and the error case, and simply inconsistent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747990
-
-2017-05-16 13:31:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstconfig.h.in:
-	  Also use default visibility for plugins symbol
-
-2017-05-16 13:29:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* config.h.meson:
-	* configure.ac:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/meson.build:
-	* plugins/tracers/Makefile.am:
-	  Remove plugin specific static build option
-	  Static and dynamic plugins now have the same interface. The standard
-	  --enable-static/--enable-shared toggle are sufficient.
-
-2017-05-16 00:02:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/meson.build:
-	  meson: fix gstprintf test linking
-	  Must link against gstprint helper lib to use private symbol.
-
-2017-05-10 13:03:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: use default visibility for GST_EXPORT for gcc/clang too
-	  This will be needed later when we switch to using -fvisibility=hidden.
-
-2017-05-10 13:07:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstconfig.h.in:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  gst: add GST_DEPRECATED_FOR() and also export deprecated symbols
-	  Can't use a #ifndef GST_DISABLE_DEPRECATED guard around deprecated
-	  functions any more, as they won't get exported then. Besides, we
-	  get a nicer error message from the compiler telling us what function
-	  to use instead this way.
-
-2017-05-10 10:56:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.h:
-	* gst/gstchildproxy.h:
-	* gst/gstclock.h:
-	* gst/gstcontext.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.h:
-	* gst/gstdebugutils.h:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.h:
-	* gst/gstdeviceproviderfactory.h:
-	* gst/gstdynamictypefactory.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstenumtypes.h.template:
-	* gst/gsterror.h:
-	* gst/gstevent.h:
-	* gst/gstformat.h:
-	* gst/gstghostpad.h:
-	* gst/gstinfo.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.h:
-	* gst/gstpreset.h:
-	* gst/gstprotection.h:
-	* gst/gstquery.h:
-	* gst/gstregistry.h:
-	* gst/gstsample.h:
-	* gst/gstsegment.h:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.h:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.h:
-	* gst/gsttocsetter.h:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.h:
-	* gst/gsttracerrecord.h:
-	* gst/gsttypefind.h:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.h:
-	* gst/gstutils.h:
-	* gst/gstvalue.h:
-	  gst: mark symbols explicitly for export with GST_EXPORT
-	  One omission: gst_allocator_sysmem_get_type() was
-	  exported but never in any public header file.
-
-2017-05-10 00:11:10 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/controller_mkenum.py:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gstproxycontrolbinding.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	  libs: controller: mark symbols explicitly for export with GST_EXPORT
-
-2017-05-09 16:19:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstflowcombiner.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/base/gstqueuearray.h:
-	* libs/gst/base/gsttypefindhelper.h:
-	  libs: base: mark symbols explicitly for export with GST_EXPORT
-
-2017-05-09 16:01:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/net/gstnetaddressmeta.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnetcontrolmessagemeta.h:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	* libs/gst/net/gstptpclock.h:
-	  libs: net: mark symbols explicitly for export with GST_EXPORT
-
-2017-05-13 18:30:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: add options to set package name and origin
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782172
-
-2017-05-13 18:19:05 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/Makefile.am:
-	  docs: use the full path to ignore dirs
-
-2017-05-12 17:49:25 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstharness.c:
-	  docs: remove stray ',\' from doc comment
-
-2017-02-25 12:18:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: Add GstReferenceTimestampMeta
-	  This is a meta that generically allows to attach additional reference
-	  timestamps to a buffer, that don't have to relate to the pipeline clock
-	  in any way.
-	  Examples of this could be an NTP timestamp when the media was captured,
-	  a frame counter on the capture side or the (local) UNIX timestamp when
-	  the media was captured.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779213
-
-2017-05-09 16:29:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: bump meson version requirement to 0.40.1
-
-2016-12-15 12:48:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* win32/common/libgstreamer.def:
-	  bus: Add function to get the file descriptor of the bus
-	  This is useful for integration with other event loops that work by
-	  polling file descriptors. G_IO_IN will always be set whenever a message
-	  is available currently.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776126
-
-2017-02-27 21:38:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	  plugin: Unify static and dynamic plugin interface
-	  This patch changes the entry point of each plugin in order to unify the
-	  interface for static and dynamic plugin. What we do is replace the
-	  current static plugin interface and extend the dymamic one. The plugin
-	  entry was a C structure, name "gst_plugin_desc". With this patch, the
-	  interface is now:
-	  GstPpluginDesc *gst_plugin_<name>_get_desc(void);
-	  The reason we change the C structure into function, is that it is
-	  potentially more common to have function pointers, avoiding possible
-	  binding language limitation. Additionally to that. This change prevents
-	  the symbols from clashing between plugins, allowing to build once the
-	  plugin (assuming you have -fPIC).
-	  On the plugin loader side, we symply derive the shared object basename
-	  to extract the plugin name. If this symbol is not found, we fallback to
-	  gst_plugin_desc for backward compatibility.
-	  This has one side effect, which is that the shared objects now need to
-	  be named after their plugin name. This is generally the case with few
-	  exceptions. The benifit of this limitation is that you can control the
-	  gst_plugin_<name>_desc clash at file level.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779344
-
-2017-05-09 09:24:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	  meson: fix search path for setcap
-
-2017-05-07 11:17:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: make local variable static
-
-2017-05-05 12:23:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/ptp_helper_post_install.sh:
-	  meson: fail silently in ptp helper post install script
-	  .. in case permissions/capabilities could not be set.
-
-2017-05-05 12:02:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/meson.build:
-	  meson: use cc.find_library()
-	  find_library() was deprecated and removed in later versions.
-
-2017-05-05 11:49:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* config.h.meson:
-	* gst/meson.build:
-	* libs/gst/helpers/meson.build:
-	* libs/gst/helpers/ptp_helper_post_install.sh:
-	* meson.build:
-	* meson_options.txt:
-	  meson: add gst-ptp-helper
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774418
-
-2017-05-05 09:10:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: fix indentation
-	  No tabs please.
-
-2017-05-05 00:45:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: remove old cruft from CLEANFILES
-	  These files are no longer built, so no need to clean them.
-
-2017-04-29 11:30:54 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* meson.build:
-	  g-i: no need to load registry in g-i scanner
-
-2017-05-04 21:37:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* gst-element-check-1.0.m4:
-	  Don't generate gst-element-check-1.0.m4 on the fly and fix meson build
-	  This will interfere with 'git pull'. You will have to remove the
-	  old generated gst-element-check-1.0.m4 manually if you're pulling
-	  on a dirty build directory, sorry.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782174
-
-2017-05-04 21:06:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: install gst-element-check-1.0.m4
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782174
-
-2017-04-30 12:10:49 +0900  Yasushi SHOJI <yashi@atmark-techno.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Abort when failed to construct the specified pipeline
-	  gst_harness_new_parse() returns without any error even if it doesn't
-	  find the specified element.  Then a succeeding call to
-	  gst_harness_set_sink_caps_str() causes an error like this:
-	  Unexpected critical/warning: gst_pad_push_event: assertion 'GST_IS_PAD (pad)' failed
-	  This is a bit cryptic and doesn't give users any clue what was going
-	  on.
-	  gst_harness_new_parse() calls gst_harness_add_parse() with a newly
-	  created empty harness and the given pipeline description string, but
-	  gst_harness_add_parse() does not have a way to propagate the error
-	  back to the caller.  Since the function, gst_harness_add_parse(), is a
-	  public API, it's not a good idea to change its signature.  This patch,
-	  instead, makes the function to g_error() when it discovers any error.
-	  With this change the same error prints:
-	  ** (myelement-test:25345): ERROR **: Unable to create pipeline 'bin.( myelement )': no element "myelement"
-	  The current implementation of gst_parse_launch_full() doesn't return
-	  partially constructed pipeline when GST_PARSE_FLAG_FATAL_ERRORS is
-	  specified, however, this patch also adds a check for it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781958
-
-2017-05-04 18:59:14 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* meson.build:
-	  Back to development
-
-=== release 1.12.0 ===
-
-2017-05-04 15:36:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.12.0
-
-2017-05-04 15:00:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/ast.po:
-	* po/az.po:
-	* po/be.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/da.po:
-	* po/de.po:
-	* po/el.po:
-	* po/en_GB.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/eu.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/fur.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/it.po:
-	* po/ja.po:
-	* po/lt.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2017-05-02 14:35:50 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: Don't pass a NULL debug string to g_utf8_validate()
-	  g_utf8_validate() crashes on NULL, but NULL is valid for the debug
-	  string nonetheless.
-
-2017-05-02 14:27:14 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: Check if meta transform_func is NULL before using it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782050
-
-2017-05-02 10:32:54 +0200  Frédéric Dalleau <frederic.dalleau@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Check if meta transform_func is NULL before using it
-	  An untested pointer segfaulted in webkit while playing video
-	  on imx6 sabrelite. It turned out that the imx plugin didn't
-	  implement the meta transform function.
-	  The following GST_DEBUG trace was visible:
-	  gstbasetransform.c:1779:foreach_metadata:<conv2> copy metadata
-	  GstImxVpuBufferMetaAPI
-	  Thread 26 vqueue:src received signal SIGSEGV, Segmentation fault.
-	  (gdb) bt
-	  0x00000000 in ?? ()
-	  0x73f8d7d8 in foreach_metadata (inbuf=0xc9b020, meta=0x474b2490,
-	  user_data=<optimized out>) at gstbasetransform.c:1781
-	  0x73eb3ea8 in gst_buffer_foreach_meta (buffer=buffer@entry=0xc9b020,
-	  func=0x73f8d705 <foreach_metadata>,
-	  user_data=user_data@entry=0x474b24d4)
-	  at gstbuffer.c:2234
-	  https://bugzilla.gnome.org/show_bug.cgi?id=782050
-
-2017-04-28 19:43:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gst.c:
-	  gst: check non-null before dereference
-	  It is possible to use gst_deinit() without registering the base
-	  classes. For example, when using gst_init_get_option_group() and
-	  call the program with an invalid parameter. In that case,
-	  gst_deinit() will lead to a segmentation fault, since there is a
-	  dereference to a pointer that is null.
-	  This patch validates if the type is non-null before dereferencing
-	  it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781914
-
-2017-04-28 11:57:41 +0200  Nicola Murino <nicola.murino@gmail.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add opencv to bad libs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781889
-
-=== release 1.11.91 ===
-
-2017-04-27 17:24:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.11.91
-
-2017-04-27 15:48:33 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/ast.po:
-	* po/az.po:
-	* po/be.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/da.po:
-	* po/de.po:
-	* po/el.po:
-	* po/en_GB.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/eu.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/fur.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/it.po:
-	* po/ja.po:
-	* po/lt.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2017-04-27 15:21:26 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/LINGUAS:
-	* po/ast.po:
-	* po/fur.po:
-	  po: Update translations
-
-2017-04-24 20:27:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 60aeef6 to 48a5d85
-
-2017-04-21 15:04:32 +0200  Koop Mast <kwm@rainbow-runner.nl>
-
-	* tools/meson.build:
-	  Meson: also build and install gst-stats-1.0 and it's man page.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781585
-
-2017-04-21 15:03:18 +0200  Koop Mast <kwm@rainbow-runner.nl>
-
-	* tools/gst-stats-1.0.1:
-	  Add very simple man page for gst-stats.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781585
-
-2017-04-21 10:51:59 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstelement.h:
-	  doc: Fix some doctsing making GI happy
-
-2017-04-06 17:51:29 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstelement.h:
-	  doc: Fix GstChangeState docstring
-
-2017-04-19 17:31:38 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: Move debug output in for_each_threshold_by_entry() to TRACE level
-	  It's otherwise appearing many, many times in logs and usually is nothing
-	  you're interested in.
-
-2017-03-31 12:22:00 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* tests/check/pipelines/seek.c:
-	  tests: fix message leak in seek test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780757
-
-2017-03-29 19:26:53 +0900  Yasushi SHOJI <yashi@atmark-techno.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix typo in debug log output
-	  This unbalanced closing parenthesis is leftover from the commit
-	  8b739d91e7. It used to wrap the caps but we don't seem to do that in
-	  the current code.
-	  So, just remove it. No functionality has been changed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781484
-
-2017-04-10 16:28:57 +0200  Rico Tzschichholz <ricotz@ubuntu.com>
-
-	* gst/meson.build:
-	* libs/gst/base/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	  meson: A couple for GIR-generation fixes
-
-2017-04-12 09:48:53 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/controller/meson.build:
-	  meson: Add controller enum file as generated sources
-	  Avoiding build failure like
-	  https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857
-
-2017-04-11 20:19:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	  meson: dist new meson build script
-
-2017-04-11 20:16:53 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/controller/controller.h:
-	  controller: include new proxycontrolbinding header
-	  And fix includes in docs to just include the main header (the
-	  include for the proxycontrolbinding was wrong in the docs).
-
-2017-04-11 20:16:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	  .gitignore: ignore more
-
-2017-04-11 11:52:20 -0400  Olivier Crete <olivier.crete@collabora.com>
-
-	* gst/parse/meson.build:
-	  meson: Only check the first parameter
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781155
-
-2017-04-11 10:17:40 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/parse/meson.build:
-	  meson: Check bison and flex are recent enough
-	  https://bugzilla.gnome.org/show_bug.cgi?id=781155
-
-2017-04-10 23:48:53 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 39ac2f5 to 60aeef6
-
-2017-04-10 12:24:06 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Accept NULL as a structure
-	  Some GstStructure properties default to NULL, so it should
-	  be a supported value.
-	  With unit test.
-
-2017-04-10 14:26:42 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/Makefile.am:
-	  controller: Fix build with srcdir!=builddir
-
-2017-04-10 13:52:17 +0300  Rico Tzschichholz <ricotz@t-online.de>
-
-	* libs/gst/controller/Makefile.am:
-	  controller: Add missing sources/headers to the GIR build
-
-2017-04-09 12:16:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/meson.build:
-	  meson: And actually make the controller mkenums rules work
-
-2017-04-09 12:09:33 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* meson.build:
-	  meson: Add check for glib-mkenums
-
-2017-04-09 12:02:43 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/controller_mkenum.py:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/meson.build:
-	  controller: Generate GLib enums automatically
-
-2017-04-04 17:53:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstdynamictypefactory.c:
-	* gst/gstelementfactory.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrychunks.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttracer.c:
-	* gst/gsttracerrecord.c:
-	* gst/gsttypefind.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/gst/gstelementfactory.c:
-	  Don't use deprecated g_object_newv()
-	  Use g_object_new() instead which nowadays has a shortcut for the
-	  no-properties check. It still does an extra GType check in the
-	  function guard, but there's a pending patch to remove that
-	  and it's hardly going to be a performance issue in practice,
-	  even less so on a system that's compiled without run-time checks.
-	  Alternative would be to move to the new g_object_new_properties()
-	  with a fallback define for older glib versions, but it makes the
-	  code look more unwieldy and doesn't seem worth it.
-	  Fixes deprecation warnings when building against newer GLib versions.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780903
-
-2017-04-07 13:49:29 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/gst/gststructure.c:
-	  test: Add test for serializing/deserializing NULL strings
-
-=== release 1.11.90 ===
-
-2017-04-07 16:30:35 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* meson.build:
-	  Release 1.11.90
-
-2017-04-07 15:04:11 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2017-03-08 12:09:45 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gststructure.c:
-	  structure: Don't print warning on NULL strings or pointers
-	  Putting NULL for those is a valid serialization for the NULL value.
-
-2017-04-05 16:32:38 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.h:
-	  gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends
-	  They were (signed!) gint64 before because of G_GINT64_CONSTANT() already
-	  and they are actually used in signed calculations.
-	  With this change we at least ensure that an integer type of the correct
-	  size is used for GI (it was using gint before).
-
-2017-04-05 15:46:26 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.h:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.h:
-	* gst/gstquery.h:
-	  gst: Update some more types and values of combined-flags constants
-
-2017-04-05 14:45:00 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstmemory.h:
-	* gst/gstminiobject.h:
-	  gst: Cast combined-flags constants to their respective target types
-	  This makes C++ compilers a bit more happy without having the user of the
-	  constants cast. It also provides the correct type information to GI.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780923
-
-2017-04-05 14:42:16 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstmemory.h:
-	* gst/gstminiobject.h:
-	  gst: Set values and types for combined-flags constants in GI annotations
-
-2017-04-05 14:26:33 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.h:
-	  value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations
-	  Storing a -1 inside an unsigned integer confuses GIR based bindings
-	  generators.
-
-2017-04-04 16:28:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* data/bash-completion/helpers/gst.in:
-	  completion: Try to avoid parsing summary
-	  In GES, the summary refers to options that are only available when built
-	  against gst-valdiate. Those where picked by our regex. This patch add a
-	  initial grep to try and filter-out as best as possible the content to
-	  which we will extract the command list.
-
-2017-04-04 14:25:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* data/bash-completion/helpers/meson.build:
-	* data/meson.build:
-	* libs/gst/helpers/meson.build:
-	* meson.build:
-	  meson: Add bash completion support
-
-2017-04-04 13:42:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* configure.ac:
-	* data/Makefile.am:
-	* data/bash-completion/completions/gst-inspect-1.0:
-	* data/bash-completion/completions/gst-launch-1.0:
-	* data/bash-completion/helpers/.gitignore:
-	* data/bash-completion/helpers/gst.in:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  completion: Place the completion helper in libexec
-	  This patch reorganize the bash completion scripts in order to install
-	  the binary helper (gst-completion-helper) in libexec path rather then
-	  share folder. Most Linux hierarchy compliance requires that no binary
-	  executable are placed in share. We also cleanup the unused .pc entries
-	  and remove copy pasted parts of the script. Note that other project
-	  including the common helper, should now use $_GST_HELPER to read
-	  the binary executable gst-completion-helper. This helper is not longer
-	  version, as it is placed in a versionned subfolder
-	  (libexec/gstreamer.10) just like the other helpers (scanner and ptp).
-
-2017-03-31 11:22:49 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: fix GstValue leak in structure_field_union_into
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780751
-
-2017-03-31 10:38:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststreamcollection.c:
-	  streamcollection: fix racy user-after-free
-	  The issue happens when the structure is printed by the logging
-	  subsystem: the object is included in the log, and this will cause the
-	  full object printout to be done there. However, after dispose, the queue
-	  was already cleared, so the access to it (to print the object) would
-	  assert, as the queue was already freed. The patch changes it so that the
-	  queue is merely empty, and only freed in _finalize.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776293
-
-2017-03-27 18:30:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: add pad EOS flag in pipeline dot file dumps
-	  But only if set. Helps debug issues with EOS propagation.
-
-2017-03-27 18:27:59 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: print structure property notifies nicer
-	  One less layer of escaping, but still lots of ugly \.
-
-2017-03-24 14:33:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* win32/common/libgstreamer.def:
-	  Fix win32 libgstreamer.def ordering
-	  This should fix make distcheck
-
-2017-03-15 17:31:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstparamspecs.c:
-	  paramspec: Fix array validation logic
-	  A paramspec validation should modify the content to match what the spec
-	  requires and return TURE if a modification happened. This previous
-	  implementation would only fix the first element of the array and return.
-	  It was also return TRUE for empty array, while no modification was
-	  needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=780111
-
-2017-03-22 13:35:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstparamspecs.c:
-	  array/fraction: In param types, use get_type() function directly
-	  The GST_TYPE macro points to global variables initialized by the
-	  first call to get_type. This is not an issue if you call gst_init()
-	  but unfortunatly pygi will need to acces the param type before
-	  init can be called. This removes an assertion.
-
-2017-03-22 13:33:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstparamspecs.c:
-	  fraction/array: Make get_type() thread safe
-	  Those aren't suppose to be called from multiple thread, but all
-	  fundamental get_type() function are thread safe. Fix it to
-	  be consistent and it may help if we change the typing mechanism
-	  in GStreamer come day.
-
-2017-03-20 16:46:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  gstutils: Add helpers to get/set array properties
-	  This is to help bindings access properties of type GST_TYPE_ARRAY.
-	  This function will get/set the property and convert form/to
-	  GValueArray.
-	  New API:
-	  gst_util_set_object_array
-	  gst_util_get_object_array
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753754
-
-2017-03-20 15:50:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: Add get/set_array/list using GValueArray
-	  This adds a binding friendly interface to get and set arrays
-	  and list into GstStructure.
-	  New API:
-	  - gst_structure_set_array
-	  - gst_structure_set_list
-	  - gst_structure_get_array
-	  - gst_structure_get_list
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753754
-
-2017-03-20 15:40:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: Add transformation to/from GValueArray
-	  This allow transforming a GValue of type G_TYPE_VALUE_ARRAY to
-	  and from GST_TYPE_ARRAY/LIST.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753754
-
-2017-03-24 14:21:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstqueuearray.h:
-	  queuearray: Add G_BEGIN_DECLS and G_END_DECLS to make it usable from C++ code
-
-2017-03-24 17:53:31 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstparamspecs.c:
-	  paramspecs: Use gst_value_array_get_type() for GstParamSpecArray type
-	  When registering GstParamSpecArray, use the gst_value_array_get_type()
-	  function to get the type, rather than the GST_TYPE_ARRAY macro, which
-	  gets it from the _gst_value_array_type, which is in turn only
-	  initialised during gst_init()
-	  Fixes criticals with (python) bindings that look up all the
-	  types from the gobject-introspection info as soon as they
-	  are imported.
-	  /usr/lib64/python3.5/site-packages/gi/module.py:178: Warning: g_param_type_register_static: assertion 'g_type_name (pspec_info->value_type) != NULL' failed
-	  g_type = info.get_g_type()
-	  /usr/lib64/python3.5/site-packages/gi/module.py:212: Warning: g_type_get_qdata: assertion 'node != NULL' failed
-	  type_ = g_type.pytype
-	  /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_get_qdata: assertion 'node != NULL' failed
-	  g_type.pytype = wrapper
-	  /usr/lib64/python3.5/site-packages/gi/module.py:226: Warning: g_type_set_qdata: assertion 'node != NULL' failed
-	  g_type.pytype = wrapper
-
-2017-03-17 22:32:19 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't forget error returns when processing more
-	  If parsing returns a non-OK flow return in the middle
-	  of processing an input buffer, don't overwrite that
-	  if a later return is OK again - the subclass might
-	  return not-linked in the middle, and then discard
-	  subsequent data without pushing while returning OK.
-	  A later success doesn't invalidate the earlier failure,
-	  but we should continue processing after not-linked, so
-	  as to keep parse state consistent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779831
-
-2017-03-20 16:54:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch-1.0.1:
-	  tools: replace mentions of 'mad' on the gst-launch-1.0 man page
-	  The 'mad' plugin has been removed. Mention mpg123audiodec instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776140
-
-2017-03-13 11:08:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: fix union of int range and int when extending on a side
-	  The internal representation uses bounds scaled by the step
-	  Add tests to catch those cases
-
-2017-03-14 22:18:36 -0700  Thiago Santos <thiagossantos@gmail.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: avoid return flushing if we have a not-linked
-	  Return the correct flow return instead of returning always flushing.
-	  This would cause queue to convert not-linked to flushing and making
-	  upstream elements stop.
-	  Based on the previous patch for queue2.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776999
-
-2017-01-22 11:26:56 -0300  Thiago Santos <thiagossantos@gmail.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: avoid return flushing if we have a not-linked
-	  Return the correct flow return instead of returning always flushing.
-	  This would cause queue2 to convert not-linked to flushing and making
-	  upstream elements stop.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776999
-
-2016-09-18 12:02:54 -0300  Thiago Santos <thiagossantos@gmail.com>
-
-	* tests/check/gst/gstbin.c:
-	  tests: bin: add more tests for suppressed flags
-	  Add tests to confirm flags are persisted even after removing
-	  elements that have those suppressed flags
-
-2017-03-10 10:13:05 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/check/gstharness.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	  buffer: handle gst_buffer_map failures
-
-2017-03-10 10:12:49 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: unlock mutex in error case
-
-2017-03-09 12:09:57 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gststructure.c:
-	  gstvalue: Do more checks when guessing at flagset strings
-	  If guessing that a string matches a flagset, be more thorough
-	  at checking that the string following a string of hex:hex:
-	  actually looks like a flag set string. Add some unit tests
-	  to catch more cases.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779755
-
-2017-03-09 12:09:57 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Make min-interleave-time a configurable property
-	  Remove a FIXME about making the minimum interleave
-	  buffering a configurable property
-
-2017-03-08 14:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: promote factory not found log message to WARNING
-	  In most cases people really want to know when an element
-	  could not be created.
-
-2017-03-07 08:21:48 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Always proxy position/duration query
-	  active-pad switch causes reconfigure event with lock taken,
-	  and upstream element might query the current position or duration
-	  before returning the reconfigure event.
-	  Meanwhile, gst_input_selector_get_linked_pad() is used to get srcpad
-	  inside of default query handle, and it takes also lock.
-	  Since inputselector is still locked by active-pad switch, and so the query
-	  cannot be handled further.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775445
-
-2017-03-03 12:53:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.h:
-	  info: document that logging macros don't need newlines at the end
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779459
-
-2017-02-24 21:35:27 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: add since marker to docs for new API
-
-2017-02-24 21:33:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for new API
-
-2017-02-24 10:23:01 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstregistry.c:
-	  registry: Only scan plugin files that end with an extension
-	  Not file that would for some reason end with 'so' or 'dll', etc...
-	  https://bugzilla.gnome.org/show_bug.cgi?id=779175
-
-2017-02-17 15:48:17 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Add API to get the current state of a task
-	  Avoiding the user to need to deal with the locking himself etc.
-	  API:
-	  gst_pad_task_get_state
-	  https://bugzilla.gnome.org/show_bug.cgi?id=778830
-
-2017-02-13 15:18:59 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	  meson: Add an option to disable usage of libunwind
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=778193
-
-2017-02-24 15:59:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* meson.build:
-	  meson: Update version
-
-2017-02-24 15:37:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.11.2 ===
-
-2017-02-24 15:06:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	  Release 1.11.2
-
-2017-02-24 12:44:17 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2017-02-23 20:52:39 +0200  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Add deserialization for arrays/lists outside GstStructures
-	  This is mostly useful for properties of those types when used in
-	  gst-launch or similar.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777375
-
-2017-02-23 20:50:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Add a type abbreviation for GstFlagSet in serialization
-
-2017-02-23 20:47:30 +0200  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gst_private.h:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  value: Always add the type name to elements when serializing arrays/lists
-	  But only when serializing outside of GstStructures, because in case of
-	  GstStructure the type is already preprended to the array/list and the
-	  GstStructure API makes sure that they have the same "generic" type so
-	  deserialization works properly.
-	  This keeps serialization of GstStructures the same as before, and the
-	  GstCaps unit tests already test for that. However when serializing
-	  standalone arrays/lists get the types added now.
-
-2017-02-23 20:22:03 +0200  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gst_private.h:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  value: Move list/array serialization/deserialization functions from GstStructure to GstValue
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777375
-
-2017-02-23 20:16:17 +0200  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	* win32/common/libgstreamer.def:
-	  paramspecs: Add GstParamSpecArray for GST_TYPE_ARRAY typed properties
-	  These are mostly useful to get our automatic
-	  serialization/deserialization from strings and simple usage from
-	  gst-launch or similar.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777375
-
-2017-02-21 20:23:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbytereader.c:
-	* tests/check/libs/bytereader.c:
-	  bytereader: fix peek value when scanning for 00 00 01 with non-0 offset
-	  We would add the offset a second time in _scan_for_start_code()
-	  when we found a result, but it's already been added to the data
-	  pointer at the beginning of _masked_scan_uint32_peek(), so the
-	  peeked value would be wrong if the initial offset was >0, and
-	  we would potentially read memory out-of-bounds.
-	  Add unit test for all of this.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=778365
-
-2017-02-20 12:16:32 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstinfo.h:
-	  info: put () around macro arguments
-	  Put braces around macro arguments or else we might run into problems
-	  with operater precedence.
-
-2017-02-20 10:45:57 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdeviceproviderfactory.c:
-	  deviceproviderfactory: ignore empty classes
-
-2017-02-20 10:25:50 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdeviceproviderfactory.c:
-	  deviceproviderfactory: compare class against NULL
-	  gstdeviceproviderfactory.c:501:20: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
-	  if (classes[0] == '\0')
-
-2017-02-18 16:49:40 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  meson: Fix build with latest upstream git
-	  Trivial incorrect include_directories() call
-
-2017-02-18 10:03:24 +0100  Peter Korsgaard <peter@korsgaard.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig: Fix unaligned access support for the openrisc architecture
-	  Teach gstconfig.h.in about the openrisc (or1k) architecture.  Fixes
-	  buildroot autobuild failure:
-	  http://autobuild.buildroot.net/results/717/717d78ce0935749f477bdf3133b6f20057a28c01/build-end.log
-	  https://bugzilla.gnome.org/show_bug.cgi?id=778866
-
-2017-02-15 21:37:31 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  gstbasesink: xref symbol in docs
-
-2017-02-15 20:58:49 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	  pad: revert the content changes from previous commit
-	  The default behaviour when returning GST_PAD_PROBE_OK is unrelated to
-	  the other return code.
-
-2017-02-15 20:37:40 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	  pad: fix docs for GstPadProbeReturn
-	  There is no 'block' value, but we have 'drop'. Also fix the markup; it
-	  is '%' to link to constants (and enum values).
-
-2016-10-24 22:47:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	  meson: dist meson build files
-	  Ship meson build files in tarballs, so people who use tarballs
-	  in their builds can start playing with meson already.
-
-2017-01-31 09:55:59 +0000  Julien Isorce <jisorce@oblong.com>
-
-	* tests/check/pipelines/seek.c:
-	  tests: add 2 unit tests for non-flush seek with gstbaseparse
-	  The unit test defines a test parse element that inherit from GstBaseParse.
-	  The test pipeline is: fakesrc ! testparse ! fakesink sync=1
-	  Before the fix b2c05cac8 the first new test would have fail because the
-	  pipeline would have wait doing nothing just after proceeded the seek event.
-	  The second new test would have fail because the pipeline would have
-	  played the media instantly just after proceeded the seek event
-	  (like if sync was FALSE on the sink).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777780
-
-2017-01-31 21:19:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Don't translate the "bin" element name
-	  Otherwise we won't be able to create bins, there is no element called
-	  "Behälter" if you're using a German locale.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777998
-
-2016-04-15 20:54:42 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  segment: Modifiy inside segment condition
-	  There is a special case that segment_start == segment_stop == start.
-	  It's inside of segment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764707
-
-2017-01-26 16:35:27 +0000  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstinfo.c:
-	  info: Check libunwind return codes
-
-2017-01-18 18:16:26 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	  meson: libs: Add gir to the source list of the dependency
-
-2017-01-16 11:26:16 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gst.c:
-	* gst/gstallocator.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstcompat.h:
-	* gst/gstcontext.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolsource.c:
-	* gst/gstdebugutils.h:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstdynamictypefactory.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstmeta.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstparamspecs.c:
-	* gst/gstparse.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpoll.c:
-	* gst/gstpreset.c:
-	* gst/gstprotection.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gstsegment.c:
-	* gst/gststreamcollection.c:
-	* gst/gststreams.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttoc.c:
-	* gst/gsttocsetter.c:
-	* gst/gsttracer.c:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerrecord.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstproxycontrolbinding.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetcontrolmessagemeta.c:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstptpclock.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gstdataurisrc.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gststreamiddemux.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	  Port gtk-doc comments to their equivalent markdown syntax
-	  Modernizing our documentation and preparing a possible move to hotdoc.
-	  This commits also adds missing @title metadatas to all SECTIONs
-
-2017-01-11 17:25:08 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstelement.h:
-	* gst/gstevent.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstquery.h:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	* gst/gsttracer.h:
-	* gst/gsturi.h:
-	  gst: Fix includes so that files can be built separately
-	  It used to work but it has broke in the 1.10 cycle.
-
-2017-01-18 10:56:38 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Encode in utf-8
-
-2017-01-26 15:32:31 -0800  Brendan Shanks <brendan.shanks@teradek.com>
-
-	* gst/gststreamcollection.h:
-	* gst/gststreams.h:
-	  GstStream/GstStreamCollection: add g_autoptr() support
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777810
-
-2017-01-26 16:51:21 +0000  Julien Isorce <jisorce@oblong.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: correctly handle non-flush seek
-	  Otherwise when seeking/looping to the start when reaching the end,
-	  the sink waits for the duration of the stream. So the user hears
-	  nothing for the duration of the stream before it actually loop again.
-	  See example attached to the bug for that.
-	  Existing test:
-	  gst-plugins-good/tests/icles/test-segment-seeks foo.flac
-	  Without the patch the user hears a crack/cut at each seek.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777780
-
-2016-05-24 14:57:54 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Add API to filter g_warning/g_critical etc
-	  New API functions to filter log messages before they are processed by
-	  GstCheck. This can be used to discard specific messages that are
-	  accepted by the test or to add callbacks that test specific messages.
-	  Default bevavior when no callback is given to a filter is to discard the
-	  message, because it does not makes sense to have a filter with no
-	  callback which does not discard; that would be a noop.
-	  Discarded messages will in addition to bypass the GstCheck handling also
-	  return to GLib that the message is not fatal if it occurs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773091
-
-2017-01-18 22:39:33 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	  bin: update the docs for the event forwarding
-	  First this sends the events not only to the sources and 2nd this is not only
-	  for seek events.
-
-2017-01-18 15:07:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Don't hold element's object lock while querying element pads' caps
-	  This can easily deadlock if the element uses the object lock for
-	  something internally, like posting an error message. Use an GstIterator
-	  for iterating over the pads instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777449
-
-2017-01-16 09:41:19 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbin.c:
-	  gstbin: Quieten a noisy FIXME about duration caching
-	  Only print this FIXME once per run, at it's pretty annoying in
-	  lots of logs otherwise.
-
-2015-07-14 13:11:11 +0000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: Add ts-offset property.
-	  Add a property to delay or advance sync time
-	  when sync=true, with the same behaviour as
-	  the ts-offset property in basesink
-
-2017-01-15 11:52:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdatetime.c:
-	* tests/check/gst/gstdatetime.c:
-	  datetime: fix potential out-of-bound read on malformed datetime string
-	  https://bugzilla.gnome.org/show_bug.cgi?id=777263
-
-2017-01-13 12:34:43 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: bump version
-
-2017-01-12 16:32:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.11.1 ===
-
-2017-01-12 15:29:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	  Release 1.11.1
-
-2017-01-12 14:35:22 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/hr.po:
-	* po/id.po:
-	* po/pl.po:
-	* po/zh_CN.po:
-	  Update .po files
-
-2017-01-12 14:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/hr.po:
-	* po/id.po:
-	* po/pl.po:
-	* po/zh_CN.po:
-	  po: Update translations
-
-2017-01-12 14:26:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2017-01-05 13:45:37 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* tools/gst-inspect-1.0.1:
-	  tools: update gst-inspect man page
-
-2017-01-05 10:32:03 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* pkgconfig/meson.build:
-	  meson: Do not generate .pc files for libgstcheck on windows
-	  The lib is not built
-
-2017-01-04 12:10:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* pkgconfig/Makefile.am:
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/meson.build:
-	  meson: generate pkg-config -uninstalled pc files
-	  Generating those files is useful for users building the GStreamer stack
-	  using meson and having to link it to another project which is still
-	  using the autotools.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776810
-
-2017-01-03 12:30:02 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.h:
-	  pad: clarify docs for GST_PAD_PROBE_DROP
-
-2017-01-03 02:13:30 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Don't generate GST_FLOW_ERROR without logging
-	  At least log a message to the debug log when generating
-	  a GST_FLOW_ERROR, to make it possible to find where it came from.
-
-2017-01-03 02:12:27 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Fix null pointer dereference on invalid static caps
-	  A typo in a static caps string may result in failure to
-	  deserialise it, so don't dereference the result without
-	  checking.
-
-2017-01-03 02:11:27 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: Fix null pointer dereference on invalid static caps
-	  A typo in a static caps string may result in failure to
-	  deserialise it, so don't dereference the result without
-	  checking.
-
-2016-12-30 19:42:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: reword comment for gst_structure_parse_string()
-	  The comment was a bit confusing. Turn it into gtkdoc style and reword it.
-
-2016-12-28 21:47:03 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: re-eval GST_DEBUG env var for late categories
-	  When registering a new debug category after _debug_init(), we need to
-	  re check the GST_DEBUG filter settings again.
-	  In addition when parsing the filter setting, we need to already bump up
-	  the min-debug level to not suppress debug log statments that dynamically
-	  register a category. This happens in libraries that use a function to
-	  register a category on first use.
-
-2016-12-29 17:04:04 +0100  Edward Hervey <edward@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Default to python3
-	  It's 2016, unless you've specified a different version of python,
-	  we'll default to python3
-
-2016-12-28 13:45:54 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: also unset DISCONT on buffers in reverse playback fragments
-
-2016-12-21 21:58:53 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* tools/gst-inspect-1.0.1:
-	* tools/gst-inspect.c:
-	  gst-launch: Add a '--types' option to filter elements by types to print
-	  This way the user can easily figure out what are the available audio
-	  encoder for example doing:
-	  gst-inspect-1.0 --types Encoder/Audio
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776392
-
-2016-12-22 18:45:10 +0100  Nicolas Dechesne <nicolas.dechesne@linaro.org>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: set GST_GL_XINITTHREADS
-	  This ensure that XInitThreads is called and so gl contexts are properly
-	  initialized.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776401
-
-2016-12-22 16:13:22 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstpreset.c:
-	  gstpreset: Lower some debug logs level
-	  A property not defined in a preset file can simply mean that the
-	  user wants it to be set as it default value, and we should not warn
-	  about that.
-	  A missing preset file in a directory can happen has there are several
-	  directory where a preset can be found in.
-
-2016-12-22 23:39:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  meson: Fix order of C source and header in mkenums
-	  Otherwise gstenum_h dependencies don't get added properly to gst_dep and
-	  we see racy build failures everywhere.
-
-2016-12-17 14:35:19 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/build_mkenum.py:
-	* gst/gstenumtypes.c.template:
-	* gst/gstenumtypes.h.template:
-	* gst/meson.build:
-	  meson: use gnome.mkenums() with template files for enum file gen
-	  Saves us a custom script. Template files are nicer than passing
-	  multiline templating stuff through to glib-mkenums. And we can
-	  get rid of our custom python script.
-
-2016-12-22 12:05:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Add guard to gst_element_release_pad() to ensure the pad belongs to this element
-	  It's a programming error to pass other pads here, and it easily causes
-	  crashes or other problematic behaviour down the road as subclasses
-	  usually assume to only get their pads.
-
-2016-12-21 22:18:17 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	  gstrusage: explicitly register to hooks
-	  We were attaching to any probe point to take rusage samples. The new refcount
-	  hooks are called way too frequently though to make this still feasible.
-
-2016-12-21 23:49:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	* meson.build:
-	* tests/check/meson.build:
-	  meson: Add several missing features from configure.ac
-	  * -Wl,-Bsymbolic-functions
-	  * HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID
-	  * HAVE_POSIX_TIMERS
-	  * HAVE_MONOTONIC_CLOCK
-	  * HAVE_UINT128_T
-	  * HAVE_LONG_LONG
-	  * HAVE_PROCESS_H
-	  * HAVE_GMP
-	  * HAVE_GSL
-	  * HAVE_DLADDR
-	  Also, don't use prefix for checking functions, and only check msvc
-	  functions on Windows.
-
-2016-12-21 09:33:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* config.h.meson:
-	* configure.ac:
-	* meson.build:
-	  build: Remove unused functions
-	  fgetpos, fsetpos, mmap, posix_memalign. None of these are used anywhere
-	  in the codebase.
-
-2016-12-21 09:00:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	* plugins/tracers/meson.build:
-	  meson: Derive defines from header/function names
-	  This is what Autoconf already does for us, so just do this. Avoids
-	  people making typos while adding header or function checks. Because we
-	  use a config.h.meson, such typos won't even be noticed.
-	  Also, starting from Meson 0.36.0, the XCode 8 workaround that we use for
-	  clock_gettime is no longer needed.
-
-2016-12-21 10:02:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gststructure.c:
-	  gststructure: simplify test
-	  We can compare structures, that is what the caps fucntion that was used before
-	  would call anyway.
-
-2016-12-20 21:08:09 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerrecord.h:
-	  tracerrecord: improve the values flags docs
-
-2016-12-20 21:07:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	  latency: the latency is not an aggregated value
-	  The logged latencies are individual meassurements.
-
-2016-12-02 08:29:11 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks: Allow user to set the flags to use to retrieve stack traces
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775541
-
-2016-12-01 17:35:45 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks: Allow tracing Gst(Mini)Object reffing operations
-	  It makes it much simpler to later debug refcount issues.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775541
-
-2016-11-30 17:05:56 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* plugins/tracers/gstleaks.c:
-	  leaks: Allow passing a GstStructure to configure the tracer
-	  But keep understanding the simple synthax with a comma separated
-	  list of filters
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775541
-
-2016-12-21 00:40:10 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Switch to normal mode before have-type
-	  Before emitting have-type, switch to NORMAL
-	  mode, as part of the have-type processing sends
-	  the caps event downstream, which might trigger
-	  actions like downstream autoplugging or
-	  flushing seeks - and the latter are only
-	  passed upstream if we've set typefind to NORMAL
-	  mode.
-
-2016-12-13 21:12:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Protect against spurious wakeups of the condition variable
-
-2016-11-30 21:17:55 +0100  Fabrice Bellet <fabrice@bellet.info>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix a use after free case
-	  The event may be disposed while being pushed, so we make sure the
-	  debug infrastructure won't use it after the gst_pad_push().
-
-2016-12-16 18:30:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: fix typo in docs
-
-2016-12-16 23:45:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/parse/meson.build:
-	* meson.build:
-	  meson: Don't search for python3 twice
-
-2016-12-16 18:14:29 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	  check: export new global variable
-
-2016-12-16 13:59:51 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Avoid possible double free
-
-2016-12-02 11:59:43 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Allow listing unit tests names
-	  Adding options while running gst_check_init
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775540
-
-2016-12-15 15:37:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	* tools/gst-stats.c:
-	  tracers/stats: log optional fields instead of GST_CLOCK_TIME_NONE
-	  Simplify the traces and avoid trace analyzer to know that ((1<<64) - 1) means
-	  we had no value.
-
-2016-12-16 15:05:46 +0100  Josep Torra <n770galaxy@gmail.com>
-
-	* autogen.sh:
-	  autogen.sh: drop a leftover docbook related bit
-
-2016-12-08 21:01:52 +1100  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: add structure intersect/union/is_subset/fixate implementations
-	  Allows proper usage of structures in structures in caps.  Subtraction
-	  is not implemented due to complications with empty fields representing
-	  all possible values.
-	  The only implementation that doesn't delegate to the already existing
-	  GstStructure functions is the union function.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775796
-
-2016-12-08 15:41:40 +1100  Matthew Waters <matthew@centricular.com>
-
-	* tests/check/gst/gststructure.c:
-	  tests/structure: add some more is_subset checks
-	  Explicitly testing extra/missing fields and name differences
-
-2016-12-14 18:19:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstmeta.c:
-	  tests: meta: add test for gst_buffer_iterate_meta*()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775727
-
-2016-12-03 13:05:03 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add gst_buffer_iterate_meta_filtered()
-	  For convenience. Pretty much every user of
-	  gst_buffer_iterate_meta() filters for a specific
-	  api type.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775727
-
-2016-12-14 15:22:30 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: mark gst_buffer_iterate_meta() as 'skip' for bindings
-	  The pointer state arg won't work well, bindings can use
-	  the foreach function instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775727
-
-2016-12-14 06:56:55 +0100  Iñaki García Etxebarria <garetxe@gmail.com>
-
-	* gst/gstevent.c:
-	  g-i: Fix annotations for gst_event_new_select_streams() and gst_event_parse_select_streams()
-	  A gchar is not a string.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775944
-
-2016-12-13 23:25:39 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  gstpad: only warn on performance penalty if not using the template caps
-	  After b76ecfd992b0d3a423cc9ace5539ecd2ba509d41 introduced
-	  GST_PAD_FLAG_ACCEPT_TEMPLATE, the performance penalty this
-	  message is refering to (the cascading ACCEPT_CAPS query)
-	  only applies to the cases where !GST_PAD_IS_ACCEPT_TEMPLATE
-
-2016-12-13 20:51:17 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue/queue2: Protect against spurious condition variable wakeups
-	  Make sure that we only wake up when we have to flush, or when this
-	  specific query was handled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776039
-
-2016-12-13 20:00:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue/queue2: Ensure that the streaming thread is unlocked after deactivating the srcpad
-	  It might happen that the srcpad task function is never called at all, in
-	  which case unlocking everything from there will never happen.
-	  Make sure to unlock everything another time after the task function is
-	  definitely stopped.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=776039
-
-2016-12-12 22:14:24 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: add serialisation for GTypes
-	  We need this in the GstTracerRecord. This will serialize GTypes to the typename
-	  and vice versa.
-
-2016-12-13 13:20:09 +0100  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstinfo.c:
-	  gst: Fix building with msvc
-
-2016-12-12 20:55:31 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	  gst: init new flags type in gst_init()
-	  Fix 'make check' some more.
-
-2016-12-12 19:25:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for new API
-
-2016-11-30 15:10:48 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	  info: Add a 'flags' parametter to gst_debug_get_stack_trace
-	  This is an API break but that API has not been released yet.
-	  We are passing a flag rather than a simple boolean as we can imagine
-	  to implement more features in the future for example to retrieve a
-	  stack trace for all the threads, etc..
-	  Retrieving source file and line numbers is pretty
-	  expensive while getting a stack trace, this new argument
-	  allows the user to decide to retrieve a backtrace
-	  without those infos instead which is much faster.
-	  For example running $ GST_LEAKS_TRACER_STACK_TRACE=1 GST_DEBUG=GST_TRACER:7 \
-	  GST_TRACERS=leaks time gst-launch-1.0 videotestsrc num-buffers=1 ! fakesink:
-	  * With simple stack traces:
-	  0.04s user 0.02s system 99% cpu 0.060 total
-	  * With full stack traces:
-	  0.66s user 0.23s system 96% cpu 0.926 total
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775423
-
-2016-12-12 16:19:13 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: Set GError in another error case
-	  When changing the location while open, properly set the GError regarding
-	  the failure.
-
-2016-12-10 18:38:32 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix overflow on get_buffering_level()
-	  guint64 denominator factor for gst_util_uint64_scale_int() can cause overflow
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775921
-
-2016-12-09 19:28:22 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* meson_options.txt:
-	* plugins/tracers/meson.build:
-	  meson: Fix build
-
-2016-12-09 17:55:39 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* meson.build:
-	* plugins/tracers/meson.build:
-	* tests/check/meson.build:
-	  meson: Support building with Gst debug disabled
-
-2016-12-09 22:39:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/libcompat/clock_gettime.c:
-	  check: Fix macro check for OS X
-	  TARGET_OS_MAC is defined on all Apple platforms. You need to check for
-	  !TARGET_OS_IPHONE to detect OS X (now called macOS).
-
-2016-12-09 18:02:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Use gst_query_has_scheduling_mode_with_flags() convenience function
-
-2016-12-09 18:01:35 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/libcompat/clock_gettime.c:
-	  check: Don't try to include CoreServices.h on iOS
-	  On iOS, we have MobileCoreServices.h but it's not really needed.
-
-2016-12-09 17:59:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* config.h.meson:
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/README.txt:
-	* libs/gst/check/libcheck/libcompat/malloc.c:
-	* libs/gst/check/libcheck/libcompat/realloc.c:
-	* libs/gst/check/libcheck/meson.build:
-	* m4/check-checks.m4:
-	  check: Don't check for malloc/realloc and try to fallback
-	  When malloc is not available, this will set #define malloc rpl_malloc
-	  which is implemented only inside libcheck, and not everything will link
-	  to libcheck.
-	  We don't really need to care too much about how malloc is implemented
-	  and we don't care about platforms that don't implement malloc.
-
-2016-12-09 16:03:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/README.txt:
-	  Add a README.txt with context for libcheck
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775870
-
-2016-12-09 15:18:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* config.h.meson:
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/libcompat/alarm.c:
-	* libs/gst/check/libcheck/libcompat/clock_gettime.c:
-	* libs/gst/check/libcheck/libcompat/getline.c:
-	* libs/gst/check/libcheck/libcompat/gettimeofday.c:
-	* libs/gst/check/libcheck/libcompat/libcompat.c:
-	* libs/gst/check/libcheck/libcompat/libcompat.h:
-	* libs/gst/check/libcheck/libcompat/localtime_r.c:
-	* libs/gst/check/libcheck/libcompat/malloc.c:
-	* libs/gst/check/libcheck/libcompat/realloc.c:
-	* libs/gst/check/libcheck/libcompat/strdup.c:
-	* libs/gst/check/libcheck/libcompat/strsignal.c:
-	* libs/gst/check/libcheck/libcompat/timer_create.c:
-	* libs/gst/check/libcheck/libcompat/timer_delete.c:
-	* libs/gst/check/libcheck/libcompat/timer_settime.c:
-	* libs/gst/check/libcheck/meson.build:
-	* libs/gst/check/meson.build:
-	* m4/check-checks.m4:
-	* meson.build:
-	  libcheck: Update the compatibility code and checks
-	  This brings us up-to-speed with the latest compatibility code from upstream
-	  check git. For completeness, we do all the checks that upstream check does, but
-	  we skip the snprintf/vsnprintf code because it's not straightforward (involves
-	  running code and that is bad for cross-compilation) and not necessary for the
-	  platforms we support anyway.
-	  If someone really wants this, they can uncomment this and copy the relevant
-	  checks from the check git repository.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775870
-
-2016-12-09 15:18:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/libcompat/alarm.c:
-	* libs/gst/check/libcheck/libcompat/clock_gettime.c:
-	* libs/gst/check/libcheck/libcompat/libcompat.c:
-	* libs/gst/check/libcheck/libcompat/libcompat.h:
-	* libs/gst/check/libcheck/libcompat/localtime_r.c:
-	* libs/gst/check/libcheck/libcompat/strsignal.c:
-	* libs/gst/check/libcheck/libcompat/timer_create.c:
-	* libs/gst/check/libcheck/libcompat/timer_delete.c:
-	* libs/gst/check/libcheck/libcompat/timer_settime.c:
-	* libs/gst/check/libcheck/meson.build:
-	  libcheck: Just move libcompat files to a subdir
-	  Makes it clearer which files are actually used in libcheck and which are used
-	  for cross-platform compatibility. This is going to be especially useful when we
-	  add all the libcompat fallback code that upstream libcheck has which will add
-	  about 6 new files.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775870
-
-2016-12-09 15:18:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_error.h:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_list.h:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_log.h:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_msg.h:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_pack.h:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_print.h:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/check_str.h:
-	  libcheck: port to latest check git
-	  Upstream seems to have stopped doing releases, but we need to update for better
-	  Windows and Visual Studio support.
-	  This patch only updates the libcheck sources and ignores the compatibility
-	  sources for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775870
-
-2016-12-08 22:03:19 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlog.c:
-	  tracers/log: log more detail
-	  Log the objects like we would in GST_TRACE_OBJECT. Add the hook function into
-	  the fucntion field.
-
-2016-12-08 22:02:17 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlog.c:
-	  tracer/log: fix hook prototype
-	  s/GstElement/GstPad/
-
-2016-12-08 20:20:17 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  tracer: move the PAD_LINK tracer hook to _pad_link_full()
-	  This is ultimately executing the pad_link. In the previous position we missed
-	  some links, notably ghostpads.
-
-2016-12-07 21:53:49 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	  tracer/latency: clear qdata
-	  When reading the qdata, clear it to avoid it being read and unreffed again.
-	  Fixes #774332
-
-2016-12-06 22:32:31 +0100  Peter Seiderer <ps.report@gmx.net>
-
-	* gst/gstconfig.h.in:
-	  gstconfig: Fix unaligned access support for arc and nios2 architectures
-	  Fixes buildroot autobuild failures ([1], [2]).
-	  [1] http://autobuild.buildroot.net/results/fbd/fbdcd90635d5ec3a62ad98a7ff93b71b8e5ecde4
-	  [2] http://autobuild.buildroot.net/results/f3c/f3c9b0ed4ffb114221057237ce22c995b673a98b
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775728
-
-2016-11-22 16:52:46 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* tests/check/gst/gsturi.c:
-	* win32/common/libgstreamer.def:
-	  uri: Add new uri API to get media fragments URI as table
-	  As an usecase of URI fragment, it can indicate temporal or spatial
-	  dimension of a media stream. To easily parse key-value pair,
-	  newly added gst_uri_get_media_fragment_table () API will provide
-	  the table of key-value pair likewise URI query.
-	  See also https://www.w3.org/TR/media-frags/
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774830
-
-2016-12-06 16:27:23 +0100  Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-
-	* libs/gst/helpers/gst:
-	  helpers/gst: Get bash completion options from gst-launch
-	  It is more likely that gst-launch is installed than ges-launch
-	  Reported-by: Marianna Smidth Buschle <msb@qtec.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775714
-
-2016-12-06 18:06:56 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	  configure: update for removed docs/design directory
-
-2016-12-05 18:16:34 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* docs/Makefile.am:
-	* docs/design/Makefile.am:
-	* docs/design/draft-klass.txt:
-	* docs/design/draft-metadata.txt:
-	* docs/design/draft-push-pull.txt:
-	* docs/design/draft-tagreading.txt:
-	* docs/design/part-MT-refcounting.txt:
-	* docs/design/part-TODO.txt:
-	* docs/design/part-activation.txt:
-	* docs/design/part-buffer.txt:
-	* docs/design/part-buffering.txt:
-	* docs/design/part-bufferpool.txt:
-	* docs/design/part-caps.txt:
-	* docs/design/part-clocks.txt:
-	* docs/design/part-context.txt:
-	* docs/design/part-controller.txt:
-	* docs/design/part-conventions.txt:
-	* docs/design/part-dynamic.txt:
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-element-source.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-framestep.txt:
-	* docs/design/part-gstbin.txt:
-	* docs/design/part-gstbus.txt:
-	* docs/design/part-gstelement.txt:
-	* docs/design/part-gstghostpad.txt:
-	* docs/design/part-gstobject.txt:
-	* docs/design/part-gstpipeline.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-live-source.txt:
-	* docs/design/part-memory.txt:
-	* docs/design/part-messages.txt:
-	* docs/design/part-meta.txt:
-	* docs/design/part-miniobject.txt:
-	* docs/design/part-missing-plugins.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-preroll.txt:
-	* docs/design/part-probes.txt:
-	* docs/design/part-progress.txt:
-	* docs/design/part-push-pull.txt:
-	* docs/design/part-qos.txt:
-	* docs/design/part-query.txt:
-	* docs/design/part-relations.txt:
-	* docs/design/part-scheduling.txt:
-	* docs/design/part-seeking.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-seqnums.txt:
-	* docs/design/part-sparsestreams.txt:
-	* docs/design/part-standards.txt:
-	* docs/design/part-states.txt:
-	* docs/design/part-stream-selection.txt:
-	* docs/design/part-stream-status.txt:
-	* docs/design/part-streams.txt:
-	* docs/design/part-synchronisation.txt:
-	* docs/design/part-toc.txt:
-	* docs/design/part-tracing.txt:
-	* docs/design/part-trickmodes.txt:
-	  docs: Remove design doc as they have been moved to gst-docs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775667
-
-2016-11-29 17:34:40 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstinfo.c:
-	  info: Properly start and end dwfl sessions when getting stack traces
-	  We were creating a new session to retrive each line of a stack trace
-	  and we are supposed to start it once for a whole stack trace.
-	  And pass the whole file to gst-indent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775365
-
-2016-12-02 22:47:32 +0100  Marcin Kolny <marcin.kolny@gmail.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  net: set clock name in the constructor
-	  gst_net_client_clock_new() and gst_ntp_clock_new() didn't set the
-	  "name" property.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775538
-
-2016-12-05 21:09:52 +0100  Peter Seiderer <ps.report@gmx.net>
-
-	* gst/gstconfig.h.in:
-	  gstconfig: Fix unaligned access support for microblaze and xtensa architectures
-	  Fixes buildroot autobuild failures, for details see:
-	  http://lists.busybox.net/pipermail/buildroot/2016-December/178895.html
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775661
-
-2016-12-02 15:30:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmeta.h:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_i386w.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  meta: remove unnecessary padding for GstMetaInfo struct
-	  This structure is always allocated by GStreamer, can't be
-	  subclassed or extended, and is never allocated or used on
-	  the stack, so we don't need any padding and can extend it
-	  as we please.
-
-2016-06-29 19:36:09 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstidentity.c:
-	  fakesink, identity: print metas attached to buffer in silent=false mode
-
-2016-12-05 11:01:45 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gsttee.c:
-	  elements: Handle GstIterator RESYNC return value correctly in gst_iterator_foreach()
-
-2016-12-04 12:15:09 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlog.c:
-	  tracers/log: log messages in message category
-
-2016-12-03 08:19:08 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* README:
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From f980fd9 to 39ac2f5
-
-2016-12-01 18:20:11 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Make sure to resync iterators and handle RESYNC at all in gst_iterator_foreach() calls
-
-2016-11-29 18:14:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	  clock: Fix offsetting of times_temp relative to the times array
-
-2016-11-29 10:34:14 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* meson.build:
-	  meson: Set default debug level to ERROR when running from git
-
-2016-11-28 19:28:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	* plugins/elements/meson.build:
-	* tests/check/meson.build:
-	  meson: Add Autotools changes that weren't mirrored
-	  commits:
-	  a7d282d27256ad1d1a55afc37d1db7f60b040089
-	  6fdb4df0f8c8a9e39f7f7cb73ab65306fb0517f5
-	  1aceebd67f0161806dc3b4b68488d599290f283e
-
-2016-11-28 14:11:27 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  check/pipeline: Make failure message more informative
-	  This will provide maybe a bit more insight the next time it fails
-
-2016-11-28 14:00:18 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstmemory.c:
-	  check/memory: Don't leak the custom allocator
-
-2016-11-28 13:48:16 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstutils.c:
-	  gstutils: Fix a pad leak
-	  When requesting a pad from a template and it's already linked, this
-	  means it was a static pad. Since we only want to return an *available*
-	  pad, we must return NULL ... but we must also remove the reference
-	  we got from getting that static pad.
-	  The "No need to unref" message (which wasn't true for quite some time)
-	  dates back from the very very very first commit introducing the 0.10
-	  features.
-
-2016-11-28 09:50:40 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/elements/queue2.c:
-	  check: Fix leak in queue2 test
-
-2016-11-23 15:41:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstclock-linreg.c:
-	* gst/gstclock.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* tests/check/gst/gstclock.c:
-	* tests/check/gst/gstutils.c:
-	* win32/common/libgstreamer.def:
-	  utils: Export linear regression calculation as public function
-	  It is useful outside the GstClock code too.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774916
-
-2016-11-28 11:56:23 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	* Makefile.am:
-	* configure.ac:
-	* gstreamer.spec.in:
-	  Remove generated gstreamer.spec file
-	  Likely extremely bitrotten, and we should not ship this anyway.
-
-2016-11-28 11:09:08 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.interfaces:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: add dataurisrc to docs and update
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774527
-
-2016-11-28 11:10:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/filesrc.c:
-	  tests: filesrc: init and clear GCond and mutex
-	  Might otherwise leak on non-Linux systems.
-
-2016-11-28 11:08:24 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/dataurisrc.c:
-	  tests: rewrite and enable dataurisrc test
-	  Can't use playbin for core unit tests.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774527
-
-2016-11-28 11:07:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstdataurisrc.c:
-	* plugins/elements/gstelements.c:
-	  elements: add dataurisrc to build
-	  Moved from -bad.
-
-2016-11-28 10:42:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: fix string leak in property getter
-
-2016-11-28 11:18:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	  Move dataurisrc element from -bad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774527
-
-2016-11-28 12:28:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: Ensure that the "debug" field of error/warning/info messages is valid UTF-8
-	  The caller might pass arbitrary data here that caused the error, and
-	  trying to set invalid UTF-8 in a GstStructure causes it to be not set at
-	  all. Later when trying to parse it, the field will not exist and the
-	  return value will point to invalid memory. Prevent this by storing NULL
-	  instead.
-	  Also print a g_warning(), the caller should never ever do this to begin
-	  with.
-
-2016-11-26 11:20:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitmodules:
-	  common: use https protocol for common submodule
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775110
-
-2016-11-26 11:06:20 +0000  Hanno Boeck <hanno@hboeck.de>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup: use https protocol to clone repos
-	  The git:// protocol is problematic from a security perspective, as
-	  it provides no authenticity of data. https:// also works better in
-	  environments with restricted network connectivity.
-	  Also add CLONE_OPTS to do shallow checkouts more easily.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=775110
-
-2016-11-15 03:03:22 +0800  Ting-Wei Lan <lantw@src.gnome.org>
-
-	* meson.build:
-	  meson: Support execinfo.h on FreeBSD by using -lexecinfo
-	  FreeBSD supports execinfo.h and backtrace* functions, but
-	  using them requires linking with -lexecinfo.
-	  Requires sufficiently-new meson with #1053 fixed (post-0.36).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774424
-
-2016-11-23 18:56:20 +0100  Edward Hervey <edward@centricular.com>
-
-	* tools/Makefile.am:
-	  tools: Remove files to be cleaned
-	  manpages are no longer auto-generated
-	  cov-related files should not be there (if needed we could use gitignore)
-
-2016-11-04 18:54:10 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: Document the interaction between unlock() and wait_preroll()
-	  This was totally non-obvious, the kind of big problem is that subclasses must
-	  be able to unblock their streaming thread and continue exactly where they left off
-	  on unpause!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773912
-
-2016-11-04 18:46:45 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	* plugins/elements/gstfilesink.c:
-	  fdsink: Block in preroll_wait on unlock
-	  The correct behaviour of anything stuck in the ->render() function
-	  between ->unlock() and ->unlock_stop() is to call
-	  gst_base_sink_wait_preroll() and only return an error if this returns an
-	  error, otherwise, it must continue where it left off!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773912
-
-2016-11-23 18:57:17 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Don't increment NULL pointers
-	  Trivial workaround for coverity false warning.
-	  CID 1394488, 1394487.
-
-2016-11-23 09:58:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	  tools: fix distcheck and .gitignore
-
-2016-11-03 10:30:53 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/meson.build:
-	  meson: tools: install the man pages
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-03 10:30:53 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	* tools/gst-inspect-1.0.1:
-	* tools/gst-launch-1.0.1:
-	* tools/gst-typefind-1.0.1:
-	  tools: ship the final man pages directly, no more man pages templates
-	  Don't use templates for the man pages, the API version change is a rare
-	  event, so it's not really worth keeping in place the "sed" boilerplate
-	  to have it set at build time.
-	  Shipping the final man pages directly also makes it easer to install the
-	  man pages with meson (in a future commit).
-	  Note that now all the occurrences of the programs names have the API
-	  version as a suffix.
-	  Traditionally the example command lines looked like:
-	  gst-launch ...
-	  Now they look like:
-	  gst-launch-1.0 ...
-	  This reflects the actual programs names and makes it easier to copy and
-	  paste the example commands.
-	  Also, the .gitignore file is adjusted not to ignore the final man pages
-	  anymore.
-	  You may need to clean your src/build directory before pulling in this
-	  patch.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-18 13:09:21 +1100  Matthew Waters <matthew@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstproxycontrolbinding.c:
-	* libs/gst/controller/gstproxycontrolbinding.h:
-	* libs/gst/controller/meson.build:
-	* tests/check/libs/controller.c:
-	* win32/common/libgstcontroller.def:
-	  controllers: add new proxy control binding
-	  Allows proxying the control interface from one property on one GstObject
-	  to another property (of the same type) in another GstObject.
-	  E.g. in a parent-child relationship, one may need to
-	  gst_object_sync_values() on the child and have a binding (set elsewhere)
-	  on the parent update the value.
-	  Note: that this doesn't solve GObject property forwarding and must be
-	  taken care of by the implementation manually or using GBinding.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774657
-
-2016-10-07 11:39:26 +0100  Julien Isorce <j.isorce@samsung.com>
-
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: log with GST_INFO instead GST_ERROR when subclass map failed.
-	  Add unit test to ensure that.
-	  It can be a normal execution path to do some map trials and there is
-	  no need to worry the user in that case.
-	  The application has to check the return value of gst_memory_map.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765600
-
-2016-11-17 17:37:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Ensure to set the RECONFIGURE flag again if reconfiguration failed
-	  It might've failed just because of flushing or other things, and we
-	  should retry again on the next possibility if something ever calls in
-	  here again.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774623
-
-2016-11-17 16:39:52 -0800  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* meson.build:
-	  meson: add_global_arguments -> add_project_arguments
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774656
-
-2016-11-16 23:19:28 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Make sure not-linked streams get woken up
-	  When running in sync-by-running-time mode, pad groups
-	  that have exactly 1 pad and it's not-linked might never
-	  wake up after computing a high time, as the per-pad-group
-	  high time was only recomputed when a pad in the group
-	  advances.
-	  Wake those up using the global multiqueue high-time across
-	  all other groups instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774322
-
-2016-11-16 10:55:29 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbin.h:
-	* gst/gstelement.h:
-	* gst/gstutils.h:
-	  docs: misc fixes
-
-2016-11-16 10:51:48 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.h:
-	  utils: use temp var in fallback GST_WRITE_*() macros
-	  To make sure the value is only expanded/used once, in case
-	  there are side effects to it, and to avoid calculating it
-	  or looking it up multiple times if there is a calculation
-	  or lookup involved.
-
-2016-11-16 00:30:26 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix previous commit
-	  Check the correct segment format value.
-	  parse->segment.format is the format we're outputting in,
-	  not the upstream format. Use parse->priv->upstream_format instead,
-	  and make sure it's set in pull mode.
-
-2016-11-15 23:51:06 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Restrict query/convert responses when demuxing
-	  If the parser is not parsing a raw elementary stream, restrict
-	  the position, duration and conversion query replies to
-	  things we can sensibly answer about - especially don't do
-	  random conversions to/from bytes.
-
-2016-11-15 22:39:43 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	  queues: Don't return negative position queries.
-	  When subtracting queued data sizes from upstream queries
-	  in queue, queue2, downloadbuffer and typefind, clamp the
-	  result to not go negative, in case upstream returned
-	  a nonsense value that's too small (as could happen if
-	  upstream is estimating, or just broken)
-
-2016-11-14 11:27:05 -0800  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstprotection.c:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetcontrolmessagemeta.c:
-	  Cast away const from GstMetaInfo in *_get_meta_info() functions
-	  MSVC warns about the const in the implicit argument conversion in the
-	  calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774293
-
-2016-11-14 11:32:51 -0800  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Update prototype of helper_find_suggest()
-	  forward declaration prototype is updated to match the change in:
-	  5a72c23 Change some types to match their prototypes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774293
-
-2016-11-14 21:28:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* win32/MANIFEST:
-	* win32/README.txt:
-	* win32/common/config.h:
-	* win32/common/gstconfig.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  win32: remove copies of generated headers
-
-2016-11-14 21:18:13 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/htmlinstall.mak:
-	* docs/image-eps:
-	* docs/image-pdf:
-	* docs/image-png:
-	* docs/manuals.mak:
-	* docs/slides/Makefile.am:
-	* docs/slides/README:
-	* docs/slides/abstract:
-	* docs/slides/abstract.save:
-	* docs/slides/outline:
-	* docs/slides/slides:
-	* docs/url.entities:
-	* docs/xsl/Makefile.am:
-	* docs/xsl/admon.xsl:
-	* docs/xsl/css.xsl:
-	* docs/xsl/fileext.xsl:
-	* docs/xsl/fo.xsl:
-	* docs/xsl/html.xsl:
-	* docs/xsl/keycombo.xsl:
-	* docs/xsl/ulink.xsl:
-	  docs: remove more docbook build cruft that's no longer needed
-
-2016-11-14 21:29:43 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/README:
-	  docs/README: remove more outdated pieces of info/advice
-
-2016-10-20 22:32:50 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-tracing.txt:
-	* scripts/gst-plot-traces.sh:
-	  scripts/gst-plot-traces.sh: make log parsing a bit more solid
-	  Use grep -o to grab the log message only. This makes it work with colored log
-	  files too. Prefilter the log to not catch tracer classes.
-	  Update the commandline for the script in the docs.
-
-2016-10-20 15:38:46 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/printf/meson.build:
-	* libs/gst/check/libcheck/meson.build:
-	* meson.build:
-	  meson: require meson 0.36 and use new `pic` arg on static libs
-	  Removes a meson warning and some special casing we had.
-
-2016-11-11 10:30:44 -0800  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* gst/gstevent.h:
-	* gst/gsttask.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  Change some types to match their prototypes
-	  Particularly note that the underlying integer type of the enum
-	  GstTypeFindProbability is implementation dependent and may not match
-	  guint.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774293
-
-2016-11-14 18:04:28 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translatable strings
-
-2016-11-14 17:46:07 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* autogen.sh:
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/README:
-	* docs/faq/.gitignore:
-	* docs/faq/Makefile.am:
-	* docs/faq/base.css:
-	* docs/faq/dependencies.xml:
-	* docs/faq/developing.xml:
-	* docs/faq/faq.xml:
-	* docs/faq/general.xml:
-	* docs/faq/getting.xml:
-	* docs/faq/git.xml:
-	* docs/faq/legal.xml:
-	* docs/faq/start.xml:
-	* docs/faq/troubleshooting.xml:
-	* docs/faq/using.xml:
-	* gstreamer.spec.in:
-	  docs: remove FAQ which was moved into gst-docs module
-
-2015-04-29 12:34:49 +0200  Nicola Murino <nicola.murino@gmail.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add GIO_EXTRA_MODULES
-	  In case glib is installed into local prefix dir.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748626
-
-2016-11-12 12:36:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.h:
-	  utils: faster GST_WRITE_* macros if unaligned access is possible
-	  https://bugzilla.gnome.org/show_bug.cgi?id=599546
-
-2016-11-11 20:31:03 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: better error message when linking two elements with capsfilter fails
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760550
-
-2016-11-11 16:11:15 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* win32/common/libgstreamer.def:
-	  Add gst_print(), gst_println(), gst_printerr(), gst_printerrln()
-	  Useful for debugging.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766470
-
-2016-11-11 10:23:17 -0800  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* gst/gsttaglist.c:
-	  taglist: remove `return void` in gst_tag_register
-	  MSVC warns on this and the documentation about the warning says:
-	  > The compiler assumes the function returns a value of type int
-	  which is a little scary, so lets just remove the unnecessary 'return'
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774293
-
-2016-05-09 15:32:43 +0200  Nicolas Huet <nicolas.huet@parrot.com>
-
-	* tests/check/libs/adapter.c:
-	  tests: add unit test for gst_adapter_prev_pts_at_offset()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765662
-
-2016-04-27 10:57:29 +0200  Nicolas Huet <nicolas.huet@parrot.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: fix distance when getting prev pts/dts at offset
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765662
-
-2016-10-26 22:38:07 -0700  Scott D Phillips <scott.d.phillips@intel.com>
-
-	* meson.build:
-	  meson: don't add_global_arguments when being built as a subproject
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773568
-
-2016-07-21 10:52:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix pool leak when early returning in decide_allocation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769023
-
-2016-07-27 13:39:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: add GstStream and GstStreamCollection support to gst_debug_print_object()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769220
-
-2016-08-12 08:03:41 +0900  Seungha Yang <sh.yang@lge.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Support PROTECTION event from application
-	  Application may want to send PROTECTION event to the src element.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769775
-
-2016-11-03 13:34:18 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/meson.build:
-	  meson: tools: generate the targets dynamically
-	  The three targets are the same except for input and output
-	  files, use a loop and generate them dynamically.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-03 15:21:05 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/gst-inspect.1.in:
-	* tools/gst-typefind.1.in:
-	  tools: don't mention gst-feedback in man pages
-	  gst-feedback no longer exists.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-03 00:18:21 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/gst-launch.1.in:
-	  tools: put the examples descriptions before the commands in man page
-	  Put the description of the example command lines before the command
-	  instead of after them. The new way is more intuitive.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-02 22:56:01 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/gst-launch.1.in:
-	  tools: don't start lines with single quotes in man page
-	  When a line starts with a single quote it's treated in a special way by
-	  man, which may result in paragraphs of the man page not rendered by the
-	  man pager, so just avoid that.
-	  A possible solution could have been to escape the singe quote with
-	  a \(cq sequence but this is rather unreadable, instead the text has been
-	  reformatted to have the problematic quoted 'ppc' string on the previous
-	  line.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-02 22:36:27 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/gst-inspect.1.in:
-	* tools/gst-launch.1.in:
-	* tools/gst-typefind.1.in:
-	  tools: escape dashes in the man pages
-	  The portable way to have the dashes to be rendered as ASCII minuses is
-	  to use the sequence backslash-dash, use this style at least for text
-	  that can be copied and pasted (e.g. command names, file names, element
-	  options).
-	  Also use backslash-dash in the NAME section as suggested by lexgrog(1).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773917
-
-2016-11-11 04:42:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/net/meson.build:
-	  meson: Fir dependencies of gstnet-1.0
-	  It depends on gst_base_dep which will pull in gst_dep
-
-2016-11-11 04:41:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/base/meson.build:
-	  meson: Add GstBase-1.0.gir to gst_base_dep
-	  Without this, GIR generators can't find and use it
-
-2016-11-10 13:42:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* win32/common/libgstbase.def:
-	  baseparse: add since marker for new API to docs and fix win32 .def file
-
-2016-11-10 12:47:37 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* win32/common/libgstbase.def:
-	  baseparse: expose gst_base_parse_drain
-
-2016-11-09 14:07:28 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/base/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/net/meson.build:
-	  meson: Advertise dependency on gst_dep generating girs
-	  And do not simply link to libgst as the gir information
-	  location only exist in declare_dependecy
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774044
-
-2016-11-08 17:09:53 +0100  Victor Toso <me@victortoso.com>
-
-	* tests/misc/netclock-replay.c:
-	  tests: Fix compile warning on mingw64
-	  In file included from ../../libs/gst/net/gstntppacket.c:35:0,
-	  from netclock-replay.c:25:
-	  ../../config.h:546:0: error: "__MSVCRT_VERSION__" redefined [-Werror]
-	  #define __MSVCRT_VERSION__ 0x0601
-	  In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/crtdefs.h:10:0,
-	  from /usr/x86_64-w64-mingw32/sys-root/mingw/include/stdio.h:9,
-	  from netclock-replay.c:21:
-	  /usr/x86_64-w64-mingw32/sys-root/mingw/include/_mingw.h:220:0: note:
-	  this is the location of the previous definition
-	  # define __MSVCRT_VERSION__ 0x0700
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774108
-
-2016-11-09 11:37:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Make sure to only lock the stream lock once
-	  We also only unlock it once, and otherwise have it locked forever from
-	  this thread, causing deadlocks on shutdown later.
-
-2016-11-08 16:58:53 +0100  Victor Toso <me@victortoso.com>
-
-	* gst/gstpoll.c:
-	  pool: Fix compiler warning on mingw64
-	  gstpoll.c: In function 'release_event':
-	  gstpoll.c:239:3: error: suggest parentheses around assignment used as
-	  truth value [-Werror=parentheses]
-	  if (status = WaitForSingleObject (set->wakeup_event, INFINITE)) {
-	  ^~
-	  https://bugzilla.gnome.org/show_bug.cgi?id=774108
-
-2016-11-04 21:15:58 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def for new API
-
-2016-11-04 10:19:17 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* meson.build:
-	  meson: Unset the plugin paths to generate the .gir files
-	  Avoiding problems when using subproject:
-	  Failed to load plugin 'something.so: file too short
-
-2016-10-10 16:40:21 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/gstinfo.c:
-	  debug: Remove the Gst only based stack trace printing implementation
-	  We now have 2 other implementations that should work better.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772555
-
-2016-10-07 12:02:44 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/meson.build:
-	  tracers: leaks: Use the new gst_debug_get_stack_trace
-	  And remove the local implementation of it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772555
-
-2016-10-07 11:38:27 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* config.h.meson:
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/meson.build:
-	* meson.build:
-	* plugins/tracers/meson.build:
-	  gst: Use libunwind/libdw to generate backtraces if avalaible
-	  Making the gst_debug_print_trace function more generally useful.
-	  API:
-	  + gst_debug_get_trace
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772555
-
-2016-11-02 13:57:51 +0100  Antonio Ospite <ao2@ao2.it>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: fix minor memory leak when failing to parse options
-	  Commit 215cfcf99338 (gstreamer: Fix memory leaks when context parse
-	  fails) fixes some memory leak, but in one of the newly added calls to
-	  g_clear_error() the wrong variable was passed.
-	  When failing to parse command line options, free the "err" variable, not
-	  the "error" one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773907
-
-2016-11-03 15:22:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Make sure we never drop the preroll buffer
-	  This is cosmetic as 'late' should never be set during preroll (in pause).
-	  Though code may evolve in the future, so this is good for preventing
-	  potential bugs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772468
-
-2016-10-05 14:26:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't nest prepare/render calls
-	  When the first buffer arrives, we endup calling:
-	  ->prepare()
-	  ->prepare()
-	  ->preroll()
-	  ->render()
-	  This will likely confuse any element using this method. With this patch,
-	  we ensure the preroll take place before the first render prepare() is
-	  called. This will result in:
-	  ->prepare()
-	  ->preroll()
-	  ->prepare()
-	  ->render()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772468
-
-2016-11-02 16:27:58 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix typo in documentation
-	  Small typo in the documentatin of gst_base_sink_set_drop_out_of_segment().
-	  Fixing it.
-
-2016-11-02 16:35:59 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: Fix gst_base_sink_set_drop_out_of_segment() documentation
-	  Also silences a GI warning.
-
-2016-11-02 14:11:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/check/libcheck/clock_gettime.c:
-	  clock_gettime.c: Use __APPLE__ instead of __MACH__
-	  Hurd also defines __MACH__, but it does not have mach_absolute_time. Use
-	  the more strict __APPLE__ instead.
-	  Has also been sent upstream: https://github.com/libcheck/check/pull/65
-
-2016-11-02 14:01:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* m4/check-checks.m4:
-	  build: Fix AM_CONDITIONAL check for clock_gettime
-	  It was always evaluating to false, so clock_gettime.c was always being
-	  included into libcheck. This breaks building on Hurd and causes us to
-	  always override clock_gettime() even when it is available.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773813
-
-2016-11-02 10:12:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/meson.build:
-	  gst: Also include the gstdynamictypefactory.c source file in the build
-
-2016-11-02 10:04:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/Makefile.am:
-	* gst/meson.build:
-	  gst: Install gstdynamictypefactory.h header file
-
-2016-11-02 09:35:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  Revert "baseparse: fix draining with less data than min frame size available"
-	  This reverts commit 2e278aeb7128e8732f5324ab8c8b22a47950c80a.
-	  Some parsers, specifically audio parsers, assume to get all remaining
-	  data on EOS and just pass them onwards. While the idea here is correct,
-	  we will probably need a property for this on baseparse for parsers to
-	  opt-in.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773666
-
-2015-06-26 03:29:27 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/parse/grammar.y:
-	* gst/parse/parse.l:
-	* gst/parse/types.h:
-	* tests/check/pipelines/parse-launch.c:
-	* tools/gst-launch.1.in:
-	  parse-launch: Support linking all pads with new operator
-	  Introduce a new operator ':' - e.g. element1 ':' element2
-	  For example, 'uridecodebin : encodebin' -
-	  if the encodebin has multiple profiles compatible with the
-	  decodebin, multiple links will be created.
-	  With '!' , after one delayed link is successfully done, the
-	  pad-added callback is disconnected.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751450
-
-2016-11-02 11:32:42 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* win32/common/libgstbase.def:
-	  Add new basesink API to exports and Since markers
-	  Add Since markers to the new basesink API to drop
-	  out-of-segment buffers, and add them to the
-	  win32 exports
-
-2015-05-14 00:25:21 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstdynamictypefactory.c:
-	* gst/gstdynamictypefactory.h:
-	* gst/gstelementfactory.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  dynamic types: Implement dynamic types in the registry
-	  Implement GstDynamicTypeFactory as a new registry feature.
-	  GstDynamicTypeFactory provides a way of registering a GType
-	  into the registry, such that it will be registered as a dynamic
-	  type when the registry is loaded, and then automatically loaded
-	  if the type is needed during caps parsing.
-	  This allows using non-core types in pad templates, by loading a
-	  registry feature to create the GType on the fly.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750079
-
-2016-04-29 02:38:49 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* plugins/elements/gstfakesink.c:
-	  fakesink: Add property to not drop out-of-segment buffers
-	  Implement handling in basesink to not unconditionally discard
-	  out-of-segment buffers and expose it as a new property on fakesink
-	  (not unconditionally in all basesink based sinks).
-	  The property defaults to FALSE.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765734
-
-2016-11-01 23:54:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Update GstValue table size for GValueArray
-
-2016-07-07 19:41:49 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Always push all sticky events whenever we forward a serialized event
-	  Otherwise downstream will have an inconsistent set of sticky events at this
-	  point, e.g. when a TAG event is pushed and downstream wants to relate it to
-	  the stream by looking at the current STREAM_START event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768526
-
-2016-03-29 10:38:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Set GST_PAD_FLAG_PROXY_CAPS before forwarding sticky events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752213
-
-2016-10-29 11:17:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix draining with less data than min frame size available
-	  baseparse would pass whatever is left in the adapter to the
-	  subclass when draining, even if it's less than the minimum
-	  frame size required. This is bogus, baseparse should just
-	  discard that data then. The original intention of that code
-	  seems to have been that if we have more data available than
-	  the minimum required we should pass all of the data available
-	  and not just the minimum required, which does make sense, so
-	  we'll continue to do that in the case that more data is available.
-	  Fixes assertions in rawvideoparse on EOS after not-negotiated with
-	  fakesrc sizetype=random ! queue ! rawvideoparse format=rgb ! appsink caps=video/x-raw,format=I420
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773666
-
-2015-10-29 22:51:18 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstinfo.c:
-	  info: Replace %p and %r in GST_DEBUG_FILE
-	  It's useful to be able to set a name pattern for GST_DEBUG_FILE so that
-	  the same environment variable can be used for multiple processes and
-	  still write to different files. Especially useful if these processes
-	  run simultaneously.
-	  %p: Replaced with PID
-	  %r: Replaced with random number
-	  %p is obviously useful. %r is useful when for instance running two
-	  processes with same PID but in different containers.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773092
-
-2013-05-02 10:09:29 +0200  Stian Selnes <stian.selnes@gmail.com>
-
-	* gst/gst.c:
-	* gst/gstregistry.c:
-	  registry: set env GST_REGISTRY_DISABLE=yes to disable registry
-	  If GST_REGISTRY_DISABLE=yes the registry is disabled similar to
-	  compile time switch GST_DISABLE_REGISTRY.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773089
-
-2015-11-11 16:43:40 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Make GValueArray serializable
-	  For instance very useful for logging GValueArray with GST_PTR_FORMAT
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761918
-
-2016-04-29 16:26:49 +0900  Wonchul Lee <wonchul.lee@collabora.com>
-
-	* gst/gstelement.c:
-	* gst/gstpadtemplate.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstpad.c:
-	  element: Allow multiple conversion specifiers for request pads
-	  This allows pad template names like "src_%u_%u", but it does not allow
-	  multiple specifiers of string type %s as that would lead to ambiguities.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761225
-
-2015-11-05 17:13:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add no-reconfigure link check
-	  Enable it to prevent sending reconfigure when linking elements.
-	  Useful for autoplugging when we know caps or bufferpools shouldn't change
-	  to save doing caps renegotiation to end up with the same final scenario.
-	  The no-reconfigure is not a proper check, it is a flag. It is implemented
-	  as a GstPadLinkCheck to avoid creating another gst_pad_link variant.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757653
-
-2016-11-01 18:08:18 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: update version
-
-2016-11-01 17:35:18 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/manual/.gitignore:
-	* docs/manual/Makefile.am:
-	* docs/manual/README:
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-buffering.xml:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/advanced-position.xml:
-	* docs/manual/advanced-threads.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/appendix-compiling.xml:
-	* docs/manual/appendix-integration.xml:
-	* docs/manual/appendix-licensing.xml:
-	* docs/manual/appendix-porting.xml:
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/appendix-quotes.xml:
-	* docs/manual/base.css:
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-bus.xml:
-	* docs/manual/basics-data.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-helloworld.xml:
-	* docs/manual/basics-init.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/basics-plugins.xml:
-	* docs/manual/bin-element-ghost.png:
-	* docs/manual/bin-element-noghost.png:
-	* docs/manual/bin-element.png:
-	* docs/manual/clocks.png:
-	* docs/manual/communication.png:
-	* docs/manual/diagrams-clocks.svg:
-	* docs/manual/diagrams-general.svg:
-	* docs/manual/diagrams-pipelines.svg:
-	* docs/manual/filter-element-multi.png:
-	* docs/manual/filter-element.png:
-	* docs/manual/gstreamer-overview.png:
-	* docs/manual/hello-world.png:
-	* docs/manual/highlevel-playback.xml:
-	* docs/manual/highlevel-xml.xml:
-	* docs/manual/images/.gitignore:
-	* docs/manual/intro-basics.xml:
-	* docs/manual/intro-gstreamer.xml:
-	* docs/manual/intro-motivation.xml:
-	* docs/manual/intro-preface.xml:
-	* docs/manual/linked-elements.png:
-	* docs/manual/manual.xml:
-	* docs/manual/mime-world.png:
-	* docs/manual/outline.txt:
-	* docs/manual/simple-player.png:
-	* docs/manual/sink-element.png:
-	* docs/manual/src-element.png:
-	* docs/manual/state-diagram.svg:
-	* docs/manual/thread-buffering.png:
-	* docs/manual/thread-synchronizing.png:
-	* docs/manual/titlepage.xml:
-	* docs/pwg/.gitignore:
-	* docs/pwg/Makefile.am:
-	* docs/pwg/advanced-allocation.xml:
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-dparams.xml:
-	* docs/pwg/advanced-events.xml:
-	* docs/pwg/advanced-interfaces.xml:
-	* docs/pwg/advanced-negotiation.xml:
-	* docs/pwg/advanced-qos.xml:
-	* docs/pwg/advanced-request.xml:
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/appendix-checklist.xml:
-	* docs/pwg/appendix-licensing.xml:
-	* docs/pwg/appendix-porting.xml:
-	* docs/pwg/appendix-python.xml:
-	* docs/pwg/base.css:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-chainfn.xml:
-	* docs/pwg/building-eventfn.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/building-props.xml:
-	* docs/pwg/building-queryfn.xml:
-	* docs/pwg/building-signals.xml:
-	* docs/pwg/building-state.xml:
-	* docs/pwg/building-testapp.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/intro-preface.xml:
-	* docs/pwg/other-base.xml:
-	* docs/pwg/other-manager.xml:
-	* docs/pwg/other-ntoone.xml:
-	* docs/pwg/other-oneton.xml:
-	* docs/pwg/other-sink.xml:
-	* docs/pwg/other-source.xml:
-	* docs/pwg/pwg.xml:
-	* docs/pwg/titlepage.xml:
-	* tests/examples/Makefile.am:
-	* tests/examples/manual/.gitignore:
-	* tests/examples/manual/Makefile.am:
-	* tests/examples/manual/extract.pl:
-	  docs: remove app dev manual and plugin writer's guide
-	  They have moved to gst-docs and will be maintained there in future.
-
-=== release 1.11.0 ===
-
-2016-11-01 18:53:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.10.0 ===
-
-2016-11-01 17:50:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.10.0
-
-2016-11-01 17:40:11 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/nb.po:
-	  Update .po files
-
-2016-11-01 17:38:43 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/nb.po:
-	  po: Update translations
-
-2016-11-01 17:36:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2016-10-25 12:21:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	* meson_options.txt:
-	  meson: Add an option to explicitly disable gtk-doc
-	  Similar to how Autotools provides an option, default is 'enabled'.
-
-2016-10-24 11:45:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  Revert "collectpads: Assume PTS is equal DTS if PTS is missing"
-	  This reverts commit 9b0d42ceecb3198399d7e05e3d5f080a7ca27ca9.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762207
-
-2016-10-18 11:59:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstallocator.c:
-	  allocator: Mark registered allocator for leak
-
-2016-06-21 08:00:30 -0500  Andrew Eikum <aeikum@codeweavers.com>
-
-	* gst/gstmessage.h:
-	  gstmessage.h: Avoid gcc bit shift overflow compiler warning
-	  Avoids bit shift overflow warning with gcc6.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767882 (glib)
-	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71803 (gcc)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767883
-
-2016-10-23 22:11:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: fix erroneous use of _("")
-	  Fixes xgettext warnings when doing 'make update-po':
-	  gst/parse/grammar.y:217: warning: Empty msgid.  It is reserved by GNU gettext:
-	  gettext("") returns the header entry with
-	  meta information, not the empty string.
-
-2016-10-22 17:05:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add index for API new in 1.10
-
-2016-10-22 17:05:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add index for API new in 1.8
-
-2016-10-21 15:40:47 +0200  Jesper Larsen <knorr.jesper@gmail.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: Fix mix-up between DTS and PTS
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773319
-
-2016-10-21 15:22:28 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  Revert "queue: Fix race when calculating cur_level.time"
-	  This reverts commit d03bd547809f849405a3f706920091d9b03147b0.
-	  It breaks the unit test, although it ensures that only correct values
-	  are used for calculations. Needs to be fixed up.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773096
-
-2016-10-20 17:19:25 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/printf/meson.build:
-	* libs/gst/check/libcheck/meson.build:
-	* meson.build:
-	  Revert "meson: Use the new `pic` argument on static libs"
-	  This reverts commit a5752240a178c2c651ed10167025fad8b9c4e7bd.
-	  pic was added after 0.35 and will be present in 0.36 (meson
-	  documentation was wrong).
-
-2016-10-20 15:38:46 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* gst/printf/meson.build:
-	* libs/gst/check/libcheck/meson.build:
-	* meson.build:
-	  meson: Use the new `pic` argument on static libs
-	  We depend on meson 0.35 which makes it simpler to handle
-	  Removes a meson warning
-
-2016-09-14 14:23:56 +0200  Stian Selnes <stian@pexip.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Fix race when calculating cur_level.time
-	  On the first buffer, it's possible that sink_segment is set but
-	  src_segment has not been set yet. If this is the case, we should not
-	  calculate cur_level.time since sink_segment.position may be large and
-	  src_segment.position default is 0, with the resulting diff being larger
-	  than max-size-time, causing the queue to start leaking (if
-	  leaky=downstream).
-	  One potential consequence of this is that the segment event may be
-	  stored on the srcpad before the caps event is pushed downstream, causing
-	  a g_warning ("Sticky event misordering, got 'segment' before 'caps'").
-	  https://bugzilla.gnome.org/show_bug.cgi?id=773096
-
-2016-09-27 00:00:30 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstelement.c:
-	  element: use g_strcmp0 in set_context
-	  It's NULL-safe while the libc implementation may not be.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771773
-
-2016-09-26 23:59:29 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstelement.c:
-	  element: check for invalid gstcontext's being provided to set_context
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771773
-
-2016-10-18 09:38:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* meson.build:
-	  build: Apply XCode 8 workaround for iOS too
-	  clock_gettime was also added for iOS 10.0, so don't use it if we're
-	  targetting an older version. That would've caused the symbol to not be
-	  found at runtime on older devices.
-
-2016-10-15 21:49:21 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* meson.build:
-	  meson: Don't use c_std=c99
-	  Just use the default c_std used by the compiler. With GCC on Linux this
-	  is gnu89.
-	  Tons of errors related to time.h, signal.h, etc when using c99:
-	  FAILED: libs/gst/check/libcheck/check@sta/check_run.c.o
-	  cc  '-Ilibs/gst/check/libcheck/check@sta' '-fdiagnostics-color=always' '-I../libs/gst/check/libcheck' '-Ilibs/gst/check/libcheck' '-I.' '-I../.' '-Ilibs/gst/check/libcheck/..' '-I../libs/gst/check/libcheck/..' '-pipe' '-Wall' '-Winvalid-pch' '-std=c99' '-DHAVE_CONFIG_H' '-fPIC' '-O2' '-g' '-fPIC' '-MMD' '-MQ' 'libs/gst/check/libcheck/check@sta/check_run.c.o' '-MF' 'libs/gst/check/libcheck/check@sta/check_run.c.o.d' -o 'libs/gst/check/libcheck/check@sta/check_run.c.o' -c ../libs/gst/check/libcheck/check_run.c
-	  In file included from ../libs/gst/check/libcheck/check_run.c:21:0:
-	  ../libs/gst/check/libcheck/libcompat.h:167:18: warning: ‘struct itimerspec’ declared inside parameter list will not be visible outside of this definition or declaration
-	  const struct itimerspec *new_value, struct itimerspec *old_value);
-	  ^~~~~~~~~~
-	  ../libs/gst/check/libcheck/check_run.c:98:25: error: array type has incomplete element type ‘struct sigaction’
-	  static struct sigaction old_action[3];
-	  ^~~~~~~~~~
-	  ../libs/gst/check/libcheck/check_run.c:99:25: error: array type has incomplete element type ‘struct sigaction’
-	  static struct sigaction new_action[3];
-	  ^~~~~~~~~~
-	  [...]
-	  ninja: build stopped: subcommand failed.
-	  The change was originally made because gnu99 was causing issues on OS X.
-
-2016-10-14 11:59:24 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* plugins/tracers/gststats.c:
-	  stats: Fix warning
-
-2016-10-04 09:20:37 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* libs/gst/helpers/meson.build:
-	* meson.build:
-	* tests/check/meson.build:
-	  meson: Make use of new environment object and set plugin path to builddir
-	  - Properly set where to find gst-plugin-scanner
-	  - Use GST_LOADING_WHITELIST so that only core plugins are used
-	  Bump meson requirement to 0.35
-
-2016-10-13 18:20:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	  controlbinding: Store object in a thread-safe GWeakRef
-	  g_object_weak_ref() is not thread-safe.
-
-2016-10-13 18:02:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	  argbcontrolbinding: gst_object_replace() is transfer none
-
-2016-10-13 18:01:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  directcontrolbinding: Clarify in the documentation what the difference between absolute and not is
-
-2016-10-13 17:55:45 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcontrolsource.c:
-	  controlsource: Remove misleading sentence from the documentation
-	  control sources are not required to return values between 0.0 and 1.0.
-	  This is completely up to the control binding that is used.
-
-2016-10-13 17:21:30 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstobject.c:
-	  object: Fix broken sentence structure in docs
-
-2016-10-13 12:18:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/tracers/gststats.c:
-	  tracers: fix structure leak
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772851
-
-2016-10-13 12:03:20 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gststreams.h:
-	  streams: Extend GstStreamType documentation
-	  Users shouldn't assume it will be a single value since it's a flag.
-
-2016-10-03 20:22:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* m4/check-checks.m4:
-	* meson.build:
-	  build: Fix clock_gettime check with XCode 8
-	  With XCode 8, clock_gettime will be incorrectly detected as being
-	  available regardless of what OS X version we're targetting because the
-	  symbol is available in the .tbd library as a weak symbol.
-	  See: https://github.com/Homebrew/homebrew-core/issues/3727#issue-170086273
-	  It's only starting from macOS 10.12 that clock_gettime is actually
-	  available, so we can unconditionally disable it when targetting older
-	  versions. We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports
-	  because the autoconf check does its own prototype declaration that
-	  doesn't trigger that compiler flag.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772451
-
-2016-10-11 12:12:57 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbin.h:
-	  bin: Add a new GST_BIN_FLAG_STREAMS_AWARE flag
-	  This flag is to indicate to child elements that they can add and
-	  remove pads at any point in time without re-adding existing ones.
-	  Elements should post before-hand a GST_MESSAGE_STREAM_COLLECTION
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772741
-
-2016-10-10 10:59:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/running.xml:
-	  docs: paths in env vars are separated by semicolons on windows
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772431
-
-2016-10-07 17:02:47 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/design/part-tracing.txt:
-	  docs: fix GST_LEAKS_TRACER_SIG doc
-	  The documentation wasn't mentioning the SIGUSR2 signal.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=772571
-
-2016-10-08 17:23:08 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Fix iterator resync'ing
-	  When we get GST_ITERATOR_RESYNC, we need to call gst_iterator_resync()
-	  otherwise we will always get GST_ITERATOR_RESYNC (and that loop would
-	  run forever).
-
-2016-10-08 13:54:42 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Implement gst_event_full_func handling
-	  Same as we do for queue
-
-2016-10-08 13:20:58 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	  tracer/rusage: fix format string args
-	  The format string contains a process id, but we did not provice one. This
-	  caused us to log garbage since all args got shifted.
-
-2016-10-01 16:47:05 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: Fix typo in gst_message_new_progress() docs
-	  test -> text
-
-2016-09-30 09:57:57 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* hooks/pre-commit.hook:
-	* meson.build:
-	  meson: Setup pre-commit hooks when configuring
-
-2016-09-30 11:38:37 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	  meson: update version
-
-=== release 1.9.90 ===
-
-2016-09-30 13:01:17 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.9.90
-
-2016-09-30 12:08:52 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2016-09-30 11:41:14 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/de.po:
-	  po: Update translations
-
-2016-09-27 18:00:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* meson.build:
-	* plugins/tracers/meson.build:
-	  meson: tracers: signal availability of libunwind and backtrace() to code
-	  Not setting cdata here on purpose because of .. complications.
-
-2016-09-26 18:21:19 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* config.h.meson:
-	* meson.build:
-	* plugins/meson.build:
-	* plugins/tracers/meson.build:
-	  meson: Build tracers
-
-2016-09-23 20:40:39 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	* docs/meson.build:
-	  meson: Fix gtkdoc using new meson features
-
-2016-09-26 12:14:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* tests/check/gst/gstmeta.c:
-	  tests: remove unused valgrind stuff
-	  Code was also checking the wrong define anyway.
-
-2016-09-26 12:12:12 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/pipelines/parse-launch.c:
-	  tests: parse-launch: looks clean nowadays, so re-enable for valgrind
-	  Also, the valgrind bits weren't hooked up properly anyway,
-	  checking the wrong define.
-
-2016-09-24 18:22:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* config.h.meson:
-	* meson.build:
-	  meson: remove incorrect and unneeded check for ptrdiff_t
-	  Need to include stddef.h for it, so this would've worked:
-	  if cc.has_type('ptrdiff_t', prefix: '#include <stddef.h>')
-
-2016-09-24 18:06:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/printf/meson.build:
-	  meson: fix internal printf for %ll format modifier on 32-bit systems
-	  gst/gstprintf unit test would fail on 32-bit x86 with:
-	  gstprintf.c:83:printf_I32_I64:0: 'str' (64-bit x value = b5a6978f) is not equal to '"64-bit x value = f1e2d3c4b5a6978f"'
-
-2016-09-23 04:19:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  Revert "meson: Force gstenum_h to be built when using gst_dep"
-	  This reverts commit cfc565e2d88a8e7d656b68c5c2a1b7acb08cdb7f.
-	  The commit was redundant since gst_gen_sources already contains
-	  gstenum_h. We're still investigating why some people are still seeing
-	  a racy build failure.
-
-2016-09-23 00:28:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/meson.build:
-	  meson: Force gstenum_h to be built when using gst_dep
-	  This forces gstenumtypes.h to be built whenever something uses gst_dep
-	  as a subproject dependency. This is needed since gst/gst.h includes
-	  gstenumtypes.h
-	  Closes https://github.com/mesonbuild/meson/issues/714 which is not
-	  actually a Meson bug.
-
-2016-09-19 10:07:51 -0400  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Add forgotten "git commit --amend" for last commit
-	  Need to cast away the const as g_queue_foreach() takes a non-const GQueue*
-
-2016-09-19 10:04:55 -0400  Kouhei Sutou <kou@clear-code.com>
-
-	* gst/gstbin.c:
-	  bin: When copying the sort iterator, also copy its internal queue
-	  Otherwise both iterators share the same references, the second one
-	  usually resulting in a crash when being freed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771649
-
-2016-09-11 15:28:43 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* tests/check/elements/queue2.c:
-	  queue2: Fix watermark test
-	  This carries over code for a similar test from multiqueue to ensure full
-	  control over the dataflow while testing. (The previous attempt was racy
-	  since the fill level changed without any thread sync with the test code.)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771210
-
-2016-09-11 15:26:26 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Update buffering if its enabled and low/high watermarks are changed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771210
-
-2016-09-15 17:38:49 +0530  Arun Raghavan <arun@arunraghavan.net>
-
-	* gst/gstmessage.c:
-	  message: Fix documentation for gst_message_new_duration()
-	  Seems like there was some documentation left over from when this was
-	  gst_message_new_duration().
-
-2016-09-12 17:41:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Remove unused fields and always use the buffer timestamp difference for calculating the QoS proportion
-	  The buffer timestamps are only hints and more often than not have
-	  nothing to do with reality.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771306
-
-2016-09-08 12:58:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	* meson.build:
-	  gstconfig: Use __declspec when built with MinGW and linking with MSVC
-	  Earlier we were only using __declspec(dllexport/import) when we were
-	  built with MSVC because when built with MinGW and linking with MinGW we
-	  don't need it (and we get linker errors because of it).
-	  However, when we're built with MinGW and someone wants to link to us
-	  with MSVC, we still need the prototypes to have __declspec(dllimport)
-	  since MSVC cannot do auto-import like GCC can.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771029
-
-2016-09-12 17:07:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Also don't *unset* element flags if they're in the suppressed flags
-	  Otherwise our bin might lose various flags that were explicitly set on
-	  it at arbitrary times.
-
-2016-09-10 11:59:11 -0300  Thiago Santos <thiagossantos@gmail.com>
-
-	* tests/check/gst/gstbin.c:
-	  tests: gstbin: add tests for suppressed flags
-	  Some simple tests to make sure it keeps working
-
-2016-09-02 17:39:17 +0900  Wonchul Lee <wonchul.lee@collabora.com>
-
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* win32/common/libgstreamer.def:
-	  bin: Add setter and getter to suppress element flags
-	  Suppress-flags is for preventing propagation of child element's specific
-	  flag when it is added to the bin.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770627
-
-2016-09-10 20:50:48 +1000  Jan Schmidt <jan@centricular.com>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From b18d820 to f980fd9
-
-2015-11-13 16:00:02 +0000  Graham Leggett <minfrin@sharp.fm>
-
-	* gst/gst.c:
-	  gst: Ensure gst_value is initialised before gst_tag
-	  Otherwise GST_TYPE_FRACTION will work correctly in tags.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753922
-
-2016-09-09 11:46:11 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstutils.c:
-	  element: Reset the stop position to NONE in seek_simple()
-	  When using seek_simple() in combination with other kinds of seeks, this
-	  becomes problematic. seek_simple() does not reset the stop position to
-	  GST_CLOCK_TIME_NONE but keeps whatever a previous seek did. So for example
-	  when doing a seek_simple() after a rate=-1 seek, we would usually get
-	  assertions that start>stop (and stop being the old stop from the rate=1 seek).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=771104
-
-2016-09-10 09:53:42 +1000  Jan Schmidt <jan@centricular.com>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From f49c55e to b18d820
-
-2016-09-09 09:36:40 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* tests/check/meson.build:
-	  meson:tests: Bump timeout to 3 minutes
-	  Basically we already have each test with a 20sec timeout,
-	  and testsuite can last more than the default 30secs from
-	  meson. 3 minutes is another arbitrary timeout but should
-	  be good enough.
-
-2016-09-08 15:19:38 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Use the average durations based on timestamps for the QoS proportion when doing trickmodes
-	  The durations of the buffers are (usually) assuming that no frames are being
-	  dropped and are just the durations coming from the stream. However if we do
-	  trickmodes, frames are being dropped regularly especially if only key units
-	  are supposed to be played.
-	  Fixes completely bogus QoS proportion values in the above case.
-
-2016-09-05 18:07:49 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>
-
-	* meson.build:
-	  meson: Fix building with meson 0.34
-
-2016-08-26 20:06:59 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	  meson: Allow others to build GIR files when using GStreamer as subproject
-	  And add a way to disable the introspection and bump version to 1.9.2
-
-2016-09-05 11:11:29 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h.in: Add another version of the SH4 #define and S390x
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770731
-
-2016-09-05 09:50:17 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstconfig.h.in:
-	  config: newer gcc doesn't know __ppc__ and __ppc64__ anymore
-	  __ppc__ and __ppc64__ are non-standard defines, we should use
-	  __powerpc__ and __powerpc64__ instead because newer gcc doesn't know
-	  them anymore.
-
-2016-09-04 20:39:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: add * for pointer signal arguments where needed
-	  Print GObject argument properly with pointer marker:
-	  "client-added" :  void user_function (GstElement* object,
-	  GObject* arg0,
-	  gpointer user_data);
-	  instead of
-	  "client-added" :  void user_function (GstElement* object,
-	  GObject arg0,
-	  gpointer user_data);
-	  for gst-inspect-1.0 tcpserversink.
-
-2016-09-02 23:22:17 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/Makefile.am:
-	  tests: don't build misc subdir if both examples and benchmarks have been disabled
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770740
-
-2016-09-01 14:13:40 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstconfig.h.in:
-	  config: support System z
-
-2016-09-01 12:25:23 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.9.2 ===
-
-2016-09-01 12:24:45 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.9.2
-
-2016-09-01 11:22:45 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update translations
-
-2016-08-31 09:49:03 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Add higher-resolution low/high-watermark properties
-	  low/high-watermark are of type double, and given in range 0.0-1.0. This
-	  makes it possible to set low/high watermarks with greater resolution,
-	  which is useful with large multiqueue max sizes and watermarks like 0.5%.
-	  Also adding a test to check the fill and watermark level behavior.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770628
-
-2016-08-31 09:48:53 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Distinguish between buffering percentage and buffering level
-	  To make the code clearer, and to facilitate future improvements, introduce
-	  a distinction between the buffering level and the buffering percentage.
-	  Buffering level: the queue's current fill level. The low/high watermarks
-	  are in this range.
-	  Buffering percentage: percentage relative to the low/high watermarks
-	  (0% = low watermark, 100% = high watermark).
-	  To that end, get_percentage() is renamed to get_buffering_level(). Also,
-	  low/high_percent are renamed to low/high_watermark to avoid confusion.
-	  mq->buffering_percent values are now normalized in the 0..100 range for
-	  buffering messages inside update_buffering(), and not just before sending
-	  the buffering message. Finally the buffering level range is parameterized
-	  by adding a new constant called MAX_BUFFERING_LEVEL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770628
-
-2016-08-31 09:48:38 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Rename percent/percent_changed to buffering_percent(_changed)
-	  This is a prerequisite for subsequent commits, and makes queue2 and
-	  multiqueue code a little more consistent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770628
-
-2016-08-23 14:57:33 +0900  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix high_time wakeup logic
-	  When calculating the high_time, cache the group value in each singlequeue.
-	  This fixes the issue by which wake_up_next_non_linked() would use the global
-	  high-time to decide whether to wake-up a waiting thread, instead of the group
-	  one, resulting in those threads constantly spinning.
-	  Tidy up a bit the waiting logic while we're at it.
-	  With this patch, we go from 212% playing a 8 audio / 8 video file down to less
-	  than 10% (most of it being the video decoding).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770225
-
-2016-08-28 16:02:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: don't print internal pad request function name
-	  This just confuses people, they look at it and try to call it
-	  directly by name, instead of using the public GstElement API.
-	  It stands to reason that it goes without saying that when an
-	  element provides request pads that they can actually be
-	  requested using the standard API, and there's no point in
-	  printing internal implementation details of the element.
-
-2016-08-23 13:27:58 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	  Make use of the new GST_ELEMENT_FLOW_ERROR API all around.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770158
-
-2016-08-23 13:27:20 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.h:
-	  element: Add API to more easily post messages about flowing issues
-	  In many parts of the code we raise streaming error when the flow
-	  goes wrong, and each time we create more or less similare error
-	  message. Also that message does not let the application know what
-	  has actually gone wrong. In the new API we add a "flow-return" detail
-	  field inside the GstMessage so that the application has all the information
-	  if it needs it.
-	  API:
-	  GST_ELEMENT_FLOW_ERROR
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770158
-
-2016-08-26 19:27:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	* meson.build:
-	  gstconfig: Decide GST_EXPORT declaration style at build time
-	  We only use GST_EXPORT consistently when building with MSVC by using the
-	  visual studio definitions files (win32/common/*.def), so always disable
-	  it when building with Autotools and only enable it with Meson when
-	  building with MSVC.
-	  This allows you to use MinGW to link to a GStreamer built with MSVC and
-	  get the correct function prototypes to find functions and variables in
-	  DLLs.
-
-2016-08-26 16:21:30 +0900  Wonchul Lee <wonchul.lee@collabora.com>
-
-	* docs/design/part-stream-selection.txt:
-	  docs: fix typo in stream selection docs
-	  https://bugzilla.gnome.org//show_bug.cgi?id=770428
-
-2016-08-26 12:55:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: rename gst_element_message_new_details() to gst_make_element_message_details()
-	  Fixes g-i warning "Gst: Constructor return type mismatch
-	  symbol='gst_element_message_new_details' constructed='Gst.Element'
-	  return='Gst.Structure'".
-	  This is a newly-added function in git that has not been in a stable
-	  release yet, so it's fine to rename it. It's also only used indirectly
-	  via macros.
-
-2016-08-26 12:35:23 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelement.c:
-	* gst/gstmessage.c:
-	* gst/gsttracerutils.c:
-	  docs: fix various gtk-doc warnings
-	  e.g. "warning: multi-line since docs found"
-
-2016-08-26 12:04:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  g-i: info: allow passing NULL to gst_debug_remove_log_function()
-	  Useful for removing the default handler from bindings.
-
-2016-08-25 15:04:06 -0300  Thibault Saunier <tsaunier@gnome.org>
-
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	* meson.build:
-	  meson: doc: Fix building documentation when using subprojects
-	  and check the presence of gtk-doc before building the documentation
-
-2016-08-26 03:17:41 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Implement can_intersect for GstFlagSet types
-	  Make sure that gst_value_can_intersect returns TRUE
-	  for GstFlagSet combinations that can successfully
-	  intersect
-
-2016-08-03 15:20:20 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* tests/check/elements/queue2.c:
-	  queue2: Add higher-resolution low/high-watermark properties
-	  low/high-watermark are of type double, and given in range 0.0-1.0. This
-	  makes it possible to set low/high watermarks with greater resolution,
-	  which is useful with large queue2 max sizes and watermarks like 0.5%.
-	  Also adding a test to check the fill and watermark level behavior.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769449
-
-2016-08-03 15:27:40 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Distinguish between buffering percentage and buffering level
-	  To make the code clearer, and to facilitate future improvements, introduce
-	  a distinction between the buffering level and the buffering percentage.
-	  Buffering level: the queue's current fill level. The low/high watermarks
-	  are in this range.
-	  Buffering percentage: percentage relative to the low/high watermarks
-	  (0% = low watermark, 100% = high watermark).
-	  To that end, get_buffering_percent() is renamed to get_buffering_level(),
-	  and the code at the end that transforms to the buffering percentage is
-	  factored out into a new convert_to_buffering_percent() function. Also,
-	  the buffering level range is parameterized by adding a new constant called
-	  MAX_BUFFERING_LEVEL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769449
-
-2016-08-23 10:52:32 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/random/release:
-	  docs: release: add tag signing command
-
-2016-07-07 08:01:24 +0200  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add explicit getters and setters for buffer flags
-	  These can be used from bindings.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768301
-
-2016-08-22 00:01:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/meson.build:
-	  meson: install libgstcheck-1.0 and add api version to name
-
-2016-08-20 08:54:27 +0900  Hoonhee Lee <hoonhee.lee@lge.com>
-
-	* gst/gststreams.c:
-	  streams: update and emit notify signal only if taglist actually changed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=770161
-
-2016-08-12 20:25:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* .gitignore:
-	* config.h.meson:
-	* docs/gst/meson.build:
-	* docs/libs/meson.build:
-	* docs/meson.build:
-	* gst/build_mkenum.py:
-	* gst/meson.build:
-	* gst/parse/gen_grammar.py.in:
-	* gst/parse/gen_lex.py.in:
-	* gst/parse/meson.build:
-	* gst/printf/meson.build:
-	* libs/gst/base/meson.build:
-	* libs/gst/check/libcheck/meson.build:
-	* libs/gst/check/meson.build:
-	* libs/gst/controller/meson.build:
-	* libs/gst/helpers/meson.build:
-	* libs/gst/meson.build:
-	* libs/gst/net/meson.build:
-	* libs/meson.build:
-	* meson.build:
-	* meson_options.txt:
-	* pkgconfig/meson.build:
-	* plugins/elements/meson.build:
-	* plugins/meson.build:
-	* po/meson.build:
-	* tests/benchmarks/meson.build:
-	* tests/check/meson.build:
-	* tests/examples/adapter/meson.build:
-	* tests/examples/controller/meson.build:
-	* tests/examples/helloworld/meson.build:
-	* tests/examples/memory/meson.build:
-	* tests/examples/meson.build:
-	* tests/examples/netclock/meson.build:
-	* tests/examples/ptp/meson.build:
-	* tests/examples/stepping/meson.build:
-	* tests/examples/streamiddemux/meson.build:
-	* tests/examples/streams/meson.build:
-	* tests/meson.build:
-	* tests/misc/meson.build:
-	* tools/meson.build:
-	  Add support for Meson as alternative/parallel build system
-	  https://github.com/mesonbuild/meson
-	  With contributions from:
-	  Tim-Philipp Müller <tim@centricular.com>
-	  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-	  Jussi Pakkanen <jpakkane@gmail.com> (original port)
-	  Highlights of the features provided are:
-	  * Faster builds on Linux (~40-50% faster)
-	  * The ability to build with MSVC on Windows
-	  * Generate Visual Studio project files
-	  * Generate XCode project files
-	  * Much faster builds on Windows (on-par with Linux)
-	  * Seriously fast configure and building on embedded
-	  ... and many more. For more details see:
-	  http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
-	  http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
-	  Building with Meson should work on both Linux and Windows, but may
-	  need a few more tweaks on other operating systems.
-
-2016-08-13 13:55:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	* pkgconfig/gstreamer.pc.in:
-	  Move gstconfig.h back to normal include dir
-	  Now that it's arch-independent again. Will need fixes in cerbero too.
-
-2016-06-21 18:59:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	  gstconfig.h: Detect unaligned access support at compile-time
-	  This makes gstconfig.h completely arch-independent. Should cover all
-	  compilers that gstreamer is known to build on, and all architectures
-	  that I could find information on. People are encouraged to file bugs if
-	  their platform/arch is missing.
-
-2016-08-13 09:55:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gstclock.c:
-	* gst/gstconfig.h.in:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* po/POTFILES.in:
-	* tests/check/Makefile.am:
-	* win32/common/gstconfig.h:
-	* win32/common/libgstreamer.def:
-	  Remove old alloc tracing code now that we have a GstTracer-based replacement
-	  It's been internal API only in 1.x.
-
-2016-08-12 16:15:25 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Post buffering messages earlier in ringbuffer mode
-	  In ringbuffer mode we need to make sure we post buffering messages *before*
-	  blocking to wait for data to be drained.
-	  Without this, we would end up in situations like this:
-	  * pipeline is pre-rolling
-	  * Downstream demuxer/decoder has pushed data to all sinks, and demuxer thread
-	  is blocking downstream (i.e. not pulling from upstream/queue2).
-	  * Therefore pipeline has pre-rolled ...
-	  * ... but queue2 hasn't filled up yet, therefore the application waits for
-	  the buffering 100% messages before setting the pipeline to PLAYING
-	  * But queue2 can't post that message, since the 100% message will be posted
-	  *after* there is room available for that last buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769802
-
-2016-08-08 16:42:06 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: removed redundant call to g_thread_self
-	  Remove an unneeded call to g_thread_self and minor coding style fix.
-
-2016-03-16 18:00:15 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Handle stream-group-done
-	  Handle the new stream-group-done message to unblock pads which
-	  are waiting for the running time to advance on that group.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768995
-
-2016-03-14 14:20:42 +1100  Jan Schmidt <jan@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstpad.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstevent.c:
-	* win32/common/libgstreamer.def:
-	  events: Implement the stream-group-done event
-	  A new event which precedes EOS in situations where we
-	  need downstream to unblock any pads waiting on a stream
-	  before we can send EOS. E.g, decodebin draining a chain
-	  so it can switch pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768995
-
-2016-07-25 11:22:36 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstmessage.c:
-	* win32/common/libgstreamer.def:
-	  message: Add redirect message
-	  Redirection messages are already used in fragmented sources and in
-	  uridecodebin, so it makes sense to introduce these as an official message
-	  type.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=631673
-
-2016-07-25 19:15:15 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Wake other pads when selected goes EOS
-	  Other pads that are waiting for the stream on the selected
-	  pad to advance before they finish waiting themselves
-	  should be given the chance to do so when the selected pad
-	  goes EOS. Fixes problems where input streams can end up
-	  waiting forever if the active stream goes EOS earlier than
-	  their own end time.
-
-2016-07-24 01:35:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelement.h:
-	  element: fix GST_ELEMENT_ERROR() error code expansion
-	  In some corner cases, the error 'code' part passed to
-	  GST_ELEMENT_ERROR() is a valid define as well, in which
-	  case it won't survive two levels of macro expansion, but
-	  only one. Fixes:
-	  oss4-sink.c: In function ‘gst_oss4_sink_open’:
-	  error: ‘GST_RESOURCE_ERROR_0x00000002’ undeclared (first use in this function)
-	  GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__,
-	  which is from GST_ELEMENT_ERROR(el,RESOURCE,OPEN_WRITE,..)
-	  and OPEN_WRITE happens to be defined to 2 here.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756806
-	  https://bugzilla.gnome.org/show_bug.cgi?id=769117
-
-2016-07-22 17:32:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: fix some nonsensical annotations
-
-2016-07-22 15:25:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add GST_ELEMENT_*_WITH_DETAILS to doc list
-
-2016-07-22 15:04:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: list new message details apis where they seem to belong
-
-2016-07-22 14:59:56 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  libgstreamer.def: fix mentions of new message details api
-	  I had not updated it after the review changes
-
-2016-03-02 11:22:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* tests/check/gst/gstmessage.c:
-	* win32/common/libgstreamer.def:
-	  message: new API for additional custom data to error messages
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756806
-
-2016-07-20 12:22:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  tracers: leaks: update type filter later for unknown types
-	  This allow us to filter using an object type which is implemented
-	  by a plugin like, say, GstGtkGLSink.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768989
-
-2016-07-19 14:45:53 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: add g-i transfer annotations to peek/pop/read_buffer/take_buffer functions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768948
-
-2016-07-19 23:18:24 +1000  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/libs/gstnetclientclock.c:
-	  tests: Use gst_clock_wait_for_sync () for net client clock
-	  Instead of looping, use the gst_clock_wait_for_sync() function
-	  to give clocks up to 1 second to synchronise
-
-2016-07-13 15:43:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: fix annotation of parse_stream_{collection,streams_selected}
-	  gst_structure_id_get() returns a new reference so the returned object is
-	  actually (transfer full).
-	  The unit tests was already unreffing the objects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768776
-
-2016-07-13 15:43:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstmessage.c:
-	  message: fix annotation of parse_device_{added,removed}
-	  gst_structure_id_get() returns a new reference so the returned device is
-	  actually (transfer full).
-	  The code using this API was already correct but the code example in
-	  comments was not.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768776
-
-2016-07-14 16:40:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add g-i transfer annotatation to _store_sticky_event()
-	  For clarity.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768810
-
-2016-07-12 12:32:56 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix automatic-eos=false mode if a segment.stop is given
-	  If segment.stop was given, and the subclass provides a size that might be
-	  smaller than segment.stop and also smaller than the actual size, we would
-	  already stop there.
-	  Instead try reading up to segment.stop, the goal is to ignore the (possibly
-	  inaccurate) size the subclass gives and finish until segment.stop or when the
-	  subclass tells us to stop.
-
-2016-07-11 21:13:28 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From f363b32 to f49c55e
-
-2016-07-11 18:45:49 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmarks: Fix potential stack corruption in capsnego test
-	  flavour_str is a non-const pointer that will be written to if the -f
-	  option is passed
-
-2016-07-11 11:34:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/tracers/gstleaks.c:
-	  leaks: check return values of libunwind calls
-
-2016-07-11 09:58:47 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix average input rate calculation on small input range
-	  When dealing with small-ish input data coming into queue2, such as
-	  adaptivedemux fragments, we would never take into account the last
-	  <200ms of data coming in.
-	  The problem is that usually on TCP connection the download rate
-	  gradually increases (i.e. the rate is lower at the beginning of a
-	  download than it is later on). Combined with small download time (less
-	  than a second) we would end up with a computed average input rate
-	  which was sometimes up to 30-50% off from the *actual* average input
-	  rate for that fragment.
-	  In order to fix this, force the average input rate calculation when
-	  we receive an EOS so that we take into account that final window
-	  of data.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768649
-
-2016-07-08 16:31:56 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: weak_unref: display the pointer of the object if failing
-	  That's generally the most useful information to help debugging the
-	  problem.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768579
-
-2016-07-08 16:29:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: properly display the type of the removed message
-	  Makes debugging easier.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768579
-
-2016-07-08 17:46:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelement.c:
-	  element: re-create threadpool after cleaning up tasks
-	  We don't free this from gst_deinit() but from gst_task_cleanup_all(),
-	  so more GStreamer API may be called. In particular makes unit tests
-	  work again with CK_FORK=no.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768577
-
-2016-07-08 16:53:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks: warn if object is destroyed while the tracer is disposing
-	  This should not happen and generally means some thread is still running.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768578
-
-2016-07-08 16:36:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstelement.c:
-	* gst/gsttask.c:
-	  element: clean up thread pool from gst_task_cleanup_all()
-	  This ensures that all async operations (started from gst_element_call_async())
-	  have been completed and so there is no extra thread running.
-	  Fix races when checking for leaks on unit tests as some of those
-	  operations were still running when the leaks tracer was checking for
-	  leaked objects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768577
-
-2016-07-08 11:15:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* configure.ac:
-	* plugins/tracers/gstleaks.c:
-	  leaks tracer: use G_OS_UNIX to check for signal support
-	  Checking for signal.h is not good enough as it's present in Windows.
-	  Those signals are UNIX specific anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767857
-
-2016-06-22 16:25:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* configure.ac:
-	* docs/design/part-tracing.txt:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks tracer: add creation stack trace support
-	  This allow us to provide the trace of leaked objects making it easier
-	  to debug.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767862
-
-2016-06-01 11:08:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/design/part-tracing.txt:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	  leaks tracer: add checkpoint support using SIGUSR2
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767857
-
-2016-05-31 16:56:26 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* configure.ac:
-	* docs/design/part-tracing.txt:
-	* plugins/tracers/gstleaks.c:
-	  leaks tracer: log alive objects when receiving SIGUSR1
-	  We don't want to automatically catch signals so use an env variable to
-	  enable this feature.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767857
-
-2016-07-07 13:15:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Only forward sticky events on GAP events if needed
-	  That is, if the active pad changed and if forwarding of sticky events is
-	  requested at all. We otherwise forward events too often.
-
-2016-07-05 16:50:16 +0200  Miguel París Díaz <mparisdiaz@gmail.com>
-
-	* gst/gstpad.c:
-	  pad: check query caps answered and caps not NULL
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768450
-
-2016-07-06 13:50:56 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.9.1 ===
-
-2016-07-06 13:05:02 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 1.9.1
-
-2016-07-06 11:37:56 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2016-07-06 10:17:37 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/da.po:
-	* po/hr.po:
-	* po/pt_BR.po:
-	* po/sk.po:
-	  po: Update translations
-
-2016-07-05 12:17:18 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't add calculated bitrates until threshold
-	  Waiting before posting calculated bitrates seems to be the
-	  intent of the code, so avoid adding them to the tag list
-	  pushed with the first frame.
-	  When the threshold is reached, gst_base_parse_update_bitrates
-	  sets tags_changed, so this posts the calculated ones right
-	  that moment.
-	  This prevents an insane average calculated from just the
-	  first (key) frame from getting posted.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768439
-
-2016-07-04 10:00:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Make sure to not create an invalid event order when generating the default CAPS event because of a GAP event
-	  There must be a SEGMENT event before the GAP event, and SEGMENT events must
-	  come after any CAPS event. We however did not produce any CAPS yet, so we need
-	  to ensure to insert the CAPS event before the SEGMENT event into the pending
-	  events list.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766970
-
-2016-07-01 22:34:59 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstinfo.h:
-	  gstinfo: Avoid gcc 6 warning that breaks the tests build
-	  gcc 6 has problems detecting and avoiding throwing
-	  a warning for tautological compares in macros (they
-	  should only trigger for compares outside macros).
-	  Avoid them with a nasty cast of one parameter to void *
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764526
-
-2016-07-01 09:44:12 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix behaviour with not-linked and eos pads
-	  This is an update on c9b6848885f4675d447e823c8fb117e247658252
-	  multiqueue: Fix not-linked pad handling at EOS
-	  While that commit did fix the behaviour if upstream sent a GST_EVENT_EOS,
-	  it would break the same issue when *downstream* returns GST_FLOW_EOS
-	  (which can happen for example when downstream decoders receive data
-	  from after the segment stop).
-	  GST_PAD_IS_EOS() is only TRUE when a GST_EVENT_EOS has flown through it
-	  and not when a GST_EVENT_EOS has gone through it.
-	  In order to handle both cases, also take into account the last flow
-	  return.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763770
-
-2016-06-30 15:07:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gststreamcollection.c:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.c:
-	* gst/gstutils.c:
-	  streams: sprinkle some Since: markers for docs
-
-2016-06-30 14:37:17 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: add gtk-doc blurb for new pad property
-
-2016-02-10 11:42:04 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Add a pad property to "group" streams
-	  When syncing by running time, multiqueue will throttle unlinked streams
-	  based on a global "high-time" and the pending "next_time" of a stream.
-	  The idea is that we don't want unlinked streams to be "behind" the global
-	  running time of linked streams, so that if/when they get linked (like when
-	  switching tracks) decoding/playback can resume from the same position as
-	  the other streams.
-	  The problem is that it assumes elements downstream will have a more or less
-	  equal buffering/latency ... which isn't the case for streams of different
-	  type. Video decoders tend to have higher latency (and therefore consume more
-	  from upstream to output a given decoded frame) compared to audio ones, resulting
-	  in the computed "high_time" being at the position of the video stream,
-	  much further than the audio streams.
-	  This means the unlinked audio streams end up being quite a bit after the linked
-	  audio streams, resulting in gaps when switching streams.
-	  In order to mitigate this issue, this patch adds a new "group-id" pad property
-	  which allows users to "group" streams together. Calculating the high-time will
-	  now be done not only globally, but also per group. This ensures that within
-	  a given group unlinked streams will be throttled by that group's high-time
-	  instead.
-	  This fixes gaps when switching downstream elements (like switching audio tracks).
-
-2015-06-12 10:53:23 +0200  Edward Hervey <edward@centricular.com>
-
-	* docs/design/part-stream-selection.txt:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gststreamcollection.c:
-	* gst/gststreamcollection.h:
-	* gst/gststreams.c:
-	* gst/gststreams.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gststream.c:
-	* tests/check/gst/gststream.h:
-	* win32/common/libgstreamer.def:
-	  gst: New Stream listing/selection system
-	  * GstStream
-	  * GstStreamCollection
-	  * GST_EVENT_SELECT_STREAMS
-	  * GST_MESSAGE_STREAM_COLLECTION
-
-2016-06-29 23:24:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstpoll.c:
-	  poll: #define EWOULDBLOCK to EAGAIN if it's not defined on Windows
-
-2016-06-29 14:05:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: Fix handling of the GstPoll
-	  Especially if multiple threads are waiting for buffers to be available again,
-	  the current code was wrong. Fix this and document clearly how the GstPoll is
-	  supposed to be used.
-	  Also fix some potential races with reading from the GstPoll before writing
-	  actually happened.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767979
-
-2016-06-29 14:02:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Make sure to always read the control after popping a message
-	  It might happen that we popped the message before writing of the control
-	  happened. In this case we just have to retry again a bit later, and failure to
-	  do so will cause an additional byte in the control and the GSource /
-	  gst_poll_wait() to always wake up again immediately.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-29 13:37:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Improve GstPoll handling and don't check for impossible errno values
-	  Also just read/write control every time, GstPoll is optimized by itself
-	  already to only do I/O if switching between empty and one byte.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-29 13:35:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpoll.c:
-	  poll: Clarify when FALSE is returned from read/write_control()
-	  And also mention what the expected values of errno are going to be.
-	  write_control() will only ever return FALSE if there was a critical error. It
-	  will never return because of EINTR, EAGAIN or EWOULDBLOCK.
-	  read_control() will return FALSE if there was no byte to read, in which case
-	  errno would be EWOULDBLOCK.
-	  In all other cases there was a critical error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-29 13:26:57 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpoll.c:
-	  poll: set_controllable(), restart() and set_flushing() are only valid for non-timer GstPolls
-	  On timer GstPolls it will cause the control socket state to become
-	  inconsistent as now one less read_control() than write_control() be would
-	  needed.
-	  Similarly, read_control() and write_control() are only valid on timer
-	  GstPolls.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-29 13:11:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpoll.h:
-	  poll: Warn if the return value of gst_poll_read_control() is unused
-	  This might fail even under correct usage, e.g. if read_control() is called
-	  from another thread before write_control() finished in another. It has to be
-	  retried then, or other measures have to be taken, depending on how it is used
-	  by the surrounding code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-29 18:57:42 +0200  Matthew Gruenke <mgruenke@tycoint.com>
-
-	* gst/gstpoll.c:
-	  poll: Fix various race conditions with read_control() and write_control()
-	  This addresses slightly different race conditions on Linux and Windows, and
-	  fixes gst_poll_read_control() when control_pending == 0.
-	  On Linux, the socketpair() used for control should not be made O_NONBLOCK.
-	  If there's any propagation delay between set->control_write_fd.fd and
-	  set->control_read_fd.fd, even the mutex now held will not be sufficient to
-	  prevent a race condition.  There's no benefit to using O_NONBLOCK, here.
-	  Only liabilities.
-	  For Windows, it's necessary to fix the race condition between testing
-	  set->control_pending and performing WAKE_EVENT()/RELEASE_EVENT().  This is
-	  accomplished by acquiring and holding set->lock, for both of these operations.
-	  We could optimize the Linux version by making this Windows-specific.
-	  For consistency with the Linux implementation, Windows' RELEASE_EVENT()
-	  has also been made to block, although it should never happen.
-	  Also, changed release_wakeup() to return TRUE and decrement control_pending
-	  only when > 0.  Furthermore, RELEASE_EVENT() is called only when
-	  control_pending == 1.
-	  Finally, changed control_pending to use normal, non-atomic arithmetic
-	  operations, since it's now protected by set->lock.
-	  Note: even though the underlying signaling mechanisms are blocking,
-	  release_wakeup() is effectively non-blocking, as it will only attempt to read
-	  from control_read_fd.fd after a byte has been written to control_write_fd.fd
-	  or WaitForSingleObject() after it's been signaled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750397
-
-2016-06-28 15:01:17 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: chain up GObject::constructed() to the parent class' implementation
-	  Needed so GstBus can be tracked by the leaks tracer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=768141
-
-2016-06-24 05:26:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: Don't use extern with dllexport
-	  GCC emits an error for this with -Werror:
-	  plugin.c:22:1: error: 'gst_plugin_desc' initialized and declared 'extern' [-Werror]
-	  This matches how glib does symbol exporting.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767463
-
-2016-06-21 19:49:15 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	  win32: Don't use dllexport/import when only building statically
-	  If the prototypes in the public API have dllimport in them when building
-	  statically on Windows, the compiler will look for symbols with symbol
-	  mangling and indirection corresponding to a DLL. This will cause a build
-	  failure when trying to link tests/examples/etc.
-	  External users of GStreamer also need to define -DGST_STATIC_COMPILATION
-	  if they want to link to static gstreamer libraries on Windows.
-	  A similar version of this patch has been committed to all gstreamer
-	  repositories.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767463
-
-2016-06-21 11:45:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From ac2f647 to f363b32
-
-2016-06-15 16:24:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	  tests: add a test for small ring buffer sizes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767688
-
-2016-06-15 13:43:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix crash deleting current region for small ring buffers
-	  Ensure we do not attempt to destroy the current range. Doing so
-	  causes the current one to be left dangling, and it may be dereferenced
-	  later, leading to a crash.
-	  This can happen with a very small queue2 ring buffer (10000 bytes)
-	  and 4 kB buffers.
-	  repro case:
-	  gst-launch-1.0 fakesrc sizetype=2 sizemax=4096 ! \
-	  queue2 ring-buffer-max-size=1000 ! fakesink sync=true
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767688
-
-2016-06-20 11:34:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstobject.c:
-	  tests: gstobject: fix typo in test name
-
-2016-06-16 14:08:01 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-tracing.txt:
-	  docs/design/part-tracing: fix reference to renamed func
-
-2016-06-08 12:34:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Properly handle return value when only 1 pad
-	  This patch handle the case when you have 1 pad (so the fast path is
-	  being used) but this pad is removed. If we are in allow-not-linked, we
-	  should return GST_FLOW_OK, otherwise, we should return GST_FLOW_UNLINKED
-	  and ignore the meaningless return value obtained from pushing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=767413
-
-2016-06-16 15:52:16 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* scripts/gst-plot-traces.sh:
-	  gst-plot-traces.sh: add a script to plot gst-tracer graphs
-	  The script extracts cpu-usage data from a tracelog and plots it via gnuplot.
-
-2016-06-15 16:12:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdevice.c:
-	  device: Fix typo
-	  paramater -> parameter
-
-2016-06-14 19:16:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.h:
-	  info: flesh out GST_PTR_FORMAT docs a bit
-
-2016-06-13 18:33:27 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Update start time when losing state only if we were in PLAYING
-	  If we were in PAUSED, the current clock time and base time don't have much to
-	  do with the running time anymore as the clock might have advanced while we
-	  were PAUSED. The system clock does that for example, audio clocks often don't.
-	  Updating the start time in PAUSED will cause a) the wrong position to be
-	  reported, b) step events to step not just the requested amount but the amount
-	  of time we spent in PAUSED. The start time should only ever be updated when
-	  going from PLAYING to PAUSED to remember the current running time (to be able
-	  to compensate later when going to PLAYING for the clock time advancing while
-	  PAUSED), not when we are already in PAUSED.
-	  Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>
-	  The updating of the start time when the state is lost was added in commit
-	  ba943a82c0bbfd17c9ee9f5068d44c9d9274fd13 to fix the position reporting when
-	  the state is lost. This still works correctly after this change.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739289
-
-2016-06-11 22:18:06 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Log pad offsets as signed times
-
-2016-06-11 21:56:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Also check the number of segment events and if other serialized events and queries trigger segment updating too
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765049
-
-2016-06-11 21:37:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Add unit test for pad offset handling on src pads
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765049
-
-2016-06-07 11:32:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstbase.def:
-	  adapter: Rename functions and implement new functions, update test
-	  We don't do calculations with different units (buffer offsets and bytes)
-	  anymore but have functions for:
-	  1) getting the number of bytes since the last discont
-	  2) getting the offset (and pts/dts) at the last discont
-	  and the previously added function to get the last offset and its distance from
-	  the current adapter position.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766647
-
-2016-05-19 10:31:02 +0200  Edward Hervey <edward@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstbase.def:
-	  adapter: Add methods to query current offset
-	  API: gst_buffer_prev_offset
-	  API: gst_buffer_get_offset_from_discont
-	  The gst_buffer_get_offset_from_discont() method allows retrieving the current
-	  offset based on the GST_BUFFER_OFFSET of the buffers that were pushed in.
-	  The offset will be set initially by the GST_BUFFER_OFFSET of
-	  DISCONT buffers, and then incremented by the sizes of the following
-	  buffers.
-	  The gst_buffer_prev_offset() method allows retrievent the previous
-	  GST_BUFFER_OFFSET regardless of flags. It works in the same way as
-	  the other gst_buffer_prev_*() methods.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766647
-
-2016-06-09 17:42:13 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h.in: indent #if #else jungle for better readability
-
-2016-06-08 12:11:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: Add gst_pad_link_maybe_ghosting() for consistency
-	  We already had a _full() version, but having that alone seems inconsistent.
-	  Add a non-full version that mirrors the behaviour of gst_pad_link() vs
-	  gst_pad_link_full().
-
-2016-05-22 13:10:06 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Make sure DISCONT flags are properly propagated
-	  If we drop a frame that contained a discontinuity, we must remember
-	  that for the next frame that *will* be pushed downstream.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766795
-
-2016-06-04 13:31:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdeviceprovider.c:
-	  deviceprovider: remove base_class_finalize function
-	  It's not going to get called anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765540
-
-2016-06-04 13:11:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelement.c:
-	  element: remove base_class_finalize_func which is never called
-	  Won't be called for static types, so no point keeping it around.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765540
-
-2016-06-03 13:55:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/gstleaks.c:
-	  tracers: leaks: some micro-optimisations
-	  - we know number of filter items is not going to change,
-	  but compiler doesn't
-	  - only do GST_IS_TRACER check for GObjects, not mini objects
-	  - use non-type check cast macros in performance critical paths
-
-2016-05-10 09:29:12 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/design/part-tracing.txt:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstleaks.c:
-	* plugins/tracers/gstleaks.h:
-	* plugins/tracers/gsttracers.c:
-	  tracers: add leaks tracer
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765052
-
-2016-05-30 12:11:13 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstelementfactory.c:
-	* gst/gstpadtemplate.c:
-	* gst/gsttask.c:
-	* libs/gst/net/gstnetclientclock.c:
-	  Use MAY_BE_LEAKED_FLAG
-	  This helps having "make check" passing with the leaks tracer enabled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766008
-
-2016-05-09 16:31:36 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	  tracing: add hooks when objects or miniobjects are created and destroyed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765052
-
-2016-05-09 16:56:56 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst_deinit: move down tracers cleaning
-	  We want the tracer detecting leaks to be finalized as late as possible
-	  to give the chance to other gst components to be properly cleaned first.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765052
-
-2016-05-10 11:06:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/gst/gstplugin.c:
-	  tests: plugin: remove feature refcount assert
-	  This check fails if one, or more, tracers are loaded while running the
-	  test. The new "leaks" tracer will be able to check for leaks anyway.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765052
-
-2016-04-14 12:25:43 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  tracerrecord: allow G_TYPE_POINTER for field types
-	  Tracers may want to display the address of an object.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765052
-
-2016-05-30 13:42:36 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstobject.c:
-	  gstobject: split up name tests
-	  It is better to have separate tests:
-	  1) the test name will tell what is broekn when the test fails
-	  2) we still run the other tests when one assert fails
-	  3) the tests are easier to understand
-	  4) we don't rely on sie effect of previous actions
-	  5) ...
-	  Also ix the assertion message for the name checks (Gst -> fakeobject).
-
-2016-05-30 02:06:01 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-tracing.txt:
-	  design: update design doc
-	  Some of the api was renamed before the merge.
-
-2016-05-30 02:04:18 -0700  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstquery.c:
-	  docs: xref the free function and expand allocation query docs
-	  Add xrefs for how to parse pool details from an allocation query.
-
-2016-05-26 14:43:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/gst/gstobject.c:
-	  object: Add _set_name() test on parented object
-	  This is not allowed, and set_name() should fail.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766923
-
-2016-05-26 14:41:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/gst/gstobject.c:
-	  object: Check that name change are notified once
-	  GObject allow calling g_object_notify() within set_property() and
-	  won't notify it twice. As it was raised during review, add a unit test to
-	  make sure.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766923
-
-2016-05-26 13:17:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstobject.c:
-	  object: Notify name change when using _set_name()
-	  There was a 0.11 FIXME about notifying the name change or removing that
-	  function. Clearly we can't remove this function, so let's notify it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766923
-
-2016-05-25 15:30:21 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gst_private.h:
-	  gst_private: Fix gstconfig include
-	  Since it's a generated header, we need to specify the gst subdir so
-	  that it gets properly included in out-of-dir compilation
-
-2016-05-25 10:48:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst_private.h:
-	  gst: make sure to include gstconfig.h also in gst_private.h
-	  For GST_EXPORT define and also things like GST_DISABLE_REGISTRY.
-	  Hopefully fixes the following build failure on cerbero-cross-mingw32:
-	  helpers/gst-plugin-scanner.c:50: undefined reference to `_imp___gst_disable_registry_cache'
-
-2016-05-24 00:40:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  g-i: pass compiler env to g-ir-scanner
-	  It's what introspection.mak does as well. Should
-	  fix spurious build failures on gnome-continuous.
-
-2016-05-23 21:15:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/Makefile.am:
-	  gst: g-i: pass compiler with quotes
-	  So CC="ccache gcc" works properly.
-
-2016-05-23 21:06:53 +0100  Ray Strode <rstrode@redhat.com>
-
-	* gst/Makefile.am:
-	  gst: attempt to fix/track-down mysterious gnome-continuous build failures
-
-2016-05-23 18:00:30 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstiterator.c:
-	  iterator: only unset GValue if it was inited
-	  And add some function guards. From GLib 2.48 on it is
-	  allowed to pass an uninitialised GValue to g_value_unset().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763762
-
-2016-05-23 18:44:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/parse/Makefile.am:
-	  gst/parse: Also pass -DGST_EXPORTS here
-	  This static library gets included directly into libgstreamer-1.0.so, so it needs
-	  the same GST_EXPORTS definition as the rest of the code that's compiled into
-	  that otherwise it will try to find the constants it uses from gstinfo via DLL
-	  importing (__declspec(dllimport)).
-	  Fixes https://ci.gstreamer.net/job/cerbero-cross-mingw32/4393/
-
-2016-05-20 00:24:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: Always use dllexport/import on Windows
-	  __declspec(dllexport/import) are supported by GCC and are needed for
-	  properly generating code that fetches the values of constants from DLLs
-	  built with __declspec(dllexport) which happens when anything using
-	  GST_EXPORT is built with MSVC.
-	  See: https://msdn.microsoft.com/en-us/library/619w14ds.aspx
-	  Essentially, if you built gstreamer with MSVC and then tried to use
-	  constants from it (such as GST_TYPE_CAPS) in a plugin, GCC would
-	  retrieve the address of the value instead of the value itself.
-
-2016-05-19 11:27:36 -0300  Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
-
-	* scripts/git-update.sh:
-	  scripts: make git-update.sh build with all cores available
-	  The git-update.sh now builds with all cores available. In case of
-	  failure it defaults to 1
-	  The developer can still override this by setting -j to something else
-	  in MAKEFLAGS, as stated by 299605dfe2f97fca330161ff01a392e1a85fe422.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766666
-
-2016-05-04 13:53:56 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	  (mini)object: add MAY_BE_LEAKED flag
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766008
-
-2016-05-15 14:15:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: emit deep-element-{added,removed} for children of newly-added/removed bin
-	  https://bugzilla.gnome.org/show_bug.cgi?id=578933
-
-2016-05-14 10:55:53 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* tests/check/gst/gstbin.c:
-	  bin: add "deep-element-added" and "deep-element-removed" signals
-	  This means applications and bin sub-classes can easily track when
-	  a new child element is added to the pipeline sub-hierarchy or
-	  removed.
-	  Currently doesn't signal deep added/removed for elements inside
-	  a bin if a bin is added/removed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=578933
-
-2016-05-15 15:02:49 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.h:
-	  pad: Improve IDLE probe docs
-	  Make it explicit that the pad is only blocked while the callback is running,
-	  and the pad will be unblocked again once the callback returned.
-	  If BLOCK and IDLE behaviour is needed, both need to be used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766002
-
-2016-05-15 13:29:55 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: Update for git master
-
-2016-03-11 16:04:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue: Only unblock upstream waiting for the query once downstream is finished
-	  ... when flushing and deactivating pads. Otherwise downstream might have a
-	  query that was already unreffed by upstream, causing crashes or other
-	  interesting effects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763496
-
-2016-05-14 17:31:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  basesink/src: Post an error message if ::start() fails
-	  The subclass should do that already, but just in case do it ourselves too as a
-	  fallback. Without this, e.g. playbin will just wait forever if this fails
-	  because it is triggered as part of an ASYNC state change.
-
-2016-05-14 23:36:43 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Fix EOS forwarding on PLAYING->PLAYING
-	  When doing a transition from PLAYING to PLAYING, we will fail
-	  to forward an EOS message on the bus, and noone else will ever
-	  send it because there'll be no actual state changed message.
-	  Allow EOS through directly in that case.
-
-2016-05-13 09:43:14 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  pad: Don't drop LATENCY queries with default implementation
-	  If there is only one pad in the internal pads, when folding for
-	  LATENCY queries it will just drop the response if it's not live.
-	  This is maybe not the proper fix, but it will just accept the first
-	  peer responses, and if there are any other pads, it will only take
-	  them into account if the response is live.
-	  This *should* properly handle the aggregation/folding behaviour of
-	  multiple live peer responses, while at the same time handling the
-	  simple one-pad-only-and-forward use-case
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766360
-
-2016-04-07 00:46:20 +1000  Jan Schmidt <jan@centricular.com>
-
-	* tools/gst-launch.1.in:
-	  Update the examples in the gst-launch-1.0 manpage
-	  Replace elements that don't exist any more with ones
-	  that do, and insert elements like mpegaudioparse where
-	  they are needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727105
-
-2016-04-02 01:05:39 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gst.c:
-	  debug: Instantiate GType when dumping debug categories.
-	  A lot of debug categories are declared in element class_init
-	  functions, which don't get run until the element is first created
-	  (not just registered in the plugin load function). This means
-	  that --gst-debug-help doesn't print out a lot of categories.
-	  Creating an instance of each element from the element factory
-	  makes them visible, at some extra cost - 2-3 times longer, which can
-	  be a full second or two of extra waiting. Yikes!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=741001
-
-2016-05-11 15:06:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Only push a CAPS event downstream if the sinkpad is not in PULL mode
-	  The other signal handlers of the type-found signal might have reactivated
-	  typefind in PULL mode already, pushing a CAPS event at that point would cause
-	  deadlocks and is in general unexpected by elements that are in PULL mode.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765906
-
-2016-05-11 12:16:09 +0900  Wonchul Lee <wonchul.lee@collabora.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix warning on enum properties printing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=766251
-
-2016-05-10 15:01:42 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Fix pad state when deactivating from one mode and then trying to activate another and failing
-	  When activating a pad in PULL mode, it might already be in PUSH mode. We now
-	  first try to deactivate it from PUSH mode and then try to activate it in PULL
-	  mode. If the activation fails, we would set the pad to flushing and set it
-	  back to its old mode. However the old mode is wrong, the pad is not in PUSH
-	  mode anymore but in NONE mode.
-	  This fixes e.g. typefind in decodebin reactivating PUSH/PULL mode if upstream
-	  actually fails to go into PULL mode after first PUSHING data to typefind.
-
-2016-03-13 11:05:29 -0400  Anthony G. Basile <blueness@gentoo.org>
-
-	* libs/gst/check/libcheck/strsignal.c:
-	  libcompat.h: strsignal() should be not be decleared const
-	  POSIX standards requires strsignal() to return a pointer to a char,
-	  not a const pointer to a char. [1]  On uClibc, and possibly other
-	  libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares
-	  const char *strsignal (int sig) which causes a type error.
-	  [1] man 3 strsignal
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763567
-
-2016-05-05 18:50:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: add debug category
-	  Not that it logs much.
-
-2016-05-05 18:02:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: fix docs for gst_flow_combiner_reset()
-
-2016-05-04 10:04:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/pipelines/parse-launch.c:
-	  parse-launch: fix factory leak in test
-	  We get 2 references one from gst_element_factory_find() and the other
-	  from gst_plugin_feature_load().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765976
-
-2016-05-04 13:46:46 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/gst/gstminiobject.c:
-	  miniobject: fix ref count leaks in tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765978
-
-2016-05-04 09:53:32 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* tests/check/pipelines/parse-launch.c:
-	  utils: fix element leak in find_common_root()
-	  The root element was not unreffed when iterating over ancestors.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765961
-
-2016-05-02 17:35:29 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  inspect: fix feature leak
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765957
-
-2016-05-03 11:49:03 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  uri: unref instead of using _gst_uri_free() directly
-	  This confuses gst_tracing as we shortcut the mini object reference
-	  system.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765958
-
-2016-05-02 09:32:47 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/pipelines/seek.c:
-	  pipeline: fix bus leak in seek test
-	  gst_bus_add_signal_watch_full() keeps a ref on the bus which should
-	  be released using gst_bus_remove_signal_watch().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 09:29:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/elements/streamiddemux.c:
-	  streamiddemux: fix list and event leaks in test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 08:43:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  selector: fix pad leaks in tests
-	  setup_input_pad() creates a new pad so we should unref it once we're
-	  done.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 08:33:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/elements/filesrc.c:
-	  filesrc: fix buffer leaks in tests
-	  gst_check_setup_sink_pad() internally uses gst_check_chain_func() so we
-	  should call gst_check_drop_buffers() when tearing down tests to free the
-	  buffers which have been exchanged through the pipeline.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 08:29:00 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/elements/fakesink.c:
-	  fakesink: fix pipeline leak in test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 07:35:45 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/gst/gstelementfactory.c:
-	  elementfactory: fix factory leak in test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765903
-
-2016-05-02 16:00:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstdeviceproviderfactory.c:
-	  deviceproviderfactory: fix factory leak
-	  The code path when early returning was leaking the extra reference on
-	  the factory.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765904
-
-2016-04-10 11:42:18 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstquery.c:
-	  query: fix compiler warning
-	  C4146: unary minus operator applied to unsigned type, result still unsigned
-
-2016-04-28 14:59:51 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  bin: fix leaks in unit tests
-	  The test rely on bus being flushed when setting the bin to the NULL state which
-	  is not the case. This apply only when setting the pipeline state to
-	  NULL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765720
-
-2016-04-28 14:56:18 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  pad: fix buffer leaks in tests
-	  The buffer received through the pad have to be unreffed using
-	  gst_check_drop_buffers().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765719
-
-2016-04-30 14:15:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstghostpad.c:
-	* libs/gst/check/gstharness.c:
-	  Fix some nonsensical g-i annotations
-
-2016-04-29 14:55:02 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Ignore time when determining whether sparse stream limits have been reached
-	  Basically, sq->max_size.visible is never increased for sparse streams in
-	  overruncb when empty queue has been found;
-	  If the queue is sparse it just skip the entire logic determining whether
-	  max_size.visible should be increased, deadlocking the demuxer.
-	  What should be done instead is that when determining if limits have been
-	  reached, to ignore time for sparse streams, as the buffer may be far in the
-	  future.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765736
-
-2016-02-28 12:06:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: Add gst_element_call_async()
-	  This calls a function from another thread, asynchronously. This is to be
-	  used for cases when a state change has to be performed from a streaming
-	  thread, directly via gst_element_set_state() or indirectly e.g. via SEEK
-	  events.
-	  Calling those functions directly from the streaming thread will cause
-	  deadlocks in many situations, as they might involve waiting for the
-	  streaming thread to shut down from this very streaming thread.
-	  This is mostly a convenience function around a GThreadPool and is for example
-	  used by GstBin to continue asynchronous state changes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760532
-
-2016-04-27 09:21:31 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Fix buffer memory leak in appsrc example
-	  g_signal_emit_by_name() is not like gst_app_src_push_buffer() due to reference
-	  counting limitations of signals, it does *not* take ownership of the buffer.
-
-2016-04-26 16:02:14 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstcaps.c:
-	  caps: add cleanup priv function
-	  Those are allocated in _priv_gst_caps_initialize() so it makes
-	  sense to have a symetric cleanup functions called by gst_deinit().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765606
-
-2016-04-26 16:02:14 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstcapsfeatures.c:
-	  capsfeature: add cleanup priv function
-	  Those are allocated in _priv_gst_caps_features_initialize() so it makes
-	  sense to have a symetric cleanup functions called by gst_deinit().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765606
-
-2016-04-21 14:45:39 +0100  Alex Ashley <bugzilla@ashley-family.net>
-
-	* libs/gst/check/gsttestclock.c:
-	  testclock: add clock-type property
-	  To allow the GstTestClock to be used as a GstSystemClock, it is
-	  useful to implement the clock-type property that GstSystemClock
-	  provides. This allows GstTestClock to be used as the system clock
-	  with code that expects a GstSystemClock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762147
-
-2016-04-21 13:49:32 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdatetime.c:
-	  datetime: Sanity check year, month and day when parsing ISO-8601 strings
-	  Passing years > 9999, months > 12 or days > 31 to gst_date_time_new() will
-	  cause an assertion and generally does not make much sense. Instead consider it
-	  as a parsing error like hours > 24 and return NULL.
-
-2016-04-20 11:46:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Remember if we interpolated DTS from PTS and refresh it whenever we update the PTS
-	  Otherwise PTS and DTS will come out of sync if upstream continues to provide
-	  PTS and not DTS, and we have to skip some data from the stream or PTS are not
-	  exactly increasing with the duration of each packet.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765260
-
-2016-04-20 11:45:28 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Fix gobject-introspection warning about invalid transfer annotation
-	  gsttypefindhelper.c:485: Warning: GstBase: invalid "transfer" annotation for gsize: only valid for array, struct, union, boxed, object and interface types
-
-2016-04-18 13:05:40 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstallocator.c:
-	  allocator: add cleanup method
-	  Make tracking memory leaks easier.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765212
-
-2016-03-25 15:55:18 +0100  Francisco Velazquez <francisv@ifi.uio.no>
-
-	* tests/check/gst/gstplugin.c:
-	  tests: plugin: improve debug message
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764199
-
-2016-04-14 11:54:32 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Recheck buffering status after changing low threshold
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763757
-
-2016-04-14 00:09:44 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Recalculate fill level after changing high-threshold
-	  This ensures the following special case is handled properly:
-	  1. Queue is empty
-	  2. Data is pushed, fill level is below the current high-threshold
-	  3. high-threshold is set to a level that is below the current fill level
-	  Since mq->percent wasn't being recalculated in step #3 properly, this
-	  caused the multiqueue to switch off its buffering state when new data is
-	  pushed in, and never post a 100% buffering message. The application will
-	  have received a <100% buffering message from step #2, but will never see
-	  100%.
-	  Fix this by recalculating the current fill level percentage during
-	  high-threshold property changes in the same manner as it is done when
-	  use-buffering is modified.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763757
-
-2016-04-15 13:50:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: When initializing DTS from PTS, remember that we did so
-	  If we don't store the value in prev_dts, we would over and over again
-	  initialize the DTS from the last known upstream PTS. If upstream only provides
-	  PTS every now and then, then this causes DTS to be rather static.
-	  For example in adaptive streaming scenarios this means that all buffers in a
-	  fragment will have exactly the same DTS while the PTS is properly updated. As
-	  our queues are now preferring to do buffer fill level calculations on DTS,
-	  this is causing huge problems there.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of
-	  the code was introduced.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=765096
-
-2016-04-14 09:58:04 +0100  Julien Isorce <j.isorce@samsung.com>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 6f2d209 to ac2f647
-
-2016-04-13 16:08:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: catch errors and flushing case after lock
-	  This ensures we can not get into an indefinite wait on the
-	  following cond var wait.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764999
-
-2016-04-13 16:40:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: fix up caps printing in verbose mode
-	  Add missing 'else' and print caps and taglists without the
-	  annoying duplicate string escaping, making both nicer to read.
-	  Fixes string leak and coverity CID 1358492.
-
-2016-04-13 12:38:05 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/tracers/gstrusage.c:
-	  rusage: properly free the queue memory
-	  The queue is allocated as part of the tracer struct so we should not
-	  use g_queue_free() to free it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764985
-
-2016-04-13 10:21:15 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstmeta.c:
-	  meta: Warn if a meta implementation is registered without init function
-	  This previously caused uninitialized memory unless something else was
-	  initializing all the fields explicitly to something.
-	  To be on the safe side, we also allocate metas without init function to all
-	  zeroes now as it was relatively common.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764902
-
-2016-04-12 15:17:36 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  Revert "basesink: Take PREROLL_LOCK in wait_event()"
-	  This reverts commit 828a4627db0cb6a6706b96d9be97e5e5c7d22215.
-	  The lock was already taken elsewhere, in gst_base_sink_event().
-
-2016-04-12 15:11:30 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Take PREROLL_LOCK in wait_event()
-	  It is calling do_sync(), which requires the STREAM_LOCK and PREROLL_LOCK to be
-	  taken. The STREAM_LOCK is already taken in all callers, the PREROLL_LOCK not.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764939
-
-2016-02-11 09:33:28 +0100  Julien Isorce <j.isorce@samsung.com>
-
-	* tests/check/Makefile.am:
-	  tests: add PTHREAD_CFLAGS for make check to pass on OS X
-	  Currently "make check" fails with:
-	  "error: argument unused during compilation: '-pthread'"
-	  PTHREAD_CFLAGS now contains -Qunused-arguments to fix that.
-	  Explanation here: http://savannah.gnu.org/patch/?8186#comment21
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747954
-
-2016-04-11 10:44:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: baseparse: make work with CK_FORK=no
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623469
-
-2016-04-11 10:27:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	* tests/check/libs/transform2.c:
-	  tests: transform1: make test work with CK_FORK=no
-	  We need to clear some global state and register a new test
-	  basetransform subclass for each test because we do things
-	  in class_init base on global state.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623469
-
-2016-04-10 20:45:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/collectpads.c:
-	  tests: collectpads: fix for CK_FORK=no
-	  Reset global state when done, and unref sink pads too
-	  in teardown function to make it valgrind clean.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623469
-
-2016-04-10 20:25:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/streamiddemux.c:
-	  tests: streamiddemux: fix with CK_FORK=no
-	  Clear global state when done.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623469
-
-2016-04-10 20:04:07 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferpool.c:
-	  tests: bufferpool: fix wrong assumptions about pointers and object lifecycles
-	  The test assumed that if a buffer has the same pointer address as
-	  before it is in fact the same mini object and has been re-used by
-	  the pool. This seems to be mostly true, but not always. The buffer
-	  might be destroyed and when a new buffer is created the allocator
-	  might return the same memory that we just freed.
-	  Instead attach a qdata with destroy notify function to buffer
-	  instances we want to track to make sure the buffer actually
-	  gets finalized rather than resurrected and put back into the pool.
-
-2016-04-10 18:37:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/pwg.xml:
-	  docs: pwg: remove broken references to example code
-	  We point to gst-template at the beginning that shoul be
-	  enough.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623575
-
-2016-04-08 13:26:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	  tests: don't run tracerrecord in valgrind for now
-	  Because of the way we implement logging and adding/removing
-	  log functions currently (we leak a GList on purpose) this
-	  test leaks.
-
-2016-03-05 17:51:01 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: use new async property change notification API
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763142
-
-2016-03-05 14:12:36 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstelement.c:
-	* win32/common/libgstreamer.def:
-	  element: add API to get property change notifications via messages
-	  Be notified in the application thread via bus messages about
-	  notify::* and deep-notify::* property changes, instead of
-	  having to deal with it in a non-application thread.
-	  API: gst_element_add_property_notify_watch()
-	  API: gst_element_add_property_deep_notify_watch()
-	  API: gst_element_remove_property_notify_watch()
-	  API: gst_message_new_property_notify()
-	  API: gst_message_parse_property_notify()
-	  API: GST_MESSAGE_PROPERTY_NOTIFY
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763142
-
-2016-04-07 20:29:10 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstcpp.cc:
-	* tests/check/libs/gstlibscpp.cc:
-	  tests: Add C++ tests for the other INIT macros we have
-
-2016-04-06 17:19:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstcpp.cc:
-	  tests: gstcpp: flesh out C++ test so we can add more bits
-	  Like a check for GST_MAP_INFO_INIT.
-
-2016-04-06 16:48:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/gstlibscpp.cc:
-	  tests: use catch-all includes for c++ gst libs include test
-	  So we get any new header files as well as they're added.
-
-2016-04-06 17:23:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmemory.h:
-	  memory: fix C++ compiler warnings with GST_MAP_INFO_INIT
-
-2016-04-04 10:28:18 +0000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstutils.c:
-	* tests/check/gst/gstutils.c:
-	  utils: check the correct element's state on ghosting pads
-	  Checking the current element's state when we're adding pads to
-	  the parent element is checking the wrong thing.
-	  Silences a 'attempting to add an inactive pad to a running element'
-	  warning when adding a ghost pad to a running parent bin of the parent
-	  bin of the element.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764176
-
-2016-03-25 01:28:18 +0000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: expose pad_link_maybe_ghosting
-	  This is a useful function to automatically add ghost pads when linking
-	  two elements across bin boundaries without know their exact parentage.
-	  e.g. when using gst_parse_bin_from_description (with or without it ghosting pads),
-	  one can simply retreive the src/sink pads from the bin to link to another pad.
-	  Similar functionality is provided by gst_element_link_pads{_full}() however only
-	  by pad name rather than by actual pads.
-	  API: gst_pad_link_maybe_ghosting_full
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764176
-
-2016-04-03 23:35:46 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-states.txt:
-	  docs/design/part-states.txt: spelling fix
-
-2015-05-15 13:36:04 +0100  Mark Combellack <gnome-bugzilla@combellack.net>
-
-	* gst/gstbin.c:
-	* gst/gstbufferpool.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	  GST_REFCOUNTING: Add logging of pointer address for dispose, finalize, etc messages
-	  Updated the GST_REFCOUNTING logging so that it includes the pointer
-	  address of the object that is being disposed or finalized.
-	  With this change is is then possible to match up GST_REFCOUNTING log messages
-	  for object allocation/disposal/finalization. This can help with diagnosing
-	  "memory leaks" in applications that have not correctly disposed of all the
-	  GStreamer objects it creates.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749427
-
-2016-03-31 11:46:03 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* gst/gstinfo.c:
-	  info: only open log file when adding it to the log function
-	  This avoids the leak of opening it and then not passing it or closing it
-	  before it goes out of scope.
-
-2016-04-01 22:41:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	  clock: Return FALSE in all paths that don't set out parameters in gst_clock_add_observation_unapplied()
-	  It returned TRUE when regression failed, while not setting any of the out
-	  parameters. This caused uninitialized data from the stack to be used for
-	  setting the clock calibration.
-
-2016-03-24 17:34:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: rework probe's hook_marshall function
-	  PUSH and PULL mode have opposite scenarios for IDLE and BLOCK
-	  probes.
-	  For PUSH it will BLOCK with some data type and IDLE won't have a type.
-	  For PULL it will BLOCK before getting some data and will be IDLE when
-	  some data is obtained.
-	  The check in hook_marshall was specific for PUSH mode and would cause
-	  PULL probes to fail to be called. Adding different checks for the mode
-	  to fix this issue.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761211
-
-2016-03-24 17:34:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: extra tests for pad pull probes
-	  For BUFFER and IDLE probes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761211
-
-2016-01-28 16:22:17 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Add test for blocking pull probe
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761211
-
-2016-03-24 12:13:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: consider PROBE_TYPE_EVENT_FLUSH when using PROBE_TYPE_ALL_BOTH
-	  When GST_PAD_PROBE_EVENT_FLUSH is used, the probes already have
-	  a data type and it is not needed to automatically add the default
-	  types.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762330
-
-2016-02-19 16:18:12 +0100  Linus Svensson <linussn@axis.com>
-
-	* tests/check/gst/gstpad.c:
-	  gstpad tests: Add a test for flush event only probes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762330
-
-2016-03-26 17:21:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix enum/flag properties printing for elements
-	  We want to use the flag/enum nicks here, not only because they
-	  are shorter but also because in case of element-specific enums
-	  and flags we abuse the enum/flag name field for the description,
-	  and we don't want that printed in the dot file.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763814
-
-2016-03-23 10:31:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttrace.c:
-	  alloctrace: print size and allocator details for buffers and memories
-
-2016-02-29 19:04:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: make it possible to remove default log handler before gst_init()
-	  Make sure it's not even added then, so that we never output
-	  anything via the default log handler then.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751538
-
-2016-03-05 14:27:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmemory.h:
-	* gst/gstminiobject.h:
-	* gst/gsturi.h:
-	  miniobject, memory, uri: warn on unused return value of some funcs
-	  Make compiler issue a warning for common beginner mistakes such as:
-	  ...
-	  gst_buffer_make_writable (buf);
-	  gst_buffer_map (buf, &map, GST_MAP_WRITE);
-	  ...
-	  and similar. Only do this for some functions for now.
-
-2016-03-26 11:17:02 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	  .gitignore new netclock-replay testing tool binary
-
-2015-10-17 18:01:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstregistry.c:
-	  registry: allow plugin and feature filter funcs to call registry API
-	  Don't keep the registry locked whilst iterating over the plugins
-	  or features with a filter function. This would deadlock if the
-	  callback tried to access the registry from the function. Instead,
-	  make a copy of the feature/plugin list and then filter it without
-	  holding the registry lock. This is still considerably faster than
-	  the alternative which would be to use a GstIterator.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756738
-
-2016-03-25 12:59:57 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  configure: Remove unneeded parenthesis from AG_GST_CHECK_CHECKS
-
-2016-03-25 12:05:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/valve.c:
-	  valve: Fix unit test by sending caps before buffers
-	  Unexpected critical/warning: gstpad.c:4400:gst_pad_push_data:<'':src> Got data flow before segment event
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763753
-
-2016-03-25 10:23:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/misc/Makefile.am:
-	  netclock: Link the replay example to GIO
-
-2016-03-03 21:45:54 +0530  Arun Raghavan <arun@centricular.com>
-
-	* tests/misc/Makefile.am:
-	* tests/misc/netclock-replay.c:
-	  tests: Add some code to replay and analyse netclientclock
-	  This takes readings in the form of ...
-	  <local_1> <remote_1> <remote_2> <local_2>
-	  ... with one observation per line, and then replays it using the
-	  netclientclock code.
-	  The output is the statistics structure emitted by the netclientclock,
-	  which can then be analysed and tuned once we get those readings for
-	  potential edge-cases.
-	  It should be possible to find some inputs with "bad" data and convert
-	  this into a unit test for future tweaks to run against.
-
-2016-03-03 21:44:35 +0530  Arun Raghavan <arun@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Always dump clock observations in logs
-	  This makes it possible to examine what values we get in logs, and
-	  potentially tune our filtering/extrapolation in various scenarios.
-
-2016-03-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  bad: use new gst_element_class_add_static_pad_template()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763081
-
-2016-03-16 15:13:39 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* plugins/elements/gstvalve.c:
-	* tests/check/elements/valve.c:
-	  valve: don't send sticky events as a direct response to upstream events
-	  Also refactor the existing valve test to actually test the valve,
-	  and not just test the EOS mechanism of a pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763753
-
-2016-03-11 09:23:04 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* gst/parse/grammar.y:
-	  parse-launch: Add flag for placing elements in a bin instead of a pipeline
-	  By default, gst_parse_launch_full() creates a GstPipeline if there's more
-	  than one toplevel element. Add a flag to let it use a GstBin instead.
-	  Also fix the parser to let it use this flag for GST_TYPE_ELEMENT property
-	  values, to avoid having GstPipelines inside other GstPipelines.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763457
-
-2016-03-08 19:08:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	  capsfilter: optimisation: avoid unnecessary gst_pad_has_current_caps() checks
-	  No need to do this for every input buffer, since it involves
-	  locking and iterating of the sticky events array and such.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763337
-
-2016-03-03 14:15:00 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gstpadtemplate.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstprotection.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/baseparse.c:
-	* tests/check/libs/collectpads.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/check/pipelines/seek.c:
-	  gstreamer: use new gst_element_class_add_static_pad_template()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763020
-
-2016-03-02 17:47:33 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: Use full running time for level calculation
-	  Ensures we have proper time level estimation for the cases where
-	  the incoming buffers have PTS/DTS outside of the segment start/stop
-	  values.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762995
-
-2016-01-27 11:46:06 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstpad.c:
-	  pad: Fix race between gst_element_remove_pad and state change
-	  When going from READY to NULL all element pads are deactivated. If
-	  simultaneously the pad is being removed from the element with
-	  gst_element_remove_pad() and the pad is unparented, there is a race
-	  where the deactivation will assert (g_critical) if the parent is lost at
-	  the wrong time.
-	  The proposed fix will check parent only once and retain it to avoid the
-	  race.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761912
-
-2016-03-02 21:11:51 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Assume PTS is equal DTS if PTS is missing
-	  This is the best guess we can make if such a buffer reached the collect
-	  pad. This is uncommon, we do expect parsers to have tried and fixed that
-	  if possible (or needed).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762207
-
-2016-03-24 13:32:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-2016-03-24 11:49:44 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Remove redundant assignment
-	  CID 1357158
-
-=== release 1.8.0 ===
-
-2016-03-24 11:49:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.8.0
-
-2016-03-24 11:35:26 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2016-03-13 11:05:29 -0400  Anthony G. Basile <blueness@gentoo.org>
-
-	* libs/gst/check/libcheck/libcompat.h:
-	  libcompat.h: strsignal() should be not be decleared const
-	  POSIX standards requires strsignal() to return a pointer to a char,
-	  not a const pointer to a char. [1]  On uClibc, and possibly other
-	  libc's, that do not HAVE_DECL_STRSIGNAL, libcompat.h declares
-	  const char *strsignal (int sig) which causes a type error.
-	  [1] man 3 strsignal
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763567
-
-2016-03-22 19:04:59 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpreset.c:
-	  preset: Use GST_PRESET_PATH as an extension of the system path, not a replacement of the user path
-	  First load all system presets, then all from the environment variable, then
-	  from the app directory, then from the user directory. Any one in the chain
-	  with the highest version completely replaces all previous ones, later ones
-	  with lower versions are merged in without replacing existing presets.
-	  This is basically the same behaviour as before, just that GST_PRESET_PATH is
-	  inserted as another source of directories between the system and app presets.
-	  It was added in ca08af1f17d2ce36b83998a0ba3a7b8bcafd7872, but was
-	  accidentially overriding the user preset path there. Which caused inconsistent
-	  behaviour as new presets were still stored in the system path, just not loaded
-	  from there. Meaning you could store a new preset (in the user path), just for
-	  GstPreset to not find it anymore later (because it only looked in the
-	  GST_PRESET_PATH instead of the user path).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=764034
-
-2016-03-19 12:55:09 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
-
-	* gst/gstutils.c:
-	  utils: add 'transfer full' annotation to gst_pad_peer_query_caps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763912
-
-2016-03-19 12:39:18 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
-
-	* gst/gstpad.c:
-	  pad: add 'transfer full' and 'nullable' annotations to gst_pad_get_current_caps
-	  and also change the description accordingly since function returns an
-	  incremented caps object or NULL if there is no caps set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763912
-
-2016-03-18 16:02:43 -0400  Ben Iofel <iofelben@gmail.com>
-
-	* gst/gstutils.c:
-	  utils: fix gir annotation for gst_element_query_convert()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763895
-
-2016-03-17 01:42:55 +1100  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: Check multiqueue not-linked EOS handling
-	  Add a test which checks that not-linked pads continue
-	  to output data after linked pads have gone EOS
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763770
-
-2016-03-18 03:08:39 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix not-linked pad handling at EOS
-	  Ensure that not-linked pads will drain out at EOS by
-	  correctly detecting the EOS condition based on the EOS
-	  pad flag (which indicates we actually pushed an EOS),
-	  and make sure that not-linked pads are woken when doing
-	  EOS processing on linked pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763770
-
-2016-03-15 16:37:33 +0100  Romain Picard <romain.picard@oakbits.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Allow caps query in "have-type" signal handlers
-	  If an application calls gst_pad_query_caps from its "have-type" signal handler,
-	  then the query fails because typefind->caps has not been set yet.
-	  This patch sets typefind->caps in the object method handler, before the signal
-	  handlers are called.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763491
-
-=== release 1.7.91 ===
-
-2016-03-15 11:56:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.7.91
-
-2016-03-15 11:44:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/da.po:
-	* po/de.po:
-	* po/el.po:
-	* po/en_GB.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/eu.po:
-	* po/fi.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/id.po:
-	* po/it.po:
-	* po/ja.po:
-	* po/lt.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/sl.po:
-	* po/sq.po:
-	* po/tr.po:
-	* po/zh_TW.po:
-	  Update .po files
-
-2016-03-15 11:39:42 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/cs.po:
-	* po/fr.po:
-	* po/hu.po:
-	* po/ru.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	  po: Update translations
-
-2016-03-11 14:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763491
-
-2016-03-13 10:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Recheck after pre_push_frame() if there are tags pending
-	  Many parsers are storing tags only in pre_push_frame(), if we wouldn't check
-	  afterwards we would push buffers before those tags and a lot of code assumes that
-	  tags are available before preroll.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763553
-
-2016-03-14 11:15:07 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Fix comment typo
-
-2016-03-12 12:56:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  Revert "typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler"
-	  This reverts commit 0835c3d6569dde0ec9e5524436367c7678cc4a4a.
-	  It causes deadlocks in decodebin, which currently would deadlock if the caps
-	  are already on the pad in have-type and are forwarded while copying the sticky
-	  events (while holding the decodebin lock)... as that might cause the next
-	  element to expose pads, which then calls back into decodebin and takes the
-	  decodebin lock.
-	  This needs some more thoughts.
-
-2016-03-11 14:17:13 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Store caps on the pad before emitting have-type but send it downstream only in the default signal handler
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763491
-
-2016-03-10 10:35:40 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* gst/gstelement.h:
-	* gst/gstobject.h:
-	  docs: Flesh out element and object macro accessor docs a bit
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763213
-
-2016-03-09 16:06:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Remove some obsolete code that can cause warnings
-
-2016-03-09 13:44:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Don't reset calibration of internal clock whenever a new netclient clock is created
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763325
-
-2016-03-04 18:23:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstbuffer.c:
-	  gstbuffer: fix GstParentBufferMeta GType name
-	  The alias define GST_TYPE_PARENT_BUFFER_META_API_TYPE is wrong and
-	  breaks the usage of gst_buffer_get_parent_buffer_meta().
-	  This patch fixes the GType alias and make another alias to keep the API
-	  compatibility guarded by GST_DISABLE_DEPRECATED.
-	  Also added a unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=763112
-
-2016-03-02 10:37:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsttracerrecord.c:
-	  tracerrecord: Remove useless NULL check and add assertion for making assumptions explicit
-	  gst_structure_new_empty() is not returning NULL in any valid scenarios,
-	  checking for NULL here is useless. Especially because we would dereference any
-	  NULL right after the NULL check again.
-	  CID 1352037.
-	  We previously check if the string ends on .class, as such strrchr() should
-	  return something non-NULL. Add an assertion for that.
-	  CID 1349642.
-
-2016-03-01 19:50:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelement.c:
-	  element: minor docs fix
-	  Make gtk-doc happy.
-
-=== release 1.7.90 ===
-
-2016-03-01 18:14:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.7.90
-
-2016-03-01 16:52:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update translations
-
-2016-02-29 23:33:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	* tests/check/gst/gstpipeline.c:
-	  Revert "bus: change GstBusSource to hold a weak ref to GstBus"
-	  This reverts commit 894c67e642c0f858b5b18097fa7c995bf3cc50c1.
-
-2016-02-29 23:32:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  Revert "bus: Make sure to remove the GPollFD from the GSources when destroying the bus"
-	  This reverts commit 05700a7082c145057ccc0be763067bcc263239eb.
-
-2016-02-29 17:06:36 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.h:
-	  element: Remove GST_STATE_LOCK_FULL() / UNLOCK_FULL()
-	  There is no corresponding API for that in GLib and nobody could've ever used
-	  these macros without compiler errors anyway.
-
-2016-02-29 10:01:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Make sure to remove the GPollFD from the GSources when destroying the bus
-	  Otherwise the GSource can look into our already destroyed bus where the
-	  GPollFD is stored.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762849
-
-2016-02-29 11:06:50 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/gst/gstghostpad.c:
-	  tests: ghostpad: Fix memory leaks
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762845
-
-2016-02-28 13:59:48 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttaglist.c:
-	  taglist: add guard to check writability when removing tags from a taglist
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762793
-
-2016-02-27 15:36:28 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gststreamiddemux.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	  elements: use new gst_element_class_add_static_pad_template()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762778
-
-2016-02-27 15:28:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: add gst_element_class_add_static_pad_template()
-	  Pretty much every single element does
-	  gst_element_class_add_pad_template (element_class,
-	  gst_static_pad_template_get (&some_templ));
-	  which is both confusing and unnecessary. We might just
-	  as well add a function to do that in one step.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762778
-
-2016-02-27 15:32:19 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: fix indentation
-
-2016-02-26 12:40:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From b64f03f to 6f2d209
-
-2016-02-25 22:36:14 +0000  James Stevenson <james@stev.org>
-
-	* gst/gstbus.c:
-	  bus: Prevent gst_bus_add_watch_full_unlocked from a segfault if priv->poll == NULL
-	  This happens if the process runs out of file descriptors. Better print
-	  a critical warning instead of just crashing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762702
-
-2016-02-24 10:56:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstbus.c:
-	* tests/check/gst/gstpipeline.c:
-	  bus: change GstBusSource to hold a weak ref to GstBus
-	  When holding a regular ref it will cause the GstBus to never
-	  reach 0 references and it won't be destroyed unless the application
-	  explicitly calls gst_bus_remove_signal_watch().
-	  Switching to weakref will allow the GstBus to be destroyed.
-	  The application is still responsible for destroying the
-	  GSource.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762552
-
-2016-02-25 14:11:34 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Add a " " after pts: in the silent=false output
-
-2014-04-16 11:42:18 +0200  Edward Hervey <edward@collabora.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Fix examples to check for gst_buffer_map return values
-	  Otherwise people reading the manual will expect it to always
-	  succeed :)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728326
-
-2014-04-16 11:40:46 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: Check return value of gst_buffer_map
-	  We can't check contents if we don't have access to it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728326
-
-2014-04-16 11:39:15 +0200  Edward Hervey <edward@collabora.com>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstqueue2.c:
-	  plugins: Check return values of gst_buffer_map()
-	  They can fail for various reasons.
-	  For non-fatal cases (such as the dump feature of identiy and fakesink),
-	  we just silently skip it.
-	  For other cases post an error message.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728326
-
-2016-02-23 17:23:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Check return value of gst_memory_map()
-	  Only do memory operations if the memory was succesfully map'ed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728326
-
-2016-02-23 18:17:42 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
-	  Remove calls to gst_pad_has_current_caps() which then go on to call
-	  gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
-	  use gst_pad_get_current_caps() and check for NULL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759539
-
-2015-12-10 15:32:27 +0100  Adam Miartus <adam.miartus@streamunlimited.com>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: add GST_TAG_CONDUCTOR
-	  This is useful for metadata which explicitely distinguishes
-	  between artist/composer and conductor.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762450
-
-2016-02-22 14:09:56 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* gst/gstevent.c:
-	  event: add some more documentation on stream-id
-	  ... where it might end up being used for.
-
-2016-01-22 11:25:30 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gsttracerutils.c:
-	  tracer: Initialize GstTracer _priv_tracers and quarks unconditionnally
-	  Some people might use tracer hooks even if GST_TRACER_PLUGINS is not
-	  set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760979
-
-2016-02-20 10:18:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/manual/appendix-integration.xml:
-	  docs: manual: remove dead link from integration page
-
-2016-02-20 10:13:38 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  docs: manual: fix formatting
-	  advanced-dataaccess.xml:1210: element listitem: validity error : Element
-	  listitem content does not follow the DTD, expecting (...),
-	  got (para CDATA para )
-	  </listitem>
-
-2016-02-20 00:55:30 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: check for git in create-uninstalled-setup.sh as well
-
-2016-02-19 20:26:26 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
-
-	* gst/glib-compat.c:
-	* gst/gsttask.c:
-	* libs/gst/net/gstptpclock.c:
-	  Whenever we include windows.h, also define WIN32_LEAN_AND_MEAN
-	  This reduces the number of symbols and code pulled in drastically
-
-2016-02-13 06:53:24 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/printf/gst-printf.h:
-	  printf: On MSVC, also define HAVE_STDINT_H_WITH_UINTMAX
-	  MSVC provides stdint.h but not inttypes.h, and we need to include stdint.h to
-	  get intmax_t
-
-2016-02-13 06:42:06 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Only include unistd.h if found
-	  unistd.h is not provided by the  Microsoft Visual C++ compiler. It instead
-	  provides the necessary defines through io.h
-
-2016-02-13 06:19:52 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstplugin.c:
-	  plugin: Only check for S_IFBLK if it is defined
-	  Windows does not define S_IFBLK since it doesn't have block devices
-
-2016-02-19 20:17:02 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/MANIFEST:
-	* win32/README.txt:
-	* win32/common/dirent.c:
-	* win32/common/dirent.h:
-	* win32/common/gtchar.h:
-	* win32/common/libgstdataprotocol.def:
-	* win32/vs10/Common.props:
-	* win32/vs10/Library.props:
-	* win32/vs10/Plugin.props:
-	* win32/vs10/ReadMe.txt:
-	* win32/vs10/Tool.props:
-	* win32/vs10/base/base.vcxproj:
-	* win32/vs10/base/base.vcxproj.filters:
-	* win32/vs10/controller/controller.vcxproj:
-	* win32/vs10/controller/controller.vcxproj.filters:
-	* win32/vs10/generated/generated.vcxproj:
-	* win32/vs10/generated/generated.vcxproj.filters:
-	* win32/vs10/gst-inspect/gst-inspect.vcxproj:
-	* win32/vs10/gst-inspect/gst-inspect.vcxproj.filters:
-	* win32/vs10/gst-launch/gst-launch.vcxproj:
-	* win32/vs10/gst-launch/gst-launch.vcxproj.filters:
-	* win32/vs10/gst-typefind/gst-typefind.vcxproj:
-	* win32/vs10/gst-typefind/gst-typefind.vcxproj.filters:
-	* win32/vs10/gstcoreelements/gstcoreelements.vcxproj:
-	* win32/vs10/gstcoreelements/gstcoreelements.vcxproj.filters:
-	* win32/vs10/gstreamer.sln:
-	* win32/vs10/gstreamer/gstreamer.vcxproj:
-	* win32/vs10/gstreamer/gstreamer.vcxproj.filters:
-	* win32/vs10/net/net.vcxproj:
-	* win32/vs10/net/net.vcxproj.filters:
-	* win32/vs6/grammar.dsp:
-	* win32/vs6/gst_inspect.dsp:
-	* win32/vs6/gst_launch.dsp:
-	* win32/vs6/gstreamer.dsw:
-	* win32/vs6/libgstbase.dsp:
-	* win32/vs6/libgstcontroller.dsp:
-	* win32/vs6/libgstcoreelements.dsp:
-	* win32/vs6/libgstnet.dsp:
-	* win32/vs6/libgstreamer.dsp:
-	* win32/vs7/grammar.vcproj:
-	* win32/vs7/gst-inspect.vcproj:
-	* win32/vs7/gst-launch.vcproj:
-	* win32/vs7/gstreamer.sln:
-	* win32/vs7/libgstbase.vcproj:
-	* win32/vs7/libgstcontroller.vcproj:
-	* win32/vs7/libgstcoreelements.vcproj:
-	* win32/vs7/libgstreamer.vcproj:
-	* win32/vs8/grammar.vcproj:
-	* win32/vs8/gst-inspect.vcproj:
-	* win32/vs8/gst-launch.vcproj:
-	* win32/vs8/gstreamer.sln:
-	* win32/vs8/libgstbase.vcproj:
-	* win32/vs8/libgstcontroller.vcproj:
-	* win32/vs8/libgstcoreelements.vcproj:
-	* win32/vs8/libgstreamer.vcproj:
-	  win32: update README and remove outdated build cruft
-	  This hasn't been touched for generations, doesn't work,
-	  and is just causing confusion. We also don't want to
-	  maintain these files manually.
-
-2016-02-19 08:43:00 +0000  George Yunaev <gyunaev@gmail.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Explain what happens if upstream elements are removed from the pipeline without draining them first
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762302
-
-2016-02-19 14:41:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/identity.c:
-	* tests/check/libs/gstharness.c:
-	  tests: fix indentation
-
-2016-02-19 12:38:21 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.7.2 ===
-
-2016-02-19 11:47:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 1.7.2
-
-2016-02-19 10:29:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update translations
-
-2016-02-18 14:20:17 +0000  Julien Isorce <j.isorce@samsung.com>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	  uninstalled.pc: add support for non libtool build systems
-	  Currently the .la path is provided which requires to use libtool as
-	  mentioned in the GStreamer manual section-helloworld-compilerun.html.
-	  It is fine as long as the application is built using libtool.
-	  So currently it is not possible to compile a GStreamer application
-	  within gst-uninstalled with CMake or other build system different
-	  than autotools.
-	  This patch allows to do the following in gst-uninstalled env:
-	  gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0)
-	  Previously it required to prepend libtool --mode=link
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720778
-
-2016-02-18 11:43:22 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  Revert "pad: PULL probes are called without a buffer so don't require any of the data flags to be set"
-	  This reverts commit b89fa4786b3df6cb79f662c037dee74b3f7428d6.
-	  The changes break various tests.
-
-2016-02-18 11:43:04 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  Revert "pad: Add test for blocking pull probe"
-	  This reverts commit 17d30e944be0425ebb4fb6046f82d1f61701fe8f.
-	  The PULL probe changes break various tests.
-
-2016-02-18 11:09:36 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Protect against failing to map input memory when merging memories
-	  https://bugzilla.gnome.org/show_bug.cgi?id=762239
-
-2016-01-28 16:22:17 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Add test for blocking pull probe
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761211
-
-2016-02-17 16:57:27 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: PULL probes are called without a buffer so don't require any of the data flags to be set
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761211
-
-2016-02-17 16:41:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  Revert "element: Don't hold state lock all the time while sending an event"
-	  This reverts commit b427997119a2b6aacbeb550f729936f8b963e24b.
-	  It breaks things that used to work before, even if the change by itself is
-	  correct and the previous code is just working around deeper bugs in the async
-	  state change code. Let's go back to what previously worked and then fix async
-	  state changes in general.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760532
-
-2016-02-17 15:26:49 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstghostpad.c:
-	  Revert "ghostpad: Do nothing in _internal_activate_push_default"
-	  That commit would break scheduling reconfiguration with ghostpads
-	  This reverts commit ab55ad7eaad4fa2c0b16c789350e882cf70a27ed.
-
-2016-02-17 15:25:08 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/check/gst/gstghostpad.c:
-	  check: Add test for checking scheduling reconfiguration with ghostpads
-	  Showcases the regression introduced by this commit:
-	  Commit: ab55ad7eaad4fa2c0b16c789350e882cf70a27ed
-	  Author: Stian Selnes <stian@pexip.com>
-	  Date:   Wed Jan 27 13:20:23 2016 +0100
-	  ghostpad: Do nothing in _internal_activate_push_default
-
-2016-02-17 11:02:34 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* tests/check/gst/gstghostpad.c:
-	  ghostpad: add some tests for activation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761913
-
-2016-01-27 13:20:23 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Do nothing in _internal_activate_push_default
-	  When calling gst_pad_activate_mode() on a ghostpad
-	  gst_ghost_pad_activate_push_default() will be called. This will call
-	  gst_pad_activate_mode() on the proxypad (which is internal of the
-	  ghostpad), calling gst_ghost_pad_internal_activate_push_default(), which
-	  again will call gst_pad_activate_mode() on the original ghostpad.
-	  By simply returning TRUE in
-	  gst_ghost_pad_internal_activate_push_default() the redundant call to
-	  gst_pad_activate_mode() (for the same pad) is avoided.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761913
-
-2016-02-16 17:53:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: remove unused macro
-	  macro was added in 2011 and isn't used anymore
-
-2016-02-16 19:11:59 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* tests/check/elements/queue2.c:
-	  Revert "queue2: add overrun signal"
-	  This reverts commit 8ae8b2723d0cf179a4f09b2f6c5f797e2d97034d.
-	  It's not used anymore by anything and was considered a bad idea in general.
-
-2014-06-05 13:27:28 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstcaps.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstclock.h:
-	* gst/gstevent.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstmessage.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstquery.c:
-	* gst/gststructure.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttypefindfactory.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  docs: annotate C examples as such
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731292
-
-2016-02-15 11:13:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/benchmarks/tracerserialize.c:
-	  benchmark: tracerserialize: add missing return statement
-	  tracerserialize.c:117:1: error: control reaches end of
-	  non-void function [-Werror=return-type]
-
-2016-02-15 10:06:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstprotection.c:
-	* libs/gst/check/gstharness.c:
-	* tests/check/gst/gstsystemclock.c:
-	  protection/harness/systemclock: move declaration out of for loop initialization
-	  C90 compilers complain about it
-	  error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
-	  Also run gst-indent on systemclock tests.
-
-2016-01-27 15:16:03 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: always set our test-clock on the harnessed element
-	  The integration is already so tight, there is no reason to
-	  not further formalize it!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761914
-
-2016-02-13 16:10:27 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix compilation
-	  Was supposed to be squashed with 336c7bb6
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761910
-
-2016-02-13 16:10:11 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix indentation
-
-2016-01-21 13:33:15 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/libs/gstharness.c:
-	  harness: Fix MT issues when forwarding event/query to sink harness
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761910
-
-2016-02-13 10:04:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add new -bad libraries audio, player and wayland to paths
-	  And remove egl which no longer exists.
-
-2016-02-12 11:57:55 -0800  Martin Kelly <martin@surround.io>
-
-	* libs/gst/base/gstpushsrc.h:
-	  pushsrc: fix minor typos in header
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761970
-
-2016-01-21 13:28:23 +0100  Stian Selnes <stian@pexip.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: Add event stress test functions with callback
-	  Similar to the stress test functions for buffers that has a callback to
-	  create the buffer to be pushed, it's useful to have functions that use a
-	  callback to create the event to be pushed.
-	  API: gst_harness_stress_push_event_with_cb_start()
-	  API: gst_harness_stress_push_event_with_cb_start_full()
-	  API: gst_harness_stress_send_upstream_event_with_cb_start()
-	  API: gst_harness_stress_push_upstream_event_with_cb_start_full()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761932
-
-2016-01-14 21:54:42 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/libs/gsttestclock.c:
-	  testclock: add crank method
-	  And use it inside GstHarness
-	  API: gst_test_clock_crank()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761906
-
-2015-12-09 13:43:38 +1100  Havard Graff <havard.graff@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: enable empty harness creation and refactor around this
-	  Also make the testclock a member of the harness, allowing some
-	  more interactions with the clock prior to adding elements.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761905
-
-2016-02-12 15:12:43 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: fix unused parameter compiler warning
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761919
-
-2015-08-04 17:09:35 +0200  Mikhail Fludkov <misha@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix the race in blocking push mode
-	  Depending on when gst_harness_pull was called - before the buffer reached
-	  gst_harness_chain or after we can get different behaviors of the test
-	  with enabled blocking push mode. The fix makes the behavior always the
-	  same. In pull function we get the buffer first, thus making sure
-	  gst_harness_chain waits for the signal, and emitting the signal after.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761931
-
-2016-02-04 15:16:41 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Add tcase_skip_broken_loop_test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761917
-
-2016-01-21 13:25:40 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Fix docs for stress test functions
-	  notify is not called per buffer, but when the thread is freed.
-	  Comment about serialized events and OOB does not make sense for upstream
-	  events.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761909
-
-2015-12-08 14:18:21 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Unset sink_forward_pad before tearing down sink_harness
-	  Set the sink_forward_pad to NULL before tearing down sink_harness to
-	  avoid that the harness tries to forward events/queries to it while it's
-	  tearing down.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761904
-
-2015-09-29 12:12:24 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix up docs to reference functions properly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761901
-
-2016-02-10 14:01:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: pass acquire params to alloc_buffer
-	  When allocating a new buffer in the pool, both the do_alloc_buffer() and the
-	  vmethod, alloc_buffer(), receive the parameter GstBufferPoolAcquireParams.
-	  Nonetheless, when default_acquire_buffer() calls the do_alloc_buffer() it does
-	  not pass the received GstBufferPoolAcquireParams, so when the user pass those
-	  parameters they are ignored by alloc_buffer() vmethod.
-	  This one-liner patch pass the received acquire params to do_alloc_buffer().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761824
-
-2016-02-10 09:09:29 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstsystemclock.c:
-	* tests/check/gst/gstsystemclock.c:
-	  systemclock: Fix wait/unschedule race
-	  Fixes a race where an entry is set to BUSY in
-	  gst_system_clock_id_wait_jitter() and is UNSCHEDULED before
-	  gst_system_clock_id_wait_jitter_unlocked() starts processing it. The
-	  wakeup added by gst_system_clock_id_unschedule() must be cleaned up.
-	  Two stress tests are added. One test that triggers the specific issue
-	  described above. The second stresses the code path where a wait is
-	  rescheduled because the poll returned early.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761586
-
-2016-02-05 15:34:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: handle unschedule of late entries
-	  If the clockentry is too late and is unscheduled before it gets
-	  a change to detect its lateness the wakeup count and the poll are
-	  used but never properly cleaned up. This leaves it in a dirty state
-	  that is going to mess with the next clock entry waiting requests.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761586
-
-2016-02-05 19:08:18 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/Makefile.am:
-	  tests: extend the AM_TESTS_ENVIRONMENT from check.mak
-	  To get the CK_DEFAULT_TIMEOUT defined for all tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761472
-
-2016-02-05 18:01:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From 86e4663 to b64f03f
-
-2016-02-04 10:07:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix stray discont flag set on outgoing buffers in push mode
-	  We have no guarantees about what flags are set on buffers we take
-	  out of the GstAdapter. If we push out multiple buffers from the
-	  first input buffer (which will have discont set), only the first
-	  buffer we push out should be flagged as discont, not all of the
-	  buffers produced from that first initial input buffer.
-	  Fixes issue where the first few mp3 frames/seconds of data in push
-	  mode were skipped or garbled in some cases, and the discont flags
-	  would also trip up decoders which were getting drained/flushed for
-	  every buffer. This was a regression introduced in 1.6 apparently.
-
-2016-02-02 16:35:34 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controller: Do not unset uninitiallized GValue
-	  In case the property was not interpollable we might never initialize
-	  the GValue, we should thus never unset it.
-
-2016-02-02 16:34:51 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/pwg/advanced-allocation.xml:
-	  docs: pwg: fix missing end of line semicolon in custom meta example
-
-2016-02-02 10:56:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: add guard to make sure gstreamer is initialized
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761448
-
-2016-02-01 18:41:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add new rtsp server plugin location to plugins path
-
-2016-01-25 16:30:04 +0900  HoonHee Lee <hoonhee.lee@lge.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Try to generate caps on the srcpad before forwarding GAP event
-	  To configure downstream elements and complete initial pre-rolling,
-	  ensure we have default output caps before forwarding GAP event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753899
-
-2016-01-28 20:18:55 -0700  Alex Henrie <alexhenrie24@gmail.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: Improve English grammar
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761273
-
-2016-01-27 12:45:20 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* docs/manual/advanced-clocks.xml:
-	  docs: fix an other typo in clock chapter
-	  Shockingly I missed this bigger typo in the previos fix
-
-2016-01-27 12:24:57 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* docs/manual/advanced-clocks.xml:
-	  docs: fix typo in clock chapter
-
-2016-01-25 12:09:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests:gstinfo: Fix string memory leak
-	  info_fourcc test leaks string.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=761071
-
-2016-01-23 16:00:48 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: make work without registry
-
-2016-01-22 12:50:08 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/design/part-tracing.txt:
-	* gst/gsttracerutils.c:
-	* tests/benchmarks/tracing.sh:
-	  tracer: rename GST_TRACER_PLUGINS env var to GST_TRACERS
-
-2016-01-21 08:12:01 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	* tests/check/gst/gsttracerrecord.c:
-	  tracerrecord: don't leak the spec structures
-	  Change the gst_tracer_record_new() api to take the parameters the make the
-	  spec structure directly. This allows us to own the top-level structure and
-	  also collect the args so that we can take ownership of the sub-structures.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760821
-
-2016-01-21 15:45:30 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdevice.c:
-	  device: fix comparison in _has_classesv()
-	  We're comparing a pointer type with '\0' here, which
-	  probably isn't right, and the loop condition made sure
-	  that classes[0] is != NULL already, so it's pointless.
-	  Was probaby meant to check if the string pointed to is
-	  not empty, so make it do that instead.
-
-2016-01-20 20:32:24 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gsttracerrecord.c:
-	  test/tracerrecord: unref objects and free string
-
-2016-01-18 22:45:58 +0000  Florin Apostol <florin.apostol@oregan.net>
-
-	* tests/check/gst/gstsystemclock.c:
-	  systemclock: tests: added stress test for async order
-	  Keep inserting alarms at the beginning of the list. Due to
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760757
-	  alarm thread will get confused and not serve them in order.
-
-2016-01-18 16:25:20 +0000  Florin Apostol <florin.apostol@oregan.net>
-
-	* gst/gstsystemclock.c:
-	  systemclock: fixed race condition in handling alarms
-	  When choosing the first entry from the list, gst_system_clock_async_thread
-	  must set the entry state to busy before releasing the clock lock. Otherwise
-	  a new entry could be added to the beginning of the list and
-	  gst_system_clock_async_thread will be unaware and keep waiting on the entry
-	  it has already chosen.
-	  Also improved messages about expected state and bumped them to ERROR level
-	  to detect unexpected state changes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760757
-
-2016-01-20 11:07:17 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: remove duplicate check
-
-2016-01-20 09:57:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: two small fixes for when an existing pad is requested
-	  Unlock when returning NULL from gst_single_queue_new(), and don't
-	  crash with debug logging enabled if NULL is returned.
-	  Spotted by Steven Hoving.
-
-2016-01-20 10:02:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstvalue.c:
-	  gstvalue: remove a half finishesh sentence in the docs
-	  No idea what was the idea here. SO lets just drop it.
-
-2016-01-19 14:39:06 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gsttracerrecord.c:
-	  tracerrecord: Fix self->spec structure invalid free
-	  self->spec is got using g_value_get_boxed(), which is a transfer none function.
-	  So the same should not be freed, which is resulting in wrong behavior.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760821
-
-2016-01-20 09:25:44 +0100  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gsttracerrecord.c:
-	  tracerrecord: Initialise flags to avoid wrong comparision
-	  GstTracerValueFlags is not being initialized and the same could result in wrong
-	  comparision and behavior. Hence initializing it to GST_TRACER_VALUE_FLAGS_NONE.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760821
-
-2016-01-20 09:18:01 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstinfo.c:
-	  tests/gst/info: Fix messages glist memory leak
-
-2016-01-19 15:03:55 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/gst/gsttracerrecord.c:
-	  tests: tracerrecord: Fix messages glist memory leak
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760821
-
-2016-01-18 21:12:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  tracer: add an internal ptr format for tracer serialisation
-	  We need to apply the string wrapping that value serialisation does also in the
-	  tracer logging, otherwise we can't parse nested structures.
-
-2016-01-18 21:09:49 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	* tools/gst-stats.c:
-	  tracer/gststats: fix mismatch between '.class' and tracer args
-	  Clean up from the recent changes. The logging descriptiors did not match what we logged.
-
-2015-11-12 01:14:34 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Add use-tags-bitrate property
-	  The use-tags-bitrate property makes queue2 look at
-	  tag events in the stream and extract a bitrate for the
-	  stream to use when calculating a duration for buffers
-	  that don't have one explicitly set.
-	  This lets queue2 sensibly buffer to a time threshold
-	  for any bytestream for which the general bitrate is known.
-
-2016-01-19 12:04:16 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* gst/gsttracerrecord.c:
-	  tracerrecord: avoid overwriting value
-	  res value is overwritten, remove the assignment.
-	  priv__gst_structure_append_template_to_gstring () always returns TRUE
-	  anyway.
-	  CID 1349645
-
-2016-01-19 11:11:25 +0100  Edward Hervey <edward@centricular.com>
-
-	* tests/benchmarks/Makefile.am:
-	  benchmarks: Disable tracerserialize benchmark on GST_DISABLE_GST_DEBUG
-	  no gst-debugging => no tracer logging (and no pony either)
-
-2016-01-19 11:10:30 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	  tracerrecord: Disable logging if GST_DISABLE_GST_DEBUG
-	  Make the gst_tracer_record_log() a no-op if the gst-debug subsystem
-	  is disabled.
-
-2016-01-18 19:17:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: fail flag deserialization on invalid flag names
-
-2016-01-18 19:10:48 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gststructure.c:
-	  tests: structure: fix wrong flag name in deserialization test
-	  There is no GST_SEEK_FLAGS_NONE only GST_SEEK_FLAG_NONE (but
-	  the deserializer silently skips bad flag names currently).
-
-2016-01-17 23:49:27 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	* tools/gst-stats.c:
-	  tracers: fix thread-id casts to 64-bit ints on 32-bit systems
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760762
-
-2016-01-18 10:13:02 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gst.c:
-	  gst: ref/unref new enum types in gst_init/deinit
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760767
-
-2016-01-17 00:08:33 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update exports for new flags get_type()
-
-2016-01-16 22:43:23 +0100  Philip Van Hoof <philip@codeminded.be>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	  tracer.h: don't include private noinst header gsttracerutils.h in a public header
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760732
-
-2016-01-16 21:24:19 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/tracing.sh:
-	  benchmark: improve script
-	  Use a temp file for the log and fix one env-var.
-
-2016-01-16 21:23:10 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	  tracer/stats: use the right log template
-	  When porting we used the wrong record (copy and paste).
-
-2016-01-16 21:04:46 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttracerrecord.h:
-	  tracer: update the docs
-	  Add the new enum and flags. Remove the GstTracerRecordPrivate.
-
-2016-01-16 21:02:39 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  gst-stats: update to latest tarcer api
-	  The thread-ids are serialized as uint64. The 'elem-ix' got changed to
-	  'element-ix'. Make the code a bit more robust.
-
-2016-01-16 18:55:07 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* plugins/tracers/gststats.c:
-	  tracer: use the new flags to create the optional field in the format string
-	  This spares us explicitly listing the field in the spec. and thus hide this
-	  implementation detail.
-
-2016-01-16 18:52:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-tracing.txt:
-	* gst/gsttracerrecord.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracer: add a GstTracerValueFlags and replace strings
-	  This allows us to document the flags and makes the logs a bit smaller.
-
-2016-01-16 16:01:38 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: add function guard to gst_message_set_buffering_stats()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760704
-
-2016-01-16 14:51:37 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* gst/gsttracerutils.c:
-	* plugins/tracers/Makefile.am:
-	* tests/check/Makefile.am:
-	  gst.h: Don't spew warnings if GST_USE_UNSTABLE_API is not defined
-	  Only hide GstTracer and GstTracerRecord API behind GST_USE_UNSTABLE_API,
-	  but don't spew any warnings, otherwise everyone has to define this
-	  to avoid compiler warnings.
-	  This reverts parts of commit 89ee5d948dff560204e6edd210c44ed2b8654b8e.
-
-2016-01-16 13:30:34 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/tracerserialize.c:
-	* tests/benchmarks/tracing.sh:
-	  benchmarks: update the tracer benchmark and add a shell benchmark
-
-2016-01-16 13:28:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-tracing.txt:
-	  docs/design: update tracerspec examples
-
-2016-01-16 13:27:59 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tagreading.txt:
-	  docs/design: spell checking
-
-2016-01-16 13:24:16 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gsttracer.c:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* gst/gsttracerutils.c:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	* tests/check/Makefile.am:
-	* win32/common/libgstreamer.def:
-	  tracer: add a GFlag for the tracer scope
-	  Port all tracers. Add the GST_USE_UNSTABLE_API flag to the internal CFLAGS so
-	  that we don't have to specify this for gir, docs, mkenum, ...
-
-2016-01-16 10:48:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: Make access to the active pad and last buffer thread-safe
-	  Both can be modified from different threads at the same time.
-
-2016-01-16 10:47:36 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: Notify when the active-pad property is changing
-
-2016-01-12 14:59:04 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gststructure.c:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerrecord.c:
-	* gst/gsttracerrecord.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gsttracerrecord.c:
-	* win32/common/libgstreamer.def:
-	  tracerrecord: add a log record class
-	  We use this class to register tracer log entry metadata and build a log
-	  template. With the log template we can serialize log data very efficiently.
-	  This also simplifies the logging code, since that is now a simple varargs
-	  function that is not exposing the implementation details.
-	  Add docs for the new class and basic tests.
-	  Remove the previous log handler.
-	  Fixes #760267
-
-2016-01-15 09:48:32 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Check return value of g_socket_close()
-	  CID 1348452
-
-2016-01-15 09:02:42 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Free data after removing it from the list
-	  Does not matter here but makes Coverity more happy. It can't
-	  know that g_list_remove() only looks at the pointer value but
-	  does not dereference it.
-	  CID 1348454
-
-2016-01-15 00:30:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	  GstDeviceMonitor: Clarify the behaviour of gst_device_monitor_add_filter
-
-2016-01-15 00:25:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	  GstDeviceMonitor: Don't remove unmatched class filters
-	  If no providers for a particular class could be found, then removing unmatched
-	  filters would cause all devices to be returned instead which is not at all what
-	  the user intended. We still return 0 for unmatched filters.
-
-2016-01-13 21:32:20 +0000  Florin Apostol <florin.apostol@oregan.net>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Fix GError memory leak in handling NTP response
-	  Error was not released if gst_ntp_packet_receive failed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760598
-
-2016-01-13 13:10:10 +1100  Matthew Waters <matthew@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update exports for API additions
-
-2016-01-11 16:31:39 +1100  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: expose debugging printf functions
-	  Other gst libraries and/or elements may want to add some debug logging to an
-	  external debug system or implement delayed debugging for performance reasons.
-	  Exposes the internal __gst_vasprintf as gst_info_vasprintf which has a fallback
-	  to g_vasprintf if the debug system is disabled.
-	  API: gst_info_vasprintf
-	  API: gst_info_strdup_vprintf
-	  API: gst_info_strdup_printf
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760421
-
-2016-01-11 21:17:25 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Only set duration/position query values in case of query success
-	  Currently, the query values are being set even if the query itself was
-	  determined to have failed. Fix this to ensure the values are only set in
-	  case of a query success.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=760479
-
-2016-01-10 14:30:05 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gststats.c:
-	  tracers: code clean ups
-	  Drop some trailing whilespace. Make field order consistent.
-
-2016-01-08 23:35:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/tracerserialize.c:
-	  benchmark: fix copy'n'past of the file-description comment
-
-2016-01-08 23:06:55 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/.gitignore:
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/tracerserialize.c:
-	  benchmark: add a benchmark for bgo/760267
-	  Big suprise - GstStructure is faster than GVariant.
-
-2015-03-10 13:07:18 +0900  HoonHee Lee <hoonhee.lee@lge.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: improve debug message
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745939
-
-2016-01-08 19:25:24 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	* tests/check/gst/gstinfo.c:
-	  info: add buffer list support to GST_PTR_FORMAT
-
-2015-11-25 17:36:25 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* gst/gstcontrolsource.h:
-	  controlsource: fix GetValue and GetValueArray documentation
-	  GstControlSourceGetValue() value paramater is a gdouble, not a GValue
-	  and GstControlSourceGetValueArray doesn't return a GstValueArray but
-	  an array of double.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758668
-
-2016-01-07 23:03:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gststats.c:
-	  tracer: harmonize the query hooks
-	  In post hooks always pass the return value as the last param. Pass the query
-	  also to post hooks since it is still alive.
-
-2016-01-07 22:47:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	  tracers/stats: add missing parameters to callback functions
-
-2016-01-07 22:43:58 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerutils.c:
-	  tracerutils: update #endif comment
-	  We changed the define, but left the comment inconsistent.
-
-2016-01-07 19:13:03 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttracerutils.h:
-	  tracerutils: document the tracer hook functions
-	  Document all tracer hook function pointer together with the detail string that
-	  one needs to use with gst_tracing_register_hook().
-
-2016-01-07 18:46:21 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsttracerutils.c:
-	  tracer: Use GST_DISABLE_GST_TRACER_HOOKS instead of GST_DISABLE_GST_DEBUG everywhere
-	  Previously we used the latter one still for the tracer utility code, causing
-	  undefined references in the resulting binary if the debugging system was
-	  disabled but the tracer system not.
-
-2016-01-07 18:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstdebugutils.c:
-	* gst/gstinfo.c:
-	* gst/gsttracerutils.h:
-	  gst: Rename _priv_gst_info_start_time to _priv_gst_start_time and initialize it centrally
-	  It's used by the debugging and tracer subsystem and in various files, make it
-	  a central thing that is initialized independ of the existence of those
-	  subsystems.
-
-2016-01-06 21:42:30 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* win32/common/libgstreamer.def:
-	  win32: update win32 exports
-	  Remove the _hook_id() methods we made internal in the prev commit.
-
-2016-01-06 21:17:16 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: log a warning if we can't serialize a field
-	  The function always returns TRUE right now, so atleast log something.
-
-2015-10-06 12:49:00 +0000  Aleksander Wabik <awabik@opera.com>
-
-	* tests/check/elements/queue2.c:
-	  tests: queue2: add test for fill level arithmetic overflow
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755971
-
-2016-01-06 19:51:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: avoid calculating fill levels multiple times
-	  Macro expansion means we might calculate the fill level once
-	  for the check and then possibly again for the return value.
-
-2016-01-06 19:50:21 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix fill level arithmetic overflow with large values
-	  Based on patch by: Aleksander Wabik <awabik@opera.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755971
-
-2016-01-06 20:41:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* plugins/tracers/gstrusage.c:
-	  tracer: make gst_tracing_register_hook_id static
-	  We don't need to expose this as public API. Change the only plugin that was
-	  using it.
-
-2016-01-06 18:56:38 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/design/Makefile.am:
-	  docs: design: update list of disted files after file rename
-
-2016-01-06 19:42:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Hide NTP packet API and add GST_PTP_STATISTICS_* defines to the docs
-
-2016-01-06 18:17:27 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/net/gstptpclock.h:
-	  docs: remove parent docs for GstPtpClock
-	  Instance docs don't need to docuemnt the parent (first member).
-
-2016-01-06 18:14:06 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: cleanup -unused.txt report for libs
-	  The IGNORE_H_FILES can only contain files or dirs.
-
-2016-01-06 17:58:11 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add more core api to the right sections
-	  Add new and documented api reported in -unused.txt to -section.txt.
-
-2016-01-06 17:54:44 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	  docs: exclude more header from doc-scan
-	  Exclude gst/printf/*.h and a few generated .h files from the api-scan. This
-	  makes -unused.txt report file from gtkdoc useful again.
-
-2016-01-06 16:21:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	  clock: adjust/unadjust_with_calibration() have a clock parameter but it's useless
-	  Document this, for 2.0 we should just remove that parameter.
-
-2016-01-06 16:19:22 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  clock: Add gst_clock_unadjust_with_calibration()
-	  We already have gst_clock_adjust_with_calibration() and
-	  gst_clock_unadjust_unlocked(), having the other variant is useful.
-
-2016-01-06 13:33:39 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new pad-event function to the docs
-
-2016-01-06 13:26:27 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	  docs: hide internal tracer api from docs
-	  Also address warnigns regarding the unstable tracer api.
-
-2016-01-06 12:47:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* gst/gsttracer.c:
-	  docs: add the tracer to the docs
-	  Add GstTracer and GstTracerFactory to the core docs.
-
-2016-01-06 11:52:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-tracing.txt:
-	  docs: rename the tracer doc to part since it is now merged
-
-2016-01-06 11:35:46 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/Makefile.am:
-	  tracerutils: move header to noinst section
-	  This is internal code, that is only to be used in core.
-
-2016-01-06 11:31:16 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* gst/gsttracerutils.h:
-	  configure: add a new option to disable the tracer hooks
-	  This was previously done via {enable,disable}-gst-debug. Since both subsystems
-	  are independent having separate options is better.
-
-2016-01-05 16:44:53 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	* libs/gst/net/gstnetclientclock.c:
-	  clock: Fix typo
-	  clocked -> clock
-
-2016-01-05 14:59:34 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Disconnect the "synced" signal handler from the internal clock
-	  Not from the external one.
-
-2016-01-05 13:57:12 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	  controller: rename new cubic interpolation mode
-	  Don't abbreviate to 'mono' and use 'monotonic' instead.
-
-2016-01-05 14:23:26 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	  clock: Don't allow setting an unsynced clock as master
-
-2016-01-05 14:21:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock.c:
-	  clock: Don't try to slave unsynced clocks
-	  They will return useless values from get_time().
-
-2016-01-05 13:41:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  ntp: The clock inherits from GstNetClientClock, not just GstSystemClock
-
-2016-01-04 17:18:07 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Destroy a cached clock 60 seconds after its last use
-	  There's not much lost by having the clock idle around a bit longer but it will
-	  potentially allow anybody wanting to use the same clock server again to sync
-	  much faster.
-
-2016-01-04 16:31:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Only ever run one clock against a specific server
-	  If multiple net/NTP clocks are created for the same server, reuse the same
-	  internal clock for all of them. This makes sure that we don't flood the server
-	  with too many requests and also possibly allows faster synchronization if
-	  there already was an earlier synchronized clock when creating a new one.
-
-2016-01-04 10:39:27 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: Use GInitable instead of having a new() function that can return NULL
-	  Bindings don't like that much and as we're using GIO here anyway we can as
-	  well use GInitable for possibly failing initialization.
-
-2016-01-03 14:06:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: Mark address, port and clock properties CONSTRUCT_ONLY
-	  They can't sensibly be changed after construction.
-
-2016-01-03 22:55:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  parse_launch: make nicer log messages
-	  Add two macros to build nicer element/pad name strings. The macros avoid
-	  printing "(NULL)" and print the element type in addition to the name.
-
-2016-01-02 19:42:17 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstparse.h:
-	* gst/parse/grammar.y:
-	  parse-launch: warn when still waiting to plug sub-pipelines after no-more-pads
-	  The parse-launch API automagically handles dynamic pads and performs delayed
-	  linking as needed, without any feedback about whether the linking succeeded or
-	  not however. If a delayed dynamic link can't be completed for whatever reason,
-	  parse-launch will simply wait in case a suitable pad appears later. This may
-	  never happen though, in which case the pipeline may just hang forever.
-	  Try to improve this by connecting to the "no-more-pads" signal of any element
-	  with dynamic pads and posting a warning message for the related outstanding
-	  dynamic links when "no-more-pads" is emitted.
-	  Fixes #760003
-
-2015-12-31 19:27:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gsttracer.c:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerfactory.h:
-	  docs: fix some warnings and add some since markers
-
-2016-01-03 11:39:24 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  tracing: add some pointers about memory tracing
-
-2016-01-03 11:37:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  grammar.y: remove trailing whitespace
-
-2015-12-31 00:04:09 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstvalue.c:
-	  tests: value: test buffer serialisation/deserialisation more thoroughly
-	  Tests data/strings as well, not just that we received
-	  something non-NULL back.
-
-2015-12-31 10:57:37 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	  gst: fix typo in comment
-
-2015-12-30 16:57:29 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Implement resolval of hostnames
-	  Just allowing IPs here is not ideal and implementing DNS resolval is easy.
-
-2015-12-29 16:28:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Add read-only properties to get the master and grandmaster clock ids
-
-2015-12-29 14:32:47 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: Add (transfer full) annotation to simplify() and subtract() return value
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759948
-
-2015-12-29 11:06:39 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* gst/gstcaps.c:
-	  caps: add 'transfer full' annotation to caps returned by interserction functions
-	  To make clear caller is responsible to unref them.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759948
-
-2015-12-28 19:41:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs.types:
-	  net: Add NTP and PTP clock types to the docs
-	  This gives us the property documentation for example.
-
-2015-12-27 19:42:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	  check: don't memcmp twice
-	  Simply call fail() in the condition after the first memcmp.
-
-2015-12-24 15:27:12 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.7.1 ===
-
-2015-12-24 13:58:52 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.7.1
-
-2015-12-24 12:50:33 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-12-24 12:21:21 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/cs.po:
-	* po/de.po:
-	* po/fr.po:
-	* po/hu.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/sv.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	  po: Update translations
-
-2015-12-21 00:43:49 +0100  Koop Mast <kwm@rainbow-runner.nl>
-
-	* configure.ac:
-	  configure: Make -Bsymbolic check work with clang.
-	  Update the -Bsymbolic check with the version glib has. This version
-	  works with clang.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759713
-
-2015-12-16 09:35:18 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: update to git
-
-2015-12-14 11:09:46 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  plugins-bad: Fix example pipelines
-	  rename gst-launch --> gst-launch-1.0
-	  replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
-	  fix caps in examples
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759432
-
-2015-11-10 12:38:59 -0500  Xavier Claessens <xavier.claessens@collabora.com>
-
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.h:
-	* gst/gstclock.h:
-	* gst/gstcontext.h:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.h:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.h:
-	* gst/gstdeviceproviderfactory.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstquery.h:
-	* gst/gstregistry.h:
-	* gst/gstsample.h:
-	* gst/gstsegment.h:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.h:
-	* gst/gsttaglist.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.h:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.h:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.h:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstflowcombiner.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/check/gsttestclock.h:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	* libs/gst/net/gstptpclock.h:
-	  core: Add g_autoptr() support to all types
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754464
-
-2015-12-14 13:06:57 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Check if parsing the name template with sscanf() was successful
-	  If not, go back to the automatic pad numbering.
-	  CID 1195129
-
-2015-12-14 11:20:43 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	  queue/multiqueue: Don't special-case CAPS events in the event handlers
-	  For CAPS events we will never ever have a FALSE return value here, so just
-	  remove the dead code instead of causing future confusion.
-
-2015-12-14 11:16:50 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  Revert "queue: Illegal memory access of sink event"
-	  This reverts commit 78614c505a2a761cb4dcb7f4e5f3e9f97c9a8e88.
-	  The code it was fixing does not have any effect anyway and will be removed in
-	  the next commit.
-
-2015-12-14 10:32:14 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Illegal memory access of sink event
-	  Once event is pushed to pad, then queue should not access the event.
-	  This is leading to invalid read valgrind errors
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759430
-
-2015-12-14 10:10:04 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Unref event if GstElement::send_event() is not implemented
-	  Otherwise we'll take ownership of the event only if it's implemented, and
-	  leak the event in all other situations.
-
-2015-12-14 10:04:19 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Fix dynamic pipeline example
-	  Use GST_PAD_PROBE_PASS to pass through all events other than EOS instead of
-	  blocking on the first non-EOS event forever. Also fix a typo in a comment in
-	  that function.
-	  Thanks to David Jaggard for reporting this on the mailing list.
-
-2015-12-13 00:37:39 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* docs/pwg/building-boiler.xml:
-	  docs:  typo in the location of make_element tool
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759352
-
-2015-12-12 01:13:59 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: drop unneeded macros for G_OS_WIN32
-
-2015-12-12 01:09:20 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: drop unneeded macros for G_OS_WIN32
-
-2015-12-12 01:06:43 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: enable large file support in Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-11 22:14:32 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: enable large file support in Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-11 20:52:57 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix some typos
-
-2015-12-11 20:42:05 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: enable large file support on Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-11 19:11:01 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: fix some typos
-
-2015-12-11 18:59:32 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: enable large file support on Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-11 14:36:29 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstsparsefile.c:
-	  sparsefile: drop bogus reference to file descriptor
-	  +fix typo on return value comment
-
-2015-12-11 14:07:27 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstsparsefile.c:
-	  sparsefile: enable large file support on Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-10 14:32:27 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* gst/gstelement.c:
-	  element: unref message in _post_message when there is no implementation
-	  'gst_element_post_message' takes the ownership of the message, so it
-	  shall unref it when there is no post_message implementation. Otherwise
-	  message is leaked.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759300
-
-2015-12-10 11:35:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Don't hold state lock all the time while sending an event
-	  This lock seems to exist only to prevent elements from changing states while
-	  events are being processed. However events are going to be processed
-	  nonetheless in those elements if sent directly via pads, so protection must
-	  already be implemented inside the elements for event handling if it is needed.
-	  As such having the lock here is not very useful and is actually causing
-	  various deadlocks in different situations as described in
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744040
-
-2015-12-07 20:27:45 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: enable large file support in Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-03 15:04:32 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: enable large file support on Android
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758980
-
-2015-12-03 15:01:27 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: indentation fixes
-
-2015-12-09 17:40:02 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't use random segment.position from upstream
-	  segment.position is meant for internal usage only, but the various
-	  GST_EVENT_SEGMENT creationg/parsing functions won't clear that field.
-	  Use the appropriate segment boundary as an initial value instead
-
-2015-12-07 17:25:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Post a LATENCY message with async-handling=TRUE if the PLAYING state is reached
-	  Otherwise each bin might have a different latency in the end, causing
-	  synchronization problems.
-	  The bin will still first handle latency internally as before, but gives the
-	  overall pipeline the opportunity to update the latency of the whole pipeline
-	  afterwards.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759125
-
-2015-12-07 18:20:35 +0200  Athanasios Oikonomou <athoik@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: post tag list when avg bitrate changes at least 2%
-	  Watching videos with variant bitrate is common to have delta
-	  more than 10 kbps, resulting in tag list spam.
-	  Instead of relying on fixed 10 kpbs delta, it is better to
-	  calculale the difference in percentage and update tag list
-	  only when bitrate changes more than 2%.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759055
-
-2015-12-07 09:08:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From b319909 to 86e4663
-
-2015-12-07 12:59:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Check for an activated pad before adding, not a non-flushing one
-	  The pad could be activated but flushing because of a FLUSH_START event. That's
-	  not what we're looking for here, we want to check for activated pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758928
-
-2015-11-19 15:33:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/elements/funnel.c:
-	  tests: funnel: remove state change from stress tests
-	  Changing states up and down while buffers are being pushed is not
-	  a valid use case. If a pad is deactivated and reactivated during
-	  a buffer push it is racy with the check of pushed sticky events
-	  and the actual chainfunction call. As it might call the chain
-	  without noticing the peer pad lost its previous sticky events.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758340
-
-2015-12-04 10:22:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: Fix process return value on error
-	  In case of a run-time error message, the process return value was left
-	  unset. This would lead to error not being caught at shell level.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759019
-
-2015-12-04 10:45:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  Revert "tools: gst-launch: return non-0 exit code on async error"
-	  This reverts commit 2ee4cba2485d7f1646d48e4559426aed4ba99c85.
-
-2015-12-04 15:09:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: return non-0 exit code on async error
-	  When an error happens in playing state, still return a
-	  non-0 exit code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=759019
-
-2015-12-04 14:39:29 +0000  Ross Burton <ross.burton@intel.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: really fix install race
-	  My previous fix for #758029 wasn't quite right and simply made the race rarer.
-	  Some of the files are installed by install-exec and others by install-exec, so
-	  the hooks need to be split too.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758029
-
-2015-12-04 11:56:45 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstquery.c:
-	  query: fix docs
-	  The allocation query has parameters with the meta API, not flags.
-
-2015-12-02 15:02:25 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  Drop usage of deprecated g-ir-scanner --strip-prefix flag
-
-2015-12-02 16:28:23 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix set/get property
-	  Blame it on the rebasing :)
-
-2015-11-12 17:15:37 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* win32/common/libgstreamer.def:
-	  pad: Implement GstPadEventFullFunction
-	  API: GstPadEventFullFunction
-	  Returns a GstFlowReturn, allows asynchronous elements to properly
-	  propagate flow returns
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757821
-
-2015-11-30 17:09:43 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Use signed clock values for running time calculation
-	  This improves the accuracy of queue levels and when to push buffers
-	  for buffers falling outside of the segment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757193
-
-2015-11-27 09:45:29 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Add an extra cache time for unlinked streams
-	  When synchronizing the output by time, there are some use-cases (like
-	  allowing gapless playback downstream) where we want the unlinked streams
-	  to stay slightly behind the linked streams.
-	  The "unlinked-cache-time" property allows the user to specify by how
-	  much time the unlinked streams should wait before pushing again.
-
-2015-10-26 08:06:01 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Optimize multiqueue sizes based on interleave
-	  Multiqueue should only be used to cope with:
-	  * decoupling upstream and dowstream threading (i.e. having separate threads
-	  for elementary streams).
-	  * Ensuring individual queues have enough space to cope with upstream interleave
-	  (distance in stream time between co-located samples). This is to guarantee
-	  that we have enough room in each individual queues to provide new data in
-	  each, without being blocked.
-	  * Limit the queue sizes to that interleave distance (and an extra minimal
-	  buffering size). This is to ensure we don't consume too much memory.
-	  Based on that, multiqueue now continuously calculates the input interleave
-	  (per incoming streaming thread). Based on that, it calculates a target
-	  interleave (currently 1.5 x real_interleave + 250ms padding).
-	  If the target interleave is greater than the current max_size.time, it will
-	  update it accordingly (to allow enough margin to not block).
-	  If the target interleave goes down by more than 50%, we re-adjust it once
-	  we know we have gone past a safe distance (2 x current max_size.time).
-	  This mode can only be used for incoming streams that are guaranteed to be
-	  properly timestamped.
-	  Furthermore, we ignore sparse streams when calculating interleave and maximum
-	  size of queues.
-	  For the simplest of use-cases (single stream), multiqueue acts as a single
-	  queue with a time limit of 250ms.
-	  If there are multiple inputs, but each come from a different streaming thread,
-	  the maximum time limit will also end up being 250ms.
-	  On regular files (more than one input stream from the same upstream streaming
-	  thread), it can reduce the total memory used as much as 10x, ending up with
-	  max_size.time around 500ms.
-	  Due to the adaptive nature, it can also cope with changing interleave (which
-	  can happen commonly on some files at startup/pre-roll time)
-
-2013-01-08 21:16:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: use new stream-start event sparse flag to avoid overreading subtitles
-	  This will mean a much lower delay before a subtitles track changes take
-	  effect. Also avoids excessive memory usage in many cases.
-	  This will also consider sparse streams as (individually) never full, so
-	  as to avoid blocking all playback due to one sparse stream.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=600648
-
-2015-10-30 10:22:20 +0100  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix high_time computation
-	  * Avoid the computation completely if we know we don't need it (not in
-	  sync time mode)
-	  * Make sure we don't override highest time with GST_CLOCK_TIME_NONE on
-	  unlinked pads
-	  * Ensure the high_time gets properly updated if all pads are not linked
-	  * Fix the comparision in the loop whether the target high time is the same
-	  as the current time
-	  * Split wake_up_next_non_linked method to avoid useless calculation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757353
-
-2015-11-06 03:02:42 +1100  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Don't report 0% unless empty
-	  When preparing a buffering message, don't report 0% if there
-	  is any bytes left in the queue at all. We still have something
-	  to push, so don't tell the app to start buffering - maybe
-	  we'll get more data before actually running dry.
-
-2015-11-30 17:11:33 +0100  Edward Hervey <edward@centricular.com>
-
-	* gst/gstclock.h:
-	  gstclock: Fix GST_STIME_ARGS
-	  It wasn't properly handling GST_CLOCK_STIME_NONE and always use the
-	  sign marker (+/-) to make it easier to identify signed values in
-	  logs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758870
-
-2015-11-30 23:08:50 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstcontrolsource.c:
-	  controlsource: Annotate get_value[_array] as (method)
-	  As the names clash with gst_object_get_value[_array]
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756950
-
-2015-11-13 17:32:57 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	  plugin: Add prefix support to dependencies
-	  This adds a new flags, GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX,
-	  which allow using the names as prefix for plugin depencies.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758083
-
-2015-11-13 16:32:31 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstplugin.c:
-	  plugin: Allow device nodes as dependency
-	  This is useful for feature that are produced after probing a specific
-	  node. You want to reload this plugin if the specific node(s) have been
-	  removed, added, or reloaded.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758080
-
-2015-11-13 16:20:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstplugin.c:
-	  plugin: Don't do lossy shift on hash
-	  In plugin is responsible for calculating a hash of the dependencies
-	  in order to determine if the cache should be invalidated or not.
-	  Currently, the hash combining method removes a bit of the original
-	  have before combining with an addition. As we use 32bits for our hash
-	  and shift 1 bit for each file and directory, that resulting hash only
-	  account for the last 32 files. And is more affected by the last file.
-	  Rotating technique (shifting, and adding back the ending bit), can be
-	  use to make the addition non-commutative. In a way that different order
-	  gives different hashes. In this case, I don't preserve this behaviour
-	  because the order in which the files are provided by the OS is
-	  irrelevant.
-	  In most cases, the XOR operation is used to combine hashes. In this
-	  code we use the addition. I decided to preserve the addition because
-	  we make use of non-random hash ((guint) -1) in the algorithm for
-	  matching files that are not really part of the hash (symlinks, special
-	  files). Doing successive XOR on this value, will simply switch from
-	  full ones, to full zero. The XOR used with whitelist has been preserved
-	  as it's based on a fairly randomized hash (g_str_hash).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758078
-
-2015-11-23 21:40:34 +0000  Lukasz Forynski <lukasz.forynski@youview.com>
-
-	* gst/gstinfo.h:
-	  info: fix compiler warning with -Wpedantic and gcc 5
-	  Gstreamer compiled with gcc 5.2 and -Wpedantic produces the
-	  following warning:
-	  'ISO C does not support '__FUNCTION__' predefined identifier [-Wpedantic]
-	  const char *s = __FUNCTION__;'
-	  Since gcc 5 enables C99 by default, use __func__ if it's available
-	  instead of the non-standard __FUNCTION__ (as suggested in [2]).
-	  [1]: https://gcc.gnu.org/gcc-5/changes.html
-	  [2]: https://gcc.gnu.org/gcc-5/porting_to.html
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758541
-
-2015-11-20 19:45:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	  controller: fix annotation to make g-ir-scanner happy
-	  gstinterpolationcontrolsource.h:59: Warning: GstController: missing ":" at column 51:
-	  * @GST_INTERPOLATION_MODE_CUBIC_MONO: (Since 1.8) monotonic cubic interpolation, will not
-	  gstinterpolationcontrolsource.h:59: Warning: GstController: unknown annotation: since
-
-2014-09-29 14:03:13 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: add GST_TAG_PRIVATE_DATA
-	  Can be used to represent private data that may be
-	  contained in tags, such as ID3v2 PRIV frames.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730926
-
-2015-11-19 17:24:53 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	* tests/check/elements/dataurisrc.c:
-	  docs: update gst-launch-0.10 lines
-	  Update references to gst-launch-0.10 to gst-launch-1.0
-
-2015-11-19 00:51:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  Revert "baseparse: do not overwrite header buffer timestamps"
-	  This reverts commit 2c475a035543efc0202ecdc52070295a421ed4b4.
-	  This causes issues with h264parse. It breaks timestamps as
-	  there are headers in the middle of the stream and this patch
-	  makes the timestamps for those differ from the ones that
-	  are adjusted, creating a discontinuity and leading to sync
-	  issues.
-
-2015-11-17 18:47:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  Revert "baseparse: simplify code a bit"
-	  This reverts commit 3984f7159a72c2eebe01905ee53716e3b2abcb30.
-
-2015-11-18 11:46:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't print criticals when receiving custom events in ring buffer mode
-	  Downgrade from g_warning to GST_WARNING log message.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758276
-
-2015-11-18 09:21:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp-helper: Disable multicast loopback
-	  We're not really interested in our own packets and ignore them anyway.
-
-2015-11-17 09:17:58 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Fix string memory leak
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758207
-
-2015-11-16 08:22:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: simplify code a bit
-	  Avoid repeated checks for testing if a buffer is a header
-
-2015-11-13 20:44:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: handle buffer with dts-only when mapping to running time
-	  Otherwise the buffer was left with the original values and later would
-	  be compared with other buffers that were converted to runninn time,
-	  leading to bad interleaving of multiple streams.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757961
-
-2015-11-13 16:31:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: do not overwrite header buffer timestamps
-	  baseparse tries to preserve timestamps from upstream if
-	  it is running on a time segment and write that to
-	  output buffers. It assumes the first DTS is going to be
-	  segment.start and sets that to the first buffers. In case
-	  the buffer is a header buffer, it had no timestamps and
-	  will have only the DTS set due to this mechanism.
-	  This patch prevents this by skipping this behavior for
-	  header buffers.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757961
-
-2015-06-18 13:56:53 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: add drop-buffer-flags property
-	  New property drop-buffer-flags that will discard buffers that have the
-	  given flags set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751182
-
-2015-11-12 19:46:44 +0000  Ross Burton <ross.burton@intel.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: fix install race
-	  The install hook needs to be a install-data-hook not an install-exec-hook as the
-	  helpers are installed into helperdir which is considered data (only path
-	  variables with "exec" in are considered executables).
-	  The explicit dependency on install-helpersPROGRAMS was an attempt at solving
-	  this, but this causes occasional races where install-helpersPROGRAMS can run
-	  twice in parallel (once via install-all, once via the hook's dependency).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758029
-
-2015-11-12 16:14:18 +0100  Heinrich Fink <hfink@toolsonair.com>
-
-	* tests/check/gst/gstsystemclock.c:
-	  systemclock: Add test for gst_clock_get_resolution
-	  In a series of time measurements, the diff between now and previous
-	  timestamps is either 0 or at least as long as get_resolution returned.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758012
-
-2015-11-12 11:26:56 +0100  Heinrich Fink <hfink@toolsonair.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Use mach_time on Apple platforms
-	  On iOS/OSX g_get_current_time was used by default. However, mach_time is
-	  the preferred high-resolution monotonic clock to be used on Apple
-	  platforms.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=758012
-
-2015-11-11 11:11:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/tracers/gstlog.c:
-	  tracers: log: add missing hooks
-	  Log all possible hooks
-
-2015-10-29 08:40:32 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstelement.c:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	  tracer: add element-change-state-pre/post hook
-	  Helps catching when a state change is starting and ending.
-	  It is also possible to track the end of state changes by checking the
-	  async-done or state-change messages.
-	  This is particularly important for elements that do async state changes.
-
-2015-11-11 14:32:44 +0100  Miguel París Díaz <mparisdiaz@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: test for checking the order of the probe calls
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757197
-
-2015-11-10 14:41:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstcontext.c:
-	  context: fix some copy and paste leftover in docs
-
-2015-11-10 14:37:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstcontext.c:
-	  context: add some more documentation
-	  Add a short paragraph on what means for a context to be persistent
-
-2015-11-09 18:02:09 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.h:
-	  utils: use 'static inline' instead of 'inline static' for gtk-doc
-	  gtk-doc doesn't seem to recognise the former variant.
-
-2015-11-09 17:59:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstcontext.h:
-	* gst/gstevent.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	* gst/gstsample.h:
-	* gst/gsttaglist.h:
-	* gst/gsturi.h:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbytewriter.h:
-	  docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc
-	  gtk-doc can handle static inline functions just fine these days,
-	  there's no need for this stuff any more.
-
-2015-02-23 13:16:19 +1000  Duncan Palmer <dpalmer@digisoft.tv>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Add the avg-in-rate property.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733959
-
-2015-11-04 12:02:51 +0100  Philippe Normand <philn@igalia.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* tests/check/elements/queue2.c:
-	  queue2: add overrun signal
-	  Notifies that the queue2 is full, same as queue does
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733959
-
-2015-09-29 21:14:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: tests for accept-caps handling with proxy pads
-	  Adds 3 new tests for testing accept-caps behavior with
-	  proxy-caps pads.
-	  1) A scenario where there is no proxy. The caps should be compared to the
-	  template caps of the pad
-	  2) A scenario where there is a compatible pad. The caps should be compared
-	  to the proxied pad caps (and also with the template)
-	  3) A scenario where there is an incompatible proxy pad. No caps should be
-	  possible at all.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754112
-
-2015-11-05 16:15:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: check template caps for proxy pads in accept-caps
-	  Validate that the proxy pad indeed accepts the caps by also
-	  comparing with the pad template caps, otherwise when the pad
-	  had no internally linked pads it would always return true.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754112
-
-2015-11-06 12:58:42 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstpreset.c:
-	  Fix build with -Werror=maybe-uninitialized
-
-2015-11-06 12:05:18 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstpreset.c:
-	* scripts/gst-uninstalled:
-	  preset: Add a GST_PRESET_PATH env variable for presets to be usable uninstalled
-	  And start setting the various uninstalled presets paths.
-
-2015-11-05 08:56:43 +0100  Anton Bondarenko <antonbo@axis.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: continue element cleanup even if fclose fails
-	  Sometimes filesink cleanup during stop may fail due to fclose error.
-	  In this case object left partial cleanup with no file opened
-	  but still holding old file descriptor.
-	  It's not possible to change location property in a such state,
-	  so next start will cause old file overwrite if 'append' does not set.
-	  According to man page and POSIX standard about fclose behavior(extract):
-	  ------------------------------------------------------------------------
-	  The fclose() function shall cause the stream pointed to by stream
-	  to be flushed and the associated file to be closed.
-	  ...
-	  Whether or not the call succeeds, the stream shall be disassociated
-	  from the file and any buffer set by the setbuf() or setvbuf()
-	  function shall be disassociated from the stream.
-	  ...
-	  The fclose() function shall perform the equivalent of a close()
-	  on the file descriptor that is associated with the stream
-	  pointed to by stream.
-	  After the call to fclose(), any use of stream results
-	  in undefined behavior.
-	  ------------------------------------------------------------------------
-	  So file is in 'closed' state no matter if fclose succeed or not.
-	  And cleanup could be continued.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757596
-
-2015-11-01 00:04:27 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Mark sticky events as sent on not-linked
-	  Instead of re-sending sticky events over and over to a not-linked
-	  pad, mark them as sent the first time. If the not-linked came from
-	  downstream, it already received the events. If the pad is actually
-	  not-linked, the sticky events will be rescheduled when the
-	  pad is linked anyway.
-
-2015-10-29 18:53:29 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Allow deactivation with no peer.
-	  Allow deactivation in pull-mode, since that implies we
-	  had a peer, activated in pull mode, then the peer disa-peer-ed ;)
-
-2015-10-28 17:31:07 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	  element: emit tracer's element-new hook from 'constructed'
-	  It allows to properly emitting it for all newly created elements
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757045
-
-2015-10-28 06:03:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/tracers/gststats.c:
-	  stats: log the element-new hook properly
-	  To be able to get the time the elements were created instead of
-	  just logging them without a time
-
-2015-10-28 18:04:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Unblock blocking pad probes when receiving FLUSH_START in send_event() too
-	  Without this, flushing might not unblock the streaming thread and cause deadlocks.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757257
-
-2015-10-28 13:04:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Document the order in which pad probes are called
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757197
-
-2015-10-27 18:05:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Append hooks instead of prepending to call them in the order they were added
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757197
-
-2015-10-26 12:50:12 +0100  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* win32/common/libgstnet.def:
-	  netaddressmeta: gst_buffer_get_net_address_meta() as function
-	  Implement gst_buffer_get_net_address_meta() as a function instead
-	  of a macro in order to get gobject-introspection to work.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702921
-
-2015-10-26 18:07:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstbuffer.h:
-	  buffer: flesh out docs for gst_buffer_make_writable() a little
-	  There is a similar explanation in gst_caps_make_writable, but the existing
-	  documentation can be misleading since it does not define what 'is already
-	  writable' means.
-	  Also note when this function is meant to be used.
-
-2015-10-26 17:35:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: clarify docs for a few functions that they don't update things in-place
-	  It is not necessarily clear from the existing introspection tags and
-	  documentation alone.
-
-2015-10-27 08:48:07 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue/queue2: Use GST_BUFFER_DTS_OR_PTS
-	  The input of queue/queue2 might have DTS set, in which cas we want
-	  to take that into account (instead of the PTS) to calculate position
-	  and queue levels.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756507
-
-2015-10-13 17:20:26 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Use buffer DTS if present, else PTS
-	  In order to accurately determine the amount (in time) of data
-	  travelling in queues, we should use an increasing value.
-	  If buffers are encoded and potentially reordered, we should be
-	  using their DTS (increasing) and not PTS (reordered)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756507
-
-2015-10-27 08:33:41 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Use GST_BUFFER_DTS_OR_PTS
-	  Simplifies code a bit
-
-2015-10-26 07:59:54 +0100  Edward Hervey <edward@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.h:
-	  buffer: Add a GST_BUFFER_DTS_OR_PTS macro
-	  API: GST_BUFFER_DTS_OR_PTS
-	  Many scenarios/elements require dealing with streams of buffers that
-	  might have DTS set (i.e. encoded data, potentially reordered)
-	  To simplify getting the increasing "timestamp" of those buffers, create
-	  a macro that will return the DTS if valid, and if not the PTS
-
-2015-10-06 12:21:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: add GST_{PTR,SEGMENT}_FORMAT
-	  Very useful formats in debug output so best to have them in the
-	  generated doc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756115
-
-2015-10-26 10:53:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsegment.c:
-	  segment: Return -1 if gst_segment_to_stream_time_full() considers the position not inside the segment
-	  Fixes GstPipeline unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756564
-
-2015-10-24 16:52:44 +0100  Florin Apostol <florin.apostol@oregan.net>
-
-	* gst/gsturi.c:
-	  uri: fix behaviour for merging uris ending in .. without following /
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757065
-
-2015-10-24 16:43:59 +0100  Florin Apostol <florin.apostol@oregan.net>
-
-	* tests/check/gst/gsturi.c:
-	  uri: tests: added unit test for streams ending in .. without following /
-	  https://bugzilla.gnome.org/show_bug.cgi?id=757065
-
-2015-08-27 12:43:28 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstdebugutils.c:
-	  debug: Dump pad properties values
-	  Currently we only show element properties values, we should also show
-	  pad properties values
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754166
-
-2015-10-23 20:04:42 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsegment.c:
-	  segment: Remove leftover debug g_print()
-
-2015-10-15 14:49:37 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* docs/design/part-synchronisation.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: Add _full variants of all stream/running_time from/to segment position functions
-	  See formula clarifications in design docs for calculation details.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756564
-
-2015-09-26 01:29:07 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Added env var for uninstalled PTP helper
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755651
-
-2015-10-22 12:00:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.h:
-	  basesink: rename argument of PREROLL_{COND,LOCK} macros
-	  They take a GstBaseSink instance as argument at not a GstPad. Rename the
-	  argument to 'obj' which is not miss leading and in line with
-	  GST_BASE_SINK_PAD(obj).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756954
-
-2015-10-22 10:05:14 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* gst/gstcontrolsource.c:
-	  gstcontrolsource: Add missing (out) annotation
-
-2015-10-21 14:34:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From b99800a to b319909
-
-2015-10-21 14:49:49 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Fix docs/annotation of gst_pad_probe_info_get_buffer_list()
-	  It's not get_bufferlist(). Because of that it was ignored by the docs and
-	  G-I, leading to crashes because of broken ownership transfer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756898
-
-2015-10-20 17:29:42 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasetransform.c:
-	  Use new GST_ENABLE_EXTRA_CHECKS #define
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756870
-
-2015-10-21 14:25:40 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 9aed1d7 to b99800a
-
-2015-10-20 13:46:24 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* tools/gst-stats.c:
-	  stats: always free log
-	  We always want to free the open file log if fopen() succeeded. Independently
-	  of if fgets() succeeds or fails.
-	  CID 1326055
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756864
-
-2015-10-19 16:50:51 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  segment: Correct stream_time calc for negative applied rate
-	  Updated gst_segment_position_from_stream_time and gst_segment_to_stream_time to reflect correct calculations for the case when the applied rate is negative.
-	  Pasting from design docs:
-	  ===============================
-	  Stream time is calculated using the buffer times and the preceding SEGMENT
-	  event as follows:
-	  stream_time = (B.timestamp - S.start) * ABS (S.applied_rate) + S.time
-	  For negative rates, B.timestamp will go backwards from S.stop to S.start,
-	  making the stream time go backwards.
-	  ===============================
-	  Therefore, the calculation for applied_rate < 0 should be:
-	  stream_time = (S.stop - B.timestamp) * ABS (S.applied_rate) + S.time
-	  and the reverse:
-	  B.timestamp = S.stop - (stream_time - S.time) / ABS (S.applied_rate)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756810
-
-2015-10-19 21:39:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* gst/gsttracerutils.c:
-	  tracer: rename the envvar to GST_TRACER_PLUGINS
-	  The subsystem reused the GST_TRACE var that is allready in use by the alloc tracer.
-	  Fixes #756760
-
-2015-10-15 16:32:42 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Improve incoming SEGMENT handling
-	  Previously this code was just blindly setting the cached flow return
-	  of downstream to GST_FLOW_OK when we get a SEGMENT.
-	  The problem is that this can not be done blindly. If downstream was
-	  not linked, the corresponding sinqlequeue source pad thread might be
-	  waiting for the next ID to be woken up upon.
-	  By blindly setting the cached return value to GST_FLOW_OK, and if that
-	  stream was the only one that was NOT_LINKED, then the next time we
-	  check (from any other thread) to see if we need to wake up a source pad
-	  thread ... we won't even try, because none of the cached flow return
-	  are equal to GST_FLOW_NOT_LINKED.
-	  This would result in that thread never being woken up
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756645
-
-2015-09-26 18:16:07 +0800  Ting-Wei Lan <lantw@src.gnome.org>
-
-	* gst/gstutils.h:
-	  gstutils: Fix build with clang -Werror=cast-align
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755657
-
-2015-10-17 22:13:08 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Make sure to free all cached messages when going to NULL
-	  An ASYNC READY->PAUSED might have failed without the bin code noticing during
-	  the state change, in which case we will never get PAUSED->READY and would leak
-	  messages.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756611
-
-2015-10-16 15:59:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/running.xml:
-	* gst/gstdebugutils.h:
-	* tools/gst-launch.1.in:
-	  docs: mention xdot utility to view .dot files directly
-
-2015-10-16 12:00:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttrace.c:
-	  alloctrace: show details of events and messages leaked
-	  So it's clearer what leaked.
-
-2015-10-16 11:54:18 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/manual/advanced-metadata.xml:
-	  docs: manual: improve advanced metadata example a bit
-	  Accept both filename and a URI as argument, and print
-	  the error from the error message if there's an error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756630
-
-2015-10-15 19:05:21 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstmemory.h:
-	  memory: fix typo in documentation
-	  It should be 1.2 unless this is a flag from the future
-
-2015-09-15 18:08:18 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Accept STREAM_START after EOS
-	  In the same way core now allows STREAM_START to remove the flushing
-	  state from pads, we need to do the same thing in multiqueue
-
-2015-10-14 11:03:22 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstsegment.c:
-	  segment: Convert function to macro in unit test to get proper line numbers on failures
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748316
-
-2015-10-12 17:29:26 +0200  Edward Hervey <edward@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Update internal position even if not linked
-	  Our current position has nothing to do with being linked or not.
-	  Avoids having stray segment updates fired every 2s
-
-2015-10-07 22:55:44 +0100  Florin Apostol <florin.apostol@oregan.net>
-
-	* gst/gstpad.c:
-	  pad: fix memory leak when sending events to an EOS pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756208
-
-2015-10-07 12:01:16 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/tracers/Makefile.am:
-	  tracers: Only link against libgstprintf.la if the debugging system is enabled
-	  It does not exist otherwise and linking will fail.
-
-2015-10-07 11:25:52 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  gst-ptp-helper: #include <sys/socket.h> to fix net/if.h include on OSX 10.6
-	  In file included from gst-ptp-helper.c:40:0:
-	  /usr/include/net/if.h:265:19: error: field 'ifru_addr' has incomplete type
-	  struct sockaddr ifru_addr;
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756136
-
-2015-10-07 12:22:34 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gsttracers.c:
-	  Revert "tracers: Only build getrusage() tracer if RUSAGE_THREAD is available"
-	  This reverts commit 8ddbf76626a48420306869db1d171f854cc25310.
-
-2015-10-07 12:21:56 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	  tracers/rusage: ifdef the RUSAGE_THREAD usage
-	  Some versions of andoid don't seem to have it.
-
-2015-10-07 11:11:30 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gsttracers.c:
-	  tracers: Only build getrusage() tracer if RUSAGE_THREAD is available
-
-2015-10-06 21:46:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* win32/common/libgstreamer.def:
-	  win32: remove gst_tracer_quark_id_get_type
-	  Revert addition from 777bbeea605051ae3d2fa7e02ad8589001e78ce0.
-
-2015-10-06 18:52:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.h:
-	  tracer: move prototype to the right header
-	  Fixes the build when the tracing subsystem is disabled.
-
-2015-10-06 18:49:46 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	* gst/gsttracerutils.h:
-	  tracer: mark GstTracerQuarkId as non GEnum
-	  This reverts 72ca02b1de4066eeae35c891e275386770117778 and marks the enum
-	  accordingly.
-
-2015-10-06 18:46:24 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gsttracers.c:
-	  tracers: disable the log tracer if debug logging is disabled
-
-2015-10-06 18:45:41 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/Makefile.am:
-	  makefile.am: Remove obsolete Android build cruft
-	  This is not needed any longer.
-
-2015-10-06 14:01:03 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerutils.h:
-	  tracer: fix the build with debug (tracer) disabled
-	  Sync the macro definitions. The dummy defines has argument mismatches.
-
-2015-10-06 11:39:33 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracerutils.h:
-	  tracer: fix the build with debug (tracer) disabled
-	  Remove commas at the end of the macros.
-
-2015-09-01 16:39:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/tracers/gststats.c:
-	  tracers: stats: add message structure to output
-	  The name of the message is not enough. For example, state-change
-	  is not enough to know the transition.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754496
-
-2015-10-05 19:05:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gst.c:
-	  gst: adding tracer quark id to gst init and deinit
-	  Fixes issues at make check
-
-2015-10-05 18:50:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: libgstreamer: add tracer functions
-
-2015-10-05 21:29:49 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gsttag.c:
-	  tests: fix the tag test
-	  The previous change (see bgo #756069) was causing us to free the same pointer
-	  multiple times. If we actually get a sample back, the test fails, no need to
-	  free anything in that case.
-
-2015-06-04 01:50:34 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>
-
-	* docs/design/draft-tracing.txt:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstpad.c:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	  tracer: add missing hooks
-	  Add following hooks: element-new, element-add-pad, element-remove-pad,
-	  bin-add-pre, bin-add-post, bin-remove-pre, bin-remove-post, pad-link-pre,
-	  pad-link-post, pad-unlink-pre, pad-unlink-post.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733187
-
-2015-03-13 18:31:40 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/tracers/gststats.c:
-	  tracer: gststats: add thread-id to log line
-
-2015-03-13 13:10:42 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gststats.c:
-	  tracer: add pad query hooks
-
-2015-01-15 06:32:48 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* gst/gsttracer.c:
-	  tracer: strdup the passed parameters.
-
-2015-01-13 22:11:34 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* plugins/tracers/gstlog.c:
-	  tracer: Use GST_TIME_ARGS when printing with GST_TIME_FORMAT.
-
-2014-10-16 10:42:05 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  tracing: update docs
-
-2014-10-02 19:52:03 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	* tools/gst-stats.c:
-	  stats: TIMESTAMP -> PTS
-
-2014-09-22 09:55:56 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracing: rename the global api to gst_tracing
-	  This makes it more obvious what is the api for tracer elements and what is api
-	  for the global state.
-
-2014-09-18 08:28:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  stats: fix cpu stats printing
-	  Only print them if we have them. Also scale them by 10.0 as the are in
-	  per-mille now.
-
-2014-09-18 08:26:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracers: eliminate var_args
-	  Register tracer hooks as GCallback. Use macros for hook dispatch and cast the
-	  hook functions back to the appropriate type.
-
-2014-09-17 09:41:46 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  stats: don't warn on ".class" log lines
-
-2014-09-17 08:38:02 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gstrusage.h:
-	* plugins/tracers/gststats.c:
-	* plugins/tracers/gststats.h:
-	  tracers: code cleanups
-	  Move static variables to instance variables. Add finalize methods. Remove code
-	  that is commented out. Cleanup locking code.
-
-2014-09-15 22:27:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracer: use GQuark or strings for the hook id
-	  This way one can define new tracing probes without changing the core. We are
-	  using our own quark table, as 1) we only want to initialize them if we're
-	  tracing, 2) we want to share them with the tracers.
-
-2014-09-15 13:15:17 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracer: simplify hook api
-	  Instead of a single invoke() function and a 'mask', register to individual
-	  hooks. This avoids one level of indirection and allows us to remove the
-	  hook enums. The message enms are now renamed to hook enums.
-
-2014-09-12 18:43:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerutils.c:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracer: drop the HookId hid from the invoke method
-	  The MessageId is more detailed and anyway needed to interpret the varargs.
-
-2014-09-12 11:17:41 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	  stats: fixup doc name and remove commented code
-
-2014-09-12 08:40:01 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracers: add metadata for the logged values
-
-2014-09-11 13:02:51 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	  rusage: improve cpu load meassurements
-	  Get the number of cpus and scale process cpu-load accordingly. Switch the
-	  cpuload to be per-mille to get smoother graphs. Add a bit more logging and use
-	  the _OBJECT variant.
-
-2014-09-11 13:00:59 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	  tracer: remove commented code
-
-2014-09-10 08:33:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: update tracer design
-	  Update the tracer event classes section. Add a performance section.
-
-2014-09-10 08:32:18 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	  tracer: use GST_PTR_FORMAT to log the structure
-	  This way we only expand the structure when we're logging. This allows us to
-	  meassure the pure tracing seperately from the logging.
-	  Also add some comments on further improvements.
-
-2014-09-10 07:55:33 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	* tools/gst-stats.c:
-	  rusage: implement windowing of cpuload
-	  Add a local help to the rusage plugin that supports windowing of values. We want
-	  to generalize this for use in other plugins.
-
-2014-09-04 10:11:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	* tools/gst-stats.c:
-	  rusage: announce the data format
-	  Rusage will now announce what is meassures and how it is logged. Use the new format in stats.
-	  Cleanup the the code and naming.
-
-2014-07-28 22:08:49 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstrusage.c:
-	* tools/gst-stats.c:
-	  stats: improve cpu load meassurements
-	  Rename variables for clarity. Handle the initial disparity between debug time
-	  and the time already spent in the proc and main thread.
-
-2014-07-18 08:09:32 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: update tracer design
-
-2014-07-28 08:49:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  quarks: revert the quark changes, we not using them anymore
-
-2014-07-18 07:49:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstregistrychunks.c:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerfactory.h:
-	* gst/gsttracerutils.c:
-	* gst/gsttracerutils.h:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlatency.h:
-	* plugins/tracers/gstlog.h:
-	* plugins/tracers/gstrusage.h:
-	* plugins/tracers/gststats.h:
-	  tracer: split into tracer and tracerutils
-	  Keep tracer base class in tracer and move core support into the utils module.
-	  Add a unstable-api guard to the tracer.h so that external modules would need to
-	  acknowledge the status by setting GST_USE_UNSTABLE_API.
-
-2014-07-16 18:48:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracerfactory.c:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  docs: add gtk-doc blobs
-
-2014-02-20 11:15:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	  latency: take stop time when buffer is handled
-	  Now we meassure time from 'before buffer transfer on src' to when the 'buffer is processed on sink'.
-
-2014-07-15 09:49:23 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gststats.c:
-	  tracers: add a logging helper to remove identical copies from the tracers
-
-2014-02-18 16:15:44 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gststats.c:
-	  tracers: tweak the get_real_pad_parent()
-	  By using the we ended up on the actual element, not the parent.
-
-2014-02-18 11:06:10 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlatency.c:
-	* plugins/tracers/gstlatency.h:
-	* plugins/tracers/gsttracers.c:
-	  tracers: add a new latency tracer
-	  Add a new tracer with pushes extra events to meassure src-to-sink processing latency.
-
-2014-02-17 18:30:24 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: update design docs
-	  Add new tracer idea.
-
-2013-11-22 19:10:04 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  gst-stats: use the rusage stats
-	  Add cpuload info from rusage traces.
-
-2013-11-20 08:22:58 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstrusage.c:
-	* plugins/tracers/gstrusage.h:
-	* plugins/tracers/gsttracers.c:
-	  rusage: add a new rusage tracer
-	  The tracer hooks up to all probes and logs resource usage figures.
-
-2014-07-15 10:20:22 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  gst-stats: filter complete thread section if we have no pads
-
-2013-11-19 08:04:38 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	* tools/gst-stats.c:
-	  stats: improve the handling of parentage
-	  Log new object after we did the check for parents.
-
-2013-11-17 11:37:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  stats: print thread key for stats and filter empty pad-sections
-
-2013-11-17 11:15:36 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-stats.c:
-	  stats: update buffer flags
-	  Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer
-	  flags.
-
-2013-11-04 20:11:09 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	* plugins/tracers/gststats.h:
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	* tools/gst-stats.c:
-	  stats: add a stats frontend
-	  Parse the log and collect data from tracer messages.
-
-2013-11-15 09:36:21 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.h:
-	  tracer: use the same timebase as the logging
-
-2014-07-16 09:22:37 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: update design
-
-2014-07-16 09:41:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlog.c:
-	  log: add query log category
-
-2013-11-02 18:24:56 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	  tracer: parse parameters
-
-2014-07-16 09:22:14 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gststats.c:
-	  tracer: add more hooks and handle it in the plugins
-
-2013-10-30 08:19:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gststats.c:
-	  stats: handle buffer lists
-
-2013-10-30 08:04:27 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	* plugins/tracers/gstlog.c:
-	  log: make the log tracer more verbose again
-	  Define log formats per message type and print details.
-
-2013-10-28 21:59:19 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gststats.c:
-	  tracer: use a macros for the enabled check
-	  Avoid a function call and check the variables from the macro.
-
-2013-10-28 21:39:52 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	* gst/gstpad.c:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	  tracer: use macros for hooks
-	  Wrap the hook with a pre and post macro. This looks less intrusive than the
-	  previous version, although it is a little less optimized.
-
-2013-10-28 21:28:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	* gst/gstquark.c:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gststats.c:
-	  tracer: pass the timestamp directly
-	  Avoid the structure mashalling (and weird field naming).
-
-2013-10-28 08:08:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gststats.c:
-	* plugins/tracers/gststats.h:
-	* plugins/tracers/gsttracers.c:
-	  stats: add a tracer that collects pipeline statistics
-	  This is more or less equiv to the the statistics in gst-tracelib.
-
-2013-10-28 08:07:52 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/tracers/gstlog.h:
-	  log: add cast macro
-
-2013-10-27 20:43:25 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/gstlog.c:
-	  tracer: pass the instance to the vmethod
-
-2013-10-27 17:05:52 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	* plugins/tracers/gstlog.c:
-	  design: more planning
-
-2013-10-27 17:04:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	  tracer: switch to quarks and add another hook for buffer flow
-	  Use pre-defines quarks as this will be called quite often.
-
-2013-10-27 12:45:54 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* plugins/tracers/gstlog.c:
-	  tracer: add the hook-id to the invoke signature
-	  Tracers that subscribe to multiple hooks can know what hook was used.
-
-2013-10-26 22:05:13 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: add support for the new factory
-	  Handle tracer modules.
-
-2013-10-24 14:47:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* docs/design/draft-tracing.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstpad.c:
-	* gst/gstregistrybinary.h:
-	* gst/gstregistrychunks.c:
-	* gst/gsttracer.c:
-	* gst/gsttracer.h:
-	* gst/gsttracerfactory.c:
-	* gst/gsttracerfactory.h:
-	* plugins/Makefile.am:
-	* plugins/tracers/.gitignore:
-	* plugins/tracers/Makefile.am:
-	* plugins/tracers/gstlog.c:
-	* plugins/tracers/gstlog.h:
-	* plugins/tracers/gsttracers.c:
-	  tracer: initial prototype for the tracing subsystem
-
-2015-10-05 11:12:47 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/gst/gsttag.c:
-	* tools/gst-launch.c:
-	  tests/gst-launch: Fix sample memory leak
-	  When sample is got using gst_tag_list_get_sample_index, it should
-	  be free'd.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=756069
-
-2015-10-02 22:17:04 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* gst/gst.c:
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	  Update GLib dependency to 2.40.0
-
-2015-08-20 16:21:59 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/appendix-integration.xml:
-	* docs/manual/basics-init.xml:
-	* libs/gst/helpers/gst-completion-helper.c:
-	* libs/gst/helpers/gst-ptp-helper.c:
-	* tests/benchmarks/capsnego.c:
-	* tests/examples/ptp/ptp-print-times.c:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	  gstreamer: Fix memory leaks when context parse fails
-	  When g_option_context_parse fails, context and error variables are not getting free'd
-	  which results in memory leaks. Free'ing the same.
-	  And replacing g_error_free with g_clear_error, which checks if the error being passed
-	  is not NULL and sets the variable to NULL on free'ing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753851
-
-2015-09-23 23:03:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  timedvaluecontrolsource: Use g_sequence_lookup where possible
-	  When looking for exact matches in the sequence, this results
-	  in much simpler code than when using g_sequence_search.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755498
-
-2015-10-01 22:09:58 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  interpolationcontrolsource: fix write over the array size
-	  The '++' got incidentially added during the refactoring in
-	  2fe3939ce7ea84c45dd922e7f1097dd07f11fc5d.
-
-2015-09-30 17:29:16 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* tests/check/libs/struct_arm.h:
-	* tests/check/libs/struct_hppa.h:
-	* tests/check/libs/struct_i386.h:
-	* tests/check/libs/struct_ppc32.h:
-	* tests/check/libs/struct_ppc64.h:
-	* tests/check/libs/struct_sparc.h:
-	* tests/check/libs/struct_x86_64.h:
-	  controlpoint: change the padding to be of arch-independent size
-	  The default padding I introduced in d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is
-	  actually only 4 pointers and on 32bit platforms already smaller than the union.
-	  Replace it with a fixed 64byte padding. Don't add the normal padding for now.
-	  Fixes #755822
-
-2015-08-21 17:42:52 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
-
-	* scripts/gst-uninstalled:
-	  gstreamer-uninstalled: add path for OpenCV haar cascade files
-	  Some OpenCV plugins use haar cascade files that are included in the
-	  GStreamer sources. To be able to use these from uninstalled, they need
-	  to be found through an environment variable.
-	  Adding this environment variable pointing to haar cascade files to
-	  gst-uninstalled.
-
-2015-09-28 16:01:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: fix 'format string is not a string literal' warning with clang
-	  Broke this when I removed the G_GNUC_PRINTF in a previous
-	  commit to fix indentation, since it was not really needed.
-	  Turns out unlike gcc clang warns though if a non-literal
-	  format string is passed then. Fix indentation differently.
-	  http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format
-
-2015-09-28 16:45:47 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/examples/manual/Makefile.am:
-	  tests: fix the manual tests by setting the right env-vars
-
-2015-09-28 16:22:36 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	  directcontrolbinding: fix formatting
-
-2015-09-28 16:21:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstindex.h:
-	  index: mark two structs that don't have abi padding
-
-2015-09-28 16:19:40 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* tests/check/libs/struct_arm.h:
-	* tests/check/libs/struct_hppa.h:
-	* tests/check/libs/struct_i386.h:
-	* tests/check/libs/struct_ppc32.h:
-	* tests/check/libs/struct_ppc64.h:
-	* tests/check/libs/struct_sparc.h:
-	* tests/check/libs/struct_x86_64.h:
-	  controller: add the missing abi padding
-	  While this technically is an abi break, we decided to do this:
-	  1) the struct is documented to be internal
-	  2) the struct is alloced and freed inside the library
-	  3) there are no public methods that receive or return instances
-	  4) the only code known to use this struct are classes containd here
-
-2015-09-24 00:04:48 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* tests/check/gst/gstcontext.c:
-	* win32/common/libgstreamer.def:
-	  bin: implement context propagation when adding elements
-	  When adding an element to a bin we need to propagate the GstContext's
-	  to/from the element.
-	  This moves the GstContext list from GstBin to GstElement and adds
-	  convenience functions to get the currently set list of GstContext's.
-	  This does not deal with the collection of GstContext's propagated
-	  using GST_CONTEXT_QUERY.  Element subclasses are advised to call
-	  gst_element_set_context if they need to propagate GstContext's
-	  received from the context query.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705579
-
-2015-09-07 09:39:32 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	  interpolationcontrolsource: add cubic_mono interpolation
-	  This new mode won't overshoot the min/max y values set by the control-points.
-	  Fixes #754678
-	  API: GST_INTERPOLATION_MODE_CUBIC_MONO
-
-2015-09-07 09:37:05 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  interpolationcontrolsource: refactor code
-	  Extract common code that looks up the control-points around the timestamp. Add
-	  some comments for future investigation.
-
-2015-09-04 16:38:37 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* configure.ac:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/controller/controller-graph.c:
-	  tests/examples: add a demo for the interpolation control source modes
-	  This is in preparation for new modes to be added. In particullar it demonstrates
-	  how the cubic splines overshoot the range.
-
-2015-09-09 11:55:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: remove proxying of accept-caps downstream
-	  The design is to only do a local check
-
-2015-08-25 19:37:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: don't fallback to caps queries with proxy pads
-	  A proxy-pad should always proxy the caps related queries
-	  and events to its down or upstream peers on the other side
-	  of the element. Falling back to a caps query seems wrong.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754112
-
-2015-09-26 11:03:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: minor doc fixes
-
-2015-09-02 17:58:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: Replaced gst_segment_to_position with gst_segment_position_from_running_time
-	  gst_segment_to_position might cause confusion, especially with the addition of
-	  gst_segment_position_from_stream_time . Deprecated gst_segment_to_position
-	  now, and replaced it with gst_segment_position_from_running_time.
-	  Also added unit tests.
-
-2015-09-02 17:38:25 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* tests/check/gst/gstsegment.c:
-	  segment: Added unit tests for gst_segment_position_from_stream_time
-
-2015-09-25 15:57:16 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gstsegment.c:
-	  segment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time'
-	  Renamed the "result" variable to "stream_time" for better readability.
-
-2015-09-25 15:56:45 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* win32/common/libgstreamer.def:
-	  segment: Added gst_segment_position_from_stream_time()
-	  gst_segment_position_from_stream_time() will convert stream time into a
-	  position in the segment so that gst_segment_to_stream_time() with that
-	  position returns the same stream time. It will return -1 if the stream time
-	  given is not inside the segment.
-
-2015-09-02 16:36:35 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* docs/design/part-synchronisation.txt:
-	* gst/gstsegment.h:
-	  segment: Rewording of struct field descriptions
-	  The new wording makes it easier to understand exactly what each field of the
-	  GstSegment struct represents.
-
-2015-08-31 15:35:11 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Make sure that timestamp + diff in QoS events is never smaller than 0
-	  When a running-time-offset is stored in the event, it could become smaller
-	  than 0 although the event is otherwise correct. This can happen when pad
-	  offsets are used.
-	  To prevent this, we set the timestamp to -diff, so that in the end the sum of
-	  both is exactly 0.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754356
-
-2015-09-16 23:40:44 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gsturi.c:
-	  uri: Add test for correct absolute URI handling in gst_uri_from_string_with_base()
-	  If the second parameter is an absolute URI, the base should have no effect and
-	  the second parameter should be returned again.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755134
-
-2015-09-25 23:51:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.6.0 ===
-
-2015-09-25 23:14:33 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.6.0
-
-2015-09-25 22:41:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-09-25 10:18:07 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Fix error leak during failures
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755607
-
-2015-09-21 13:58:51 +0200  Stian Selnes <stian@pexip.com>
-
-	* plugins/elements/gstfunnel.c:
-	* tests/check/elements/funnel.c:
-	  funnel: Fix racy state change
-	  Iterator may need to be resynced, for instance if pads are released
-	  during state change.
-	  got_eos should be protected by the object lock of the element, not of
-	  the pad, as is the case throughout the rest of the funnel code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755343
-
-2015-09-21 15:22:19 +0200  Stian Selnes <stian@pexip.com>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	  bin: element: Ignore activate result for removed pads on state change
-	  This fixes a race where a state change may return failure if it has
-	  request pads that are deactivated and removed (and thus have no
-	  parent) at the same time as the element changes state and (de)activates
-	  its pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755342
-
-2015-09-24 10:23:14 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/libs/gstharness.c:
-	  harness: don't crash when adding a sink-harness without h->sinkpad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755511
-
-2015-09-23 20:31:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Print buffer PTS when submitting an input buffer
-
-2015-09-21 14:58:46 +0900  Eunhae Choi <eunhae1.choi@samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Fix buffer leak in sync_streams & cache_buffers mode
-	  After doing gst_pad_push() in case of sync_streams and cache_buffers,
-	  if the buffer can not be kept in cache, it should be unreffed to avoid
-	  memory leackage.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755141
-
-2015-09-19 16:57:26 +0530  Vikram Fugro <vikram.fugro@gmail.com>
-
-	* gst/gstcaps.c:
-	* gst/gstpad.h:
-	  gst: Documentation typo fix in caps & pad APIs
-	  gst_caps_can_intersect() & GST_PAD_IS_ACCEPT_INTERSECT()
-	  documentation typo fix.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755257
-
-=== release 1.5.91 ===
-
-2015-09-18 19:07:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.5.91
-
-2015-09-18 19:07:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-09-18 11:49:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/zh_CN.po:
-	  po: Update translations
-
-2015-09-15 10:56:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	  downloadbuffer, benchmarks: fix error leaks in failure code paths
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755019
-
-2015-09-15 10:52:55 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Fix indentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=755019
-
-2015-09-15 18:05:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: sprinkle some allow-none and out annotations for g-i
-
-2015-09-14 11:01:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gstbin.c:
-	  bin: fix typo in log message when threadpool alloc fails
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754975
-
-2015-09-11 17:58:48 +0300  Igor Rondarev <igor.rondarev@gmail.com>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	  configure: Check for socketpair() in -lsocket too
-	  On e.g. QNX it is in an external library, not libc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754875
-
-2015-09-09 13:10:04 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  Revert "docs: Make sure gst_debug_bin_to_dot_data() is documented"
-	  This reverts commit 0dffeb03018d12be522c2d97aaaf8102153bd7c0.
-	  The commit is erroneous and documents the function twice.
-
-2015-07-23 12:18:51 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Make sure gst_debug_bin_to_dot_data() is documented
-	  Thanks to Nirbheek Chauhan <nirbheek@centricular.com> for pointing this
-	  out.
-
-2015-08-05 10:07:50 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	* tests/check/libs/gstharness.c:
-	  harness: Fix race for gst_harness_element_ref
-	  In order for gst_harness_new_full to be MT-safe the increase and
-	  decrease of HARNESS_REF must be MT-safe. This allows for creating
-	  multiple harnesses from different threads wrapping the same element.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754661
-
-2015-08-05 09:59:39 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Allow-none for custom stress init func
-	  It should be allowed to not have a function to initialize the user data
-	  since it's often not necessary; it may already be initialized.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754661
-
-2015-09-06 09:58:09 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/gstreamer-plugins.signals:
-	  docs: remove signal that no longer exists from docs
-
-2015-09-05 11:20:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for translated string changes
-
-2015-09-05 11:18:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: fix --exclude command line option
-	  This has not worked (as in: crashed) since 2005, so
-	  perhaps it should just be removed instead.
-
-2015-08-31 12:07:10 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  Revert "queue2: Process SEEKING query"
-	  This caused problems with oggdemux when queue2 was
-	  operating in queue mode and the souphttpsrc upstream
-	  is not seekable because the server doesn't support
-	  range requests. It would then still claim seekability
-	  and then things go wrong from there.
-	  This reverts commit 7b0b93dafe4ac547552cdb66ade5d8aa0405e7b4.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753887
-
-2015-08-29 20:14:44 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: misc bugfixes
-	  1. Get a list of pad templates from the element class, not the
-	  factory. This allows us to interact with test-elements that does
-	  not have a factory.
-	  2. Use the pad_template_caps in caps-queries when caps is not set
-	  explicitly on the pad. Not doing so is simply wrong, and prohibits
-	  interactions with special templates used for testing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754193
-
-2015-08-26 09:29:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstevent.c:
-	  tests: event: fix build failure
-	  gst/gstevent.c:250:5: error: ‘for’ loop initial declarations are only
-	  allowed in C99 or C11 mode
-
-2015-08-24 21:04:37 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: Make sure we don't add/remove a bin to/from itself
-	  Doing so would deadlock from trying to acquire the object lock twice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=754036
-
-2015-08-21 14:28:48 -0700  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Reconfigure before propose_allocation
-	  There exist cases where a reconfigure event was propagated from
-	  downstream, but caps didn't change. In this case, we would
-	  reconfigure only when the next buffer arrives. The problem is that
-	  due to the allocation query being cached, the return query parameters
-	  endup outdated.
-	  In this patch we refactor the reconfigurating code into a function, and
-	  along with reconfiguring when a new buffer comes in, we also reconfigure
-	  when a query allocation arrives.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753850
-
-2015-08-07 15:39:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* tests/check/libs/basesrc.c:
-	  basesrc-test: Fix race testing segment update
-	  As this test is using a short sleep (GST_USECOND, which is 10ms
-	  in microsecond), sometimes that EOS event is received before the
-	  loop in basesrc have run _do_seek() and pushed the update segment.
-	  To solve this issue, we wait for the initial segment (and flush it)
-	  then we wait for the second segment before sending EOS.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753365
-
-2015-08-19 11:46:07 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  bin: Add NLE to GST_PLUGIN_PATH
-
-=== release 1.5.90 ===
-
-2015-08-19 12:50:56 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.5.90
-
-2015-08-19 12:33:41 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-08-19 11:17:29 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/zh_CN.po:
-	  po: Update translations
-
-2015-08-18 15:44:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: avoid tag list spam if upstream provides bitrate tags already
-	  Explicitly keep track again whether upstream tags or parser tags
-	  already contain bitrate information, and only force a tag update
-	  for a bitrate if we are actually going to add the bitrate to the
-	  taglist later. This fixes constant re-sending of the same taglist,
-	  because upstream provided a bitrate already and we didn't add it,
-	  so we didn't save the 'posted' bitrate, which would then in turn
-	  again trigger the 'bitrate has changed too much, update tags'
-	  code path. Fixes tag spam with m4a files for example.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-2015-08-17 22:06:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: bring the dot style a bit closer to what we use in the docs
-	  Use round corners for bins and elements. Put sink pads on the left and src pads
-	  on the right of elements.
-
-2015-08-15 18:30:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix tag handling
-	  In 0.10 there were no sticky events, and all tag events
-	  sent would just be merged with the previously-received
-	  tags. In 1.x we have sticky events, and the tags in the
-	  tag event(s) should at all times carry the complete tags,
-	  so we can't just push some tags and then just push tags
-	  with just bitrates to update the bitrates, etc.
-	  Instead we need to keep track of the upstream stream tags
-	  received, of the tags set by the video decoder subclass,
-	  and send an updated tag event with the combined tags
-	  including our own bitrate tags (if applicable) whenever
-	  the upstream tags, the subclass tags or any of our bitrates
-	  change.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-2015-08-16 10:15:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* win32/common/libgstbase.def:
-	  baseparse: add API for subclass to set tags
-	  This is needed so that we can do proper tag handling
-	  all around, and combine the upstream tags with the
-	  tags set by the subclass and any extra tags the
-	  base class may want to add.
-	  API: gst_base_parse_merge_tags()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-2015-08-15 16:01:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: save upstream stream tags
-	  We'll need those later.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-2015-08-15 16:39:40 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: minor code simplification
-	  Use gst_pad_peer_query_duration() and remove a few
-	  unnecessary levels of indentation. Rest of code might
-	  looks a bit questionable, but leave it as is for now.
-
-2015-08-15 17:59:21 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Break sticky event array iterations if the type is bigger than the one we look for
-	  Microoptimization we can do because the array is sorted by type.
-
-2015-04-29 15:49:17 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	  gstpad: Add a new GST_PROBE_HANDLED return value for probes
-	  In some cases, probes might want to handle the buffer/event/query
-	  themselves and stop the data from travelling further downstream.
-	  While this was somewhat possible with buffer/events and using
-	  GST_PROBE_DROP, it was not applicable to queries, and would result
-	  in the query failing.
-	  With this new GST_PROBE_HANDLED value, the buffer/event/query will
-	  be considered as successfully handled, will not be pushed further
-	  and the appropriate return value (TRUE or GST_FLOW_OK) will be returned
-	  This also allows probes to return a non-default GstFlowReturn when dealing
-	  with buffer push. This can be done by setting the
-	  GST_PAD_PROBE_INFO_FLOW_RETURN() field accordingly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748643
-
-2015-08-15 13:25:35 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* gst/gstversion.h.in:
-	  gstversion: Add missing include in .in file.
-
-2015-08-11 00:35:21 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* gst/glib-compat.h:
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.h:
-	* gst/gstcapsfeatures.h:
-	* gst/gstclock.h:
-	* gst/gstcompat.h:
-	* gst/gstcontext.h:
-	* gst/gstdeviceprovider.h:
-	* gst/gstelementmetadata.h:
-	* gst/gstmacros.h:
-	* gst/gstmemory.h:
-	* gst/gstmeta.h:
-	* gst/gstpad.h:
-	* gst/gstpluginloader.h:
-	* gst/gstquark.h:
-	* gst/gsttrace.h:
-	  Headers: add missing includes.
-
-2015-08-15 06:41:14 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add the new pad accept-template flag to the docs
-
-2015-08-14 22:44:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: section entry missing for gst_direct_control_binding_new_absolute
-
-2015-08-14 08:14:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: tests for accept-caps default handling
-	  Check if all the default 4 accept-caps possibilities are working:
-	  subset or intersect check and query-caps or template caps comparisons.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753623
-
-2015-08-14 07:51:07 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add GST_PAD_FLAG_ACCEPT_TEMPLATE
-	  It will make the default accept-caps handler use the pad template
-	  caps instead of the query-caps result to check if the caps is
-	  acceptable. This is aligned with what the design docs says the
-	  accept-caps should do (be non-recursive) and should be faster. It
-	  is *not* enabled by default, though.
-	  API: GST_PAD_FLAG_ACCEPT_TEMPLATE
-	  API: GST_PAD_IS_ACCEPT_TEMPLATE
-	  API: GST_PAD_SET_ACCEPT_TEMPLATE
-	  API: GST_PAD_UNSET_ACCEPT_TEMPLATE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753623
-
-2015-08-14 11:10:03 +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-13 13:08:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: rework accept-caps
-	  According to the design docs:
-	  The ACCEPT_CAPS query is not required to work recursively, it can simply
-	  return TRUE if a subsequent CAPS event with those caps would return
-	  success.
-	  So make it a shallow check instead of recursivelly check downstream.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748635
-
-2015-08-13 12:44:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove some dead code
-	  Doesn't seem like it is going to get back to life anytime soon
-	  Also removes a {} block that was likely used to keep the dead
-	  code around.
-
-2015-08-11 08:07:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: respect accept-caps intersect flag
-	  GstPad has a flag for suggesting if the accept-caps
-	  query should use intersect instead of the default
-	  subset caps operation to verify if the caps would be
-	  acceptable.
-	  basetransform currently always uses the subset check and
-	  this patch makes it honor the flag for using intersect
-	  if it is set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748635
-
-2015-08-12 13:12:38 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove unreachable return statement
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753538
-
-2015-08-11 11:09:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/.gitignore:
-	  tests: ignore new harness test binary
-
-2015-08-10 15:31:37 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* gst/gstdatetime.c:
-	* tests/check/gst/gstdatetime.c:
-	  datetime: accept just a time as ISO 8601 string and use today's date then
-	  If no date and only a time is given in gst_date_time_new_from_iso8601_string(),
-	  assume that it is "today" and try to parse the time-only string. "Today" is
-	  assumed to be in the timezone provided by the user (if any), otherwise Z -
-	  just like the behavior of the existing code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753455
-
-2015-07-24 00:41:57 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/gstharness.c:
-	  harness: add _set_forwarding function
-	  To be able to disable the slightly "magic" forwarding of the
-	  necessary events between the harnesses.
-	  Also introduce a new test-suite for GstHarness, that documents the
-	  feature, and should hopefully expand into documenting most of the
-	  features the harness possesses.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752746
-
-2015-08-08 17:59:51 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: fix provider leak
-
-2015-08-08 15:28:19 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Fix previous commit
-	  We want to get the caps query *result*
-
-2015-07-16 18:56:00 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceprovider.h:
-	* win32/common/libgstreamer.def:
-	  deviceprovider: Add method to hide devices from a provider
-	  Add methods to add/remove the providers that should be hidden by this
-	  provider. Also make a method to get a list of hidden providers.
-	  This makes it possible to have multiple systems monitor the same devices
-	  and remove duplicates.
-	  Add a property to see all devices, even duplicate ones from hidden
-	  providers.
-
-2015-08-08 14:42:52 +0200  Edward Hervey <edward@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: get_allowed_caps() should go through both pads
-	  The previous implementation was doing a direct call to the peer pad,
-	  which resulted in query probes never being called on the original pad.
-	  Instead of that, get the peer pad caps by using gst_pad_peer_query()
-	  which will call probes in the expected fashion.
-
-2015-08-07 10:08:21 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* gst/gstvalue.c:
-	  value: free caps during failure
-	  While calling gst_value_deserialize_sample, if there is a failure
-	  after caps is ref'ed, then caps is getting leaked. Hence checking for
-	  caps in fail: goto condition and unref'ing it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753338
-
-2015-07-21 13:35:33 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	  registry: Add plugins to the registry we are loading and not default one
-	  When running gst_registry_scan_plugin_file we were losing the
-	  information about the registry being loaded and ended up adding the
-	  plugin to the default registry which was not correct.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752662
-
-2015-08-05 15:51:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Only drop buffer if their PTS is out of segment
-	  As of now, even for stream completly inside segment, there is no
-	  guarantied that the DTS will be inside the segment. Specifically
-	  for H.264 with B-Frames, the first few frames often have DTS that
-	  are before the segment.
-	  Instead of using the sync timestamp to clip out of segment buffer,
-	  take the duration from the start/stop provided by the sub-class, and
-	  check if the pts and pts_end is out of segment.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752791
-
-2015-08-05 14:05:25 +0100  Luis de Bethencourt <luis@debethencourt.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: don't run code inside g_assert
-	  Even though asserts can't be disabled in GstHarness, Coverity still
-	  complains about running code inside them. Moving the code to outside the
-	  g_asserts().
-	  CID #1311326, #1311327, #1311328
-
-2015-07-17 10:18:02 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* win32/common/libgstreamer.def:
-	  devicemonitor: get a list of currently monitored providers
-	  Get a list of the currently monitored providers.
-
-2015-08-02 17:38:14 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* gst/gstpad.c:
-	  pad: fix invalid unref after IDLE probe on non-OK flow return
-	  In case there is an IDLE probe fired from gst_pad_push_data and it
-	  doesn't return GST_FLOW_OK, the code jumps to the probe_stopped
-	  label which tries to unref the data object. However, at this point
-	  the data object belongs downstream and must not be touched.
-	  By setting data = NULL, the code skips this unref.
-	  https://bugzilla.gnome.org//show_bug.cgi?id=753151
-
-2015-08-04 20:08:04 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Fix the name of the parentbuffermeta debug category.
-	  Don't use 'glbufferrefmeta' as the debug category for the
-	  parent buffer meta.
-
-2015-08-04 13:45:09 +0900  Eunhae Choi <eunhae1.choi@samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: not update upstream size with negative value
-	  upstream_size can be negative but queue->upstream_size is unsigned type.
-	  to get a chance to update queue->upstream_size in gst_queue2_get_range()
-	  it should keep the default value.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=753011
-
-2015-08-04 19:59:28 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  buffer: Remove extra debug symbol from exports
-	  Don't export the debug variable for the parent_buffer_meta.
-	  This was accidentally exported and shouldn't be public
-
-2015-08-04 00:11:24 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: use GST_INFO_OBJECT for more detail
-	  Helps to distiguish multiple filesinks.
-
-2015-07-30 17:29:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.h:
-	  docs: info: remove 0.8 terminology from log level description
-	  We don't "iterate" bins or pipelines any more.
-
-2015-07-30 12:17:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: baseparse: fix buffer leak in unit test
-	  Fixes make check-valgrind
-
-2015-07-28 21:14:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstsegment.h:
-	  doc/seekflags: Fix cross references
-	  This fixes miss-use of @ instead of % to refer to enumeration
-	  values.
-
-2015-07-28 22:30:54 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add a few more new symbols and defines
-
-2015-07-28 16:57:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.h:
-	  doc/capsfilter: Document filtering modes
-	  This is documentation for the HTML documentation.
-
-2015-07-28 16:50:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  doc/filesink: Add BufferMode enumeration
-	  This is purely for documentation purpose. This way the values will
-	  show up in the HTML documentation.
-
-2015-07-28 15:50:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/check/gstharness.c:
-	  doc/gsthardness: Fix typo in GstAllocationParams
-	  It's not GstAllocatorParams but GstAllocationParams.
-
-2015-07-28 15:46:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/check/gstharness.c:
-	  doc/gstharness: Remove unknown parameter
-	  sink_elenment_name is not a parameter of gst_harness_add_sink_harness()
-	  function, but still it show up in documentation.
-
-2015-07-28 12:19:04 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	  capsfilter: Only remember previous filter caps if they were actually used for something
-	  If nobody ever saw the previous filter caps, nothing could've negotiated with
-	  them and we can just pretend they never existed at all.
-
-2015-07-28 12:16:12 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: When switching caps change modes, forget all previous caps
-
-2015-07-23 18:15:05 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Return FLOW_FLUSHING if negotiation fails during shutdown
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752800
-
-2015-07-22 18:55:29 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Fix indendation
-
-2015-07-21 13:14:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Avoid increasing query reference
-	  gst_query_find_allocation_meta() requires the query to be
-	  writable to work. This patch ensure avoids taking a reference
-	  on the query, so we can now check if a certain allocation meta
-	  is present.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752661
-
-2015-07-22 15:38:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	  docs: fix description of gst_buffer_extract_dup()
-	  No GBytes involved.
-
-2015-07-21 00:17:28 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: dot not reset pad states too early
-	  Resetting the flushing state of the pads at the end of the
-	  PAUSED_TO_READY transition will make pads handle serialized
-	  queries again which will wait for non-active pads and might
-	  cause deadlocks when stopping the pipeline.
-	  Move the reset to the READY_TO_PAUSED instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752623
-
-2015-07-20 16:18:06 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: add functions for adding sub-harnesses directly
-	  By introducing gst_harness_add_src_harness and gst_harness_add_sink_harness
-	  we collect all sub-harness setup in one function, making the previous
-	  sub-harness creation functions now calls these directly, and making it
-	  much easier (and less error-prone) to add your own src or sink-harness
-	  using the more generic harness-creation functions.
-
-2015-07-17 17:44:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't override gst_segment_do_seek()
-	  This line has no purpose, clearly gst_segment_do_seek() is doing
-	  the right job, also, having the start time (a timestamp) be that
-	  same as time (the stream time) is quite odd.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750783
-
-2015-07-17 17:43:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix extrapolation of seeksegment.stop
-	  The stop shall be relative to start if extrapolated from the
-	  duration.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750783
-
-2015-07-16 18:47:20 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: do start and stop outside of the lock
-	  Release the monitor lock when calling the provider start/stop methods.
-	  Because we release the lock now, We need to make sure we check the
-	  cookie again and keep track of started and removed providers.
-
-2015-07-16 18:43:06 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceprovider.h:
-	  deviceprovider: small cleanups
-	  Protect against wrong arguments.
-	  Clean up the header file indentation.
-
-2015-07-16 17:25:24 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: keep order of providers and devices
-	  The deviceproviders are added to the array sorted by their rank. Make
-	  sure we keep this ordering when removing a provider.
-	  We use _prepend to collect the devices, use g_list_reverse to get the
-	  devices in the right order; sorted by rank and in the same order as
-	  returned by the provider.
-
-2015-07-16 17:50:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix indentation
-
-2015-07-16 17:50:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix pad template leak
-
-2015-07-16 17:13:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstplugin.c:
-	  docs: drop reference to sourceforge mailing list adress
-
-2015-07-16 17:53:40 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: don't re-establish the harness sink and src pads
-	  Given that the element has the possibility to have one, they should
-	  already be there.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752498
-
-2015-07-13 11:03:13 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: Improve detection of element type
-	  The element flag does not indicate wether a bin should be tested as a
-	  source or as a sink, eg. a bin with the sink flag may still have a
-	  source pad and a bin with the source flag may have a sink pad. In this
-	  case it is better to determine the element type by looking at the
-	  available pads and pad templates.
-	  Also rename srcpad and sinkpad where it actually represents
-	  element_srcpad_name and element_sinkpad_name.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752493
-
-2015-07-13 11:10:49 +0200  Stian Selnes <stian@pexip.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: Forward sticky events to sink harness
-	  Fixes issue where if a sink harness was added late the sticky events
-	  would not be forwared.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752494
-
-2015-07-16 12:36:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.h:
-	  harness: make header nicer to read
-
-2015-07-16 10:36:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new function to API docs
-
-2015-07-15 18:21:13 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstdevice.c:
-	* gst/gstdevice.h:
-	* win32/common/libgstreamer.def:
-	  device: add generic struct with properties
-	  Add a generic structure to hold any additional properties about the
-	  device.
-
-2015-07-14 12:44:12 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: fix typo in allow-not-linked property description
-
-2015-07-13 14:24:34 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbus.c:
-	  docs: bus: mention main loop requirement in gst_bus_add_watch() docs
-
-2015-03-18 16:05:34 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* gst/gsttask.c:
-	  task: add function guard for _set_lock() and fix guard for _join()
-	  Should only access the object structure after checking
-	  it's valid in gst_task_join().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746385
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746431
-
-2015-05-19 18:58:11 +0200  Philippe Normand <philn@igalia.com>
-
-	* gst/gstprotection.c:
-	  protection: implement meta transform function
-	  Copy the GstMeta contents over to the new buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749590
-
-2015-07-10 09:12:15 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: estimate duration on EOS
-	  For files which are smaller than 1.5 seconds, the duration
-	  estimation does not happen. So the duration will always be
-	  displayed as 0. Updating the duration on EOS when the estimation
-	  has not happened already
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750131
-
-2015-07-10 11:01:21 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: change log message properly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752116
-
-2015-07-09 00:12:51 +0900  Justin Joy <justin.joy.9to5@gmail.com>
-
-	* plugins/elements/gststreamiddemux.c:
-	* plugins/elements/gststreamiddemux.h:
-	  docs: add StreamidDemux to documentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749873
-
-2015-07-09 00:21:42 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: fix to get valid (buffer_)list
-	  get_list/get_buffer_list should be done with buffers in adapter remaining
-	  while take_list/take_buffer_list flushes each buffer one by one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752116
-
-2015-07-08 20:06:27 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* tests/check/libs/adapter.c:
-	  adapter: unit test for new get_(buffer_)list
-
-2015-07-08 12:00:56 +0200  Arnaud Vrac <avrac@freebox.fr>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: put buffer in a correct state after gst_adapter_get_buffer call
-	  We must make the buffer writable to write its PTS and DTS, and also
-	  reset its duration.
-	  The behaviour is now the same as before commit c3bcbadd, except metas
-	  might still be attached to the buffer extracted from the adapter.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752092
-
-2015-07-07 15:02:45 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstharness.c:
-	  harness: fix indentation and replace stress test function macros
-	  These screw with indentation and seem a bit trivial. Just copy'n'paste.
-
-2015-07-07 10:46:48 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* gst/gstbuffer.c:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetcontrolmessagemeta.c:
-	* tests/check/gst/gstmeta.c:
-	  meta: transform_func: return FALSE if not supported or failed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751778
-
-2015-07-07 11:53:07 +0200  Havard Graff <havard.graff@gmail.com>
-
-	* plugins/elements/gstidentity.c:
-	* tests/check/elements/identity.c:
-	  identity: refactor and add tests using GstHarness
-	  Writing a test for unscheduling the gst_clock_id_wait inside the
-	  identity element, found an invalid read, caused by removing the clock-id
-	  when calling _unschedule instead of letting the code calling _wait remove
-	  the clock-id after being unscheduled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=752055
-
-2014-04-12 19:48:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	  harness: make sure g_assert() statements are always active
-	  We have code with side effects inside g_assert()s, so make
-	  sure those are always enabled here (they might otherwise
-	  get disabled for release builds).
-
-2015-07-07 00:56:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  harness: rename GstHarnessPrepareBuffer -> GstHarnessPrepareBufferFunc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751916
-
-2015-07-07 00:53:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/check.h:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  docs: add GstHarness to documentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751916
-
-2013-12-16 10:47:47 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstharness.c:
-	* libs/gst/check/gstharness.h:
-	  check: Add GstHarness convenience API for unit tests
-	  http://gstconf.ubicast.tv/videos/gstharness-again-a-follow-up/
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751916
-
-2015-07-06 09:26:58 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: reverse playback in pull mode
-	  right now reverse playback is disabled in pull mode.
-	  enabling the code for the same and changing a bit of logic
-	  to make reverse playback work.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750783
-
-2015-06-20 08:33:26 +0900  Vineeth T M <vineeth.tm@samsung.com>
-
-	* tests/check/libs/baseparse.c:
-	  baseparse: add reverse playback test in pull mode
-	  add test for reverse playback in pull mode and compare
-	  the buffers being received in sink chain to make sure
-	  the playback is allright
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750783
-
-2015-07-06 14:31:24 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* scripts/git-update.sh:
-	  Revert "scripts: Allow passing make flags to git-update.sh"
-	  This reverts commit ab5fdd72129ea61e8dff51cdc0afcccac03ebc2b.
-	  We can use the MAKEFLAGS environment variable to pass options to make,
-	  so avoid adding another mechanism that could be confusing.
-
-2015-07-06 11:16:27 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* gst/gstpad.h:
-	  pad: Clarify pad probe return type documentation
-
-2015-07-02 14:32:21 +0800  Song Bing <b06498@freescale.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Shouldn't drop buffer when sync=false
-	  Shouldn't drop buffer when sync=false
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751819
-
-2015-07-06 11:25:50 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* scripts/git-update.sh:
-	  scripts: Allow passing make flags to git-update.sh
-	  Mostly adding this for add a -jN as appropriate while building.
-
-2015-05-30 14:27:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: avoid slice allocs/frees for each item
-	  Microoptimisation: Let GstQueueArray store our
-	  item struct. That way we don't have to alloc/free
-	  temporary QueueItem slices for every item we want
-	  to put into the queue.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750149
-
-2015-05-30 13:07:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* win32/common/libgstbase.def:
-	  queuearray: allow storing of structs in addition to pointers
-	  This way we don't have to allocate/free temporary structs
-	  for storing things in the queue array.
-	  API: gst_queue_array_new_for_struct()
-	  API: gst_queue_array_push_tail_struct()
-	  API: gst_queue_array_peek_head_struct()
-	  API: gst_queue_array_pop_head_struct()
-	  API: gst_queue_array_drop_struct()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750149
-
-2015-07-03 21:57:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From f74b2df to 9aed1d7
-
-2015-06-19 00:05:44 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstbin.c:
-	  pad: Enforce NEED_PARENT flag also for chain
-	  The check for the presence of the parent in the presence of
-	  the NEED_PARENT flag was missing for the chain function. Also keep
-	  a ref on the parent in case the pad is removed mid-chain.
-
-2015-07-03 15:55:08 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: update for two missing elements
-	  Concat was not linked and streamiddemux was missing.
-
-2015-07-03 12:37:54 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	* plugins/elements/gstfakesrc.c:
-	  docs: another sweep canonicalizing the plugin docs sections file
-	  Use underscores for capsfilter macros. Correct the type-name for fakesrc
-	  if we ever implement the enum.
-
-2015-07-03 11:45:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* plugins/elements/gsttypefindelement.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
-	  typefine element, since it is not used and the header is not installed.
-
-2013-12-16 11:24:17 +0100  Stian Selnes <stian@pexip.com>
-
-	* gst/gstmemory.h:
-	  memory: Add missing field initializers to GstMapInfo
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751881
-
-2015-07-02 15:10:43 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: remove always-true check
-	  event can't be NULL, it has been dereferenced by GST_EVENT_TYPE (), and no
-	  case frees the pointer. Remove unnecessary check which will always be True.
-	  CID #1308955
-
-2015-07-01 10:50:19 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  transform: 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-07-01 10:45:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: 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-07-01 10:36:36 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Don't copy "memory" metas unconditionally
-	  Don't copy memory metas if we only copied part of the buffer, didn't
-	  copy memories or merged memories. In all these cases the memory
-	  structure has changed and the memory meta becomes meaningless.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751712
-
-2015-07-01 10:25:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  Revert "buffer: Don't copy POOLED and memory metadata unconditionally"
-	  This reverts commit 7a08fa5ec4804f104e9aa9f458322f6eb49a7e49.
-
-2015-06-30 13:38:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Don't copy POOLED and memory metadata unconditionally
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751712
-
-2015-06-30 11:18:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Use new gst_adapter_get_buffer() API instead of gst_adapter_map()
-	  This preserves GstMeta properly unless the subclass does special things. It's
-	  enough to make h264parse's stream-format/alignment conversion pass through
-	  metas as needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
-
-2015-06-30 11:11:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* win32/common/libgstbase.def:
-	  adapter: Add get variants of the buffer based take functions
-	  Main difference to gst_adapter_map() for all practical purposes is that
-	  GstMeta of the buffers will be preserved.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
-
-2015-06-29 17:03:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: Copy over GstMeta from the input buffers to the output
-	  All functions that return a GstBuffer or a list of them will now copy
-	  all GstMeta from the input buffers except for meta with GST_META_FLAG_POOLED
-	  flag or "memory" tag.
-	  This is similar to the existing behaviour that the caller can't assume
-	  anything about the buffer flags, timestamps or other metadata. And it's
-	  also the same that gst_adapter_take_buffer_fast() did before, and what
-	  gst_adapter_take_buffer() did if part of the first buffer or the complete
-	  first buffer was requested.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742385
-
-2015-06-29 20:27:12 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Init function can take a NULL interfaces array
-
-2015-06-29 13:57:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: caps: fix test_intersect_flagset failure
-	  test_intersect_flagset fails because when caps is being
-	  created, flags and mask are being cast to uint64 while
-	  they should be uint. This results in invalid memory access
-	  or a segfault.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751628
-
-2015-06-29 14:22:46 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  scripts: Fix GST_VALIDATE_PLUGIN_PATH
-	  It moved recently
-
-2015-06-29 13:58:04 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Fix up documentation of transform_meta vfunc
-	  By default we copy all metas that have no tags.
-
-2015-06-29 10:41:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	  directcontrolbinding: fix ABI break
-	  Structure size was increased without adjustment of the padding.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751622
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740502
-
-2015-03-19 15:55:14 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* gst/gsttask.c:
-	  task: guard against NULL task function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746439
-
-2015-05-14 11:48:45 +0200  Miguel París Díaz <mparisdiaz@gmail.com>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstfunnel.h:
-	  funnel: add "forward-sticky-events" property
-	  It is useful to avoid sending sticky event on stream changes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749315
-
-2015-06-25 00:04:07 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.5.2 ===
-
-2015-06-24 22:49:17 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.5.2
-
-2015-06-24 22:45:00 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-06-22 23:37:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstutils.c:
-	  tests: gstutils: fix wrong description of test element
-	  It is a fakesink with request pads, not a source
-
-2015-06-24 15:35:16 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: Fixed compiler warning
-	  The pool variable was unused when buidling with debug disabled.
-
-2015-06-24 11:13:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/cs.po:
-	* po/de.po:
-	* po/hu.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/uk.po:
-	* po/vi.po:
-	  po: Update translations
-
-2015-06-24 11:12:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update .def file for new API
-
-2015-06-24 14:19:04 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: need to deep-copy last buffer list in drain
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751420
-
-2015-06-24 10:52:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: Warn if copying a buffer fails in gst_buffer_list_copy_deep()
-
-2015-06-24 14:18:47 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: add new api gst_buffer_list_copy_deep
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751420
-
-2015-06-23 16:58:56 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* libs/gst/check/gstcheck.c:
-	* tests/check/gst/gstobject.c:
-	  gstcheck: Print newline in message handler
-	  The message handler is supposed to print a newline after the message
-	  just like the default message handler.
-
-2015-06-12 16:54:32 +0800  Song Bing <b06498@freescale.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Handle different duration track selection
-	  Support track switch from EOS track to non-EOS one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750761
-
-2015-06-12 16:52:46 +0800  Song Bing <b06498@freescale.com>
-
-	* gst/gstpad.c:
-	  pad: Clear EOS flag after received STREAM_START event
-	  Clear EOS flag after received STREAM_START event
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750761
-
-2015-06-22 14:30:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstutils.c:
-	  tests: gstutils: add tests for gst_element_get_compatible_pad
-	  Adds tests for gst_element_get_compatible_pad for when it has to
-	  request pads.
-	  Note that these tests don't cover the case when it has to request
-	  a pad that already exists.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751235
-
-2015-06-19 15:46:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstutils.c:
-	  utils: use caps when getting a compatible pad by template
-	  Do not ignore the caps argument when requesting a pad by template.
-	  This is particularly harmful when the pad caps query by default
-	  returns ANY so it will match the first template instead of the
-	  one that actually intersects with the caps.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751235
-
-2015-06-23 00:14:30 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstsample.h:
-	  gstsample.h: Include gstbufferlist.h now that it uses GstBufferList
-
-2015-06-17 16:12:13 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: when releasing pad, send EOS appropriately.
-	  Previously, concat sent an EOS if there was a next pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751107
-
-2015-06-16 16:14:18 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gstconcat.h:
-	  concat: Add adjust-base property
-	  This disables the segment.base adjustments, which is useful if downstream
-	  takes care of base adjustments already (example: a combination of concat
-	  and streamsynchronizer)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751047
-
-2015-06-22 14:04:45 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Unset the last buffer list if we only got a buffer
-	  Also remember any preroll buffer list.
-
-2015-06-22 13:33:29 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  sample: Add new API to the docs
-
-2015-06-22 20:02:55 +0900  Hyunjun <zzoon.ko@samsung.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: enable to get last sample including buffer list if needed
-	  In case of a buffer list rendering, last-sample is not updated.
-	  It needs to be updated and enable to get buffer list from last-sample.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751026
-
-2015-06-22 19:35:40 +0900  Hyunjun <zzoon.ko@samsung.com>
-
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	  sample: add gst_sample_set/get_buffer_list apis
-	  Allowed to set/get buffer list to sample if needed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=751026
-
-2015-06-19 10:52:10 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* test.py:
-	  test.py: remove accidentally committed file
-
-2015-06-18 11:51:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstelementfactory.h:
-	* gst/gstsegment.h:
-	* gst/gstsystemclock.h:
-	* libs/gst/base/gstbasetransform.h:
-	  doc: Unify Since mark for attribute and enum
-	  As this show up as prose in the doc, simply make it consistent
-	  and "arguable" nicer to read.
-
-2015-06-18 11:48:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  doc: Remove parenthesis around Since:
-	  This confuse the parser, hence it does not endup in the doc and the
-	  index properly.
-
-2015-05-06 16:44:48 +1000  Jan Schmidt <jan@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  Add GstParentBufferMeta
-	  A core meta which helps implement the old concept
-	  of sub-buffering in some situations, by making it
-	  possible for a buffer to keep a ref on a different
-	  parent buffer. The parent buffer is unreffed when
-	  the Meta is freed.
-	  This meta is used to ensure that a buffer whose
-	  memory is being shared to a child buffer isn't freed
-	  and returned to a buffer pool until the memory
-	  is.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750039
-
-2015-06-16 18:08:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* test.py:
-	  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:46:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6015d26 to f74b2df
-
-2015-06-15 10:06:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  clock: Fix _STIME_FORMAT macros
-	  This macro didn't work well as it relied on the sign on the last
-	  divided number (number of days). This value is most of the time
-	  zero, and zero is considered positive in printf. Instead, deal with
-	  the sign manually, and resuse the original macros for the rest. This
-	  actually simplify the macro a lot.
-
-2015-06-14 20:48:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: reset segment only once streaming has stopped
-	  Fixes the occasional criticals in the discoverer unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745073
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750823
-
-2015-06-14 11:23:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  doc: Add more missing symbols in lib-sections.txt
-	  These where causing broken links.
-
-2015-06-14 11:22:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/net/gstnetaddressmeta.c:
-	  doc: Fix reference to unknown type GstNetAddress
-
-2015-06-14 11:22:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	  doc: Include and fix GstControlPoint
-
-2015-06-14 11:21:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  doc: Add GstNetControlMessageMeta to the doc
-	  This is being referenced elsewhere, but results in broken links.
-	  It seems to be public API, so I think it should be in the doc.
-
-2015-06-14 10:59:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstpushsrc.h:
-	  doc: Document GstPushSrcClass
-
-2015-06-14 10:58:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.h:
-	  doc: Better document new GstCollectData.ABI.abi.dts
-	  The doc generator get confused with the inline structure. So
-	  workaround by wrapping the inner of the structure with
-	  public/private mark, and document that GST_COLLECT_PADS_DTS macro
-	  shall be used to access this.
-
-2015-06-14 10:56:28 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/net/gstnetcontrolmessagemeta.h:
-	* libs/gst/net/gstptpclock.h:
-	  doc: Various doc fixes for libgstreamer-base
-	  * Fix function name in sections.txt
-	  * Add few missing or fix miss-named
-	  * Workaround gtk-doc being confused with non typedef
-	  types (loose track of public/private
-
-2015-06-14 10:25:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstvalue.c:
-	  doc: More doc warning fixes
-	  So from this point, the remaining warning for libgstreamer are about
-	  protected member not showing in the doc. This may need some discussion
-	  with upstream gtk-doc people.
-	  * Remove % in from of none macro
-	  * Fixed GST_TYPE_FAGS -> GST_TYPE_FAG_SET
-	  * Minor wording fix
-	  * Can't link to GstUri.port, so split the .port part
-
-2015-06-14 09:17:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  doc: In GstUri we meant nul-terminated, not %NULL
-	  %NULL refers to the pointer. I've written it this way in one
-	  word as this is what GLib uses.
-
-2015-06-13 21:02:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstplugin.h:
-	  doc: Cannot reference GST_PACKAGE_RELEASE_DATETIME
-	  So simply remove the % sign.
-
-2015-06-13 20:52:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  doc: Fix typo in ref _clock_wait_for_sync()
-
-2015-06-13 20:37:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  doc: Fix GstUri doc typos
-	  * Use &perctn; instead of reserved character %
-	  * NULL take two L
-
-2015-06-13 20:19:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstallocator.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.h:
-	* gst/gstclock.h:
-	* gst/gsterror.h:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstprotection.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  doc: Fix Since: marks
-	  There was few Since: mark missing their column. Also unify the way
-	  we set the Since mark on enum value and structure members. These
-	  sadly don't show up in the index.
-
-2015-06-13 20:01:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	  doc: Add gst_buffer_copy_deep()
-
-2015-06-13 19:47:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  gi: Skip gst_consitency_checker_new
-	  This non boxed type cannot be allocated safely.
-
-2015-06-13 19:46:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  doc: Add indexes of added APIs
-	  One of the nice feature in GTK doc is that it generate indexes
-	  of added APIs base on the since marker. Include that in our doc
-	  while fixing the issue of duplicate ID (produce xml contains that
-	  id it seems)
-
-2015-06-13 15:10:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  doc: Make ..._source_find_control_point_iter transfer none
-
-2015-06-13 14:40:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/net/gstntppacket.c:
-	  doc: Silence warning about unused gstntppacket section
-	  This API is internal.
-
-2015-06-13 14:37:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/net/gstntppacket.c:
-	  Revert "doc: Add GstNtpPacket to the doc"
-	  This reverts commit c4eb876961aba1092c4831a8feaf48d7be1e38ae.
-	  Oops, this is not a public API
-
-2015-06-13 14:21:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/net/gstntppacket.c:
-	  doc: Add GstNtpPacket to the doc
-
-2015-06-13 13:55:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstindex.c:
-	  doc: Remove gstindex from doc comment
-	  Moving that to normal comment to silence the generator. GstIndex
-	  is not in GStreamer library at the moment (removed from 0.10).
-
-2015-06-13 13:48:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  gi: Set collectpads function param scope
-
-2015-06-13 13:42:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter.c:
-	  gi: Skip allocator of non-boxed structure
-	  These are not usable as they are, and can easily lead to crash
-	  or leaks. This also silence warning from the scanner. If we manage to
-	  make this usable, we can then remove that mark, it will require
-	  to make this type boxed.
-
-2015-06-13 13:24:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Give gstconfig a nice name
-	  As all other section do have a nice came case name, it seems
-	  more consistent.
-
-2015-06-13 13:19:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Add missing gst_event_new/parse_protection
-
-2015-06-13 13:19:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Give gstprotection section a nice title
-
-2015-06-13 13:14:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  doc: Remove uneeded protectionevent section
-	  These functions are part of gstevent section already. Keep the doc,
-	  since it's good.
-
-2015-06-13 12:32:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: Add missing scope to func param
-	  This tell GI if this function is for actions (call) or is the
-	  answer of this method being asynchronous (async). In this case
-	  it's a call. This also silence warning from the GI scanner.
-
-2015-06-13 12:27:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstprotection.h:
-	  gstprotection: Add missing Since 1.6 mark
-
-2015-06-13 12:26:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstprotection.c:
-	  gstprection: _add_protection_meta() is transfer none
-	  Just like gst_buffer_add_meta() this function should also be
-	  transfer none. This also silence a gi warning about returning
-	  a copy of a non boxed bare structure.
-
-2015-06-13 12:25:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstprotection.c:
-	* gst/gstprotection.h:
-	* tests/check/gst/gstprotection.c:
-	  gstprotection: Add missing namespace to macro
-	  GST_PROTECTION_SYSTEM_ID_CAPS_FIELD was missing the GST_ namespace.
-	  Add it before its too late.
-
-2015-06-13 11:55:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstversion.h.in:
-	  doc: Keep SECTION: after the ifdef
-	  Otherwise GTK doc will see it as often as we include that files
-	  and warn about duplicated SECTION:
-
-2015-06-13 10:23:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  gi: Skip mini object method that play with refcounting
-	  It make no sense to allow using that. Any use would lead to leak
-	  of crash. Note that GMiniObject is entirely unusable as you cannot
-	  cast from let's say GstBuffer to GstMiniObject.
-
-2015-06-13 15:05:05 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	  libs: more doc scanner fixes
-	  gstbasetransform.h:196: Warning: GstBase: "@submit_input_buffer" parameter unexpected at this location:
-	  * @submit_input_buffer: Function which accepts a new input buffer and pre-processes it.
-	  gstnetcontrolmessagemeta.c:103: Warning: GstNet: gst_buffer_add_net_control_message_meta: unknown parameter 'message' in documentation comment, should be 'addr'
-
-2015-06-13 09:37:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	  doc: Fix annoation for GstMiniObject
-	  Replacing reprecated "Ref Func:", "Unref Fun:" etc. comment block
-	  with appropriate (ref-func name) etc. annotation.
-
-2015-06-13 09:34:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstelementfactory.h:
-	  doc: Fix unbalanced parenthesis
-
-2015-06-13 09:30:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  doc: Fix more typo
-
-2015-06-13 09:22:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  doc: Fix type in previous commit
-	  Marker is (value .. not (alue.
-
-2015-06-13 09:19:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstclock.h:
-	* gst/gstelementfactory.h:
-	  doc: Don't use deprecated Value: and Type: comment
-	  Instead use appropriate annotation. Annotations can be added
-	  to the right of the constant name in a comment block.
-
-2015-06-12 17:07:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  collectpads: Add new macro to the doc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-06-12 17:07:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  clock: Add new signed time macro to the doc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-06-10 14:17:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Don't initially send an invalid DTS
-	  Sending a possibly invalid DTS may confuse the muxers, which will
-	  then think the DTS is going backward.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-04-03 17:54:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* tests/check/libs/collectpads.c:
-	  collectpads: Add negative DTS support
-	  Make gst_collect_pads_clip_running_time() function also store the
-	  signed DTS in the CollectData. This signed DTS value can be used by
-	  muxers to properly handle streams where DTS can be negative initially.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-06-12 12:06:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstclock.h:
-	  clock: Add signed time utilities
-	  Add utility to print signed value of time. This is useful to
-	  trace running time values in gint64 or GstClockTimeDiff values.
-	  Additionally, define GST_CLOCK_STIME_NONE to indicate an invalid
-	  signed time value and validation macro. New macros are:
-	  GST_CLOCK_STIME_NONE
-	  GST_CLOCK_STIME_IS_VALID
-	  GST_STIME_FORMAT
-	  GST_STIME_ARGS
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-06-10 20:44:26 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstmessage.c:
-	  message: add allow-none to gst_message_new_ function
-	  No restriction for creating messages without a source
-
-2015-06-12 13:45:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstcontroller.def:
-	  win32: update .def file for new API
-
-2015-05-27 12:29:41 +0300  Lazar Claudiu <lazar.claudiu.florin@gmail.com>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/controller/absolute-example.c:
-	  controller: Added absolute direct control binding, example and test
-	  Fixes: 740502
-	  API: gst_direct_control_binding_new_absolute
-
-2015-06-04 00:03:16 +1000  Matthew Waters <matthew@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstallocator.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: provide a mem_map_full that takes the GstMapInfo
-	  Follow up of 7130230ddb349d0ca7942abdba26b7558df055d1
-	  Provide the memory implementation the GstMapInfo that will be used to
-	  map/unmap the memory.  This allows the memory implementation to use
-	  some scratch space in GstMapInfo to e.g. track different map/unmap
-	  behaviour or store extra implementation defined data about the map
-	  in use.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750319
-
-2015-04-08 14:21:43 -0700  Alison Chaiken <alison_chaiken@mentor.com>
-
-	* docs/manual/basics-pads.xml:
-	  docs: manual: fix name reversal in basics-pads
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747532
-
-2015-06-11 23:06:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  gst_writev: define UIO_MAXIOV on iOS/OSX
-	  Apparently it's only seton iOS/OSX if defined(KERNEL).
-
-2015-06-12 01:15:19 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  gst_writev: Respect UIO_MAXIOV limit for the iov array
-	  If we receive more than UIO_MAXIOV (1024 typically) buffers
-	  in a single writev call, fall back to consolidating them
-	  into one output buffer or multiple write calls.
-	  This could be made more optimal, but let's wait until it's
-	  ever a bottleneck for someone
-
-2015-06-11 12:34:04 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* win32/common/libgstreamer.def:
-	  pipeline: Add gst_pipeline_set_latency(), getter and GObject property
-	  This overrides the default latency handling and configures the specified
-	  latency instead of the minimum latency that was returned from the LATENCY
-	  query.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750782
-
-2015-06-11 11:37:30 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Add active-pad property
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746949
-
-2015-06-11 11:05:53 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Also reset the current start offset when receiving a FLUSH_STOP on the srcpad
-
-2015-06-11 11:05:38 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Add some newlines to event handling code to make the code look a bit less dense
-
-2015-06-11 10:53:30 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Reset segment base offset after FLUSH_STOP with reset_time = TRUE
-	  If the reset_time value of a FLUSH_STOP event is set to TRUE, the pipeline
-	  will have the base_time of its elements reset. This means that the concat
-	  element's current_start_offset has to be reset to 0, since it was
-	  calculated with the old base-time in mind.
-	  Only FLUSH_STOP events coming from the active pad are looked at.
-	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
-
-2015-03-28 16:46:32 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Forward FLUSH_START and FLUSH_STOP events
-	  Without this, seeking deadlocks if performed while the pipeline is paused.
-	  Only flush events coming from the active pad are forwarded.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745366
-
-2015-06-09 14:28:30 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* Makefile.am:
-	  cruft: add the obsolete tmpl dir to cruft-dirs
-
-2015-06-09 11:30:10 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From d9a3353 to 6015d26
-
-2015-06-09 11:01:53 +0200  Edward Hervey <edward@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Fix fsync/_commit usage
-	  _MSC_VER will only be defined when building *on* windows and not just
-	  *for* windows. Instead, use the G_OS_WIN32 define
-
-2015-06-09 10:59:42 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp: Check for the actual API we use instead of just looking for __APPLE__
-	  Should fix the build on FreeBSD, DragonFly and other BSDs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750530
-
-2015-06-08 17:10:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Use the new GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC flag
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750574
-
-2015-06-08 17:04:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Make the clock a wrapper clock around an internal clock
-	  The internal clock is only used for slaving against the remote clock, while
-	  the user-facing GstClock can be additionally slaved to another clock if
-	  desired. By default, if no master clock is set, this has exactly the same
-	  behaviour as before. If a master clock is set (which was not allowed before),
-	  the user-facing clock is reporting the remote clock as internal time and
-	  slaves this to the master clock.
-	  This also removes the weirdness that the internal time of the netclientclock
-	  was always the system clock time, and not the remote clock time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750574
-
-2015-06-08 23:07:40 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From d37af32 to d9a3353
-
-2015-06-08 20:00:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/fakesink.c:
-	  tests: fakesink: fix string leak in unit test
-
-2015-06-09 00:52:34 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Fix Windows build by using _commit instead of fsync.
-
-2015-06-08 12:22:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Make sure to always initialize the variables we put into the statistics structure later
-	  CID 1304676, 1304677, 1304678, 1304679.
-
-2015-06-08 12:02:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp: Ensure that not too much is read from or written to struct ifreq.ifr_name
-
-2015-06-08 19:33:03 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Add Since markers for new vfuncs
-	  Add Since: 1.6 markers for the new submit_input_buffer() and
-	  generate_output() vfuncs
-
-2015-05-23 01:08:29 +1000  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform2.c:
-	  basetransform: Split input buffer processing from output generation
-	  Allow for sub-classes which want to collate incoming buffers or
-	  split them into multiple output buffers by separating the input
-	  buffer submission from output buffer generation and allowing
-	  for looping of one of the phases depending on pull or push mode
-	  operation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750033
-
-2015-04-16 10:32:02 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbuffer.h:
-	* plugins/elements/gstfilesink.c:
-	  Add GST_BUFFER_FLAG_SYNC_AFTER flag, and implement in filesink.
-	  Makes it possible to get filesink to fsync() after rendering
-	  a buffer.
-
-2015-06-08 10:46:24 +0200  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Fix build on Windows, and in general the GI build when PTP support was not available
-	  It's not going to work on Windows still, the helper process needs to be
-	  ported.
-
-2015-06-07 23:05:53 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 21ba2e5 to d37af32
-
-2015-06-07 17:31:50 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From c408583 to 21ba2e5
-
-2015-06-07 16:58:40 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* 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:06 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From d676993 to c408583
-
-2015-06-07 16:44:26 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-2015-06-07 10:52:33 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstntppacket.c:
-	  netclientclock: The NTP poll interval is a signed int8, not unsigned
-
-=== release 1.5.1 ===
-
-2015-06-07 09:41:28 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.5.1
-
-2015-06-07 09:33:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/cs.po:
-	* po/de.po:
-	* po/fr.po:
-	* po/tr.po:
-	  po: Update translations
-
-2015-06-07 09:32:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Add Since marker to the docs for gst_ntp_clock_new()
-
-2015-06-07 09:32:12 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2015-06-07 09:08:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstmemory.c:
-	  memory: Fix compiler warnings in unit test
-	  gst/gstmemory.c:570:38: error: implicit conversion from enumeration type 'GstMapFlags' to different enumeration
-	  type 'GstLockFlags' [-Werror,-Wenum-conversion]
-	  fail_unless (gst_memory_lock (mem, GST_MAP_WRITE));
-	  ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
-
-2015-06-07 08:59:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Use the current path delay for calculation the local/remote clock times
-	  The mean might currently be changing, and the current path delay is the
-	  closest we can get to the actual delay around the current SYNC message.
-
-2015-06-06 23:05:32 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Add some copyright stuff
-
-2015-06-06 21:43:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstntppacket.c:
-	* libs/gst/net/gstntppacket.h:
-	* win32/common/libgstnet.def:
-	  netclientclock: Add NTPv4 support
-	  This uses all of the netclientclock code, except for the generation and
-	  parsing of packets. Unfortunately some code duplication was necessary
-	  because GstNetTimePacket is public API and couldn't be extended easily
-	  to support NTPv4 packets without breaking API/ABI.
-
-2015-06-06 20:39:47 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Preparation for NTPv4 support
-	  We extend our calculations to work with local send time, remote receive time,
-	  remote send time and local receive time. For the netclientclock protocol,
-	  remote receive and send time are assumed to be the same value.
-	  For the results, this modified calculation makes absolutely no difference
-	  unless the two remote times are different.
-
-2015-06-06 19:01:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock. Fix last commit
-	  Apparently I failed at git add -i.
-
-2015-06-06 18:42:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Make gst_net_client_clock_new() a thing wrapper around g_object_new()
-	  Bindings will like this, and also it fixes a FIXME comment.
-
-2015-06-06 14:34:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Use #define everywhere instead of G_N_ELEMENTS()
-
-2015-06-06 14:31:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: Filter RTTs based on the median of the last RTTs before considering them at all
-	  This improves accuracy on wifi or similar networks, where the RTT can go very
-	  high up for a single observation every now and then. Without filtering them
-	  away completely, they would still still modify the average RTT, and thus all
-	  clock estimations.
-
-2015-06-06 14:19:21 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Use a system clock for the time observations instead of gst_util_get_timestamp()
-	  They don't necessarily use the same underlying clocks (e.g. on Windows), or
-	  might be configured to a different clock type (monotonic vs. real time clock).
-	  We need the values a clean system clock returns, as those are the values used
-	  by the internal clocks.
-
-2015-06-06 12:35:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: Fix documentation a bit
-
-2015-06-05 19:35:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/fakesink.c:
-	  tests: fakesink: test notify::last-message and deep-notify::last-message
-	  deep-notify::last-message seems to cause some problems, so disable for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681642
-
-2015-06-05 10:02:04 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Post an error if we can't typefind the data until EOS
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750439
-
-2015-06-04 19:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp-helper: Make sure to use g_poll() for the main context
-	  The modified main context from https://bugzilla.gnome.org/show_bug.cgi?id=741054
-	  somehow calls setugid(), which abort()s setuid root applications on OSX.
-
-2015-06-04 18:32:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp-helper: Make sure that we are running setuid root if configured that way
-
-2015-06-04 18:00:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp-helper: Fix interface listing and MAC retrieval on OSX
-
-2015-06-03 19:04:15 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* tools/gst-indent:
-	  gst-indent: Add support for gindent as executable name
-	  gst-indent used to support gnuindent and indent as executable names.
-	  However, on OSX one can "brew install gnu-indent" and then the
-	  executable name will be gindent. Added support for that.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750351
-
-2015-06-03 16:42:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* libs/gst/helpers/.gitignore:
-	  gitignore: add libs/gst/helpers/gst-ptp-helper
-
-2015-06-03 16:34:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  ptp: ignore permission errors in Makefile
-	  To satisfy the buildslaves ignore permission errors in chown, chmod and setcap
-
-2015-06-03 17:06:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/helpers/gst-ptp-helper.c:
-	  ptp: Don't use SIOCGIFHWADDR on Apple
-	  Just #ifdef the code for now, this should be implemented around
-	  IOKit later instead of using ioctls.
-
-2015-06-03 16:28:44 +0200  Philippe Normand <philn@igalia.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  build: make install-exec-hooks depend on install-helpersPROGRAMS
-	  To avoid race conditions where make would try to change ownership and
-	  permissions of the not-yet-installed ptp helper.
-
-2015-06-03 16:08:43 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Fix debug output to print the difference instead of absolute values
-
-2015-06-03 15:22:31 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptpclock: fix compilation
-	  Don't put code between declarations.
-	  Fix use of uninitialized variables
-
-2015-06-03 11:04:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Add median based pre-filtering of delays
-	  If the delay measurement is too far away from the median of the window of last
-	  delay measurements, we discard it. This increases accuracy on wifi a lot.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
-
-2015-06-02 15:24:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Add #define to only use SYNC messages for which we can send DELAY_REQ
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
-
-2015-05-15 16:58:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/net/gstptpclock.c:
-	  ptp: Add #defines to enable/disable improvements for unreliable networks
-	  We should do some more measurements with all these and check how much sense
-	  they make for PTP. Also enabling them means not following IEEE1588-2008 by the
-	  letter anymore.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
-
-2015-05-14 12:18:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/helpers/gst-ptp-helper.c:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstptp_private.h:
-	* libs/gst/net/gstptpclock.c:
-	* libs/gst/net/gstptpclock.h:
-	* libs/gst/net/net.h:
-	* tests/examples/Makefile.am:
-	* tests/examples/ptp/.gitignore:
-	* tests/examples/ptp/Makefile.am:
-	* tests/examples/ptp/ptp-print-times.c:
-	* win32/common/libgstnet.def:
-	  ptp: Initial implementation of a PTP clock
-	  GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in
-	  slave-only mode, that allows a GStreamer pipeline to synchronize
-	  to a PTP network clock in some specific domain.
-	  The PTP subsystem can be initialized with gst_ptp_init(), which then
-	  starts a helper process to do the actual communication via the PTP
-	  ports. This is required as PTP listens on ports < 1024 and thus
-	  requires special privileges. Once this helper process is started, the
-	  main process will synchronize to all PTP domains that are detected on
-	  the selected interfaces.
-	  gst_ptp_clock_new() then allows to create a GstClock that provides the
-	  PTP time from a master clock inside a specific PTP domain. This clock
-	  will only return valid timestamps once the timestamps in the PTP domain
-	  are known. To check this, the GstPtpClock::internal-clock property and
-	  the related notify::clock signal can be used. Once the internal clock
-	  is not NULL, the PTP domain's time is known. Alternatively you can wait
-	  for this with gst_ptp_clock_wait_ready().
-	  To gather statistics about the PTP clock synchronization,
-	  gst_ptp_statistics_callback_add() can be used. This gives the
-	  application the possibility to collect all kinds of statistics
-	  from the clock synchronization.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
-
-2015-06-03 13:16:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related API
-	  gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced()
-	  plus a signal to asynchronously wait for the clock to be synced.
-	  This can be used by clocks to signal that they need initial synchronization
-	  before they can report any time, and that this synchronization can also get
-	  completely lost at some point. Network clocks, like the GStreamer
-	  netclientclock, NTP or PTP clocks are examples for clocks where this is useful
-	  to have as they can't report any time at all before they're synced.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749391
-
-2015-06-03 18:03:36 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstallocator.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: provide a mem_unmap function that takes the flags to unmap
-	  There are gstmemory's available that operate in two memory domains
-	  and need to ensure consistent access between these domains.
-	  Imagine a scenario where e.g. the GLMemory is mapped twice in both
-	  the GPU and the CPU domain.  On unmap or a subsequent map, it would
-	  like to ensure that the most recent data is available in the memory
-	  domain requested.  Either by flushing the writes and/or initiating a
-	  DMA transfer.  Without knowing which domain is being unmapped, the
-	  memory does not know where the most recent data is to transfer to
-	  the other memory domain.
-	  Note: this still does not allow downgrading a memory map.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750319
-
-2015-06-02 16:14:50 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: gst_memory_share may fail to exclusively lock the parent memory
-	  Now that locking exclusively dows not always succeed, we need to signal
-	  the failure case from gst_memory_init.
-	  Rather than introducing an API or funcionality change to gst_memory_init,
-	  workaround by checking exclusivity in the calling code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
-
-2015-06-02 00:23:37 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: locking memory exclusively may fail
-	  Attempt to return a copy of the memory instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
-
-2015-05-31 21:25:23 +1000  Matthew Waters <matthew@centricular.com>
-
-	* gst/gstminiobject.c:
-	* tests/check/gst/gstmemory.c:
-	  miniobject: disallow a double write/exclusive lock
-	  gst_memory_lock (mem, WRITE | EXCLUSIVE);
-	  gst_memory_lock (mem, WRITE | EXCLUSIVE);
-	  Succeeds when the part-miniobject.txt design doc suggests that this should fail:
-	  "A gst_mini_object_lock() can fail when a WRITE lock is requested and
-	  the exclusive counter is > 1. Indeed a GstMiniObject object with an
-	  exclusive counter 1 is locked EXCLUSIVELY by at least 2 objects and is
-	  therefore not writable."
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750172
-
-2015-06-02 20:32:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: match return type of get_uri_type() implementation to declaration
-	  https://bugzilla.gnome.org/show_bug.cgi?id=750292
-
-2015-06-03 00:12:36 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Add a note about metas needing to be copied last
-
-2015-05-27 22:23:00 +1000  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: Implement gst_value_is_subset() for flagsets
-
-2015-06-02 16:33:48 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/gst/gstprotection.c:
-	  check: Use GST_CHECK_MAIN macro
-
-2015-05-20 21:18:08 +0900  eunhae choi <eunhae1.choi@samsung.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: release lock before posting msg
-	  to avoid the deadlock in playbin2,
-	  send msg after release the download buffer lock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749535
-
-2015-05-31 20:21:42 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* gst/gststructure.c:
-	  structure: add note about missing field creation on _set()
-
-2015-05-30 13:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gststructure.c:
-	  tests: fix some leaks in new flagset checks
-
-2015-05-30 12:39:19 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: remove duplicate assignment
-	  We've already done this earlier in the function,
-	  and nothing has changed since we first read it.
-
-2015-05-27 17:22:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gst.c:
-	  gst/gst.c: Add a warning about DllMain to prevent misuse
-	  DllMain should not be relied on for anything except storing the DLL handle.
-	  It should also not be defined for static builds, but doing so is not
-	  straightforward and is mostly harmless, so let's just add a comment about that
-	  for now.
-
-2015-05-27 13:54:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Improve debug output a bit
-
-2015-05-26 14:46:16 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* docs/design/draft-klass.txt:
-	  docs: fix typo in draft-klass.txt
-
-2015-05-26 14:03:25 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* docs/code-reviews/README:
-	* docs/code-reviews/gstbin.c-1.41:
-	  code-reviews: remove obsolete code reviews
-	  This obsolete folder hasn't been touched since 2001 and has no purpose. It
-	  confuses new developers.
-
-2015-05-25 21:02:28 +1000  Matthew Waters <matthew@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use the slightly more correct take_sample for last-sample
-	  gst_value_take_buffer() and gst_value_take_sample() both resolve to
-	  g_value_take_boxed().  Use the method with the correct name if we
-	  ever change that.
-
-2015-05-25 16:23:33 +1000  Jan Schmidt <jan@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* tests/check/gst/capslist.h:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  gstvalue: Add GstFlagSet type
-	  GstFlagSet is a new type designed for negotiating sets
-	  of boolean capabilities flags, consisting of a 32-bit
-	  flags bitfield and 32-bit mask field. The mask field
-	  indicates which of the flags bits an element needs to have
-	  as specific values, and which it doesn't care about.
-	  This allows efficient negotiation of arrays of boolean
-	  capabilities.
-	  The standard serialisation format is FLAGS:MASK, with
-	  flags and mask fields expressed in hexadecimal, however
-	  GstFlagSet has a gst_register_flagset() function, which
-	  associates a new GstFlagSet derived type with an existing
-	  GFlags gtype. When serializing a GstFlagSet with an
-	  associated set of GFlags, it also serializes a human-readable
-	  form of the flags for easier debugging.
-	  It is possible to parse a GFlags style serialisation of a
-	  flagset, without the hex portion on the front. ie,
-	  +flag1/flag2/flag3+flag4, to indicate that
-	  flag1 & flag4 must be set, and flag2/flag3 must be unset,
-	  and any other flags are don't-care.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746373
-
-2015-05-20 20:19:29 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstvalue.c:
-	  gstvalue: Add a comparision function for GstStructures
-
-2015-05-19 14:34:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  net: keep GCancellable fd around instead of re-creating it constantly
-	  Just create the cancellable fd once and keep it around instead
-	  of creating/closing it for every single packet. Since we spend
-	  most time waiting for packets, an fd is alloced and in use pretty
-	  much all the time anyway.
-
-2015-05-18 12:52:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  Revert "doc: Workaround gtkdoc issue"
-	  This reverts commit 460a7bf68292d057c77e84d1ea86b8e73fc081f3.
-	  This should be fixed by the gtk-doc 1.23 release.
-	  <para> cannot contain <refsect2>:
-	  http://www.docbook.org/tdg/en/html/para.html
-	  http://www.docbook.org/tdg/en/html/refsect2.html
-
-2015-05-11 10:52:23 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstsparsefile.c:
-	  sparsefile: small cleanup
-	  The error path unrefs file->file so make sure we only go there when
-	  there is a non-NULL file->file.
-
-2015-05-16 23:29:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* plugins/elements/gstfdsrc.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-13 13:28:05 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-negotiation.txt:
-	  docs/design/part-negotiation.txt: minor corrections
-
-2015-05-16 12:57:12 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  timedvaluecontrolsource: Check that the only iter is the end iter in the GSequence
-	  Previous patch was assuming that if the returned iter was the last iter
-	  the GSequence was empty, which is obviously wrong.
-
-2015-05-16 11:17:40 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  timedvaluecontrolsource: Fix removing all keyframes, and adding one back
-	  We were segfaulting because g_sequence_search was returning the iter_end,
-	  and that iterator does not contain anything and thus should not be used
-	  directly
-
-2015-05-15 20:44:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: fix property description
-	  We're enterprise now folks.
-
-2015-05-15 14:57:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: bump chain function call logs from LOG to DEBUG
-	  They're really useful compared to other LOG stuff in there, so
-	  there is value is including them and not the rest.
-
-2015-05-15 13:43:12 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/check/gst/gstobject.c:
-	* win32/common/libgstreamer.def:
-	  gstobject: add gst_object_has_as_ancestor and deprecate previous function
-	  The old gst_object_has_ancestor will call the new code. This establishes the
-	  symetry with the new gst_object_has_as_parent.
-	  API: gst_object_has_as_ancestor()
-
-2015-05-15 08:05:50 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/check/gst/gstobject.c:
-	* win32/common/libgstreamer.def:
-	  gstobject: rename gst_object_has_parent to gst_object_has_as_parent
-	  This avoid confusion with a potential punction that check if a gstobject has-a
-	  parent.
-	  API: gst_object_has_as_parent()
-
-2015-05-14 15:49:43 +0800  Jian <Jian.Li@freescale.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Fix QoS/lateness checking if subclass implements prepare/prepare_list vfuncs
-	  In basesink functions gst_base_sink_chain_unlocked(), below code is used to
-	  checking if buffer is late before doing prepare call to save some effort:
-	  if (syncable && do_sync)
-	  late =
-	  gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
-	  GST_CLOCK_EARLY, 0, FALSE);
-	  if (G_UNLIKELY (late))
-	  goto dropped;
-	  But this code has problem, it should calculate jitter based on current media
-	  clock, rather than just passing 0. I found it will drop all the frames when
-	  rewind in slow speed, such as -2X.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749258
-
-2015-05-11 17:14:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: docs: fix and update documentation
-	  Update example to use gst-launch-1.0 and fix a paragraph.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=749233
-
-2015-05-09 11:53:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	  Add removed example directories to CRUFT_DIRS
-
-2015-05-08 14:08:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstparse.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gsttee.c:
-	  docs: gst-launch -> gst-launch-1.0 in example pipelines
-	  And some small example pipeline fix-ups.
-
-2015-05-09 22:10:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-conventions.txt:
-	  docs/design/part-conventions.txt: minor corrections
-
-2015-05-09 22:04:52 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-context.txt:
-	  docs/design/part-context.txt: minor corrections
-
-2015-05-09 22:01:04 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-clocks.txt:
-	  docs/design/part-clocks.txt: minor corrections
-
-2015-05-02 17:16:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/manual/appendix-porting.xml:
-	* docs/random/porting-to-1.0.txt:
-	  docs: update porting guides to mention new device probing API
-
-2015-05-01 20:37:18 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-
-	* docs/design/part-states.txt:
-	  docs/design/part-states.txt: minor corrections
-
-2015-05-01 18:32:26 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
-
-	* gst/gstevent.h:
-	  event: remove duplicated include
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748739
-
-2015-04-28 19:59:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	* tests/examples/launch/.gitignore:
-	* tests/examples/launch/Makefile.am:
-	* tests/examples/launch/mp3parselaunch.c:
-	* tests/examples/metadata/.gitignore:
-	* tests/examples/metadata/Makefile.am:
-	* tests/examples/metadata/read-metadata.c:
-	* tests/examples/queue/.gitignore:
-	* tests/examples/queue/Makefile.am:
-	* tests/examples/queue/queue.c:
-	* tests/examples/typefind/.gitignore:
-	* tests/examples/typefind/Makefile.am:
-	* tests/examples/typefind/typefind.c:
-	  tests: remove some pointless ancient code examples
-
-2015-04-28 17:54:51 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix GST_BASE_PARSE_FLAG_LOST_SYNC
-	  Since frame->priv->discont was cleared earlier,
-	  GST_BASE_PARSE_FLAG_LOST_SYNC was never being set.
-	  Take the chance to refactor the frame creation a bit to
-	  organize the flags setting and reset.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738237
-
-2015-03-09 19:31:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: respect DISCONT flag on buffers
-	  Drain the parser when a DISCONT buffer is received and then mark
-	  the next buffer to be pushed as a DISCONT one
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745927
-
-2015-04-28 15:50:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsttaglist.c:
-	  taglist: Copy the tag scope too when copying tag lists
-
-2015-04-20 20:02:51 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Also synchronize GAP events in sync=1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
-
-2015-04-20 19:31:37 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: With sync=true, don't pre-roll
-	  To act like a real live element, block the streaming when paused, and
-	  return NO_PREROLL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
-
-2015-04-20 19:24:45 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: Take upstream latency into account for sync=1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
-
-2015-04-20 19:07:27 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Handle PTS and DTS separately
-	  https://bugzilla.gnome.org/show_bug.cgi?id=601853
-
-2015-04-26 17:05:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	* Android.mk:
-	* gst/Makefile.am:
-	* gst/parse/Makefile.am:
-	* libs/Makefile.am:
-	* libs/gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* plugins/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* tests/examples/controller/Makefile.am:
-	* tools/Makefile.am:
-	  Remove obsolete Android build cruft
-	  This is not needed any longer.
-
-2015-04-24 16:51:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Only try to push the first EOS received
-	  Subsequent EOS will push on the source pad that already received
-	  EOS and that will make the event function return FALSE. It needs
-	  only to push the first one and only return TRUE for the subsequent
-	  ones.
-
-2015-04-24 15:19:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstprintf.c:
-	  tests: printf: add unit test for %%
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748414
-
-2015-04-24 15:16:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/printf/vasnprintf.c:
-	  printf: fix invalid memory access in case of %%
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748414
-
-2015-04-23 15:55:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	  tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
-
-2015-04-23 15:54:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: optionally check env var for us to make sure test env is set up
-	  If GST_CHECK_TEST_ENVIRONMENT_BEACON is defined, check if the
-	  environment variable it is defined to is set up at the start
-	  of each test.
-	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
-
-2015-04-23 09:06:42 +0900  Changbok Chea <changbok.chea@gmail.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Remove unused assignment in perform_seek()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748345
-
-2015-04-22 11:44:00 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* tests/check/gst/gstmemory.c:
-	  test: memory: Added test to verify the allocation params
-	  New test added to verify the allocation params for the memory
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748277
-
-2015-04-22 11:04:06 -0600  Jason Litzinger <jlitzinger@control4.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: add test case to reproduce infinite loop
-	  gst_debug_unset_threshold_for_name() used to go into an
-	  infinite loop when there was more than one category in
-	  the list.  This test captures the problem by failing
-	  via timeout.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748321
-
-2015-04-22 12:03:33 -0600  Jason Litzinger <jlitzinger@control4.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name()
-	  Ensure iterator is advanced. The current list iteration code only
-	  advances the iterator (walk) if a match is found, which results
-	  in an infinite loop when more than one entry exists in the list.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748321
-
-2015-04-22 10:14:53 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup: miscellaneous fixes
-	  Error out if required build tools (flex, bison, pkg-config)
-	  are not present, instead of printing a message and then
-	  continuing.
-	  Check out submodules when fetching the repositories, so
-	  they're already there and ready later.
-	  Remove some 0.10 cruft.
-
-2015-04-22 09:59:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* .gitignore:
-	  Add INSTALL to .gitignore
-
-2015-04-22 09:56:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/generic/states.c:
-	  tests: error out if test environment is not actually set up properly
-	  https://bugzilla.gnome.org//show_bug.cgi?id=747624
-
-2015-04-22 09:52:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	  configure: can use AM_SILENT_RULES unconditionally now
-	  https://autotools.io/automake/silent.html
-
-2015-04-22 09:47:39 +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-22 10:32:57 +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-20 22:07:34 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  gstreamer-uninstalled: Update path to the GstValidate scenarios
-
-2015-04-20 09:23:43 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Check return value of meta transform function in gst_buffer_copy_into()
-	  ... by printing some debug output whenever copying a GstMeta fails.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=748119
-
-2015-04-18 12:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstevent.h:
-	  event: fix header formatting
-
-2015-04-18 12:28:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstprotection.c:
-	  tests: protection: fix leak in unit test
-
-2015-04-18 12:27:46 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.h:
-	  gst.h: include the new gstprotection.h header
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
-
-2015-04-15 15:33:31 +0100  Alex Ashley <bugzilla@ashley-family.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstprotection.c:
-	* gst/gstprotection.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstprotection.c:
-	* win32/common/libgstreamer.def:
-	  protection: add GstProtectionMeta to support protected content
-	  In order to support some types of protected streams (such as those
-	  protected using DASH Common Encryption) some per-buffer information
-	  needs to be passed between elements.
-	  This commit adds a GstMeta type called GstProtectionMeta that allows
-	  protection specific information to be added to a GstBuffer. An example
-	  of its usage is qtdemux providing information to each output sample
-	  that enables a downstream element to decrypt it.
-	  This commit adds a utility function to select a supported protection
-	  system from the installed Decryption elements found in the registry.
-	  The gst_protection_select_system function that takes an array of
-	  identifiers and searches the registry for a element of klass Decryptor that
-	  supports one or more of the supplied identifiers. If multiple elements
-	  are found, the one with the highest rank is selected.
-	  This commit adds a unit test for the gst_protection_select_system
-	  function that adds a fake Decryptor element to the registry and then
-	  checks that it can correctly be selected by the utility function.
-	  This commit adds a unit test for GstProtectionMeta that creates
-	  GstProtectionMeta and adds & removes it from a buffer and performs some
-	  simple reference count checks.
-	  API: gst_buffer_add_protection_meta()
-	  API: gst_buffer_get_protection_meta()
-	  API: gst_protection_select_system()
-	  API: gst_protection_meta_api_get_type()
-	  API: gst_protection_meta_get_info()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
-
-2015-03-16 12:35:27 +0000  Alex Ashley <bugzilla@ashley-family.net>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* tests/check/gst/gstevent.c:
-	* win32/common/libgstreamer.def:
-	  event: add new GST_EVENT_PROTECTION
-	  In order for a decrypter element to decrypt media protected using a
-	  specific protection system, it first needs all the protection system
-	  specific  information necessary (E.g. information on how to acquire
-	  the decryption keys) for that stream.
-	  The GST_EVENT_PROTECTION defined in this commit enables this information
-	  to be passed from elements that extract it (e.g. qtdemux, dashdemux) to
-	  elements that use it (E.g. a decrypter element).
-	  API: GST_EVENT_PROTECTION
-	  API: gst_event_new_protection()
-	  API: gst_event_parse_protection()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
-
-2015-04-18 11:42:21 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: fix use of possibly-freed pad in debug statement
-	  The gst_object_unref() in the block above may be dropping
-	  the last ref to the pad and free the pad. Set pad pointer
-	  to NULL here, so that we don't accidentally use a
-	  possibly-freed pad pointer in the debug log statements
-	  further below, and also use the tee element as log object
-	  since that's more appropriate anyway.
-	  Fixes valgrind warnings and crashes in tee test_stress
-	  unit test when debug logging is enabled.
-
-2015-04-18 12:00:13 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: info: fix unit test when run with GST_DEBUG=*:9
-	  Only save the messages we're interested in and expecting.
-	  When run with *:9 we might get additional TRACE level
-	  messages from other categories and then we don't end up
-	  with the number of messages we expect.
-
-2015-04-18 11:25:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: fix buffer leak in new blocking_with_probe_type_idle test
-
-2015-04-18 11:11:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: fix invalid memory access in debug log message
-	  The string we put in the buffer is not NUL-terminated, so
-	  don't try to print that via %s in a debug log message.
-
-2015-04-17 15:19:07 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: on OSX, MKDIR_P is install-sh -c -d
-	  So we need to call it before cding to the bin directory.
-
-2015-04-17 13:02:12 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: install -D isn't portable, use $(MKDIR_P) instead.
-
-2015-04-14 10:47:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: test that idle probe will block
-	  This tests add an idle probe on an idle pad from a separate thread
-	  so that the callback is called immediatelly. This callback will sit
-	  still and then we try to push a buffer on this same pad. It verifies
-	  that the idle probe blocks data passing
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747852
-
-2015-04-14 17:06:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: block data flow when idle probe is running
-	  When idle probe runs directly from the gst_pad_add_probe() function
-	  we need to make sure that no data flow happens as idle probe
-	  is a blocking probe. The idle probe will prevent that any
-	  buffer, bufferlist or serialized events and queries are not
-	  flowing while it is running.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747852
-
-2015-04-16 13:41:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsturi.c:
-	  docs: clarify that return value of gst_filename_to_uri() must be freed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747104
-
-2015-04-15 11:02:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* tests/check/generic/states.c:
-	  bin: undo upward state changes on children when a child fails
-	  When a bin changes states upwards, and a child fails to change,
-	  any child that was already switched will not be reset to its
-	  original state, leaving its state inconsistent with the bin,
-	  which does not change state due to the failure.
-	  If the state change was from NULL to READY, it means that deleting
-	  this bin will cause those children to be deleted while not in
-	  NULL state, which is a Bad Thing. For other upward changes, it
-	  is less of a problem, as a subsequent switch back to NULL will
-	  cause an actual downwards change on those inconsistent elements,
-	  albeit from the "wrong" state.
-	  We now reset state to the original one when a child fails.
-	  Includes unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747610
-
-2015-04-15 14:45:21 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: use $(INSTALL) to ... install the helper.
-	  As it will create the folders and set permissions appropriately,
-	  better than doing it manually.
-
-2015-04-15 13:02:36 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: Fix Makefile.am to install the completion-helper correctly.
-	  + The program is installed at install-exec time, we thus need
-	  to move it in install-exec-hook, not install-data-hook.
-
-2015-04-15 11:38:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  Revert "basesrc: fix pool leak on allocation query error path"
-	  This reverts commit 84fdf50b2f98951a32fa14802b62621f1105cd35.
-	  It seems the bug was fixed independently, and the merge was
-	  automagic, yielding two extra free calls.
-
-2015-04-14 13:42:55 +0900  Suhwang Kim <suhwang.kim@lge.com>
-
-	* tests/check/gst/gstclock.c:
-	  tests: clock: fix test clock name
-	  Don't call the slave test clock "Master".
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746430
-
-2015-04-14 17:47:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	  elementfactory: add ENCRYPTOR class defines
-	  to go with DECRYPTOR.
-
-2015-03-16 13:11:59 +0000  Alex Ashley <bugzilla@ashley-family.net>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	  elementfactory: add DECRYPTOR class defines
-	  An element that performs decryption does not naturally fit within any
-	  of the existing element factory class types. It is useful to be able
-	  to easily get a list of all elements that support decryption so that
-	  a union can be computed between the protection systems that have a
-	  supported decryptor and the allowed protection systems for a particular
-	  stream.
-	  This commit adds a new GST_ELEMENT_FACTORY_TYPE_DECRYPTOR and its
-	  associated string identifier "Decryptor". It also adds
-	  GST_ELEMENT_FACTORY_TYPE_DECRYPTOR to GST_ELEMENT_FACTORY_TYPE_DECODABLE
-	  so that uridecodebin can auto-plug a decryption element.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705991
-
-2015-04-13 17:01:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: Use gst_event_unref() instead of gst_mini_object_unref() + casting
-
-2015-04-13 14:40:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: fix leak in gst_type_find_element_src_event()
-	  gst_type_find_element_src_event() is supposed to consume @event but wasn't
-	  doing so when it was handling the event itself.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747775
-	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-2015-04-11 20:44:02 +0900  Hyunjun Ko <zzoon.ko@samsung.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: reset errno before g_ascii_strtoull call
-	  "errno" already has meaningless value before g_ascii_strtoull call.
-	  This causes invalid error check without reset.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747690
-
-2015-04-12 13:13:32 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Only set DTS to segment.start on the first buffer if subclass did not provide PTS
-	  Otherwise we're going to set a rather arbitrary DTS of segment.start (usually
-	  0) for live sources, which confuses synchronization if the source started
-	  capturing at a later time. And it's especially wrong for raw media, for which
-	  we should not set any DTS at all.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747731
-
-2014-09-02 17:40:28 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Run the default have-type handler after all application handlers
-	  Otherwise the CAPS event will already be forwarded downstream and
-	  the application has no way to intervene anymore.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735896
-
-2015-03-10 12:57:44 +1000  Duncan Palmer <dpalmer@digisoft.tv>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't automatically enter the buffering state when use-buffering is set.
-	  There is no reason I can see to set mq->buffering = TRUE when
-	  use_buffering is set; the code here also calls update_buffering(), which
-	  will set mq->buffering = TRUE if this is warranted because of low buffer
-	  levels.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745937
-
-2015-04-10 12:32:27 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix cached buffer leak in chain function
-	  gst_selector_pad_chain() was popping cached buffers out of the queue without
-	  freeing those. Make sure we don't steal the GstBuffer as the cached buffer ref
-	  has been passed to the pad chain function.
-	  This can be reproduced by running the
-	  validate.file.playback.switch_subtitle_track_while_paused.test5_mkv scenario
-	  with Valgrind.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747611
-	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-2015-04-08 16:04:11 +0200  Edward Hervey <edward@centricular.com>
-
-	* common:
-	* tests/check/Makefile.am:
-	* tests/examples/manual/Makefile.am:
-	  tests: Use AM_TESTS_ENVIRONMENT
-	  Needed by the new automake test runner
-
-2015-04-07 15:00:46 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: make sure list is writable before adding or removing buffers
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747439
-
-2015-04-07 14:34:58 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: minor docs addition for gst_buffer_list_get()
-	  Return buffer remains valid as long as list is valid
-	  and buffer is not removed from list.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747438
-
-2015-04-07 11:38:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix pool leak on allocation query error path
-	  It could be triggered by:
-	  gst-launch-1.0 videotestsrc num-buffers=20 ! videcrop bottom=214748364 ! videoconvert ! autovideosink
-	  Spotted while testing:
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743910
-
-2015-04-06 18:45:37 -0700  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Forward SEGMENT_DONE events immediately
-	  There might be no more data coming afterwards, and we just drained everything
-	  that was left to be pushed anyway.
-
-2015-04-06 18:56:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  docs: fix cross-reference to environment variables in GstInfo
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747416
-
-2015-04-06 10:18:15 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* gst/gstmemory.c:
-	  memory: add check for writablity in resize
-	  Add guard to gst_memory_resize() to make sure the
-	  memory to be resized is actually writable.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747392
-
-2015-04-05 16:47:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: add test to make sure initial events go through without buffers
-
-2015-04-05 16:06:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/queue.c:
-	  tests: queue: check that the initial events are sent on immediately
-	  Add a check that makes sure stream-start, caps, and segment events
-	  are passed on by queue without delay, i.e. even if no buffer is
-	  sent.
-
-2015-04-04 18:33:18 -0700  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Print debug output from gst_pad_link_full() if preparing linking failed
-	  Makes it easier to find linking failures in debug logs.
-
-2015-04-04 19:29:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstsegment.h:
-	  segment: small docs addition
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690564
-
-2015-04-04 18:18:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/design/part-streams.txt:
-	* docs/design/part-synchronisation.txt:
-	  docs: design: fix some 0.10-isms in GstSegment docs
-	  1) segment.accum -> segment.base
-	  2) Refer to GstSegment members as S.foo instead of
-	  NS.foo, the event is now called a segment event
-	  rather than newsegment event.
-	  3) There's no more abs_rate field in GstSegment,
-	  and there never was an abs_applied_rate field.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690564
-
-2015-04-04 04:14:50 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: do not leak buffer pool in error case
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747321
-
-2015-04-03 19:12:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gsturi.c:
-	  uri: Silence a compiler warning
-	  This is a false positive for use initialized. The variable is set and
-	  used enclosed in the safe if condition.
-
-2015-04-03 16:32:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Add gst_segment_to_running_time_full
-
-2015-04-03 13:19:13 -0700  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix documentation, buffer pools are unreffed and not freed
-
-2015-04-03 20:43:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* INSTALL:
-	  Update INSTALL to the automake 1.14 version
-
-2015-04-03 18:57:36 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From bc76a8b to c8fb372
-
-2015-04-03 16:27:10 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: fix exports
-
-2015-03-19 10:45:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* win32/common/libgstreamer.def:
-	  segment: add gst_segment_is_equal
-	  It beats memcmp due to the 'reserved' fields.
-	  API: gst_segment_is_equal()
-	  Found via, but probably not directly linked to,
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738216
-
-2015-04-03 00:36:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  win32: add new API to exports
-
-2014-08-06 10:32:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: allow probes to remove the data item whilst returning PROBE_OK
-	  Use case: we want to block the source pad of a leaky queue and
-	  drop the buffer that causes the block. If we return PROBE_DROP
-	  then the buffer gets dropped, but we get called again. If we
-	  return PROBE_OK we can't easily drop the buffer. If we just
-	  replace the item into the GstPadProbeInfo structure with NULL,
-	  GStreamer will push a NULL buffer to the next element when we
-	  unblock the pad probe. This patch ensures it doesn't do that.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734342
-
-2015-02-12 19:39:44 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstelement.c:
-	  element: Document when a clock is available from gst_element_get_clock()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744442
-
-2015-02-12 19:40:06 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	  pipeline: Add binding friendly gst_pipeline_get_pipeline_clock()
-	  Also skip gst_pipeline_get_clock() and gst_pipeline_set_clock() from the
-	  bindings as they are confused with gst_element_*_clock().
-	  API: gst_pipeline_get_pipeline_clock()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744442
-
-2015-04-02 17:32:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Add Since mark for new method
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734424
-
-2015-02-20 17:50:48 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Add a method to let subclasses cleanly update srcpad caps
-	  API:
-	  gst_base_transform_update_src
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734424
-
-2015-04-02 21:18:39 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-types.xml:
-	  docs: pwg: fix missing comma and 0.10-ism in code sample
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747267
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747266
-
-2015-04-02 19:29:46 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>
-
-	* gst/gstmemory.c:
-	  memory: improve docs for _copy() and _share()
-
-2015-04-02 11:42:20 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* tests/check/elements/filesink.c:
-	  test: filesink: add tests for buffers with multiple memory blocks
-	  Update test_seeking testcase to verify the render and render_list
-	  virtual method handle buffers and buffer list containing multiple
-	  memory blocks correctly.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747223
-
-2015-04-02 09:44:33 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstelement.h:
-	  element: Add a FIXME for 2.0 about request_new_pad VS request_pad naming
-
-2015-04-02 09:34:00 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* gst/gstelement.c:
-	  element: Fix request_new_pad introspection
-	  Marking gst_element_request_pad as the caller of the ->request_new_pad
-	  virtual method.
-
-2015-04-01 09:20:24 +0530  Prashant Gotarne <ps.gotarne@samsung.com>
-
-	* tests/check/elements/filesink.c:
-	  tests: filesink: add check for render_list virtual method
-	  GstFileSink implements the render_list virtual method to render
-	  a list of buffers. Update the test_seeking test case to also
-	  check the render_list method implementation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747100
-
-2015-04-01 12:13:17 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst_private.h:
-	* gst/gstcaps.c:
-	* gst/gstdebugutils.c:
-	  debugutils: nicer printing of caps features
-	  Only print interesting caps features, don't
-	  append (memory:SystemMemory) to all caps,
-	  which makes them much more unwieldy and
-	  harder to read. Also use internal function
-	  to get caps features so that our printing
-	  has no side effects on the caps.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746809
-
-2015-03-26 13:05:57 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	  debugutils: plot caps features
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746809
-
-2015-03-31 23:48:22 +0900  Wonchul Lee <chul0812@gmail.com>
-
-	* gst/gstpad.c:
-	  pad: Fix a typo in a docstring
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747119
-
-2015-03-31 11:15:10 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Don't use g-ir-scanner cache at compile time
-	  It pollutes user directories and we don't need to cache it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=747095
-
-2015-03-28 14:45:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: fix outdated debug message
-	  Buffer lists don't have groups any more in 1.0
-
-2015-03-27 18:20:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Flush-stop starts live task in paused
-	  The flush-stop event should not restart the task for live sources unless
-	  the element is playing. This was breaking seeks in pause with the rtpsrc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=635701
-
-2015-03-27 16:23:40 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* tests/check/elements/filesink.c:
-	  tests: check location isn't truncated
-	  Test covering the recent commit where location='".abc' won't get truncated
-	  to '.ab' anymore
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
-
-2015-03-26 17:01:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: only unwrap string delimited with "
-	  Don't unwrap strings that start but don't finish with a double quote. If a
-	  string is delimited by two quotes we unescape them and any special characters
-	  in the middle (like \" or \\). If the first character or the last character
-	  aren't a quote we assume it's part of an unescaped string.
-	  Moved some deserialize_string unit tests because we don't try to unwrap strings
-	  missing that second quote anymore.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
-
-2015-03-27 17:16:03 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/parse/grammar.y:
-	  parse: check before truncating strings
-	  Don't truncate the last character of a string if it isn't necessary.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688625
-
-2015-03-27 10:15:16 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Add guards against invalid arguments to set_flushing() and poll()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746871
-
-2015-03-25 10:49:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/libs/baseparse.c:
-	  baseparse: only post 'no valid frames' error if buffers were received
-	  Otherwise baseparse will consider empty streams to be an error while
-	  an empty stream is a valid scenario. With this patch, errors would
-	  only be emitted if the parser received data but wasn't able to
-	  produce any output from it.
-	  This change is only for push-mode operation as in pull mode an
-	  empty file can be considered an error for the one driving the
-	  pipeline
-	  Includes a unit test for it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733171
-
-2015-03-19 10:36:11 +0100  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* tests/check/elements/tee.c:
-	  tee: Add allow-not-linked property
-	  This property avoids not linked error when all the pads are unlinked
-	  or when there are no source pads. This is useful in dynamic pipelines
-	  where it can happen that for a short time there are no pads at all or
-	  all downstream pads are not linked yet.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746436
-
-2015-03-21 17:13:18 -0500  Michael Catanzaro <mcatanzaro@gnome.org>
-
-	* docs/gst/running.xml:
-	  docs: Fix typos
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746585
-
-2015-03-21 15:46:50 -0500  Michael Catanzaro <mcatanzaro@gnome.org>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Fix typos
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746585
-
-2015-03-24 16:04:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: add drain handling
-	  Release the latest buffer, if any, and then just let
-	  the drain be pushed downstream
-
-2015-03-24 19:32:49 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* Makefile.am:
-	  Revert "Fix distcheck"
-	  This reverts commit 56dd2d89c4eac460cbc37e2a51c1dd9e792999e8.
-	  Installing completions to a custom prefix is now fixed.
-
-2015-03-24 19:30:52 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: remove completion-helper on uninstall
-	  + And add it to CLEANFILES
-
-2015-03-18 19:38:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* data/completions/gst-inspect-1.0:
-	* data/completions/gst-launch-1.0:
-	* libs/gst/helpers/gst:
-	  completions: remove last unnamespaced symbols.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
-
-2015-03-18 14:44:21 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* data/completions/gst-inspect-1.0:
-	* data/completions/gst-launch-1.0:
-	  completions: remove deprecated shell syntax.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
-
-2015-03-18 14:37:11 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* data/completions/gst-inspect-1.0:
-	* data/completions/gst-launch-1.0:
-	  completions: prefix shell functions with _gst
-	  + To make it more difficult for them to conflict in the
-	  global namespace.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
-
-2015-03-24 13:13:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* configure.ac:
-	  bash-completion: Respect the prefix
-	  Don't try and install the bash helpers outside the defined prefix.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
-
-2014-11-19 13:08:45 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Rename _activate_sinkpad to _get_active_sinkpad
-	  Removes the now unused 'pad' parameter and renames the function
-	  to something more appropriate.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
-
-2014-11-19 13:03:21 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Remove pad's 'active' field
-	  This is now never read.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
-
-2014-11-19 12:59:12 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Use segment-presence for running_time check
-	  When determining whether the running_time of a pad can be
-	  calculated, check if the segment is in TIME format instead
-	  of using the 'active' field.
-	  Since the latter is set through *any* activity, it's not a
-	  reliable indicator of segment presence.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739620
-
-2015-03-23 13:20:34 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  input-selector: Remove 'blocked' flag
-	  With the disappearance of the 'block' signal, this
-	  flag cannot be set to TRUE.
-	  gst_input_selector_wait disappears as it never waits
-	  and just returns self->flushing.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736891
-
-2015-03-23 12:12:51 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  input-selector: Remove obsolete 'block' signal
-	  This signal blocks the input-selector with no means of unblocking
-	  other than a state change back to READY. It seems this signal was
-	  part of an old way of synchronously switching the selector,
-	  together with the already-removed 'switch' signal.
-	  Removing the signal is safe, as attempting to use it could only
-	  end in deadlocks. Attempting to emit an unknown signal just causes
-	  g_criticals.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736891
-
-2015-03-23 13:05:30 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Fix waiting on EOS
-	  This apparently got broken by bc1ec4e. Since self->blocked is always
-	  FALSE, gst_input_selector_wait never actually waits.
-	  Using (!self->eos || self->blocked) && ... as the loop condition would
-	  be incorrect as well, because then the other call to the function in
-	  _chain would block until EOS, so the functions cannot be merged trivially.
-	  Since blocking is obsolete, gst_input_selector_wait will get removed anyway.
-	  As such, just inline the loop.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
-
-2015-03-20 07:23:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/elements/selector.c:
-	  tests: input-selector: new tests for EOS handling
-	  3 new tests:
-	  1) Tests that a stream that is empty (just an EOS event)
-	  on inactive pad doesn't get through and tamper
-	  with the active pad that still has data
-	  2) Tests that a stream that is shorter than the active one
-	  (pushes EOS earlier) doesn't has its EOS pushed
-	  3) Tests that switching to an inactive stream that has received
-	  EOS will make input-selector push EOS
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
-
-2015-03-19 12:11:19 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/elements/selector.c:
-	  tests: selector: remove weird semicolons at the end of test functions
-	  Even though it works, it is not needed and seems more natural
-	  to not have semicolons at the end of function declarations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746518
-
-2014-07-17 16:33:29 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Process SEEKING query
-	  Add QUERY_SEEKING handling to queue2, so RTMP live streams become
-	  seekable when a queue2 in download or ringbuffer mode is inserted:
-	  rtmpsrc ! queue2 ! flvdemux
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733351
-
-2015-03-21 19:37:30 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  check: Fix uninitialized variable compiler warning with gcc
-	  check_run.c: In function 'sig_handler':
-	  check_run.c:127:13: warning: 'child_sig' may be used uninitialized in this function [-Wmaybe-uninitialized]
-	  killpg(group_pid, child_sig);
-	  ^
-	  check_run.c:130:31: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
-	  sigaction(sig_nr, &old_action[idx], NULL);
-	  ^
-
-2015-03-21 15:19:43 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  check: Catch SIGTERM and SIGINT in the test runner and kill all currently running tests
-	  Otherwise e.g. ctrl+c in the test runner exits the test runner, while the test
-	  itself is still running in the background, uses CPU and memory and potentially
-	  never exits (e.g. if the test ran into a deadlock or infinite loop).
-	  The reason why we have to manually kill the actual tests is that after
-	  forking they will be moved to their own process group, and as such are
-	  not receiving any signals sent to the test runner anymore. This is supposed
-	  to be done to make it easier to kill a test, which it only really does if
-	  the test itself is forking off new processes.
-	  This fix is not complete though. SIGKILL can't be caught at all, and error
-	  signals like SIGSEGV, SIGFPE are currently not caught. The latter will only
-	  happen if there is a bug in the test runner itself, and as such seem less
-	  important.
-
-2015-03-19 13:51:38 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Don't drop non-serialized queries when the valve is dropping
-	  Otherwise we end up dropping e.g. CAPS queries, and then upstream just
-	  negotiates to whatever format it wants to. Once the valve is not-dropping
-	  anymore this can easily result in negotiation failing completely.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746448
-
-2015-03-20 09:00:47 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gst.c:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: remove the bounds check from _to_running_time_full()
-	  Do not do any checks for the start/stop in the new
-	  gst_segment_to_running_time_full() method, we can let this be done by
-	  the more capable gst_segment_clip() method. This allows us to remove the
-	  enum of results and only return the sign of the calculated running-time.
-	  We need to put the old clipping checks in the old
-	  gst_segment_to_running_time() still because they work slightly
-	  differently than the _clip methods.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-03-19 17:36:36 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	  segment: add option to disable clipping
-	  Add a clip argument to gst_segment_to_running_time_full() to disable
-	  the checks against the segment boundaries. This makes it possible to
-	  generate an extrapolated running-time for timestamps outside of the
-	  segment.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-03-18 16:27:36 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	  gst: ref/unref new enum type in gst_init/deinit()
-
-2015-03-18 14:16:48 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* tests/misc/test-gstreamer-completion.sh:
-	* tools/gstreamer-completion:
-	  tools: remove outdated completion script
-	  + Remove the associated test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
-
-2015-03-18 11:31:51 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: add helper to get negative running-time
-	  Add a helper method to get a running-time with a little more features
-	  such as detecting if the value was before or after the segment and
-	  negative running-time.
-	  API: gst_segment_to_running_time_full()
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740575
-
-2015-03-18 10:53:30 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  segment: fix offset handling with non 0 start
-	  The position in the segment is relative to the start but the offset
-	  isn't, so subtract the start from the position when setting the offset.
-	  Add unit test for this as well.
-
-2015-03-18 09:36:35 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Add support for buffer lists
-
-2013-11-29 16:28:41 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove duplicate code
-	  These are already freed by gst_base_parse_clear_queues()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679768
-
-2015-03-17 15:41:38 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Fix indention
-
-2015-03-13 11:08:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: reset skip on segments and discontinuities
-	  Large scale skip is an optimization, and thus it is safer to
-	  stop skipping than to continue. Clear skip on segments and
-	  discontinuities, as these are points where it is possible that
-	  the original idea of "bytes to skip" changes.
-
-2015-03-15 14:19:17 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't grow queue infinitely if only one pad is linked
-	  This was introduced by
-	  https://bugzilla.gnome.org/show_bug.cgi?id=719893
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722891
-	  but it doesn't make any sense at all and causes huge memory leaks.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744253
-
-2015-03-14 21:07:01 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle empty buffer list more gracefully
-	  Don't abort, just ignore it. It's like a buffer
-	  without memories.
-
-2015-03-14 17:39:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: minor optimisation for gst_adapter_take_buffer_list()
-	  Try to allocate buffer list with a suitable size from the
-	  beginning to avoid having to re-alloc the buffer list array.
-
-2015-03-14 17:23:03 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/adapter.c:
-	  tests: add unit test for gst_adapter_take_buffer_list()
-
-2015-03-14 17:20:33 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* win32/common/libgstbase.def:
-	  adapter: add gst_adapter_take_buffer_list()
-	  API: gst_adapter_take_buffer_list()
-
-2015-03-14 16:05:57 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/.gitignore:
-	* tests/check/elements/.gitignore:
-	  Add new streamiddemux binaries to .gitignore
-
-2015-03-14 16:00:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: avoid multiple calls to gst_buffer_get_size() in macro
-
-2015-03-14 15:58:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: avoid multiple calls to gst_buffer_get_size() in macro
-
-2015-03-13 18:22:01 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: properly escape percent sign in documentation
-
-2015-03-14 13:37:09 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Use the correct enum type to fix a compiler warning
-	  gstbuffer.c:522:58: error: implicit conversion from enumeration type 'GstBufferFlags' to
-	  different enumeration type 'GstBufferCopyFlags' [-Werror,-Wenum-conversion]
-	  if (!gst_buffer_copy_into (copy, (GstBuffer *) buffer, flags, 0, -1))
-	  ~~~~~~~~~~~~~~~~~~~~                              ^~~~~
-	  gstbuffer.c:534:46: error: implicit conversion from enumeration type 'GstBufferCopyFlags' to
-	  different enumeration type 'GstBufferFlags' [-Werror,-Wenum-conversion]
-	  return gst_buffer_copy_with_flags (buffer, GST_BUFFER_COPY_ALL);
-	  ~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~~~~~
-	  ./gstbuffer.h:433:31: note: expanded from macro 'GST_BUFFER_COPY_ALL'
-	  ...((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY))
-	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-2015-03-14 14:06:09 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* win32/common/libgstnet.def:
-	  defs: update defs
-
-2014-10-30 15:39:21 +0000  William Manley <will@williammanley.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetcontrolmessagemeta.c:
-	* libs/gst/net/gstnetcontrolmessagemeta.h:
-	  meta: Add `GstNetControlMessageMeta`
-	  GstNetAddress can be used to store ancillary data which was received with
-	  or is to be sent alongside the buffer data.  When used with socket sinks
-	  and sources which understand this meta it allows sending and receiving
-	  ancillary data such as unix credentials (See `GUnixCredentialsMessage`)
-	  and Unix file descriptions (See `GUnixFDMessage`).
-	  This will be useful for implementing protocols which use file-descriptor
-	  passing in payloaders/depayloaders without having to re-implement all the
-	  socket handling code already present in elements such as multisocketsink,
-	  etc.  This, in turn, will be useful for implementing zero-copy video IPC.
-	  This meta uses the platform independent `GSocketControlMessage` API
-	  provided by GLib as a part of GIO.  As a result this new meta does not
-	  require any new dependencies or any conditional compliation for
-	  portablility, although it is unlikely to do anything useful on non-UNIX
-	  platforms.
-
-2015-03-14 11:57:33 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstquery.c:
-	  allocation: Allow allocation pool without size
-	  This allow proposing a number of buffers required even if the size
-	  of buffer is unfixed. This is often the case for encoded formats.
-
-2015-03-01 13:15:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: Don't stop the pool in set_config()
-	  Don't stop the pool in set_config(). Instead, let the controlling
-	  element manage it. Most of the time, when an active pool is being
-	  configured is because the caps didn't change.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745377
-
-2015-03-13 18:53:11 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: drain on allocation query
-	  Allows buffers to be reclaimed when caps is to be renegotiated so
-	  that bufferpools can be stopped. As the allocation query is
-	  serialized all buffers have been already drained from the pipeline,
-	  except this last_sample one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682770
-
-2015-03-13 18:35:14 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: when draining, deep copy the last buffer to unref old memory
-	  Use gst_buffer_copy_deep() to force the copy of the underlying
-	  memory instead of possibly doing a shallow copy of the buffer
-	  and just referencing the memory
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745287
-
-2015-03-13 18:35:01 +0000  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  gstbuffer: add gst_buffer_copy_deep
-	  A variant of gst_buffer_copy that forces the underlying memory
-	  to be copied.
-	  This is added to avoid adding an extra reference to a GstMemory
-	  that might belong to a bufferpool that is trying to be drained.
-	  The use case is when the buffer copying is done to release the
-	  old buffer and all its resources.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745287
-
-2015-03-13 15:31:30 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Use g_list_free_full() instead of manually unreffing and freeing
-	  Also unref the messages, not the GList nodes.
-
-2015-03-13 13:42:46 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbus.c:
-	  bus: Fix another case where we hold the object lock while unreffing a message
-
-2015-03-13 15:28:42 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* gst/gstbus.c:
-	  bus: Unreferencing messages outside the lock
-	  Shouldn't take the lock while unreferencing messages, because that may cause
-	  more messages to be sent, which will try to take the lock and cause the app to
-	  hang.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728777
-
-2015-02-23 20:27:32 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: Add gst_bin_sync_children_states()
-	  gst_bin_sync_children_states() will iterate over all the elements of a bin and
-	  sync their states with the state of the bin. This is useful when adding many
-	  elements to a bin and would otherwise have to call
-	  gst_element_sync_state_with_parent() on each and every one of them.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745042
-
-2015-02-03 16:12:32 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* gst/printf/vasnprintf.c:
-	  printf: handle unsigned modifier for long long
-	  Otherwise, an unsigned integer will be displayed as a signed one if we
-	  use internal print, ie HAVE_LONG_LONG_FORMAT is not defined.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=746096
-
-2015-03-12 14:39:37 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gststreamiddemux.c:
-	  streamiddemux: Reset pad counter after removing all pads
-
-2014-03-04 19:40:05 +0900  HoonHee Lee <hoonhee.lee@lge.com>
-
-	* configure.ac:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gststreamiddemux.c:
-	* plugins/elements/gststreamiddemux.h:
-	* tests/check/Makefile.am:
-	* tests/check/elements/streamiddemux.c:
-	* tests/examples/Makefile.am:
-	* tests/examples/streamiddemux/Makefile.am:
-	* tests/examples/streamiddemux/streamiddemux-stream.c:
-	  streamiddemux: Add streamiddemux element
-	  Demultiplex a stream to multiple source pads based on the stream ids from the
-	  stream-start events. This basically reverses the behaviour of funnel.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707605
-
-2015-03-12 13:29:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  win32: update
-
-2015-03-12 13:26:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstprintf.c:
-	  tests: add some basic unit tests for our printf stuff
-	  To test new %I32 support.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744281
-
-2015-02-10 17:40:48 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/printf/printf-parse.c:
-	  printf: add support for %I32
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744281
-
-2015-03-12 13:14:52 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: move category level threshold check into log function dispatcher
-	  Minor optimisation: check category log level earlier in the
-	  log function dispatcher and not only in the default log
-	  function.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
-
-2015-03-12 12:59:57 +0000  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Reset segment when deactivating pull mode or not running in pull mode
-	  We use the segment format to detect if we run the streaming thread or not.
-	  Without resetting we might believe we do so, although we only did in the past
-	  and are now running in e.g. push mode.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745073
-
-2015-03-08 20:42:38 +0100  Michał Dębski <debski.mi.zd@gmail.com>
-
-	* libs/gst/check/libcheck/check_msg.c:
-	* m4/check-checks.m4:
-	  check: Use mkstemp instead of tempnam if possible
-	  Using tempnam() is deprecated, this gives warning and fails the build
-	  with -Werror.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745858
-
-2015-03-11 16:36:29 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: clean up the need_preroll variable
-	  Based on patch from Song Bing <b06498@freescale.com>
-	  Don't just set the need_preroll flag to TRUE in all cases. When we
-	  are already prerolled it needs to be set to FALSE and when we go to
-	  READY we should not touch it. We should only set it to TRUE in other
-	  cases, like what the code above does.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=736655
-
-2014-12-05 14:16:52 +0900  hoonhee.lee <hoonhee.lee@lge.com>
-
-	* plugins/elements/gstfunnel.c:
-	* tests/check/elements/funnel.c:
-	  funnel: handle GAP event to forwards sticky events into downstream
-	  If no data is coming and funnel receive GAP event, need to forwards sticky events
-	  into downstream if it needs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738202
-
-2015-03-10 16:42:44 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  check: duplicate code branches
-	  CID #1226446
-
-2015-03-10 09:21:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	* tests/check/pipelines/queue-error.c:
-	  Fix double semicolons
-
-2015-02-22 10:12:01 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* win32/common/libgstbase.def:
-	  win32: update exports
-
-2015-02-21 20:13:04 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	  flowcombiner: add a gst_flow_combiner_update_pad_flow() method
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
-	  API: gst_flow_combiner_update_pad_flow()
-
-2015-02-15 20:52:10 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	  flowcombiner: add a gst_flow_combiner_reset() method
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744572
-	  API: gst_flow_combiner_reset()
-
-2015-03-06 10:59:58 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix typo in debug message
-
-2015-03-05 18:30:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: avoid malloc/free if log object is NULL
-
-2015-03-05 17:54:04 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: move __FILE__ path shortening into default log handler
-	  Instead of always shortening the __FILE__ path, even if the
-	  log message is not actually printed, which might happen if
-	  the log level is activated but the category is not, only
-	  shorten the path if we're actually going to output it and
-	  if it looks like it needs shortening. Log handlers had no
-	  guarantee that they would get a name instead of a path
-	  anyway on any architecture, so it shouldn't be a problem.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
-
-2015-02-27 01:16:58 +1100  Peter Urbanec <git.user@urbanec.net>
-
-	* gst/gstinfo.c:
-	  info: shorten __FILE__ on all platforms
-	  This is useful not only for MSVC, but also with gcc/Linux
-	  when doing cross-compilation builds and out-of-tree builds.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745213
-
-2015-03-04 11:02:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/design/part-latency.txt:
-	  docs: clarify min-latency wording in part-latency.txt
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744338
-
-2015-02-26 14:43:25 +0100  Marcin Kolny <marcin.kolny@flytronic.pl>
-
-	* win32/common/gstconfig.h:
-	  win32/common/gstconfig.h: removed libxml include directive
-	  This is a leftover from 0.10 and not needed anymore.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745210
-
-2015-03-03 12:53:13 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Signal the sinkpad thread if a flow error happened
-	  It might still be waiting for a query to be handled, or the queue to become
-	  empty again for the next item. Also if downstream returns FLUSHING, flush the
-	  queue like we do in queue and multiqueue.
-
-2015-03-03 12:48:34 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Wake up the query function on errors from the loop function
-	  Otherwise we might wait forever for serialized queries to be handled as the
-	  loop function is stopped and as such we will never ever dequeue the query and
-	  handle it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745319
-
-2015-03-02 20:31:58 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: improve warning when linking  elements without common ancestor
-	  This comes up quite a lot and it's a common mistake, so let's
-	  try to improve the warning message a little.
-
-2015-02-27 00:33:27 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Drop custom latency query handling
-	  The default latency query handler now implements this logic
-
-2015-02-26 15:57:20 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* scripts/gst-uninstalled:
-	  gst-unsinstalled: Add ges-launch manuals path to MANPATH.
-
-2015-02-26 13:08:48 +0530  Arun Raghavan <arun@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Don't fail latency query on unlinked pads
-	  A single unlinked pad can make the latency query fail across the
-	  pipeline, which is probably not desirable. Instead, we return a default
-	  anything goes value.
-	  Perhaps we should also be emitting a gst_message_new_latency() when a
-	  PLAYING element has one of its pads linked.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745197
-
-2014-10-22 16:43:43 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Don't emit errors on EOS if we saw GAP events
-	  If we saw GAP events (meaning the streams is advancing) before we get
-	  EOS, we should not post an ERROR, since it is not fatal.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745143
-
-2015-02-25 08:26:19 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstvalue.h:
-	* tests/check/gst/gstinfo.c:
-	  gstvalue: Make sure GST_FOURCC_ARGS produces printable characters
-	  Some systems will crash if we use non-printable characters in print/debug
-	  statements.
-	  Make sure that GST_FOURCC_ARGS never does that
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745144
-
-2015-02-25 16:11:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/gstutils.c:
-	  gstutils: remove incorrect Fixme comment
-	  If the checks were changed to using g_return_if_fail() the GST_DEBUG lines
-	  about the specific failure would be lost.
-
-2015-02-25 16:02:39 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/gstutils.c:
-	  gstutils: remove obsolete Fixme comment
-	  gst_pad_link_filtered() is very long gone and current
-	  gst_element_link_pads_filtered() doesn't apply to this Fixme comment.
-
-2015-02-24 21:58:00 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add adaptivedemux paths from -bad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=745122
-
-2015-02-24 18:14:47 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* docs/faq/developing.xml:
-	  docs: remove dead link
-	  Remove dead link to wiki page for SubmittingPatches
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730311
-
-2015-02-24 14:07:54 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  helpers: Fix install of completion-helper.
-	  By applying the supplied transformation to the program name,
-	  for example --program-prefix.
-
-2015-02-23 16:39:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  completion-helper: Add missing DESTDIR
-	  Otherwise doing "make install DESTDIR" will try to write to
-	  /usr/share/...
-
-2015-02-23 21:17:16 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/gst-completion-helper.c:
-	  completion-helper: Add filtering by klass and sink caps.
-
-2015-02-21 17:13:26 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: avoid returning downstream GST_FLOW_EOS from previous segment to current upstream segment
-
-2015-02-22 10:02:25 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: fix documentation comment typo
-
-2015-02-22 10:01:33 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: drain segment upon SEGMENT_DONE to ensure proper event order
-
-2015-02-22 10:01:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: clean up some bogus commented code
-
-2015-02-23 19:10:08 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/helpers/Makefile.am:
-	  completion-helper: Append $(EXEEXT) to the name of the moved file.
-	  Fixes the build on Windows
-	  (https://ci.gstreamer.net/job/cerbero-cross-mingw32/1742/console)
-
-2015-02-23 17:23:33 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	  Fix distcheck
-	  Disable bash completion during distchecking otherwise
-	  it may try to install into a system path and fail.
-
-2015-02-23 17:16:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* Makefile.am:
-	  Dist new data directory
-	  Fixes 'make dist'
-
-2015-02-20 22:04:22 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* data/Makefile.am:
-	* data/completions/gst-inspect-1.0:
-	* data/completions/gst-launch-1.0:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/helpers/gst:
-	* libs/gst/helpers/gst-completion-helper.c:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  bash-completion: Implement in a different way.
-	  + Gets installed
-	  + Uses a helper tool, gst-completion-helper, installed in
-	  bash-completions/helpers.
-	  + Adds a common script that other tools can source.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744877
-
-2015-02-23 12:08:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	  GstDeviceMonitor: keep alphabetical order
-
-2015-02-20 16:22:23 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstelement.c:
-	* tests/check/gst/gstelement.c:
-	  Revert "element: set pads need-parent flag to false when removing"
-	  This reverts commit 1911554cff2c4a11772b541a8215a80c728b1097.
-	  This breaks the functionality of GST_PAD_FLAG_NEED_PARENT, the reason for this
-	  flag is that if a pad is removed from a running element, you don't want
-	  functions (such as chain or event) to be called on the pad without a parent set.
-	  This can happen if you remove a request or sometimes pad from a running element.
-	  I don't see the code that caused this in tsdemux, but if it needs to unset
-	  the flag on remove, it should do it itself and then make sure that the parent
-	  exists in any pad function.
-
-2015-02-19 12:17:15 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: cast element in ASSERT_SET_STATE.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744777
-
-2015-02-19 01:16:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use a separate query for upstream pads and let it fail if one upstream query fails
-
-2015-02-19 01:12:49 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: If the latency query fails for one of the pads, it fails overall
-
-2015-02-18 11:05:19 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Remove unused boolean parameter from internal functions
-
-2015-02-17 12:11:43 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/queue.c:
-	  queue: Add unit test for buffer list and time level handling
-
-2015-02-17 11:44:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Add support for buffer lists
-
-2015-02-17 11:41:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Count the number of buffers in a buffer list for updating the current levels
-	  instead of just assuming one buffer.
-
-2015-02-17 20:47:23 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: revive async delivery message before bus thread can run unref
-	  Revive message in dispose handler before we signal the bus thread,
-	  otherwise the bus thread might be woken up and unref the message
-	  before we had a chance to revive it yet.
-
-2015-02-16 23:02:40 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbus.c:
-	  tests: bus: add unit test for async message delivery
-
-2015-02-16 22:39:42 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst_private.h:
-	* gst/gstbus.c:
-	* gst/gstmessage.c:
-	  message, bus: fix async message delivery
-	  Async message delivery (where the posting thread gets blocked
-	  until the message has been processed and/or freed) was pretty
-	  much completely broken.
-	  For one, don't use GMutex implementation details to check
-	  whether a mutex has been initialized or not, esp. not
-	  implementation details that don't hold true any more with
-	  newer GLib versions where atomic ops and futexes are used
-	  (spotted by Josep Torras). This led to async message
-	  delivery no longer blocking with newer GLib versions on
-	  Linux.
-	  Secondly, after async delivery don't free mutex/GCond
-	  embedded inside the just-freed message structure.
-	  Use a new (private) mini object flag to signal GstMessage
-	  that the message being freed is part of an async delivery
-	  on the bus so that the dispose handler can keep the message
-	  alive and the bus can free it once it's done cleaning up
-	  stuff.
-
-2015-02-16 19:24:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: nicer buffer offset printing when offsets are not set
-	  Print unset offsets as 'none' instead of humongous numbers,
-	  for better readability.
-
-2015-02-16 11:35:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Only initialize GValue to a type once, not on every retry
-	  Otherwise we'll get warnings like this:
-	  cannot initialize GValue with type 'gboolean', the value has already been initialized as 'gboolean'
-
-2015-02-14 12:15:03 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* gst/gstutils.c:
-	  gstutils: check uri before using it in gst_pad_create_stream_id_internal
-	  If an element implements wrongly the URI query and set the uri to NULL and if
-	  the element calls gst_pad_create_stream_id at some point, it will lead to crash
-	  as the uri is not supposed to be NULL in the gst_pad_create_stream_id_internal
-	  function.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744520
-
-2015-02-13 19:43:24 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  timedvaluecontrolsource: Do not wrongly send value-removed
-	  And avoid freeing something we do not own
-
-2015-02-04 15:06:17 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Set GST_VALIDATE_PLUGIN_PATH
-
-2015-02-12 13:34:49 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix documentation and debug message after latency updates
-	  Changes docs and message according to latency handling fix
-
-2015-02-12 14:50:15 +0000  Frédéric Wang <fred.wang@free.fr>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: use g_ascii_strtoull() to convert size string in uri
-	  sscanf() doesn't handle G_GUINT64_FORMAT well on mingw64 it
-	  appears, leading to compiler warnings.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744034
-
-2015-02-12 14:03:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: gst_pad_iterate_internal_links() can return NULL if there are none
-
-2015-02-12 14:03:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Return NULL instead of FALSE for pointers
-
-2015-02-12 13:55:36 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Implement more useful default handling for the LATENCY query
-	  Before we just took the values from the first pad that succeded the query,
-	  now we accumulate the results of every sinkpad properly and return that
-	  result.
-
-2015-02-12 11:26:26 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/design/part-latency.txt:
-	  design/part-latency: Minor logic fix
-	  The maximum latency will be the element's minimum latency or bigger,
-	  not bigger than the element's minimum latency or bigger.
-
-2015-02-11 13:41:56 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstquery.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue.c:
-	  Improve and fix LATENCY query handling
-	  This now follows the design docs everywhere.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
-
-2015-02-11 12:20:39 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/design/part-latency.txt:
-	  design/part-latency: Add more details about min/max latency handling
-	  These docs missed many details that were not obvious and because of that
-	  handled in a few different, incompatible ways in different elements and base
-	  classes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=744106
-
-2015-02-07 05:16:23 +1100  Jan Schmidt <jan@centricular.com>
-
-	* tests/check/gst/gstclock.c:
-	  tests: Fix clock regression test
-	  Fix up the values the test is checking for now that
-	  the clock regression returns parameters starting from
-	  the end of the regression range.
-
-2015-02-07 04:22:22 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Don't update the clock when it desynch
-	  Add a hold off when the clock calibration suddenly loses synch,
-	  as it may be a glitch, but also make sure we update if it stays
-	  desynched for more than a few seconds
-
-2015-02-06 06:07:43 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Make the RTT average ignore large values more forcefully.
-	  Smooth larger RTTs a little harder, so excessively large values
-	  perturb the average a bit less, and therefore get filtered out
-	  more strongly
-
-2015-02-05 22:55:39 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstclock-linreg.c:
-	  clock: Make linear regression x/y base start from maximum observation.
-	  Project the results of the linear regression to the end of the
-	  regression range, so they're more directly comparable to results
-	  going forward
-
-2015-02-05 13:49:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: add "offset" property to go with gst_pad_set_offset()
-	  So we can set the offset via gst-launch.
-
-2015-02-02 08:22:47 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstplugin.c:
-	  plugin: add more detail to logging when not loading a plugin
-	  Improve the log messages and add e.g the version number we checked.
-
-2015-02-02 17:37:44 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstpad.c:
-	  gstpad: Fix a typo in a docstring.
-
-2015-02-01 14:23:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  build: Check that _MSC_VER macro is defined
-
-2015-02-01 03:39:03 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>
-
-	* configure.ac:
-	* gst/gsttask.c:
-	  task: Add thread name support on OS X and iOS
-
-2015-01-29 16:37:07 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstclock-linreg.c:
-	  clock: Don't use invalid objects for GST_DEBUG_OBJECT()
-	  Not sure what "clock" actually is here, it must be something defined by one of
-	  the headers that are included.
-
-2015-01-29 12:10:18 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Document that gst_buffer_copy_region() accepts -1 as size to copy until the end
-	  It's just a wrapper around gst_buffer_copy_into() after all.
-
-2014-12-09 16:28:56 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  segment: Add new skip flags for clarifying trick mode playback.
-	  Add GST_SEEK_FLAG_TRICKMODE_KEY_UNITS and
-	  GST_SEEK_FLAG_TRICKMODE_NO_AUDIO, and rename GST_SEEK_FLAG_SKIP
-	  to GST_SEEK_FLAG_TRICKMODE (with backwards compat define).
-	  Do the same for the corresponding SEGMENT flags.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735666
-
-2015-01-23 08:59:27 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	  check: fix another typo in the docs
-
-2015-01-22 23:10:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsturi.c:
-	* tests/check/gst/gsturi.c:
-	  uri: Fix indention
-
-2015-01-21 14:10:02 +0000  David Waring <david.waring@rd.bbc.co.uk>
-
-	* tests/check/gst/gsturi.c:
-	  uri: Fix new URI parsing tests based on GNet's
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
-
-2015-01-21 14:09:45 +0000  David Waring <david.waring@rd.bbc.co.uk>
-
-	* gst/gsturi.c:
-	  uri: Fix parsing issues
-	  Make host IPs in square brackets store only the IP, i.e. strip the brackets.
-	  Strip leading whitespace characters in URIs.
-	  Fail parsing when host part does not match any valid formats from RFC3986.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
-
-2015-01-19 19:15:32 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gsturi.c:
-	  uri: Add parsing unit test based on GNet's
-	  Plus some new URIs to parse.
-	  https://git.gnome.org/browse/archive/gnet/plain/tests/check/gnet/gneturi.c
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743195
-
-2015-01-22 11:29:18 +0100  Heinrich Fink <hfink@toolsonair.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Fix doc of GST_CHECKS and GST_CHECKS_IGNORE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=743335
-
-2015-01-21 18:07:09 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	  check: Add _fail_unless() compatibility function around _ck_assert_failed()
-	  We exported this in < 1.5 and it was automatically used by many macros
-	  from the header. Keep it exported for now.
-
-2015-01-21 14:12:22 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Inline apply_pad_offset()
-	  Avoid doing a function call for something which will mostly be unused
-
-2015-01-21 14:10:06 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Fix debug message
-
-2015-01-21 11:45:41 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Fix PROBE_NO_DATA macro
-	  The problem was that the macro was always used with 'ret' as the defaultval
-	  argument.
-	  This would result in the macro eventually expanding to
-	  if (G_UNLIKELY (ret != ret && ret != GST_FLOW_OK))
-	  ... ret != ret will always fail, and therefore we'd never call the
-	  following line.
-	  Instead of that, store the previous value locally for comparision
-
-2015-01-21 22:44:59 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Fix docs typo. Clock bus messages are GST_MESSAGE_ELEMENT
-
-2015-01-15 22:32:28 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Implement rate limits for polling and fix up skew limits
-	  Add the minimum-update-interval property to the clock, with a default
-	  of 50ms and don't send polling requests faster than that. That helps to
-	  ensure we spread the initial observations out a little - startup takes
-	  a little longer, but tracking is more stable.
-	  Move the discont skew limiting code inside an if statement, so that
-	  it's only done when the linear regression succeeds and the clock
-	  parameters might actually change.
-
-2015-01-15 10:05:32 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstclock-linreg.c:
-	* gst/gstclock.c:
-	* tests/check/gst/gstclock.c:
-	  clock: Improve slaving regression.
-	  Add domain checks for the input values, and a variable precision
-	  calculation that loops if necessary to ensure we never overflow
-	  accumulators and then silently produce garbage results.
-	  Make the (non-public) linear regression function available for
-	  unit testing by putting it in a separate source file the test
-	  can include. Add a unit test that the new regression function
-	  produces sensible results for several inputs taken from real-world
-	  captures.
-
-2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	* tests/examples/netclock/.gitignore:
-	* tests/examples/netclock/Makefile.am:
-	* tests/examples/netclock/netclock-client.c:
-	* tests/examples/netclock/netclock-server.c:
-	  netclock: Add simple network clock server and client examples
-
-2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Implement sending statistic bus messages and discont limits
-	  Allow setting a GstBus on the network clock client
-	  via a new 'bus' object property. If a bus is set, the
-	  clock will output an element message containing statistics
-	  about new clock observations and the clock correlation.
-	  When the local clock is synchronised with the remote, limit the
-	  maximum jump in the clock at any point to be one average RTT to
-	  the server. Also, publish in the bus message whether we are
-	  synched with the remote or not.
-
-2015-01-10 21:42:00 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  clock: Add gst_clock_add_observation_unapplied()
-	  gst_clock_add_observation_unapplied() adds a new master/slave clock
-	  observation and runs the regression without activating the new
-	  calibration results.
-
-2014-12-16 22:51:22 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  clock: Add gst_clock_adjust_with_calibration()
-	  gst_clock_adjust_with_calibration() uses directly passed calibration
-	  parameters, instead of using the clock's current calibration,
-	  allowing for calculations using pending or old calibration params
-
-2015-01-21 09:45:16 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: Constify negotiation mode GEnumValue table
-
-2015-01-20 10:35:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* gst/gstevent.c:
-	  docs: fix typo in GstEvent docs
-	  send -> sent
-
-2015-01-20 09:19:10 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/git-update.sh:
-	* scripts/gst-uninstalled:
-	  scripts: Remove gnonlin from the scripts
-	  It is not maintain anymore and its feature are now inside the GStreamer
-	  Editing Services (for the time being).
-
-2015-01-16 19:17:31 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Pass structs we plan to modify around by pointer, not value
-	  Otherwise the struct is going to be copied, which is not very efficient. And
-	  also has the nice side effect that modifications of the struct might be
-	  done in a copy, and we later use the original struct without the changes.
-	  Caused LATENCY queries to always return the initialization values in one of my
-	  tests, instead of the actual values reported by child elements.
-
-2015-01-14 10:52:11 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: send gap events when dropping buffers
-
-2015-01-13 18:11:39 +0000  Phillip Wood <phillip.wood@dunelm.org.uk>
-
-	* gst/gstpreset.c:
-	  preset: fix incorrect preset version comparison
-	  Use app_version if there are no system presets, so that if the
-	  application presets are newer than the user presets they are merged.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742877
-
-2015-01-12 16:03:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Don't dereference NULL pointer
-	  CID 1262286
-
-2015-01-12 15:55:47 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From f2c6b95 to bc76a8b
-
-2015-01-11 23:00:29 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: fix sorting presets
-	  The glib docs are not clear on this, but the qsort man-page is - the
-	  GCompareDataFunc does not get the strings, but pointers to them.
-
-2014-12-31 18:52:34 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix silly GQueue iteration code
-	  Not active by default though.
-
-2015-01-04 23:24:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: don't return empty preset lists
-	  Add a shortcut for the cases where an element implements the preset iface but
-	  has no presets and return NULL instead of an empty list in that case.
-
-2015-01-04 23:08:47 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: only print presets line if num-presets > 0
-	  Also check for an empty strv.
-
-2015-01-04 22:51:09 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix output for -a
-	  Use n_print to ensure all lines are prefixed with the element name.
-
-2014-12-29 11:54:00 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/Makefile.am:
-	  docs: ignore libcheck headers that use doxygen comments
-
-2014-12-29 11:52:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  docs: fix two gtk-doc warnings
-	  One by correcting the end-of-comment marker and one by making sure the function
-	  prototype in the header is in sync with the c file and doc-blob.
-
-2014-12-26 23:22:30 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	  docs: Add missing interfaces to documentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=742057
-
-2014-12-27 15:15:30 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
-
-	* gst/gstiterator.c:
-	  iterator: Fix outdated example code and accompanying documentation
-	  GstIterator no longer returns a refcounted gpointer
-
-2014-12-24 13:46:28 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use the same waiting function for EOS and non-EOS waiting
-
-2014-12-24 13:44:09 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Wake up all waitings pads directly if we forward the EOS event
-	  Otherwise they might wait a bit longer unnecessarily.
-	  Also do some minor cleanup.
-
-2014-12-24 10:13:51 +0800  Song Bing <b06498@freescale.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Block when receiving an EOS event on a deactivated pad
-	  ... and only unblock when either a) the pad becomes active and the event
-	  should be forwarded or b) the active pad went EOS itself.
-	  Otherwise it can happen that we switch from a longer track that is not EOS yet
-	  to a shorter track that already is EOS, but the shorter track won't have any
-	  possibility to send its EOS event downstream anymore.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740949
-
-2014-12-23 12:54:50 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Keep a ref of the currently active sinkpad around
-	  Otherwise we can't be sure that the pointer points to a still existing
-	  pad instance after releasing the lock.
-
-2014-12-23 12:53:58 +0100  Song Bing <b06498@freescale.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Get the active sinkpad again after taking the lock when handling events
-	  It might have changed in the meantime.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=741893
-
-2014-12-22 13:08:37 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Short-circuit CAPS query handling if transform_caps returns EMPTY caps
-	  Both for the peer filter caps and the converted caps based on the peer caps.
-	  If the peer filter caps are EMPTY, the peer caps query will also return
-	  EMPTY. There's no ned to both downstream/upstream with this query.
-
-2014-12-22 11:45:13 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* MAINTAINERS:
-	  MAINTAINERS: Update my mail address
-
-2014-12-21 14:12:29 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: use a constant for the max param length
-	  Improve readability by using a define for the max-chars. Also use the unicode
-	  ellipsis as dot files are utf-8.
-
-2014-12-15 14:03:54 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: print preset names
-	  If the element supports presets and ships some, print them.
-	  Fixes #741427
-
-2014-12-19 11:35:24 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstinfo.h:
-	  gstinfo: Add new maximum level debugging
-	  API: GST_LEVEL_MAX
-	  By compiling gstreamer (or plugins) with GST_LEVEL_MAX defined, only
-	  the debugging statements at or below that level will be compiled in.
-	  This allows compiling in some debugging (like errors and warnings) which
-	  helps in debugging, but without the full cpu/memory overhead of all debugging
-	  enabled.
-
-2014-12-18 12:04:22 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: fix GI annotation
-	  Add missing : to annotation
-
-2014-11-13 14:53:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: jump over large skips in pull mode
-	  This bypasses the dumping of buffers we still have to do in push mode.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730053
-
-2014-10-25 17:16:25 +0530  Arun Raghavan <arun@accosted.net>
-
-	* gst/gstdebugutils.c:
-	* gst/gstdebugutils.h:
-	  debugutils: Truncate parameter values that are too long
-	  This removes some information from the dumps, but improves readability.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739165
-
-2014-12-18 10:53:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From ef1ffdc to f2c6b95
-
-2014-12-16 16:31:21 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gststructure.c:
-	* win32/common/libgstreamer.def:
-	  structure/caps: Add gst_{structure,caps}_filter_and_map_in_place()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739765
-
-2014-12-16 18:14:22 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gststructure.c:
-	  structure: Add simple unit test for foreach() and map_in_place()
-
-2014-11-07 11:15:09 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* tests/check/gst/gstcaps.c:
-	  caps: Add gst_caps_foreach() and gst_caps_map_in_place()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739765
-
-2014-12-16 15:53:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translatable strings
-
-2014-12-14 12:54:32 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* configure.ac:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	  check: Have autotools generate internal-check.h
-	  Previously GStreamer got access to the libcheck interface by including
-	  libs/gst/check/check.h which in turn included internal-check.h in the
-	  same directory. internal-check.h was generated by copying
-	  libs/gst/check/libcheck/check.h which in turn was generated from
-	  check.h.in in the same directory. In this case generating
-	  libs/gst/check/libcheck/check.h is unnecessary, in addition this file
-	  was accidentally distributed in generated project tarballs.
-	  Now libs/gst/check/internal-check.h is generated directly from
-	  libs/gst/check/libcheck/check.h.in by configure. This means that the
-	  libcheck source must include internal-check.h instead of the previously
-	  generated libs/gst/check/libcheck/check.h. However the unnecessary
-	  intermediate step is now skipped.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741359
-
-2014-12-16 10:13:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: Don't check size in config validation
-	  Pools are allowed to change the size in order to adapt padding. So
-	  don't check the size. Normally pool will change the size without
-	  failing set_config(), but it they endup changing the size before
-	  the validate method may fail on a false positive.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=741420
-
-2014-12-16 12:21:59 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: log reason for discarded buffers
-	  PERFORMANCE log the reason why a buffer could not be recycled in the
-	  bufferpool.
-
-2014-12-15 14:53:28 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* m4/check-checks.m4:
-	  check: Update version number of included libcheck
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741550
-
-2014-12-12 21:02:22 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update exports
-
-2014-12-12 21:54:01 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new preset api
-
-2014-12-12 21:38:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	* gst/gstpreset.h:
-	  preset: add gst_preset_is_editable()
-	  Add a function to check if the preset iface implementation is editable and
-	  document this from the implementers perspective.
-	  API: gst_preset_is_editable()
-
-2014-12-12 14:23:19 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update def file
-
-2014-12-12 13:57:39 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Fix compiler warning
-	  gstdebugutils.c: In function 'gst_debug_bin_to_dot_data':
-	  gstdebugutils.c:683:530: error: 'return' with no value, in function returning non-void [-Werror]
-	  g_return_if_fail (GST_IS_BIN (bin));
-
-2014-12-12 13:15:02 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* gst/gstdebugutils.c:
-	* gst/gstdebugutils.h:
-	  debugutils: Add a gst_debug_bin_to_dot_data() method
-	  This provides the dot file as a string, rather than dumping to a file.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=741425
-
-2014-12-10 11:17:11 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: minor cosmetic change
-	  No nee to abbrev variab nam here, nicer to read if full.
-
-2014-12-10 11:16:09 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: use GST_BUFFER_OFFSET_NONE for buffer offset
-
-2014-12-07 12:55:26 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* libs/gst/check/libcheck/check.h.in:
-	  check: Avoid requring (u)intmax_t in macros
-	  Previously embedded libcheck versions did not depend on (u)intmax_t and
-	  doing so would require projects using GStreamer's check framework to add
-	  AX_CREATE_STDINT_H to their configure.ac. A workaround is to fallback to
-	  glib types. This patch assumes that glib.h is always included before
-	  internal-check.h which is ok since everything Gstreamer would include
-	  gst/gstcheck.h instead of directly including internal-check.h.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
-
-2014-12-06 19:03:04 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* libs/gst/check/libcheck/clock_gettime.c:
-	  check: Fix compilation error for iOS
-	  libcheck includes CoreServices for its compat for clock_gettime(),
-	  even though it never uses anything it declares. Let's remove it.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
-
-2014-11-15 13:26:47 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* configure.ac:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_error.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/libcompat.h:
-	* m4/check-checks.m4:
-	  check: Apply GStreamer-specific patches
-	  Reintroduced patches:
-	  * Make sure that fail_if(1) actually fails
-	  from commit 9f99d056a263e71a5e6181224829def906cf0226
-	  New patches due to updated libcheck (based on 0.9.14):
-	  * Checks in m4/check-checks.m4 to cater for new dependencies
-	  * Conditional compile-time compat POSIX fallbacks for libcheck
-	  * Avoid relative paths for libcheck header files
-	  * Make timer_create() usage depend on posix timers, not librt
-	  * Rely on default AX_PTHREAD behavior to allow HAVE_PTHREAD to be used
-	  when checking for types and functions (like clock_gettime())
-	  * Avoid double declaration of clock_gettime() when availabe outside of
-	  librt by making compat clock_gettime() declaration conditional
-	  * check 0.9.9 renamed _fail_unless() and 0.9.12 later renamed it again
-	  to _ck_assert_failed(), so ASSERT_{CRITICAL,WARNING}() now calls this
-	  function
-	  * Remove libcheck fallback infrastructure for malloc(), realloc(),
-	  gettimeofday() and snprintf() since either they appear to be
-	  available or they introduce even more dependencies.
-	  The result is an embedded check in gstreamer that has been tested by
-	  running check tests in core, -base, -good, -bad, -ugly and rtsp-server
-	  on Linux, OSX and Windows.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
-
-2014-11-15 12:53:32 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* libs/gst/check/libcheck/alarm.c:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_error.h:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_list.h:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_log.h:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_msg.h:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_pack.h:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_print.h:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/check_str.h:
-	* libs/gst/check/libcheck/clock_gettime.c:
-	* libs/gst/check/libcheck/libcompat.c:
-	* libs/gst/check/libcheck/libcompat.h:
-	* libs/gst/check/libcheck/localtime_r.c:
-	* libs/gst/check/libcheck/strsignal.c:
-	* libs/gst/check/libcheck/timer_create.c:
-	* libs/gst/check/libcheck/timer_delete.c:
-	* libs/gst/check/libcheck/timer_settime.c:
-	  check: Import version 0.9.14
-	  This lifts the files almost verbatim (the changes being running though
-	  gst-indent and fixing the FSF address) from the upstream respository.
-	  Therefore this commit reverts some GStreamer-specific patches to check
-	  that will be reintroduced next.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727826
-
-2014-11-04 19:11:50 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: Propagate input buffer offset
-	  The initial buffers might have non-default offsets, make sure they get
-	  propagated if present.
-
-2014-10-07 16:44:45 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: clamp reported position based on direction
-	  When using a negative rate (rate being segment.rate * segment.applied_rate),
-	  we will end up reporting decreasing positions, therefore adjust the clamping
-	  against last reported value accordingly.
-	  Fixes positions getting properly reported with applied_rate < 0.0
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738092
-
-2014-11-28 14:17:54 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/manual/advanced-buffering.xml:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstplugin.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gsttestclock.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* tools/gst-launch.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.
-	  Also normalize booleans in a few places.
-
-2014-11-30 23:50:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  plugins: fix build on windows
-	  gstelements_private.c: In function 'gst_writev_buffers':
-	  gstelements_private.c:236:51: error: 'EWOULDBLOCK' undeclared
-
-2014-11-28 15:09:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: use writev() in ::render() to write out memories without merging them
-
-2014-11-28 15:04:27 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: implement ::render_list() function that uses writev()
-
-2014-11-28 14:47:20 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: use writev() in ::render() to write out memories without merging them
-
-2014-11-28 14:39:33 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	  fdsink: implement ::render_list() using writev()
-	  Write out multiple buffers possibly containing multiple
-	  memories with one writev() call, without merging the
-	  buffer memories first, like ::render() does currently.
-
-2014-11-28 14:38:30 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* configure.ac:
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	  plugins: add helper function for writing buffers out with writev()
-
-2014-11-28 14:15:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: update the duration variable before emitting the bus
-	  Otherwise the application might still get the old value if it asks
-	  between the message and the real update.
-
-2014-11-28 16:25:02 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstelement.c:
-	  element: Fix doc and default implementation of send_event
-	  The documentation states that gst_element_send_event is to "send an event
-	  to an element".
-	  Therefore we *send* upstream events to a source pad and downstream events
-	  to a sink pad
-
-2014-11-28 11:16:00 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstelement.c:
-	  element: Figure default send_event direction handling
-	  If we get a downstream event we want to send it to a random SINK pad
-	  (and vice-versa).
-
-2014-11-27 18:00:57 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Compare correct caps variable against NULL before comparing caps
-
-2014-11-27 17:10:19 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From f32cfcd to ef1ffdc
-
-2014-11-10 09:58:47 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  scripts:uninstalled: Make sur the GES TestManager is registered
-	  So that whenever user work with GstValidate they can run GES tests
-	  within the gst-uninstalled environment
-
-2014-11-26 21:48:05 +0530  Arun Raghavan <git@arunraghavan.net>
-
-	* common:
-	* m4/ax_pthread.m4:
-	  build: Update ax_pthread.m4 and move it to common
-	  Has some updates for Clang support (might not work with newer Clang
-	  properly, yet), AIX support, and some misc fixes.
-
-2014-11-25 17:46:12 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  triggercontrolsource: Fix short description for the docs
-
-2014-11-25 09:39:40 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/running.xml:
-	  docs: add GST_GL_* environment variables to 'Running GStreamer' section
-
-2014-11-23 05:45:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: percentage is relative to high-percent
-	  When comparing percentage values, compare with 0-100 scale as it
-	  has already been made relative to 0-high_percent, otherwise we mark
-	  the queue as not buffering and report a 50% to the user. This leads to
-	  a buffering stall as the user assumes the queue is still buffering but
-	  it thinks it isn't.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736969
-
-2014-11-23 05:42:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: percentage is an absolute value
-	  multiqueue's queues stored percent value is the percentage from 0
-	  to 100 (max-size-*) and should be compared with the requested limit
-	  (high_percentage) set by the user and not with 100% to check if
-	  buffering should stop. Otherwise we are only stopping buffering when the
-	  queue gets completely full.
-
-2014-11-20 21:33:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix caps equality check
-	  Instead of checking if our outcaps are equivalent to the previous incaps, and
-	  if that is the case not setting any caps on the pad... compare against our
-	  previous outcaps because that's what we care about.
-	  Fixes some cases where the outcaps became equivalent to the previous incaps,
-	  but the previous outcaps were different and we were then sending buffers
-	  downstream that were corresponding to the caps we forgot to set on the pad.
-	  Resulting in crashes or image corruption.
-
-2014-11-20 13:33:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  common: update for bison version check patch
-	  Fix configure check with bison development version.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728946
-
-2014-11-20 13:34:32 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gststructure.c:
-	  structure: don't overread input when searching for "
-	  When searching for the string terminator don't read past the ending
-	  0-byte when escaping characters.
-	  Add unit test for various escaping cases.
-
-2014-11-03 17:46:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fail dropped queries
-	  Previously, dropping a query from a pad probe would deem the
-	  query succeeded, and the caller might then assume the query's
-	  results are valid, and thus dereference an invalid object
-	  such as a GstCaps.
-	  We now assume dropped queries did not succeed. Dropped events
-	  and buffers are still deemed a success.
-	  Added back after previous revert, as it's been double checked.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740003
-
-2014-11-12 13:55:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "pad: fail dropped queries"
-	  This was pushed by mistake along with an unrelated patch.
-	  This reverts commit c7103ce4b8c1da7dcfbcf2ec83a42a376fb896e1.
-
-2014-05-13 11:18:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: allow skipping more data than we currently have
-	  This can be useful for skipping large unwanted data, such as
-	  large album art, when we know the size of it from a metadata
-	  header.
-
-2014-11-03 17:46:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fail dropped queries
-	  Previously, dropping a query from a pad probe would deem the
-	  query succeeded, and the caller might then assume the query's
-	  results are valid, and thus dereference an invalid object
-	  such as a GstCaps.
-	  We now assume dropped queries did not succeed. Dropped events
-	  and buffers are still deemed a success.
-
-2014-11-12 11:30:51 +0100  Haakon Sporsheim <haakon.sporsheim@gmail.com>
-
-	* gst/gsttask.c:
-	* tests/check/gst/gsttask.c:
-	  task: Fix pause/stop race condition
-	  If a task thread is calling pause on it self and the
-	  controlling/"main" thread stops the task, it could end in a race
-	  where gst_task_func loops and then checks for paused after the
-	  controlling thread just changed the task state to stopped.
-	  Hence the task would actually call func again even though it was
-	  both paused and stopped.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=740001
-
-2014-11-10 10:01:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstobject.c:
-	  gstobject: Don't check booleans for equality in the unit test
-	  Every value other than 0/FALSE is TRUE, == TRUE will only check for 1.
-
-2014-11-05 11:50:47 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/check/gst/gstobject.c:
-	* win32/common/libgstreamer.def:
-	  gstobject: Add gst_object_has_parent()
-	  Adds gst_object_has_parent, which works like gst_object_has_ancestor
-	  but does not ascend further.
-	  API: gst_object_has_parent()
-
-2014-11-09 10:37:42 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Don't bother the subclass with setting the same caps multiple times
-
-2014-11-09 10:32:18 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't bother the subclass with setting the same caps multiple times
-
-2014-11-09 10:29:57 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't bother the subclass with setting the same caps multiple times
-
-2014-11-07 08:22:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: remove conditional for G_VALUE_COLLECT_INIT
-	  This API is in glib since 2.24 and we currently require 2.32 and already use
-	  this unconditionally elsewhere.
-
-2014-11-05 19:09:39 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: remove commented code
-	  The GQuark was never used.
-
-2014-11-07 11:34:08 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/Makefile.am:
-	* pkgconfig/gstreamer.pc.in:
-	  gstconfig: Put gstconfig.h into $(libdir)/gstreamer-1.0/include
-	  It's architecture dependent and should not be placed into the include
-	  directory as the assumption is that all those headers are architecture
-	  independent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739767
-
-2014-11-07 10:56:42 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: Fix gobject-introspection warnings
-	  gsturi.c:997: Error: Gst: Skipping invalid GTK-Doc comment block:
-	  /** private GstUri functions **/
-	  ^
-	  gsturi.c:1179: Error: Gst: Skipping invalid GTK-Doc comment block:
-	  /** RFC 3986 functions **/
-	  ^
-
-2014-10-24 21:25:54 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: Fix gst_data_queue_new() description.
-	  Reword the function docs, which haven't made any sense since
-	  gst_data_queue_new_full() was removed a few years ago.
-
-2014-11-03 18:27:21 +0100  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Answer the query position when receiving it from upstream
-	  Currently we are just returning FALSE, but we do have the information
-	  we should just answer the query the same way as when answering through
-	  the GstElement.query vmethod default implementation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739580
-
-2014-10-22 14:07:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	* tests/check/elements/capsfilter.c:
-	  capsfilter: Add an optional delayed caps change mode
-	  In this mode we accept previously set filter caps until
-	  upstream renegotiates to something that is compatible
-	  to the current filter caps.
-	  This allows dynamic caps changes in the pipeline even
-	  if there is a queue between any conversion element
-	  and the capsfilter. Without this we would get not-negotiated
-	  errors if timing is bad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739002
-
-2014-11-02 20:16:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttoc.c:
-	  toc: minor code clean-up
-	  And get rid of g_list_prepend/g_list_reverse
-	  anti-pattern while we're at it.
-
-2014-11-02 18:51:08 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/gst.c:
-	  gst: ensure GStreamer initialization debug message is displayed
-	  The GST_INFO ("initialized GStreamer succesfully") is currently at the end of
-	  gst_init_check which isn't guaranteed to be run since GStreamer can be
-	  initialized by using init_pre and init_post directly from GOptionContext like
-	  gst-launch does. Ensure this message is displayed by moving it to init_post.
-
-2014-11-01 19:56:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* gst/gstbus.c:
-	* libs/gst/base/gstadapter.c:
-	  doc: 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 22:30:30 +0100  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: add G_PARAM_DEPRECATED to known flags
-	  Display 'deprecated' instead of flag value when using G_PARAM_DEPRECATED
-	  in element properties.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739518
-
-2014-10-31 16:10:01 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/tools/gstinspect.c:
-	  tests: refactor tools check a little
-	  Use an array of constant strings so if arguments get
-	  removed from it they are not considered leaked, and
-	  valgrind is happy. Still some stuff leaking in GLib
-	  though.
-
-2014-10-30 23:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/bytereader.c:
-	  tests: fix out-of-bounds memory access in bytereader unit test
-	  Caught by -fsanitize=address / libasan.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=739431
-
-2014-10-28 19:16:52 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	  gst: make gst_init() thread-safe
-	  Because we can, and there isn't really any
-	  reason not to do so.
-
-2014-10-28 09:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/fdsrc.c:
-	  tests: fdsrc: don't ignore return value of write()
-	  Causes compiler warnings on some systems.
-
-2014-10-28 00:04:05 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/elements/fdsrc.c:
-	  tests: fix fdsrc test corner case
-	  Make pipe socket non-blocking, so we don't
-	  end up being blocked in a write on the pipe
-	  while the src is eos and not reading data
-	  any more, and thus we never unblock and never
-	  notice that we're done. This would happen
-	  quite reliably on the rpi.
-
-2014-10-27 17:56:15 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 84d06cd to 7bb2bce
-
-2014-10-25 17:15:42 +0530  Arun Raghavan <arun@accosted.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Trivial typo fix
-
-2014-10-24 12:51:07 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: don't unlock mutex that is not locked
-	  Fixes 'Attempt to unlock mutex that was not locked'
-	  warning with newer GLibs when sink is shut down in
-	  certain situations. Triggered by the decodebin
-	  test_reuse_without_decoders unit test in -base
-	  sometimes, esp. on slower machines.
-
-2014-10-22 18:25:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstcontroller.def:
-	  win32: update .def for new _get_type() function for GstControlPoint
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737616
-
-2014-09-29 21:10:14 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	  timedvaluecontrolsource: Add some signals about values changes
-	  In order for user to be able to track changes in the value set in
-	  GstTimedValueControlSource the following signals have been added:
-	  * value-added
-	  * value-removed
-	  * value-changed
-	  To be able to use a GstControlPoint to be marshalled into the signals,
-	  the GstControlPoint structure is now registerd as a GBoxed type.
-	  New API:
-	  ~~~~~~~
-	  * GstTimedValueControlSource::value-added
-	  * GstTimedValueControlSource::value-removed
-	  * GstTimedValueControlSource::value-added
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737616
-
-2014-10-21 13:01:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From a8c8939 to 84d06cd
-
-2014-10-21 12:18:33 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: remove duplicate gst_message_get_type() in init
-	  Spotted by: Jan Steffens
-
-2014-10-21 12:57:45 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 6e75498 to a8c8939
-
-2014-10-20 16:39:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gstidentity.c:
-	  identity: include the actual delta in the message
-	  Including the actual delta in the message makes it easy to see, if the new
-	  buffer is behind or ahead and how much.
-
-2014-10-18 18:43:43 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Tidy initialisation
-	  Use some macros to make our value functions setup a bit
-	  tidier, and micro-optimise a few reallocs by setting an
-	  initial size for the global type arrays.
-
-2014-10-18 17:27:04 +1100  Jan Schmidt <jan@centricular.com>
-
-	* tools/gst-indent:
-	  gst-indent: Run indent twice. Once is not idempotent, twice seems to be.
-
-2014-10-16 10:13:14 +0400  Andrei Sarakeev <sarakusha@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Wake up any waiting streams if the current one goes EOS
-	  Otherwise we might have unlinked streams waiting.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738198
-
-2014-10-17 12:41:04 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttypefind.c:
-	  typefind: simplify registration code
-	  Remove a useless assert (we just instantiated this type). Drop the free'ing of
-	  the extension array. As we just created the instance this is always NULL.
-
-2014-10-16 10:55:36 +0200  Felix Schwarz <felix.schwarz@oss.schwarz.eu>
-
-	* docs/pwg/advanced-allocation.xml:
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-events.xml:
-	* docs/pwg/advanced-qos.xml:
-	* docs/pwg/advanced-tagging.xml:
-	  docs: pwd: fix typos
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738612
-
-2014-10-11 19:28:21 +0200  Linus Svensson <linusp.svensson@gmail.com>
-
-	* tests/check/gst/gstbus.c:
-	  tests: Add a test for removing a bus watch
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735195
-
-2014-08-19 23:28:52 +0200  Linus Svensson <linusp.svensson@gmail.com>
-
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* tests/check/gst/gstbus.c:
-	* win32/common/libgstreamer.def:
-	  bus: Add a function to remove a bus watch
-	  If a bus watch is added to the non default main context it's not
-	  possible to remove it using g_source_remove().
-	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
-
-2014-10-08 22:51:56 +0530  Arun Raghavan <arun@accosted.net>
-
-	* gst/gstevent.h:
-	  docs: Update GstQOSType documentation a bit
-	  Correction for who is producing data too fast, and some other minor
-	  clarifications.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738166
-
-2014-10-08 16:03:20 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	* docs/pwg/advanced-qos.xml:
-	  docs: pwg: fix two typos
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738153
-
-2014-10-08 15:37:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  docs: pwg: fix typo in 'Dynamic negotiation' section
-	  The point of this example is to show how to set caps
-	  on the source pad once it has been set on the sink pad.
-	  So, in passthrough mode, the caps is just copied to the
-	  source pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=738153
-
-2014-10-08 09:37:41 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: don't lock multiqueue when pushing serialized queries
-	  If we are pushing a serialized query into a queue and the queue is
-	  filled, we will end in a deadlock. We need to release the lock before
-	  pushing and acquire it again afterward.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737794
-
-2014-10-08 01:33:51 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Use GST_PTR_FORMAT in debug to output buffer details
-	  Use %GST_PTR_FORMAT instead of %p in debug output so all the buffer
-	  details are output
-
-2014-10-06 13:38:21 +0200  Nicolas Huet <nicolas.huet@parrot.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: fix multi-thread entry status issue
-	  Running two threads, one executing the timer and one unscheduling it, the
-	  unscheduled status set by the second thread is sometimes overwritten by the
-	  first one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737999
-
-2014-10-03 14:04:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix compilation
-
-2014-10-03 14:44:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: extract some common code into helpers
-
-2014-10-03 14:01:59 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: small code cleanups
-	  Rename TIMESTAMP -> PTS. Move a var down to the scope where it is used. Use
-	  g_queue_free_full().
-
-2014-10-03 13:47:42 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: fix printf format
-	  The padcount is uint. Also add comments to the instance vars.
-
-2014-10-02 03:30:24 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't leak caps in gst_base_parse_process_streamheader
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
-
-2014-10-03 13:14:25 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: baseparse: set_sink_caps vfunc should't take ownership of the caps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
-
-2014-10-03 09:57:37 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: mark the pattern property as unused
-	  Revert the previous commit which removes the pattern property of fakesrc because
-	  doing so will break ABI. Bringing the property back but marking it as unused
-	  in the property string.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737683
-
-2014-10-03 09:01:15 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  Revert "baseparse: don't leak caps in gst_base_parse_process_streamheader"
-	  This reverts commit 5e8b4bf085180f7a4c7ae6ec0f525baeaedd4df8.
-	  This causes refcounting criticals in the baseparse unit test.
-
-2014-10-02 13:45:34 +0100  Luis de Bethencourt <luis.bg@samsung.com>
-
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	  fakesrc: removing unused pattern option
-	  Eventhough the "pattern" property of fakesrc can be set, it is never used. The
-	  only pattern supported is the default 0x00 -> 0xff, and if a pattern is set by
-	  the user it is ignored. Removing the unused property and variable.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737683
-
-2014-10-02 14:55:22 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Add missing break in switch
-
-2014-10-02 11:00:32 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: update segment position on GAP events to calculate levels properly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
-
-2014-10-02 10:57:43 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: update segment position on GAP events to calculate levels properly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
-
-2014-09-27 20:10:34 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: update segment position on GAP events to calculate levels properly
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737498
-
-2014-10-02 03:30:24 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't leak caps in gst_base_parse_process_streamheader
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737762
-
-2014-10-02 10:13:28 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Push pending events before a buffer also if upstream never configured caps but we have srcpad caps already
-	  Otherwise we never send pending events downstream that arrive after we
-	  configured caps on the srcpad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737735
-
-2014-09-29 17:48:29 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: Don't unconditionally use g_list_copy_deep()
-	  We don't depend on GLib 2.34 yet and just for this seems a bit useless.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737584
-
-2014-09-29 16:22:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	* gst/gsturi.c:
-	  uri: Include our own BSD licensed copy of strcasestr() for Windows and others
-
-2014-09-29 15:54:37 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: Fix compiler warnings with gcc
-	  These are actually not true.
-	  gsturi.c: In function '_gst_uri_string_to_table.constprop':
-	  gsturi.c:1316:27: error: 'pct_kv_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-	  for (next_sep = strcasestr (value, pct_kv_sep); next_sep;
-	  ^
-	  gsturi.c:1283:24: error: 'pct_part_sep' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-	  next_sep = strcasestr (next_sep + 1, pct_part_sep)) {
-	  ^
-
-2014-09-29 12:19:35 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsturi.c:
-	  uri: Fix memory leak in gst_uri_join()
-	  The merged path segments are a deep-copied list and we need to free the
-	  contained strings too instead of just the list nodes themselves.
-
-2014-07-31 22:18:53 +0100  David Waring <david.waring@rd.bbc.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* tests/check/gst/gsturi.c:
-	* win32/common/libgstreamer.def:
-	  GstUri: Add GstUri miniobject to handle URIs in an RFC 3986 compliant fashion
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725221
-
-2014-09-27 13:57:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  scripts: add gst-rpicamsrc to gst-uninstalled
-
-2014-09-25 21:21:09 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/tools/gstinspect.c:
-	* tools/gst-inspect.c:
-	  fixme: bump leftover 0.11 fixme comments
-
-2014-09-25 21:04:23 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstevent.c:
-	  event: 'newsegment' to 'segment' in the docs
-	  Brings the api-docs in sync with the 1.0 api rename.
-
-2014-09-25 20:23:31 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: move the quick return up
-	  Don't assign local vars if we skip anyway. Add logging for failure conditio
-
-2014-09-25 19:01:52 +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.
-	  Let this settle a bit before upgrading the other modules.
-
-2014-09-25 18:57:32 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstbase.def:
-	  win32: update .def file
-	  It's sorted. If it's unsorted, make check-exports fails.
-
-2014-09-25 18:55:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: remove confusing warning about running under valgrind
-	  We're not actually doing anything differently anywhere when
-	  we detect that we're running under valgrind, so let's not
-	  print that confusing message that makes people wonder how
-	  they can switch it off so they can valgrind the normal
-	  code paths. Seeing that we're not doing that nor have done
-	  so in the last 10 years we might just as well remove the
-	  entire check actually.
-
-2014-09-25 16:21:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: fix caps leak in baseparse unit test
-
-2014-09-25 14:54:23 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	* tests/check/libs/flowcombiner.c:
-	* win32/common/libgstbase.def:
-	  flowcombiner: add a gst_flow_combiner_clear() method
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737359
-	  API: gst_flow_combiner_clear()
-
-2014-09-24 10:11:54 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* scripts/gst-uninstalled:
-	  scripts: Handle gst-python in gst-uninstalled
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709082
-
-2014-06-03 14:23:30 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Remove EOS event from pending_event list on FLUSH_STOP
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709868
-
-2014-09-22 14:27:05 +0100  William Manley <will@williammanley.net>
-
-	* gst/gstbuffer.c:
-	  docs: Fix GstBuffer typo "memory bock" -> "memory block"
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737117
-
-2014-09-22 17:27:31 +0100  William Manley <will@williammanley.net>
-
-	* gst/gstbuffer.c:
-	  docs: Improve gst_buffer_get_meta() to clear up confusion
-	  I was confused by the existence of `gst_buffer_get_meta` as it suggested
-	  to me that you should only attach one of any type of GstMeta to a buffer.
-	  It's perfectly fine to attach multiple from a single API so I'm
-	  documenting that here.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737129
-
-2014-09-22 19:05:32 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>
-
-	* gst/gstdatetime.h:
-	  datetime: added missing include directives
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737133
-
-2014-09-23 14:31:29 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Do not forget to release the QUEUE_LOCK in the out_flow_error path
-	  Avoiding deadlocks!
-
-2014-09-23 12:53:18 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.h:
-	  docs: fix a small contradition in the docs
-	  The vmethod get_size() shall return the size in 'format' as configured by
-	  _set_format().
-
-2014-09-22 09:33:04 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages
-	  This might create deadlocks and we need to avoid holding element
-	  specific lock while posting messages
-	  For example a deadlock will happen if while posting the message,
-	  someone connected on the bus (sync) tries to DOT the pipeline.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=737102
-
-2014-09-19 12:02:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: do not post buffering messages holding the lock
-	  It might cause deadlocks to post messages while holding the queue2
-	  lock. To avoid this a new boolean flag is set whenever a new
-	  buffering percent is found. The message is posted after the lock
-	  is released.
-	  To make sure the buffering messages are posted in the right order, messages
-	  are posted holding another lock. This prevents 2 threads trying to post
-	  messages at the same time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736969
-
-2014-09-19 09:42:10 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>
-
-	* gst/gsturi.c:
-	  gsturi: Remove unnecessary code
-	  gst_uri_handler_set_uri() function has new_uri, location and colon
-	  are not necessary, they can be removed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736877
-
-2014-09-19 00:33:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/intro-basics.xml:
-	  docs: pwg: fix some links to the API docs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736762
-
-2014-09-18 18:55:47 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: remove FIXME
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735878
-
-2014-09-17 21:49:18 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gst.c:
-	  gst: Fix spelling error
-	  Thank to Adrian Owen for reporting this error.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736839
-
-2014-09-17 17:17:10 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: do not leak sticky events in flush_stop
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736813
-
-2014-09-12 14:42:23 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: avoid global variable for log_file
-	  Use user_data to pass the log_file handle to the logger-function.
-	  If one wants to change the log target (e.g. GST_DEBUG_FILE), simply call
-	  gst_debug_remove_log_function() and re-add the handler with the new log-target
-	  using gst_debug_add_log_function ().
-
-2014-09-16 13:48:18 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* gst/gstevent.c:
-	  event: add annotations to gst_event_parse_toc_select()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736739
-
-2014-09-11 18:01:58 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: do not post messages holding the lock
-	  It might cause deadlocks to post messages while holding the multiqueue
-	  lock. To avoid this a new boolean flag is set whenever a new buffering percent
-	  is found. The message is posted after the lock can be released.
-	  To make sure the buffering messages are posted in the right order, messages
-	  are posted holding another lock. This prevents 2 threads trying to post
-	  messages at the same time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736295
-
-2014-09-16 16:07:40 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* docs/pwg/other-base.xml:
-	  docs: fix typo
-
-2014-09-16 12:17:48 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* gst/gstquery.c:
-	  query: Add annotations to gst_query_add_allocation_pool()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736736
-
-2014-09-15 16:38:17 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle reference in set_allocation rather than in prepare_allocation
-	  Otherwise we can forget to unref objects in error cases.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736680
-
-2014-09-15 13:06:40 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Use the name parameter of gst_check_setup_src_pad_by_name() and the sink variant
-	  This was hardcoded to "sink" / "src" by accident in previous refactoring.
-
-2014-09-13 20:12:52 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstvalve.c:
-	  coreelements: mark properties with MUTABLE_PLAYING
-
-2014-09-11 15:52:32 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Add a function to check destruction of objects
-	  Add a method letting people to ensure that unreffing one object
-	  leads to its destruction, and possibly the destruction of more object
-	  (think destruction of a GstBin etc...).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736477
-
-2014-09-12 14:10:40 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: don't list pad functions
-	  Don't print all the different pad functions, it's just
-	  confusing and no one has ever needed to know this for
-	  anything ever anyway, it's just useless information.
-	  Besides, we also label the default implementations as
-	  'custom' implementations (the code that tries to
-	  prevent that doesn't actually work it seems).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736377
-
-2014-09-12 15:22:19 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Make sure the buffer to get/pull_range() has at least the requested size
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
-
-2014-09-05 18:36:02 +0000  Tiago <tiagokatcipis@gmail.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Adding documentation to the gst_check_setup_sink_pad_by_name function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734190
-
-2014-09-10 14:53:00 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* gst/gstquery.c:
-	  query: add annotations to gst_query_set_nth_allocation_pool()
-	  https://bugzilla.gnome.org//show_bug.cgi?id=736424
-
-2014-09-11 09:35:17 +0200  Rémi Lefèvre <remi.lefevre@parrot.com>
-
-	* plugins/elements/gstvalve.c:
-	  valve: fix typo in description
-	  https://bugzilla.gnome.org/show_bug.cgi?id=736455
-
-2014-09-09 20:43:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: minor docs fix
-
-2014-09-07 01:30:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  Revert "dataurisrc: Remove unnecessary else if condition"
-	  This reverts commit 3024ae9c38490817a76c83feab3c8472989cafad.
-	  The *buf can be NULL or not depending if the caller of gst_pad_get_range
-	  function provided or not a buffer.
-
-2014-09-04 13:38:21 +0530  Vineeth T M <vineeth.tm@samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Remove unnecessary else if condition
-	  In gst_data_uri_src_create(), buf cannot be NULL, hence
-	  else if (*buf != NULL) will be invalid so removing the
-	  else if condition and adding a check to unreference buf
-	  in else condition, just in case
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
-
-2014-09-03 17:38:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: fix typo in sample code in docs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735975
-
-2014-08-25 11:34:48 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: add flush-stop on inactive pad test
-	  Check that pushing flush-stop on an inactive pad does not clear the
-	  flushing flag.
-
-2014-08-21 15:49:17 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstpad.c:
-	  pad: don't accept flush-stop on inactive pads
-	  Inactive pads should at all times have the flushing flag set. This means
-	  that when we get a flush-stop on an inactive pad we must ignore it.
-	  On sinkpads, make this more explicit. We used to not clear the flush
-	  flag but remove the events and then return an error because the flushing
-	  flag was set. Now just simply refuse the event without doing anything.
-	  On srcpads, check that we are trying to push a flush-stop event and
-	  refuse it. We would allow this and mark the srcpad as non-flushing
-	  anymore.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735357
-
-2014-08-27 17:06:57 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: Send all events to active src pad and EOS to all src pads
-	  Fixes tests/icles/output-selector-test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729811
-
-2014-09-02 12:11:44 +0530  Vineeth T M <vineeth.tm@samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Make get_uri() threadsafe
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735861
-
-2014-08-28 17:24:56 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: fix typo in advanced-dataaccess.xml
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735609
-
-2014-08-26 20:14:40 +0200  Arnaud Vrac <avrac@freebox.fr>
-
-	* gst/gstbuffer.c:
-	  buffer: do not touch memory tag flag when copying buffer flags
-	  The tag memory flag will be set later if the memory is also copied. This
-	  patch avoids buffers being freed needlessly in bufferpools.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735574
-
-2014-07-15 16:06:49 +0200  Linus Svensson <linusp.svensson@gmail.com>
-
-	* gst/gstbus.c:
-	  bus: gst_bus_add_watch() can return 0 on error
-	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=735195
-
-2014-08-25 13:44:30 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: handle streamheaders by prepending them to the stream
-	  Add a first_buffer boolean state flag to have baseparse do actions
-	  before pushing data. This is used to check the caps for streamheader
-	  buffers that are prepended to the stream, but only if the first buffer
-	  isn't already marked with the _HEADER flag. In this case, it is assumed
-	  that the _HEADER marked buffer is the same as the streamheader.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735070
-
-2014-08-27 11:01:01 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstconcat.c:
-	  concat: Allow seeking on the currently playing stream
-	  This is consistent with the stream time reporting.
-
-2014-08-23 12:24:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.h:
-	  pad: add g-i 'transfer full' annotations to chain and chain_list functions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735210
-
-2014-08-22 10:32:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: annotate GstPadEventFunction event with 'transfer full'
-	  The callback is supposed to take ownership of the event so
-	  best to be explicit about it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=735210
-
-2014-08-20 12:55:51 +0200  Linus Svensson <linussn@axis.com>
-
-	* tests/check/elements/queue.c:
-	  tests: add test that triggers deadlock in state change of queue
-	  When receiving FLASH_STOP in a state transition to READY, a queue
-	  element can end up with an active task that will never end.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734688
-
-2014-08-21 14:02:16 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: fix race when flush-stop event comes in whilst shutting down
-	  Don't re-start the queue push task on the source pad when a
-	  flush-stop event comes in and we're in the process of shutting
-	  down, otherwise that task will never be stopped again.
-	  When the element is set to READY state, the pads get de-activated.
-	  The source pad gets deactivated before the queue's own activate_mode
-	  function on the source pads gets called (which will stop the thread),
-	  so checking whether the pad is active before re-starting the task on
-	  receiving flush-stop should be fine. The problem would happen when the
-	  flush-stop handler was called just after the queue's activate mode
-	  function had stopped the task.
-	  Spotted and debugged by Linus Svensson <linux.svensson@axis.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734688
-
-2014-08-06 14:01:09 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* tests/check/libs/bytereader.c:
-	* win32/common/libgstbase.def:
-	  bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
-	  Adds API to get or peek a sub-reader of a certain size from
-	  a given byte reader. This is useful when parsing nested chunks,
-	  one can easily get a byte reader for a sub-chunk and make
-	  sure one never reads beyond the sub-chunk boundary.
-	  API: gst_byte_reader_peek_sub_reader()
-	  API: gst_byte_reader_get_sub_reader()
-
-2014-07-25 16:39:40 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  docs: make explicit that the caps passed to gst_base_src_set_caps() are 'tranfer none'
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733741
-
-2014-08-14 18:53:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: always proxy caps query
-	  Otherwise it would only be proxied for the active pad which can lead
-	  upstream to use an incompatible caps for the downstream element.
-	  Even if a reconfigure event is sent upstream when the pad is activated, this
-	  will save the caps reconfiguration if it is already using an acceptable caps.
-
-2014-08-14 14:37:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstdataqueue.h:
-	  base: and fix build with new g-i again
-
-2014-08-14 14:25:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstdataqueue.h:
-	  base: remove g-i annotation that makes older g-ir-scanner crash
-	  Just remove one skip annotation that causes this:
-	  ** (g-ir-compiler:12458): ERROR **: Caught NULL node, parent=empty
-	  with older g-i versions such as 1.32.1.
-
-2014-08-13 14:12:00 +0200  Philippe Normand <philn@igalia.com>
-
-	* gst/gstbus.c:
-	  bus: destroy signal watch from the context it was mapped to
-	  Don't rely on g_source_remove() because it operates on the main
-	  context. If a signal watch was added to a new thread-default context
-	  g_source_remove() would have no effect. So simply use
-	  g_source_destroy() to avoid this problem.
-	  Additionally the source_id was removed from GstBusPrivate because it
-	  was redundant with the signal watch GSource also stored in that
-	  structure.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734716
-
-2014-08-07 12:18:04 +0200  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Not post BUFFERING message if one of the singlequeue doesn't need it
-	  Imagine the following 'pipeline'
-	  --------------
-	  p1/| 'fullqueue'  |--- 'laggy' downstream
-	  ---------  / |              |
-	  -| demuxer |   | multiqueue   |
-	  ---------  \ |              |
-	  p2\| 'emptyqueue' |--- 'fast' downstream
-	  --------------
-	  In the case downstream of one single queue (fullqueue) has (a lot of) latency
-	  (for example for reverse playback with video), we can end up having the other
-	  SingleQueue (emptyqueue) emptied, before that fullqueue gets
-	  unblocked. In the meantime, the demuxer tries to push on fullqueue, and
-	  is blocking there.
-	  In that case the current code will post a BUFFERING message on the bus when
-	  emptyqueue gets emptied, that leads to the application setting the pipeline state to
-	  PAUSED. So now we end up in a situation where 'laggy downstream' is
-	  prerolled and will not unblock anymore because the pipeline is set to
-	  PAUSED, the fullequeue does not have a chance to be emptied and
-	  the emptyqueue can not get filled anymore so no more BUFERRING message
-	  will be posted and the pipeline is stucked in PAUSED for the eternity.
-	  Making sure that we do not try to "buffer" if one of the single queue
-	  does not need buffering, prevents this situtation from happening though it lets the
-	  oportunity for buffering in all other cases.
-	  That implements a new logic where we need all singlequeue to need
-	  buffering for the multiqueue to actually state buffering is needed,
-	  taking the maximum buffering of the single queue as the reference point.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734412
-
-2014-08-13 13:01:23 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Only handle flow returns < EOS as errors, not e.g. flushing
-
-2014-08-13 12:40:37 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Use allow-none instead of nullable until we depend on a new enough GI version
-
-2014-08-13 12:39:47 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: gst_bin_new() can accept NULL as name
-
-2014-08-13 12:37:08 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstelement.c:
-	  element: Clarify docs about gst_element_get_request_pad() and remove deprecation part
-	  This function is not really pad or slow for the common case of requesting a
-	  pad with the name of the template. It is only slower if you to name your pads
-	  directly instead of letting the element handle it.
-	  Also there's no reason to deprecate it in favor of a more complicated function
-	  for the common case.
-
-2014-08-13 12:20:51 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Post errors if we receive EOS after downstream reported an error
-	  There will be no further data flow that would allow us to propagate the
-	  error upstream, causing nobody at all to post an error message.
-
-2014-08-13 12:15:03 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Post errors when receiving EOS after downstream returned an error
-	  There might be no further data flow that would allow us to propagate the
-	  error upstream, causing nobody to post an error at all.
-
-2014-08-13 12:10:39 +0300  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Post errors ourselves if they are received after EOS
-	  After EOS there will be no further buffer which could propagate the
-	  error upstream, so nothing is going to post an error message and
-	  the pipeline just idles around.
-
-2014-08-12 20:03:06 +0530  Arun Raghavan <arun@accosted.net>
-
-	* gst/gstpad.c:
-	  docs: Trivial pad documentation fix
-	  Presumably a copy-pasto.
-
-2014-08-08 09:54:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/concat.c:
-	  concat: Add unit tests for concat element
-
-2014-08-08 09:13:50 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* plugins/elements/gstconcat.c:
-	  concat: Add documentation and integrate into documentation build
-
-2014-08-07 14:42:44 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstconcat.c:
-	* plugins/elements/gstconcat.h:
-	* plugins/elements/gstelements.c:
-	  concat: Add new element that concatenates multiple streams
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734470
-
-2014-08-09 10:57:56 -0300  Thiago Santos <thiagoss@osg.samsung.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: caps: add check for caps with features intersection
-	  Checks that a caps without features doesn't intersect with
-	  one that has features
-
-2014-08-07 14:54:37 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/text-color-example.c:
-	  examples: controller: fix typo in comments
-
-2014-08-06 13:58:22 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: use unchecked inline variant for get_remaining in more places
-	  We've already done the g_return_*_if_fail (reader != NULL)
-	  dance in those places, so no need to do it again.
-
-2014-08-06 14:43:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstutils.c:
-	  utils: Ghostpads can be request pads too but check if the pad has a template
-	  Otherwise we dereference NULL in some cases and crash.
-
-2014-08-06 12:34:42 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/manual/appendix-programs.xml:
-	* tests/check/gst/gstbin.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/examples/launch/mp3parselaunch.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=734345
-
-2014-08-06 12:55:57 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstutils.c:
-	  utils: Fix unititialized variable compiler warning
-
-2014-07-13 15:31:08 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* tests/check/gst/gstutils.c:
-	  tests: Add test verifying gst_element_link_pads_full()
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
-
-2014-07-13 15:28:32 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstutils.c:
-	  utils: Unref/release pads in error cases when linking pads
-	  Previously gst_element_link_pads_full() forgot to unreference or release
-	  request pads in several error cases. Also comments were added mentioning
-	  why releasing is not necessary in some places.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733119
-
-2014-08-01 17:27:39 -0300  Tiago Cesar Katcipis <tiago.katcipis@digitro.com.br>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: add docs for gst_check_setup_src_pad_by_name()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=734142
-
-2014-07-31 18:32:03 +0200  Edward Hervey <edward@collabora.com>
-
-	* Makefile.am:
-	* common:
-	  Makefile: Add usage of build-checks step
-	  Allows building checks without running them
-
-2014-07-30 15:46:22 +0300  Mohammed Sameer <msameer@foolab.org>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: Add missing error checking to default_alloc_buffer()
-	  default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
-	  failed allocation.
-	  This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
-	  buffer allocation fails.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733974
-
-2014-07-29 14:21:33 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: avoid using infinite buffers limit if finite is requested
-	  If the current max-buffers limit it infinite and a finite value is
-	  requested, switch to the MAX (requested, current-value) to set some
-	  limit but not below what we know that we've needed so far.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733637
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733837
-
-2014-07-24 22:02:58 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/parse/grammar.y:
-	  parse: Unref reference to enclosing bins
-	  Previously all reference to enclosing bins of an element were leaked
-	  when doing delaying setting a property.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697
-
-2014-07-27 02:37:08 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Support SIGINT (Ctrl+C) on W32
-	  W32 has no SIGINT, but it does have SetConsoleCtrlHandler(), which sets up
-	  a handler for Ctrl+C.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733814
-
-2014-07-27 03:06:16 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstpoll.c:
-	  poll: Prevent false-negative from WAKE_EVENT() on W32
-	  SetEvent() seems to not call SetLastError(0) internally, so checking last
-	  error after calling SetEvent() may return the error from an earlier W32 API
-	  call. Fix this by calling SetlastError(0) explicitly.
-	  Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be
-	  entirely correct. Particularly, it does not check the return value of
-	  SetEvent(), only the thread-local W32 error value. It is likely that SetEvent()
-	  actually just returns non-zero value, but the code mistakenly thinks that the
-	  call has failed, because GetLastError() seems to indicate so.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733805
-
-2014-07-26 14:42:54 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.h:
-	  gst: include atomicqueue.h again in gst.h
-	  It's a public header of gstreamer core, so #include <gst/gst.h>
-	  should make the API available.
-
-2014-07-25 11:45:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: remove prototype for function that no longer exists
-
-2014-07-24 14:39:11 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>
-
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* tests/check/libs/bytereader.c:
-	* win32/common/libgstbase.def:
-	  bytereader: add gst_byte_reader_masked_scan_uint32_peek
-	  Adds gst_byte_reader_masked_scan_uint32_peek just like
-	  GstAdapter has a _peek and non _peek version
-	  Upgraded tests to check that the returned value is correct in the
-	  _peek version
-	  API: gst_byte_reader_masked_scan_uint32_peek
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728356
-
-2014-06-26 14:09:25 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: pre-allocate buffer array in one go with the buffer list
-	  We can now create and free a buffer list with one slice alloc/free
-	  call in most cases, instead of one slice alloc/free for the list,
-	  one slice alloc/free for the GArray, and one malloc/free for the
-	  GArray array. In practice we know the max size of our buffer list
-	  from the start, so can avoid reallocs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732284
-
-2014-07-23 21:27:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	* gst/gstdebugutils.c:
-	  private: allow internal access to the debug base-time
-	  Moving the extern to the head lets us access this from other parts as well. This
-	  is neeed in the tracer branch.
-
-2014-07-23 00:15:17 +0530  Arun Raghavan <arun@accosted.net>
-
-	* scripts/git-update.sh:
-	  scripts: Use git pull --rebase
-	  No point introducing redundant merge commits.
-
-2014-07-21 12:41:08 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttaglist.c:
-	  Revert "tests: taglist: add basic test for taglists serialization"
-	  This reverts commit 85d23d19b7de40541d63b0bc76d8b646c321af26.
-	  There was already a gsttag.c tests file, this test has been merged
-	  in it in the previous commit
-
-2014-07-21 12:40:47 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/gst/gsttag.c:
-	  tests: tag: add the empty taglist serialization test
-	  Adds the test to the appropriate and already existing file.
-
-2014-07-14 18:46:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttaglist.c:
-	  tests: taglist: add basic test for taglists serialization
-	  Make sure it works with empty taglists
-
-2014-07-14 18:25:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/gst/gststructure.c:
-	  tests: gststructure: serialization of tag event structure
-	  Adds a test that checks that the serialization of a tag event structure
-	  works without problems
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733131
-
-2014-07-14 18:23:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: add GstTagList compare function
-	  When serializing GstStructures from events in GDP it will add a taglist
-	  as a GstStructure field, having the compare function allows comparison of
-	  GstStructures to check if the serialized/deserialized version matches the
-	  original one, among other cases.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733131
-
-2014-07-09 15:48:10 +0200  Srimanta Panda <srimanta@axis.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Fix for racy EOS event handling
-	  When eos events are forwarded simultaneouly from two sinkpads on
-	  funnel, it doesnot forward the eos to sourcepad. The reason is
-	  sticky events are stored after the event callbacks are returned.
-	  Therefore while one is about to store the sticky events on the its
-	  sinkpad, other sinkpad starts checking for the eos events on all other
-	  sinkpads and assumes eos is not present yet.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732851
-
-2014-07-17 16:05:00 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpipeline.c:
-	  pipeline: Add unit test for resetting of the start time
-	  Also check if this properly affects basesink elements to not
-	  report the old start time but the real current position when
-	  setting to PAUSED again.
-
-2014-07-15 18:19:24 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: Reset the start time when going from PAUSED to READY too
-
-2014-07-15 17:19:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: Reset start time in READY->PAUSED before chaining up
-	  Otherwise bin will change the state of the child elements without
-	  distributing the new start time.
-
-2014-06-28 17:58:26 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  elements: improve buffer flags to string utility function
-	  Avoid relocations and refactor so that we don't calculate
-	  the fixed and known at compile time maximum string size
-	  every time. Also skip the mini object flags which we are
-	  not going to print anyway.
-
-2014-07-19 18:04:31 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.4.0 ===
-
-2014-07-19 16:46:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.4.0
-
-2014-07-19 16:21:20 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-07-19 12:16:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/da.po:
-	* po/sv.po:
-	  po: Update translations
-
-2014-07-17 15:53:53 +0200  Thibault Saunier <tsaunier@gnome.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Return FLOW_FLUSHING when pushing a frame on a pad that has been flushed
-	  When going to READY, it is possible that we are still pusing a frame but that
-	  our srcpad has already been set to flushing. In that case we should not
-	  post any error on the bus but instead cleanly return FLOW_FLUSHING.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733320
-
-2014-07-17 07:07:36 +0200  Edward Hervey <edward@collabora.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: Propagate input buffer PTS and DTS
-	  The initial buffers (that were used for timestamping) might have PTS
-	  and DTS set. In order to forward those properly, get the initial
-	  PTS/DTS from the adapter and set them on the reconstructed output
-	  buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733291
-
-2014-07-12 17:01:23 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Unref pad template after use
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733121
-
-2014-07-14 18:10:45 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gst.c:
-	  gst: init taglist gtype to use it in gstvalue
-	  Otherwise it will have a 0 value and GstTagList won't be found
-	  for GstValue functions (serialization/deserialization)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=733131
-
-=== release 1.3.91 ===
-
-2014-07-11 10:46:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.3.91
-
-2014-07-11 10:41:20 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-07-11 08:51:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/da.po:
-	* po/vi.po:
-	  po: Update translations
-
-2014-07-05 18:29:29 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* gst/gstcaps.h:
-	* gst/gstdevice.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gsttoc.h:
-	* gst/gstvalue.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	  docs: Fix documentation typos and inconsistencies
-	  * GstGlobalDeviceMonitor was renamed to GstDeviceMonitor
-	  * Expand GST_MESSAGE_DEVICE to the full enum value names
-	  * Correct the incorrect references to the GstDeviceProvider interfaces
-	  * Describe caps arguments for gstcheck interface
-	  * Add missing docs for GstNetAddressMeta and its add function
-	  * Add docs for toc helper macros
-	  * Avoid refering to GstValueList type as done elsewhere
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786
-
-2014-07-05 17:13:21 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Cleanup interface references in docs
-	  * Delete references to removed interfaces
-	  * Add missing documentation sections
-	  * Fix duplicate interface references for GstDevice
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732786
-
-2014-07-08 11:17:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gsttee.c:
-	* tools/gst-launch.1.in:
-	  docs: There is no decodebin2 anymore, don't pretend otherwise
-
-2014-07-07 16:14:32 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: fix error setting when uri is invalid
-	  Elements should always set the GError
-
-2014-07-06 12:13:04 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  libs: gstcheck: check that mutex is locked before g_cond_wait*() is called
-	  Sanity check to catch problems in unit test.
-
-2014-07-06 12:12:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.h:
-	  libs: gstcheck: init and clear global mutex and cond variables
-
-2014-07-06 12:09:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstpoll.c:
-	  tests: fix locking in gstpoll unit test
-	  The mutex needs to be locked when g_cond_wait*() is
-	  called.
-
-2014-07-05 16:24:18 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add video and base library paths from -bad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732770
-
-2014-07-04 19:40:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-inspect.c:
-	  tools: suppress GLib warnings when gst-inspecting deprecated properties
-	  GLib in git will spew a g_warning() when a property marked as
-	  deprecated via param spec flags is accessed. Suppress this by
-	  setting the appropriate environment variable.
-
-2014-07-03 10:11:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstmessage.h:
-	  message: Work around g-i/pygobject/gjs bug with ~0 in enums
-	  GST_MESSAGE_ANY was considered a long by pygobject and gjs, and thus
-	  couldn't be used in gst_bus_poll() and similar APIs as they expect an
-	  int-typed enum.
-	  Just use 0xffffffff instead for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732633
-
-2014-07-02 08:41:18 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: don't use post-GLib 2.32 API in bufferlist test
-	  g_ptr_array_insert() is GLib >= 2.40
-
-2014-07-01 12:22:56 +0200  Göran Jönsson <goranjn@axis.com>
-
-	* gst/gstpad.c:
-	  pad: Don't unlock while iterating over all sticky events for removal
-	  Otherwise we might end up getting the event removed from elsewhere
-	  at the same time while we're unlocked for g_object_notify().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732556
-
-2014-07-01 19:17:11 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Proxy the accept-caps query
-	  We always work in passthrough mode so there's no point in doing
-	  something more clever in basetransform. Also the basetransform
-	  code leads to problems with incomplete caps and downstream
-	  elements that use GST_PAD_FLAG_ACCEPT_INTERSECT.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732559
-
-2014-07-01 11:21:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: reset QoS on segment event
-	  This avoids spurious warnings about slow machine when upstream
-	  sends new segments without flushing.
-
-2014-06-30 23:39:18 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gsttestclock.c:
-	  introspection: Assorted minor introspection and documentation fixes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=732534
-
-2014-06-30 08:59:18 +0000  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* gst/gstdevicemonitor.c:
-	  devicemonitor: Stop using g_clear_pointer()
-	  We dont't want to depend on GLib 2.34 for now.
-
-2014-06-29 19:16:05 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/libs/sparsefile.c:
-	  sparsefile: Initialize memory in unit test to make valgrind happy
-	  We were writing unitialized stack memory to the file.
-
-2014-06-28 09:35:21 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: fix leak as gst_buffer_replace adds its own ref
-	  So unref the buffer after that otherwise it leaks
-
-=== release 1.3.90 ===
-
-2014-06-28 10:45:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.3.90
-
-2014-06-28 10:41:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-06-27 10:44:32 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdevicemonitor.c:
-	* tests/check/gst/gstdevice.c:
-	  devicemonitor: don't fail when started without any filters
-	  Just show all devices then.
-
-2014-06-27 10:44:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdeviceproviderfactory.c:
-	  deviceproviderfactory: handle NULL classes argument and match any
-
-2014-06-26 21:00:40 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstdevice.c:
-	  device: Add unit tests
-
-2014-06-26 17:22:25 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstdevicemonitor.c:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstmessage.c:
-	  devicemonitor: Improve documentation
-
-2014-06-26 17:13:12 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstdeviceproviderfactory.h:
-	* win32/common/libgstreamer.def:
-	  devicemonitor: Make it possible to add multiple filters
-	  Each filter will include a GstCaps and a set of classes to match
-
-2014-06-26 16:31:51 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstdevice.c:
-	  device: Add pre-conditions
-
-2014-06-26 15:08:46 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* gst/gstglobaldevicemonitor.h:
-	* win32/common/libgstreamer.def:
-	  GstDeviceMonitor: Rename from GstGlobalDeviceMonitor
-
-2014-06-26 14:28:09 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitorfactory.h:
-	* gst/gstdeviceprovider.c:
-	* gst/gstdeviceprovider.h:
-	* gst/gstdeviceproviderfactory.c:
-	* gst/gstdeviceproviderfactory.h:
-	* gst/gstglobaldevicemonitor.c:
-	* gst/gstglobaldevicemonitor.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* tools/gst-inspect.c:
-	* win32/common/libgstreamer.def:
-	  DeviceProvider: Rename from DeviceMonitor
-
-2014-06-26 19:31:33 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	  dataqueue: Hide from bindings
-	  Other languages have their own data structures that are more convenient to
-	  use.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731303
-
-2014-06-26 19:30:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	  queuearray: Hide from bindings
-	  Other languages have their own data structures that are more convenient to use.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731350
-
-2014-05-28 10:14:45 +0100  Philip Withnall <philip.withnall@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: Add missing (nullable) annotations
-	  gst_mini_object_replace() can take NULL mini-objects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730873
-
-2014-06-26 19:02:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstmessage.c:
-	  message: Application and element messages should not have NULL structures
-	  It does not make sense for them.
-
-2014-06-11 16:19:01 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstelement.c:
-	* gst/gstinfo.h:
-	* gst/gstmessage.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstplugin.h:
-	* gst/gstpreset.c:
-	* gst/gsttaglist.c:
-	  introspection: add some missing allow-none annotations to in params
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730957
-
-2014-06-11 16:06:19 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstobject.c:
-	* gst/gstpreset.c:
-	* gst/gstquery.h:
-	* gst/gsttoc.c:
-	* gst/gstvalue.c:
-	  introspection: add nullability annotations to out and inout params
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730957
-
-2014-06-11 15:21:34 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstallocator.c:
-	* gst/gstatomicqueue.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbus.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstdatetime.c:
-	* gst/gstdevicemonitorfactory.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstmemory.c:
-	* gst/gstmeta.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.c:
-	* gst/gstpreset.c:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttoc.c:
-	* gst/gsttocsetter.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	  introspection: add missing (nullable) annotations to return values
-	  Support for (nullable) was added to G-I at the same time as nullable
-	  return values.  Previous versions of G-I will not mark return values as
-	  nullable, even when an (allow-none) annotation is present, so it is
-	  not necessary to add (allow-none) annotations for compatibility with
-	  older versions of G-I.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730957
-
-2014-06-11 17:15:39 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	  base: assorted introspection fixes and additions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731542
-
-2014-06-11 17:12:20 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  base: add (nullable) annotations to return values
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731542
-
-2014-06-26 14:08:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: add another buffer list test case
-
-2014-06-26 13:24:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: port and re-enable buffer list tests
-	  And remove some which don't apply any more.
-
-2014-06-26 11:58:04 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: enhance the gstcaps test_features to also test gst_caps_set_features()
-	  Compliments my previous patch for gst_caps_set_features, which would
-	  previously assert and leak the old GstCapsFeatures if the caps already
-	  had a GstCapsFeatures and you were trying to replace it with a new one.
-
-2014-06-26 11:16:34 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* gst/gstcaps.c:
-	  caps: unset the parent refcount of the old features before freeing them in gst_caps_set_features()
-	  Otherwise gst_caps_features_free() asserts and the features structure is leaked
-
-2014-06-16 19:30:06 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: avoid returning _OK for _NOT_LINKED
-	  When the parser receives non-aligned packets it can push a buffer
-	  and get a not-linked return while still leaving some data still to
-	  be parsed. This remaining data will not form a complete frame and
-	  the subclass likely returns _OK and baseparse would take that
-	  as the return, while it the element is actually not-linked.
-	  This patch fixes this by storing the last flow-return from a push
-	  and using that if a parsing operation doesn't result in data being
-	  flushed or skipped.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731474
-
-2014-06-25 11:40:57 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstelements_private.c:
-	  elements: fix copyright and remove gtk-doc chunk
-	  Trivial as it may be, this code was mostly copied from
-	  somewhere else. The gtk-doc chunk is not needed, since
-	  it's not public API.
-
-2014-06-02 22:07:52 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: Ignore seek error on non-seekable files
-	  This make it works with FIFOs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731176
-
-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:42 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.3.3
-
-2014-06-22 17:15:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-06-22 14:23:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/hu.po:
-	* po/id.po:
-	* po/sr.po:
-	* po/zh_TW.po:
-	  po: Update translations
-
-2014-06-22 12:52:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: add unit test for gst_caps_is_any() and _is_empty()
-	  https://bugzilla.gnome.org//show_bug.cgi?id=731704
-
-2014-06-22 12:50:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: gst_caps_is_any() should return TRUE or FALSE
-	  Not some flag value instead of TRUE. Fixes code like
-	  gst_caps_is_any() == TRUE.
-	  https://bugzilla.gnome.org//show_bug.cgi?id=731704
-
-2014-06-01 16:56:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdevice.c:
-	* gst/gstdevice.h:
-	* win32/common/libgstreamer.def:
-	  device: rename "klass" and get_klass() to "device-class" and _get_device_class()
-	  There's some precedent in GstElementFactory, but a
-	  "klass" property just seems weird.
-
-2014-06-20 18:34:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmarks: capsnego: add --loops command line option
-	  And default to 50 loops.
-
-2014-06-20 17:14:52 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmark: capsnego: use GOptionContext for option parsing
-
-2014-06-19 12:10:23 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstvalue.c:
-	  tests: fix compiler warnings in gstvalue tests
-	  Calling GST_VALUE_HOLDS_*(&v) now results in a compiler
-	  warning about value!=NULL always being false, so check
-	  type directly in those cases.
-
-2014-06-17 22:45:57 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gsttaglist.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.h:
-	  value: simplify GST_VALUE_HOLDS for our boxed and fundamental types
-	  Boxed types can't be derived from, and we don't support
-	  deriving from our special fundamental types (the code
-	  checks for GType equality in most places.
-
-2014-06-20 16:55:06 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdevice.c:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdevicemonitorfactory.h:
-	* gst/gstglobaldevicemonitor.c:
-	* gst/gstglobaldevicemonitor.h:
-	* gst/gstmessage.c:
-	  GstDevice: Document GstDevice and related classes
-
-2014-06-16 13:47:55 +0200  Srimanta Panda <srimanta.panda@axis.com>
-
-	* plugins/elements/gstfunnel.c:
-	* tests/check/elements/funnel.c:
-	  Fix funnel EOS handling and wrong unittest
-	  When no data is coming from sinkpads and eos events
-	  arrived at one of the sinkpad, funnel forwards the EOS
-	  event to downstream. It forwards the EOS because lastsink pad
-	  is NULL. Also the unit testcase of the funnel is not checking
-	  the correct behavior as it should. The unit test case should
-	  fail if one of the sink pad has already EOS present on it and
-	  we are trying to push one more EOS.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731716
-
-2014-06-19 08:09:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: optimise checks for lists
-	  Our fundamental types are non-derivable, so we can
-	  just check for equality. Also avoid doing the same
-	  check multiple times in a couple of places.
-
-2014-06-19 08:06:31 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: use g_assert() in internal function for already-checked things
-	  So these get compiled out for releases.
-
-2014-06-19 08:05:40 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: add internal _can_compare_unchecked()
-
-2014-06-19 08:03:37 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: add internal _list_concat() that takes ownership of input values
-	  Avoids unnecessary copies.
-
-2014-06-18 19:06:58 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gststructure.c:
-	  structure: simplify value type checks in getters
-	  Just check for GType equality in common cases.
-
-2014-06-19 09:29:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Add a FIXME 2.0 for a fraction ranges optimization
-	  Currently we leak the internal representation of them as two GValues that
-	  contain a fraction. Without this we could store fraction ranges as
-	  data[0] = (min_n << 32) | (min_d)
-	  data[1] = (max_n << 32) | (max_d)
-	  and wouldn't require an additional allocation per range.
-
-2014-06-19 09:23:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Make sure to cast int range values to guints before storing them
-	  Otherwise negative values will sets all of the 64 bits due to two's
-	  complement's definition of negative values.
-	  Also add a test for negative int ranges.
-
-2014-06-19 07:57:11 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: update exports
-
-2014-06-19 09:05:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Store integer ranges directly in a GValue without additional allocation
-	  Micro optimization to save some allocations. Next step to do this
-	  with fraction ranges too.
-
-2014-06-19 08:43:02 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gst_private.h:
-	  gst_private: Fix duplicate definition
-
-2014-06-19 08:05:03 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstallocator.c:
-	* gst/gstcapsfeatures.h:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  gst: Store more basic type GTypes in variables
-	  Micro optimization to change a function call to a variable access
-	  for all our basic types.
-
-2014-06-19 08:04:01 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  value: Store our fundamental type GTypes in variables
-	  Micro optimization to change a function call to a variable access
-	  for all our basic types.
-
-2014-06-17 07:31:48 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Speed up gst_value_intersect/_subtract
-	  Both gst_value_intersect and gst_value_subtract will call
-	  gst_value_compare if one of their arguments isn't a list.
-	  gst_value_compare will then re-do a check to see if one of
-	  the arguments is a list (for the special case of comparing a unitary
-	  value with a list of length 1).
-	  The problem is that the various G_VALUE_HOLDS represent an expensive
-	  amount of calling gst_value_compare (almost half of it) to see if
-	  the provided arguments are list. These checks can be done without
-	  when we know that the arguments aren't lists.
-	  * Create a new "nolist" gst_value_compare which avoids that special
-	  case comparision
-	  Benchmarks:
-	  valgrind/callgrind: average speedup in instruction calls for
-	  gst_value_intersect and gst_value_subtract is around 56% (Makes 63%
-	  of the calls it used to take previously)
-	  tests/benchmarks/capsnego: With default settings (depth 4, children 3
-	  607 elements), time taken for transition from READY to PAUSED:
-	  Before : 00.391519153
-	  After  : 00.220397492
-	  56% of the time previously used, +77% speedup
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731756
-
-2014-06-17 14:39:00 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: remove some cruft from the bufferlist test
-	  Buffers no longer carry caps, and bufferlists don't have
-	  groups where buffers may need to be merged into one any more.
-
-2014-06-16 20:30:13 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: add test for gst_buffer_list_remove()
-
-2014-06-16 20:29:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: fix buffer leak in _remove()
-
-2014-06-16 09:18:45 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: fix g-i transfer annotations
-
-2014-06-16 08:41:48 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: Fixed GBoxedCopyFunc
-	  I'll just quote the most interesting man in the world:
-	  "I don't usually push commits, but when I do I don't compile it
-	  first"
-
-2014-06-14 16:30:49 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdevicemonitor.h:
-	* gst/gstglobaldevicemonitor.c:
-	  devicemonitor: some docs additions and fixes
-
-2014-06-14 16:28:48 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* win32/common/libgstbase.def:
-	  win32: add exports for new get_type() function
-
-2014-06-14 11:31:44 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	  flowcombiner: keep a ref to the pads we're using
-	  Needed for use via the boxed type.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731355
-
-2014-06-14 10:54:41 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	  flowcombiner: add boxed type for bindings
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731355
-
-2014-06-11 16:28:51 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitorfactory.c:
-	* gst/gstevent.c:
-	  introspection: minor annotation additions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731541
-
-2014-06-11 19:08:04 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/Makefile.am:
-	  introspection: include gstversion.h in GIR generation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=703021
-
-2014-06-10 10:23:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	  bytereader: Use concistant derefence method
-	  This is minor style fix to not mix *var and var[N].
-
-2014-06-10 09:35:38 -0400  Sungho Bae <baver.bae@lge.com>
-
-	* libs/gst/base/gstbytereader.c:
-	  bytereader: Use pointer instead of index access
-	  Currently the scan uses Boyer-moore method and its performance is good.
-	  but, it can be optimized from an implementation of view.
-	  The original scan code is implemented by byte array and index-based access.
-	  In _scan_for_start_code(), the index is increasing from start to end and the
-	  base address of the byte array is referred to as return value.
-	  In the case, index-based access can be replaced by pointer access, which
-	  improve the performance by removing index-related operations.
-	  Its performace is enhanced by approximately 8% on arm-based embedded devices.
-	  Although it seems trivial, it can affect the overall performance because the
-	  _scan_for_start_code() function is very often called when H.264/H.265 video is
-	  played.
-	  In addition, the technique can apply for all architectures and it is good in
-	  view of readability and maintainability.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731442
-
-2014-06-07 10:13:56 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstglobaldevicemonitor.h:
-	  globaldevicemonitor: prettify header
-
-2014-06-07 09:46:42 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/queuearray.c:
-	  tests: add unit test for queuearray expansion from 1
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731349
-
-2014-06-06 16:36:00 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: fix expanding size of queue from 1
-	  Without we would not actually expand and access
-	  memory beyond the allocated region for the array.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731349
-
-2014-06-05 16:55:15 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: clear up documentation of gst_data_queue_new
-	  The gpointer argument is passed to all three callbacks, not just one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731302
-
-2014-05-30 00:17:06 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolsource.c:
-	* gst/gstdevicemonitorfactory.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstindex.c:
-	  introspection: fix some minor annotation bugs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730982
-
-2014-06-05 12:38:20 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	  base: use correct syntax in documentation more consistently
-	  Previously, many constants were prefixed with # or unprefixed,
-	  some functions and macros were prefixed with # instead of suffixed
-	  with (), etc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=731293
-
-2014-05-07 18:26:38 +0800  zhouming <zmafox@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Pass rate of input segment to output segment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729701
-
-2014-04-07 14:49:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements_private.c:
-	* plugins/elements/gstelements_private.h:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	  gstbuffer: factor three flags-to-string loops
-
-2014-06-03 23:42:45 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstinfo.c:
-	  info: make printing datetimes work with GST_PTR_FORMAT
-
-2014-06-03 23:38:28 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  datetime: change internal implementation to mini object
-	  And move type stuff from GstValue to GstDateTime.
-
-2014-06-03 22:19:33 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: fix uninitialized variable
-
-2014-06-03 22:12:13 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* docs/design/part-buffering.txt:
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: improve start/stop in buffering query
-	  The start and stop should represent the currently downloading region.
-	  The estimated-total should represent the remaining time to download
-	  the currently downloading region. This makes it a lot more useful
-	  for applications because they can then use those values to update
-	  the fill region and use the estimated time to delay playback.
-	  Update the docs with this clarification.
-
-2014-04-07 14:35:04 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: add static and const where appropriate
-
-2014-04-07 14:31:17 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: fix potential buffer overflow
-	  Coverity 1037155
-
-2014-06-03 14:49:44 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: reset read and write positions
-	  Reset the read and write positions right after we open the file or flush
-	  it. We are also in the buffering state with 0 percent buffered when we
-	  start.
-
-2014-06-03 14:47:17 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstinfo.c:
-	  info: first handle all miniobjects, then GObjects
-	  First handle all miniobjects before we attempt to dereference the first
-	  field pointer and look at the GType. With the recent glib change to
-	  speed up G_IS_OBJECT, this causes crashes on miniobjects otherwise.
-
-2014-06-03 14:46:11 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstinfo.c:
-	  info: GstDateTime does not have a GType as first field
-	  GstDateTime does not have the GType as the first field so we can't use
-	  it to detect its type.
-
-2014-06-03 14:45:22 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstinfo.c:
-	  info: use macros to check types
-	  Use the macros to check the type of objects instead of directly poking
-	  at the first field.
-
-2014-06-01 23:51:20 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstglobaldevicemonitor.c:
-	  globaldevicemonitor: connect sync-message signal on the right object
-	  Fixes criticals at runtime and makes stuff actually work.
-
-2014-05-31 17:35:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: 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-05-30 09:13:12 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstminiobject.c:
-	  Revert "miniobject: Add missing (nullable) annotations"
-	  This reverts commit 96361e9b5c5d00dc7712ff3a9acfbe10df7cd9fe.
-	  This was not supposed to be pushed yet!
-
-2014-05-30 09:12:14 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbufferpool.h:
-	  bufferpool: It's pool, not poo... even when talking about flushing
-
-2014-05-28 10:14:45 +0100  Philip Withnall <philip.withnall@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: Add missing (nullable) annotations
-	  gst_mini_object_replace() can take NULL mini-objects.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730873
-
-2014-05-30 01:42:17 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: fix leaks
-
-2014-05-29 14:54:34 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gst.c:
-	* gst/gstallocator.c:
-	* gst/gstatomicqueue.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.c:
-	* gst/gstchildproxy.c:
-	* gst/gstcontext.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstdatetime.c:
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitorfactory.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstmeta.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstpreset.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gstsegment.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttoc.c:
-	* gst/gsttocsetter.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	  docs: convert NULL, TRUE, and FALSE to %NULL, %TRUE, and %FALSE
-	  This should help improve documentation generated for
-	  languages other than C.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730961
-
-2014-05-30 00:13:30 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstobject.c:
-	  docs: fix type in GstObject docs
-
-2014-05-29 15:04:45 -0700  Evan Nemerson <evan@nemerson.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: fix gst_buffer_pool_has_option() documentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730962
-
-2014-05-29 14:07:15 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gstelement.c:
-	* tests/check/gst/gstelement.c:
-	  element: set pads need-parent flag to false when removing
-	  When a pad is added the need-parent flag is set to true, so when
-	  they are removed the flag should be set back to false
-	  This was preventing GstPads to be reused in elements (removed and
-	  later re-added). A unit tests was added to verify that this is
-	  working now.
-	  The use case is tsdemux that has a program-number property and
-	  allows the user to switch programs. In order to do that tsdemux
-	  will remove the pads of the current program and add from the new
-	  ones. The removed pads are kept in the demuxer for later if the
-	  user selects the old program again.
-
-2014-05-27 08:09:36 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: post buffering message when queues flush
-	  The buffering status goes back to 0, so inform the application about it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=726423
-
-2014-05-29 14:39:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* .gitignore:
-	  gitignore: Ignore VIM swap files
-
-2014-05-27 13:36:29 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: two minor docs fixes
-
-2014-05-27 10:09:02 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstflowcombiner.h:
-	  flowcombiner: beautify headers a little
-
-2014-05-27 10:05:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstflowcombiner.h:
-	  docs: add GstFlowCombiner
-
-2014-05-27 09:55:27 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/base.h:
-	  base: include flowcombiner header from base.h
-
-2014-05-26 12:31:33 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstflowcombiner.c:
-	* libs/gst/base/gstflowcombiner.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/flowcombiner.c:
-	* win32/common/libgstbase.def:
-	  flowcombiner: add GstFlowCombiner
-	  Adds a utility struct that is capable of storing and aggregating flow returns
-	  associated with pads.
-	  This way all demuxers will have a standard function to use and have the
-	  same expected results.
-	  Includes tests.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709224
-
-2014-05-23 13:25:35 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	* win32/common/libgstreamer.def:
-	  pad: store last flow return and provide acessor function
-	  Stores the last result of a gst_pad_push or a pull on the GstPad and provides
-	  a getter and a macro to access this field.
-	  Whenever the pad is inactive it is set to FLUSHING
-	  API: gst_pad_get_last_flow_return
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709224
-
-2014-05-23 15:26:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* tests/check/gst/gstbufferpool.c:
-	* win32/common/libgstreamer.def:
-	  bufferpool: Add method and virtuals to set flushing state
-	  Currently there is no other way to unlock a buffer pool other then
-	  stopping it. This may have the effect of freeing all the buffers,
-	  which is too heavy for a seek. This patch add a method to enter and
-	  leave flushing state. As a convenience, flush_start/flush_stop
-	  virtual are added so pool implementation can also unblock their own
-	  internal poll atomically with the rest of the pool.  This is fully
-	  backward compatible with doing stop/start to actually flush the pool
-	  (as being done in GstBaseSrc).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727611
-
-2014-05-26 14:23:13 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Passthrough ALLOCATION queries in passthrough mode even if we had no caps yet
-	  Or if the element does not care about caps at all.
-	  Also remove an assigned but unused local variable.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710268
-
-2014-05-25 16:10:30 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update
-
-2014-05-25 16:57:59 +0200  Piotr DrÄ…g <piotrdrag@gmail.com>
-
-	* po/POTFILES.in:
-	  po: update POTFILES
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730718
-
-2014-05-21 13:23:21 +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-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.3.2
-
-2014-05-21 11:39:53 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-05-21 10:50:43 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 211fa5f to 1f5d3c3
-
-2014-05-19 11:05:12 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstvalue.c:
-	  value: Add some positive testcase for string deserialization
-
-2014-05-18 10:49:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* README:
-	* docs/faq/getting.xml:
-	  docs: remove reference to Mandrake and packages we no longer provide
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730312
-
-2014-05-15 16:41:58 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* docs/design/part-caps.txt:
-	  docs: fix typo
-
-2014-05-14 13:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: fix compiler warning on windows
-	  gstpluginloader.c:584:1: error: label 'beach' defined but not used
-	  https://bugzilla.gnome.org/show_bug.cgi?id=730125
-
-2014-05-13 19:51:34 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstsparsefile.c:
-	* plugins/elements/gstsparsefile.h:
-	  elements: don't depend on libgio just for g_io_error_from_errno()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729949
-
-2014-05-13 19:30:38 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstdownloadbuffer.h:
-	* plugins/elements/gstsparsefile.c:
-	* plugins/elements/gstsparsefile.h:
-	* tests/check/libs/sparsefile.c:
-	* win32/common/libgstbase.def:
-	  sparsefile: keep it private as helper API for downloadbuffer
-	  There's no expectation that any other element or applications
-	  might want to use this helper API any time soon, so keep it
-	  private for the time being. There were open questions regarding
-	  portability and binding-friendliness too.
-	  This also removes the gio dependency of -base again.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729951
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729949
-
-2014-05-13 19:14:08 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs.types:
-	  docs: pick up GstBaseParse hierarchy and properties
-
-2014-05-13 19:10:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: expose GstPushSrcClass in documentation
-	  Might come in handy in case someone wants to derive from it.
-
-2014-05-12 17:03:46 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Don't leak pluginloader in error cases
-	  CID #1212154
-
-2014-05-12 16:59:29 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	  caps: Don't leak features on error cases
-	  If we fail to parse fields, we would end up leaking the features we
-	  parsed just before
-	  CID #1212152
-
-2014-05-09 14:28:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Correctly reset configuration
-	  When pool can't we use, and we fall back to default pool, we need to
-	  correctly reset that pool configuration.
-
-2014-05-09 14:46:59 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: Use non-freed variable
-	  address is only used temporarily. Use the proper variable instead.
-	  CID #1212189
-
-2014-05-08 17:33:37 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: test to check queue overrun with pts=none
-	  Checks if buffers with pts=none can break the queue time size limit
-	  and allow more buffers than expected
-
-2014-05-08 14:48:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: Fix 32bit build
-	  format '%lli' expects argument of type 'long long int', but argument 8 has type 'gsize'
-
-2014-05-08 14:12:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  pool-nego: Correctly reset the configuration
-	  When pool cannot be used, correctly reset the configuration before
-	  configuration a default pool.
-
-2014-04-15 14:17:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  pool-nego: 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 (validating the
-	  changes first). This ensure we have a configured pool if possible.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727916
-
-2014-05-08 12:47:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* tests/check/gst/gstbufferpool.c:
-	* win32/common/libgstreamer.def:
-	  bufferpool: Add an helper to validate config
-	  When we call gst_buffer_pool_set_config() the pool may return FALSE and
-	  slightly change the parameters. This helper is useful to do the minial required
-	  validation before accepting the modified configuration.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727916
-
-2014-04-08 19:27:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: Update the configure even if set_config() returned false
-	  According to the documentation, when set_config() return false, it should be
-	  possible to read the modified version of the config. This patch fixes the
-	  implementation so it is now according to the documentation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727916
-
-2014-05-06 15:35:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: Add support for reconfiguring a pool
-	  If a pool config is being configured again, check if the configuration have changed.
-	  If not, skip that step. Finally, if the pool is active, try deactivating it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728268
-
-2014-05-06 16:59:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Add support for GstAllocationParams comparision
-	  This is useful to compare buffer pool configuaration.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728268
-
-2014-05-06 16:46:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Add support for GObject comparising in structures
-	  This is useful to allow comparing pool configuration where a GstAllocator
-	  is set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728268
-
-2014-05-08 17:50:50 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstplugin.c:
-	  plugin: fix case where gst_plugin_load_file() didn't set the error on failure
-
-2014-05-08 16:30:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstsparsefile.c:
-	  sparsefile: add some Since markers to docs
-
-2014-05-08 16:25:55 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstsparsefile.c:
-	* libs/gst/base/gstsparsefile.h:
-	* tests/check/libs/.gitignore:
-	  sparsefile: sprinkle G_BEGIN_DECLS / G_END_DECLS
-	  for c++, and remove outdated comment, and add
-	  new unit test to .gitignore.
-
-2014-05-08 16:49:53 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: small cleanups
-
-2014-05-08 14:51:12 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* plugins/elements/gstdownloadbuffer.c:
-	  downloadbuffer: update docs
-
-2014-05-08 14:50:42 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* win32/common/libgstbase.def:
-	  win32: update def
-
-2014-02-21 16:32:52 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstsparsefile.c:
-	* libs/gst/base/gstsparsefile.h:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstdownloadbuffer.c:
-	* plugins/elements/gstdownloadbuffer.h:
-	* plugins/elements/gstelements.c:
-	* tests/check/Makefile.am:
-	* tests/check/libs/sparsefile.c:
-	  Add new downloadbuffer element
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=680183
-
-2014-05-02 17:42:58 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstelement.c:
-	* gst/gstpadtemplate.h:
-	* plugins/elements/gstmultiqueue.c:
-	  pads: update docs for request pads
-	  We would like to encourage the use of gst_element_request_pad()
-
-2014-05-02 17:02:37 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/libcheck/check.c:
-	  check: use _exit() instead of exit() in fail_unless() so we exit immediately
-	  exit() will call atexit handlers, which may try to
-	  clean up things or wait for things to get cleaned up,
-	  which we don't want or need. We just want to stop
-	  and let the parent know about the failure as quickly
-	  as possible in case fork() is used.
-	  Fixes timeouts on assert failures in checks where
-	  an exit handler waits for things to stop, but they
-	  don't stop because they haven't been shut down,
-	  and they haven't been shut down because there's no
-	  simple way to do so on failures.
-	  http://sourceforge.net/p/check/patches/50/
-
-2014-05-04 14:52:01 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: init flag mask more correctly
-
-2014-05-04 13:32:46 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: g_memmove() is deprecated
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712811
-
-2014-05-03 20:48:22 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.3.1 ===
-
-2014-05-03 17:41:41 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 1.3.1
-
-2014-05-03 17:34:08 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2014-05-03 17:20:46 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update translations
-
-2014-05-03 12:14:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	  docs: add new device probing API to docs table of contents
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729440
-
-2014-05-02 22:22:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Add GstDevice* to gstreamer-sections.txt
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729440
-
-2014-05-03 10:14:40 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From bcb1518 to 211fa5f
-
-2014-05-01 10:37:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Always render prepared buffer
-	  Currently, if prepare() takes too much time, we skip the call to render().
-	  The side effect of this, is that we endup starving the render(). The solution
-	  in this patch is to always render frames that are on time before prepare() is
-	  executed. This will maximize the number of frames we display and smoothly
-	  degrade the rendering performance.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729335
-
-2014-05-01 14:52:24 -0400  Luis de Bethencourt <luis@debethencourt.com>
-
-	* scripts/git-version.sh:
-	  scripts/git-version.sh: add more modules
-	  Add more git repositories to check (so git-version.sh is consistent with
-	  gst-uninstalled) and display the date of the last commit, which is more valuable
-	  information than the last commit's hash.
-
-2014-05-01 18:42:47 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Always first post the state-changed message for PAUSED->READY before posting any pending EOS message
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727949
-
-2014-04-17 21:10:55 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/libs/basesink.c:
-	  basesink: Add test for checking that EOS always comes after the state change to PLAYING
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727949
-
-2014-04-15 15:55:25 +0200  Stian Selnes <stian@pexip.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: fix log message of buffer pointer
-
-2014-04-30 18:20:28 -0400  Luis de Bethencourt <luis@debethencourt.com>
-
-	* scripts/git-version.sh:
-	  scripts/git-version.sh: remove unused variable
-
-2014-04-30 10:47:19 -0400  Luis de Bethencourt <luis@debethencourt.com>
-
-	* scripts/git-version.sh:
-	  scripts/git-version.sh: fix mistaken comments
-
-2014-04-28 13:02:11 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: avoid signaling overrun on the first segment
-	  When the first segment has position != 0 and position > max-size-time
-	  it will immediatelly cause the multiqueue to signal overrun.
-	  This can happen easily with adaptive streams when switching bitrates
-	  and starting a new group. The segment for this new group will have
-	  a position that is much greater than 0 and will lead to this issue.
-	  This is particularly harmful when the adaptive stream uses mpegts
-	  that doesn't emit no-more-pads and it might happen that only one
-	  of the stream pads was added when the multiqueue overruns and gets
-	  the group ready for exposing. So the user will only get audio or
-	  video.
-	  The solution is to fallback to the sink segment while the source pad
-	  has no segment.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=729124
-
-2014-04-28 10:14:50 +0200  Xavi Artigas <xartigas@fluendo.com>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: enhancements to porting guide documentation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727754
-
-2014-04-28 09:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: Add boolean to URI query to specify if a redirect is permanent or not
-
-2014-04-25 07:38:00 +0000  Srimanta Panda <panda_srimanta@yahoo.co.in>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Check if the last pad was set
-	  If no data is coming but only EOS is sent from all of the sinkpad, it is not
-	  forwarding the EOS.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727945
-
-2014-04-26 17:02:18 +0100  Felipe Ortiz <faortizc@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.h:
-	  docs: add docs for various GstPad macros
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723652
-
-2014-04-26 23:12:13 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.h:
-	  Revert "docs: add docs for various GstPad macros"
-	  This reverts commit d17438d5fd321daec4adbeb28a8fb5d5e07298dc.
-	  This commit featured the wrong author, sorry.
-
-2014-04-26 21:21:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/README:
-	* gst/gst.c:
-	* gst/gstallocator.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstghostpad.c:
-	* gst/gstiterator.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstmeta.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstparamspecs.c:
-	* gst/gstpipeline.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gstsegment.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstvalve.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-03-26 15:56:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	  buffer: Only set TAG_MEMORY if the memory has been replaced
-	  Currently we set TAG_MEMORY as soon a resize changes the size of one
-	  of the memory. This has the side effect that buffer pool cannot know if
-	  the memory have simply been resized, or if the memorys has been replaced.
-	  This make it hard to actually implement _reset(). Instead, only set the
-	  TAG_MEMORY if one or more memory has been replaced, and do a light
-	  sanity check of the size.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727109
-
-2014-04-26 17:02:18 +0100  Showayb Zahda <showayb.zahda@axis.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.h:
-	  docs: add docs for various GstPad macros
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723652
-
-2014-04-25 15:38:39 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: When going to READY make sure to always deactivate pads
-	  We might not have reached PAUSED yet because of an async error,
-	  but nonetheless we want to make sure that the pads are always
-	  deactivated in READY state.
-
-2014-04-22 18:23:15 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Don't left-shift into the sign bit, the result is undefined
-
-2014-04-22 18:16:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	  value: Use an unsigned 64 bit integer as a mask
-	  We shift the mask to the right later and shifting the result
-	  of shifting over the sign bit is undefined.
-
-2014-04-20 11:59:02 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label
-	  https://bugzilla.gnome.org/show_bug.cgi?id=728596
-
-2014-04-11 19:52:02 +0200  Srimanta Panda <srimanta@axis.com>
-
-	* plugins/elements/gstfunnel.c:
-	* tests/check/elements/funnel.c:
-	  funnel: Handle end of stream event on sink pad
-	  Handle end of stream events on sink pad. Check all the sink pad
-	  has received eos before forwarding to source pad.
-	  Fixes : https://bugzilla.gnome.org/show_bug.cgi?id=727945
-
-2014-04-05 11:37:53 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Prevent division or modulo by zero
-	  The step can end up being zero if the underlying value isn't a valid
-	  range GValue.
-	  In those cases, return FALSE.
-	  We don't use g_return*_if_fail since it will already have been triggered
-	  by the above-mentionned _get_step() functions.
-	  CID #1037132
-
-2014-04-09 16:44:07 +0200  Antoine Jacoutot <ajacoutot@gnome.org>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: g-ir-scanner: do not hardcode libtool path
-	  https://bugzilla.gnome.org/show_bug.cgi?id=726571
-
-2014-04-16 19:49:56 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	  memory/buffer: Initialise GstMapInfo 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 17:49:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpreset.c:
-	  preset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it
-
-2014-04-16 17:48:57 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpreset.c:
-	  preset: Automatic code style fixes
-
-2014-04-16 15:17:04 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: fix event/preroll deadlock differently
-	  The qlock is released between popping a buffer from the queue
-	  and pushing it. When this buffer causes the sink to wait in
-	  preroll, this lets a query see that the queue is empty, and
-	  push the query then wait for it to be serviced. However, this
-	  will not be done till after peroll, and this will thus block.
-	  If upstream was waiting on buffering to reach 100% before
-	  switching to PLAYING, a deadlock would ensue.
-	  This had been fixed recently by failing queries when the
-	  queue2 was buffering, but this happens to break some other
-	  case (playbin on a local http server and matroska), while
-	  this patch works for both.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=728345
-
-2014-04-16 07:59:27 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/check/Makefile.am:
-	  check: Fix exported symbol name
-	  it's _template and not _templ
-
-2014-04-15 21:16:06 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Add missing space in debug output
-
-2014-04-15 12:58:59 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Add new API to set up pads from non-static pad templates
-
-2014-04-14 21:35:52 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/libs/collectpads.c:
-	  collectpads: Fix memory leak in unit test
-
-2014-04-12 15:22:35 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/libs/gsttestclock.c:
-	  testclock: replace newly-added GstTestClockIDList structure with a simple GList
-	  Keep it simple. Likely also makes things easier for bindings,
-	  and efficiency clearly has not been a consideration given how
-	  the existing code handled these lists.
-
-2014-04-12 14:30:43 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	  docs: testclock: fix up Since markers
-
-2014-04-12 00:28:51 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	  testclock: add back gst_test_clock_wait_for_pending_id_count()
-	  .. but deprecate it. ABI stability and all that.
-	  It's a dangerous and racy function to use.
-
-2014-03-23 15:08:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gsttestclock.c:
-	  testclock: remove unused variable
-	  Fixes compiler warning.
-
-2013-12-16 10:01:37 +0100  Havard Graff <havard.graff@gmail.com>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/libs/gsttestclock.c:
-	  testclock: add support for waiting and releasing multiple GstClockIDs
-	  In order to be deterministic, multiple waiting GstClockIDs needs to be
-	  released at the same time, or else one can get into the situation that
-	  the one being released first can add itself back again before the next
-	  one waiting is released.
-	  Test added for new API and old tests rewritten to comply.
-
-2014-04-01 15:38:54 +0200  Linus Svensson <linussn@axis.com>
-
-	* gst/gstpad.c:
-	  pad: don't access unowned and possibly already freed event
-	  Don't print the name of the event when ownership is given away.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727484
-
-2014-04-12 07:13:02 +0200  Wim Taymans <wtaymans@redhat.com>
-
-	* tools/gst-inspect.c:
-	  inspect: print structure values of properties
-
-2014-04-11 22:38:25 +1000  Jan Schmidt <jan@centricular.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Hold pad object lock when changing tags
-	  Avoid spurious crashes when tags are retrieved just as
-	  new ones arrive.
-
-2014-04-11 13:45:21 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Fix range iteration
-	  We want to iterate over items idx to idx + length
-	  We use the len variable as the corrected number of memory to iterate
-	  and then properly go over all items.
-	  Fixes the issue where specifying any idx different from 0 had no effect
-	  Spotted by clang static analyzer
-
-2014-04-09 17:01:01 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: error out when trying to fixate a fraction near an invalid target
-
-2014-04-04 17:28:23 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstevent.c:
-	  event: Update running time in QoS based on the pad offsets
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722697
-
-2014-04-04 17:15:25 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Apply pad offsets on all events, not just segment events
-
-2014-04-04 17:06:18 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* win32/common/libgstreamer.def:
-	  event: Add running-time-offset field to all events
-	  Events passing through #GstPads that have a running time
-	  offset set via gst_pad_set_offset() will get their offset
-	  adjusted according to the pad's offset.
-	  If the event contains any information that related to the
-	  running time, this information will need to be updated
-	  before usage with this offset.
-
-2014-04-09 16:40:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: avoid dividing by zero when multiplying y/z by 0/x
-	  The gcd of 0/x is 0, and this is then used as a denominator.
-
-2014-04-09 16:01:09 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: And actually run the other tests again
-
-2014-04-09 15:57:35 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Wake up the queues if limits are changing in a way that would unblock the queue
-
-2014-04-09 15:42:48 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Add test for checking if pads are waked up when limits are changed
-
-2014-04-09 10:15:33 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix memory leak
-	  Queued frames were not released after being pushed, this
-	  caused a leak of the GstBaseParseFrame structure.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727883
-
-2014-04-07 17:49:14 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: use g_strerror() instead of strerror()
-	  Need UTF-8 encoding.
-
-2014-04-07 17:47:30 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  Revert "check: only call setpgid on valid child PIDs"
-	  This reverts commit b9313afc75b68d986e473b76b55543456857912b.
-	  This should be fixed in upstream libcheck instead. We want
-	  to keep diff of our local copy to upstream libcheck
-	  to a minimum.
-
-2014-04-07 17:33:34 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: warn if we can't remove our temporary file
-	  It's not fatal though, so do not error out.
-	  Coverity 1037121
-
-2014-04-07 15:38:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/check/libcheck/check_run.c:
-	  check: only call setpgid on valid child PIDs
-	  Coverity 206186
-
-2014-04-07 15:38:17 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: no need for a translated message for impossible error cases
-	  The message is too technical anyway, the default message works
-	  just fine here as well.
-
-2014-04-07 15:18:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: catch failure to seek back to zero after seek test
-	  This should never happen theoretically, but since a transient
-	  failure would get us to silently read wrong data, it's worth
-	  erroring out. And it silence this:
-	  Coverity 206034
-
-2014-04-07 11:36:58 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/Makefile.am:
-	  parse: Don't dist the bison and flex generated headers
-	  https://bugzilla.gnome.org/show_bug.cgi?id=727253
-
-2014-04-06 11:23:34 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Handle caps field values being NULL
-	  GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an
-	  element's caps that had a field value being NULL. Such fields are successfully
-	  handled e.g. by GST_*_OBJECT(), and with this patch so does
-	  GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are
-	  not supposed to be valid in caps, such caps can be created.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727701
-
-2014-04-05 11:44:01 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Remove always-true-checks
-	  a gsize is guaranteed to be positive on all systems since it's an
-	  unsigned value.
-	  CID #1037147
-
-2014-04-05 11:44:01 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: Remove always-true-checks
-	  a gsize is guaranteed to be positive on all systems since it's an
-	  unsigned value.
-	  CID #1037145
-	  CID #1037146
-
-2014-04-05 11:37:53 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Prevent division or modulo by zero
-	  The step can end up being zero if the underlying value isn't a valid
-	  range GValue.
-	  In those cases, return FALSE.
-	  We don't use g_return*_if_fail since it will already have been triggered
-	  by the above-mentionned _get_step() functions.
-	  Spotted by Coverity.
-
-2014-03-25 12:23:32 +0100  Haakon Sporsheim <haakon@pexip.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Fix comparison of int/int64 range
-	  Checking step three times seems unnecessary.
-	  A similar bug was fixed for double range in
-	  commit 3ea6b04c10b10fde9d62190068f274b940edef07
-
-2014-04-03 18:17:03 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix build with debug cached buffers enabled
-	  gstinputselector.c:818:5: error: format not a string literal
-	  and no format arguments [-Werror=format-security]
-
-2014-04-03 20:31:16 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in reverse playback mode
-
-2014-04-03 13:20:11 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: removing duplicated inner if
-	  The inner if replicates the same code of the outer and is useless
-	  as flag_segment will always be true.
-	  Found by coverity.
-
-2014-04-03 07:36:03 +0200  Edward Hervey <edward@collabora.com>
-
-	* tools/gst-launch.1.in:
-	  gst-launch.1: Playbin2 is dead, long live playbin
-	  Looks like that was the last remaining mention in core ...
-
-2014-04-02 23:52:10 +0200  Sebastian Dröge <sebastian@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Add missing \n in output
-
-2014-04-01 15:35:24 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  scripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad
-
-2014-03-29 10:18:34 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Include event type in debug output when delaying a sticky event because of not-linked
-
-2014-03-29 10:16:12 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix splitting and reversing of GOPs in reverse playback mode
-	  We iterate the current discont group backwards and push each GOP forwards,
-	  starting from the last one. However if the first buffer in the current
-	  discont group is a keyframe, we will keep it around until next time,
-	  which is far from ideal. Just push it.
-
-2014-03-25 12:38:07 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* tools/gst-launch.c:
-	  launch: place the deep-notify on the right pipeline
-	  If the toplevel bin is not not a pipeline, we place the bin in a
-	  pipeline. Also make sure that we connect to the deep-notify of this new
-	  pipeline because we will g_signal_handler_disconnect() from it later.
-
-2014-03-24 16:34:27 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: copy last_sample on DRAIN
-	  Make sure we don't hold a ref to a buffer from before the DRAIN query by
-	  making a copy of the last_buffer.
-
-2014-03-24 16:11:30 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbuffer.c:
-	  buffer: don't clear TAG on NULL buffer
-	  When the buffer fails to copy, don't clear the TAG on the NULL pointer.
-
-2014-03-20 06:14:33 -0400  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix event/preroll deadlock
-	  The qlock is released between popping a buffer from the queue
-	  and pushing it. When this buffer causes the sink to wait in
-	  preroll, this lets a query see that the queue is empty, and
-	  push the query then wait for it to be serviced. However, this
-	  will not be done till after peroll, and this will thus block.
-	  If upstream was waiting on buffering to reach 100% before
-	  switching to PLAYING, a deadlock would ensue.
-	  We fix it by refusing the query when buffering, as per Wim's
-	  recommendation on IRC.
-
-2014-03-23 12:53:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/gstnetclientclock.c:
-	  tests: make netclientclock test faster and less flaky
-
-2014-03-21 12:16:54 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gst.c:
-	  gst: init new flag types to pass make check
-
-2014-03-19 09:33:53 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Update buffering status and maybe post buffering message right when enabling buffering
-
-2014-03-19 09:32:45 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Update buffering status and maybe post buffering message right when enabling buffering
-
-2014-03-18 18:12:16 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/fakesink.c:
-	  fakesink: Update positions we're checking for after a state is lost
-
-2014-03-18 18:11:15 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Update start time when we lose our state
-	  Otherwise we report not the correct position while the state is lost.
-
-2014-03-18 16:47:42 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't clip the reported position in PAUSED to after the last buffer end timestamp
-	  Otherwise we jump forward when pausing, and go backwards a bit again
-	  when resuming playback.
-
-2014-03-17 10:05:31 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update exports for GstToc loop
-
-2014-03-17 10:05:18 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update export for gst*device symbols
-
-2014-03-17 09:51:45 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstdevice.c:
-	* gst/gstdevicemonitor.c:
-	* gst/gstglobaldevicemonitor.c:
-	  devicemonitor: Use local includes and use gst_private before anything
-	  Should fix build issues on BSD
-
-2014-03-16 20:50:53 -0400  Olivier Crête <tester@tester.ca>
-
-	* tools/gst-inspect.c:
-	  gst-inpect: Print device monitor
-
-2014-03-16 15:56:59 -0400  Olivier Crête <tester@tester.ca>
-
-	* gst/gstdevice.c:
-	* gst/gstdevice.h:
-	* gst/gstglobaldevicemonitor.c:
-	  device: Add "klass" to GstDevices
-
-2014-03-16 18:02:56 -0400  Olivier Crête <tester@tester.ca>
-
-	* gst/gstdevicemonitorfactory.c:
-	* gst/gstdevicemonitorfactory.h:
-	* gst/gstglobaldevicemonitor.c:
-	* gst/gstglobaldevicemonitor.h:
-	  devicemonitor: Make classes into pure strings
-	  Instead of having strings & flags, make them just strings
-
-2014-03-17 06:29:27 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbus.c:
-	* gst/gstmessage.h:
-	* tests/check/gst/gstbus.c:
-	  Fix extended message handling with gst_bus_pop_timed_filtered()
-	  Make sure extended message types don't get accidentally matched
-	  when not asked for in the mask
-
-2014-03-17 05:24:12 +1100  Jan Schmidt <jan@centricular.com>
-
-	* gst/gstbin.c:
-	  gstbin: Avoid pointless object lock forwarding messages.
-	  Every instance of calling bin_do_message_forward() first took the
-	  object lock, so that bin_do_message_forward() could drop it and
-	  then reclaim. Instead, only take the object lock afterward where
-	  needed.
-
-2014-02-19 02:27:36 +0100  Mathieu Duponchelle <mduponchelle1@gmail.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: When seek flushed, immediately set eospads to 0
-	  This prevents situations where a first branch would get seeked and
-	  receive a buffer before all branches got seeked, and thus collected
-	  would get called based on EOS from the previous segment.
-	  As a consequence, during the process of seeking, don't decrease
-	  the eospads number when a FLUSH_STOP is received.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724571
-
-2014-03-16 17:47:06 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Unref peer pad
-
-2014-02-16 20:35:09 +0100  Mathieu Duponchelle <mduponchelle1@gmail.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Forward seek events to the peer directly
-	  Taken from the adder seek handling code.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726461
-
-2014-01-02 22:30:11 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-toc.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  toc: expand GstTocEntry with loop fields
-	  Add loop_type and repeat_count fields to GstTocEntry plus setters and getters.
-	  This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi).
-	  API: gst_toc_entry_set_loop
-	  API: gst_toc_entry_get_loop
-
-2014-03-16 15:19:49 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstglobaldevicemonitor.c:
-	  globaldevicemonitor: update for new message API
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678402
-
-2013-01-08 21:30:44 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstglobaldevicemonitor.c:
-	* gst/gstglobaldevicemonitor.h:
-	* win32/common/libgstreamer.def:
-	  globaldevicemonitor: Add device monitor aggregator
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678402
-
-2014-03-16 14:08:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbus.c:
-	  tests: add test for extended message types and gst_bus_timed_pop_filtered
-
-2014-03-16 14:08:00 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	* gst/gstbus.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  message, bus: do extended message types slightly differently
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678402
-
-2014-03-16 14:07:35 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gst.c:
-	  gst: fix indentation
-
-2012-10-16 12:27:04 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstdevice.c:
-	* gst/gstdevice.h:
-	* gst/gstdevicemonitor.c:
-	* gst/gstdevicemonitor.h:
-	* gst/gstdevicemonitorfactory.c:
-	* gst/gstdevicemonitorfactory.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* win32/common/libgstreamer.def:
-	  devicemonitor: Add GstDeviceMonitor and related
-	  Also add GstDevice and GstDeviceMonitorFactory
-	  And add code to the registry to save them
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678402
-
-2013-08-14 15:56:11 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gst.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message: Add GST_MESSAGE_EXTENDED
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678402
-
-2014-03-16 11:05:56 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  pad: actually return data.ret
-	  The return value from gst_pad_forward() is the aggregated return value from the callback and the callback returns FALSE to continue iterating.
-
-2014-03-15 15:54:33 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  pad: forward return value from gst_pad_forward
-	  Instead of ignoring the return value and always return TRUE pass the already agregated result back.
-
-2014-03-15 13:57:19 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: fix make-check by running 'make update-exports'
-
-2014-03-14 13:32:17 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: multiqueue: fix eos count on test for not-linked case
-	  From the test case:
-	  /* This test creates a multiqueue with 2 streams. One receives
-	  * a constant flow of buffers, the other only gets one buffer, and then
-	  * new-segment events, and returns not-linked. The multiqueue should not fill.
-	  */
-	  If one of the queues goes EOS and the other returns NOT_LINKED the stream
-	  can be considerered EOS as a NOT_LINKED means that one of the branches has no
-	  sink downstream that will block the EOS message posting.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725917
-
-2014-03-01 23:18:44 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* win32/common/libgstbase.def:
-	  adapter: Adapt gst_adapter_copy() for bindings
-	  This is done by introducing a new gst_adapter_copy_bytes() call that
-	  returns a GBytes structure.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476
-
-2014-03-14 18:40:31 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  docs: fix multiqueue docs for new template names foo_%d -> foo_%u
-	  https://bugzilla.gnome.org/show_bug.cgi?id=726358
-
-2014-03-11 21:55:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: update plugin docs
-
-2014-03-11 21:44:39 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: simplify gst_pad_link_get_name() and fix Since marker
-	  Has added benefit that compiler might warn if more values
-	  are added to the enum.
-
-2014-03-11 21:46:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: add debug helper for GstPadLinkReturn names
-	  Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
-	  API: gst_pad_link_get_name()
-
-2014-03-11 21:12:15 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	  tee: use store_sticky events add add more logging
-	  Use the pad as object for logging to get more context. Use
-	  gst_pad_store_sticky_event() instead of sending the event. This avoids a warning
-	  as here the pad is not yet linked and we actually don't want to send anyway.
-
-2014-03-10 10:00:28 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: if buffering is disabled while buffering, post 100% message
-	  Avoids stall waiting for buffering to reach 100%
-
-2014-03-10 09:49:09 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: remove unused variable
-	  buffering_iteration was never used
-
-2014-03-10 09:49:07 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue: queue2: preserve last flow result when pushing events
-	  Avoids mistakenly returning _OK when downstream is still
-	  _NOT_LINKED on subsequent received pad pushes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725917
-
-2014-03-10 09:49:05 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: if buffering is disabled while buffering, post 100% message
-	  Avoids stall waiting for buffering to reach 100%
-
-2014-03-10 09:48:58 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: do not reset last push result when pushing events
-	  Use the last result as a default when pushing a item from a single queue,
-	  otherwise the status gets reset to _OK when pushing events.
-	  This causes problems when mistakenly activating a not-linked stream
-	  that is being ignored upstream as it is not being used (adaptive
-	  scenarios), it will make the multiqueue post a buffering message
-	  on a pad that won't receive buffers
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725917
-
-2014-03-07 20:43:44 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY
-	  It's nicer to only have it set when something noteworthy
-	  happened and otherwise unset.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725862
-
-2014-03-06 22:51:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: fix gst_pad_add_probe() return value docs
-	  Also fix comment typos and add more detail in the logs.
-
-2014-03-06 20:40:46 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	  fakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag
-	  The IN_CAPS flag does not exist any more.
-
-2014-03-06 13:01:40 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: use gst_pad_get_peer to acquire a reference to the target pad
-	  This ensures that the lock of the internal pad is held while referencing
-	  it's peer (= the target pad), which ensures that the peer is not
-	  going to be unlinked/destroyed in the meantime.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725809
-
-2014-03-06 12:40:23 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: hold a reference to the target pad while unlinking it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725809
-
-2014-03-02 05:08:24 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* .gitignore:
-	  .gitignore: Ignore gcov intermediate files
-	  https://bugzilla.gnome.org/show_bug.cgi?id=725478
-
-2014-03-02 17:55:45 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstmeta.c:
-	* libs/gst/base/gstbaseparse.h:
-	  docs: Fix typos and remove unknown annotations
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517
-
-2014-02-28 20:53:38 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontext.c:
-	  docs: use the new markdown for ordered list.
-	  This was plain text that had all list items one after the other (including a
-	  repeated number). Now it will atleast look good when processed with gtk-doc
-	  1.20.
-
-2014-02-28 09:34:19 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From fe1672e to bcb1518
-
-2014-02-27 22:26:30 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
-
-	* gst/gstevent.c:
-	* gst/gstpadtemplate.c:
-	  docs: fix problems introduced by c068b225fef5a9bf0
-	  - Fix failing build
-	  - Drop added trailing whitespace
-
-2014-02-27 18:27:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbuffer.c:
-	  buffer: add return values to g_return_if_fail
-	  FIxes previous commit.
-
-2014-02-27 18:06:56 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbuffer.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstinfo.c:
-	* gst/gstiterator.c:
-	* gst/gstmessage.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstquery.c:
-	* gst/gsttypefindfactory.c:
-	  docs: convert the examples to use gtk-doc markup, instead of docbook
-	  The gtk-doc markup is less intrusive and better handled when creating docs for
-	  language bindings. The titles (where used) where not adding much.
-
-2014-02-27 16:46:11 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  docs: add some more new API do docs
-
-2014-02-27 16:40:34 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbufferpool.c:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: only release buffers with writable memory
-	  Check if the memory is writable before releasing the buffer into the
-	  pool again.
-	  Add unit test for this scenario.
-
-2014-02-27 16:39:50 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add function to check writability of memory
-	  Check if memory is writable in a buffer and thus is exclusively owned by
-	  this buffer.
-
-2014-02-27 15:14:59 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: Use TAG_MEMORY to check memory before releasing
-	  Tag allocated buffers with TAG_MEMORY. When they are released later,
-	  only add them back to the pool if the tag is still there and the memory
-	  has not been changed, otherwise throw the buffer away.
-	  Add unit test to check various scenarios.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724481
-
-2014-02-27 14:35:09 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add a new flag to track memory changes
-	  Add a flag to check if the memory changed in a buffer.
-
-2014-02-26 15:36:42 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbuffer.c:
-	  buffer: remove wrong comment
-	  Refcount and writability are not related for memory objects.
-
-2014-02-25 17:46:49 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: refactor free_buffer
-	  Make a do_free_buffer method to also decrements the number of allocated
-	  buffers. Stop will now be successful when all buffers are freed.
-
-2014-02-26 22:10:28 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 1a07da9 to fe1672e
-
-2014-02-26 20:24:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: add a legend to pipeline dumps
-	  We use a couple of symbols to represent states/flags. Add a short explanation for them.
-
-2013-07-31 09:26:26 +0200  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Print if there is a task started from a pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705189
-
-2014-02-25 16:11:20 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gststructure.c:
-	  structure: Use get_uint64() in gst_structure_get_clock_time()
-	  Its code is identical.
-
-2014-02-25 15:41:45 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* tests/check/gst/gststructure.c:
-	* win32/common/libgstreamer.def:
-	  structure: Add getters for int64 and uint64 values
-
-2014-02-19 21:17:27 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/libs/basesrc.c:
-	  basesrc: Do not send eos when seeking after last buffer
-	  If pushing the last buffer triggers a seek from downstream, do not
-	  go into EOS if a new segment was requested.
-	  Contains unit test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=724757
-
-2014-02-21 09:03:50 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: remove insanity and the old gst-openmax
-
-2014-02-20 18:47:42 +0100  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Add paths to gst-devtools/validate
-
-2014-02-20 15:34:36 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely
-
-2014-02-19 10:57:33 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: also use the glob on GST_CHECKS when forcing to run broken tests
-	  GST_CHECKS can be simply "test*" to run run all tests (including those that are
-	  marked broken). Update the sparse comments a bit to tell how this works.
-
-2014-02-18 15:46:32 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't truncate the temp file on shutdown
-	  We want to keep the downloaded file untruncated so that we can use it
-	  again later.
-	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=724373
-
-2014-02-18 14:21:20 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix merging of ranges
-	  Make a method to get the seeking threshold. If data is further away from
-	  this threshold we want to perform a seek upstream.
-	  When the current downloaded range can merge with the next range,
-	  actually include the data of the next range into the current range
-	  instead of discarding it. Also decide if we seek to the write position
-	  of the merged range or continue reading.
-
-2014-02-18 11:49:37 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: in automatic_eos mode, don't modify the size
-	  Don't set the size to -1 in automatic_eos mode (which also updates the
-	  duration to -1). We only want automatic_eos mode influence the maxsize
-	  calculations without any side effects.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724564
-
-2014-02-17 11:37:30 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
-	* docs/pwg/advanced-types.xml:
-	  pwg: Update raw properties
-	  Using info from gst-plugins-base/docs/design .
-	  Encoded streams might make use of the raw properties, so list them all under foo/* .
-	  For foo/raw, only note which of these properties are mandatory.
-	  I didn't take a closer look at the raw formats yet. Those might still be out-of-date.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=724187
-
-2014-02-17 17:28:38 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup: remove dead http links
-	  https://bugzilla.gnome.org/show_bug.cgi?id=724561
-
-2014-02-15 22:34:33 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer.types.in:
-	  docs: add the boxed types to the .types.in
-	  This makes them show up in the object hierarchy.
-
-2014-02-15 21:22:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.h:
-	  docs: gtkdoc is not good at parsing inline functions in headers
-	  Mark the inline function, so that gtkdoc skips them. Avoids some warnings about
-	  unparsable declarations.
-
-2014-02-13 12:07:50 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* win32/common/libgstbase.def:
-	  basesrc: Add gst_base_src_set_automatic_eos() API
-	  This defaults to TRUE and if it is set to FALSE it is the subclasses
-	  responsibility to return GST_FLOW_EOS from the create() vmethod once
-	  the stream is done.
-
-2014-02-11 16:30:31 +0000  William Manley <will@williammanley.net>
-
-	* docs/gst/running.xml:
-	* gst/gstregistry.c:
-	  docs: Fix location of plugins and registry in home directories
-	  Fixes out of date documentation left over since 0.10.  In 1.0 plugins are
-	  stored in $XDG_DATA_HOME and the registry in $XDG_CACHE_HOME conformant
-	  with the XDG Base Directory Specification[1].
-	  [1]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
-	  https://bugzilla.gnome.org/show_bug.cgi?id=724132
-
-2014-02-11 13:27:25 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsterror.h:
-	  error: GST_RESOURCE_ERROR_NOT_AUTHORIZED will be available since 1.2.4
-
-2014-02-11 13:09:11 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	  error: Add RESOURCE_NOT_AUTHORIZED error
-	  This allows to distinguish normal read failures from read failures
-	  where we miss authorization.
-
-2014-02-10 17:09:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix yet another compiler warning
-	  https://bugzilla.gnome.org/show_bug.cgi?id=724045
-
-2014-02-10 08:00:36 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/design/Makefile.am:
-	  docs: add missing seqnum file for distribution
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723997
-
-2014-02-09 16:53:55 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/gst/running.xml:
-	  docs: document GST_TAG_*ENCODING environment variables
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721850
-
-2014-02-09 16:47:53 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/Makefile.am:
-	  docs: enable parallel build of subdirectories
-	  We can build gtk docs, ADM, PWG and FAQ in parallel.
-
-2014-02-09 16:38:10 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: add support for blacklisting checks via GST_CHECKS_IGNORE
-
-2014-02-09 00:25:14 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: fix leak in baseparse test
-	  Or rather make it not show up any more by moving
-	  it from 'definitely lost' into 'possibly lost'.
-
-2014-02-08 23:39:03 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstsystemclock.c:
-	  tests: fix leak in systemclock test
-
-2014-02-08 16:42:55 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Make clang happy with our g_vprintf() wrapper
-
-2014-02-06 14:18:31 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
-
-	* gst/gst.c:
-	* gst/gstpluginloader.c:
-	* gst/gstpreset.c:
-	* gst/gstregistry.c:
-	  windows: Make GStreamer installation relocatable
-	  Use the technique that is now done in GTK+ so that the plugins do not have
-	  to be installed in c:\gstreamer\lib\<debug>\gstreamer-$(GSTApiVersion),
-	  but can be installed in
-	  <parent_folder_of_gstreamer_main_dll>\lib\<debug>\gstreamer-$(GSTApiVersion),
-	  or as per g_win32_get_package_installation_directory_of_module() allows.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679115
-
-2013-10-30 17:02:35 -0500  Brendan Long <b.long@cablelabs.com>
-
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* libs/gst/base/gstcollectpads.c:
-	  gst: clear floating references for GstTask, GstTaskPool and GstCollectPads
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710342
-
-2013-10-30 17:02:02 -0500  Brendan Long <b.long@cablelabs.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstpad.c:
-	  docs: gst_pad_new_from_*_template and gst_buffer_pool_new constructors return floating references
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710342
-
-2014-02-05 10:11:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/elements/capsfilter.c:
-	  check: Remove a minor leak in unit test
-	  Makes valgrind happy
-
-2014-02-04 22:23:06 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Fix build by using the correct C file name
-
-2014-02-04 21:36:18 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Clean up code a bit to be suitable for the docs
-
-2014-01-03 07:25:37 -0800  Todd Agulnick <todd@agulnick.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: Replace manual's effectswitch.c with newer test-effect-switch.c
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721100
-
-2014-01-29 14:39:19 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: add caps features unit tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723236
-
-2014-02-04 18:42:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: When getting capsfeatures and none are there, store sysmem capsfeatures
-	  ... instead of returning a reference to a global instance. The caller might
-	  want to change the global instance otherwise, which causes funny effects like
-	  all global instances being changed and at the same time nothing in the caps
-	  being changed.
-	  As the caps might be immutable while we do this we have to do some magic
-	  with atomic operations.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723236
-
-2014-02-04 18:03:47 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcaps.c:
-	  caps: Don't get us sysmem capsfeatures if we just check for fixed caps
-
-2014-02-04 17:48:54 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstcapsfeatures.c:
-	  capsfeatures: Make sure that the static ANY/EMPTY capsfeatures are never mutable
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=723236
-
-2014-01-31 09:14:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontrolbinding.h:
-	* gst/gstmeta.h:
-	* libs/gst/base/gstbasetransform.c:
-	  docs: fix more gtk-doc warnings
-
-2014-01-31 08:35:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstallocator.h:
-	  docs: unhide docs for allocator
-	  Unhinde the class docs. Tech gtk-doc about GST_EXPORTS.
-
-2014-01-31 08:08:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: more tests and small doc fixes
-
-2014-01-30 21:24:21 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	  tools: 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 03:22:56 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: respect the 'negotiation-mode' property
-	  If the segment event is allowed to be pushed to all pads it
-	  will lead to an assertion of 'sticky event misordering:
-	  segment received before caps' in case the pad-negotiation-mode
-	  is set to 'active' or 'none'.
-	  This patch fixes this by making all sticky events follow the
-	  property like the caps event to prevent misordering warnings.
-	  When a new pad is activated the current sticky events on the
-	  sinkpad are forwarded to it in the proper order.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723266
-
-2014-01-30 12:54:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/gstpoolstress.c:
-	  poolstress: print speedup
-
-2014-01-30 12:42:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: misc cleanups
-	  Review the documentation, comments and logging. Set the initial size to 16 as
-	  the size is rounded up to the next power of two anyway.
-
-2014-01-30 08:11:12 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstbufferpool.c:
-	  bufferpool: add a new testsuite or the pool
-	  Start with some basic tests.
-
-2014-01-30 12:26:05 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: avoid excessive GstPoll activity
-	  Keep an extra write ref on the control socket. This ensures that we
-	  avoid a read/write on the socket when going from non-empty->empty->not-empty.
-	  We remove the write ref only when we actually are empty and we need to
-	  wait for flushing or a new buffer.
-	  This makes the bufferpool benchmark about 30% faster than the pure
-	  malloc implementation.
-
-2014-01-30 12:25:33 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstpoll.c:
-	  poll: improve debug
-	  Add object pointer in debug lines.
-
-2014-01-30 10:43:36 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From d48bed3 to 1a07da9
-
-2014-01-29 22:46:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-toc.txt:
-	  part-toc: emphasize that the later chapters are design draft ideas
-
-2014-01-29 20:20:56 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-toc.txt:
-	  part-toc: add format specific information
-
-2014-01-29 18:21:34 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/gstpoolstress.c:
-	  poolstress: code cleanups
-	  Add a few comments. Tell in the results, which number are from which test.
-
-2014-01-29 13:20:19 +0100  Nicola Murino <nicola.murino@gmail.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: use print as function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=723229
-
-2014-01-28 11:58:53 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/elements/capsfilter.c:
-	  tests: capsfilter: add test for pending_events pushing
-	  make sure that pending events are pushed when caps are already
-	  set when a buffer is received
-
-2014-01-28 11:12:56 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: do not forget to push pending events
-	  Push pending events before buffers if caps is already
-	  set
-
-2014-01-24 19:19:08 +0100  Arnaud Vrac <avrac@freebox.fr>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: do not reduce single queue below current level
-	  When the single queue size was just bumped by 1 to allow more buffers to
-	  be added, the buffers limit could be reduced to the current level when
-	  setting the max-size-buffers property. This would result in a stall
-	  since the queue would not grow anymore at this point.
-	  Prevent this by not reducing a single queue size below the current
-	  number of buffers + 1.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712597
-
-2014-01-24 13:20:49 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: do not forget to clear the forced_eos flag
-	  otherwise it will always use the seqnum of the event
-	  sent by the application
-
-2014-01-23 15:52:51 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/libs/basesrc.c:
-	  basesrc: preserve seqnum of eos events sent by the user
-	  Store the eos event seqnum and use it when creating the
-	  new eos event to be pushed downstream. To know if the eos
-	  was caused by the eos events received on send_event, a
-	  'forced_eos' flag is used to use the correct seqnum on
-	  the event pushed downstream.
-	  Useful if the application wants to check if the EOS message
-	  was generated from its own pushed EOS or from another source
-	  (stream really finished).
-	  Also adds a test for this
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722791
-
-2014-01-23 15:34:27 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* docs/design/part-seqnums.txt:
-	  docs: design: add part-seqnums
-	  Hopefully clarifies how seqnums should be used and copied from
-	  events to events/messages when those are handled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722791
-
-2014-01-24 09:28:05 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Break the loop immediately if we found an empty queue
-	  No need to continue looking at all the others
-
-2014-01-23 15:47:23 +0100  Per x Johansson <perxjoh@axis.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Allow growing a queue if all other queues are not linked
-	  In the case where one singlequeue is full and all other are not linked, the
-	  growing of the full queue does not work correctly. The result depends on if
-	  the full queue is last in the queue list or not.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722891
-
-2014-01-22 11:10:01 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Minor code cleanup
-	  !check_sticky()==GST_FLOW_OK is a bit confusing, compared to
-	  check_sticky()!=GST_FLOW_OK.
-
-2014-01-20 15:26:54 +0100  Fabian Kirsch <derFakir@web.de>
-
-	* tests/check/pipelines/parse-launch.c:
-	  parse: Additional tests for parser
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710034
-
-2014-01-18 14:48:35 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstiterator.c:
-	  iterator: Properly copy mutexes around when creating a copy of a filter iterator
-
-2014-01-18 14:34:45 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstiterator.c:
-	  iterator: Add unit tests for filtering, recursive filtering and locking
-	  https://bugzilla.gnome.org/show_bug.cgi?id=711138
-
-2014-01-18 14:43:20 +0100  Stewart Brodie <stewart@eh.org>
-
-	* gst/gstiterator.c:
-	  iterator: Preserve the master lock when creating recursive iterator filters with the same lock
-	  This way we make sure that a) the lock is always taken when checking
-	  the cookie and calling the iterator's next functions and b) it is
-	  not taken while calling any of the iterator filter functions.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=711138
-
-2014-01-17 22:53:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gstpad.c:
-	  pad: fix sticky event leak after sticky_events_foreach
-	  events_foreach adds an extra ref when giving the event to the
-	  user function. In case it was unrefed by the user, this extra ref
-	  disappeared, but events_foreach still should unref again to
-	  lose its own ref before removing the event from the array.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722467
-
-2014-01-16 20:11:03 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	* gst/gstinfo.c:
-	  info: move some env-var checks from gst to gstinfo as well
-	  We were doing some log related initialisation in gst.c after calling
-	  _priv_gst_debug_init(). Just move it there for consistency.
-
-2014-01-16 18:16:35 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Only set caps on the srcpad if it's activated in push mode
-	  https://bugzilla.gnome.org/show_bug.cgi?id=722289
-
-2014-01-16 12:28:47 +0100  Fabian Kirsch <derFakir@web.de>
-
-	* gst/parse/grammar.y:
-	  parse: Some minor fixes
-	  Fix destructor segfaulting
-	  Expect 0 grammar-ambiguities
-	  Fix order of bin-properties assignment
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710034
-
-2014-01-15 19:28:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: removing duplicate field position
-	  It is already stored inside the GstSegment struct and
-	  was only duplicating information. Also removed some
-	  weird positon if/else that would possibly change the
-	  segment that was going to be pushed downstream
-
-2014-01-15 00:12:26 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: prevent buffering forever with playbin
-	  When prerolling/buffering, multiqueue has its buffers limit set
-	  to 0, this means it can take an infinite amount of buffers.
-	  When prerolling/buffering finishes, its limit is set back to 5, but
-	  only if the current level is lower than 5. It should (almost) never be
-	  and this will cause prerolling/buffering to need to wait to reach the
-	  hard bytes and time limits, which are much higher.
-	  This can lead to a very long startup time. This patch fixes this
-	  by setting the single queues to the max(current, new_value) instead
-	  of simply ignoring the new value and letting it as infinite(0)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712597
-
-2014-01-15 11:12:08 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstsegment.c:
-	  segment: gst_segment_offset_running_time() will be available in 1.2.3
-
-2014-01-14 16:15:21 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  doc: Update sections with the new rounding macros
-
-2014-01-14 16:15:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstutils.h:
-	  util: Add GST_ROUND_UP_N and GST_ROUND_DOWN_N
-	  These are generic rounding macro that works for any power of two.
-
-2014-01-14 16:47:38 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/elements/tee.c:
-	  tee: Add unit test for requesting pad names
-
-2014-01-14 16:45:53 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  tee: Make sure to give pads the name that was requested
-	  Also check for uniqueness and make sure we create a new
-	  pad index properly if some were requested with names but
-	  the new one is not.
-
-2014-01-14 15:52:26 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Make sure to create and link chains in the order as written
-	  Make this work again:
-	  audiotestsrc ! tee name=t  t.src_0 ! queue ! fakesink  t.src_1 ! queue ! fakesink
-	  and this fail again:
-	  audiotestsrc ! tee name=t  t.src_1 ! queue ! fakesink  t.src_0 ! queue ! fakesink
-	  as tee just counts itself and does not care about the pad names we request
-	  from it.
-
-2014-01-14 13:45:34 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Remove some C99-style comments
-
-2014-01-14 13:44:11 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/types.h:
-	  parse: Use GSlice for allocating and freeing links and chains
-
-2014-01-14 13:42:20 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/types.h:
-	  parse: Add comment about why we disable the "tracing"
-	  It did not print anything useful before anyway, everything
-	  was commented out.
-	  Also remove some unneeded struct members.
-
-2014-01-14 13:36:24 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/pipelines/parse-launch.c:
-	  parse-launch: Add some more failing pipelines
-	  Also convert some comments about valgrind warnings to
-	  FIXME comments. These were leaking since some time already.
-
-2014-01-10 21:10:17 +0100  Fabian Kirsch <derFakir@web.de>
-
-	* gst/parse/grammar.y:
-	* gst/parse/parse.l:
-	* gst/parse/types.h:
-	* tests/check/pipelines/parse-launch.c:
-	  parse: Refactor grammar, make it more consistent and fix conflicts
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710034
-
-2014-01-13 20:48:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	  docs: ensure GstBufferPools shows up as with GObject features
-	  GstBufferPool is a GstObject, add the _get_type function to the types file.
-
-2014-01-13 08:37:37 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/libs/baseparse.c:
-	  tests: baseparse: add test for reverse playback on passthrough
-	  Baseparse stores buffers for reverse playback to push on the next
-	  DISCONT, the issue was that it wouldn't ever check for a discont
-	  on passthrough mode as it skips all real parsing. This test
-	  was create to verify this issue and prevent it from happening again
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721941
-
-2014-01-11 10:49:17 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/baseparse.c:
-	  tests: baseparse: add basic test for baseparse
-	  Just a small test to check that basic playback works
-
-2014-01-10 09:10:06 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: do not accumulate buffers on passthrough mode
-	  If on passthrough during reverse playback, do not accumulate buffers as
-	  baseparse will never check for DISCONT flag to push those buffers.
-	  So just push buffers downstream as if it was forward playback.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721941
-
-2014-01-06 21:47:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't confuse GST_PAD_MODE_NONE and PULL
-	  Use a switch-case to explicitly handle all pad-modes. This way we don't log an error when the pad is not yet activated.
-
-2014-01-09 07:56:55 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: add FIXME and docs for the disabled notify on parent
-	  We haven't found a way to re-enable emitting notify and deep-notify for parent
-	  changes. Add a FIXME-2.0 and a doc blob on the property. See #693281.
-
-2014-01-08 16:28:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: do not ignore TIME segments
-	  TIME segments are being ignored and a standard initialized
-	  segment is used instead. This causes issues as not properly detecting
-	  reverse playback or not cliping output based on the segment.
-	  This seems to be a regression from one of the GstSegment/GstEvent
-	  redesigns on the 0.10 -> 1.0 transition
-
-2014-01-08 15:47:10 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: improve check, also check stream-time
-
-2014-01-08 15:31:28 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: add unit test for segment _offset_running_time()
-	  Add a unit test to check that positive and negative offsets are applied
-	  correctly in various cases.
-
-2014-01-08 15:23:00 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstsegment.c:
-	  segment: take offset into account in _to_position()
-	  Take the offset into account when converting between running-time and
-	  segment positions.
-
-2014-01-08 14:57:04 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstpad.c:
-	  pad: use new segment offset method to apply the offset
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=721422
-
-2014-01-08 14:54:47 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* win32/common/libgstreamer.def:
-	  segment: add method to offset the segment running-time
-	  Add a method that can apply an offset to the calculated running-time of
-	  a segment.
-
-2014-01-08 14:52:04 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: take offset into account for expected segment position
-	  The firt valid segment position is start + offset.
-	  Also add some more debug and a FIXME
-
-2014-01-08 14:50:29 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstinfo.c:
-	  info: debug segment offset field as well
-
-2014-01-08 09:53:09 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Allow growing a queue if all other queues are not linked
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=719893
-
-2014-01-07 16:18:37 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: don't try to seek to -1 offset
-	  The offset can be -1 when we are configured in TIME format. Instead of
-	  failing the seek and erroring, do what and offset of -1 is supposed to
-	  do and simply read from the current offset.
-
-2014-01-06 21:04:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: demote error to warning
-	  This is not an error. A subclass returning FALSE for is_seekable() is one way of
-	  saying that we can't operate in pull mode.
-
-2014-01-03 11:47:23 +0800  YanpingZhang <zhangyanping210@163.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix hanging if shut down while handling a serialized query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721253
-
-2014-01-02 16:22:37 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove pending_segment as it was being misused
-	  It wasn't required, instead baseparse was using it to check the media
-	  caps to identify if it was handling audio or video.
-	  The pending_segment was removed and a checked_media boolean
-	  replaced it for a more accurate naming.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721350
-
-2014-01-02 13:43:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: push pending events before GAP event
-	  A GAP event is handled as an empty buffer by sinks and they expect
-	  to receive start up events before GAP events (like a segment).
-	  This is important specially if there is a GAP at the beginning of
-	  a stream (before any buffers) so that the segment event can be
-	  pushed downstream before the GAP
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721350
-
-2014-01-02 13:41:25 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: refactor pending events pushing
-	  Refactor code repeated 3 times to a common function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721350
-
-2014-01-02 20:17:58 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-toc.txt:
-	  design/part-toc.txt: update design docs
-
-2014-01-02 13:34:52 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Add unit test for adding/removing blocking probes while a pad is blocked
-	  And make sure that these new probes are actually called if they should
-	  instead of silently blocking the pad forever.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721289
-
-2014-01-02 13:33:20 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Check if new probes need to be called when adding/removing some
-	  This allows blocking a pad, add a new blocking probe, removing
-	  the first probe and then having the second probe called. Which
-	  could then decide that data-flow should actually continue
-	  instead of blocking now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721289
-
-2014-01-02 11:13:27 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  tee: Remove dyn lock
-	  It was used for pad-alloc in 0.10 but currently is completely unused
-	  and not necessary. All pad access is protected by the tee object lock
-	  and keeping another reference to the current pad.
-
-2014-01-02 11:09:59 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Keep another ref to our one and only srcpad around while pushing
-	  A pad probe on that pad might otherwise just release the pad, drop
-	  the last reference and cause great misery.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721300
-
-2013-12-30 19:03:22 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Keep an extra ref of the pad when calling an IDLE probe immediately
-	  The callback might destroy the pad.
-
-2013-12-30 18:44:24 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Only call IDLE probes if we are actually idle
-	  Also only check the data types for non-IDLE probes. When we
-	  are idle, we have no data type obviously.
-	  Previously we were calling IDLE probes during data flow whenever
-	  a non-blocking probe would be called. The pad was usually not idle
-	  at that time.
-
-2013-12-30 16:10:08 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: remove unnecessary NULL check
-	  Error is never NULL when we break out of the loop.
-	  COVERITY CID 1037151
-
-2013-12-30 16:05:47 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  Revert "nettimeprovider: Remove dead code"
-	  This reverts commit 9649cd4ca19a75d0319117a77a7609e4b8c96533.
-	  This is not right, and it's also not what coverity
-	  is complaining about.
-
-2013-12-30 16:47:32 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Remove unneeded checks
-	  item is guaranteed to be non-null.
-	  COVERITY CID 1037152
-	  COVERITY CID 1037153
-
-2013-12-30 16:34:08 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: Remove dead code
-	  err is always NULL by the point we reach this line
-	  COVERITY CID 1037151
-
-2013-12-30 14:47:19 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttaglist.h:
-	  taglist: fix since marker again (1.3 -> 1.4)
-	  Since markers should point to the appropriate stable version.
-
-2013-12-30 14:40:40 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttaglist.h:
-	  taglist: fix since-marker in docs (we're in 1.3.X)
-
-2013-12-30 14:22:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: add a tag for midi base note numbers
-	  Audio files containing sampled instruments can have metadata describing the note
-	  that was played on the instrument.
-
-2013-12-30 10:01:39 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstpad.c:
-	  pad: Don't ignore probe callback return value when immediately calling IDLE probe
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721096
-
-2013-12-29 14:06:55 +0000  Pedro Côrte-Real <pedro@pedrocr.net>
-
-	* scripts/git-update.sh:
-	  scripts: git-update.sh: fix for non-master branches
-	  Pull from tracking branch instead of origin/master, so
-	  that this works with e.g. 1.2 as well.
-
-2013-12-27 12:55:02 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/Makefile.am:
-	* gst/parse/parse.l:
-	  parse: Use GLib malloc/free/realloc functions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720100
-
-2013-12-26 12:16:26 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup: re-use existing master branch if it exists
-	  When creating separate checkout for non-master branches.
-
-2013-12-26 11:39:27 +0100  Erik Andresen <erik@vontaene.de>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  docs: fix memory leak of appsink example in manual
-	  https://bugzilla.gnome.org/show_bug.cgi?id=721076
-
-2013-12-22 22:33:12 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From dbedaa0 to d48bed3
-
-2013-12-22 22:04:37 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for string changes
-
-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-20 14:41:06 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstutils.h:
-	  utils: Add round down 128 macro for completeness
-
-2013-11-13 17:06:23 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstutils.h:
-	  utils: Add round up 128 macro
-
-2013-12-20 14:30:22 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Setting the PROXY_CAPS flag on the srcpad does not make much sense
-	  funnel outputs whatever one of the upstreams currently outputs, a caps
-	  query to a random upstream does not give the right answer here.
-
-2013-12-20 11:37:53 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Proxy CAPS and ALLOCATION queries
-
-2013-11-18 10:46:00 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: post 100% buffering if single queue is not linked
-	  This makes buffering stop in case a stream switch happens. This is
-	  important for adaptive streams that can disable not-linked streams
-	  to avoid consuming the network bandwidth.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=719575
-
-2013-12-18 05:19:46 -0500  William Jon McCann <william.jon.mccann@gmail.com>
-
-	* docs/manual/appendix-integration.xml:
-	  docs: fix project links
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720665
-
-2013-12-10 15:53:54 +0100  David Svensson Fors <davidsf@axis.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: use segment start if DTS for first buffer is unset
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720199
-
-2013-12-12 17:17:40 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add gstreamer-vaapi paths
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720337
-
-2013-12-14 21:20:45 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/bitreader-noinline.c:
-	* tests/check/libs/bytereader-noinline.c:
-	* tests/check/libs/bytewriter-noinline.c:
-	  tests: add unit test for bitreader, bytereader and bytewriter with no inlining used
-
-2013-12-14 18:38:41 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: add inline variant of gst_byte_reader_init()
-
-2013-12-14 18:31:38 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  docs: fix docs for gst_queue_array_peek_head()
-
-2013-12-14 19:08:35 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/parse/grammar.y:
-	  parse: Don't define yyscan_t twice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720316
-
-2013-12-13 22:51:32 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/random/moving-plugins:
-	  docs: moving plugins: minor 0.10 -> 1.0 fix
-	  Spotted by Jay Fenlason
-
-2013-12-11 14:42:34 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue: don't ignore event return value
-	  Pass the event return value upstream.
-	  Remove strange goto construct.
-
-2013-12-10 18:30:03 -0500  Edward Hervey <edward@collabora.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Handle taglist copy failure
-	  If we couldn't copy the tags, just return instead of trying to use bogus
-	  values.
-
-2013-12-10 18:25:22 -0500  Edward Hervey <edward@collabora.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Index features are no more
-	  So remove code that will never be used
-
-2013-12-10 17:53:24 -0500  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: Fix comparision of double range
-	  Checking twice the lower bound is great (you never know, it might change
-	  between the two calls by someone using emacs butterfly-mode), but it's a bit
-	  more useful to check the higher bound are also identical.
-	  Detected by Coverity
-
-2013-12-10 17:09:07 -0500  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: Fix out-of-bounds detection
-	  We want to abort if we higher than the maximum *OR* lower than the minimum
-	  accepted value.
-	  Detected by Coverity.
-
-2013-12-07 19:04:16 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: add unit test for registering the same category twice
-
-2013-12-07 19:32:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* gst/gstinfo.c:
-	  info: return existing category if a debug category is registered twice
-	  If a category with the same name is found when creating a new
-	  one, the found category is returned instead of an invalid pointer.
-	  Fixes issue with gst-vaapi (which uses an internal copy of the
-	  codec parsers) caused by commit ccba9130.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720036
-
-2013-12-07 15:38:19 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-progress.txt:
-	* docs/design/part-synchronisation.txt:
-	* docs/design/part-trickmodes.txt:
-	* docs/manual/advanced-buffering.xml:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/outline.txt:
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-negotiation.xml:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstchildproxy.c:
-	* gst/gstconfig.h.in:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpoll.c:
-	* gst/gstpreset.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gsttocsetter.c:
-	* gst/gsttypefind.h:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter-docs.h:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/net/gstnettimepacket.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	* win32/common/gstconfig.h:
-	  docs: Fix typos in function/object descriptions
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029
-
-2013-12-07 15:40:32 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstsegment.c:
-	* tests/check/gst/gststructure.c:
-	  Fix some typos in code comments and debug messages
-	  https://bugzilla.gnome.org/show_bug.cgi?id=720029
-
-2013-12-06 20:50:19 +0000  Stewart Brodie <stewart@eh.org>
-
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  docs: clarify encoding of strings in GstStructures and taglists
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709262
-
-2013-07-02 20:27:59 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Set format to TIME if do-timestamp is TRUE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702842
-
-2013-12-05 00:26:13 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: don't try to remove already-removed GSource from main loop
-	  It's considered a programming error in recent GLib versions now.
-	  We may already have removed the source by returning FALSE from
-	  the callback if it was fired. Fixes warning with newer GLibs
-	  when interrupting a pipeline with Control-C.
-
-2013-12-04 17:35:18 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstinfo.c:
-	  info: Make sure the same category is not added twice
-
-2013-12-04 17:35:02 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstinfo.c:
-	  info: Protect __categories list in get_category with lock too
-
-2013-12-04 00:10:36 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/Makefile.am:
-	* docs/design/Makefile.am:
-	  docs: add missing files for distribution
-	  * add some documentation files in docs/design
-	  * add docs/list-ulink.xsl so check in docs/manual works
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719814
-
-2013-12-03 21:46:19 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add ACCEPT_INTERCEPT flag
-	  Make a new flag on the pad that tweaks the default behaviour of the
-	  accept-caps function. By default it will check for a subset of the
-	  query-caps result but this is not always desirable. The query-caps
-	  result contains all the constraints to make a good caps decision
-	  upstream but sometimes, like for parsers, not all the constrained caps
-	  fields are known upstream and then a subset check would fail. Switching
-	  to an intersection makes this work again.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=705024
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677401
-
-2013-12-02 22:22:36 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Wake up on reconfigure event
-	  After patch bda406c4, the state of the singlequeue was set to OK, but nothing
-	  would then wake up the thread, as the other wakeup functions only look at
-	  singlequeues that are marked as having received as not-linked.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708200
-
-2013-11-30 12:15:37 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* gst/gstcontext.c:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstobject.c:
-	* gst/gstpad.h:
-	* gst/gstvalue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstoutputselector.h:
-	  docs: add missing docs, fixing doc errors
-	  * add many missing declarations to sections
-	  * GstController has been removed, update docs
-	  * skip GstIndex when generating documentation
-	  * rephrase so gtkdoc doesn't imagine return value
-	  * add missing argument description for gst_context_new()
-	  * document GstOutputSelectorPadNegotiationMode and move to header-file
-	  https://bugzilla.gnome.org/show_bug.cgi?id=719614
-
-2013-11-30 14:52:40 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcaps.c:
-	* gst/gstcontext.c:
-	* gst/gstmeta.h:
-	* gst/gstpad.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  docs: cosmetic changes in references/decriptions
-	  * fix typo GstBufferFlag -> GstBufferFlags
-	  * fix typo GstFeatures -> GstCapsFeatures
-	  * fix typo GstAllocatorParams -> GstAllocationParams
-	  * fix typo GstContrlSources -> GstControlSource
-	  * do not refer to gstcheck as an object
-	  * make references gtk_init() and tcase_set_timeout() not be references
-	  * gst_element_get_pad() renamed gst_element_get_static_pad()
-	  * gst_clock_id_wait_async_full() renamed gst_clock_id_wait_async()
-	  * _drop_element() is really gst_queue_array_drop_element()
-	  * gst_pad_accept_caps() was removed, do not refer to it
-	  * separate GST_META_TAG_MEMORY_STR declaration from description
-	  * do not describe removed gst_collect_pads_collect()
-	  * correctly link to GstElementClass' virtual set_context()
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719614
-
-2013-11-29 14:00:35 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/parse/Makefile.am:
-	  parse: Manually insert priv_gst_parse_yyget/set_column prototypes for older flex
-	  Older versions of flex (before 2.5.36) don't add the prototype, so it must
-	  be added manually. We can't check by the version number, because Debian/Ubuntu
-	  patched it into their 2.5.35 at some point.
-
-2013-11-19 11:41:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* gst/gstutils.c:
-	  gstpad: drop assertion on gst_pad_peer_query_position
-	  It is a 'both' query, so it can be sent both ways
-
-2013-11-18 18:11:56 -0300  Thiago Santos <ts.santos@sisa.samsung.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: handle gap events
-	  Use gap events to advance the selector's pad position.
-	  This is relevant to keep sync_streams mode working when one of the
-	  streams doesn't have data all the time.
-
-2013-11-29 17:02:41 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstghostpad.c:
-	  Revert "ghostpad: copy sticky events to SRC ghostpads"
-	  This reverts commit 8162a583a4dd68582bf186e2e47a8f0d68fa1980.
-	  Automatically copying the sticky events makes it impossible for apps
-	  and elements to filter the events with event probes. This causes
-	  regressions (See #719437). The best option is to let the app/element
-	  copy and filter the events themselves after the ghostpad target is
-	  set.
-
-2013-11-19 15:03:35 +0100  Fabian Kirsch <derFakir@web.de>
-
-	* gst/parse/.gitignore:
-	* gst/parse/Makefile.am:
-	* gst/parse/grammar.y:
-	  parse: fix segfaulting prototype-mismatch
-	  Now YYDEBUG is always set, so check it's value
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712679
-
-2013-11-27 18:32:22 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Fix docstring for round-trip-limit and uninit access warning.
-	  Fix a typo in a doc string - the property is round-trip-limit, not
-	  roundtrip-limit.
-	  Remove a bogus GST_WARNING that can print an uninitialised variable
-	  and is redundant anyway.
-
-2013-11-26 11:56:46 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Add round-trip-limit parameter
-	  Sometimes, packets might take a very long time to return. Such packets
-	  usually are way too late and destabilize the regression with their
-	  obsolete data. On Wi-Fi, round-trips of over 7 seconds have been observed.
-	  If the limit is set to a nonzero value, packets with a round-trip period
-	  larger than the limit are ignored.
-	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712385
-
-2013-11-25 19:04:38 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstquery.c:
-	  query: Fix gi annotations of gst_structure_new_custom()
-
-2013-11-26 02:43:54 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Fix C99 comment
-
-2013-11-26 02:17:36 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclock: Implement rolling-average filter on observations.
-	  Keep a rolling average of the round trip time for network clock
-	  observations, favouring shorter round trips as being more accurate.
-	  Don't pass any clock observation to the clock slaving if it has a
-	  round-trip time greater than 2 times the average.
-	  Actual shifts in the network topology will be noticed after some
-	  time, as the rolling average incorporates the new round trip times.
-
-2013-11-25 20:33:42 +1100  Jan Schmidt <jan@centricular.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Add debug into gst_base_sink_default_query() for accept_caps
-
-2013-11-14 15:32:59 +0100  Philippe Normand <philn@igalia.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: exit with an error code when an error occured
-	  If the pipeline failed to pre-roll or the user interrupted the
-	  execution then set the exit code to a positive value.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=712300
-
-2013-11-22 01:35:18 +0100  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* gst/gstutils.c:
-	  gstutils: Escape stream id format in comments
-	  These must be escaped for gtk-doc to parse the comments without warnings.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=714989
-
-2013-11-21 15:04:04 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstinfo.c:
-	* gst/gsturi.c:
-	  gst: 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-21 14:13:16 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: copy sticky events to SRC ghostpads
-	  Update the sticky events on SRC ghostpads when retargeting. This ensures
-	  that the ghostpad has the exect same sticky events as the target pad. We
-	  don't want to do this for SINK ghostpads, they got the events from
-	  downstream and we don't want to overwrite them with the target pad
-	  events.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707621
-
-2013-11-21 12:28:00 +0100  Wim Taymans <wtaymans@redhat.com>
-
-	* gst/gstpad.h:
-	  pad: move debug function closer to the enum it debugs
-
-2013-11-18 21:39:54 +0100  Wim Taymans <wim.taymans@gmail.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: check read/write before closed
-	  first try to read or write on the socket before checking the closed state. This
-	  makes sure we handle all data on the socket before erroring out.
-
-2013-11-18 21:37:06 +0100  Wim Taymans <wim.taymans@gmail.com>
-
-	* gst/gstpoll.c:
-	  poll: improve debug
-	  So that we can see the return values of functions in the log.
-
-2013-11-18 15:28:32 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* tests/check/gst/gstbus.c:
-	  tests: fix GstBus unit test with latest GLib
-	  g_source_remove() works on the default main context, and
-	  we're doing things with a custom context. Fixes warning
-	  with newer GLib versions.
-
-2013-11-16 12:24:56 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstbin.h:
-	* gst/gstbuffer.c:
-	* gst/gstinfo.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstqueuearray.c:
-	  docs: cosmetic since marker fixes
-
-2013-11-16 15:17:57 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: ensure to preserve upstream timestamps
-	  ... rather than have subclass coming up with an internally parsed one.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707230
-
-2013-11-15 07:32:48 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstbin.c:
-	  bin: Resync iterator if necessary
-
-2013-11-13 19:55:41 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstcaps.c:
-	  value: Lists with all equal elements are equal to a single value
-	  Otherwise caps containing f={X, X} are not compatible with f=X
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709253
-
-2013-11-11 16:47:06 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: add Since markers for new API
-
-2013-11-11 17:29:48 +0100  Edward Hervey <edward@collabora.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Really update the def files
-
-2013-11-11 17:02:35 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  win32: Update def files
-
-2013-11-11 16:50:13 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Also export LD_LIBRARY_PATH for gst-plugins-gl
-
-2013-11-05 12:22:51 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: export gst-plugins-gl DYLD_LIBRARY_PATH
-	  https://bugzilla.gnome.org/show_bug.cgi?id=711488
-
-2013-11-06 18:46:19 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Always send SEEK events to all pads, even if one fails
-
-2013-11-06 18:41:10 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: Update documentation for flushing seek handling
-
-2013-11-06 18:05:22 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Don't leak seek events
-
-2013-09-16 09:55:58 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: implement flushing seek support
-	  Implement common flushing seek logic in GstCollectPads. Add new
-	  API so that elements can opt-in to using the new logic
-	  (gst_collect_pads_src_event_default) and can extend it
-	  (gst_collect_pads_set_flush_function) to flush any internal
-	  state.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=706779 and
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706441 for the
-	  background discussion.
-	  API: gst_collect_pads_set_flush_function()
-	  API: gst_collect_pads_src_event_default()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708416
-
-2013-09-16 08:35:37 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* tests/check/libs/collectpads.c:
-	  tests: collectpads: add flushing seek tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708416
-
-2013-09-16 08:31:47 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* tests/check/libs/collectpads.c:
-	  tests: collectpads: tweak stub _collect to push all buffers
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708416
-
-2013-09-16 08:26:25 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* tests/check/libs/collectpads.c:
-	  tests: collectpads: update my email address
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708416
-
-2013-11-11 13:27:27 +0100  Edward Hervey <edward@collabora.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Don't use gst_buffer_get_size() when possible
-	  Makes qst_queue_locked_dequeue 20% faster
-
-2013-11-11 12:25:14 +0100  Wim Taymans <wim.taymans@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	* tests/check/gst/gstsystemclock.c:
-	* win32/common/libgstreamer.def:
-	  systemclock: Add gst_system_clock_set_default
-	  Used for setting the default system clock that is obtained through
-	  gst_system_clock_obtain(), which is sometimes needed for unit
-	  testing.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711269
-
-2013-11-04 18:57:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-typefind.c:
-	  typefind: use g_get_prgname() for error message
-
-2013-11-06 10:15:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: proxy caps and allocation
-	  Proxy the caps queries on the srcpad as well.
-	  Proxy the allocation query on the sinkpad.
-
-2013-11-05 11:17:25 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 865aa20 to dbedaa0
-
-2013-11-04 13:56:37 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@sisa.samsung.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Remove some dead code
-
-2013-11-04 11:48:47 +0100  Alessandro Decina <alessandro.d@gmail.com>
-
-	* gst/gstmemory.c:
-	  memory: explicitly cast to GstLockFlags to avoid compiler warnings
-
-2013-11-02 15:36:19 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* gst/gstsegment.c:
-	  segment: resurrect sanitizing start and stop for seeking
-
-2013-11-02 15:42:07 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: mind boggling wrap when comparing offsets
-
-2013-11-02 15:38:13 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: try first frame pts and dts for a valid start timestamp
-
-2013-11-02 15:37:30 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: print proper variable in debug statement
-
-2013-11-01 16:35:59 +0000  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstparse.c:
-	* tests/check/pipelines/parse-launch.c:
-	  parse: Make the FATAL_ERRORS flag also work without a GError
-	  Also add a unit tests
-
-2013-10-23 15:56:20 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: fix potential uninitialized variable warning
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710758
-
-2013-10-31 16:16:48 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@sisa.samsung.com>
-
-	* docs/design/part-MT-refcounting.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-framestep.txt:
-	* docs/design/part-messages.txt:
-	* docs/design/part-probes.txt:
-	* docs/design/part-relations.txt:
-	  docs: fix common typos emited/eachother/...
-
-2013-10-30 21:53:36 +0100  Sebastian Dröge <sebastian@centricular.com>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: Add some attributes and reorganize code to fix compiler warnings
-	  gstutils.c:3659:41: error: format string is not a string literal
-	  [-Werror,-Wformat-nonliteral]
-	  gchar *expanded = g_strdup_vprintf (stream_id, var_args);
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710621
-
-2013-10-25 14:56:16 +0200  Antonio Ospite <ospite@studenti.unina.it>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: rename the "samplerate" variable to make example code compilable
-	  In one of the examples about gst_my_filter_setcaps() there is a variable
-	  declared as "rate", but then the name "samplerate" is used when setting
-	  the caps.
-	  Use the name "rate" everywhere in gst_my_filter_setcaps().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710876
-
-2013-10-29 18:09:32 +0100  Fabian Kirsch <derFakir@web.de>
-
-	* docs/manual/basics-elements.xml:
-	  doc: fix forward reference about ghost pads
-	  https://bugzilla.gnome.org/show_bug.cgi?id=711089
-
-2013-10-28 12:55:19 +0000  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/design/part-buffer.txt:
-	* docs/design/part-caps.txt:
-	* docs/design/part-context.txt:
-	* docs/design/part-messages.txt:
-	  docs: design: fix some fixes
-
-2013-10-26 09:48:06 +0100  Tim-Philipp Müller <tim@centricular.com>
-
-	* docs/faq/developing.xml:
-	  docs: flesh out gst-uninstalled entry in faq some more
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709916
-
-2013-10-16 15:00:41 +0200  Fabian Kirsch <derFakir@web.de>
-
-	* docs/faq/developing.xml:
-	  docs: FAQ update to mention create-uninstalled-setup.sh
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709916
-
-2013-10-25 21:29:01 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstregistrychunks.c:
-	  registry: small cleanups and use object log variants more
-
-2013-10-25 21:28:30 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	  private: remove left-over comment
-	  The caps are saved in the registry.
-
-2013-10-25 18:51:53 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstregistrychunks.c:
-	  registry: use g_slice_free for slice memory
-	  Avoid memory list corruption, but g_free'ing slice memory.
-
-2013-10-23 18:16:54 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: flesh out the tracing design a little more
-
-2013-10-25 11:02:19 -0400  Luis de Bethencourt <luis@debethencourt.com>
-
-	* gst/gstobject.c:
-	  docs: fix typos in gstobject
-
-2013-10-21 18:01:21 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-meta.txt:
-	  docs: Gram and nit fixes for part-meta.txt
-
-2013-10-14 22:03:50 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-element-source.txt:
-	  docs: Gram and nit fixes for part-element-source.txt
-
-2013-10-14 21:54:31 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-element-sink.txt:
-	  docs: Gram and nit fixes for part-sink.txt
-
-2013-10-14 18:43:40 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-conventions.txt:
-	  docs: Gram and nit fixes for part-conventions.txt
-
-2013-10-14 18:34:06 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-controller.txt:
-	  docs: Gram and nit fixes for part-controller.txt
-
-2013-10-14 18:24:18 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-context.txt:
-	  docs: Gram and nit fixes for part-context.txt
-
-2013-10-14 18:13:35 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-clocks.txt:
-	  docs: Gram and nit fixes for part-clocks.txt
-
-2013-10-14 18:05:43 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-caps.txt:
-	  docs: Gram and nit fixes for part-caps.txt
-
-2013-10-14 17:44:27 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-buffer.txt:
-	  docs: Gram and nit fixes for part-buffer.txt
-
-2013-10-14 17:29:19 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-bufferpool.txt:
-	  docs: Gram and nit fixes for part-bufferpool.txt
-
-2013-10-14 05:39:19 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-buffering.txt:
-	  docs: Gram and nit fixes for part-buffering.txt
-
-2013-10-13 21:16:47 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-messages.txt:
-	  docs: Gram and nit fixes for part-messages.txt
-
-2013-10-13 20:42:40 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/design/part-memory.txt:
-	  docs: Gram and nit fixes for part-memory.txt
-
-2013-10-18 08:58:05 +0100  Philip Withnall <philip.withnall@collabora.co.uk>
-
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetclientclock.h:
-	  net: Constify a parameter to gst_net_client_clock_new()
-	  Even though this parameter is not used, it should be const to fit in with the
-	  coding standards for other similar parameters. Client code already passes in
-	  const strings under the expectation that they won’t be modified.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=710442
-
-2013-10-15 11:44:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstdatetime.c:
-	  datetime: Make sure to include gst_private.h before glib-compat-private.h
-	  We need to define the GLib log domain before including glib.h, which is
-	  included by glib-compat-private.h.
-
-2013-10-14 18:07:17 -0300  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add gst_pad_store_sticky_event to sections.txt
-	  So it appears in the generated documentation
-
-2013-09-29 17:35:11 +0200  Sebastian Rasmussen <sebras@hotmail.com>
-
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/elements/filesrc.c:
-	  tests/filesrc: Set location in wrong state
-	  Also remove incorrect comment about code possibly not being reachable
-	  that is now exercised by the filesrc unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709831
-
-2013-10-12 16:16:09 +1100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstparse.c:
-	* tests/check/pipelines/parse-launch.c:
-	  parse: Fix transfer annotations for parse_launch functions.
-	  gst_parse_launchv, gst_parse_launchv_full and gst_parse_launch_full
-	  all return floating refs, the same as gst_parse_launch, which just
-	  calls gst_parse_launch_full internally anyway.
-	  Add a unit test assertion to check it's true.
-	  Spotted by nemequ on IRC.
-
-2013-10-10 08:30:27 -0700  Reynaldo H. Verdejo Pinochet <r.verdejo@partner.samsung.com>
-
-	* docs/manual/appendix-checklist.xml:
-	* gst/gst.c:
-	* tests/misc/test-gstreamer-completion.sh:
-	  core: Fix max DEBUG_LEVEL incongruence on 5 vs 9
-	  In the docs and the autocompletion logic the maximum
-	  value jumped incongruently between 5 and 9.
-
-2013-10-10 13:19:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/gst/gstcaps.c:
-	  caps: Skip test_subset_duplication until the bug is fixed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709253
-
-2013-10-10 12:56:54 +0200  Fabian Kirsch <derFakir@web.de>
-
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/intro-motivation.xml:
-	* docs/manual/manual.xml:
-	  docs: Fix some reference URIs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709804
-
-2013-10-02 13:03:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/gst/gstcaps.c:
-	  caps: Add a testcase for subset checks on lists with duplicated items
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709253
-
-2013-10-09 15:36:48 -0300  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Call the collected function while it returns FLOW_OK
-	  This allows us to make sure the elements is EOS and does not have
-	  remaining buffers to be drained.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=709637
-
-2013-10-05 10:08:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/design/part-qos.txt:
-	  docs: fix function name in qos design docs
-
-2013-10-02 12:30:54 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: use tcase_skip_broken_test() to skip broken multiqueue test
-	  So that we get a warning in the output that reminds us that
-	  something needs to be fixed.
-
-2013-10-02 11:24:02 +0200  Edward Hervey <edward@collabora.com>
-
-	* tests/check/elements/multiqueue.c:
-	  check: Disable multiqueue test_output_order check
-	  The check itself is racy.
-	  (CK_FORK=no GST_CHECK=test_output_order make elements/multiqueue.forever).
-	  The problem is indeed the test and not the actual element behaviour.
-	  The objects to push are being pulled out of the single internal queues in the
-	  right order and at the right time...
-	  But between:
-	  * the moment the global multiqueue lock is released (which was used to detect
-	  if we should pop and push downstream the next buffer)
-	  * and the moment it is received by the source pad (which does the check)
-	  => another single queue (like the unlinked pad) might pop and push a buffer
-	  downstream
-	  What should we do ? Putting a bigger margin of error (say 5 buffers) doesn't
-	  help, it'll eventually fail.
-	  I can't see how we can detect this reliably.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708661
-
-2013-09-25 19:06:55 -0300  Thiago Santos <ts.santos@partner.samsung.com>
-
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: fix caps serialization when there are caps inside caps
-	  Wrap caps strings so that it can handle serialization and deserialization
-	  of caps inside caps. Otherwise the values from the internal caps are parsed
-	  as if they were from the upper one
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708772
-
-2013-09-28 08:40:42 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Check errors on the proper fd
-	  Most likely a copy-paste error from the block before.
-	  If we're going to check for error/closed on the write fd... do it
-	  on the write fd
-
-2013-09-26 14:09:02 -0600  Brendan Long <b.long@cablelabs.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  docs: fix spelling of "generic" in GstBaseSrc's documentation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708870
-
-2013-09-26 11:32:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: only check event order when something changed
-	  Check the event order in dataflow only when something changed instead
-	  of for each buffer.
-
-2013-09-24 18:28:05 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* README:
-	* common:
-	  Automatic update of common submodule
-	  From 6b03ba7 to 865aa20
-
-2013-09-24 15:05:16 +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:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.2.0 ===
-
-2013-09-24 14:07:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.2.0
-
-2013-09-24 14:06:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-09-24 13:10:36 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/gst/gstcontext.c:
-	  context: Add test for the context caching in GstBin
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708668
-
-2013-09-24 12:47:52 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	  Revert "Potential GstContext regression"
-	  This reverts commit e658379534eb4a90b654d90f1d0bdf86f37c6e31.
-	  This test commit should've never been pushed. Oops.
-
-2013-09-24 12:46:52 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbin.c:
-	  bin: Make sure to cache context types that we did not store yet
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708668
-
-2013-09-24 10:29:06 +0100  Alex Ashley <bugzilla@ashley-family.net>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	  Potential GstContext regression
-	  Since the refactoring of GstContext (commits
-	  qc9fa2771b508e9aaeecc700e66e958190476f,
-	  a7f5dc8b8af837f01782d1572379948ff62daab7,
-	  690326f906dc82e41ea58b81cdb2e3e88b754,
-	  d367dc1b0d4ecb37f4d27267e03d7bf0c6c06a6, and
-	  82d158aed3f2e8545e1e7d35085085ff58f18) I am no longer able to get
-	  a shared context for an element that is used twice in a pipeline.
-	  I used the documentation and eglglessink as my reference for
-	  implementing the GstContext logic.
-	  As the code was tied to a hardware decoder, I have ported the
-	  GstContext code to fakesink to show the problem. Using the old
-	  API a single ExampleMgr instance is created, but using the new
-	  API each element is creating its own instance.
-
-2013-09-24 10:42:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Make sure that the object lock is always taken when accessing the private pad list
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708636
-
-2013-09-17 23:23:34 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Use private pad list in set_flushing_unlocked
-	  pads->data is the public list. It is dynamically rebuilt at each call to
-	  check_collected, in check_pads to be specific. When you add a pad and
-	  collectpads have been started, it is not added to the public list.
-	  Thus there exists a possible race where :
-	  1) You would add a pad to collectpads while running.
-	  2) You set collectpads to flushing before check_collected has been called again
-	  -> the pad is not set to flushing
-	  3) the pad starts pushing data as downstream might not be prepared, in the case
-	  of adder it then returns FLOW_FLUSHING.
-	  4) elements like demuxers, when they get a FLOW_FLUSHING, stop their tasks,
-	  never to be seen again.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=708636
-
-2013-09-23 11:47:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/check/gsttestclock.c:
-	* tests/check/libs/gsttestclock.c:
-	  tests: handle unscheduled entries correctly
-	  Make the testclock return GST_CLOCK_UNSCHEDULED when an unscheduled entry is
-	  used for gst_clock_wait() or gst_clock_wait_async().
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708605
-
-2013-09-22 11:09:36 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Allow specifying the checkout directory by env variable
-	  For some rare cases, one might not be able to use the hardcoded $HOME/gst
-	  location yet would still want to use the gst-uninstalled script as-is (which
-	  has the benefit of being constantly updated).
-	  For these cases, the checkout directory can be specified with the
-	  GST_UNINSTALLED_ROOT environment variable.
-	  Ex:
-	  export GST_UNINSTALLED_ROOT=$HOME/somewhere/with/checkouts
-	  And then just call gst-uninstalled directly:
-	  $GST_UNINSTALLED_ROOT/gstreamer/gst-uninstalled
-
-2013-09-20 16:16:26 +0200  Edward Hervey <edward@collabora.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From b613661 to 6b03ba7
-
-2013-09-19 18:42:31 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 74a6857 to b613661
-
-2013-09-19 17:34:27 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From 12af105 to 74a6857
-
-2013-09-19 17:12:14 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gsttestclock.c:
-	  check: testclock: fix function guards
-	  Should be g_return_*() not g_assert(), even if it's for tests only.
-
-2013-09-19 16:43:18 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gsttestclock.c:
-	  check: testclock: don't put code with side-effects in g_assert()
-	  Fixes unit test failures when -DG_DISABLE_ASSERT is used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706551
-
-2013-09-19 12:07:56 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstcontext.c:
-	  gstcontext: Fix return values some more
-	  Return value is a boolean not a pointer
-
-2013-09-19 11:49:26 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstcontext.c:
-	  context: Fix return values for gst_context_has_context_type() in assertions
-
-2013-09-19 11:34:51 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.1.90 ===
-
-2013-09-19 10:48:24 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.1.90
-
-2013-09-19 10:05:51 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-09-19 09:49:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* win32/common/libgstreamer.def:
-	  context: Add convenience function gst_context_has_context_type()
-
-2013-09-19 09:42:15 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update translations
-
-2013-09-18 23:07:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstmessage.c:
-	  message: Implement getting the name of the context message types
-
-2013-09-17 21:36:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstcontext.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* tests/check/gst/gstcontext.c:
-	  context: Fix unit test for GstContext changes
-
-2013-09-17 14:34:47 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tools/gst-launch.c:
-	  gst-launch: Update for GstContext changes
-
-2013-09-17 14:29:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  context: Update docs
-
-2013-09-17 14:25:10 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbin.c:
-	  bin: Implement context caching and propagation again
-
-2013-09-17 13:50:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  message/query: Simplify CONTEXT messages/queries to only contain a single type
-
-2013-09-17 13:33:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/design/part-context.txt:
-	* gst/gstcontext.c:
-	  context: Update documentation
-
-2013-09-17 13:28:42 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstinfo.c:
-	  context: Change GstContext to contain only a single context
-	  It was unintuitive that GstContext was actually a list of different
-	  contexts. GstContext now is only a type string and a structure to
-	  contain the actual context.
-
-2013-09-17 13:12:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: Remove GstContext caching
-
-2013-09-17 13:10:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	  context: Add persistent qualifier for a context
-	  Non-persistent contexts are removed when elements go back
-	  to NULL state, persistent contexts are not. Applications
-	  most likely want to set persistent contexts.
-
-2013-09-17 13:10:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstquery.h:
-	  query: Make CONTEXT query upstream and downstream
-
-2013-09-17 13:09:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  event: Remove CONTEXT downstream event
-	  This is going to be implemented with an upstream query instead
-	  for consistency and simplicity.
-
-2013-09-13 14:41:45 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* gst/gst.c:
-	  gst: Stop all unused threads in GThreadPool in gst_deinit()
-	  Since the default number of max unused threads in GThreadPool has been
-	  changed from 0 to 2 it needs to be set to 0 to stop all threads or
-	  valgrind will report them as memory leaks.
-
-2013-09-10 16:39:30 +0100  Rico Tzschichholz <ricotz@t-online.de>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controlbindings: fix pspec relaxation for control source properties
-	  The change should have been from PARAM_CONSTRUCT_ONLY to
-	  PARAM_CONSTRUCT, otherwise bindings are affected, since
-	  they look for the CONSTRUCT flag.
-	  See ec55363d
-
-2013-09-10 10:15:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Only update current level if we already downloaded a range
-	  Otherwise queue->level is NULL and dereferencing that is not a good
-	  idea in general.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707648
-
-2013-09-09 15:40:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstmeta.h:
-	  meta: Deprecate GST_META_TAG_MEMORY
-	  The GQuarks are not exported by any public API
-
-2013-08-22 00:02:28 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmeta.h:
-	* win32/common/libgstreamer.def:
-	  meta: Add a #define for memory metadata
-
-2013-08-22 00:01:44 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-
-	* gst/gstmeta.c:
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: implement a default transform_meta. If a metadata has no dependency as shown by the tags, copy it.
-
-2013-08-22 21:32:36 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: API: Add gst_meta_api_type_get_tags() to get all meta tags.
-
-2013-09-09 14:21:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/elements/capsfilter.c:
-	  tests/capsfilter: Fix memory leak and compare caps directly instead of strcmp()
-
-2013-09-06 23:03:54 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* tests/check/elements/capsfilter.c:
-	  tests/capsfilter: Test caps-related queries and property
-
-2013-09-06 15:09:46 -0300  Gustavo Noronha Silva <gns@gnome.org>
-
-	* plugins/elements/gstqueue2.c:
-	  Update the buffering state before stalling for more data
-	  In some cases the wait for more data was happening without updating
-	  the buffering state, meaning the API user would not be able to notice
-	  it should pause the pipeline and update UI to indicate that is the
-	  case, the video would likely stutter instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707648
-
-2013-09-04 15:28:10 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: preserve seqnum on segments after seeks
-	  The seqnum of the segment after a seek should be the same of
-	  the seek event. Downstream elements might rely on seqnums to
-	  identify events related to a seek.
-	  This is particularly important when a demuxer maps a TIME seek
-	  into a BYTES seek for upstream and it needs to identify the
-	  corresponding segment event and map it back into TIME to push
-	  downstream, possibly using the values from the original seek
-	  event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707530
-
-2013-09-05 14:14:42 +0200  Zaheer Abbas Merali <zaheermerali@gmail.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Don't unref NULL GstCollectData
-	  If a pad is removed while a collectpads element (say adder) is in a chain
-	  function waiting to be collected, there is a possibility that an unref happens
-	  on a NULL pointer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707536
-
-2013-09-04 17:11:20 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>
-
-	* gstreamer.spec.in:
-	  Remove PyXML from spec file, it is not longer needed
-
-2013-09-04 14:40:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Add missing break after handling the GAP event
-	  Thanks to Edward Hervey for noticing.
-
-2013-09-04 09:18:55 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-plot-timeline.py:
-	* tools/Makefile.am:
-	  tools: move gst-plot-timeline.py into scripts directory
-	  So it's not in PATH in an uninstalled setup (thwarting
-	  gst-play autocompletion).
-
-2013-09-03 23:59:05 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't reduce single queue visible size below its current level
-	  If the multiqueue has automatically grown chances are good that
-	  we will cause the pipeline to starve if the maximum level is reduced
-	  below that automatically grown size.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707156
-
-2013-09-02 13:53:51 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Don't adjust segment->start to the current time when switching pads
-	  This does not make any sense at all and breaks timestamp->running_time
-	  calculations in unpredictable ways.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707130
-
-2013-08-29 23:18:31 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Delete link directly in pending_events.
-	  When removing a segment event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=707088
-
-2013-08-29 11:07:38 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: demote log message, don't spam INFO level when handling buffer lists
-
-2013-08-28 13:26:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.1.4 ===
-
-2013-08-28 12:36:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.1.4
-
-2013-08-28 12:36:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-08-28 12:30:00 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations
-
-2013-08-27 09:31:22 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: please gcc (avoid a warn_unused_result warning)
-
-2013-08-27 07:51:35 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* plugins/elements/gstfilesink.c:
-	* tests/check/elements/filesink.c:
-	  filesink: flush (discard data) on FLUSH_STOP
-	  Reset the write position to 0 and truncate the file on FLUSH_STOP.
-
-2013-08-27 07:05:11 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* tests/check/elements/filesink.c:
-	  tests: filesink: small refactoring
-
-2013-08-26 13:19:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-launch.c:
-	  tools: gst-launch: don't print properties being reset when shutting down
-	  It's just noise.
-
-2013-08-22 19:01:32 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: 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-21 12:21:43 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstsample.c:
-	  docs: flesh out gst_sample_get_buffer() a little
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706478
-
-2013-08-20 23:59:29 -0700  Kerrick Staley <kerrick@kerrickstaley.com>
-
-	* gst/parse/grammar.y:
-	  parse: make grammar.y work with Bison 3
-	  YYLEX_PARAM is no longer supported in Bison 3.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706462
-
-2013-08-20 17:15:41 +0900  Wonchul Lee <chul0812@gmail.com>
-
-	* gst/gstsample.h:
-	  sample: Add gst_sample_copy()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706454
-
-2013-08-19 14:55:22 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: Fix gst_buffer_memcmp() where the buffer is smaller than size
-	  Also add unit tests for gst_buffer_memcmp
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706162
-
-2013-08-20 17:06:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstutils.c:
-	  docs: flesh out gst_element_query_{duration,position} docs a bit
-
-2013-08-14 16:18:59 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: handle publisher and interpreted-by tags
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705999
-
-2013-08-20 13:58:24 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Don't call memcpy() with NULL src and 0 length
-
-2013-08-20 10:16:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Properly unlock the sinkpad streaming thread when deactivating the pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705835
-
-2013-08-20 10:16:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Properly unlock the sinkpad streaming thread when deactivating the pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706360
-
-2013-08-19 16:38:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Clean up after the streaming thread has stopped
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705835
-
-2013-08-19 16:38:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Clean up after the streaming thread has stopped
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705835
-
-2013-08-19 16:38:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Clean up after the streaming thread has stopped
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705835
-
-2013-07-01 14:04:46 -0600  Brendan Long <b.long@cablelabs.com>
-
-	* gst/gstparse.h:
-	* gst/gstutils.c:
-	* gst/parse/grammar.y:
-	  parse: Add GST_FLAG_NO_SINGLE_ELEMENT_BINS
-	  This makes gst_parse_bin_from_description() return an element instead of
-	  a bin if there's only one element. Also changed gstparse.c to use this,
-	  so gst-launch won't create superfluous bins.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=703405
-
-2013-08-16 20:36:53 +0200  Arnaud Vrac <avrac@freebox.fr>
-
-	* gst/gstquery.c:
-	  query: return NULL when parsing uri redirection that was not set
-	  https://bugzilla.gnome.org/show_bug.cgi?id=706160
-
-2013-08-18 11:48:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbuffer.c:
-	  buffer: Update since marker for gst_buffer_extract_dup() to 1.0.10
-
-2013-08-16 16:45:41 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't crash on EOS if queue is empty
-	  Fixes spurious crash in test_simple_shutdown_while_running
-	  unit test.
-
-2013-08-16 16:28:12 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't change global buffering state from within query handler
-	  When a buffering query is handled it uses the get_buffering_percent()
-	  function to get some statitics. Unfortunately this function also
-	  calculates whether the queue should be buffering and adapts the
-	  global queue2 state in case of state transitions from/to buffering
-	  (including whether a buffering message was posted on the bus!).
-	  This means that there is a race which can cause buffering messages
-	  to never posted if the global state changes happen as a result of aa
-	  query instead of resulting from bytes flowing in/out.
-	  Spotted by Sjoerd Simons.
-	  Change to only query state in get_buffering_percent() and update
-	  state only in update_buffering().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705332
-
-2013-08-16 12:54:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: update buffering when changing capacity
-	  When the capacity of the queue changes, make sure we post an updated buffering
-	  message because we might suddenly have completed the buffering stage.
-
-2013-08-15 15:35:08 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* gst/gst.c:
-	  Free thread pools in gst_deinit()
-
-2013-08-16 11:03:30 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Call gst_deinit() at exit of all processes
-
-2013-08-14 21:41:23 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstclock.c:
-	  clock: simplify internal gst_clock_return_get_name() helper
-
-2013-08-14 17:44:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: improve flush-start handling
-	  Use custom code to implement flush-stop, we can't reuse the set_flushing code
-	  because we can't touch the live_playing flag and we need to signal the
-	  streaming thread.
-
-2013-08-14 17:14:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: stop flushing in flush-stop
-
-2013-08-14 16:58:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle flush better
-	  Unlock the streaming thread when flushing so that we can
-	  insert the flush-stop correctly.
-
-2013-08-14 15:46:57 +0200  Edward Hervey <edward@collabora.com>
-
-	* .gitignore:
-	  .gitignore: ignore .dirstamp
-
-2013-08-14 07:21:06 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/check/Makefile.am:
-	  check: Don't use nodist headers on gir scanner
-	  Just creates noise and bogus symbols
-
-2013-08-07 18:20:03 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstcompat.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  gst: minor docstring fixups to make g-i happy
-	  note: the #ifndef move is actually a move of the "SECTION" docstring
-
-2013-08-13 17:14:53 +0200  Edward Hervey <edward@collabora.com>
-
-	* .gitignore:
-	  .gitignore: Ignore files from automake test-driver
-
-2013-08-07 18:24:40 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Add a property to disable passthrough
-	  In some specific cases (like transmuxing) we want to force the element
-	  to actually parse all incoming data even if the element deems it is not
-	  necessary.
-	  This property simply ignores requests from the element to enable passthrough
-	  mode which results in processing always being enabled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705621
-
-2013-08-07 21:26:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* win32/common/libgstbase.def:
-	  dataqueue: add gst_data_queue_push_force
-	  Adds a variant of the _push function that doesn't check the queue limits
-	  before adding the new item. It is useful when pushing an element to the
-	  queue shouldn't lock the thread.
-	  One particular scenario is when the queue is used to serialize buffers
-	  and events that are going to be pushed from another thread. The
-	  dataqueue should have a limit on the amount of buffers to be stored to
-	  avoid large memory consumption, but events can be considered to have
-	  negligible impact on memory compared to buffers. So it is useful to be
-	  used to push items into the queue that contain events, even though the
-	  queue is already full, it shouldn't matter inserting an item that has
-	  no significative size.
-	  This scenario happens on adaptive elements (dashdemux / mssdemux) as
-	  there is a single download thread fetching buffers and putting into the
-	  dataqueues for the streams. This same download thread can als generate
-	  events in some situations as caps changes, eos or a internal control
-	  events. There can be a deadlock at preroll if the first buffer fetched
-	  is large enough to fill the dataqueue and the download thread and the
-	  next iteration of the download thread decides to push an event to this
-	  same dataqueue before fetching buffers to other streams, if this push
-	  locks, the pipeline will be stuck in preroll as no more buffers will be
-	  downloaded.
-	  There is a somewhat common practice in dash streams to have a single
-	  very large buffer for audio and one for video, so this will always
-	  happen as the download thread will have to push an EOS right after
-	  fetching the first buffer for any stream.
-	  API: gst_data_queue_push_force
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705694
-
-2013-08-13 13:06:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstallocator.c:
-	  sysmem: Only copy the requested part of memory instead of the complete source memory
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705678
-
-2013-08-13 12:11:19 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstquery.c:
-	* win32/common/libgstreamer.def:
-	  query: add Since markers for new API and add to exports file
-
-2013-07-23 16:25:27 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* gst/gstquery.c:
-	  query: fix annotation for gst_query_parse_uri
-
-2013-04-19 12:14:54 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add new redirection uri the URI query
-
-2013-08-12 09:25:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstquery.c:
-	  query: add some missing 'transfer none' gi annotations
-	  The current documentation is controverse, while it states that the
-	  returned value is valid only while the query is is valid, which presumes
-	  a 'transfer none' policy. But the tooltip for the 'out' annotation
-	  states the default is 'transfer-full'.
-	  Add the missing 'transfer none' annotations to fix this.
-
-2013-08-08 12:08:31 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbytereader.c:
-	  bytereader: Accelerate MPEG/H264 start code scanning
-	  Accelerate MPEG/H264 start code scanning using Boyer-Moor bad character
-	  heuristic.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702357
-
-2013-08-10 11:31:23 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstpipeline.c:
-	  pipeline: g-i: allow clock to be NULL in gst_pipeline_use_clock()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705751
-
-2013-08-07 14:17:28 -0300  Adrian Pardini <publico@tangopardo.com.ar>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controller: fixes int overflow with properties that span +-INT_MAX
-	  When the range for a property is defined as -INT_MAX-1 .. INT_MAX, like
-	  the xpos in a videomixer the following expression in the macro
-	  definitions of convert_g_value_to_##type (and the equivalent in
-	  convert_value_to_##type)
-	  v = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum - pspec->minimum) * s);
-	  are converted to:
-	  v = -2147483648 + (g##type) ROUNDING_OP ((2147483647 - -2147483648) * s);
-	  (2147483647 - -2147483648) overflows to -1 and the net result is:
-	  v = -2147483648 + (g##type) ROUNDING_OP (-1 * s);
-	  so v only takes the values -2147483648 for s == 0 and 2147483647
-	  for s == 1.
-	  Rewriting the expression as minimum*(1-s) + maximum*s gives the correct
-	  result in this case.
-	  https://bugzilla.gnome.org//show_bug.cgi?id=705630
-
-2013-08-02 13:31:59 +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 16:21:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-gstpipeline.txt:
-	  design: fix typo
-
-2013-07-29 15:48:32 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix backwards seeks into undowloaded ranges
-	  When in download buffering mode queue2 didn't check if a range offset is
-	  in a undownloaded range before the currently in-progress range. Causing
-	  seeks to an earlier offset to, well, take a while.
-
-2013-07-30 19:27:23 +0200  Kjartan Maraas <kmaraas@gnome.org>
-
-	* gst/gstutils.c:
-	* libs/gst/check/gsttestclock.c:
-	  docs: some small gtk-doc markup fixes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705156
-
-2013-07-30 19:27:23 +0200  Kjartan Maraas <kmaraas@gnome.org>
-
-	* gst/gst.c:
-	  gst: register new color mode enum, fixing 'make check'
-	  https://bugzilla.gnome.org/show_bug.cgi?id=705156
-
-2013-04-16 19:04:48 +0200  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Avoid using buffer_get_size in tight loops
-	  Calling gst_buffer_get_size represented 2/3 of the cost of helper_find_peek
-	  which was called whenever a typefindfunction wanted to peek at data.
-	  We already know the size (from the GstMapInfo), so just use that.
-
-2013-07-29 19:38:51 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* po/LINGUAS:
-	* po/bg.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/el.po:
-	* po/fr.po:
-	* po/gl.po:
-	* po/hr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/it.po:
-	* po/lt.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/sl.po:
-	* po/sv.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	  po: update translations
-
-2013-07-29 19:13:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  common: revert accidental re-winding of common submodule
-
-2013-07-26 16:15:24 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: Clarify the estimated-total documentation
-	  Tweak the documentation slightly to clarify that the estimated-total in
-	  a a Buffering query the total remaining time of a download, not the
-	  total time for the complete download. Also indicate the unit used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704934
-
-2013-07-26 15:08:13 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Forward the schedule query upstream
-	  When asked about the scheduling flags first check with upstream and
-	  simply add the _SEEKABLE flag when using a temporary file as storage.
-	  This enables the forwarding of _SEQUENTIAL and _BANDWIDTH_LIMITED from
-	  sources if needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704927
-
-2013-07-29 14:47:15 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.1.3 ===
-
-2013-07-29 13:34:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* common:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 1.1.3
-
-2013-07-29 13:30:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-07-29 12:10:45 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base: Fix handling of SEGMENT query
-	  The values should be in stream-time, and start/stop should not
-	  be swapped for negative rates.
-
-2013-07-29 11:05:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Only advance offset by the number of bytes we actually read
-	  There might be a short read at EOS.
-
-2013-07-29 10:48:30 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Implement SEGMENT query
-
-2013-07-26 18:36:04 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbuffer.c:
-	  buffer: fix Since: marker for new gst_buffer_extract_dup()
-
-2013-07-26 12:19:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: debug the clock return values
-
-2013-07-25 12:20:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix seqnum handling for seeks
-	  Use the same seqnum as the seek for flushes/segments that are
-	  caused by the seek. Also do the same for segment events
-	  Fixes #676242
-
-2013-07-24 10:29:30 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstinfo.c:
-	  info: parse debug levels > 9
-
-2013-07-24 16:57:46 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstvalue.c:
-	  value: Fix copy&paste mistakes in the bitmask function docs
-
-2013-07-24 11:21:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't shadow variables that are set inside our scope and then used outside our scope
-	  Fixes uninitialized use of these variables.
-
-2013-07-24 10:30:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_i386w.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  tests: Remove other interface structs from the ABI tests too
-
-2010-10-15 13:16:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_i386w.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  tests: Remove GstTagSetter from ABI checks
-	  Interfaces can have new members added without breaking ABI, so
-	  remove it from the check.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623799
-
-2013-07-23 15:39:53 -0400  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* libs/gst/check/libcheck/check_print.c:
-	  libcheck: Escape strings in the generated xml files
-	  This is copy pasted from upstream libcheck
-
-2013-07-23 18:53:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Print some debug output if a stream-start event without group-id arrives
-	  Ideally all elements would implement handling of that to get proper
-	  stream-start message handling and other things.
-
-2013-07-22 18:03:01 +0200  Arnaud Vrac <avrac@freebox.fr>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Fix missing pad activation notification
-	  A new active pad might not be notified in some cases, which results
-	  in the current track number not being set in playbin.
-	  The active-pad notification is only sent in the chain and sink_event
-	  functions, and only when the buffer or event that triggered the active
-	  pad selection is from the newly activated pad. So in the other case
-	  the notification will never be sent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704691
-
-2013-07-22 17:25:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  value: handle deserialisation of nonexistant enum value more gracefully
-
-2013-07-22 14:12:18 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Don't push new stream-start events on stream change unless they all have group ids
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704408
-
-2013-07-22 12:06:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Use new group-id in stream-start event
-
-2013-07-22 12:06:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base: Use new group-id field in stream-start event and message
-
-2013-07-22 11:42:18 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbin.c:
-	  bin: Use the new group-id field of the stream-start message for stream-start message aggregation
-	  If all stream-start messages had a group id (for backwards compatibility),
-	  we only consider a stream started if all had the same group id.
-	  In 2.0 we should make the group id mandatory.
-
-2013-07-22 11:41:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  gst: Add new group-id field to the stream-start event
-	  All streams that have the same group id are supposed to be played
-	  together, i.e. all streams inside a container file should have the
-	  same group id but different stream ids. The group id should change
-	  each time the stream is started, resulting in different group ids
-	  each time a file is played for example.
-
-2013-07-18 23:29:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  common: revert accidental change of common submodule
-
-2013-07-18 14:39:42 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstcaps.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	  gst: Add some more Since: 1.2
-
-2013-07-18 14:34:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstinfo.c:
-	  info: Add some Since: 1.2
-
-2013-07-18 15:10:10 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* common:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/running.xml:
-	* docs/manual/appendix-checklist.xml:
-	* gst/gst.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* tools/gst-launch.1.in:
-	* tools/gst-plot-timeline.py:
-	* win32/common/libgstreamer.def:
-	  info: Add debug color mode option
-	  This allows to explicitely set the debug output color
-	  mode to UNIX on every platform, enable it (use platform
-	  default color mode) or enable it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=674320
-
-2012-04-18 14:35:32 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstinfo.c:
-	  info: Fix black and underline coloring on W32
-	  Fixes #674320
-
-2012-04-18 14:12:16 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstinfo.c:
-	  info: Cut down src file names for MinGW too
-	  Fixes #674320
-
-2013-07-16 17:47:45 +0200  Nicola Murino <nicola.murino@gmail.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Fix gst-plugins-gl in uninstalled setup
-	  https://bugzilla.gnome.org/show_bug.cgi?id=703499
-
-2013-07-16 15:35:08 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  adapter: Take account of the skip in gst_adapter_take_buffer_fast()
-	  Include regression test
-
-2013-07-15 15:41:44 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstbase.def:
-	  adapter: Add function to return buffer composed of multiple memories
-	  API: gst_adapter_take_fast()
-
-2013-07-16 16:24:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstquery.c:
-	  query: Don't assert if no context is set in the query
-
-2013-07-16 14:47:05 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/benchmarks/.gitignore:
-	  benchmarks: ignore new benchmark binary
-
-2013-07-16 14:46:15 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: sprinkle some Since 1.2 markers in docs
-
-2013-07-16 14:44:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  timeprovider: g-i: allow None as address for gst_net_time_provider_new()
-
-2013-07-16 15:34:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstelement.c:
-	  element: Return an empty GstContext if none was set yet
-
-2013-07-16 15:16:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: Add gst_query_has_context_type()
-
-2013-07-16 11:36:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: only block serialized query when it's safe
-	  We must be certain that we don't cause a deadlock when blocking the serialized
-	  queries. One such deadlock can happen when we are buffering and downstream is
-	  blocked in preroll and a serialized query arrives. Downstream will not unblock
-	  (and allow our query to execute) until we complete buffering and buffering will
-	  not complete until we can answer the query..
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702840
-
-2013-07-15 11:36:18 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstpad.c:
-	  pad: A newly activated pad should be marked as needing reconfiguration
-
-2013-07-15 11:32:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstpad.c:
-	  Revert "pad: Don't consider flushing pads as needing reconfiguration"
-	  This reverts commit 948a9d2f2b728f5fb60be45d47a818cebeb60c7d.
-	  This is racy and trying to reconfigure and fail is still better
-	  than not trying to reconfigure at all.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704100
-
-2013-07-15 11:32:10 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Leave the loop function faster if we're flushing
-	  Especially don't even try to send stream-start event or try
-	  to negotiate.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704100
-
-2013-07-12 10:08:26 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Deactivate and remove pad without the inputselector lock
-	  Otherwise we might get deadlocks caused by lock order inversion:
-	  During the chain function the stream lock is first locked and then the
-	  inputselector lock. During pad release we first locked the inputselector
-	  lock and then deactivating the pad would lock the stream lock.
-	  There's no reason why the inputselector lock should be required while
-	  deactivating and removing the pad, it's only needed before.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=704002
-
-2013-07-11 16:57:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* configure.ac:
-	  Back to development
-
-=== release 1.1.2 ===
-
-2013-07-11 15:12:39 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.1.2
-
-2013-07-11 15:11:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-07-10 15:52:10 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstbin.c:
-	  bin: Always forward clock-lost message if we're not a top-level bin
-	  This makes sure that no bin misses the clock-lost messages, independent
-	  of the state, and could return an old, non-working clock from
-	  gst_bin_provide_clock_func().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701997
-
-2013-07-10 14:30:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Keep previous active sinkpad around until we're done with it
-	  Otherwise we'll send a new segment event downstream for each buffer.
-
-2013-07-08 15:26:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	  allocator: fix type of gst_memory_alignment to match declaration
-	  Fixes compiler warnings such as
-	  gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'
-	  ../gst/gstallocator.h:52:18: note: previous declaration of 'gst_memory_alignment' was here
-
-2013-07-05 21:36:27 +0200  Piotr DrÄ…g <piotrdrag@gmail.com>
-
-	* po/POTFILES.in:
-	  po: update POTFILES.in
-	  https://bugzilla.gnome.org/show_bug.cgi?id=703682
-
-2013-07-04 20:39:26 -0400  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Do not lock a mutex that does not exist
-	  The GST_LIVE_LOCK is on GstBaseSrc, not on its source pad.
-
-2013-07-03 21:23:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: reset PTS after seek
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702778
-
-2013-07-03 13:03:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	* gst/gstevent.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.h:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	* gst/gstplugin.c:
-	* gst/gsttaglist.c:
-	* gst/gsttypefind.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	  Add few missing allow-none annotation
-
-2013-07-03 09:27:13 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add new -bad mpegts lib
-	  And remove signalprocessor/video libs from -bad which have gone
-	  away or were merged into -base.
-
-2013-07-01 20:35:21 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstfunnel.h:
-	* tests/check/elements/funnel.c:
-	  funnel: Re-push all sticky events when buffers come from a different pad
-	  Don't special case segment/caps, just push all sticky events when they are
-	  received on the currently active pad or when the active pad changes.
-
-2013-07-01 20:21:10 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Use default pad function for upstream event/queries
-	  The default functions in 1.x already do the right thing
-
-2013-07-01 20:18:58 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/elements/funnel.c:
-	  tests: Remove funnel pad_alloc test
-
-2013-07-01 20:07:03 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Change stream_id parameter name to match GtkDoc
-
-2013-07-01 11:10:00 +0200  Jonas Holmberg <jonashg@axis.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/elements/funnel.c:
-	  check: Added gst_check_setup_events_with_stream_id()
-	  Added a new function gst_check_setup_events_with_stream_id(), since
-	  gst_check_setup_events() does not work with multiple pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=703377
-
-2013-06-30 18:39:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstpad.c:
-	  pad: Don't consider flushing pads as needing reconfiguration
-	  Renegotiation and reconfiguration will fail because all queries
-	  and events won't be accepted by the pad if it's flushing. In the
-	  best case this just causes unneeded work and spurious warnings in
-	  the debug logs, in the worst case it causes elements to fail completely.
-
-2013-06-24 23:25:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: only block serialized query when it's safe
-	  We must be certain that we don't cause a deadlock when blocking the serialized
-	  queries. One such deadlock can happen when we are buffering and downstream is
-	  blocked in preroll and a serialized query arrives. Downstream will not unblock
-	  (and allow our query to execute) until we complete buffering and buffering will
-	  not complete until we can answer the query..
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702840
-
-2013-06-19 12:30:47 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Add a filter to the caps_query done by acceptcaps
-	  Use the caps that the pad is asked to accept as filter for the query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702632
-
-2013-06-19 12:19:02 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: optimize default acceptcaps implementation
-	  Pass the fixed caps we're asked to accept as a filter for the caps
-	  query, so we don't get a fully-expanded set of caps back (which we don't
-	  need and can take a lot of time for intersection).
-	  This reduces the time for camerabin to produce a second frame on a
-	  logitech C910 camera from around 52 seconds to a bit less then 16
-	  seconds on my system.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702632
-
-2013-06-19 09:19:53 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gsttaglist.c:
-	  taglist: Avoid combinatorial explosion when merging tags
-	  When appending/prepending tags, avoid re-creating (and copying) lists if we already
-	  have one and instead just append/prepend the GValue to the list.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702545
-
-2013-06-19 10:53:21 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Don't hold the queue mutex while doing serialized queries downstream
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702520
-
-2013-06-19 10:45:45 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tests/check/gst/gstbuffer.c:
-	  buffer: Add unit test for map_range()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702617
-
-2013-06-19 08:36:22 +0200  Paul HENRYS <visechelle@gmail.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Fix wrong size/index handling when merging memory
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702617
-
-2013-06-18 11:39:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/list-ulink.xsl:
-	  docs: add missing file for doc-link check
-
-2013-06-17 11:12:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/gstpoolstress.c:
-	  tests: add stress test for buffers and pools
-
-2013-06-17 10:25:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: call state change in all cases
-	  When we asynchronously go from READY to PLAYING, also call the
-	  state change function so that subclasses can update their state for PLAYING.
-	  Because the PREROLL lock is not recursive, we can't make this without
-	  races and we must assume for now that the subclass can handle concurrent calls
-	  to PAUSED->PLAYING and PLAYING->PAUSED. We can make this assumption because not
-	  many elements actually do something in those state changes and the ones that
-	  did would be broken even more without this change.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702282
-
-2013-06-16 15:07:35 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/faq/dependencies.xml:
-	* docs/manual/appendix-integration.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/intro-motivation.xml:
-	  docs: fix some external links
-
-2013-06-16 14:45:08 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/manuals.mak:
-	  docs: check for broken links in docs
-	  The check is done using curl (if available). It lists the curl exit code + http
-	  status code (for those > 399) together with the use of the url in the code. The
-	  check is not fatal.
-
-2013-06-16 13:05:21 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/manual/basics-elements.xml:
-	* docs/pwg/intro-preface.xml:
-	  docs: change https to http urls
-	  Thank you browser for needlessly changing to https for static doc pages.
-
-2013-06-16 11:41:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/faq/developing.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-init.xml:
-	* docs/pwg/intro-preface.xml:
-	  docs: update links to developer.gnome.org
-	  The URL layout has changed. Fix the links and comment out one paragraph where
-	  the doc is gone.
-	  Fixes #702135
-
-2013-06-14 13:05:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: Add gst_structure_new_from_string()
-	  Convenience API for bindings, gst_structure_from_string() returns
-	  a tuple (structure, end_ptr) in bindings and is unintuitive to use
-	  because of that.
-
-2013-06-13 08:36:23 +0200  Hans de Goede <hdegoede@redhat.com>
-
-	* gst/gst.c:
-	  gst: Don't intercept --help in gst_init()
-	  Before this patch gst_init would intercept --help, causing for example
-	  cheese's --help to look like this:
-	  [hans@shalem cheese]$ cheese --help
-	  Usage:
-	  cheese [OPTION...] - GStreamer initialization
-	  Help Options:
-	  -h, --help                        Show help options
-	  --help-all                        Show all help options
-	  --help-gst                        Show GStreamer Options
-	  gst_init is the only gfoo_init function which does this.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=702089
-
-2013-06-12 09:45:56 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add uridownloader lib in -bad to search paths
-	  Even if it might not be around for long.
-
-2013-06-11 10:25:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tools/gst-launch.c:
-	  gst-launch: Remove unref that should not be there
-	  We keep a reference to the context around all the time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701985
-
-2013-06-09 17:20:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* tools/gst-launch.c:
-	  gst-launch: Improve GstContext handling
-	  https://bugzilla.gnome.org/show_bug.cgi?id=700967
-
-2013-06-07 13:07:37 +0200  Kim Lam <kim@redgiantsoftware.com>
-
-	* win32/vs10/base/base.vcxproj:
-	  win32: Don't include gstcollectpads.c twice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701603
-
-2013-05-31 09:39:55 -0600  Brendan Long <b.long@cablelabs.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: send notify::active signal for input-selector pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701319
-
-2013-06-06 16:46:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Only force-update the duration for dynamic sources when doing the DURATION query
-	  Doing it after every single create() is not very efficient and not necessary.
-	  Especially on network file systems fstat() is not cached and causes network
-	  traffic, making the source possibly unusable slow.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=652037
-
-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/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 1.1.1
-
-2013-06-05 16:06:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2013-06-05 15:14:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 098c0d7 to 01a7a46
-
-2013-06-05 11:02:50 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstbufferpool.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstreamer.def:
-	  gstvalue: Add _append_and_take_value() public variants
-	  API: gst_value_array_append_and_take_value
-	  API: gst_value_list_append_and_take_value
-	  We were already using this internally, this makes it public for code
-	  which frequently appends values which are expensive to copy (like
-	  structures, arrays, caps, ...).
-	  Avoids copies of the values for users. The passed GValue will also
-	  be 0-memset'ed for re-use.
-	  New users can replace this kind of code:
-	  gst_value_*_append_value(mycontainer, &myvalue);
-	  g_value_unset(&myvalue);
-	  by:
-	  gst_value_*_append_and_take_value(mycontainer, &myvalue);
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701632
-
-2013-05-29 17:20:34 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Use internal function for buffer_new_wrapped
-	  Shaves ~10% instruction calls from the total cost
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701633
-
-2013-05-30 22:57:49 -0600  Brendan Long <self@brendanlong.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: return FALSE for "active" property if selector is NULL
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701323
-
-2013-06-01 14:00:22 +0100  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* docs/manual/advanced-threads.xml:
-	  manual: update elements to match the rest of "Boost priority of a thread" section
-
-2013-06-01 13:55:50 +0100  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: fix comment in effectswitch example
-
-2013-06-01 13:49:18 +0100  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: fix a typo in "Inserting data with appsrc" section
-
-2013-06-01 13:22:22 +0100  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* docs/pwg/advanced-dparams.xml:
-	* docs/pwg/advanced-qos.xml:
-	* docs/pwg/appendix-checklist.xml:
-	  pwg: fix a few typos
-
-2013-05-31 23:37:07 +0100  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* docs/pwg/advanced-allocation.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/random/porting-to-1.0.txt:
-	  docs: remove double "the"
-
-2013-05-28 23:34:54 +0100  Krzysztof Konopko <krzysztof.konopko@gmail.com>
-
-	* scripts/git-update.sh:
-	  scripts: improve git-update.sh status message
-	  By default when the script is about to exit (normally or due to an error),
-	  it checks whether $ERROR_LOG file exists.  If the log file exists, the
-	  script prints a "Failures: " message prefix and dumps the log file to the
-	  output.
-	  Apparently the log file is always created and if the update/build is
-	  successful, the script finishes with a bit misleading "Failures: " message.
-	  An improvement provided with this change lets the log file to be created as
-	  needed, i.e. if there's an error message to be printed.  If the file
-	  doesn't exists, the script prints a "Update done" message which clearly
-	  indicates success.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=701177
-
-2013-05-30 07:03:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/generic/sinks.c:
-	  check: fix position unit test
-
-2013-05-30 06:51:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve position reporting without clock
-	  When no base time or when sync is disabled, use the same logic as
-	  in paused to report position. The logic in PLAYING assumes we use the
-	  clock.
-
-2013-05-29 11:36:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  pad: Fix memory leak in the unit test
-
-2013-05-28 12:44:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: Add support for checking subtitle/metadata factory types
-
-2013-05-28 12:41:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: Add support for checking only the media type of a factory
-	  And while at it also add Metadata and Subtitle media types.
-
-2013-05-27 16:38:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	  (multi)queue: Don't access query items during flushing
-
-2013-05-27 16:22:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't do serialized queries when we're flushing
-	  Just immediately fail the query, otherwise we would wait forever
-	  for the query to be answered.
-
-2013-05-27 16:08:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: First set query result, then signal GCond
-
-2013-05-27 15:59:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: Fix handling of serialized queries
-	  During FLUSH_START the query needs to be unblocked already, otherwise
-	  it can lead to deadlocks if the FLUSH_START is the result of something
-	  done from the streaming thread of the srcpad (the queue will never be
-	  emptied!).
-
-2013-05-27 15:41:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Unblock any waiting serialize queries on FLUSH_START
-	  Fixes some deadlocks during flushing.
-	  And store queue items differently to not accidentially read
-	  already unreffed queries when flushing. Queries are owned by
-	  upstream and not us.
-
-2013-05-27 13:01:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue/queue2/multiqueue: When flushing, make sure to not lose any sticky events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688824
-
-2013-05-27 12:40:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* gst/gstpad.c:
-	  pad: Store sticky events even if the pad is flushing
-	  But do this only for events that are not dropped by flushing,
-	  i.e. do it only for everything except SEGMENT and EOS.
-	  Without this we might drop a CAPS event if flushing happens
-	  at an unfortunate time and nobody is resending the CAPS event.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=700806
-
-2013-05-25 22:03:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Don't read sticky flag from unrefed event
-
-2013-05-24 23:28:04 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gsttee.c:
-	  tee: fix property description for now-unused "alloc-pad" property
-	  Should probably proxy ALLOCATION queries on that though, if set.
-	  But what else? CAPS and ACCEPT_CAPS too?
-
-2013-05-24 23:01:09 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove 0.10-ism from docs
-	  gst_buffer_pad_alloc() never existed, and gst_pad_alloc_buffer()
-	  doesn't exist any more either, so don't mention it in the docs.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=694714
-
-2013-05-24 19:22:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Add support for serialized queries if using a memory queue
-
-2013-05-24 18:47:24 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Set the last serialized query result to FALSE when flushing
-
-2013-05-24 18:42:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Initialize all GstMultiQueueItem fields in both code paths
-
-2013-05-24 18:38:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't access the query after signalling the waiting thread
-	  It might've free'd the query already.
-
-2013-05-24 18:30:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Make sure to always signal any possible pending serialized queries
-	  And don't unref them when flushing the queue, they're owned by the caller!
-	  https://bugzilla.gnome.org/show_bug.cgi?id=700342
-
-2013-05-24 14:37:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Return GST_FLOW_ERROR if the allocator did not allow to allocate a buffer
-
-2013-05-24 16:24:10 +0900  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/manual/appendix-integration.xml:
-	  docs: Remove mention of gconf* elements
-	  Instead recommend pulsesrc/sink for audio, there is nothing GNOME
-	  specific for video.
-
-2013-05-15 13:22:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Handle the force-caps property more similar to all typefinding code flow
-	  This makes sure that events happen in order and simplifies the code a bit.
-
-2013-05-15 11:21:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Fix event handling in gst_check_element_push_buffer_list()
-
-2013-05-15 10:51:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5edcd85 to 098c0d7
-
-2013-05-10 16:03:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Only check if we get buffers before stream-start/segment if compiling without G_DISABLE_ASSERT
-	  In releases this is set usually.
-
-2013-05-09 17:17:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Add helper that sends initial events
-	  https://bugzilla.gnome.org/show_bug.cgi?id=700033
-
-2013-05-09 17:22:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Fix uninitialized variable compiler warning
-
-2013-05-09 17:21:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Make sure pending, older sticky events are sent downstream in dynamic linking scenarios
-	  If a pad block was triggered from sending a sticky event downstream, it
-	  could happen that the pad block is relinking pads, which then requires
-	  to resend previous sticky events.
-
-2013-05-09 13:32:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/queue2.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/collectpads.c:
-	  tests: Fix event order warnings and dataflow before stream-start/segment event
-
-2013-05-09 13:31:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	  basetransform: Properly port unit test to actually use caps and check results
-
-2013-05-09 12:50:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Store sticky events on the srcpad if we're dropping them because of leaking
-
-2013-05-09 12:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Always forward sticky events to all pads
-
-2013-05-09 12:15:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Forward all sticky events, including stream-start
-
-2013-05-09 11:05:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Warn if data flow happens before stream-start or segment event
-
-2013-05-09 10:59:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Only let gst_pad_sticky_events_foreach() iterate over existing events
-
-2013-05-09 10:29:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: If we push sticky events because of another sticky event, only push those that come before the new event
-	  https://bugzilla.gnome.org/show_bug.cgi?id=699937
-
-2013-05-09 09:50:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Add more debug output and forward caps events immediately too
-
-2013-05-09 09:42:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: No sticky events must arrive after EOS
-
-2013-05-09 09:38:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Fix typo in last commit
-
-2013-05-08 19:44:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Improve warning message naming events type name
-	  With this patch, message should look like ¨Sticky event misordering, got
-	  'caps' before 'stream-start'¨ making it faster to debug.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688188
-
-2013-05-08 18:19:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Only inforce STREAM_START, CAPS and SEGMENT ordering
-	  Previous patch was inforcing a complete ordering of the sticky events, while
-	  in fact, only STREAM_START, CAPS and SEGMENT events need proper ordering.
-	  See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
-
-2013-05-09 09:32:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	  capsfilter: Send all events that should happen after CAPS after the CAPS event
-
-2013-05-08 21:45:08 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	  capsfilter: Send caps before segment
-	  In the case the source has no caps, caps must be sent before segment. This
-	  fixes few unit tests that where failing due to the new misordering warning.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=699968
-
-2013-05-07 21:53:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Detect, fix and warn when sticky events are in wrong order
-	  We can prevent buggy element from causing other elements to fail or crash
-	  by sorting sticky event at insertion. In this case, we also warn as this
-	  is not supposed to happen.
-	  See: https://bugzilla.gnome.org/show_bug.cgi?id=688188
-
-2013-05-08 10:26:15 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstbuffer.c:
-	  tests: add some basic checks for gst_buffer_fill()
-
-2013-05-08 10:25:36 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbuffer.c:
-	  buffer: allow calling _fill() with a NULL data pointer if size is 0 bytes
-
-2013-05-07 16:46:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Add FIXME comment for unused assignment results
-
-2013-05-07 15:18:06 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/manual/advanced-metadata.xml:
-	  docs: fix typo in metadata section in app dev manual
-	  There's no g_tag_list_get_xyz().
-
-2013-05-07 14:47:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  controller: Fix the function signature and a minor typo fix
-	  https://bugzilla.gnome.org/show_bug.cgi?id=699827
-
-2013-05-06 18:47:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Send stream-start before anything else
-	  To do so, send stream-start when the streaming thread goes up for the first
-	  time.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=699767
-
-2012-12-26 11:54:51 +0000  David Rothlisberger <david@rothlis.net>
-
-	* tools/gstreamer-completion:
-	  tools/gstreamer-completion: Allow 1.0 and 0.10 scripts installed simultaneously
-	  As long as the scripts' filenames are different, and the _gst_inspect
-	  and _gst_launch functions are named differently, the completion scripts
-	  for GStreamer 1.0 and 0.10 can be installed side-by-side in
-	  /etc/bash_completion.d.
-	  On my 0.10 branch† the completion script is renamed to
-	  "gstreamer-completion-0.10" and the functions are renamed to
-	  "_gst_inspect_0_10" and "_gst_launch_0_10". The remaining helper
-	  functions should remain identical (the command-line interface to
-	  gst-inspect hasn't changed, nor has the format of the gst-launch
-	  pipeline), so it doesn't matter if the 1.0 script overrides the 0.10
-	  script's definitions.
-	  Note that I don't expect there to be another GStreamer 0.10 release, so
-	  the 0.10 completion script will probably never be officially released;
-	  but it is still worthwhile allowing both scripts to be installed
-	  alongside each other, for those who install the 0.10 completion script
-	  manually.
-	  Fixes: #690515
-	  † https://github.com/drothlis/gstreamer/blob/bash-completion-0.10/tools/gstreamer-completion-0.10
-
-2012-12-21 18:13:53 +0000  David Rothlisberger <david@rothlis.net>
-
-	* tests/misc/test-gstreamer-completion.sh:
-	* tools/gstreamer-completion:
-	  tools/gstreamer-completion: Complete option & property values on bash 3.2
-	  Bash 3's completion doesn't split words by characters in
-	  COMP_WORDBREAKS. In particular it doesn't split at "=" signs. Now
-	  _gst_launch_parse handles both bash 3 and 4 format of COMP_WORDS.
-	  Note that "${cur%%=*}" means cur's value with the longest possible match
-	  of "=*" deleted from the end; "${cur#*=}" means cur's value with the
-	  shortest possible match of "*=" deleted from the beginning. See
-	  http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
-	  Regardless of the version of bash running the unit tests, I can test for
-	  both behaviours because the unit test populates COMP_WORDS manually. So
-	  this tests the bash 3 behaviour:
-	  test_gst_inspect_completion --gst-debug-level=4
-	  and this tests the bash 4 behaviour:
-	  test_gst_inspect_completion --gst-debug-level = 4
-
-2012-12-21 08:56:26 +0000  David Rothlisberger <david@rothlis.net>
-
-	* tests/misc/test-gstreamer-completion.sh:
-	* tools/gstreamer-completion:
-	  tools/gstreamer-completion: Bash 3.2 compatibility fixes
-	  Compatible with bash 3.2; doesn't require the bash-completion package at
-	  all (though the easiest way to install this script is still to install
-	  bash-completion, and then drop this script into /etc/bash_completion.d).
-	  Note that bash 3 doesn't break COMP_WORDS according to characters in
-	  COMP_WORDBREAKS, so "property=val" looks like a single word, so this
-	  won't complete property values (on bash 3). Similarly,
-	  "--gst-debug-level=<TAB>" won't complete properly (on bash 3), but
-	  "--gst-debug-level <TAB>" will.
-	  For that reason, I now offer "--gst-debug-level" etc as completions
-	  instead of "--gst-debug-level=".
-	  Functions "_init_completion" and "_parse_help" were provided by the
-	  bash-completion package >= 2.0; now I roll my own equivalent of
-	  "_parse_help", and instead of "_init_completion" I use
-	  "_get_comp_words_by_ref" which is available from bash-completion 1.2
-	  onwards. If the bash-completion package isn't available at all I use
-	  bash's raw facilities, at the expense of not completing properly when
-	  the cursor is in the middle of a word.
-	  The builtin "compopt" doesn't exist in bash 3; those users will just
-	  have to live with the inconvenience of "property=" completing to
-	  "property= " with a trailing space. Property values aren't completed
-	  properly anyway on bash 3 (see above).
-	  "[[ -v var ]]" to test whether a variable is set, also doesn't exist in
-	  bash 3. Neither does ";;&" to fall through in a "case" statement.
-	  In the unit tests:
-	  * On my system (OS X), "#!/bin/bash" is bash 3.2, whereas
-	  "#!/usr/bin/env bash" is the 4.2 version I built myself.
-	  * I have to initialise array variables like "expected=()", or bash 3
-	  treats "+=" as appending to an array already populated with one empty
-	  string.
-
-2012-12-19 10:46:50 +0000  David Rothlisberger <david@rothlis.net>
-
-	  tools/gstreamer-completion: Support gst-inspect, and gst-launch element properties
-	  Completes options like "--gst-debug-level" and the values of some of
-	  those options; completes gst-launch pipeline element names, property
-	  names, and even property values (for enum or boolean properties only).
-	  Doesn't complete all caps specifications, nor element names specified
-	  earlier in the pipeline with "name=...".
-	  The GStreamer version number is hard-coded into the completion script:
-	  This patch is off the master branch and has the version hard-coded as
-	  "1.0"; it needs to be updated if backported to the 0.10 branch. You
-	  could always create a "gstreamer-completion.in" that has the appropriate
-	  version inserted by "configure", but I'd rather not do that. The
-	  hard-coded version is consistent with the previous implementation of
-	  gstreamer-completion, which had the registry path hard-coded as
-	  ~/.gstreamer-1.0/registry.xml.
-	  Note that GStreamer 0.10 installs "gst-inspect" and "gst-inspect-0.10".
-	  "gst-inspect --help" only prints 4 flags (--help, --print, --gst-mm,
-	  gst-list-mm) whereas "gst-inspect-0.10 --help-all" prints the full list
-	  of flags. The same applies to "gst-launch" and "gst-launch-0.10".
-	  GStreamer 1.0 only installs "gst-inspect-1.0", not "gst-inspect".
-	  Requires bash 4; only tested with bash 4.2. Requires "bash-completion"
-	  (which you install with your system's package manager).
-	  Put this in /etc/bash_completion.d/ or in `pkg-config
-	  --variable=compatdir bash-completion`, where it will be loaded at the
-	  beginning of every new terminal session;
-	  or in `pgk-config --variable=completionsdir bash-completion`, renamed to
-	  match the name of the command it completes (e.g. "gst-launch-1.0", with
-	  an additional symlink named "gst-inspect-1.0"), where it will be
-	  autoloaded when needed.
-	  test-gstreamer-completion.sh is (for now) in tests/misc -- it might be
-	  worth creating "tests/check/tools", with all the necessary automake
-	  boilerplate, and moving test-gstreamer-completion.sh there, and have it
-	  run automatically with "make check".
-	  IF YOU'RE NEW TO BASH COMPLETION SCRIPTS
-	  ----------------------------------------
-	  "complete -F _gst_launch gst-launch-1.0" means that bash will run the
-	  function "_gst_launch" to generate possible completions for the command
-	  "gst-launch-1.0".
-	  "_gst_launch" must return the possible completions in the array variable
-	  COMPREPLY. (Note on bash syntax: "V=(a b c)" assigns three elements to
-	  the array "V").
-	  "compgen" prints a list of possible completions to standard output. Try
-	  it:
-	  compgen -W "abc1 abc2 def" -- "a"
-	  compgen -f -- "/"
-	  The last argument is the word currently being completed; compgen uses it
-	  to filter out the non-matching completions. We put "--" first, in case
-	  the word currently being completed starts with "-" or "--", so that it
-	  isn't treated as a flag to compgen.
-	  For the documentation of COMP_WORDS, COMP_CWORD, etc see
-	  http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-COMP_005fCWORD-180
-	  See also:
-	  * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html
-	  * http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html
-	  The bash-completion package provides the helper function
-	  "_init_completion" which populates variables "cur", "prev", and "words".
-	  See
-	  http://anonscm.debian.org/gitweb/?p=bash-completion/bash-completion.git;a=blob;f=bash_completion;h=870811b4;hb=HEAD#l634
-	  Note that by default, bash appends a space to the completed word. When
-	  the completion is "property=" we don't want a trailing space; calling
-	  "compopt -o nospace" modifies the currently-executing completion
-	  accordingly. See
-	  http://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#index-compopt
-
-2012-11-13 16:36:46 +0000  David Rothlisberger <david@rothlis.net>
-
-	* tools/gstreamer-completion:
-	  tools/gstreamer-completion: Updated to work with the binary registry
-	  The original registry was in xml format (~/.gstreamer-*/registry.xml). A
-	  binary registry format was added in 2007 (commit ebf0c9d3) and made the
-	  default in 2008 (commit 3f39fd7e). In 0.10 you could still choose at
-	  "configure" time to use the xml registry instead; in 1.0 the binary
-	  registry is your only choice.
-	  This change to gstreamer-completion should work with either format
-	  because it parses the output of "gst-inspect" instead of reading the
-	  registry file directly.
-	  Note that _gst_launch no longer needs an explicit "return 0" because,
-	  unlike the previous grep command, compgen always returns 0 (unless a
-	  genuine error occurs).
-	  Just like the previous implementation by David Schleef, this "only
-	  completes names of features, but that's 90% of what I want it for."
-
-2013-04-29 21:11:36 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting-to-1.0.txt: nit clarification
-	  It is the process context that matters.
-
-2013-04-29 13:20:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Always leave TYPEFIND mode when we're stopping typefinding
-
-2013-04-29 13:03:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Simplify code
-	  This is only called when in TYPEFIND mode.
-
-2013-04-29 12:58:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Push pending events independent of the existence of a downstream chain function and peer
-	  Downstream might create a peer only as result of the events in theory.
-
-2013-04-29 12:56:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Only push CAPS event once if we get one from upstream
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692784
-
-2013-04-29 12:54:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Stop typefinding if we get a CAPS event from upstream
-
-2013-04-29 12:52:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Improve handling of GAP events
-	  There's still room for improvement though.
-
-2013-04-29 12:48:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Forward events that should happen before the caps event directly
-	  There's no point in storing them and sending them later, and doing so would
-	  later require to distinguish between events that should come before caps and
-	  after.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692784
-
-2013-04-29 12:48:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Only push pending buffers and events if we have caps
-
-2013-04-29 12:39:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Remove code that would cause caps to be sent twice
-	  Whenever we set typefind->caps we will also send a caps event downstream.
-
-2013-04-27 20:33:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	  pwg: improve allocation docs
-
-2013-04-27 11:46:13 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gstcheck.c:
-	  check: set CK_TIMEOUT_MULTIPLIER on ARM
-	  https://bugzilla.gnome.org/show_bug.cgi?id=695599
-
-2013-04-27 00:05:45 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  typefind: fix caps leak when used in connection with uridecodebin and playbin
-	  Don't leak forced sink caps.
-
-2013-04-22 18:08:43 -0300  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  controller: Fix element-type annotations
-
-2013-04-25 16:38:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Try to not push read-only buffers
-	  We should only increase the refcount before pushing if we're
-	  really going to use the buffer afterwards.
-
-2013-04-25 07:15:39 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: add check for FLUSH pad probes
-
-2013-04-24 08:40:32 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* gst/gstpad.c:
-	  gstpad: run probes for FLUSH events sent with gst_pad_send_event
-	  Move probe handling in gst_pad_send_event_unchecked so that probes are run for
-	  FLUSH events too.
-
-2013-04-24 15:58:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  netclock: Add support for IPv6
-
-2013-04-24 12:30:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting-to-1.0.txt: add troubleshooting section
-	  Add note about "cannot register existing type `GstObject'" warning.
-
-2013-04-23 11:47:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Only infer TS if PTS interpolation is enabled
-	  Otherwise this is breaking timestamps of formats that
-	  need reordering.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=597662
-
-2013-04-23 11:17:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: notify caps property on NULL as well
-	  Also notify the caps property when it changes to NULL
-
-2013-04-23 11:16:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: clarify locking
-
-2013-04-22 23:50:17 +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-19 15:01:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	* docs/design/part-context.txt:
-	* gst/gstcontext.c:
-	  part-context: Write some design documentation about GstContext
-
-2013-04-19 13:21:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-caps.txt:
-	  part-caps: Add more information about caps features, caps semantics and how to use them
-
-2013-04-19 11:23:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-caps.txt:
-	* gst/gstcapsfeatures.c:
-	  capsfeatures: Add documentation about ANY GstCapsFeatures
-
-2013-04-19 10:24:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't set last_render_time if we're checking for a late buffer before ::prepare()
-	  This makes sure that at least one buffer per second is rendered if buffers
-	  are dropped before ::prepare. Without this change, at least one buffer per
-	  second wouldn't be too late before ::prepare anymore but would be dropped
-	  before ::render because of last_render_time being set before ::prepare
-	  already.
-
-2013-02-08 03:57:44 -0200  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: Add compare function for caps
-
-2013-01-15 16:57:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* win32/common/libgstbase.def:
-	  dataqueue: add gst_data_queue_peek
-	  This function works just like gst_data_queue_pop, but it doesn't
-	  remove the object from the queue.
-	  Useful when inspecting multiple GstDataQueues to decide from which
-	  to pop the element from.
-	  Add: gst_data_queue_peek
-
-2013-04-18 10:14:09 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/.gitignore:
-	  tests: ignore new test binary
-
-2013-04-18 10:13:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-launch.c:
-	  tools: update for latest context API changes
-
-2013-04-18 10:17:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* tests/check/gst/gstcontext.c:
-	* win32/common/libgstreamer.def:
-	  context: Add gst_context_writable_structure() and let get_structure() return const again
-
-2013-04-18 00:44:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf-parse.c:
-	* tests/check/gst/gstinfo.c:
-	  printf: fix handling of old printf extension specifiers for ABI compatibility
-	  Fixes abort when the old specifiers are used. Fix up the conversion
-	  specifier, it would get overwritten with 'c' below to the extension
-	  format char, which then later is unhandled, leading to the abort.
-	  Also fix up and enable unit test for this.
-	  https://bugzilla.gnome.org/process_bug.cgi
-
-2013-04-18 00:28:00 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstinfo.c:
-	  tests: add unit test for old printf extension specifiers
-	  To make sure we maintain binary compatibility with the old
-	  specifiers.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=698242
-
-2013-04-18 00:19:23 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gstcheck.h:
-	  check: run skipped tests if explicitly requested via GST_CHECKS
-	  If a test that's disabled with tcase_skip_broken_test() is listed
-	  in the GST_CHECKS environment variable, run it anyway.
-
-2013-04-17 13:47:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: Add GstContext support
-	  gst-launch will collect all the contexts from the pipeline elements
-	  and update the overall pipeline context with it.
-
-2013-04-17 12:44:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstcontext.c:
-	  context: Add unit test for GstContext
-
-2013-04-17 12:17:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	  context: Return a non-const GstStructure to make code simpler and update docs
-
-2013-03-29 14:56:57 +0100  Philippe Normand <philn@igalia.com>
-
-	* docs/design/part-scheduling.txt:
-	* gst/gstquery.h:
-	* win32/common/gstenumtypes.c:
-	  query: new _BANDWIDTH_LIMITED flag
-	  Source elements with limited bandwidth capabilities and supporting
-	  buffering for downstream elements should set this flag when answering
-	  a scheduling query. This is useful for the on-disk buffering scenario
-	  of uridecodebin to avoid checking the URI protocol against a list of
-	  hardcoded protocols.
-	  Bug 693484
-
-2013-04-16 09:55:00 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: fix missing flacdec in porting-to-1.0 pipeline example
-
-2013-04-16 09:03:52 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: add note about decoders and parsers to porting-to-1.0 doc
-
-2012-10-24 11:58:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstplugin.h:
-	* plugins/elements/Makefile.am:
-	  gst: Add better support for static plugins
-	  API: GST_PLUGIN_STATIC_DECLARE()
-	  API: GST_PLUGIN_STATIC_REGISTER()
-	  Based on a patch by HÃ¥vard Graff <havard.graff@tandberg.com>.
-	  This now allows GST_PLUGIN_DEFINE() to create a static plugin if
-	  GST_PLUGIN_BUILD_STATIC is defined. The resulting plugin can be
-	  statically linked or dynamically linked during compilation but
-	  can't be dynamically loaded during runtime.
-	  Also adds GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER(),
-	  which allows to register a static linked plugin easily.
-	  It is still required to manually register every single statically linked
-	  plugin from inside the application as this can't be automated in a portable
-	  way.
-	  A new configure parameter --enable-static-plugins was added that allows
-	  to build all plugins we build here as static plugins.
-	  Fixes bug #667305.
-
-2013-04-12 13:50:39 +1200  Douglas Bagnall <douglas@paradise.net.nz>
-
-	* docs/manual/appendix-porting.xml:
-	  manual: Patch manual to refer to porting guide
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697845
-
-2013-04-13 19:43:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: Fix the GstPluginFeature name comparison.
-	  The gst_plugin_feature_rank_compare_func() should return
-	  negative value, if the rank of both PluginFeatures are equal and
-	  the name of first PluginFeature comes before the second one.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697990
-
-2013-04-14 17:54:22 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 2736592 to 3cb3d3c
-
-2013-04-14 17:25:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* autogen.sh:
-	* common:
-	  Automatic update of common submodule
-	  From aed87ae to 2736592
-
-2013-04-14 11:33:41 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf.c:
-	* gst/printf/printf.h:
-	  printf: disable some unused printf variants
-
-2013-04-14 11:23:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/gst-printf.h:
-	  printf: use sprintf() to work around glibc complaining about %n in a writable format string
-	  Don't use snprintf(), but use sprintf instead and do our own
-	  length calculations, because glibc may complain about us passing
-	  %n in a format string if the string is in writable memory, and
-	  here the format string is always in writable memory since we
-	  construct it on the fly. This happens if glibc has been compiled
-	  with _FORTIFY_SOURCE=2, which seems to be the case on some
-	  distros/systems). On the upside, we now use the sprintf code path
-	  on all systems which should be better from a maintenance point
-	  of view.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697970
-
-2013-04-13 12:18:28 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstpoll.c:
-	  tests: skip all GstPoll tests on Windows
-	  As they don't work there, and it's non-trivial to fix.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697609
-
-2013-04-13 12:00:12 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: only add a '*' for non-'gpointer' pointers
-	  Spotted by Jose Antonio Santos Cadena.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697791
-
-2013-04-12 14:48:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-
-	* gst/gstplugin.h:
-	  plugin: fix name expansion for GST_PLUGIN_DEFINE macro
-	  Make GST_PLUGIN_DEFINE use G_STRINGIFY() to convert the name argument
-	  into a meaningful string. The advantage of this is that `name' can be
-	  expanded from other macros defined in the plug-in element.
-	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697872
-
-2013-04-13 11:35:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: add new translatable strings
-
-2013-04-12 23:58:52 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstelement.c:
-	* gst/gstinfo.c:
-	  printf: don't build if debugging subsystem was disabled
-
-2013-04-10 11:51:37 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* gst/printf/Makefile.am:
-	* gst/printf/gst-printf.h:
-	  printf: deal with some of the HAVE_FOO used in the printf code
-	  Probably needs some more work for MSVC.
-
-2013-04-08 19:42:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/printf/README:
-	* gst/printf/vasnprintf.c:
-	  printf: fix alloca use for windows with mingw32
-	  Don't use just GLIB_HAVE_ALLOCA_H to check if alloca is available,
-	  that's just for the header. GLib may define alloca for us otherwise
-	  too irrespective of GLIB_HAVE_ALLOCA_H.
-	  Fixes compiler warning with mingw32:
-	  gst/printf/vasnprintf.c:73:0: warning: "alloca" redefined
-
-2013-04-07 20:11:21 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* gst/printf/Makefile.am:
-	* gst/printf/vasnprintf.c:
-	  printf: enable and fix compiler warnings
-	  But suppress -Wformat-nonliteral warnings since sprintf
-	  is used with a runtime-generated format string in our
-	  vasnprintf implementation.
-
-2013-04-07 18:21:00 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf-parse.c:
-	* gst/printf/vasnprintf.c:
-	* gst/printf/vasnprintf.h:
-	  printf: fix up dodgy use of #if HAVE_FOO and #if !HAVE_FOO
-	  Should use #ifdef and #ifndef.
-
-2013-04-07 17:36:29 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/Makefile.am:
-	  printf: mark internal functions as internal
-
-2013-04-07 17:29:02 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf-parse.c:
-	  printf: skip pointer extension signifier chars after %p
-	  So they don't get printed after the serialised pointer string.
-
-2013-04-07 17:21:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/vasnprintf.c:
-	  printf: don't leak serialised pointer extension strings
-
-2013-04-07 17:02:55 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf-parse.c:
-	  printf: handle old GST_PTR_FORMAT %P and GST_SEGMENT_FORMAT %Q defines too
-	  For binary backwards compatibility.
-
-2013-04-07 16:41:40 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/printf/printf-args.c:
-	* gst/printf/printf-args.h:
-	* gst/printf/printf-parse.c:
-	* gst/printf/printf-parse.h:
-	* gst/printf/vasnprintf.c:
-	  printf: make printf parser recognise our pointer extension format
-	  and call the hook to get a string for the pointer instead.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=613081
-
-2013-03-30 18:28:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/printf/Makefile.am:
-	* gst/printf/README:
-	* gst/printf/printf-extension.c:
-	* gst/printf/printf-extension.h:
-	  printf: add infrastructure for pointer extensions hook
-	  Does not do anything yet. On a sidenote, we can't just use
-	  %p\001 or so to signal the extension because g-i complains
-	  about an invalid ascii character then, so have to resort to
-	  something more elaborate, such as %p\aA etc.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=613081
-
-2013-03-30 17:20:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstconfig.h.in:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: use new internal printf for debug message printing
-	  and remove all the printf extension/specifier stuff for
-	  the system printf. Next we need to add back the custom
-	  specifiers to our own printf implementation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=613081
-
-2013-03-30 15:13:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/printf/Makefile.am:
-	* gst/printf/README:
-	* gst/printf/asnprintf.c:
-	* gst/printf/gst-printf.h:
-	* gst/printf/printf-args.c:
-	* gst/printf/printf-args.h:
-	* gst/printf/printf-parse.c:
-	* gst/printf/printf-parse.h:
-	* gst/printf/printf.c:
-	* gst/printf/printf.h:
-	* gst/printf/vasnprintf.c:
-	* gst/printf/vasnprintf.h:
-	  printf: add our own printf implementation for debug logging
-	  We will add support for our own printf modifiers, so we can
-	  get nice debug log output on all operating systems irrespective
-	  of the specific libc version used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=613081
-
-2013-04-12 16:13:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: avoid triggering an assertion
-	  When deserialization of the structure fails, return a NULL taglist instead of
-	  asserting.
-
-2013-04-11 14:54:32 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: add pointer mark to signal and action return types that are pointers
-	  When the return type of a signal or action is a pointer, it
-	  should have an asterisk to mark it as such.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697791
-
-2013-04-11 22:32:39 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: document type change of playbin's connection-speed property in porting docs
-
-2013-04-11 14:31:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add _gst_max_memory() function
-	  Add the a function to query the maximum amount of memory blocks that can be
-	  added to a buffer. Also improve the docs for _insert_memory().
-
-2013-04-11 14:04:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: notify of changed bound address
-	  Notify when the bound address is known, just like the port.
-
-2013-04-11 13:55:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  launch: handle PROGRESS messages
-	  Wait for all PROGRESS messages (if any) to complete before going to the PLAYING
-	  state. This is the only way we can wait for live elements to complete their
-	  operations.
-	  This is interesting for elements like rtspsrc that do some asynchronous network
-	  requests as part of going to the PAUSED state. It could be possible that it, for
-	  example, provides a clock and then we would like to wait until it completes
-	  so that we can use the provided clock when going to PLAYING.
-
-2013-04-11 15:05:08 +1200  Douglas Bagnall <douglas@paradise.net.nz>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  Toggle upstream and downstream in RECONFIGURE paragraph.
-
-2013-04-11 10:11:25 +1200  Douglas Bagnall <douglas@paradise.net.nz>
-
-	* libs/gst/base/gstcollectpads.c:
-	  GstCollectPads documentation: gst_collect_pads_read is gone.
-
-2013-04-10 21:24:38 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: fix the precondition for gst_bus_disable_sync_message_emission()
-	  Use the right variable and invert the test. The precondition should catch
-	  someone calling to once too often.
-
-2013-04-09 19:37:06 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstcapsfeatures.c:
-	  capsfeatures: Init debug category before ever using it
-
-2013-04-09 20:59:36 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 04c7a1e to aed87ae
-
-2013-04-03 21:32:54 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* docs/manuals.mak:
-	  Use xlstproc instead of docbook2html
-
-2013-04-09 10:17:45 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: bind socket before querying local address
-	  Fails on windows otherwise.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697608
-
-2013-04-08 13:14:35 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* configure.ac:
-	  configure: Also check for clock_gettime in libpthread
-	  libwinpthreads provides POSIX time API.
-	  It also provides libpthread alias for itself, for compatibility, so that
-	  is what we will link with.
-	  Fixes #697550
-
-2013-04-08 15:30:07 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstsystemclock.c:
-	* gst/gstutils.c:
-	  clock: Do use HAVE_CLOCK_GETTIME
-	  Fixes #697549
-
-2013-04-08 14:42:15 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/struct_i386w.h:
-	  libsabi: Special struct size values for W32
-	  These account for both possible type size mismatch AND -mms-bitfields
-	  packing. Sizes are taken from an i686-w64-mingw32-built GStreamer,
-	  gcc 4.8.0, mingw-w64 svn-r5685.
-	  Fixes #697551
-
-2013-04-09 09:22:39 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  tests: fix GstPad test on windows and in CK_FORK=no mode
-	  Need to clear buffer lists at the end of each test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697610
-
-2013-04-06 16:09:54 -0700  David Schleef <ds@schleef.org>
-
-	* tools/gst-launch.c:
-	  gst-launch: Fix space in fault message
-
-2013-04-06 22:10:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcapsfeatures.c:
-	  capsfeatures: Copy ANY flag when copying caps features too
-
-2013-04-06 21:49:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tools/gst-inspect.c:
-	  caps: Handle ANY caps features properly in more places
-
-2013-04-06 21:21:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstcaps.c:
-	  caps: Add test for operations on caps with ANY features
-
-2013-04-06 21:09:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Properly handle ANY caps features in caps operations
-
-2013-04-05 21:10:48 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: update signal docs for gst_bus_enable_sync_message_emission()
-
-2013-04-05 10:15:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: ignore empty not-linked queues
-	  We need to ignore the not-linked queues in the underrun and overrun callbacks
-	  because they are expected to be empty.
-
-2013-04-04 23:12:52 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcaps.c:
-	  caps: fix caps feature leak
-	  Fixes leaks in 14 core unit tests including
-	  gst/gstcaps.
-
-2013-04-04 19:16:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: start pushing again on RECONFIGURE
-	  When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
-	  again on the source pad.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=676304
-
-2013-04-04 19:07:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: start pushing again on RECONFIGURE
-	  When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
-	  again on the source pad.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=676304
-
-2013-04-04 19:06:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: start pushing again on RECONFIGURE
-	  When we got NOT_LINKED before and we receive a RECONFIGURE event, start pushing
-	  again on the source pad.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=676304
-
-2013-04-04 17:59:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: simplify is_subset check
-	  Iterate over the fields of the superset instead of those of the subset.
-	  This way we can check the presence of the subset field and do the subset check
-	  in one iteration.
-
-2013-04-04 17:46:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: update docs, is_subset() works now
-
-2013-04-04 16:39:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: fix docs
-
-2013-04-04 16:20:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: add gst_pad_store_sticky_event()
-	  Rewire some internal functions and expose a new
-	  gst_pad_store_sticky_event() function.
-	  API: gst_pad_store_sticky_event()
-
-2013-04-04 15:45:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: clarify docs
-
-2013-04-04 15:45:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve debug
-
-2013-04-04 10:17:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: don't WARN, just DEBUG
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696911
-
-2013-03-30 11:06:59 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstsegment.c:
-	  segment: Fix seeking when position is slightly outside the segment
-	  Very often, when the end of a segment is detected by demuxer, the position
-	  is slightly outside the segment boundaries. Currently, if that is the case
-	  the base will be set to NONE instead of normal accumulation. This would
-	  break non-flushing seeks in oggdemux and most likely other demuxers.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
-
-2013-04-03 17:29:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2013-04-03 16:02:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add stream flags
-
-2013-04-02 18:17:00 -0600  Brendan Long <b.long@cablelabs.com>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting-to-1.0.txt: subtitle text media types changed as well
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697153
-
-2013-04-02 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcontext.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* tests/check/gst/.gitignore:
-	  docs: more since markers and other docs fixes
-
-2013-04-02 23:21:39 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcapsfeatures.c:
-	  docs: add since markers to capsfeatures docs
-
-2013-04-02 23:18:42 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/git-update.sh:
-	  scripts: add some more modules to git-update.sh
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697058
-
-2013-04-02 23:04:51 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add uninstalled orc/orc-test/.libs to library paths
-	  This is needed by the unit tests in gst-plugins-base, -good etc.
-	  Spotted by Alex Kaye.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=697093
-
-2013-04-02 22:13:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcapsfeatures.c:
-	* gst/gstcapsfeatures.h:
-	* tests/check/gst/gstcapsfeatures.c:
-	  capsfeatures: Add GST_CAPS_FEATURES_ANY
-	  This is equal to any other caps features but results in unfixed caps. It
-	  would be used by elements that only look at the buffer metadata or are
-	  currently working in passthrough mode, and as such don't care about any
-	  specific features.
-
-2013-04-01 22:13:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstinfo.c:
-	  info: minor cosmetic changes
-	  Let's not use ugly leading underscores for
-	  static functions.
-
-2013-04-01 21:23:21 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstinfo.c:
-	  info: fix object printing of caps features in debug log
-
-2013-04-01 16:38:43 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  draft-tracing: update draft design with timer ideas
-
-2013-03-30 17:03:44 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: refactor pretty printing objects
-	  Extract formatters into local functions. Change the structure filtering so that
-	  it works for taglists too.
-
-2013-03-30 16:39:38 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  element: make post_message and query more alike
-
-2013-04-01 10:20:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Print caps features too
-
-2013-04-01 10:19:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcapsfeatures.c:
-	  capsfeatures: For copying features it's not required to have no parent refcount
-
-2013-04-01 10:19:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Set features' parent refcount in gst_caps_set_features() too
-
-2013-04-01 10:18:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Set sysmem features if explicitely requested
-
-2013-03-31 19:09:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-caps.txt:
-	  design: Add the caps features and describe how the caps operations actually work
-
-2013-03-30 15:35:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstcapsfeatures.c:
-	* gst/gstcapsfeatures.h:
-	* gst/gstinfo.c:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstcapsfeatures.c:
-	* win32/common/libgstreamer.def:
-	  caps: Add new data type for handling caps features to the caps
-	  These are meant to specify features in caps that are required
-	  for a specific structure, for example a specific memory type
-	  or meta.
-	  Semantically they could be though of as an extension of the media
-	  type name of the structures and are handled exactly like that.
-
-2013-03-31 15:30:19 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstevent.h:
-	  event: add SELECT and UNSELECT stream flags for stream-start event
-	  So demuxers can signal which audio/video/subtitle streams should
-	  be selected by default and which should not be selected
-	  automatically.
-	  API: GST_STREAM_FLAG_SELECT
-	  API: GST_STREAM_FLAG_UNSELECT
-	  https://bugzilla.gnome.org/show_bug.cgi?id=695968
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690911
-
-2013-01-06 20:27:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* tests/check/gst/gstevent.c:
-	* win32/common/libgstreamer.def:
-	  event: add stream flags to stream-start event
-	  API: gst_event_set_stream_flags()
-	  API: gst_event_parse_stream_flags()
-	  API: GST_STREAM_FLAG_NONE
-	  API: GST_STREAM_FLAG_SPARSE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=600648
-
-2013-03-31 11:26:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: Add API to get the last set context from an element
-	  Elements should override GstElement::set_context() and also call
-	  gst_element_set_context() to keep this context up-to-date with
-	  the very latest context they internally use.
-
-2013-03-30 14:04:28 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/draft-tracing.txt:
-	  design: add initial tracing design doc
-
-2013-03-30 11:47:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Let gst_pad_get_allowed_caps() pass the caps own caps as filter
-	  This will reduce the number of caps created downstream and we don't
-	  need to intersect in the very end with the pad's own caps.
-
-2013-03-30 10:24:27 +0100  Josep Torra <n770galaxy@gmail.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fixes compiler warning
-	  gstbasesink.c: In function 'gst_base_sink_chain_unlocked':
-	  gstbasesink.c:3204: warning: 'ret' may be used uninitialized in this function
-
-2013-03-29 19:01:59 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: fix gir warning
-
-2013-03-29 18:49:14 +0100  Edward Hervey <edward@collabora.com>
-
-	* docs/pwg/building-boiler.xml:
-	  Revert "pwg: Fix example"
-	  This reverts commit 5d64f27d881274a40f0441bb8c5b3816fdfc5b9e.
-	  *sigh*
-
-2012-11-06 09:41:58 +0100  Edward Hervey <edward@collabora.com>
-
-	* docs/pwg/building-boiler.xml:
-	  pwg: Fix example
-
-2012-11-11 13:52:25 +0100  Edward Hervey <edward@collabora.com>
-
-	* gst/gstpad.c:
-	  pad: Remove SEGMENT sticky events when flushing
-	  When flushing, it is expected that upstream will send a SEGMENT
-	  event afterwards.
-	  This also avoids stray SEGMENT events from coming through after a
-	  flush.
-
-2013-03-28 15:35:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstinfo.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  gst: Add new GstContext miniobject for sharing contexts in a pipeline
-
-2013-03-28 16:42:50 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	  argb-controlbinding: fix messed up property setter
-	  This was misassigning the control sources. It was also leaking the old values if
-	  a control source would be replaced.
-
-2013-03-27 18:25:08 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: reset next_pts upon SEGMENT event
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
-
-2013-02-26 19:58:49 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: more inter-timestamp tracking
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
-
-2013-03-26 19:22:18 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstallocator.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: Add annotations and pygi friendly extraction function
-	  API: gst_buffer_extract_dup
-
-2013-03-27 17:08:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting: hopefully clarify a little
-
-2013-03-25 18:11:54 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstutils.c:
-	  Update docs for gst_pad_create_stream_id_printf()
-	  To indicate that format strings should be alpha sortable.
-
-2013-03-25 09:16:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstcaps.c:
-	  caps: Add unit test for GST_CAPS_{ANY,NONE} and GST_STATIC_CAPS_{ANY,NONE}
-	  https://bugzilla.gnome.org/show_bug.cgi?id=696435
-
-2013-03-25 09:19:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Fix gst_static_caps_get(GST_STATIC_CAPS_NONE)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=696435
-
-2013-03-21 21:00:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't send error if negotiate fails because we are flushing
-	  Negotiation may be aborted by a flush from another thread that need to
-	  stop the task (i.e. seek). Check that case and silently pause the task.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=696357
-
-2013-03-24 17:53:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/design/part-toc.txt:
-	* gst/gsttoc.c:
-	  toc: some documentation updates
-
-2013-03-22 20:02:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/building-queryfn.xml:
-	  docs: fix typo in query function example in Plugin Writer's Guide
-	  https://bugzilla.gnome.org/show_bug.cgi?id=696142
-
-2013-03-07 12:11:30 +0100  Jonas Holmberg <jonashg@axis.com>
-
-	* tests/check/libs/collectpads.c:
-	  tests: fix spurious failure in test_collect collectpads test
-	  pop() in collected callback.
-	  There were three threads in the test cases that hanged: the test thread and two
-	  threads that push buffers. Each thread push one buffer on one pad. There are
-	  two pads in the collectpads so the second buffer will trigger the
-	  collect-callback.
-	  This is what happens when the hang occurs:
-	  The first thread pushes a buffer and initializes a cookie to the value of a
-	  counter in the collectpads object and waits on a cond for the counter to change
-	  and for someone to consume the buffer (i.e. _pop() it).
-	  The second thread pushes a buffer and calls the collected callback, which
-	  signals the cond that the test thread is waiting for.
-	  The test thread pops both buffers (without holding any lock). Each call to
-	  _pop() increases the counter broadcasts the condition that the first thread is
-	  now waiting for. It then joins both threads (hangs).
-	  The first thread wakes up and returns, since its buffer has been consumed.
-	  The second thread starts executing again. When the callback, called by the
-	  second thread, has returned it initializes a cookie to the value of a counter,
-	  which has already prematurely been increased by the test thread when it popped
-	  the buffers, and wait's on a cond for the counter to change and for someone to
-	  consume the buffer (i.e. _pop() it). Since the buffer has already been poped
-	  and the counter has already been increased it will be stuck forever.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=685555
-
-2013-03-16 12:05:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: remove ffmpeg libs from dynamic linker paths
-	  We link those libs into the plugin statically, or use external
-	  system libs, but never the internal snapshot dynamically.
-
-2013-03-16 12:00:55 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add gst-editing-serves to GI_TYPELIB_PATH
-	  So pygi can find it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=695937
-
-2013-03-12 13:53:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  utils: make sure slow GST_READ_UINT* variants don't have unexpected side effects
-	  Fixes unit test on systems where unaligned memory access is not possible.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=695599
-
-2013-03-05 11:14:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  launch: don't exit the loop on buffering in paused
-	  When we receive a buffering message of 100% in the paused state, we exit
-	  the event_loop and move to the PLAYING state. What should happen is that
-	  we wait for both ASYNC-DONE and 100% buffering before continueing.
-
-2013-03-08 13:15:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-controller.txt:
-	  design: update controller design and add some thoughs for future stuff
-
-2013-03-08 08:13:06 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  docs: mention clipping of values in control-binding docs
-
-2013-03-08 08:10:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcontroller.c:
-	  controller: code cleanups
-	  Use a property for accessing the control-source on the binding. Drop base_init
-	  on the test object.
-
-2013-03-07 11:46:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: gst_query_get_n_allocation_params() returns a new ref to the allocator
-
-2013-03-07 11:35:03 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: remove a bogus test
-	  We previously forgot to initilize the amplitde property to the default and thus it was 0.0. Therefore a default lfo controlsource returned a series of 0.0 and the test was asserting on that.
-
-2013-03-07 09:15:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controlbinding: relax the pspec for the control-source
-	  We can change control sources on controlbindings.
-
-2013-03-07 09:12:59 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfo: set a sensible lower boundary for the frequency
-	  Use DBL_MIN, which is a the smalles double greater than zero that is not in
-	  denormal format. This exposes the limit better than the runtime check.
-
-2013-03-06 23:59:28 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 2de221c to 04c7a1e
-
-2013-03-06 16:40:27 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: init the amplitude to the default and update the docs
-
-2013-03-05 11:30:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Add all the base/bad libraries and remove obsolete ones
-
-2013-03-03 16:00:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix use of uninitialized variable
-	  Running suite(s): GstBaseSink
-	  ==22023== Conditional jump or move depends on uninitialised value(s)
-	  ==22023==    at 0x505FFCE: gst_base_sink_get_sync_times (gstbasesink.c:1936)
-	  ==22023==    by 0x5068C80: gst_base_sink_do_sync (gstbasesink.c:2379)
-	  ==22023==    by 0x506BCD2: gst_base_sink_default_wait_event (gstbasesink.c:2903)
-	  ==22023==    by 0x50633A4: gst_base_sink_default_event (gstbasesink.c:2918)
-	  ==22023==    by 0x6F5C216: gst_fake_sink_event (gstfakesink.c:383)
-	  ==22023==    by 0x505F164: gst_base_sink_event (gstbasesink.c:3108)
-	  ==22023==    by 0x52FA090: gst_pad_send_event_unchecked (gstpad.c:4822)
-	  ==22023==    by 0x5303756: gst_pad_send_event (gstpad.c:4984)
-	  ==22023==    by 0x40165B: basesink_test_gap (basesink.c:148)
-
-2013-03-03 12:06:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: Fix memory copying logic in copy_into()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=695035
-
-2013-03-03 11:28:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Use correct print format specifiers to fix compiler warnings
-
-2013-02-22 14:22:01 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstobject.c:
-	  Fix misspellings of 'continuous'
-
-2013-02-22 14:56:49 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: take DTS into account
-	  Importantly, this patch converts DTS to running time.  Less importantly,
-	  and possibly a problem for some muxers, is that it orders buffers by
-	  DTS (if it is valid, otherwise PTS).  This is generally correct, but
-	  might be somewhat surprising to muxers.
-	  Also note that once converted to running time, DTS can end up negative.
-
-2013-02-28 22:59:43 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/manual/advanced-dparams.xml:
-	  manual: improve the controller docs a little more
-	  Reword some sections. Explain value mappings better.
-
-2013-02-28 19:40:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add gst-libav to pkg-config path
-
-2013-02-27 22:15:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  seeking: add more logging for seeking
-	  Especially add logging to error code paths.
-
-2013-02-27 10:09:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: Gracefully handle gst_memory_copy() returning NULL without crashing
-	  gst_buffer_copy_into() and gst_buffer_resize_range() can now fail.
-
-2013-02-26 17:33:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	* win32/common/libgstreamer.def:
-	  allocator: small internal cleanups
-	  Rename System memory allocator to GstAllocatorSysmem and the memory to
-	  GstMemorySystem.
-
-2013-02-26 15:37:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add method to check memory type
-	  Add a method to check if a memory was allocated from an allocator of
-	  a given type.
-	  API: gst_memory_is_type()
-
-2013-02-26 15:36:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: improve docs a little
-
-2013-02-26 15:32:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-gstbin.txt:
-	* docs/design/part-messages.txt:
-	* gst/gstbin.c:
-	  use GST_MESSAGE_DURATION_CHANGED in docs and code
-
-2013-02-26 14:40:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: don't unref allocator too soon
-	  Unref the allocator *after* we have freed the memory. We also need to keep
-	  a ref to the allocator around because following the now freed memory would
-	  lead to crashes.
-
-2013-02-26 09:08:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: Fix inverted logic for deciding if memory should be shared or copied
-	  https://bugzilla.gnome.org/show_bug.cgi?id=694717
-
-2013-02-26 07:50:13 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting: mention segment accumulation in the porting guide
-	  This needs more detail, but at least gives people a hint on the issue.
-
-2013-02-26 07:48:35 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstmessage.c:
-	  docs: s/start/done/ copy'n'paste mistake
-
-2013-02-25 13:57:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: Add new API to remove allocation params and pools from the allocation query
-
-2013-02-25 13:24:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: Document that the first allocator in the allocation query should allow mapping to system memory
-
-2013-02-24 09:24:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: Keep a reference to the allocator
-	  Otherwise the allocator might get freed while it's still used
-	  by the memory
-
-2013-02-24 09:33:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: If sharing a GstMemory fails, fall back to copying it
-
-2013-02-23 18:36:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: porting-to-1.0.txt: some element names have changed
-
-2013-02-23 08:19:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: It's contiguous, not continous
-
-2013-02-22 12:41:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmemory.h:
-	  memory: Add new memory flag to specify that memory can't be mapped
-
-2013-02-22 09:02:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmemory.h:
-	  memory: Add memory flag to mark physically continous memory
-
-2013-02-16 23:02:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: don't pass NULL outcaps to transform_size on shutdown
-	  gst_pad_get_current_caps() on the source pad might yield NULL caps
-	  if we're being shut down and the source pad has already been
-	  deactivated by the other thread that's changing state. Just bail
-	  out in that case, instead of passing NULL caps to the transform_size
-	  function, which it might not expect.
-	  Fixes spurious warnings in audioresample shutdown unit test.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693996
-
-2013-02-21 10:18:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Add ORC
-
-2013-02-19 18:00:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.h:
-	* tests/check/gst/gstutils.c:
-	  utils: avoid unexpected side-effects of GST_WRITE_* macros
-	  Make sure the data argument is only evaluated once.
-
-2013-02-19 17:36:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/gst/gstutils.c:
-	  check: add some more fail_unless_*() macros for convenience
-	  API: fail_unless_equals_int_hex
-	  API: assert_equals_int_hex
-	  API: fail_unless_equals_int64_hex
-	  API: assert_equals_int64_hex
-	  API: fail_unless_equals_uint64_hex
-	  API: assert_equals_uint64_hex
-	  API: fail_unless_equals_pointer
-	  API: assert_equals_pointer
-
-2013-02-19 12:42:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  scripts: add new -base allocators library to gst-uninstalled search paths
-
-2013-02-18 20:47:04 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/collectpads.c:
-	  collectpads: add two more tests using collectpads within an element
-	  Add a static plugin with a rudimentary element using collectpads and do some
-	  pipeline based tests.
-
-2013-02-17 12:50:03 -0800  David Schleef <ds@schleef.org>
-
-	* docs/manual/appendix-porting.xml:
-	  docs: Fix some ambiguous wording
-
-2013-02-17 19:53:55 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  triggercontrolsource: add missing end_iter check for sequence
-	  Avoid accessing the end-iter, this is a marker without a data field.
-
-2013-02-17 13:20:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: link to the appropriate messages from gst_elements_set_state() docs
-	  For an async state change return one would wait for ASYNC_DONE or STATE_CHANGED.
-
-2013-02-16 14:20:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbuffer.h:
-	  buffer: add since marker for new COPY_DEEP buffer flag
-
-2013-02-16 14:59:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add option to deep copy a buffer
-	  Add a buffer copy flag to force a memory copy in all cases.
-
-2013-02-14 14:09:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()"
-	  This reverts commit 1a1a9e143fb0e155d7627aa8e489cd5d04bc093c.
-	  This breaks the pipelines/tagschecking unit test for some reason
-	  (fakesrc ! capsfilter ! qtmux linking fails now). It might be
-	  a bug in the unit test of course, but someone will need to
-	  investigate this. Reverting for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692508
-
-2013-02-15 13:08:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	  allocator: improve fallback copy function
-	  Only use the allocator of the copied memory when we can use the default
-	  _alloc function on it. Otherwise we will have to use the default
-	  allocator for the copy.
-
-2013-02-14 13:55:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/running.xml:
-	  docs: fix location in user's home directory where GStreamer looks for plugins
-	  It's based on the xdg user data dir now in 1.0.
-
-2013-01-25 06:50:27 -0300  Niv Sardi <xaiki@evilgiggle.com>
-
-	* gst/gstutils.c:
-	  utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()
-	  motivation comes from: /* FIXME: why not gst_pad_get_pad_template (pad); */
-	  this code path is quite nicer, we now only revert to creating the template
-	  if gst_pad_get_pad_template fails.
-	  with this fork, we gain a non-allocation of GstCaps *templcaps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692508
-
-2013-02-13 00:27:28 +0000  Krzysztof Konopko <krzysztof.konopko@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Use g_unix_signal_add() to handle keyboard interruption
-	  Current implementation uses a traditional signal handler and a 250ms
-	  timeout callback in the event loop.  Adding a GSource with
-	  g_unix_signal_add() to the GMainLoop is a much more elegant solution.
-	  The signal handler with this approach can send a message to the bus
-	  directly rather than set a flag as all dispatching intricacies are handled
-	  by GLib.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693481
-
-2013-02-14 00:07:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/running.xml:
-	  docs: flesh our 'Running GStreamer' bits a bit
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693607
-
-2013-02-13 23:27:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-launch.1.in:
-	  docs: flesh out gst-launch-1.0 man page a little
-	  Fix up default location of the registry.
-	  Mention more options for GST_DEBUG (wildcards and
-	  named debug levels).
-	  Explain what to do with the dot files that can be
-	  produced by setting GST_DEBUG_DUMP_DOT_DIR.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693607
-
-2012-12-27 00:03:06 +0100  Gert Michael Kulyk <gkulyk@yahoo.de>
-
-	* docs/manual/advanced-metadata.xml:
-	  docs: fix advanced-metadata code example in manual
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690751
-
-2013-02-13 16:52:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* tests/check/gst/gstmessage.c:
-	  message: accept NULL error argument in gst_message_parse_{error,warning,info}
-	  And simplify code a bit while at it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693704
-
-2013-02-13 17:00:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Remove set-style bitmask intersection/union/subtraction functions
-	  Set operations on the bitmasks don't make much sense and result
-	  in invalid caps when used as a channel-mask. They are now handled
-	  exactly like integers.
-	  This functionality was not used anywhere except for tests.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=691370
-
-2013-02-13 11:19:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: The latency query should return TRUE by default, different to other queries
-	  Fixes unit test failures caused by f3d268de7f7fb1161778a9a95e0d54d8c89ef626
-
-2013-02-13 10:46:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gstcaps.c:
-	  structure: Make sure that subsets have all fields of the superset
-	  "video/x-h264,parsed=(boolean)true" is not a superset of
-	  "video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
-	  for example.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693365
-
-2013-02-12 12:32:23 -0800  David Schleef <ds@schleef.org>
-
-	* win32/common/libgstbase.def:
-	  update exports for baseparse API changes
-
-2013-02-12 12:31:42 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix doc typo
-
-2013-02-11 16:51:48 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add gst_base_parse_set_ts_at_offset()
-	  Sets the buffer timestamps based on last seen timestamps at a
-	  particular offset into the frame.
-	  API: gst_base_parse_set_ts_at_offset()
-
-2013-02-11 16:42:41 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: Add gst_adapter_prev_[pd]ts_at_offset()
-	  Original patch written by Michael Smith <msmith@rdio.com>.
-	  API: gst_adapter_prev_pts_at_offset()
-	  API: gst_adapter_prev_dts_at_offset()
-
-2013-02-09 18:14:09 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gstbin.c:
-	  bin: query sink elements and source pads of the bin
-	  gst_bin_query() now forwards the query to the source pads as well if
-	  none of the sinks of the bin satisfied the query. This helps in the
-	  case of DURATION queries done a bin containing a source element.
-	  Fixes bug 638749
-
-2013-02-07 12:47:02 +0100  Alexander Schrab <alexas@axis.com>
-
-	* gst/gstbin.c:
-	  bin: Let gst_bin_send_event() send events to ghost pads as well
-
-2013-02-11 22:52:25 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	  compat: kill more uses of gst_pad_set_caps()
-
-2013-02-12 00:08:51 +1100  Tim 'mithro' Ansell <mithro@mithis.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Adding offset to GstSegment serialize/deserialize.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693587
-
-2013-02-09 12:32:02 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: improve PTS interpolating
-	  ... and tracking of DTS.  Fixes cases where PTS is locked on to the
-	  DTS of an incoming buffer with no PTS with invalid data, leading to
-	  no outgoing PTS (since it is not allowed smaller than DTS).
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691481
-
-2013-02-08 21:28:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: add more porting details
-
-2013-02-08 21:21:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	* gst/gstobject.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controlbinding: error handling for binding controlsources to wrong properties
-	  Add warning if property is not suitable for controlling. When adding a control-
-	  binding check that pspec!=NULL.
-
-2013-02-07 13:08:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: remove old docs about iterators
-
-2013-02-07 12:52:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: remove old comment
-	  The iterators now return a GValue and not the object directly anymore.
-
-2013-02-07 12:50:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: reset GValue from iterator after usage
-
-2013-02-05 17:15:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/basesink.c:
-	  tests: add basesink test
-
-2013-02-05 17:19:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle sync of EOS after item without duration
-	  After a buffer or GAP without duration, an EOS event should be rendered
-	  immediately instead of waiting for the end of the segment.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868
-
-2013-02-02 11:55:52 -0800  Nate Bogdanowicz <natezb@gmail.com>
-
-	* gst/gstpipeline.c:
-	  gstpipeline: fix failed assertion caused by seeking pipeline with NULL clock
-	  Under certain GST_STATE_CHANGED_PAUSED_TO_PLAYING transitions, a pipeline with
-	  a NULL clock will fail an assertion due to an unchecked call to gst_object_ref().
-	  This is fixed by simply adding a check and only ref-ing if the clock is not NULL.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=693065
-
-2013-02-05 13:44:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.h:
-	  structure: change argument name for docs
-
-2013-02-04 10:30:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix order of caps on an unnegotiated link
-	  headlabel is the sink_pad (where the link points to) and not the other way around.
-
-2013-02-01 21:59:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* gst/gstcontrolbinding.c:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  docs: update the controller docs
-	  Add the control bindings to the docs. Add a little more detail.
-
-2013-02-01 21:57:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  porting: a few updates for the porting guide
-
-2013-01-30 13:06:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: can't pass a GType through GINT_TO_POINTER
-	  Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger
-	  than sizeof(gulong) and sizeof(int), so the casts may
-	  chop off some bits from the GType value on some architectures.
-
-2013-01-29 12:40:52 +0100  Alexander Schrab <alexas@axis.com>
-
-	* tests/check/elements/queue.c:
-	  tests: unit test to trigger the queue/flushing race condition bug for allocation queries
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-
-2013-01-28 11:05:28 +0100  Alexander Schrab <alexas@axis.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: remove query from queue if queue is flushing
-	  When querying a queue that is flushing we end up adding
-	  a query to the queuearray without taking a reference to
-	  that query (because the normal functionality is to block
-	  until that query is done and discarded from the queue).
-	  This later causes problem if the query is unreffed outside
-	  of the queue before we discard the queue. There is a check
-	  to avoid unreffing any lingering query-objects, but since
-	  the query has been deleted that check fails.
-	  This commit depends on other fixes done to gst_queue_array_find()
-	  and gst_queue_array_drop_element().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-
-2013-01-30 11:55:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: make _find() find the value if no compare function is provided
-	  Allow NULL as compare function for direct value lookup.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-
-2013-01-30 11:34:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/libs/queuearray.c:
-	  tests: check return value of gst_queue_array_drop_element() too
-	  Was added when the API was made public in git master.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-
-2013-01-29 22:54:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/libs/queuearray.c:
-	  tests: one more test for gst_queue_array_drop_element()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-	  Conflicts:
-	  tests/check/libs/queuearray.c
-
-2013-01-28 11:05:28 +0100  Alexander Schrab <alexas@axis.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: fix gst_queue_array_find()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-
-2013-01-28 11:05:28 +0100  Alexander Schrab <alexas@axis.com>
-
-	* libs/gst/base/gstqueuearray.c:
-	  queuearray: fix gst_queue_array_drop_element()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692691
-	  Conflicts:
-	  libs/gst/base/gstqueuearray.c
-
-2013-01-29 16:55:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* libs/gst/base/gstbitreader-docs.h:
-	  docs: align the comments correctly with the declaration in bitreader docs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692809
-
-2013-01-29 09:45:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle renegotiation correctly
-	  Don't retry to negotiate when we fail to negotiate but instead produce a
-	  NOT_NEGOTIATED error. We only want to retry negotiation if the result from
-	  gst_pad_push() returned NOT_NEGOTIATED.
-
-2013-01-28 20:41:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From a942293 to 2de221c
-
-2013-01-28 13:05:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/stream-status.c:
-	  example: fix FIXME in example
-	  Use setpriority to raise priority
-
-2013-01-27 06:20:51 -0800  Simon Feltman <sfeltman@src.gnome.org>
-
-	* gst/Makefile.am:
-	  g-i: add built enumtypes headers and sources to gir creation
-	  Add gstenumtypes.h/c for inclusion with g-ir-scanner. This fixes
-	  problems where introspection based bindings think GstState is
-	  typeless due to the GType not being included as an annotation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=691185
-
-2013-01-27 09:18:00 +0530  B.Prathibha <prathibhab@cdac.in>
-
-	* tests/check/pipelines/stress.c:
-	  tests: use g_timeout_add_seconds in pipeline stress test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692612
-
-2013-01-24 17:50:31 -0500  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Put the right path for the gstttestclock include file
-
-2013-01-24 15:50:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: rename variable
-	  The filter variable was used twice for different things.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692432
-
-2013-01-17 21:35:48 -0300  Niv Sardi <xaiki@evilgiggle.com>
-
-	* gst/gstpad.c:
-	  gst_pad_check_reconfigure: only remove flag if set.
-	  the code ifed a debug statement, that can't be right. anyway, the way it is,
-	  we don't really need that branch, as we set the flag to unset only if set
-	  (and that can't fail) hence the end result is always to unset the flag.
-	  Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691985
-
-2013-01-17 21:43:25 -0300  Niv Sardi <xaiki@evilgiggle.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: set NEED_RECONFIGURE flag if negotiate fails
-	  When negotiation fails, mark the pad as needing a reconfigure again so
-	  that it gets picked up again next time.
-	  Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986
-
-2013-01-19 12:51:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* tests/check/gst/gstpad.c:
-	* win32/common/libgstreamer.def:
-	  pad: add gst_pad_get_stream_id() utility function
-	  API: gst_pad_get_stream_id()
-
-2013-01-18 16:05:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  tools: minor addition to gst-launch-1.0 man page
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692015
-
-2013-01-18 16:01:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  tools: update gst-launch-1.0 man page for new debug levels
-	  There are more debug levels these days, not only 0-5.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=692015
-
-2013-01-17 00:38:14 -0600  Daniel Díaz <yosoy@danieldiaz.org>
-
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/libs/libsabi.c:
-	* tests/check/libs/struct_arm.h:
-	  tests: fix ABI check struct sizes for ARM
-	  and re-enable ABI check for ARM.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=691828
-
-2013-01-16 17:24:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  docs: add a note to the gst_adapter_take_buffer() docs about buffer flags
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682110
-
-2013-01-16 11:29:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstabi.c:
-	* tests/check/libs/libsabi.c:
-	  tests: disable ABI checks for architectures where the struct sizes are not up-to-date
-	  https://bugzilla.gnome.org/show_bug.cgi?id=691828
-
-2013-01-15 15:03:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 2a068ce to a942293
-
-2013-01-15 13:47:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	* docs/plugins/Makefile.am:
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* tests/check/Makefile.am:
-	  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-15 13:47:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translated string
-
-2013-01-15 09:42:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: add allow-none annotation for gst_pipeline_new()'s name property
-
-2013-01-14 20:02:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	  docs: minor GstBaseParse docs fixes
-	  Expose docs for gst_base_parse_finish_frame().
-
-2013-01-14 17:01:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefind: handle map failure
-
-2013-01-14 17:00:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle map failure
-
-2013-01-14 17:00:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: handle map failure
-
-2013-01-13 14:45:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add vfuncs to intercept queries
-	  Useful for video parses that want to attach matter or
-	  find out if downstream supports certain metas.
-	  API: GstBaseParseClass::src_query()
-	  API: GstBaseParseClass::sink_query()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=691475
-
-2013-01-12 20:54:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix up name of default event vfuncs
-
-2013-01-10 11:34:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontrolbinding.h:
-	  controlbinding: hide one unused typedef
-	  This is not used internally.
-
-2013-01-10 11:33:42 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolsource.c:
-	  docs: improve api docs for controlsource and -binding
-
-2013-01-05 16:30:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstghostpad.c:
-	  tests: fix leak in ghostpad unit test
-	  The created pad is never used and overwritten with
-	  another newly-created pad a few lines below.
-
-2013-01-04 12:27:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsystemclock.h:
-	  docs: minor systemsclock doc fix
-
-2013-01-03 10:16:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Initialize uninitialized variable
-
-2012-12-30 23:35:48 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: return gssize from gst_adapter_masked_scan_* functions
-	  As the return value of this function is -1 when the match is not found
-
-2013-01-01 10:23:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Check if buffers are too late before calling prepare/prepare_list
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690936
-
-2012-12-30 23:48:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	  configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
-	  AM_CONFIG_HEADER has been removed in the just-released automake 1.13:
-	  https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690881
-
-2012-12-22 16:50:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  caps, structure,  taglist: micro-optimisations
-	  Avoid some unnecessary GValue copying by making use of
-	  gst_structure_id_take_value() where possible.
-
-2012-12-22 16:29:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstvalue.c:
-	  gstvalue: some micro-optimisations
-	  Avoid unnecessary value copying, and unnecessary init/unset
-	  cycles which all go through the value table. There's a bunch
-	  of places where we copy a value and then unset it in the next
-	  line, instead of just taking over the source value.
-
-2012-12-22 16:53:47 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: fix location of repository with ssh
-
-2012-12-21 16:36:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	  bin: add flag to disable resync state change
-	  Add a GST_BIN_FLAG_NO_RESYNC that disables a resync when an element is added,
-	  removed or linked in the bin. This is interesting for complex bins that
-	  dynamically add elements to themselves and want to manage the state of those
-	  elements without interference from resyncs.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=690420
-
-2012-12-21 10:09:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-synchronisation.txt:
-	  docs: update synchronization document a little
-
-2012-12-20 16:40:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.h:
-	  systemclock: add OTHER clock type
-	  Add an OTHER clock type so that subclasses are able to mark themselves as
-	  using some other clock source than the realtime or monotonic clock.
-
-2012-12-20 13:31:02 +0100  Branko Subasic <branko@axis.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: correct overrun handling
-	  The control of wheteher a SingleQueue is full is not correct.
-	  Rewrote single_queue_overrun_cb() so it checks the correct variables
-	  when checking if the queue has reached the hard limits, and to
-	  increase the max buffer limit once for each call.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=690557
-
-2012-12-20 11:59:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: implement buffering query for all modes
-	  Also implement the buffering query for STREAM mode.
-
-2012-12-20 11:30:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: refactor buffering percent and stats
-	  Make methods to get the current buffering percent and the stats. We will use
-	  this in the query later.
-
-2012-12-13 13:47:29 +0100  Arnaud Vrac <avrac@freebox.fr>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix invalid output timestamps in some cases
-
-2012-12-14 15:22:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-events.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstoutputselector.c:
-	  NEWSEGMENT -> SEGMENT
-
-2012-12-14 14:03:43 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.prerequisites:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/random/porting-to-1.0.txt:
-	  docs: update plugin docs
-	  Update args/signals etc.
-
-2012-12-14 11:09:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsample.c:
-	* gst/gststructure.c:
-	  add debug category
-	  Adding a debug category is nicer than logging to the default category
-
-2012-12-14 11:08:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: improve debug
-
-2012-12-13 14:48:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: call _stop when start failed
-	  When we failed to complete the start, call stop again. This makes sure that all
-	  successfull calls to _start are paired with a _stop.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845
-
-2012-12-12 16:44:14 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/base.h:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/check.h:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/controller.h:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/net.h:
-	  libs: Use foo/foo.h as single-include header consistently everywhere
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688785
-
-2012-12-11 16:46:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: pass DTS and PTS to handle_buffer
-	  This makes it handle the timestamps correctly and avoids using a wrong timestamp
-	  for the output.
-
-2012-12-11 16:46:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: improve debug
-	  Add pts and dts in debug log
-
-2012-11-03 16:59:39 +0000  Andrzej Bieniek <andyhelp@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: report execution time in GST_TIME_FORMAT
-	  https://bugzilla.gnome.org/show_bug.cgi?id=687523
-
-2012-12-10 11:55:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  plugin: protect against NULL filename in debug
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=689948
-
-2012-12-06 09:48:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.h:
-	  bufferpool: clarify docs
-
-2012-12-05 14:56:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix docs
-
-2012-12-05 14:24:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: fix 0.10 docs to make more sense in 1.0
-
-2012-12-05 14:03:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: fix docs for 1.0
-	  Add parent to chain function signature and use it.
-
-2012-11-30 10:41:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: add reset-time type string
-
-2012-11-30 10:41:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: remove some casts
-
-2012-11-28 18:08:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: add link to python porting doc and app dev manual to porting-to-1.0.txt
-
-2012-11-28 17:36:55 +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-26 18:16:52 -0500  Luis de Bethencourt <luis@debethencourt.com>
-
-	* scripts/gst-uninstalled:
-	  add gst-editing-services to PKG_CONFIG_PATH
-
-2012-11-26 00:51:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: clean up sections file for pad probe defines that moved into enum
-
-2012-11-26 00:20:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	* gst/Makefile.am:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  gst: don't require gthread-2.0
-	  We don't need to link to gthread-2.0 any longer, since all
-	  the normal thread-related stuff is in GLib proper, and we
-	  don't use g_thread_init() any more.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=689043
-
-2012-11-25 23:42:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  gstreamer-1.0.pc: move gmodule-no-export-2.0 dependency to Requires.private
-	  Users of GStreamer are not generally expected to use the GModule API
-	  directly. so don't force them all to link against it.
-	  While we're at it, no need to define this via configure.ac really, just
-	  put the dependencies directly into the .pc.in file.
-
-2012-11-25 23:26:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/manual/appendix-integration.xml:
-	* docs/manual/basics-init.xml:
-	* gst/gst.c:
-	  docs: remove all mention of g_thread_init()
-	  It's been deprecated since GLib 2.32 and isn't needed any
-	  longer.
-
-2012-11-25 18:11:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: reduce debug log spam a bit
-	  Log locking/unlocking with TRACE debug level.
-
-2012-11-23 21:09:45 +0100  Alessandro Decina <alessandro.d@gmail.com>
-
-	* gst/gstevent.c:
-	  event: fix annotation for gst_event_parse_stream_start
-
-2012-11-23 13:36:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstpad.h:
-	  pad: document more pad probe values
-
-2012-11-23 13:34:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gsttestclock.h:
-	  testclock: remove unnecessary include
-
-2012-11-23 13:32:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstclock.c:
-	  tests: fix clock unit test build failure after header changes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688785
-
-2012-11-23 12:47:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstpad.h:
-	  pad: don't use parenthesis for ORed pad probe flag enums
-	  glib-mkenum doesn't like them for some reason.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688804
-
-2012-11-23 10:58:25 +0100  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstpad.h:
-	  pad: Put all of the probe types in the enum so they work with bindings
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688804
-
-2012-11-20 23:13:33 -0800  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbase.h:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/net/gstnet.h:
-	  libs: Add missing single include headers and use them in GIRs
-
-2012-11-20 16:34:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/gsttestclock.c:
-	  tests: don't use deprecated thread API
-
-2012-11-20 16:19:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add some debug
-
-2012-11-20 16:19:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: reset START_TIME when needed
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685870
-
-2012-11-20 15:37:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.h:
-	  value: Make G-I happy by hiding gst_g_thread_get_type()
-
-2012-11-20 15:07:37 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	* gstreamer.spec.in:
-	  Remove xfig from spec file
-
-2012-11-20 15:06:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  value: Use the GLib GType for GThread if compiling against GLib 2.35.3 or newer
-
-2012-11-20 12:56:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: Don't set the locale in gst_init()
-	  The function init_pre() in gstreamer/gst/gst.c calls setlocale(LC_ALL, ""),
-	  which sets the locale to the values specified in the environment.  This is
-	  wrong for two reasons:
-	  1. It is absolutely not the task of a library to decide on the correct locale
-	  for a program.  Some programs change the locale for various (good or bad)
-	  reasons, and libraries should respect that.  Programs where GStreamer's
-	  overwriting of the locale causes bugs include Emacs [1, 2], Sublime Text [3],
-	  and Lua [4].
-	  [1] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12392
-	  [2] http://bugzilla.novell.com/show_bug.cgi?id=779426
-	  [3] http://www.sublimetext.com/forum/viewtopic.php?f=3&t=8543
-	  [4] https://github.com/pavouk/lgi/issues/19
-	  Note that setting the locale can cause problems for programs that are not even
-	  linked against GStreamer.  In the case of Emacs, for example, GStreamer seems
-	  to be initialized through GTK via libcanberra.
-	  2. Setting the locale is not thread-safe, and therefore should not be done in a
-	  library.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=685650
-
-2012-11-16 19:41:48 +0100  Arnaud Vrac <avrac@freebox.fr>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: forward stream-start event in push mode
-
-2012-11-19 13:38:30 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	* docs/README:
-	* docs/manual/state-diagram.fig:
-	* docs/random/wtay/player.fig:
-	  Remove two last .fig files from build, they are now replaced with .svg files. That said I don't think either .fig file was still being used anywhere. With this change and the one in common GStreamer no longer depends on xfig.
-
-2012-11-19 13:16:48 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
-
-2012-11-19 11:23:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From b497c4f to a72faea
-
-2012-11-19 11:45:07 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	* docs/manual/state-diagram.svg:
-	* docs/random/wtay/player.svg:
-	  Add SVG versions of .fig file
-
-2012-11-17 10:27:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/examples/manual/Makefile.am:
-	  examples: don't compile testrtpool example if pthreads are not available like on win32
-	  Based on patch by: italarab@gmail.com
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688511
-
-2012-11-13 21:13:00 +0100  Arnaud Vrac <avrac@freebox.fr>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix clock leak in wait_running_time
-	  https://bugzilla.gnome.org/show_bug.cgi?id=688477
-
-2012-11-17 00:13:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcompat.h:
-	  gstcompat.h: move more deprecated API into the deprecated section
-	  https://bugzilla.gnome.org/show_bug.cgi?id=675598
-
-2012-11-14 12:20:54 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gsttask.c:
-	  task: documentation update
-	  GStaticRecMutex usage has been replaced by GRecMutex, reflect this
-	  change in the documentation.
-
-2012-11-14 10:55:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gsttestclock.c:
-	  testclock: port to new GLib threading API
-
-2012-11-13 23:11:34 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcompat.h:
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts
-	  https://bugzilla.gnome.org/show_bug.cgi?id=675598
-
-2012-11-13 22:42:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/libs/.gitignore:
-	  testclock: minor cleanups, add since markers for gtk-doc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683012
-
-2012-08-30 01:58:41 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/libs/gsttestclock.c:
-	  check: allow GstTestClock to handle clock notifications
-	  API: gst_test_clock_peek_id_count()
-	  API: gst_test_clock_has_id()
-	  API: gst_test_clock_peek_next_pending_id()
-	  API: gst_test_clock_wait_for_next_pending_id()
-	  API: gst_test_clock_wait_for_pending_id_count()
-	  API: gst_test_clock_process_next_clock_id()
-	  API: gst_test_clock_get_next_entry_time()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683012
-
-2012-11-13 21:29:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/Makefile.am:
-	  check: add dependency on gstcheck header files for exports.sym
-	  So exports.sym gets updated correctly, and our new symbols get
-	  exported correctly, which makes g-ir-scanner much happier in
-	  terms of linking.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683012
-
-2012-08-29 16:11:10 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gsttestclock.c:
-	* libs/gst/check/gsttestclock.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/gsttestclock.c:
-	  check: add GstTestClock as a deterministic clock for testing
-	  API: GstTestClock
-	  API: gst_test_clock_new()
-	  API: gst_test_clock_new_with_start_time()
-	  API: gst_test_clock_set_time()
-	  API: gst_test_clock_advance_time()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683012
-
-2012-11-09 21:10:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix debug message
-
-2012-11-08 20:22:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gststructure.h:
-	  structure: re-indent header file
-	  Tabs to spaces.
-
-2012-11-12 11:40:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  value: API: Add boxed type for GThread
-
-2012-11-12 10:30:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix indention for printing typefinder features
-
-2012-11-12 01:40:42 +0100  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gstinfo.c:
-	  info: fix compiler warning when debugging disabled
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688130
-
-2012-11-10 09:50:49 +0100  Alessandro Decina <alessandro.d@gmail.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: remove unused label. Fixes compiler warning.
-
-2012-10-29 12:08:31 +0000  Alessandro Decina <alessandro.d@gmail.com>
-
-	* plugins/elements/gstqueue.c:
-	* tests/check/elements/queue.c:
-	  queue: don't fail in _sink_event for sticky events
-	  Implement the same behaviour as gst_pad_push_event when pushing sticky events
-	  fails, that is don't fail immediately but fail when data flow resumes and upstream
-	  can aggregate properly.
-	  This fixes segment seeks with decodebin and unlinked audio or video branches.
-	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=687899
-
-2012-11-09 16:50:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: add simple rate control
-	  Add a max-bitrate property that will slightly delay rendering of buffers if it
-	  would exceed the maximum defined bitrate. This can be used to do
-	  rate control on network sinks, for example.
-	  API: GstBaseSink::max-bitrate
-	  API: gst_base_sink_set_max_bitrate()
-	  API: gst_base_sink_get_max_bitrate()
-
-2012-11-08 15:33:01 +1100  Matthew Waters <ystreet00@gmail.com>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: lock before unlock in _get_config
-	  Fixes deadlock on Windows
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687896
-
-2012-11-07 18:15:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: update courtesy of autoupdate
-
-2012-11-07 17:59:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  common: update for AG_GST_PLUGIN_DOCS python checks
-
-2012-11-06 18:29:28 +0100  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/running.xml:
-	* tools/gst-launch.1.in:
-	  Document GST_DEBUG_FILE
-
-2012-11-06 17:03:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix alignment of rank, etc.
-
-2012-11-06 16:58:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstelements.c:
-	  elements: fix leading space in plugin description string
-
-2012-11-03 20:38:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstdataurisrc.c:
-	* plugins/elements/gstdataurisrc.h:
-	* tests/check/elements/dataurisrc.c:
-	  Fix FSF address
-	  https://bugzilla.gnome.org/show_bug.cgi?id=687520
-
-2012-11-03 20:44:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* COPYING:
-	* docs/random/LICENSE:
-	* gst/gettext.h:
-	* gst/glib-compat-private.h:
-	* gst/glib-compat.c:
-	* gst/glib-compat.h:
-	* gst/gst-i18n-app.h:
-	* gst/gst-i18n-lib.h:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstallocator.c:
-	* gst/gstallocator.h:
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstcompat.h:
-	* gst/gstconfig.h.in:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* gst/gstdebugutils.c:
-	* gst/gstdebugutils.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstelementmetadata.h:
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstformat.c:
-	* gst/gstformat.h:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	* gst/gstmacros.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstpluginloader.c:
-	* gst/gstpluginloader.h:
-	* gst/gstpoll.c:
-	* gst/gstpoll.h:
-	* gst/gstpreset.c:
-	* gst/gstpreset.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrybinary.h:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* gst/gsttypefindfactory.c:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* gst/gstversion.h.in:
-	* gst/math-compat.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader-docs.h:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter-docs.h:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstindex.h:
-	* libs/gst/base/gstmemindex.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstbufferstraw.h:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstconsistencychecker.h:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_error.h:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_list.h:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_log.h:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_msg.h:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_pack.h:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_print.h:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/check_str.h:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* libs/gst/net/gstnet.h:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnettimeprovider.h:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.h:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfdsrc.h:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfilesrc.h:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstoutputselector.h:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	* scripts/create-uninstalled-setup.sh:
-	* scripts/five-bugs-a-day.pl:
-	* tests/benchmarks/caps.c:
-	* tests/benchmarks/capsnego.c:
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/controller.c:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	* tests/benchmarks/init.c:
-	* tests/benchmarks/mass-elements.c:
-	* tests/check/elements/capsfilter.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/queue2.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/elements/valve.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/generic/states.c:
-	* tests/check/gst/gst.c:
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/gstatomicqueue.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstchildproxy.c:
-	* tests/check/gst/gstclock.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/gst/gstdatetime.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstindex.c:
-	* tests/check/gst/gstinfo.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstmemory.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/gst/gstpipeline.c:
-	* tests/check/gst/gstplugin.c:
-	* tests/check/gst/gstpoll.c:
-	* tests/check/gst/gstpreset.c:
-	* tests/check/gst/gstquery.c:
-	* tests/check/gst/gstregistry.c:
-	* tests/check/gst/gstsegment.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/gst/gsttask.c:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tests/check/gst/gsturi.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/adapter.c:
-	* tests/check/libs/basesink.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/bytewriter.c:
-	* tests/check/libs/collectpads.c:
-	* tests/check/libs/controller.c:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/check/libs/gstnetclientclock.c:
-	* tests/check/libs/gstnettimeprovider.c:
-	* tests/check/libs/libsabi.c:
-	* tests/check/libs/queuearray.c:
-	* tests/check/libs/transform1.c:
-	* tests/check/libs/typefindhelper.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/parse-disabled.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/check/pipelines/queue-error.c:
-	* tests/check/pipelines/seek.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	* tests/check/pipelines/stress.c:
-	* tests/check/tools/gstinspect.c:
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-memory.h:
-	* tests/examples/memory/my-vidmem.c:
-	* tests/examples/memory/my-vidmem.h:
-	* tests/examples/metadata/read-metadata.c:
-	* tests/examples/streams/testrtpool.c:
-	* tests/examples/streams/testrtpool.h:
-	* tests/examples/typefind/typefind.c:
-	* tests/misc/network-clock-utils.scm:
-	* tests/misc/network-clock.scm:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/tools.h:
-	* win32/common/gstconfig.h:
-	* win32/common/gstversion.h:
-	  Fix FSF address
-	  https://bugzilla.gnome.org/show_bug.cgi?id=687520
-
-2012-10-31 19:33:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: add "flush-on-eos" property
-	  In flush-on-eos=true mode any data remaining in the queue is
-	  discarded when an EOS event is received, and the EOS passed
-	  downstream as soon as possible (instead of waiting for all
-	  buffers in the queue to get processed by downstream first).
-	  May or may not be useful in capture/encoding scenarios.
-
-2012-10-31 18:32:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  common: update for python detection
-	  Fixes docs build.
-
-2012-10-31 17:37:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* 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-10-30 10:04:44 +1100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Clarify docs about the buffer handler callback.
-	  Clarify that the callback owns a ref on a passed buffer.
-
-2012-10-30 10:04:14 +1100  Jan Schmidt <thaytan@noraisin.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Add EOS status to debug output about filled/unfilled
-
-2012-10-22 00:31:09 +1100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/collectpads.c:
-	  check: Add a simple test for the CollectPads buffer collect callback
-
-2012-10-29 13:26:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  g-i: fix "can't resolve libraries to shared libraries: gstcheck-1.0" build error
-	  Revert --library=libfoo-1.0.la -> --library=foo-1.0 change made
-	  in previous commit. Turns out that was wrong, despite what the
-	  man page says.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=603710
-
-2012-10-29 11:30:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstutils.c:
-	  pad: downgrade 'creating random stream-id' debug log message
-	  No need for it to be a warning.
-
-2012-06-13 13:02:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: prevent excessively high memory usage with long streams
-	  Large streams would index one frame every second, which can get quite
-	  large with multi-hour streams, so add an additional byte-based
-	  minimum distance as well, which will kick in for long streams
-	  and make sure we never have more than a couple of thousand index
-	  entries.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666053
-
-2012-10-28 17:17:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: g-i: avoid multiple libraries in the shared-library tag
-	  Using multiple libraries causes problems for the C# bindings and
-	  will for similiar languages such as Java when there are bindings
-	  for them.
-	  Also change --library=libgstfoo-X.la to --library=gstfoo-X as
-	  the man page suggests it should be done.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679315
-
-2012-10-28 15:53:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* win32/common/libgstreamer.def:
-	  pluginfeature: add gst_plugin_feature_get_plugin_name()
-	  API: gst_plugin_feature_get_plugin_name()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=571832
-
-2012-10-27 14:40:14 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstinfo.c:
-	  info: allow setting of GST_DEBUG levels by name
-	  e.g. GST_DEBUG=*:INFO,*src:LOG
-
-2012-06-29 12:38:52 -0400  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* gst/gst.c:
-	  gst: make us of the new gst_debug_set_threshold_from_string function
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679152
-
-2012-06-29 12:05:36 -0400  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* win32/common/libgstreamer.def:
-	  info: add a function to set debug threshold from a GST_DEBUG-style string
-	  Use the same format as with the GST_DEBUG environment variable.
-	  API: gst_debug_set_threshold_from_string()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679152
-
-2012-10-25 15:27:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/libs/queuearray.c:
-	  queuearray: Fix unit test
-
-2012-10-22 10:13:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueuearray.h:
-	* win32/common/libgstbase.def:
-	  dataqueue/queuearray: Make public API again
-	  These are actually used outside of coreelements nowadays.
-	  Also hide lots of internals and add padding and documentation.
-
-2012-10-25 12:10:27 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to feature development
-
-=== release 1.0.2 ===
-
-2012-10-25 00:04:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 1.0.2
-
-2012-10-24 16:13:34 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tests/examples/manual/Makefile.am:
-	  examples: link testrtpool to pthreads
-	  Fixes #686787
-
-2012-10-24 11:46:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: Allow GST_CLOCK_TIME_NONE as duration for GAP events
-
-2012-10-24 11:16:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: use new GCond for async state change
-	  Use a new GCond, protected with the object lock, to signal completion
-	  of the async state change. We can't reuse the live lock because that
-	  one can be locked when the create function blocks.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686723
-
-2012-10-22 20:25:43 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>
-
-	* gst/gstallocator.c:
-	  allocator: fix memory leak in _fallback_mem_copy
-	  https://bugzilla.gnome.org/show_bug.cgi?id=686658
-
-2012-10-22 20:33:06 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>
-
-	* gst/gstpreset.c:
-	  preset: remove variable not read
-	  https://bugzilla.gnome.org/show_bug.cgi?id=686659
-
-2012-10-22 15:04:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* libs/gst/check/libcheck/Makefile.am:
-	* m4/ax_pthread.m4:
-	* tests/examples/streams/Makefile.am:
-	  configure: Properly check for pthread
-	  The old check failed on Android for example.
-
-2012-10-22 10:25:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: Don't use GST_DEBUG() in gst_debug_add_log_function() and related functions unconditionally
-	  If GStreamer was not initialized yet this will cause g_warnings().
-
-2012-10-20 19:44:43 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: fix g-i annotation for GstCollectPadsBufferFunction
-	  We pass ownership of the buffer to the function.
-
-2012-10-20 12:54:06 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/libs/Makefile.am:
-	* gst/gst.c:
-	  g_type_init() is no longer required and deprecated in glib >= 2.35.0
-	  https://bugzilla.gnome.org/show_bug.cgi?id=686456
-
-2012-10-19 13:36:33 -0700  Michael Smith <msmith@rdio.com>
-
-	* gst/gstsample.c:
-	  GstSample: fix typo in G-I annotations, allows creating GstSamples from bindings.
-
-2012-10-18 15:31:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: Fix compiler warning about constness
-	  passing argument 1 of 'g_mutex_lock' discards 'const' qualifier from pointer target type
-	  passing argument 1 of 'g_mutex_unlock' discards 'const' qualifier from pointer target type
-
-2012-10-17 17:34:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  Use gst_element_class_set_static_metadata()
-	  where possible. Avoids some string copies. Also re-indent
-	  some stuff. Also some indent fixes here and there.
-
-2012-10-17 16:49:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstpipeline.c:
-	  bin, pipeline: use gst_element_class_set_static_metadata()
-	  So the strings aren't copied.
-
-2012-10-16 12:31:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: API: Add GstElement::post_message() vfunc
-	  Conflicts:
-	  gst/gstelement.h
-
-2012-10-16 11:54:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-events.xml:
-	  pwg: link to caps and qos chapters
-
-2012-10-16 11:20:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-queryfn.xml:
-	* docs/pwg/pwg.xml:
-	  pwg: add section about query function
-
-2012-10-16 11:12:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-eventfn.xml:
-	  pwg: fix event function
-
-2012-10-15 19:56:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: minor docs fixes
-
-2012-10-15 19:55:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: fix buffer leak in clip_time
-
-2012-10-15 18:44:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: call clip function with user data
-
-2012-10-15 14:06:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/pwg.xml:
-	  pwg: reorder some chapters
-	  Reorder some chapter so that they match the steps done in the
-	  element.
-
-2012-10-15 13:59:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: small tweaks to negotiation
-
-2012-10-15 13:44:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: improve negotiation documentation some more
-
-2012-10-15 12:10:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: update negotiation part
-
-2012-10-15 12:10:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-synchronisation.txt:
-	  docs: update synchronization docs
-
-2012-10-12 16:58:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: work on rewriting caps negotiation docs
-
-2012-10-12 16:09:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	  design: rename passthrough negotiation
-	  Rename passthrough negotiation to transform negotiation to avoid
-	  confusion with passthrough operation.
-
-2012-10-12 13:15:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-pads.xml:
-	  manual: no more new-decoded-pad
-
-2012-10-12 13:13:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/appendix-compiling.xml:
-	* docs/manual/manual.xml:
-	  manual: move embedding elements to separate chapter
-
-2012-10-12 13:01:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-qos.xml:
-	  pwg: small example for throttle
-
-2012-10-12 12:55:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-qos.xml:
-	* docs/pwg/pwg.xml:
-	  pwg: add info about QoS
-
-2012-10-12 12:55:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/intro-basics.xml:
-	  pwg: adds some more links
-
-2012-10-12 12:55:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  qos: messages are posted, not dropped
-
-2012-10-12 10:35:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/communication.png:
-	* docs/manual/diagrams-general.svg:
-	* docs/manual/diagrams-pipelines.svg:
-	* docs/manual/gstreamer-overview.png:
-	* docs/manual/mime-world.png:
-	* docs/manual/thread-buffering.png:
-	  manual: update graphics
-
-2012-10-11 17:10:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-buffering.xml:
-	* tests/examples/manual/.gitignore:
-	* tests/examples/manual/Makefile.am:
-	  manual: add example of no-rebuffer buffering strategy
-
-2012-10-11 17:10:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/basics-bus.xml:
-	* docs/manual/intro-gstreamer.xml:
-	  manual: small tweaks
-
-2012-10-11 17:09:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: buffering time left is in milliseconds
-
-2012-10-11 17:07:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/basics-bins.xml:
-	  manual: add some text about bin state change order
-
-2012-10-10 16:43:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/highlevel-playback.xml:
-	* tests/examples/manual/Makefile.am:
-	  manual: talk about playsink
-	  Talk about playsink and give an example of its usage.
-
-2012-10-10 14:11:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/dataurisrc.c:
-	  replace some playbin2 -> playbin
-
-2012-10-10 13:08:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/highlevel-playback.xml:
-	* docs/manual/manual.xml:
-	* tests/examples/manual/Makefile.am:
-	  manual: add something about uridecodebin
-
-2012-10-10 11:35:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: ensure all timestamps are in same time domain
-	  ... by not only processing incoming buffers through a clip function,
-	  but also other timestamps such as those coming from GAP event.
-
-2012-10-10 10:36:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.h:
-	  docs: adjust some parameter mismatches
-
-2012-10-10 11:34:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Downgrade GST_WARNING to GST_INFO
-	  It's usually not a problem if a query fails if there's no peer,
-	  especially as it will happen during pad linking (caps query)
-	  quite often and spams the logs.
-
-2012-10-09 17:06:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* tests/examples/manual/.gitignore:
-	* tests/examples/manual/Makefile.am:
-	  manual: remove outdated autoplugging section
-	  Remove autoplugging chapter and point to decodebin/playbin examples.
-
-2012-10-09 16:12:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-threads.xml:
-	* tests/examples/manual/.gitignore:
-	* tests/examples/manual/Makefile.am:
-	  manual: Talk about threading
-	  Rework the threading chapter.
-	  Talk about stream-status and give some examples on how to change
-	  the thread priorities.
-
-2012-10-09 15:57:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-stream-status.txt:
-	  design: improve stream-status document
-
-2012-10-09 15:31:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: retrieve the result from start_complete
-	  gst_base_src_start_complete() can fail when the thread could not be
-	  started, for example. Make sure it causes the state change to fail by
-	  retrieving the result from _start_complete().
-
-2012-10-09 15:31:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: improve debug
-
-2012-10-09 10:24:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: small docs fixes and remove a 0.11 fixme
-
-2012-10-08 16:42:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffering.txt:
-	* docs/manual/advanced-buffering.xml:
-	* docs/manual/manual.xml:
-	  manual: talk a bit about buffering
-
-2012-10-08 13:22:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-clocks.xml:
-	* docs/pwg/advanced-clock.xml:
-	  docs: improve clock chapter
-
-2012-10-08 10:39:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* tests/examples/manual/Makefile.am:
-	  manual: add example for effect switching
-
-2012-10-08 09:11:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-preroll.txt:
-	* docs/design/part-sparsestreams.txt:
-	  docs: small updates
-
-2012-10-07 16:48:25 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development (bug-fixing)
-
-=== release 1.0.1 ===
-
-2012-10-07 13:10:33 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Release 1.0.1
-
-2012-10-07 00:15:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/struct_i386.h:
-	* tests/check/libs/struct_i386.h:
-	  tests: update struct_i386.h for ABI checks
-	  Fixes make check on 32-bit x86.
-
-2012-10-06 17:26:21 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/libs/struct_ppc32.h:
-	  tests: update struct_ppc32.h for ABI checks
-	  Fixes make check on 32-bit PowerPC.
-
-2012-10-06 14:55:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6c0b52c to 6bb6951
-
-2012-10-06 12:08:34 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/examples/manual/.gitignore:
-	  examples: .gitignore more binaries from the manual
-
-2012-10-05 16:04:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	* docs/design/part-block.txt:
-	* docs/design/part-probes.txt:
-	  docs: remove obsolete part-block document
-	  Merge the part-block document into part-probes
-
-2012-10-05 09:42:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: resend dropped events
-	  If we try to push sticky events but a probe dropped them, we don't mark
-	  the event as received and mark the pad as PENDING_EVENTS. This ensures
-	  that we resend the event the next time. For this we need to let the
-	  custom flow return from the probe trickle up to
-	  gst_pad_push_event_unchecked() so that we can differentiate between
-	  OK and DROPPED probe returns.
-
-2012-10-05 07:14:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't store sticky events on flushing/EOS pads
-	  Don't store sticky events on flushing or EOS pads. This was done
-	  correctly for source pads but not for sink pads.
-
-2012-10-04 11:24:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstbase.def:
-	  docs: add Since markers for new API and add it to docs and .def file
-
-2012-10-04 11:50:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* tests/examples/manual/Makefile.am:
-	  manual: add dynamic capsfilter example
-
-2012-10-04 11:18:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: don't prefer passthrough
-	  Basetransform should not try to negotiate in passthrough mode but
-	  respect the order of what we return in the transform_caps method.
-	  A typical case is that you specify some specific new caps in the
-	  caps property but also allow the current caps to pass.
-
-2012-10-04 11:15:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetrans: add an option to prefer passthrough
-	  Basetransform attempts to do passthrough mode regardless of the order of
-	  the transform_caps method. Add a method to disable this.
-	  This is needed for elements like capsfilter that want to transform caps
-	  based on the order of the caps property.
-
-2012-10-04 10:01:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: improve some comments
-
-2012-10-03 17:17:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: talk some more about dynamic pipelines
-
-2012-10-03 13:49:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	  meta: don't put essential logic in g_return_val_*
-
-2012-10-03 13:45:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* tests/check/gst/gstmeta.c:
-	  meta: do metadata registration threadsafe
-	  We need to use g_once to register the metadata implementations
-	  only once.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=685332
-
-2012-10-03 13:35:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	  meta: handle multiple implementation registration
-	  First check that we can actually register the implementation before
-	  making a GstMetaInfo. If we can't register we would otherwise end
-	  up with an undefined type and an invalid GstMetaInfo.
-	  It's possible that type registration fails because another metadata
-	  with the same implementation name was already registered.
-
-2012-10-03 13:12:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: use CDATA for code blocks
-	  then we don't have to escape special token anymore.
-
-2012-10-03 13:09:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* tests/examples/manual/Makefile.am:
-	  manual: add partial preroll example with probes
-
-2012-10-03 10:53:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: add more stuff about probes
-
-2012-10-02 17:23:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: start talking about dynamic pipeline changes
-
-2012-10-02 16:47:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  manual: move section around
-
-2012-10-02 16:44:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* tests/examples/manual/Makefile.am:
-	  pwg: add appsink docs
-
-2012-10-02 16:15:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* tests/examples/manual/Makefile.am:
-	  pwg: rewite data-access chapter
-	  Rewrite the data-access chapter so that we talk about appsrc instead
-	  of the fakesrc hacks.
-
-2012-10-02 13:22:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-klass.txt:
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/appendix-integration.xml:
-	* gst/gstpreset.c:
-	* po/README:
-	* tools/gst-plot-timeline.py:
-	  docs: some 0.10 -> 1.0 changes
-
-2012-10-02 13:12:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	  pwg: add allocation query example
-
-2012-10-02 12:49:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	  pwg: add bufferpool docs
-
-2012-10-02 11:34:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/manual.xml:
-	* docs/pwg/advanced-allocation.xml:
-	  pwg: flesh out allocation docs
-	  Add more examples.
-	  Add example for implementing new metadata.
-	  Add programs to the docs (again?), it seems to contain useful info.
-
-2012-10-01 16:59:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/titlepage.xml:
-	  pwg: add new author
-
-2012-10-01 16:55:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-allocation.xml:
-	  pwg: add allocation docs
-
-2012-10-01 16:46:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffer.txt:
-	* docs/design/part-bufferpool.txt:
-	* docs/design/part-meta.txt:
-	  docs: update design docs
-
-2012-10-01 13:28:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-bufferpool.txt:
-	* docs/design/part-memory.txt:
-	* docs/pwg/advanced-allocation.xml:
-	* docs/pwg/pwg.xml:
-	  docs: more docs fixes
-	  Fix allocator design doc
-	  Add beginning of allocation chapter in the pwg
-
-2012-10-01 11:47:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/appendix-checklist.xml:
-	* docs/pwg/appendix-porting.xml:
-	* docs/pwg/other-manager.xml:
-	* docs/pwg/other-ntoone.xml:
-	  pwg: final cleanups for 1.0
-
-2012-10-01 11:24:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-events.xml:
-	* docs/pwg/other-base.xml:
-	  pwg: fix events and base classes
-
-2012-10-01 10:40:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-tagging.xml:
-	  pwg: fixup tag docs
-
-2012-10-01 09:48:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-interfaces.xml:
-	  pwg: patch up the section about interfaces
-
-2012-09-30 04:05:36 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix seamless segment function
-	  The 3rd parameter of gst_base_src_new_seamless_segment in
-	  0.10 is the time associated with the start of the new segment,
-	  not the position in the new segment. Fix the name of the parameter,
-	  the docs, and the implementation to match the needs of the only
-	  extant consumer: DVD playback.
-
-2012-09-29 14:35:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstcaps.c:
-	  value: avoid duplicates when intersecting lists
-	  Fixes negotiation taking a ridiculous amount of
-	  time (multiple 10s of seconds on a core2) when
-	  there are duplicate entries in lists.
-	  Could have a negative performance impact on other
-	  scenarios because we now have to iterate the
-	  dest list to avoid duplicates, but we don't
-	  have a lot of lists any more these days, and
-	  they tend to be small anyway. The negatives
-	  are hopefully countered by the positive effects
-	  of reducing the list length early on in the
-	  process. And in any case, it's the right thing
-	  to do.
-	  Based on patch by Andre Moreira Magalhaes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684981
-
-2012-09-29 00:27:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/pwg/building-boiler.xml:
-	  pwg: minor update
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621121
-
-2012-09-28 23:53:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/faq/dependencies.xml:
-	  faq: add missing </para> tag
-
-2012-09-28 15:17:27 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstminiobject.c:
-	* tests/check/gst/gstmemory.c:
-	  miniobject: Always reject WRITE locks on READONLY miniobjects
-	  Verify that mapping a read-only memory as read doesnt make it writable
-
-2012-09-28 20:38:20 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/faq/dependencies.xml:
-	* docs/random/autotools:
-	* docs/random/moving-plugins:
-	  docs: purge all mention of liboil, update FAQ
-	  https://bugzilla.gnome.org/show_bug.cgi?id=673285
-
-2012-09-28 16:03:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-dparams.xml:
-	* docs/pwg/advanced-interfaces.xml:
-	  pwg: update for 1.0
-	  Rewrite clock part.
-	  start on interfaces
-
-2012-09-28 13:25:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-request.xml:
-	  pwg: rework dynamic pads docs
-
-2012-09-28 13:25:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-scheduling.xml:
-	  pwg: rework scheduling docs
-
-2012-09-28 13:24:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-props.xml:
-	* docs/pwg/other-base.xml:
-	  pwg: remove some GST_BOILERPLATE
-
-2012-09-28 11:18:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-activation.txt:
-	  docs: update activation design docs
-
-2012-09-28 10:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: fix activate docs
-
-2012-09-28 10:04:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: fix more negotiation for 1.0
-
-2012-09-27 16:59:04 +0200  Olivier Blin <olivier.blin@softathome.com>
-
-	* gst/gstinfo.c:
-	  info: do not register printf extension for %p
-	  This happened when glib was not using system printf, and caused the
-	  internal gstreamer printf extensions to be used for all %p printfs,
-	  causing crashes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684970
-
-2012-09-27 17:21:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	  pwg: fix some negotiation to 1.0
-
-2012-09-27 14:42:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-props.xml:
-	* docs/pwg/building-state.xml:
-	* docs/pwg/building-testapp.xml:
-	  pwg: more updates for 1.0
-
-2012-09-27 13:57:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-chainfn.xml:
-	* docs/pwg/building-eventfn.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/pwg.xml:
-	  pwg: more updates for 1.0
-
-2012-09-27 11:53:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/building-boiler.xml:
-	  pwg: update boiler to 1.0
-
-2012-09-27 11:06:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: also ref the internal pad for activate functions
-	  Also take a ref to the internal pad in the activate functions
-
-2012-09-24 18:26:16 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstghostpad.c:
-	  proxypad: Hold a reference to the internal pad while pushing through it
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684809
-
-2012-09-25 14:44:54 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* tests/check/gst/gstghostpad.c:
-	  tests: Test the case where ghost pads are removed while streaming
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684809
-
-2012-09-27 09:44:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/libsabi.c:
-	* tests/check/libs/struct_arm.h:
-	* tests/check/libs/struct_hppa.h:
-	* tests/check/libs/struct_i386.h:
-	* tests/check/libs/struct_ppc32.h:
-	* tests/check/libs/struct_ppc64.h:
-	* tests/check/libs/struct_sparc.h:
-	* tests/check/libs/struct_x86_64.h:
-	  tests: enable library abi checks
-
-2012-09-26 23:32:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  docs: fix up basesrc/basesink docs formatting
-
-2012-09-26 17:08:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  tests: add abi checks
-	  Enable abi checks again.
-	  Fix abi sizes for x86_64, copy the file to other archs.
-
-2012-09-26 16:26:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  update docs for 1.0 API
-
-2012-09-26 14:15:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  uri: use proper 'transfer floating' annotation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664099
-
-2012-09-26 13:19:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: send STREAM-START event
-	  Send a STREAM_START event when we are operating in pull mode.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684424
-
-2012-09-26 10:55:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstsegment.h:
-	  segment: mark GstSegmentFlags as flags rather than enum
-	  ... which really makes a difference when trying to serialize
-	  a flags value which is a combination of flags, which is hard
-	  to do as an enum type.
-
-2012-09-26 10:54:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: retimestamp both pts and dts when doing so
-
-2012-09-26 15:01:42 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Move some run of the mill debug statements to LOG level
-
-2012-09-26 14:23:52 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Output timestamps after a seek.
-	  Reinitialise the DTS after a seek so as to continue
-	  generating timestamps when baseparse is not downstream
-	  of a demuxer.
-	  Fixes: #684538
-
-2012-09-25 17:06:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/other-ntoone.xml:
-	* tools/gst-launch.1.in:
-	* tools/gst-typefind.1.in:
-	  docs: updates
-	  MIME-type -> Media type
-	  Fix some old gst-inspect output
-
-2012-09-25 16:53:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/intro-preface.xml:
-	  pwg: update for 1.0 API
-
-2012-09-25 15:11:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add section for metadata
-
-2012-09-25 13:09:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	  elementfactory: Fail if no valid element factory metadata is set
-
-2012-09-25 13:09:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  plugin: Fail if no valid plugin metadata is set
-
-2012-09-25 15:06:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: also track and store segment info in single segment mode
-
-2012-09-25 14:40:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-threads.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/appendix-integration.xml:
-	* docs/manual/appendix-porting.xml:
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-bus.xml:
-	* docs/manual/basics-data.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-helloworld.xml:
-	* docs/manual/highlevel-components.xml:
-	* docs/manual/intro-basics.xml:
-	* docs/manual/manual.xml:
-	* docs/random/porting-to-1.0.txt:
-	* tests/examples/manual/Makefile.am:
-	  manual: fix up the manual
-	  MIME-type -> media types
-	  Fix up the manual in various places with the 1.0 way of doing things
-	  such as probes, static elements, scheduling, ...
-	  Add porting from 0.10 to 1.0 chapter.
-	  Add probe example to build.
-	  Remove some docs for remove components such as GstMixer and
-	  GstPropertyProbe, XML...
-
-2012-09-24 16:50:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/intro-gstreamer.xml:
-	  docs: gst-python is no more
-	  gst-python is no more and gst-libav is one of the main modules that
-	  we release.
-
-2012-09-24 16:31:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  docs: fix basesink docs
-
-2012-09-24 16:25:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/faq/getting.xml:
-	* docs/faq/troubleshooting.xml:
-	* docs/faq/using.xml:
-	  docs: update FAQ
-	  Change versions.
-	  Use tools with version prefix.
-
-2012-09-25 13:15:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations for typo fix
-
-2012-09-25 13:14:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: fix typo in translated string
-	  Spotted by Chris Leonard.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684755
-
-2012-09-25 09:27:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: Remove 0.11.9X->1.0.0 version mangling
-
-2012-09-25 01:02:03 +0100  Josep Torra Valles <n770galaxy@gmail.com>
-
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/gstpollstress.c:
-	  benchmarks: printf format fixes to make intel compiler happy
-	  https://bugzilla.gnome.org/show_bug.cgi?id=552657
-
-2012-09-25 00:55:59 +0100  Josep Torra Valles <n770galaxy@gmail.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gsttee.c:
-	* tools/gst-launch.c:
-	* tools/tools.h:
-	  Make intel compiler happier
-	  https://bugzilla.gnome.org/show_bug.cgi?id=552657
-
-2012-09-24 16:31:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development (bug fixing)
-
-=== release 1.0.0 ===
-
-2012-09-24 12:19:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 1.0.0
-
-2012-09-24 00:39:26 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-1.0.txt:
-	  docs: update 0.11 references in porting guide
-
-2012-09-24 00:37:27 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	* docs/random/porting-to-1.0.txt:
-	  docs: rename porting-to-0.11.txt to porting-to-1.0.txt
-
-2012-09-23 19:56:43 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gstcheck.h:
-	  check: fix FIXME printing for tcase_skip_broken_test()
-
-2012-09-23 17:30:50 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/release:
-	  docs: update release doc
-	  Create tags for releases without the ugly RELEASE- prefix.
-
-2012-09-23 12:42:01 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: don't forward random stream-start event
-	  It's not right, and we don't know what extra properties
-	  that event might have set in future (e.g. sparseness).
-	  This change means collectpad users need to create their
-	  own stream-start event now. We could add a utility
-	  function that creates a stream-start event based on
-	  the input stream-start events.
-
-2012-09-22 16:07:15 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 4f962f7 to 6c0b52c
-
-2012-09-21 21:13:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/manual/advanced-dparams.xml:
-	  manual: update controller documentation
-
-2012-09-21 21:13:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  object: update controller documentation
-
-2012-09-18 15:22:03 +0200  Bastian Winkler <buz@netbuz.org>
-
-	* tools/gst-launch.1.in:
-	  man: Fix syntax for value lists in caps strings
-	  Value lists use curly brackets instead of parentheses
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684293
-
-2012-09-20 14:48:17 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: Remove pad probes only once
-	  Also add test to make sure that if a pad probe is removed while it's
-	  callback is running, the cleanup_hook isn't called again if it
-	  returns GST_PAD_PROBE_REMOVE
-
-2012-09-19 15:01:46 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: Add functions to safely access GstProbeInfo data pointer
-	  This is so that introspection based bindings can access it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684402
-
-2012-09-19 23:25:54 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/manual/basics-bins.xml:
-	  docs: remove reference to 0.8 GstBin API from manual
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684048
-
-2012-09-19 15:14:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: transform GAP event in single segment mode
-
-2012-09-19 09:44:08 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  docs: collectpads doc fixes
-
-2012-09-18 21:49:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: check acquire result value
-	  Check the result value from _buffer_pool_acquire() and return the
-	  value when allocation failed.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684285
-
-2012-09-18 12:14:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Fix refcount bug by unreffing the correct variable
-
-=== release 0.11.99 ===
-
-2012-09-17 17:56:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.11.99
-
-2012-09-17 13:35:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* win32/vs10/Common.props:
-	  Remove GST_USE_UNSTABLE_API guard and defines
-
-2012-09-17 13:09:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstghostpad.c:
-	  pad: Add parent parameter to the link and unlink functions
-	  Fixes part of bug #683995.
-
-2012-09-16 23:20:46 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gsttag.c:
-	  sample: add serialisation/deserialisation functions for GstSample
-	  Since these things are inside taglists now, it would be good to be
-	  able to print them and deserialise them.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681322
-
-2012-09-15 21:56:07 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	* gstreamer.spec.in:
-	  Switch to F18 naming of the package
-
-2012-09-15 18:43:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/basics-elements.xml:
-	* tools/gst-inspect.c:
-	  use gst_element_factory_get_metadata to replace obsolete API
-
-2012-09-14 17:52:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/basics-bus.xml:
-	  replace gst_tag_list_free with gst_tag_list_unref
-
-2012-09-14 17:08:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  replace gst_element_class_set_details_simple with gst_element_class_set_metadata
-
-2012-09-14 17:00:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/gst/gstpreset.c:
-	* tests/check/libs/controller.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/examples/controller/control-sources.c:
-	  replace gst_element_class_set_details_simple with gst_element_class_set_metadata
-
-2012-09-06 16:32:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: whitespace fix
-
-2012-09-14 14:08:18 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	  docs: indexers are no more
-	  https://bugzilla.gnome.org/show_bug.cgi?id=684018
-
-2012-09-14 13:34:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/stepping/framestep1.c:
-	  tests: fix for appsink return value addition
-
-2012-09-14 02:54:52 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	  Back to development
-
-=== release 0.11.94 ===
-
-2012-09-14 02:46:34 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.11.94
-
-2012-09-14 01:28:46 +0100  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstpad.c:
-	  pad: don't try to pretty-print event after we've given away ownership
-	  Might cause crashes with debug logging enabled.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683996
-
-2012-09-14 01:17:54 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations
-
-2012-09-14 00:30:37 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstcompat.h:
-	  gstcompat: fix backwards compat macro for gst_message_new_duration
-	  Name it properly, so it, like, works. Clearly no one actually
-	  used that..
-
-2012-09-13 12:00:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/intro-basics.xml:
-	  docs: fix formats a little
-
-2012-09-13 11:38:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: add new baseparse function
-
-2012-09-13 11:38:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  docs: fourcc is no more
-
-2012-09-13 11:35:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-klass.txt:
-	* docs/design/part-missing-plugins.txt:
-	* docs/faq/using.xml:
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/pwg/advanced-negotiation.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/other-ntoone.xml:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gsttee.c:
-	* tests/benchmarks/caps.c:
-	* tests/benchmarks/capsnego.c:
-	* tests/check/gst/gststructure.c:
-	* tools/gst-launch.1.in:
-	  docs: fix some docs
-	  from git grep for ffmpegcolorspace and x-raw-
-
-2012-09-13 10:48:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  parse: add missing declaration
-
-2012-09-13 10:24:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: indent fix
-
-2012-09-12 22:44:37 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Add a mode/flag for disabling PTS interpolation
-	  To be used by sub-classes implementing video formats with reordering
-	  such as MPEG.
-
-2012-09-10 18:38:57 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Handle GAP and still-frame events.
-	  Hacky, because the still-frame code all lives in -base, where we
-	  can't use it - so this is a hacky duplication of -base code. Not
-	  sure which way to fix this: Move baseparse to -base, or move still-frame
-	  events to core?
-
-2012-09-04 19:38:26 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Restructure event handling
-	  Make the event handling more like what videodecoder does,
-	  to ensure that all events are passed to child classes before being
-	  placed on the pending queue or pushed onward.
-
-2012-09-03 10:30:08 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Store incoming cached events in reverse order
-	  Reverse the list just before sending. Prepending is more efficient
-	  than appending, so this saves some cycles.
-
-2012-09-02 23:32:50 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: First attempt at handling both DTS and PTS
-
-2012-09-13 00:38:21 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttaglist.c:
-	  taglist: add warning when we get something else than a sample for a sample tag
-	  Facilitate GstBuffer -> GstSample transition for some tags,
-	  could be hard to catch otherwise when creating tags, since
-	  it'll only be apparent later when someone tries to read the
-	  tags.
-
-2012-09-12 14:14:31 +0200  Andreas Frisch <fraxinas@opendreambox.org>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: don't crash if no element klass has been set
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683865
-
-2012-09-12 23:12:14 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/collectpads.c:
-	  collectpads: fix a misplaced ')'
-
-2012-09-12 21:20:46 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsterror.c:
-	  error: don't tell people to file a bug for negotiation errors
-
-2012-09-12 20:54:50 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* tests/check/libs/collectpads.c:
-	* win32/common/libgstbase.def:
-	  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 17:16:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: fix build on Cygwin
-	  ... where __fbufsize is not available
-
-2012-09-12 13:00:15 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/elements/queue2.c:
-	  Revert "tests: fix buffer leak in queue2 unit test"
-	  This reverts commit 232fd2953eb00f694b667e7796704f5974cea452.
-	  This was already fixed.
-
-2012-05-24 13:08:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix possible data corruption in ring buffer mode when seeking
-	  Fix race that could cause data corruption when seeking in ring buffer
-	  mode.
-	  In perform_seek_to_offset(), called from the demuxer's pull_range
-	  request, we drop the lock, tell upstream (usually a http source)
-	  to seek to a different offset, then re-acquire the lock before we
-	  do things to the ranges. However, between us sending the seek event
-	  and re-acquiring the lock, the source thread might already have pushed
-	  some data and moved along the range's writing_pos beyond the seek
-	  offset. In that case we don't want to set the writing position back
-	  to the requested seek position, as it would cause data to be written
-	  to the wrong offset in the file or ring buffer.
-	  Reproducible doing seek-emulated fast-forward/backward on 006653.
-	  Conflicts:
-	  plugins/elements/gstqueue2.c
-
-2012-05-24 13:06:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	  tests: fix buffer leak in queue2 unit test
-
-2012-09-12 12:23:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: remove glib deprecation compatibility trickery
-
-2012-09-12 12:22:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/tee.c:
-	  check: port to the new GLib thread API
-
-2012-09-12 11:52:25 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/queue2.c:
-	* tests/check/elements/tee.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstpipeline.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tests/check/libs/collectpads.c:
-	  tests: port to new GLib thread API
-
-2012-09-12 11:49:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	  tests: benchmarks: align error message with code
-
-2012-09-11 19:49:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* win32/common/libgstreamer.def:
-	  pad: expose gst_pad_mode_get_name() and use it in baseparse
-
-2012-09-11 13:22:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/create-uninstalled-setup.sh:
-	* scripts/gst-uninstalled:
-	  scripts: update for gst-ffmpeg -> gst-libav
-	  Now that we have a gst-libav git repository (symlinked to gst-ffmpeg).
-
-2012-09-11 17:27:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: adjust test logic for scheduling mode with flagS
-
-2012-09-11 16:39:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: add convenience API to query for scheduling mode and flags
-
-2012-09-11 16:29:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-events.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstbuffer.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/gst/gstevent.c:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/libgstreamer.def:
-	  events: remove STREAM_CONFIG
-	  We won't be able to implement this so it's better to move it out of the way.
-
-2012-09-11 16:09:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: clean up header indentation
-
-2012-09-11 11:34:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: allow NULL stream_id also when 0 srcpads
-	  We usually first create the stream_id for the stream_start event and then add
-	  the pad to the element. This means that this functions should work when there
-	  are no pads on the element yet.
-
-2012-09-10 21:39:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstquery.c:
-	* libs/gst/base/gstbaseparse.c:
-	* plugins/elements/gsttypefindelement.c:
-	  baseparse, typefind: only activate in pull mode if upstream is seekable
-	  Upstream might support pull mode, but only sequential pulls,
-	  which isn't gonna do much for us.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=634927
-
-2012-09-10 20:30:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting-to-0.11.txt: some minor fixes
-
-2012-09-10 16:52:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsample.c:
-	  sample: free info structure with sample if there is one and fix copy with NULL info structure
-
-2012-09-10 12:20:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: add padding to GstMapInfo
-
-2012-09-10 12:12:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	  libs: adjust comment style
-
-2012-09-10 12:11:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	* gst/gstobject.c:
-	  gst: remove some defunct commented code
-
-2012-09-10 12:00:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: improve porting doc
-
-2012-09-10 10:08:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/tools/gstinspect.c:
-	  tests: disable deprecation warnings
-	  define GLIB_DISABLE_DEPRECATION_WARNINGS earlier so that it is defined before
-	  the glib headers are loaded or else we trip over the GValueArray deprecations in
-	  gst-inspect.c.
-
-2012-09-07 01:02:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controller: fix direct control binding double -> int conversion
-	  Round properly to nearest integer. Fixes controller
-	  unit test on PowerPC G4.
-
-2012-09-06 15:06:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/examples/helloworld/helloworld.c:
-	  examples: fix bus/fd leak in hello world example
-	  https://bugzilla.gnome.org/show_bug.cgi?id=683470
-
-2012-09-05 19:55:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst-element-check.m4:
-	  gst-element-check.m4: fix action-if-found and not-found invocation
-	  Arguments got shifted back by one.
-
-2012-09-05 15:37:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: handle GAP event
-
-2012-09-04 12:13:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: wait_eos -> wait_event
-	  Fix a FIXME. Now we can also pass the GAP event to the subclass.
-
-2012-09-03 18:45:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/examples/controller/Makefile.am:
-	  examples: update Makefile.am android bits in controller example
-	  Should fix build failure reported on IRC.
-
-2012-08-30 19:15:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: check sticky events also after pad block
-	  Recheck for sticky events after doing a pad block because the pad block could
-	  have caused a relink and then we need to resend the events to the newly linked
-	  pad.
-	  Fixes things like switching of visualisations.
-
-2012-09-02 02:04:14 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: update for gst_message_new_duration -> _duration_changed()
-
-2012-09-02 01:17:44 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbin.c:
-	* gst/gstcompat.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED
-	  The duration should be re-queried via a query using the
-	  normal path, we don't want applications to use the value
-	  from the message itself, since it might no match what a
-	  duration query done from the sink upstream might yield.
-	  Also disables duration caching in GstBin. It should be
-	  added back again at some point.
-
-2012-09-01 23:54:23 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* configure.ac:
-	  configure: add reminder to remove GST_UNSTABLE_API stuff before 1.0.0
-
-2012-09-01 18:06:58 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* .gitignore:
-	* Makefile.am:
-	* configure.ac:
-	* gst-element-check.m4:
-	* gst-element-check.m4.in:
-	  gst-element-check.m4: rename AM_GST_ELEMENT_CHECK to GST_ELEMENT_CHECK
-	  And allow passing of a minimum version (if not needed, pass 1.0).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682968
-
-2012-09-01 17:50:14 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/.gitignore:
-	* tests/check/Makefile.am:
-	* tests/check/tools/gstinspect.c:
-	  tests: add check for gst-inspect --exists functionality
-
-2012-09-01 17:47:58 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-inspect.c:
-	  tools: add --exists and --atleast-version option to gst-inspect
-	  For checking if an element exists with a given minimum version.
-	  Will use that in our new GST_ELEMENT_CHECK m4 macro.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682968
-
-2012-09-01 17:32:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: disable version mangling for post-1.0.0 release
-	  Just in case we don't grep for FIXME 1.0 before the release.
-
-2012-08-31 11:31:45 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Make GAP events actually trigger preroll
-	  Slightly hacky approach needing refinement
-
-2012-08-31 06:25:22 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpad.c:
-	  gstpad: make some debug statements more verbose
-
-2012-08-31 06:23:53 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstghostpad.c:
-	* plugins/elements/gstinputselector.c:
-	  ghostpad: Make some debugging more verbose
-	  Also, remove an unnecessary #include in input-selector
-
-2012-08-28 15:44:48 -0700  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstsegment.c:
-	  GstSegment: Fix doc description string last_stop->position
-
-2012-08-30 19:47:57 +0100  Arnaud Vrac <avrac@freebox.fr>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: fix clock leak
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682997
-
-2012-08-29 22:57:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: output gst-inspect errors to stderr
-
-2012-08-28 07:39:50 +0200  Alban Browaeys <prahal@yahoo.com>
-
-	* gst/gstvalue.c:
-	  value: fix crash serialising a 0 flags value when there's no name for it
-	  Fixes segfault when doing gst-launch-1.0 -v -m camerabin
-	  (encodebin notifies a 0 value for its "flag" property).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=682958
-
-2012-08-24 23:14:57 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gst.c:
-	  gst: log performance warning debug message if glib emulates atomic ops
-
-2012-08-23 13:51:27 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
-
-	* gst/Makefile.am:
-	  gst: use configure-detected or externally provided glib-mkenums
-	  To ease cross-compilation.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677620
-
-2012-08-22 13:29:34 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 668acee to 4f962f7
-
-2012-08-22 13:14:56 +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-21 13:30:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: add _make_writable
-
-2012-08-21 00:03:37 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: mention some media type changes in porting-to-0.11.txt doc
-
-2012-08-20 13:51:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: minor update to porting doc for child proxy lookup method
-	  And a typo fix.
-
-2012-08-20 11:31:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	  allocator: make a copy with the same alignment
-	  When making a copy of the memory allocated from the default memory allocator,
-	  make sure the new copy has the same alignment as the original memory.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=680796
-
-2012-08-19 17:51:00 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make seeking in DEFAULT format work if the subclass can convert for us
-	  We only deal in TIME format ourselves, but if the subclass can handle
-	  converting other formats into TIME format, we can support that too.
-	  Fixes seeking in DEFAULT (sample) format with flacparse,
-	  and the flacdec unit test.
-
-2012-08-18 21:42:23 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-launch.1.in:
-	  tools: minor fixes to gst-launch man page
-
-2012-08-17 12:23:50 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: implement child_proxy support
-	  Elements such as the GstIirEqualizerNBands would so far not store the properties
-	  of their children. Now we also grab the properties of child elements and try to
-	  restore them.
-
-2012-08-14 18:44:38 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Wait for other streams to advance on unselected pads
-	  Otherwise we end up dropping a lot of data in the case where data starts
-	  arriving on the non-selected pad, resulting in big gaps in stream switching
-
-2012-08-14 18:43:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: More debug statements
-
-2012-08-14 18:42:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Don't forward stream-start sticky events
-	  Only one STREAM_START event should be let through, else it will
-	  confuse downstream elements that think a new stream is starting
-	  whereas in fact we are just switching to a different input.
-	  In the future we might want to let them through but with the same
-	  sequence number.
-
-2012-08-14 15:46:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* win32/common/libgstbase.def:
-	  docs: Add new basesrc/basetransform API to the docs
-
-2012-08-07 17:38:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: getters for pool and allocator
-	  Sometimes a transform filter would need the buffer pool or the memory
-	  allocator negotiated by the base class, for example, for querying different
-	  parameters, such as a bigger number of buffers to allocate by the buffer pool.
-	  This patch expose a two getters accessors: one for the buffer pool and the
-	  other for the memory allocator.
-
-2012-08-07 17:35:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: getters for pool and allocator
-	  Sometimes the sources would use the buffer pool or the memory allocator for
-	  something else than just allocating output buffers; for example, querying for
-	  different parameters, such as a bigger number of buffers to allocate by the
-	  pool.
-	  This patch expose a two getters accessors: one for the buffer pool and the
-	  other for the memory allocator.
-
-2012-08-14 00:39:18 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* win32/common/libgstreamer.def:
-	  registry: remove some unused and in their current form pointless API
-	  Not so useful: just adds/reads stuff from an internal GList without
-	  actually doing anything with those paths, so remove for now:
-	  gst_registry_add_path
-	  gst_registry_get_path_list
-	  https://bugzilla.gnome.org/show_bug.cgi?id=608841
-
-2012-08-12 13:27:06 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/parse/grammar.y:
-	  parse: fix up for gst_child_proxy_lookup() only working on child proxy interfaces
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681681
-
-2012-08-12 13:24:18 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	  childproxy: make gst_child_proxy_lookup() a proper GstChildProxy method
-	  No longer accept any old GObjects. This makes things nicer for
-	  bindings. If a utility function that handles both nicely
-	  is deemed worthwhile, we can still add one to gstutils.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681681
-
-2012-08-13 00:01:16 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstvalue.c:
-	  value: when serialising arrays or lists, handle types we can't serialise more gracefully
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681322
-
-2012-08-12 19:39:46 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: add some more details to failure messages
-	  Mention pad where the problem occured, and the event name.
-
-2012-08-12 18:36:09 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/collectpads.c:
-	  tests: fix collectpads test
-	  After an EOS we must send a FLUSH_STOP event if
-	  we want to send data again.
-
-2012-08-12 18:31:13 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstevent.c:
-	  event: fix leak in gst_event_parse_stream_start()
-	  gst_structure_id_get() will make a copy of the string
-	  extracted, but we're assigning it to a const gchar *.
-
-2012-08-12 16:40:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: make pipeline test valgrind clean
-
-2012-08-12 16:37:02 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstpipeline.c:
-	  tests: fix pipeline unit test
-	  Which was disabled because it failed.
-
-2012-08-12 15:48:20 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: fix unterminated quoted string in create-uninstalled-setup.sh
-
-2012-08-12 00:12:56 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: mention gst_video_format_parse_caps() in porting guide
-
-2012-08-11 22:19:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstevent.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttoc.c:
-	* gst/gstutils.c:
-	  docs: fix up docs a bit
-
-2012-08-11 22:18:13 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: fix up g-i annotation for _lookup() paramspec return value
-	  No ref is returned here.
-
-2012-08-11 22:17:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for new buffer functions
-
-2012-08-10 22:58:56 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix reverse playback with upstream demuxers that support it
-	  Don't just return FALSE for seek events with negative rates when
-	  operating in push mode. An upstream demuxer may support this just
-	  fine, so if we're not operating in pull mode always check upstream
-	  first if it can handle the seek event. This fixes reverse playback
-	  where the upstream demuxer supports it (e.g. with qtdemux). The
-	  same code would work fine in 0.10, because baseparse will just
-	  call the default pad event handler if FALSE was returned from the
-	  baseparse event handler, and the pad event handler will just
-	  forward it upstream. In 0.11 the baseclass or subclass is
-	  responsible for chaining up to the parent class or forwarding the
-	  event upstream in any case.
-	  Disable reverse playback in pull mode for now, there seems to
-	  be something going wrong with the segment configuration in that
-	  case.
-
-2012-08-04 11:48:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: do not error on not-negotiated
-	  Don't error out too early and let upstream decide if it can
-	  workaround a not-negotiated problem
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
-
-2012-08-04 11:48:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: retry on not-negotiate if a reconfigure is pending
-	  Before erroring out on not-negotiated returns, check if the pad
-	  has the reconfigure flag set and retry.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
-
-2012-08-04 11:42:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: add gst_pad_needs_reconfigure
-	  Add an alternative version of gst_pad_check_reconfigure that doesn't
-	  clear the reconfigure flag.
-	  Useful for increasing error resilience without duplicating the
-	  reconfigure code in pad task functions.
-	  API: gst_pad_needs_reconfigure
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681198
-
-2012-07-29 15:44:45 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstpad.h:
-	  pad: add GST_PAD_LINK_CHECK_DEFAULT to GstPadLinkCheck
-	  This allows introspection-based bindings to access
-	  Gst.PadLinkCheck.DEFAULT instead of
-	  Gst.PAD_LINK_CHECK_DEFAULT.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
-
-2012-07-29 14:57:41 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbuffer.c:
-	  buffer: mark gst_buffer_wrapped* data as array
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
-
-2012-07-24 13:26:00 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstobject.c:
-	* gst/gsttoc.c:
-	  introspection: fix some warnings generated by g-ir-scanner.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
-
-2012-07-30 21:46:18 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: convert gst_buffer_* macros to functions
-	  GObject Introspection does not support macros.
-	  This is needed for bindings. We can still add back
-	  macros or inline functions again later if we think
-	  it's worth it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678301
-
-2012-08-10 13:50:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: fix printf format in debug message
-
-2012-08-10 12:23:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: fix max_buffers handling
-	  When max_buffers > 0 and the pool is empty, actually try to allocate more
-	  buffers up to the max_buffers limit.
-	  We need to add a counter for this to count how many buffers we allocated and
-	  check this against the max_buffers limit.
-	  Reorganise and clean up some code.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681153
-
-2012-08-10 09:19:25 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: simplify by using g_socket_condition_timed_wait()
-	  No need to use a custom main context and custom timeout sources,
-	  just use g_socket_condition_timed_wait() instead, which was added
-	  for exactly this case.
-	  Also seems to help with the unit test deadlocking with glib 2.33.x
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681575
-
-2012-08-09 19:15:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: fix double string escaping in gst_object_default_deep_notify()
-	  Make output of gst-launch -v readable again.
-	  last-message = "event\ \ \ \*\*\*\*\*\*\*\ \(fakesink0:sink\)\ E\ \(type:\ tag\ \(20510\)\,\ GstTagList-stream\,\ taglist\=\(taglist\)\"taglist\\\,\\\ video-codec\\\=\\\(string\\\)H264\\\,\\\
-	  minimum-bitrate\\\=\\\(uint\\\)636611\\\,\\\ bitrate\\\=\\\(uint\\\)980729\\\,\\\ maximum-bitrate\\\=\\\(uint\\\)1116707\\\;\"\;\)\ 0x15bc760"
-	  vs.
-	  last-message = event   ******* (fakesink0:sink) E (type: tag (20510), GstTagList-stream, taglist=(taglist)"taglist\,\ video-codec\=\(string\)H264\,\ minimum-bitrate\=\(uint\)856039\,\ bitrate
-	  \=\(uint\)1019748\,\ maximum-bitrate\=\(uint\)1116707\;";) 0x11149e0
-
-2012-08-09 16:18:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: check writability
-	  fix the writability check for miniobjects. We should check the shared counter.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681450
-
-2012-08-08 16:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	  allocator: Set the alignment at the correct place in GstAllocationParams
-
-2012-08-08 16:18:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	  Back to development
-
-=== release 0.11.93 ===
-
-2012-08-08 15:05:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.11.93
-
-2012-08-08 14:49:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstobject.c:
-	  tests: remove silly test_fail_abstract_new check
-	  Our check would make sure that GLib segfaults when
-	  someone tries to instantiate an abstract type, which
-	  is an extremely useful thing to check for.
-	  In newer GLibs this is fixed and we get an abort with
-	  a g_error() now it seems, so let's just remove this
-	  check entirely.
-
-2012-08-08 09:53:26 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/examples/stepping/framestep1.c:
-	  examples: don't put things with side effects inside g_assert()
-	  They will be defined away to NOOPs otherwise in release builds.
-
-2012-08-08 09:13:38 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* win32/common/libgstreamer.def:
-	  win32: update for stream-id API additions
-
-2012-08-08 00:54:49 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/parse/grammar.y:
-	  parse: fix for new GstChildProxy::child-added signal callback signature
-	  Fixes crash with gst-launch-1.0 uridecodebin uri=... suburi=... ! ..
-
-2012-08-07 10:46:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Add allow-none to the function argument of gst_bus_set_sync_handler()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=681139
-
-2012-08-06 16:33:57 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* docs/gst/Makefile.am:
-	  docs: Make sure scanner gets required libraries
-
-2012-08-06 20:08:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: print which event we received before stream-start
-
-2012-08-06 20:04:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't try to answer URI queries with NULL URIs
-	  Should make unit tests in -base that use appsrc a bit happier.
-
-2012-07-29 14:25:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/elements/queue.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstpad.c:
-	  event: Update for stream-start event API changes
-
-2012-07-28 08:37:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  event: Add new stream-id field to the stream-start event
-	  This is supposed to allow uniquely identifying a single stream.
-
-2012-07-27 17:41:43 +0200  Edward Hervey <edward@collabora.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use the first created pad by default
-	  This guarantees a bit more consistency in which input stream will
-	  be selected by default. It would previously be the first pad on which
-	  an event/buffer/query was received ... which was racy and non-predictable.
-
-2012-07-27 17:38:34 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gstelement.c:
-	  element: Specify the order of pad iterators
-	  The order of returned pads wasn't specified before, so let's specify
-	  it and use an order which might prove the most useful : the order in
-	  which pads were added to the element.
-	  If someone changes the order, make sure users of those iterators from
-	  now on don't rely on that order !
-
-2012-08-05 17:16:27 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/check/gstcheck.h:
-	  check: add tcase_skip_broken_test() define
-	  Skips broken tests but logs an ERROR-level message to
-	  draw attention to that fact.
-
-2012-08-05 17:12:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/libs/.gitignore:
-	  tests: update .gitignore for queuearray test binary
-
-2012-08-05 17:11:46 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/libs/gstnetclientclock.c:
-	  tests: fix spurious netclientclock test failures
-	  Give clocks a bit more time to synchronise.
-
-2012-08-05 16:59:35 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  win32: update generated files
-
-2012-08-05 16:41:21 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: use generic marshaller for "block" action signal
-
-2012-08-05 16:37:24 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 94ccf4c to 668acee
-
-2012-08-04 13:37:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstallocator.c:
-	* gst/gstbuffer.c:
-	  buffer, defaultmem: add option to poison memory before freeing it
-	  Might be useful to track down certain bugs.
-
-2012-08-03 23:54:33 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gst.c:
-	  gst: ref/unref taglist scope enum in gst_init()
-	  Fixes make check and distcheck
-
-2012-08-03 00:05:53 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstplugin.c:
-	  plugin: warn if plugin name starts with a "
-	  This can easily happen as side-effect of the plugin name
-	  in GST_PLUGIN_DEFINE no longer being a string in 0.11, but
-	  a name to G_STRINGIFY.
-
-2012-08-02 13:19:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting-to-0.11 document with a "soft" API changes checklist
-	  Point out some API changes that the compiler won't
-	  be able to warn about.
-
-2012-08-02 11:33:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: fix printing of partial dates in gst-launch
-
-2012-08-02 11:15:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  Revert "tools: print TOC scope"
-	  This reverts commit ee6ab7c93638a6519acb976699a6ad149d520a95.
-	  The application will probably only ever receive global TOCs,
-	  so don't really need this.
-
-2012-08-01 17:49:27 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new tag list scope symbols
-
-2012-08-01 11:58:55 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: send segment_done event in addition to segment_done message
-
-2012-07-31 17:25:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstfilesrc.c:
-	  basesrc: Add default handler for URI query in GstURIHandler subclasses
-
-2012-07-28 17:33:52 +0200  Sjoerd Simons <sjoerd@luon.net>
-
-	* libs/gst/check/libcheck/check.h.in:
-	  check: unbreak fail #define
-	  The fail() definition was changed to not fail with non-GCC compilers,
-	  unfortunately the change was incorrect and appended the first argument
-	  of fail to the expression string instead of making it the message.
-	  This change does mean that fail() now requires a message to be passed
-	  along.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=680755
-
-2012-07-29 23:37:19 +0200  Jens Georg <mail@jensge.org>
-
-	* gst/gstbuffer.c:
-	  buffer: Update annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=680805
-
-2012-07-29 23:20:07 +0200  Jens Georg <mail@jensge.org>
-
-	* gst/gstutils.c:
-	  utils: Update annotation for get_compatible_pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=680804
-
-2012-07-28 21:23:24 -0400  Thibault Saunier <thibault.saunier@collabora.com>
-
-	* gst/gsturi.c:
-	  uri: Fix wrong 'array zero-terminated=1' annotation for strings
-
-2012-07-28 11:02:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/design/part-toc.txt:
-	  docs: update TOC design docs a little
-
-2012-07-28 09:41:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  event: make TOC event multi-sticky
-	  We need to send two kinds of TOCs downstream as events,
-	  and need both to stick to the pads.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
-
-2012-07-28 08:30:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: print TOC scope
-
-2012-07-27 23:56:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	* win32/common/libgstreamer.def:
-	  toc: add GstTocScope and require it in the constructor
-	  This is because we need to be able to signal different TOCs
-	  to downstream elements such as muxers and the application,
-	  and because we need to send both types as events (because
-	  the sink should post the TOC messages for the app in the
-	  end, just like tag messages are now posted by the sinks),
-	  and hence need to make TOC events multi-sticky.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
-
-2012-07-27 23:54:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: create-uninstalled-setup.sh: check for basic build tools and deps
-	  .. before checking out stuff.
-
-2012-07-27 23:52:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstutils.c:
-	  tag: Add a scope to taglists
-	  This specifies if a given taglist applies to the complete
-	  medium or only this specific stream. By default a taglist
-	  has a stream scope.
-	  Fixes bug #677619.
-
-2012-07-27 17:09:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	  segment: add offset field
-	  Add an offset field that is used to track at what position the segment was
-	  updated. This is used to set the running time to 0 when we do a flushing
-	  seek that doesn't update the position.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=680306
-
-2012-07-27 15:19:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstsegment.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gststructure.c:
-	  Update for new seeking variable name
-	  When seeking, the start value and type are now called start and start_type.
-
-2012-07-27 14:53:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: small cleanup
-	  Move the code to update the segment at the end of the function.
-
-2012-07-27 12:05:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  Update docs and .def file for taglist API change
-
-2012-07-27 13:02:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: remove redundant checks
-	  We don't need to check the segment format anymore because we asserted on them
-	  being equal before.
-
-2012-07-27 12:24:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: improve segment tests
-
-2012-07-27 12:12:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstallocator.c:
-	* gst/gstallocator.h:
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-vidmem.c:
-	  allocator: remove user_data from alloc vmethod
-	  Remove the user_data from the alloc vmethod. Subclasses that implement a new
-	  alloc function can also implement their own vmethod to pass extra arguments. We
-	  can then also require that custom allocators implement an alloc function so that
-	  gst_allocator_alloc() always works.
-
-2012-07-27 10:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: remove segment accumulation checks
-	  Remove the checks because there is no more segment accumulation.
-
-2012-07-26 16:44:15 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: make GST_TAG_APPLICATION_DATA also a GstSample
-	  That way additional meta-data can be passed along with it.
-
-2012-07-26 15:51:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	  taglist: gst_tag_list_get_buffer*() => gst_tag_list_get_sample*()
-	  Image tags and other tags are now of GstSample type.
-
-2012-07-26 15:26:09 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tools/gst-launch.c:
-	  gst-launch: print image tags and other GstSample tags properly
-	  These tags are now of type GstSample not GstBuffer.
-
-2012-07-24 21:38:35 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* win32/common/libgstbase.def:
-	  collectpads: remove unimplemented api
-	  We can always add this back if we need it. Fixes parts of #670852.
-
-2012-07-24 13:49:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: also account for frame size when merely scanning for frame
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680495
-
-2012-07-24 13:48:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove obsolete function parameter
-
-2012-07-24 12:38:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: require bytes before typefinding
-	  Require that we have some bytes in the adapter before we attempt to typefind.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680479
-
-2012-07-23 18:49:13 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>
-
-	* gstreamer.spec.in:
-	  update spec file with latest changes
-
-2012-07-23 16:27:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  bufferlist: pass index as gint to _insert
-	  Make the idx argument of _insert() a gint because we allow -1 as a value.
-	  Improve annotation.
-
-2012-07-23 13:40:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	  plugins: print flags better
-	  print the buffer flags as a hex number so that it becomes easier to see what
-	  flags are set.
-
-2012-07-18 17:03:45 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Improve warning message when re-adding fd to fdset
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680181
-
-2012-07-23 08:44:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 98e386f to 94ccf4c
-
-2012-07-20 00:49:28 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  value: add GstTagList serialisation/deserialisation
-	  So we can serialise/deserialise taglists inside structures,
-	  which used to work automagically before because GstTagList
-	  was just a typedef to GstStructure (same for the GType),
-	  but now that it's a separate GType we need to register
-	  explicit functions for this.
-	  Helps with GDP stuff in pipelines/streamheader tests.
-
-2012-07-20 09:38:47 +0200  Philippe Normand <philn@igalia.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: Update .po files
-
-2012-07-19 13:51:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/gst/gstbuffer.c:
-	  tests: gstbuffer: add tests for some mulitple map combinations
-
-2012-07-19 13:35:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: fix sharedness check
-
-2012-07-19 13:20:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: refuse write when object is shared
-	  In all cases, refuse to write an object when it is shared by more than one
-	  object (also when the object was locked before).
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=679145
-
-2012-07-18 15:21:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/gst/gstbuffer.c:
-	  tests: gstbuffer: extend buffer copy test
-
-2012-07-19 12:42:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: set buffering-left to 0 on 100% buffering
-	  Set the buffering-left field in the query to 0 when we are completely buffered.
-	  Improve the debug.
-
-2012-07-19 12:14:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix buffering query
-	  Fix the buffering query, fill in the right buffering-left and estimated-total
-	  values.
-
-2012-07-19 10:54:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix the buffering-left in the buffering message
-	  The buffering-left field in the buffering message should contain a time estimate
-	  in milliseconds about for long the buffering is going to take. We can calculate
-	  this value when we do rate_estimates.
-
-2012-07-19 10:14:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: improve buffering message defaults
-	  Remove the estimated-total field, this should not be part of the buffering
-	  message.
-	  Set the default value of buffering-left to 0 when the percent is 100.
-
-2012-07-18 17:44:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix debug line
-	  Use QUERY_TYPE on query types.
-
-2012-07-18 17:35:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* win32/common/libgstreamer.def:
-	  ghostpad: remove custom function
-	  Remove custom pad functions, the default ones are better.
-
-2012-07-18 17:30:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add PROXY_SCHEDULING flag
-	  Add a flag that makes the default query handler forward the scheduling query.
-
-2012-07-18 17:30:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix docs
-
-2012-07-18 16:20:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstutils.c:
-	  pad: improve query caps function
-	  In the proxy_query_caps function, also filter against the filter in the query.
-	  We don't need to filter against the filter in the query anymore in the default
-	  caps query function because we already did this in the proxy_query_caps.
-
-2012-07-18 11:17:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-framestep.txt:
-	* gst/gstsegment.c:
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle -1 step amounts
-	  Define a 0 and -1 step amount. They used to almost do the same thing but now, 0
-	  cancels/stops the current step and -1 keeps on stepping until the end of the
-	  segment.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=679378
-
-2012-07-18 12:30:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: fix gst_query_parse_nth_allocation_pool() annotation
-	  It returns a ref to the pool.
-
-2012-07-17 15:52:53 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstghostpad.c:
-	  check: Avoid deadlock
-	  Queries will be sent when pipeline goes down to NULL, which would
-	  result in the probe being called ... but can't take the lock.
-
-2012-07-17 15:50:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  gstghostpad: Forward queries in both direction
-	  Use the peer of the internal pad to forward them, instead of the
-	  target which only exists for the ghostpad (and not the internal
-	  proxy pad).
-
-2012-07-17 11:20:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: More entries
-
-2012-07-18 09:15:51 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstqueue.c:
-	  queue: answer SCHEDULING query
-	  Instead of letting the default query handler fail.
-
-2012-07-17 19:20:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: handle CAPS event and drop it if operating in ring buffer mode
-	  Fixes "Unexpected event of kind caps can't be added in temp file"
-	  warning when doing download buffering.
-
-2012-07-17 12:57:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: make _foreach_meta more powerful
-	  Make _foreach_meta return FALSE when the foreach function returned FALSE.
-
-2012-07-17 12:52:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  bufferlist: improve foreach function
-	  Make the foreach function return FALSE when one of the function calls returned
-	  FALSE.
-
-2012-07-17 12:50:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add more debug
-
-2012-07-17 12:40:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix debug string
-
-2012-07-17 09:57:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstparse.c:
-	* gst/parse/grammar.y:
-	* gst/parse/types.h:
-	  parse: fix some debug
-
-2012-07-17 09:48:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstparse.c:
-	  parse: only escape spaces outside of quotes
-	  When we escape spaces to keep arguments together, only escape when the space is
-	  outside a "" string.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=673319
-
-2012-07-17 09:44:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstparse.c:
-	  Revert "parse: escape \ with a \ as well, so that we don't lose the \ when unescaping"
-	  This reverts commit dd9fedb41f1ada8e1f8bd5346fccd3d068d543cb.
-	  This is not the right place to escape the \, we should only escape the spaces to
-	  keep the arguments together that were provided as one group (with quotes on the
-	  shell).
-
-2012-07-10 12:27:11 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstutils.c:
-	  utils: set return type of gst_parse_bin_* to GstBin for introspection
-
-2012-06-30 12:33:43 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/net/gstnettimepacket.c:
-	  nettimepacket: add missing array annotation to gst_net_time_packet_new
-
-2012-06-29 17:33:49 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstformat.c:
-	  introspection: add missing array annotation to gst_formats_contains
-
-2012-07-16 20:54:17 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: aggregate durations like in adder
-	  Stop querying the duration once an element return unknown and return unknown
-	  as a final result. This avoid eventually cutting off a stream too early.
-	  Add a tests to docuement the behavior.
-
-2012-07-16 00:24:46 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstdatetime.c:
-	  datetime: just return NULL on short input strings instead of a warning
-	  We want to be able to use this function on random non-NULL input,
-	  this should not result in a runtime-critical.
-
-2012-07-15 12:59:44 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix seekability querying with formats with headers like FLAC
-	  Move code that checks for upstream seekability and all that to
-	  the right place, otherwise it will never be done for formats
-	  that have headers such as FLAC, as handle_and_push frame will
-	  be called the first time only after headers have been processed
-	  (and framecount is > 0). This then makes us report that we
-	  can't seek, which disables the seek bar in totem.
-
-2012-07-14 20:33:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstdataqueue.c:
-	* plugins/elements/gstdataqueue.h:
-	  plugins: embed GstAueueArray in dataqueue struct as well
-
-2012-07-14 20:28:54 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstelements.c:
-	  plugins: don't use one-time array in plugin_init
-
-2012-07-14 20:26:04 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: embed GstQueueArray structure
-
-2012-07-14 20:00:30 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstcapsfilter.h:
-	* plugins/elements/gstfakesink.h:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfdsink.h:
-	* plugins/elements/gstfdsrc.h:
-	* plugins/elements/gstfilesink.h:
-	* plugins/elements/gstfilesrc.h:
-	* plugins/elements/gstfunnel.h:
-	* plugins/elements/gstidentity.h:
-	* plugins/elements/gstinputselector.h:
-	* plugins/elements/gstmultiqueue.h:
-	* plugins/elements/gstoutputselector.h:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueue2.h:
-	* plugins/elements/gstqueuearray.h:
-	* plugins/elements/gsttee.h:
-	* plugins/elements/gsttypefindelement.h:
-	* plugins/elements/gstvalve.h:
-	  plugins: sprinkle some more G_GNUC_INTERNAL
-
-2012-07-14 19:38:39 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstqueuearray.c:
-	* plugins/elements/gstqueuearray.h:
-	  plugins: add init/clear functions to GstQueueArray
-
-2012-07-14 19:24:57 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstdataqueue.h:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueuearray.c:
-	* plugins/elements/gstqueuearray.h:
-	* tests/check/libs/queuearray.c:
-	* win32/common/libgstbase.def:
-	  base: make GstQueueArray private to coreelements for now
-	  Keep it private until we have a reason to make it public.
-
-2012-07-14 19:08:24 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttaglist.c:
-	  taglist: check value type matches tag type when adding values to a taglist
-
-2012-07-14 18:52:50 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstinfo.c:
-	  info: make taglists and datetime loggable via GST_PTR_FORMAT
-
-2012-07-13 12:05:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: send seek event upstream first
-	  First try to let upstream handle the seek event, then fail if the event is
-	  something we don't understand.
-
-2012-07-13 09:43:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  pad: fix test raciness
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679506
-
-2012-07-12 13:17:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: fix gst-ffmpeg plugin path again
-
-2012-07-12 12:09:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add clutter-gst and refine plugin search paths
-
-2012-07-12 00:34:22 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpad.c:
-	  gstpad: Move sticky flag clearing code to gst_pad_activate_mode
-	  The ghostpad code directly activates/deactivates the child code by
-	  calling gst_pad_activate_mode, rather than gst_pad_set_active, so
-	  make sure to clear the flags in gst_pad_activate_mode(), which should
-	  catch all cases.
-
-2012-07-11 12:40:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: improve annotation
-
-2012-07-11 12:37:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle step end correctly
-	  when we have a new step event with a -1 amount, make sure that we follow the
-	  regular code path so that the stop_end handler is called as usual. This takes
-	  care of flushing the buffer in case of a flushing step and also posts a step end
-	  message.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=679378
-
-2012-07-11 13:14:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstnet.def:
-	  win32: Fix exported symbols list for real now
-
-2012-07-11 11:21:18 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	  segment: remove removed api from the docs.
-
-2012-07-11 12:46:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  win32: Updated exported symbols list
-
-2012-07-11 12:45:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  toc: Add functions to retrieve the parent GstToc/GstTocEntry of a GstTocEntry
-
-2012-07-10 18:15:20 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* gst/gsttoc.c:
-	  toc: Fix gst_toc_find_entry()
-	  Recursive search for the required entry, instead of returning the
-	  top-level entry that contains an entry with the search UID.
-
-2012-07-11 10:26:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Push STREAM_START in pull-mode
-
-2012-07-11 10:24:51 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Demote WARNING to DEBUG
-	  It is not an issue to get fields that don't exist, calling code should
-	  handle that.
-
-2012-07-10 11:46:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstconfig.h.in:
-	* gst/gstdatetime.c:
-	* gst/gstdebugutils.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gsterror.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstiterator.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.c:
-	* gst/gstpoll.h:
-	* gst/gstpreset.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	* gst/gsttoc.c:
-	* gst/gsttocsetter.c:
-	* gst/gsttrace.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* gst/gstversion.h.in:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader-docs.h:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter-docs.h:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstconsistencychecker.h:
-	* plugins/elements/gstdataqueue.c:
-	* plugins/elements/gstdataqueue.h:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  Remove 0.10-related documentation and "Since" markers
-
-2012-07-10 00:39:37 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: provide fallback in case a create function doesn't know about provided buffers
-	  In 0.11 the caller may provide a buffer to be filled by the source to
-	  pull_range/get_range/create, but it's easy to miss this new case when
-	  porting code from 0.10. Provide fallback that copies the created data
-	  into the provided buffer for now.
-	  This makes oggdemux in pull-mode work with dataurisrc.
-
-2012-07-10 10:31:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasetransform.c:
-	  query: copy structure in _add_allocation_meta()
-	  Make gst_query_add_allocation_meta() take a copy of the passed caps instead of
-	  taking ownership. This makes it easier for the caller in most cases because it
-	  doesn't have to make a copy and deal with NULL values.
-
-2012-07-10 10:11:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add new flags
-
-2012-07-09 23:47:53 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: fix exclusive lock/unlock race
-
-2012-07-10 00:59:40 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: copy into provided buffer if a buffer is provided
-
-2012-07-09 21:51:07 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gsttypefindelement.c:
-	  basesrc, basesink, baseparse, typefind: use GST_SEGMENT_FLAG with segment flags
-
-2012-07-09 22:11:31 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  segment: also copy the segment flag
-	  Fixes segmented seeks (as tested e.g. in the adder tests in base).
-
-2012-07-09 20:55:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataqueue.h:
-	  plugins: sprinkle G_GNUC_INTERNAL for dataqueue functions
-	  And remove padding, since this is not public API any more.
-
-2012-07-09 20:48:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/parse/types.h:
-	  gst: sprinkle some G_GNUC_INTERNAL for internal functions
-
-2012-07-09 20:09:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	  tests: fix toc unit tests
-	  Meant to check subsubentry, not subentry.
-
-2012-07-09 18:58:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttoc.c:
-	  tests: minor toc test clean-up
-
-2012-07-09 18:51:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	  tests: turn toc check macros into proper functions
-	  So we can see the line number of the check that fails.
-
-2012-07-09 20:31:00 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  win32: Update defs file for API changes/addition
-
-2012-07-09 20:29:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  check: Update tests for new STREAM_START message
-
-2012-07-09 20:28:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  check: Ensure STREAM_START message is posted
-	  A STREAM_START message is posted if and only if all sinks in the
-	  bin/pipeline received the STREAM_START event
-
-2012-07-09 20:28:20 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Post a STREAM_START message when we see the event
-
-2012-07-09 20:27:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  gstbin: collect and aggregate STREAM_START messages
-	  when all sinks have posted a STREAM_START, the bin will forward a
-	  new STREAM_START message to the parent bin or application
-
-2012-07-09 20:08:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* win32/common/libgstreamer.def:
-	  gstmessage: New GST_MESSAGE_STREAM_START
-	  message counterpart to the GST_EVENT_STREAM_START event
-
-2012-07-09 19:59:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  check: Unit test for EOS message
-	  Make sure we get the aggregated message if and only if all sinks
-	  received an EOS event
-
-2012-07-09 19:56:15 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: add STREAM_START handling
-	  Use a flag to forward the first STREAM_START
-
-2012-07-09 16:20:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-caps.txt:
-	* docs/design/part-streams.txt:
-	  docs: update stream docs for SEGMENT_START event
-
-2012-07-09 16:48:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: fix more docs
-
-2012-07-09 16:22:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstallocator.h:
-	  docs: fix docs a little more
-
-2012-07-09 16:02:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gstallocator.c:
-	* gst/gstallocator.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/examples/memory/memory_test.c:
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-memory.h:
-	* tests/examples/memory/my-vidmem.c:
-	  memory: Make GstAllocator a GstObject
-	  Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool.
-	  Make a new gstallocator.c file. Make a GstAllocator subclass for the default
-	  allocator.
-
-2012-07-09 13:20:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: remove unused macros
-
-2012-07-09 13:20:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* tests/check/gst/gstclock.c:
-	  clock: make abstract
-	  Make the GstClock type abstract.
-	  Fix a horrible hack in the clock unit test.
-
-2012-07-09 15:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Fix handling of min-threshold and serialized queries
-	  Only consider the queue empty if the minimum thresholds
-	  are not reached and data is at the queue head. Otherwise
-	  we would block forever on serialized queries.
-	  This also makes sending of serialized events, like caps, happen
-	  faster and potentially improves negotiation performance.
-	  Fixes bug #679458.
-
-2012-07-09 13:15:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttoc.c:
-	  toc: remove padding now that the structs are private
-
-2012-07-09 13:12:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* tests/check/gst/gsttoc.c:
-	  toc: add gst_toc_dump() function for debugging
-	  API: gst_toc_dump()
-
-2012-07-03 00:07:11 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstsystemclock.c:
-	* tests/check/gst/gstpipeline.c:
-	  bus, clock: make sure these never have a floating ref
-	  Clear the initial floating ref in the init function for
-	  busses and clocks. These objects can be set on multiple
-	  elements, so there's no clear parent-child relationship
-	  here. Ideally we'd just not make them derive from
-	  GInitiallyUnowned at all, but since we want to keep
-	  using GstObject features for debugging, we'll just do
-	  it like this.
-	  This should also fix some problems with bindings, which
-	  seem to get confused when they get floating refs from
-	  non-constructor functions (or functions annotated to
-	  have a 'transfer full' return type). This works now:
-	  from gi.repository import GObject, Gst
-	  GObject.threads_init()
-	  Gst.init(None)
-	  pipeline=Gst.Pipeline()
-	  bus = pipeline.get_bus()
-	  pipeline.set_state(Gst.State.NULL)
-	  del pipeline;
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679286
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657202
-
-2012-07-08 20:15:33 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: suppress glib deprecations warnings for G_VALUE_ARRAY
-
-2012-07-07 23:13:20 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstvalue.c:
-	  tests: add more tests for datetime value serialisation/deserialisation
-	  Esp. of partial datetimes.
-
-2012-07-07 22:46:00 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gst_private.h:
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: use datetime serialise/deserialise functions for datetimes
-	  This re-uses existing code and makes sure we properly serialise
-	  and deserialise datetimes where not all fields are set (thus
-	  fixing some warnings when serialising such datetimes).
-
-2012-07-07 22:40:12 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstdatetime.c:
-	  datetime: do our own serialisation so we can serialise microseconds as well
-	  We still don't do that in _to_iso8601_string() though, since
-	  this will probably mostly be used in tags, where it doesn't
-	  matter so much and the microsecond argument might not be
-	  well-received by some tag readers.
-
-2012-07-07 19:43:50 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstdatetime.c:
-	  datetime: when deserialising parse microseconds if available
-
-2012-07-07 16:01:41 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstdatetime.c:
-	  datetime: fix second parsing failure case when deserialising datetime
-	  When we fail to parse the number of seconds, reset the value to -1
-	  instead of passing some error value as seconds. Also, we can still
-	  try to parse timezone information.
-
-2012-07-07 15:44:57 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-vidmem.c:
-	  examples: fix debug log print formats in memory examples
-
-2012-07-07 01:37:50 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: Add destroy notify arguments to debug stubs
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679535
-
-2012-07-06 20:37:06 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gststructure.c:
-	  gststructure: Set lcopy string const exactly as glib's macro
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
-
-2012-07-06 17:19:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-vidmem.c:
-	  memory: expose the GstAllocation structure
-	  Expose the GstAllocation structure and provide an _init function. This makes it
-	  easier to make 'subclasses' of the allocator that contain more info.
-	  It also allows us to expose the flags on the allocator miniobject.
-	  Make a flag to note that the allocator uses a custom alloc function.
-
-2012-07-06 12:45:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Demote WARNING to INFO
-	  It is common to use gst_structure_get() to know if a field is present
-	  or not.
-
-2012-07-06 11:41:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Remove unused define
-
-2012-07-06 11:41:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/libs/libsabi.c:
-	  check: gstcontroller.h doesn't exist anymore
-
-2012-07-06 11:40:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/libs/basesrc.c:
-	  check: Use consistencycheck on basesrc
-
-2012-07-06 11:38:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: Check for STREAM_START event
-	  Check that it is always before any serialized event.
-
-2012-07-06 10:13:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefindelement: remove unimplemented maximum property
-
-2012-07-06 10:09:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  tee: remove unimplemented has-sink-loop property
-
-2012-07-06 10:07:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: remove deprecated temp-location use, make it read-only
-
-2012-07-06 09:57:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: remove deprecated check-perfect property
-	  Replaced by the more specific check-imperfect-{timestamp,offset}
-
-2012-07-06 11:49:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  query: use more generic structure for meta params
-
-2012-07-06 11:22:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: make find_allocation_meta method
-	  Make gst_query_find_allocation_meta() that also return the index of the metadata
-	  and replaces gst_query_has_allocation_meta().
-
-2012-07-06 11:00:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  query: add flags to allocation query
-	  Make it possible to add API specific flags to the ALLOCATION query. This makes
-	  it possible to also check what kinds of subfeatures of the metadata API are
-	  supported.
-
-2012-07-06 09:11:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/memory/memory_test.c:
-	  tests: remove unused includes
-
-2012-07-05 18:07:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/memory/Makefile.am:
-	* tests/examples/memory/memory_test.c:
-	* tests/examples/memory/my-memory.h:
-	* tests/examples/memory/my-vidmem.c:
-	* tests/examples/memory/my-vidmem.h:
-	  memory: add more examples
-	  Add an example of a custom allocator with a custom API.
-
-2012-07-05 17:11:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/examples/memory/Makefile.am:
-	* tests/examples/memory/memory_test.c:
-	* tests/examples/memory/my-memory.c:
-	* tests/examples/memory/my-memory.h:
-	  memory: add gst_memory_init()
-	  Add a method that memory implementations can call to initialize the standard
-	  GstMemory structure.
-	  Move the parent handling in the _free handler.
-	  Rearrange some internal function parameters so that the order is consistent.
-	  Add more memory examples
-
-2012-07-05 16:17:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: fix some miniobject docs
-
-2012-07-05 14:25:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	* tests/examples/memory/.gitignore:
-	* tests/examples/memory/Makefile.am:
-	* tests/examples/memory/memory_test.c:
-	  tests: add memory example
-
-2012-07-05 12:25:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttoc.c:
-	  tests: fix toc unit test build by removing toc query stuff there too
-
-2012-07-05 13:03:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* win32/common/libgstreamer.def:
-	  event: Add format and position to the segment-done event
-
-2012-07-05 12:53:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffer.txt:
-	* docs/design/part-memory.txt:
-	* docs/design/part-miniobject.txt:
-	  docs: update docs
-
-2012-07-05 12:17:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	  miniobject: increase amount of possible flags
-
-2012-07-05 12:52:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  event: Implement segment-done event
-
-2012-07-05 12:37:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-toc.txt:
-	  part-toc: Remove section about TOC query
-
-2012-07-05 12:34:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  win32: Update exported symbols list
-
-2012-07-05 12:31:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: Remove the TOC query, it's not very useful now that we have sticky events
-
-2012-07-03 18:49:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  quark: Remove unneeded quarks
-
-2012-07-03 18:45:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-toc.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tools/gst-launch.c:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  toc: Make structures opaque and clean up function names and fields a bit
-
-2012-07-04 17:02:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer:fix debug category
-
-2012-07-04 16:38:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstevent.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	* gst/gstsample.c:
-	* gst/gsttaglist.c:
-	* gst/gsttoc.c:
-	* tests/check/gst/gstmemory.c:
-	* win32/common/libgstreamer.def:
-	  miniobject: add lock functionality to GstMiniObject
-	  Move the locking methods from GstMemory to GstMiniObject.
-	  Add a miniobject flag to enable LOCKABLE objects. LOCKABLE objects can
-	  use the lock/unlock API to control the access to the object.
-	  Add a minobject flag that allows you to lock an object in readonly mode.
-	  Modify the _is_writable() method to check the shared counter for LOCKABLE
-	  objects. This allows us to control writability separately from the refcount for
-	  LOCKABLE objects.
-
-2012-07-04 16:04:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  info: add new locking debug category
-
-2012-07-04 12:28:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix is_exclusive
-
-2012-07-04 12:03:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: add LOCK_FLAG_READWRITE define
-
-2012-07-04 11:48:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	  memory: update docs
-
-2012-07-04 10:12:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: small cleanup
-
-2012-07-03 13:50:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* win32/common/libgstreamer.def:
-	  update for new symbols
-
-2012-07-03 13:47:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: Fix the NO_SHARE flag in the constructor
-	  The NO_SHARE flag does not influence the exclusiveness of the buffer initially
-	  but only if a _share operation can be done. Otherwise, we would not be able to
-	  WRITE map a buffer memory because it would have a share count of at least 2.
-
-2012-07-03 13:47:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: only check the locking refcount
-
-2012-07-03 13:46:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix resize
-	  Correctly update the exclusive locks
-
-2012-07-03 13:45:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: Use lock flags for map flags
-	  We implement the locking in gst_memory_map with the lock flags, make matching
-	  flags the same number so that we can use the map flags directly as lock flags.
-
-2012-07-03 12:18:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: lock memory EXCLUSIVE
-	  lock the memory that the buffer references as EXCLUSIVE. This makes sure that
-	  when we share the memory with other buffers that it becomes unwritable.
-
-2012-07-03 12:16:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: cleanup the locking code
-	  cleanup and fix the locking code
-
-2012-07-03 09:48:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: expose the internal locking api
-	  Expose the internally used methods for locking and unlocking the object. Pass
-	  the access mode to the unlock function for extra checks and because we need it
-	  for the EXCLUSIVE locks.
-	  Make some new defines to specify the desired locking.
-	  Add a new EXCLUSIVE lock mode which will increment the shared counter. Objects
-	  with a shared counter > 1 will not be lockable in WRITE mode.
-
-2012-06-29 16:37:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/gst/gstbuffer.c:
-	  tests: gstbuffer: extend buffer copy test
-	  ... to check for independence of copied buffer.
-
-2012-07-04 18:32:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: remove outdated bits of warning message
-	  I think we can be reasonable sure people are using an up-to-date
-	  gst-uninstalled script now.
-
-2012-07-04 18:16:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	  Add versioned variants of some environment variables
-	  Improve parallel installability in setups like jhbuild by
-	  providing versioned variants of some environment variables:
-	  GST_REGISTRY_1_0
-	  GST_PLUGIN_PATH_1_0
-	  GST_PLUGIN_SYSTEM_PATH_1_0
-	  GST_PLUGIN_SCANNER_1_0
-	  will now be checked before checking the unversioned ones.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679407
-
-2012-07-04 17:55:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsample.h:
-	  docs: fix typo in GstSample docs
-
-2012-07-04 17:36:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.c:
-	* tests/check/gst/gsturi.c:
-	  uri: there are valid URI protocols with only two letters, like fd://
-	  We added a minimum length of three letters originally so we would
-	  fail to recognise DOS/Windows-style filenames as valid URIs (as we
-	  should). Two should be just fine as well.
-
-2010-10-13 13:36:08 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstbase.def:
-	  win32: API additions
-
-2009-09-29 09:54:24 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstdataqueue.c:
-	* plugins/elements/gstdataqueue.h:
-	  dataqueue: Use GstQueueArray
-
-2009-09-28 17:31:49 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: Use new GstQueueArray for local storage.
-	  Makes _chain() and _loop() 25% faster
-
-2009-09-29 09:06:13 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/queuearray.c:
-	  check: New unit test for GstQueueArray
-
-2009-09-28 17:30:04 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstqueuearray.c:
-	* libs/gst/base/gstqueuearray.h:
-	* win32/common/libgstbase.def:
-	  libs: New growing-only queue.
-	  This is a queue which has the same API as GQueue, except that:
-	  * It uses an array, instead of a doubled-linked-list
-	  * The array can only grow.
-	  This code is not-threadsafe. It is up to the owner to make sure the
-	  proper locking is taken before calling this API.
-
-2012-07-04 16:16:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-segments.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  segment: make sure we don't have unmapped seek flags littering out segment flags
-	  Make GstSeekFlag to GstSegmentFlag conversion explicit, and
-	  set only those seek flags in the segment flags which are
-	  mapped. This makes sure we don't have extraneous flags
-	  littering our segment flag field, which also fixes the
-	  debug printing/serialisation of segment events in the
-	  debug log.
-
-2012-07-04 10:24:11 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: minor porting-to-0.11.txt update
-
-2012-07-04 10:23:06 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: make checks for from/to_g_date_time() actually work properly
-
-2012-06-29 21:52:47 -0400  Joshua M. Doe <josh@joshdoe.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* tests/check/gst/gstdatetime.c:
-	* win32/common/libgstreamer.def:
-	  datetime: add conversion to/from GDateTime
-	  Exposes existing constructor.
-	  API: gst_date_time_to_g_date_time()
-	  API: gst_date_time_new_from_g_date_time()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679080
-
-2012-07-04 08:52:08 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: remove unused gst_print_* functions
-
-2012-07-03 22:24:22 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstpad.c:
-	  pads: no need to deactivate pads that are already in PAD_MODE_NONE
-
-2012-07-03 22:20:40 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	  pads: make pad activation debug logs a bit more readable
-
-2012-07-03 19:15:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/fakesrc.c:
-	  tests: add unit test for element re-use using fakesrc
-
-2012-07-03 19:04:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: clear EOS flag when deactivating pads fixing element re-use
-
-2012-07-03 17:25:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Post TOC messages on the bus in the sinks, similar to tags
-
-2012-07-03 12:38:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix the _get_mapped function
-	  Fix the internal _get_mapped function. gst_memory_make_mapped() takes ownership
-	  of the memory so we need to keep an additional ref until we are done.
-
-2012-07-03 12:23:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add more debug log
-
-2012-07-03 10:02:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: The GAP event is (partially) implemented now, STREAM_CONFIG isn't
-
-2012-06-28 16:42:08 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controlbindings: include gst/math-compat.h for isnan()
-	  Due to the usage of isnan(), where an implementation is added into
-	  gst/math-compat.h. Fixes build on Visual C++.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
-
-2012-06-29 16:52:31 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
-
-	* gst/math-compat.h:
-	  math-compat.h: add implementation for isnan() for Visual C++
-	  Visual C++ does not have isnan(), so add fallback to
-	  math-compat.h (could use _isnan() in this case, but
-	  this makes it work for all cases where isnan is missing).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
-
-2012-06-29 10:56:34 +0800  Chun-wei Fan <fanchunwei@src.gnome.org>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink.c: fix G_OS_WIN32 #ifdef
-	  Postpone the #ifdef to a point after glib.h (via gstfdsink.h) is included
-	  so that the needed defines and header includes can be done correctly,
-	  especially on Visual C++ builds.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=679112
-
-2012-05-27 23:09:43 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: fix build of datetime unit test in Windows
-	  Also include config.h for all the #ifdef HAVE_XYZ.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=676935
-
-2012-06-29 11:19:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: don't use g_strdup_value_contents()
-	  g_strdup_value_contents() does some extra escaping, preventing us from using the
-	  output on the console to be used directly.
-
-2012-06-28 14:41:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/running.xml:
-	  docs: expand a bit more on GST_DEBUG docs
-
-2012-06-28 11:02:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add _append_region function
-	  Make a gst_buffer_append_region() function that allows you to append a memory
-	  region from one buffer to another. This is a more general version of
-	  gst_buffer_append().
-
-2012-06-28 09:36:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle DTS and PTS
-	  Use DTS and PTS of the subclass.
-	  Calculate PTS from DTS on keyframes.
-
-2012-06-27 23:01:13 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: test datetime deserialisation a bit more
-
-2012-06-27 23:00:08 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstdatetime.c:
-	  datetime: ignore 0 days or months in dates
-	  Handle 0 months or days correctly in date strings, so that
-	  2012-06-00 is parsed the same as 2012-06, for example.
-
-2012-01-01 16:38:08 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* configure.ac:
-	* m4/check-checks.m4:
-	  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.
-	  Also upgrade to newer autoconf syntax and use proper quoting.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667293
-
-2012-06-27 20:52:52 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gstbin.c:
-	  tests: fix bus leak in GstBin test_state_change_skip test
-	  Still not valgrind clean though.
-
-2012-06-27 19:59:29 +0100  Christophe Fergeau <teuf@gnome.org>
-
-	* gst/gstparse.c:
-	  parse: escape \ with a \ as well, so that we don't lose the \ when unescaping
-	  If we have a file called Foo\Bar.ogg, there is no way to pass
-	  that filename properly to filesrc in gst_parse_launch(), since
-	  gst_parse_unescape() will just unescape \x to x.
-	  Not cherry-picking this into 0.10 since there are apparently
-	  apps that work around this problem and which would break if
-	  we fixed it there too.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=673319
-
-2012-06-27 16:37:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.h:
-	  elementfactory: annotate some of the type defines for g-i
-	  Type is not picked up yet though, and we still need
-	  to annotate values for the 'simple' defines.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677925
-
-2012-06-27 14:48:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  clock: annotate GST_CLOCK_TIME_NONE with its value for g-i
-	  The value now gets picked up, but it still thinks the type
-	  is a 'gint'.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678928
-
-2012-06-27 13:19:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: add some datetime serialisation/deserialisation tests
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678031
-
-2012-06-27 13:16:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstdatetime.c:
-	* gst/gstvalue.c:
-	  datetime: fix compare function
-	  Take into account that not all fields might be valid (though they
-	  are valid in the GDateTime structure). But we should just return
-	  unordered if the set fields don't match. Also, don't check
-	  microseconds when comparing datetimes, since we don't serialise
-	  those by default if they're available. This ensures date times are
-	  still regarded as equal after serialising+deserialising.
-
-2012-06-18 08:06:49 +0200  Oleksij Rempel <bug-track@fisher-privat.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* win32/common/libgstreamer.def:
-	  datetime: add serialisation to and deserialisation from ISO 8601 strings
-	  Some tag parsers and writers use same datetime format based on ISO 8601.
-	  We can reduce some code by creating some general functions for it.
-	  API: gst_date_time_to_iso8601_string()
-	  API: gst_date_time_new_from_iso8601_string()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678031
-
-2012-06-07 11:30:48 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* tests/Makefile.am:
-	  configure: add --disable-tools and --disable-benchmarks options
-	  Add option to avoid build binaries. When building for platforms like
-	  android, you might want to not link any "final" binary, mostly because
-	  it requires special link flags or other parts of code that aren't
-	  in the C library.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677621
-
-2012-06-26 20:41:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gsttoc.c:
-	* tests/check/gst/gsttoc.c:
-	  toc: put toc directly into event/message/query structure
-	  Now that TOCs are refcounted and have a GType, we can just
-	  stuff a ref of the TOC directly into the various toc
-	  event/message/query structures and get rid of lots of
-	  cracktastic GstStructure <-> GstToc serialisation and
-	  deserialisation code. We lose some TOC sanity checking
-	  in the process, but that should really be done when
-	  it's being created anyway.
-
-2012-06-26 18:22:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  Revert "bus: skip gst_bus_create_watch as GSource is not introspectable"
-	  This reverts commit 930e36a89bc5c2a0f2e4ab7a73bfa630c1e0336a.
-	  This shouldn't have been pushed, since GSource is now handled
-	  (https://bugzilla.gnome.org/show_bug.cgi?id=657725)
-
-2011-08-29 13:57:03 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstbus.c:
-	  bus: skip gst_bus_create_watch as GSource is not introspectable
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2012-06-26 17:35:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: some more additions to the porting-to-0.11 guide
-
-2012-06-26 17:27:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/tools.h:
-	  tools: minor clean-up
-	  Get rid of superfluous argument.
-
-2012-06-26 17:04:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/tools.h:
-	  tools: remove useless g_set_prgname() wrapper
-
-2012-06-26 16:55:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: point people to right binary when a crash happens
-	  "gst-launch" is the 0.10 wrapper script, using that with
-	  gdb is not going to yield great results.
-
-2012-06-26 16:42:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: bump GLib requirement to now-released stable version
-
-2012-06-26 16:42:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: remove some dead code for old GLib versions
-
-2012-06-25 23:17:32 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* win32/common/libgstreamer.def:
-	  toc: add more entry types
-	  Make entry types less abstract.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678742
-
-2012-06-17 12:48:04 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  a couple of notes for the 0.11 porting guide
-
-2012-06-26 09:51:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* win32/common/libgstreamer.def:
-	  miniobject: add steal_qdata
-	  Rework the qdata code a little
-
-2012-06-25 19:52:44 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	* tests/check/gst/gsttocsetter.c:
-	* win32/common/libgstreamer.def:
-	  tocsetter: clean up and update API for refcounted TOCs
-	  Let's keep it simple for now:
-	  gst_toc_setter_reset_toc() -> gst_toc_setter_reset()
-	  gst_toc_setter_get_toc_copy() -> removed
-	  gst_toc_setter_get_toc() -> returns a ref now
-	  gst_toc_setter_get_toc_entry_copy() -> removed,
-	  use TOC functions instead
-	  gst_toc_setter_get_toc_entry() -> removed,
-	  use TOC functions instead
-	  gst_toc_setter_add_toc_entry() -> removed,
-	  to avoid problems with (refcount-dependent)
-	  writability of TOC; use TOC functions instead
-
-2012-06-25 09:32:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: improve docs
-	  Mention that custom allocator functions can pass whatever they want to the
-	  user_data.
-
-2012-04-06 18:00:33 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gsttagsetter.c:
-	  tagsetter: use G_DEFINE_INTERFACE_* macro
-	  https://bugzilla.gnome.org/show_bug.cgi?id=673641
-
-2012-04-06 17:59:35 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	  tocsetter: use G_DEFINE_INTERFACE_* macro
-	  https://bugzilla.gnome.org/show_bug.cgi?id=673641
-
-2012-06-25 00:10:53 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/design/part-toc.txt:
-	  docs: update design docs for TOC API changes too
-
-2012-06-24 20:10:34 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttocsetter.c:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	* tools/gst-launch.c:
-	  tocsetter, gst-launch, tests: update for GstToc API changes
-
-2012-06-24 20:08:33 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* win32/common/libgstreamer.def:
-	  toc: make GstToc and GstTocEntry mini objects
-	  Because we can, and in order to make them refcounted.
-
-2012-06-23 21:42:58 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttaglist.c:
-	  taglist: fix confusing log message
-
-2012-06-23 21:35:33 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstvalue.c:
-	  value: fix int64 - int64 range intersection on big endian systems
-	  Works better if we use the v_int64 field of the GValue instead of v_int.
-
-2012-06-23 19:56:12 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	* gst/gstsample.c:
-	* gst/gsttaglist.c:
-	  miniobjects: pass copy, dispose and free function to gst_mini_object_init()
-	  So mini objects don't have to poke into the GstMiniObject part
-	  of the structure. Saves lines of code, and seems slightly cleaner.
-	  We don't have proper OO hierarchies or methods here after all.
-
-2012-06-23 17:05:05 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsttaglist.c:
-	  taglist: remove some outdated FIXMEs and comments
-
-2012-06-23 17:04:53 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstsample.c:
-	  sample: some more g-i annotations
-
-2012-06-23 16:59:10 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gsttag.c:
-	  sample: add compare function for GstSample
-	  Should make gst_tag_list_is_equal() work properly with image tags.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=672637
-
-2012-06-23 16:30:03 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gstvalue.c:
-	  value: fix buffer compare function
-
-2012-06-23 14:41:50 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* tests/check/gst/gsturi.c:
-	  tests: add unit test for gst_element_make_from_uri()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=645467
-
-2012-06-23 14:41:17 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/parse/grammar.y:
-	  parse: update for gst_element_make_from_uri() change
-
-2012-06-23 14:40:17 +0100  Tim-Philipp Müller <tim@centricular.net>
-
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	  uri: add error argument to gst_element_make_from_uri()
-	  So callers can differentiate between there not being a
-	  handler for the protocol, and them not accepting the URI
-	  for some reason.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=645467
-
-2012-06-23 12:37:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: annotate GstMapInfo data as array for g-i
-
-2012-06-20 12:53:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: remove pointless get_state() in gst-launch
-	  State changes to NULL state are always sync.
-
-2012-06-21 01:28:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: avoid notify-tags holding lock
-	  unlock before issuing this notification to prevent
-	  deadlocks when other elements reacts to new tags.
-	  Fixes #678220
-
-2012-06-18 16:54:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add gst-p-bad gst-libs to the path
-	  Makes videoparsers and camerabins from bad usable from an uninstalled
-	  environment at osx
-
-2012-06-20 13:28:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* tests/check/gst/gstinfo.c:
-	  info: add destroy notify to gst_debug_add_log_function()
-
-2012-06-20 13:27:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve introspection annotation
-
-2012-06-20 12:29:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstbin.c:
-	* tests/examples/streams/rtpool-test.c:
-	* tests/examples/streams/stream-status.c:
-	* tools/gst-launch.c:
-	  bus: add GDestroyNotify to set_sync_handler()
-
-2012-06-20 12:06:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-06-20 11:59:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  task: add separate methods to add enter/leave callback
-	  Remove the structure of callbacks and replace with separate methods to register
-	  each callback. This is much more binding friendly.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898
-
-2012-06-20 10:31:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gsttask.c:
-	  task: add GDestroyNotify to _new
-	  Add a GDestroyNotify to the user_data we pass to gst_task_new()
-	  Change gst_pad_start_task() to also take the notify
-
-2012-06-20 09:58:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstmeta.c:
-	* tests/check/gst/gstsystemclock.c:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  clock: remove _full version
-	  Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async()
-	  and remove the old gst_clock_id_wait_async() version.
-
-2012-06-20 09:22:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimepacket.h:
-	  nettimepacket: make boxed
-
-2012-06-19 19:55:30 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/net/gstnettimepacket.c:
-	  net: fix some argument names in documentation
-
-2012-06-19 19:55:02 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	  controller: assorted minor introspection fixes
-
-2012-06-19 19:53:54 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/check/gstcheck.c:
-	  check: add some missing documentation, including annotations
-
-2012-06-19 18:41:04 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.c:
-	  base: add some missing introspection annotations
-
-2012-06-19 17:37:59 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gsttaskpool.c:
-	  task pool: set scope of gst_task_pool_push callback to async
-
-2012-06-19 17:33:45 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstatomicqueue.c:
-	* gst/gstbuffer.c:
-	* gst/gstelementfactory.c:
-	* gst/gsttaskpool.c:
-	  introspection: add missing return value annotations
-
-2012-06-19 16:09:10 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbus.h:
-	* gst/gstinfo.h:
-	* gst/gstminiobject.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttypefind.h:
-	  introspection: rename some "data" arguments to "user_data"
-	  GObject Introspection will automatically treat "user_data" arguments
-	  as closure data.
-
-2012-06-19 16:08:46 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gsttoc.h:
-	  toc: add some missing element-type annotations
-
-2012-06-19 16:06:49 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbufferpool.h:
-	  buffer pool: put GstBufferPoolAcquireParams typedef before struct
-	  Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525
-
-2012-06-19 16:14:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: preroll and sync on gap events
-
-2012-06-19 16:08:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: reorganize the code a little
-	  Move the code to get the sync times together.
-
-2012-06-19 14:30:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: Fix docs typo
-
-2012-06-19 14:05:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  clock: assert about timestamp overflows
-	  Assert when converting to timeval and timespec about overflows. This can happen
-	  on platforms with 32bits long.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181
-
-2012-06-19 10:13:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: remove gst_pad_set_caps
-
-2012-06-19 10:32:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads
-
-2012-06-18 16:14:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcompat.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: move gst_pad_set_caps() to compat
-	  We want code to explicitly send a caps event instead.
-
-2012-06-18 16:13:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix some docs
-
-2012-06-18 15:52:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: small doc fix
-
-2012-06-18 15:28:20 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gstclock.h:
-	  clock: fix compiler warning
-	  Cast to the right value, it might indeed overflow but we want the compiler to
-	  ignore that.
-
-2012-06-18 15:22:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: hide qdata array layout
-
-2012-06-18 15:21:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	  docs: clarify qdata wrt to metadata
-
-2012-06-18 15:21:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update for new api
-
-2012-06-15 16:56:46 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbytewriter.c:
-	  introspection: assorted introspection and documentation fixes in base
-
-2012-06-15 18:35:05 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: add missing element-type annotations
-
-2012-06-15 16:14:49 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	  atomic queue: register as boxed type
-
-2012-06-15 16:43:30 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	* gst/gstclock.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstevent.c:
-	* gst/gstobject.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstpipeline.c:
-	* gst/gsttaglist.c:
-	* gst/gstutils.c:
-	  introspection: assorted introspection and documentation fixes
-	  These changes are to clean up syntax issues such as missing colons,
-	  missing spaces, etc., and minor issues such as argument names in
-	  headers not matching the implementation and/or documentation.
-
-2012-06-15 14:50:48 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	  toc setter: change GstTocSetterIFace to GstTocSetterInterface
-	  Without this GObject Introspection does not recognize the connection
-	  to GstTocSetter.
-
-2012-06-18 12:15:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: update docs a little
-
-2012-06-18 11:36:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* win32/common/libgstbase.def:
-	  basesink: wait_eos() -> wait()
-	  Rename gst_base_sink_wait_eos() to gst_base_sink_wait() to avoid confusion and
-	  introspection problems with the ::wait_eos vmethod. Also this method can be used
-	  to wait for other things than EOS. Update the docs a little.
-
-2012-06-18 10:13:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool:check caps argument
-	  Caps should be NULL or fixed when configured in a bufferpool
-
-2012-06-15 17:01:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: NULL is not a valid caps anymore
-
-2012-06-15 15:48:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffering.txt:
-	  docs: review the buffering docs
-
-2012-06-15 15:36:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix percent scaling
-	  Use _scale functions to scale the percent values.
-	  Correctly scale the percent values in the buffering ranges.
-
-2012-06-15 14:54:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: avoid flush when starting
-	  When we are doing the initial seek in startup, avoid doing a flush
-	  (and unlock) because we know that the task is not started yet.
-
-2012-06-15 12:58:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-06-15 12:55:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstelementfactory.c:
-	* gst/gstevent.c:
-	* gst/gstghostpad.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstpad.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  docs: improve API docs
-
-2012-06-15 00:00:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  alllocator: no need to store structure size inside the structure
-
-2012-06-14 23:54:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: no need to store the size of the structure inside the structure
-
-2012-06-14 23:52:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: no need to store the size of the structure inside the structure
-
-2012-06-14 23:49:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: no need to store the size of the structure inside the structure
-
-2012-06-14 23:45:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: no need to store the size of the caps structure inside the structure
-
-2012-06-14 23:41:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: no need to store size of the message structure inside the structure
-
-2012-06-14 23:38:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsample.c:
-	  sample: no need to store the size of the sample structure inside the structure
-
-2012-06-14 23:36:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: no need to store the size of the tag list structure inside the structure
-
-2012-06-15 11:24:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: expand docs a little
-	  Add blurb about qdata and weak refs.
-
-2012-06-15 10:44:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* win32/common/libgstreamer.def:
-	  miniobject: add qdata
-	  Keep track of qdata for miniobjects. Reuse the weak ref array for this because
-	  we can.
-
-2012-06-15 10:56:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: fix error in the weak ref handling
-	  When 2 weak refs are added, the array is not resized big enough.
-	  Simplify the weak ref handling code.
-	  Free memory when we remove all weak refs.
-	  Allow installing the same weak ref multiple times, like in gobject.
-
-2012-06-14 17:11:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	* gst/gstsample.c:
-	* gst/gsttaglist.c:
-	  miniobject: remove the size field
-	  The size field is used by subclasses to store the total allocated size of the
-	  memory for this miniobject. Because miniobject doesn't really do anything with
-	  this field we can move it to the subclasses.
-
-2012-06-14 16:30:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/gst/gstmemory.c:
-	* win32/common/libgstreamer.def:
-	  memory: make GstMemory a miniobject
-
-2012-06-14 16:27:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: always print miniobject refcount
-
-2012-06-14 15:40:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix copy function
-	  Make the copy function map to ref because we can't safely copy the user_data.
-
-2012-06-14 15:33:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  memory: make GstAllocator a miniobject
-
-2012-06-12 13:26:35 +0200  David Svensson Fors <davidsf@axis.com>
-
-	* plugins/elements/gstfunnel.c:
-	  gstfunnel: avoid access of freed pad
-	  Save the value of the pad's got_eos in gst_funnel_release_pad,
-	  before calling gst_element_remove_pad. This is because
-	  gst_element_remove_pad may free the pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=678017
-
-2012-06-14 14:05:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix pad transfer annotation from none to full
-	  since the pad will be unreffed.
-
-2012-06-13 10:52:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* libs/gst/base/gstbasesink.c:
-	  message: add the running-time to the async-done message
-	  Add the running-time of the buffer that caused the async operation to complete
-	  to the async-done message.
-	  Update bin to handle the new async-done message.
-
-2012-06-13 10:51:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	* libs/gst/base/gstbasesink.c:
-	  pipeline: use reset_time message to reset the start time
-	  Use the new RESET_TIME message to reset the start-time of the pipeline to the
-	  requested time.
-	  Make basesink request a new running-time when the flush-stop message tells it to
-	  insteasd of waiting for preroll.
-
-2012-06-13 10:16:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  message: add a new message to reset time
-	  Add a new message to reset the pipeline running_time. Currently reseting the
-	  pipeline can only be requested in the async_done message which means that the
-	  pipeline needs to be prerolled. It is better to move this to a separate message.
-
-2012-06-12 17:11:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: always recurse into bins when doing state changes
-	  Never skip the state change of a bin because it needs to update the base time of
-	  its children when needed.
-
-2012-06-13 00:30:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: update for new datetime api
-
-2012-06-13 00:28:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for latest API
-
-2012-06-13 00:25:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new datetime API
-
-2012-06-13 00:21:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: add some basic unit tests for partial date time fields
-
-2012-06-12 23:52:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	  datetime: clean-ups and new API adjustments
-	  Remove constructors we don't want:
-	  gst_date_time_new_ymd_h() because we don't want to
-	  support hour-only for now;
-	  gst_date_time_new_ymd_hm() because we don't want to
-	  add constructors with time info where the caller doesn't
-	  have to think about what timezone the time is in.
-	  Lots of compulsive clean-up. Docs fixes. Replace
-	  has_minute() and has_hour() with has_time().
-
-2012-06-12 22:35:42 +0200  Oleksij Rempel <bug-track@fisher-privat.net>
-
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	  datetime: allow GstDateTime where not all fields are set
-	  In order to deserialise and re-serialise dates and date times
-	  from tags properly, we need to be able to express partial
-	  dates (e.g. YYYY or YYYY-MM) and date times.
-	  We only support partial date times where all the more
-	  significant fields above the first unset field are set
-	  (e.g. YYYY-00-DD is not supported).
-	  Calling _get_foo() when foo is not set is not allowed
-	  any more, callers need to check which fields are set
-	  first.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677757
-
-2012-06-12 22:45:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message: fix up minor inconsistency in structure name of state-changed message
-
-2012-06-12 11:42:30 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/gstbin.h:
-	* gst/gstclock.h:
-	* gst/gstelement.h:
-	* gst/gstobject.c:
-	* gst/gstpadtemplate.h:
-	  introspection: add some missing annotations
-
-2012-06-12 14:24:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle flush events on the element as well
-	  Handle flush-start and flush-stop sent on the element as well and send them
-	  downstream. Make sure to send a segment event after the flush stop.
-
-2012-06-12 11:05:05 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: add a few more comments
-
-2012-06-11 20:34:00 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.h:
-	  childproxy: fix signal handler signatures in class
-	  When adding the name parameter, we forgot to add it here too.
-
-2012-06-11 10:59:49 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	* tests/check/gst/gstchildproxy.c:
-	  childproxy: use GstChildProxy instead of GObject on the public api
-	  Fix usage and also cleanup gst_object api use on gobjects.
-
-2012-06-11 15:49:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  element: remove unused UNPARENTING flag
-
-2012-06-11 15:41:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: reorganize _remove_func to avoid races
-	  Make the gst_bin_remove_func more like the add_func. Check if the element we try
-	  to remove from the bin has the bin as the parent and set the parent flag to NULL
-	  immediately, this allows us to avoid concurrent remove operations without using
-	  the UNPARENTING element flag. After we unparented the element from the bin, we
-	  update the bin state and remove the element from the list. Finally we unlink
-	  all the pads.
-	  This avoids a race condition where the element could still claim to have the
-	  bin as the parent while the bin didn't have a pointer to the element anymore.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
-
-2012-06-10 12:48:00 -0400  Matej Knopp <matej.knopp@gmail.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: Only send caps when pad is being activated
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
-
-2012-06-10 12:41:12 -0400  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstelement.c:
-	  gstelement: Start over if subclass removed the next pad too
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
-
-2012-06-09 18:05:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	  datetime: remove fallback code for old GLibs
-
-2012-06-09 17:13:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/create-uninstalled-setup.sh:
-	  scripts: add create-uninstalled-setup script
-	  Little script that sets up things in ~/gst and clones
-	  the main modules and prints some instructions.
-	  From http://gstreamer.freedesktop.org/wiki/UninstalledSetup
-
-2012-06-08 15:45:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gsttypefindelement.c:
-	  elements: Use gst_pad_set_caps() and don't ignore its return value
-
-2012-06-08 15:41:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't ignore the return value of gst_pad_set_caps() and call it after the vfunc
-
-2012-06-08 15:36:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Use gst_pad_set_caps() instead of the manual event fiddling
-
-2012-06-08 15:32:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Don't return the return value of gst_pad_set_caps()
-	  e.g. it returns FALSE if incompatible caps are set on the pad.
-
-2012-06-06 19:02:00 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  gstutils: Faster read macros
-	  On platforms that can do unaligned read/write, we can read/write much faster
-	  by just casting.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=599546
-
-2012-06-07 12:49:10 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  check: Add a test for GST_READ_* macros
-
-2012-06-08 14:49:51 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* common:
-	  Update common submodule
-
-2012-06-07 17:58:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix reconfigure
-	  Use the pad methods to set and check the reconfigure flags
-	  Clear the reconfigure flag before we negotiate so that we don't miss any
-	  reconfigure events while negotiating
-
-2012-06-07 15:56:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  Back to development
-
-=== release 0.11.92 ===
-
-2012-06-07 15:56:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	  Release 0.11.92
-
-2012-06-07 15:53:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2012-06-07 15:28:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: release the object lock sooner
-	  Release the object lock before we get the time of the clock because that code
-	  might take other locks.
-	  Fix potential clock refcount error because we released the object lock but
-	  didn't ref the clock.
-
-2012-06-07 10:34:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: remove 0.11 fixme
-	  We always require elements to have an unlock_stop vmethod.
-
-2012-06-06 18:11:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: We name the registry after the target cpu
-	  And not the host cpu
-	  Conflicts:
-	  gst/gstregistry.c
-
-2012-06-06 18:18:18 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 1fab359 to 03a0e57
-
-2012-06-06 15:45:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gsttoc.c:
-	  tests: fix unit test after event change
-	  Someone forgot to run make check before pushing...
-
-2012-06-06 11:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* libs/gst/base/gstadapter.c:
-	  gstadapter: Align the comment description with public api instead of internal one.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677536
-
-2012-06-06 15:29:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix pad cleanup in dispose
-	  In the dispose handler we first need to release all the request pads and then
-	  remove the remaining pads. This is because it is possible that releasing the
-	  request pad might also cleanly remove some of the other dynamic pads, like
-	  what rtpsession does.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677436
-
-2012-06-06 14:14:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: Don't make the TOC event a multi-sticky event
-	  Elements are supposed to merge upstream events.
-
-2009-10-13 17:24:34 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* gst/gstpad.c:
-	  Make sure that unlinked pads do not cause a return false on latency events.
-	  Context: Latency configuration should not be
-	  messed up because of not-linked pads. In general,
-	  one return FALSE on latency distribution causes
-	  the "overall" pipeline latency configuration to
-	  fail. This shows up as noise in logs (warning).
-	  Conflicts:
-	  gst/gstpad.c
-
-2012-06-06 12:52:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gstutils.c:
-	  event: add name to sticky_multi events
-	  The name of the event is used to store multiple sticky events of a certain type
-	  on a pad.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676859
-
-2012-06-06 09:59:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	  design: Also mention that the order of the filter caps is important
-
-2012-06-06 09:15:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: improve docs
-
-2012-06-06 09:13:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: only serialized events can't pass after EOS
-	  Only serialized events can't be sent on pads that are EOS. Otherwise a seek
-	  event would be refused as well.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677520
-
-2012-06-05 14:38:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	  docs: talk about the filter caps
-
-2012-06-02 16:44:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttag.c:
-	  tests: add unit test for tag list writability
-
-2012-06-02 16:38:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/examples/metadata/read-metadata.c:
-	  gst_tag_list_free -> gst_tag_list_unref
-
-2012-06-02 16:29:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: expand taglist section in porting-to-0.11 docs a bit
-
-2012-06-05 11:28:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	  docs: update negotiation docs
-	  Mention that the acceptcaps query does not have to be recursive
-
-2012-06-05 09:40:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: remove obsolete caps code
-
-2012-06-05 09:39:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: improve debug
-
-2012-06-05 09:21:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  tests: fix unit test
-	  Before we can change the caps on a sinkpad with fixed caps we need to unfix the
-	  pad caps.
-
-2012-06-05 09:10:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't pause task on EOS
-	  Elements should not rely on core to pause tasks on EOS.
-
-2012-06-05 09:00:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix event type check
-
-2012-06-04 16:19:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix 'res' may be used uninitialized in this function
-
-2012-06-04 13:00:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/funnel.c:
-	  funnel: Fix unit test
-
-2012-06-04 12:57:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/valve.c:
-	  valve: Fix unit test
-
-2012-06-04 11:46:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Don't accept any buffers or events after EOS
-
-2012-06-04 11:13:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: also perform state processing upon non-OK return
-	  ... since processing might still continue (if e.g. NOT_LINKED)
-	  and then proper state (e.g. offset) needs to be maintained
-	  (e.g. to arrange for a new frame setup).
-
-2012-06-04 11:25:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Always return errors for EOS events immediately
-	  For non-EOS events things will error out later during data
-	  flow but after EOS events no data flow is happening.
-	  See bug #677340.
-
-2012-06-04 09:27:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Only forward caps events to a pad if it accepts the caps
-	  Fixes bug #677335.
-
-2012-06-02 20:01:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "pad: Return FALSE if pushing of sticky events failed"
-	  This reverts commit 0f924b922c712059d7752fc15b832551745ff27e.
-	  Sticky events should always return TRUE when pushing and will
-	  only cause failures during data flow later.
-
-2012-06-02 16:18:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix variable-set-but-not-used compiler warning
-
-2012-06-02 16:55:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: If pushing a sticky event failed, make sure to at least push any pending EOS events
-	  Otherwise a pipeline where one sticky event fails to be sent will
-	  never forward EOS events downstream. This can cause pipelines to
-	  wait forever for EOS on errors.
-
-2012-06-02 16:02:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Return FALSE if pushing of sticky events failed
-	  Instead of just ignoring failure of pushing sticky events and
-	  returning TRUE as if everything is fine.
-
-2012-06-01 16:34:16 +0200  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Correctly get current running time when syncing to the segment information
-	  Fixes bug #677263.
-
-2012-06-01 10:28:30 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From f1b5a96 to 1fab359
-
-2012-05-25 22:58:57 -0500  Mike Ruprecht <mike.ruprecht@collabora.co.uk>
-
-	* tests/check/elements/funnel.c:
-	  tests: Add funnel test to cover EOS event handling
-	  Ported from f3b2dd6f in the 0.10 branch
-
-2012-05-25 22:52:33 -0500  Mike Ruprecht <mike.ruprecht@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Only emit EOS event if all sinkpads have received one
-	  If multiple sources are plugged into the funnel and one of the
-	  sources emits an EOS, that event is propogated through the funnel
-	  even though other sources connected to the funnel may still be
-	  pushing data. This patch waits to send an EOS event until the
-	  funnel has received an EOS event on each sinkpad.
-	  Ported from d397ea97 in 0.10 branch.
-
-2012-05-29 19:24:25 -0500  Mike Ruprecht <mike.ruprecht@collabora.co.uk>
-
-	* tests/check/elements/funnel.c:
-	  tests: Fix invalid read when releasing request pads in funnel tests
-
-2012-05-29 19:23:07 -0500  Mike Ruprecht <mike.ruprecht@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Fix buffer leak
-
-2012-05-31 17:45:29 +0200  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Don't try to sync on the segment if it has no TIME format
-	  ...and wait until it is actually configured and has a format before
-	  trying to sync.
-
-2012-05-31 17:03:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: No need to broadcast the signal in flush-stop
-	  Everything stopped at this point already.
-	  Conflicts:
-	  plugins/elements/gstinputselector.c
-
-2012-05-31 13:07:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 92b7266 to f1b5a96
-
-2012-05-31 10:10:41 +0100  Bastien Nocera <hadess@hadess.net>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix property name in the docs
-	  temp-template, not temp-tmpl
-	  https://bugzilla.gnome.org/show_bug.cgi?id=677170
-
-2012-05-28 14:29:00 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Properly sync when changing streams
-	  This adds properties to use the clock time for deciding when
-	  to drop buffers for inactive pads and a property to buffer all
-	  not rendered buffers for the active pad to allow pad switching
-	  without losing any buffers at all.
-	  Conflicts:
-	  plugins/elements/gstinputselector.c
-
-2012-05-30 12:44:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From ec1c4a8 to 92b7266
-
-2012-05-30 11:18:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 3429ba6 to ec1c4a8
-
-2012-05-29 08:48:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: add guards to make sure taglist is writable when modifying it
-	  Now that taglists are refcounted we need to check if they're
-	  writable before modifying them.
-
-2012-05-28 23:54:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* win32/common/libgstreamer.def:
-	  taglist: avoid unnecessary string copying when registering tags
-	  Add gst_tag_register_static() - no need to copy all those
-	  string constants, whether translated or not.
-	  API: gst_tag_register_static()
-
-2012-05-28 00:08:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  check: check for GLib-GIO criticals as well
-
-2012-05-28 00:08:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttagsetter.c:
-	* gst/gsttoc.c:
-	* plugins/elements/gstinputselector.c:
-	* tools/gst-launch.c:
-	  gst_tag_list_free() -> gst_tag_list_unref()
-
-2012-05-27 23:58:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstcompat.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	* win32/common/libgstreamer.def:
-	  taglist: make GstTagList a GstMiniObject
-	  Which adds refcounting support, and other things.
-
-2012-05-27 20:31:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: log freeing of caps at same log level as creation, i.e. TRACE
-
-2012-05-26 11:37:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message, event: update for tag lists not being structures any more
-
-2012-05-21 00:31:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: make proper struct not just a GstStructure
-
-2012-05-25 10:28:40 +0200  Josep Torra <josep@fluendo.com>
-
-	* gst/gst.c:
-	* gst/gstdebugutils.c:
-	  debugutils: Fix static linking on OS X
-	  The linking behaviour of external variables that are not initialized
-	  in the compilation unit where they are defined is undefined. On OS X
-	  this causes a linking failure when statically linking GStreamer.
-
-2012-05-25 09:17:17 +0100  Luis de Bethencourt <luis@debethencourt.com>
-
-	* scripts/five-bugs-a-day.pl:
-	  five-bugs-a-day: use splice to trim the bug list
-
-2012-05-24 23:30:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	  fakesrc: put byte position rather than buffer count into GST_BUFFER_OFFSET
-	  If we're sending a segment in BYTE format, the offset
-	  should be in bytes as well.
-
-2012-05-24 11:48:19 +0100  Luis de Bethencourt <luis@debethencourt.com>
-
-	* docs/design/part-segments.txt:
-	  docs: fix a typo in part-segments.txt
-
-2012-05-24 11:02:53 +0200  Brian Cameron <brian.cameron at oracle.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefind: fix prototype of helper_find_suggest
-	  The proto for helper_find_suggest has a different argument than the actual
-	  function in the same file has.  This causes the Sun Studio compiler to fail.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676624
-	  Conflicts:
-	  libs/gst/base/gsttypefindhelper.c
-
-2012-05-24 08:07:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/five-bugs-a-day.pl:
-	  scripts: remove a stray print from debugging and fix up cron entry docs
-
-2012-05-24 09:03:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* scripts/five-bugs-a-day.pl:
-	  five-bugs-a-day: Make #! to perl more portable
-
-2012-05-24 07:56:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/five-bugs-a-day.pl:
-	  scripts: remove fixed 'known issue' from five-bugs-a-day script
-	  This was with commas actually, and should be fixed now.
-
-2012-05-24 07:54:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/five-bugs-a-day.pl:
-	  scripts: add five-bugs-a-day script
-	  Cron fodder.
-
-2012-05-22 14:27:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* tests/examples/helloworld/helloworld.c:
-	  tests: rename playbin2 to playbin and adding some debug info
-
-2012-05-22 18:27:36 +0200  Edward Hervey <edward@collabora.com>
-
-	* gst/gsturi.c:
-	  uri: Add some debug statements
-
-2012-05-22 13:51:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update defs file
-
-2012-05-21 09:14:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  bin: port unit test to 0.11
-
-2012-05-21 15:14:51 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstutils.c:
-	  docs: improve the seeking docs more.
-	  Also mention it on _element_seek{,_simple} and be more precise why it happens.
-
-2012-05-21 13:17:21 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstevent.c:
-	  docs: fix a typo and clarify event handling a bit more
-	  Tell about async_done messages for some events and review the _event_new_seek
-	  docs.
-
-2012-05-18 15:04:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: try harder to avoid state changes in wrong direction
-	  When the bin does an upward state change, try to avoid doing a downward state
-	  change on the child and vice versa.
-	  Add some more unit tests for this fix.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621833
-
-2012-05-18 20:11:55 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: fix -c, --toc message
-
-2012-05-21 01:48:29 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  toc: Add boxed types for GstToc and GstTocEntry
-
-2012-05-20 18:23:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  toc: fix type of pad parameter to gst_toc_entry_new_with_pad()
-
-2012-05-20 18:16:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttoc.c:
-	  toc: use correct GType for tag lists
-
-2012-05-20 18:06:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttoc.c:
-	  toc: avoid unnecessary GValue acrobatics
-
-2012-05-20 17:48:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gsttoc.c:
-	  toc: use global quark table
-
-2012-05-20 17:10:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquark.c:
-	  toc: fix internal TOC query and event structure names
-	  Make them consistent with all the other query and event names.
-
-2012-05-19 17:24:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstpluginfeature.h:
-	  pluginfeature: make GstPluginFeature structure private
-	  Make GstPluginFeature opaque until we have time to
-	  clean it up a little. Only GstElementFactory and
-	  GstTypefindFactory derive from it, and they are
-	  opaque already, and we currently don't support
-	  custom plugin features in the registry anyway.
-
-2012-05-19 17:23:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstplugin.c:
-	* tools/gst-inspect.c:
-	  tools, tests: don't access the GstPluginFeature structure directly
-
-2012-05-19 17:16:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* win32/common/libgstreamer.def:
-	  pluginfeature: add gst_plugin_feature_get_plugin()
-	  Add function to retrieve plugin that provides this feature.
-	  API: gst_plugin_feature_get_plugin()
-
-2012-05-19 16:21:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  common: update for gstscanobj changes
-
-2012-05-19 15:51:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstelementfactory.h:
-	* tests/check/gst/gstelementfactory.c:
-	  elementfactory: make object struct opaque for now
-	  Make GstElementFactory opaque until we have time to
-	  clean it up a little. It's not something anyone
-	  would need to derive from.
-
-2012-05-19 14:59:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: don't use private GstElementFactory API in gst-inspect
-
-2012-05-19 14:52:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* win32/common/libgstreamer.def:
-	  elementfactory: add gst_element_factory_get_metadata_keys()
-	  API: gst_element_factory_get_metadata_keys()
-
-2012-05-18 09:52:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  launch: improve EOS on shutdown handling
-	  When the -e option is selected, also wait for EOS when the pipeline produced an
-	  error.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=630997
-
-2012-05-16 18:53:15 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* gst/gststructure.c:
-	  docs: fix gst_structure_to_string() docs
-
-2012-05-16 13:24:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: throttle-time is used
-
-2012-05-16 12:08:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: add prepare method
-	  Add a prepare method that is called before sync happens. The purpose of this
-	  method is to prepare the rendering of the giving buffer so that the following
-	  render() call after sync is a quick as possible.
-
-2012-05-16 09:16:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: avoid potential deadlock
-	  In gst_base_src_start_complete() we do a perform_seek() that will eventually
-	  start the streaming thread which acquires the live lock and then goes to sleep
-	  in the case of appsrc. Right after we perform seek we also try to acquire the
-	  live lock which might then deadlock.
-	  fix this by taking the stream lock before performing the seek. This makes sure
-	  that the streaming thread cannot start and grab the live lock until we are done
-	  and release the stream lock again.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676048
-
-2012-05-15 19:11:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: remove references to mmap in comments and debug messages
-
-2012-05-15 16:38:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* tools/gst-launch.c:
-	* win32/common/libgstreamer.def:
-	  gst: Rename gst_toc_entry_type_to_string() to gst_toc_entry_type_get_nick()
-	  It's more consistent.
-
-2012-05-15 14:59:07 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: fix print_toc_entry()
-
-2012-05-15 14:48:35 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* win32/common/libgstreamer.def:
-	  toc: API: Add gst_toc_entry_type_to_string()
-
-2012-05-14 03:57:50 +0200  Alban Browaeys <prahal@yahoo.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: if sink pad is activated do not change mode
-	  In commit bf0964b6 a check for pad is activated was not carried.
-	  This leads to attempt to pull while in push mode when force_caps
-	  is set. In this case without the attached check even when activated
-	  in pull mode we activate back to push mode.
-	  This is from comment in previous code , case number eight:
-	  8. if the sink pad is activated, we are in pull mode. succeed.
-	  -     otherwise activate both pads in push mode and succeed.
-	  Putting it back fixes playback of webm in webkit+gstreamer 1.0 .
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676003
-
-2012-05-13 16:59:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  Back to development
-
-=== release 0.11.91 ===
-
-2012-05-13 16:02:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* common:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	  Release 0.11.91
-
-2012-05-13 16:02:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2012-05-13 15:55:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From dc70203 to 3429ba6
-
-2012-05-09 14:22:20 +0200  Sebastian Rasmussen <sebrn@axis.com>
-
-	* gst/gst.c:
-	  gst: Only include init/deinit of alloc tracing when enabled
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675806
-
-2012-05-11 09:07:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-block.txt:
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-preroll.txt:
-	* docs/design/part-probes.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-states.txt:
-	* docs/pwg/advanced-events.xml:
-	* libs/gst/base/gstbasesrc.c:
-	  docs: fix docs
-	  GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
-
-2012-05-10 12:15:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-bufferpool.txt:
-	  docs: improve bufferpool docs
-
-2012-05-08 20:12:42 +0300  Anton Belka <antonbelka@gmail.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: print tags in toc
-
-2012-05-05 22:17:43 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
-
-	* gst/gstpoll.c:
-	* gst/gstsystemclock.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/gst/gstpoll.c:
-	  gst: Fix compiler warnings on mingw-w64
-	  https://bugzilla.gnome.org/show_bug.cgi?id=675525
-
-2012-05-02 14:00:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* gst/gstmemory.c:
-	  memory: add missing parameter to default_mem_map()
-	  Fixes function signature for correctness.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=675289
-
-2012-05-02 08:08:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for new API
-
-2012-05-01 22:35:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gsttypefindfactory.h:
-	  typefindfactory: make object struct opaque for now
-	  Make opaque until we have time to clean it up a little.
-
-2012-05-01 22:30:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttypefindfactory.c:
-	* gst/gsttypefindfactory.h:
-	  typefindfactory: fix return type of gst_type_find_factory_get_extensions()
-
-2012-05-01 22:28:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	* tools/gst-inspect.c:
-	  tools, base: don't poke into GstTypeFindFactory struct, use public API
-
-2012-05-01 22:33:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttypefindfactory.c:
-	* gst/gsttypefindfactory.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindfactory: add gst_type_find_factory_has_function()
-	  Add API so people don't have to poke the struct for this.
-
-2012-05-01 15:52:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstcaps.c:
-	  gstcaps: Update docs for gst_caps_is_equal
-	  NULL caps aren't valid caps in 1.0 and aren't accepted in
-	  gst_caps_is_equal
-
-2012-05-01 19:47:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.c:
-	* tests/check/gst/gsturi.c:
-	  uri: require URI protocol bit to be at least 3 characters to be valid
-	  We want to return FALSE when run on a windows-style file path.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=674296
-
-2012-04-26 17:26:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform/basesrc: 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-28 21:37:56 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: set result on accept caps query when there is no peer
-
-2012-05-01 10:50:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  adapter: remove _try_to_merge_up()
-	  It causes the timestamp to go wrong, should not cause much of a performance
-	  increase and in the cases where it is faster, it is broken in 0.10 as well.
-	  We should try to review this when rewriting the adapter for 0.11 memory
-	  features.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674791
-
-2012-05-01 09:25:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: make internals private
-	  Make the adapter fields private.
-
-2012-04-30 20:29:21 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: rearrange sys/stat.h inclusion point for MinGW
-	  gstplugin.h used to include this for us, but doesn't any longer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=675171
-
-2012-04-30 09:58:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/design/part-seeking.txt:
-	* gst/gstsegment.h:
-	* win32/common/gstenumtypes.c:
-	  event: add new seek snap flags
-	  They can be used to select snapping behavior (to previous, next, or
-	  nearest location, where relevant) when seeking.
-	  The seeking implementation (eg, demuxer) may currently ignore some
-	  or all of these flags.
-
-2012-04-29 20:06:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstplugin.h:
-	  docs: remove reference to removed API in plugin docs
-
-2012-04-29 20:06:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  plugin: avoid some relocations
-
-2012-04-29 18:35:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstregistry.c:
-	* win32/common/libgstreamer.def:
-	  plugin: remove gst_plugin_name_filter
-	  It's only used internally, most other users will likely
-	  want to use gst_registry_find_plugin() directly instead
-	  (and if not, they can easily walk the list and doing the
-	  strcmp themselves).
-
-2012-04-29 17:46:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* tools/gst-inspect.c:
-	  plugin: use GstObject flags for plugin flags
-
-2012-04-29 17:03:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.h:
-	  plugin: make GstPlugin object structure opaque for now
-	  There's no reason anyone would want to derive from this, so
-	  just make opaque until we manage to make all the private bits
-	  private properly (which I'm not doing right now because it's
-	  more invasive and I have registry modifications locally which
-	  touch all that code as well).
-
-2012-04-29 16:49:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: use public accessors for plugin description details
-	  Mostly anyway (flags still need sorting out).
-
-2012-04-29 16:46:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* win32/common/libgstreamer.def:
-	  plugin: remove gst_plugin_get_module()
-	  This is an implementation detail really, and it's not
-	  clear what anyone would do with this. It's unused as
-	  far as I'm aware, so just remove it for now.
-
-2012-04-29 16:20:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* win32/common/libgstreamer.def:
-	  plugin: add accessor for release date time string in plugin description
-	  API: gst_plugin_get_release_date_string()
-
-2012-04-29 15:53:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstplugin.c:
-	  tests: use public accessors to get plugin description details
-
-2012-04-29 13:28:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: give the 20th queue element a different name than the first queue2 one
-	  Fixes issue with the default naming scheme.
-
-2012-04-18 17:37:25 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/parse/grammar.y:
-	  Fix format string in grammar.y
-	  Fixes #674849
-
-2012-04-25 20:14:13 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controlbindings: add comments for sparse control source
-
-2012-04-25 20:10:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	  controller: emulate _get_g_value_array()
-	  Add a default implementation on the baseclass.
-
-2012-04-25 09:47:10 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/control-sources.c:
-	* win32/common/libgstreamer.def:
-	  controller: expand the api to offer functions for plain and GValue arrays
-	  Rename the _get_value_array() functions to _get_g_value_array() and reintroduce
-	  the former to operate on plain unboxed c datatypes (like in 0.10). The _g_value
-	  variants are for bindings while the _value ones are more suited to processing
-	  in elements.
-
-2012-04-25 18:11:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: Add insanity, insanity-gst and gst-editing-services
-
-2012-04-25 09:06:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: Reset the buffer before releasing into pool
-	  Reset the buffer not after we acquire but before we release into the pool. This
-	  makes sure that the pool only has buffers in a clean state and that we can set
-	  extra metadata on buffers in the acquire method. this means that we need to
-	  remove an argument from the method.
-
-2012-04-23 15:32:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: MARKER is for the start of a talkspurt
-
-2012-04-24 16:01:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	* tests/check/gst/gstpad.c:
-	  tests: plug some leaks
-
-2012-04-23 17:04:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: do not unref flush_start twice
-	  Based on patch by Matej Knopp <matej.knopp@gmail.com>
-
-2012-04-23 16:57:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: refresh skip following merge_up attempt
-	  ... as the latter might now adjust skip as well.
-
-2012-04-23 09:18:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  message: Remove comma at end of enum list
-	  This comma confuses some compilers.
-
-2012-04-18 15:31:23 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: Remove unneeded unlock
-
-2012-04-18 05:12:55 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstregistry.c:
-	  registry: fix hardcoded 0.10 version in win32 pluginscanner
-	  https://bugzilla.gnome.org/show_bug.cgi?id=674294
-
-2012-04-17 15:37:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstmeta.h:
-	* tests/check/gst/gstmeta.c:
-	  meta: add LOCKED flag
-	  Add a new LOCKED flag to the metadata. Refuse removing LOCKED metadata from
-	  a buffer.
-	  Mark the metadata from the bufferpool LOCKED.
-	  Add unit test for LOCKED flag
-
-2012-04-17 14:38:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstcollectpads2.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/.gitignore:
-	* tests/check/libs/collectpads.c:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/check/libs/libsabi.c:
-	* win32/common/libgstbase.def:
-	* win32/vs10/base/base.vcxproj:
-	* win32/vs10/base/base.vcxproj.filters:
-	  collectpads2: rename to collectpads
-
-2012-04-17 12:54:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: ensure writable head buffer before skipping part of it
-
-2012-04-17 12:29:50 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  libs/gst/base/gstcollectpads2.c
-
-2012-04-17 12:23:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: always recording incoming segment info if no buffer_func set
-
-2012-04-17 10:38:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/running.xml:
-	  docs: update the debug and trace env var docs
-
-2012-04-17 10:33:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: use g_parse_debug_string instead of atoi
-	  Make the GST_TRACE env variable take a comma separated list of strings
-	  describing the options to enable instead of a number.
-
-2012-04-16 21:14:17 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: If running with --print-all, fix printing of the Children: line
-
-2012-04-16 21:14:02 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: If running with --print-all, fix printing of signal names
-
-2012-04-16 16:36:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: add new collectpads2 API to .def file
-
-2012-04-16 16:29:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  libs/gst/base/gstcollectpads2.c
-
-2012-04-16 16:24:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: provide query default and callback handling
-	  ... which presently mainly serves to answer SEEKING query negatively
-	  to dissuade upstream encoders from doing any seeking and
-	  "header finalization" (since the returned result of pushing a
-	  sticky event is fairly useless nowadays).
-
-2012-04-16 16:24:10 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: modify event handling using a default event handler
-	  ... that elements should "chain up" to.
-
-2012-04-16 15:35:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  segment: add rude serialization
-	  Ass serialize and deserialize functions for GstSegment so that gdp and
-	  gst_structure_to_string show the segment values. We convert to a GstSegment
-	  first to make things easier..
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674100
-
-2012-02-03 17:08:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: assume 0 based segment if no time segment was provided
-	  https://bugzilla.gnome.org/show_bug.cgi?id=669305
-
-2012-04-16 10:28:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: add size to debug log
-
-2012-04-16 10:27:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Set sequence number on segment events
-
-2012-04-16 10:22:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Forward all sticky events when switching pads
-
-2012-04-16 10:05:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: Store pad state directly inside the pads instead of GObject qdata
-
-2012-04-16 09:45:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Send reconfigure event on the new active pad when pads are switched
-
-2012-04-16 09:08:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6db25be to dc70203
-
-2012-04-14 03:27:29 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstadapter.c:
-	  Remove skipped part of buffer when mapping the adapter
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674085
-
-2012-04-14 10:24:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/adapter.c:
-	  tests: add another adapter test
-	  Test performance of merging
-
-2012-04-14 10:23:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: improve debug
-
-2012-04-13 14:22:34 +0200  Matej Knopp <matej.knopp@gmail.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: gst_single_queue_flush unlocks the queue twice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=674044
-
-2012-04-13 13:36:37 +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:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 464fe15 to 6db25be
-
-2012-04-13 11:58:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: plug caps leak
-
-2012-04-13 08:10:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	  controlbinding: only take a weak ref on the object
-	  Fixes the leaks in the tests. Added a TODO comment to eventually rework this
-	  some more (while we can).
-
-2012-04-12 18:15:27 -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 14:59:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	  controller: Chain up to parent class dispose/finalize
-	  Avoids leaks
-
-2012-04-12 14:59:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: Use gst_object_{ref|unref} where applicable
-	  Allows us to debug object life
-
-2012-04-12 14:58:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstobject.c:
-	* gst/gstpluginfeature.c:
-	  gst: Use gst_object_{ref|unref} where applicable
-	  Allows us to debug object life
-
-2012-04-12 11:53:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: improve arg checking
-	  Allow idx == 0 and length == -1 on empty buffers for the _range methods.
-
-2012-04-12 11:18:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  Back to development
-
-=== release 0.11.90 ===
-
-2012-04-12 09:57:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.prerequisites:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.11.90
-
-2012-04-12 09:56:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  Update .po files
-
-2012-04-11 13:20:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix merge error
-
-2012-04-11 12:58:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	  queue2: set buffer to NULL before pull
-
-2012-04-11 12:54:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	  tests: port queue2 tests to 0.11
-
-2012-04-11 12:50:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  gst/gsttoc.c
-	  plugins/elements/gstqueue2.c
-
-2012-04-11 12:34:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: signal delete before waiting
-	  When we don't have the requested data in the ringbuffer and we move our read
-	  pointer to the requested position, signal the delete cond to inform the writer
-	  that we changed the current fill level. If we don't, the writer might stay
-	  blocked and we might wait forever.
-
-2012-04-11 12:15:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/queue2.c:
-	  queue2: add test for ringbuffer deadlock
-
-2012-04-11 12:02:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: update current read position before waiting
-	  When we don't have enough bytes in the ringbuffer to satisfy the current
-	  request, first update the current read position before waiting. If we don't do
-	  that, the ringbuffer might appear full and the writer will never write more
-	  bytes to wake us up.
-
-2012-04-11 12:00:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add range only on sinkpad
-	  Only add the range when we receive a segment event on the sinkpad. The add_range
-	  method will modify the write position, which only makes sense to do on the
-	  sinkpad.
-
-2012-04-11 11:55:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix debug message
-	  We're not writing to the offset of the buffer
-
-2012-04-11 11:55:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add_range already updates the level
-
-2012-04-10 14:11:26 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gsttoc.c:
-	  toc: fix memory leaks while copying content
-
-2012-04-10 14:18:48 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/gst/gsttocsetter.c:
-	  tocsetter: fix memory leaks in unit test
-
-2012-04-10 14:16:50 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/gst/gsttoc.c:
-	  toc: fix memory leaks in unit test
-
-2012-04-10 14:18:48 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/gst/gsttocsetter.c:
-	  tocsetter: fix memory leaks in unit test
-
-2012-04-10 14:16:50 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/gst/gsttoc.c:
-	  toc: fix memory leaks in unit test
-
-2012-04-10 14:11:26 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gsttoc.c:
-	  toc: fix memory leaks while copying content
-
-2012-04-10 19:39:58 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* gst/gstbuffer.c:
-	  buffer: Clean up header files
-
-2012-04-10 16:07:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-
-2012-04-10 16:04:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: clear seeking flag in all cases
-	  Also clear the seeking flag when downstream is in pull mode.
-
-2012-04-10 12:55:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  gst/gst.c
-	  plugins/elements/gstqueue2.c
-
-2012-04-10 12:49:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add toc entry ref/unref
-
-2012-04-10 12:09:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: set seeking flag with the queue lock
-
-2012-04-10 11:20:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Keep track of the seeking state
-	  Set the seeking flag right before we send a seek event upstream and discard all
-	  data untill we see a flush-stop again. We need to do this because we activate
-	  the range that we seek to immediately after sending the seek event and it is
-	  possible that we receive data in our chain function from before the seek
-	  which would then be added to the wrong range resulting in data corruption.
-
-2012-04-10 11:16:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: make range on newsegment for ringbuffer
-	  When using the ringbuffer, handle the newsegment event like we handle it when
-	  using the temp-file mode: create a new range for the new byte segment. The new
-	  segment should normally already be created when we do a seek.
-
-2012-04-09 16:42:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-
-2012-04-09 16:40:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't use buffer after pushing it downstream
-
-2012-04-09 16:04:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-
-2012-04-09 15:58:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Fail if a pad for a non-request template is requested
-
-2012-04-09 13:40:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  element: use quarks when storing standard metadata in structures
-
-2012-04-09 13:05:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	  plugins: use new gst_element_class_set_static_metadata()
-
-2012-04-09 12:47:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: add gst_element_class_{set,add}_static_metadata()
-	  Add gst_element_class_{add,set}_metadata() variants for static strings,
-	  so we can avoid unnecessary g_strdup()s.
-	  API: gst_element_class_add_static_metadata()
-	  API: gst_element_class_set_static_metadata()
-
-2012-04-08 21:17:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* tests/examples/streams/stream-status.c:
-	  task: remove gst_task_set_priority()
-	  It doesn't actually do anything.
-
-2012-01-14 00:31:32 -0500  Matej Knopp <matej.knopp@gmail.com>
-
-	* win32/vs10/Common.props:
-	* win32/vs10/Library.props:
-	* win32/vs10/Plugin.props:
-	* win32/vs10/ReadMe.txt:
-	* win32/vs10/Tool.props:
-	* win32/vs10/base/base.vcxproj:
-	* win32/vs10/base/base.vcxproj.filters:
-	* win32/vs10/controller/controller.vcxproj:
-	* win32/vs10/controller/controller.vcxproj.filters:
-	* win32/vs10/generated/generated.vcxproj:
-	* win32/vs10/generated/generated.vcxproj.filters:
-	* win32/vs10/gst-inspect/gst-inspect.vcxproj:
-	* win32/vs10/gst-inspect/gst-inspect.vcxproj.filters:
-	* win32/vs10/gst-launch/gst-launch.vcxproj:
-	* win32/vs10/gst-launch/gst-launch.vcxproj.filters:
-	* win32/vs10/gst-typefind/gst-typefind.vcxproj:
-	* win32/vs10/gst-typefind/gst-typefind.vcxproj.filters:
-	* win32/vs10/gstcoreelements/gstcoreelements.vcxproj:
-	* win32/vs10/gstcoreelements/gstcoreelements.vcxproj.filters:
-	* win32/vs10/gstreamer.sln:
-	* win32/vs10/gstreamer/gstreamer.vcxproj:
-	* win32/vs10/gstreamer/gstreamer.vcxproj.filters:
-	* win32/vs10/net/net.vcxproj:
-	* win32/vs10/net/net.vcxproj.filters:
-	  win32: add VS 10 Project files
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666219
-
-2012-04-08 18:25:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  win32: update for version changes
-
-2012-04-07 16:35:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-
-2012-04-07 16:06:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new TOC API to libgstreamer.def
-	  Fixes 'make check'.
-
-2012-04-07 16:05:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/.gitignore:
-	  tests: add new toc test binaries to .gitignore
-
-2012-04-07 16:04:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gsttoc.c:
-	  gst: don't export private TOC functions
-
-2012-04-07 15:42:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  gst/gstatomicqueue.c
-
-2012-02-24 15:24:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix race
-	  After a writer has written to its reserved write location, it can only make the
-	  location available for reading if all of the writers with lower locations have
-	  finished.
-
-2012-02-24 12:51:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix subtle race
-	  Fix a race where the reader would see the updated the tail pointer before the
-	  write could write the data into the queue. Fix this by having a separate reader
-	  tail pointer that is only incremented after the writer wrote the data.
-
-2012-04-07 15:20:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: set default block size from local define
-	  Doesn't actually change the default value, just makes use of the
-	  define there is. Superficial testing with fakesink and jpegdec did
-	  not reveal improved performance for bigger block sizes, so leave
-	  default as it is.
-
-2012-04-06 16:46:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't update the current reading_pos in flush
-	  A flush from the upstream element should not make buffering go to 0, the next
-	  pull request might be inside a range that we have and then we don't need to
-	  buffer at all. If the next pull is outside anything we have, buffering will
-	  happen as usual anyway.
-
-2012-04-06 12:42:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix for merged changes
-
-2012-04-06 12:37:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch '0.10'
-
-2012-04-06 12:32:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: check the pad mode on the right pad
-
-2012-04-06 12:24:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: forward flush events correctly
-	  We want to forward the flush events received on the sinkpad whenever the srcpad
-	  is activated in pushmode, which can also happen when using the RINGBUFFER or
-	  DOWNLOAD mode and downstream failed to activate us in pull mode.
-
-2012-04-05 21:56:05 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	  controlbinding: chain up on dispose and finalize
-
-2012-04-05 21:55:07 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: unparent the controlbinding on dispose
-
-2012-04-05 21:07:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	  controller: dup the objects to avoid premature frees
-
-2012-04-05 21:06:14 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcontroller.c:
-	  controller: add a finalizer for the test controlbindings
-	  No idea why valgrind still inists that there are leaks.
-
-2012-04-05 18:42:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7fda524 to 464fe15
-
-2012-04-05 18:02:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  gst: Update for GST_PLUGIN_DEFINE() API changes
-
-2012-04-05 14:17:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/pwg/building-boiler.xml:
-	* gst/gstplugin.h:
-	* plugins/elements/gstelements.c:
-	  gst: Change name parameter of GST_PLUGIN_DEFINE() to not take a string anymore
-	  This will be needed when we later add support for static linking
-	  of plugins without introducing new API or changing existing API.
-
-2012-04-05 13:23:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstpluginfeature.c:
-	  gstplugin: Add hack for handling 0.11.9X and 0.11.89.X with X>0 the same as 1.0.0
-	  Also update the version number to 0.11.89.1
-
-2012-04-05 12:22:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gsttocsetter.c:
-	  tocsetter: clear mutex upon free
-
-2012-04-05 10:56:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrybinary.h:
-	  registry: Set registry version to 1.0.0 too
-
-2012-04-05 10:36:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch '0.10'
-	  Conflicts:
-	  plugins/elements/gstqueue2.c
-
-2012-04-05 10:03:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: stop waiting for more data after EOS
-	  When we have EOS, read the remaining bytes in the buffer and make sure we don't
-	  wait for more data. Also clip the output buffer to the amount of remaining
-	  bytes.
-
-2012-04-05 09:56:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: check for filled buffer correctly
-	  When using the ringbuffer mode, the buffer is filled when we reached the
-	  max_level.bytes mark or the total size of the ringbuffer, whichever is smaller.
-
-2012-04-04 13:07:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: avoid waiting for a filled buffer
-	  Use a threshold variable to hold the maximum distance from the current position
-	  for with we will wait instead of doing a seek.
-	  When using the ringbuffer and the requested offset is not available, avoid
-	  waiting until the complete ringbuffer is filled but instead do a seek when the
-	  requested data is further than the threshold.
-	  Avoid doing the seek twice in the ringbuffer case.
-	  Use the same threshold for ringbuffer and download buffering.
-
-2012-04-05 09:07:18 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: fix compile warning
-
-2012-04-04 13:13:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Makefile.am:
-	* configure.ac:
-	* docs/faq/developing.xml:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/running.xml:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/manual/basics-helloworld.xml:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/random/autotools:
-	* docs/version.entities.in:
-	* gst-element-check.m4.in:
-	* gst/Makefile.am:
-	* gst/gstplugin.c:
-	* gst/gstpreset.c:
-	* gst/gstregistry.c:
-	* gst/gstversion.h.in:
-	* gstreamer.spec.in:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* pkgconfig/Makefile.am:
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-base.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	* plugins/elements/Makefile.am:
-	* tests/benchmarks/Makefile.am:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstpreset.c:
-	* tests/examples/adapter/Makefile.am:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/manual/Makefile.am:
-	* tools/Makefile.am:
-	* tools/gst-launch.1.in:
-	* tools/gstreamer-completion:
-	* win32/common/config.h:
-	  gst: Change versioning
-	  Remove GST_MAJORMINOR and replace it by GST_API_VERSION
-	  Also set GST_VERSION_{MAJOR,MINOR,MICRO,NANO} explicitely
-	  now.
-	  All versions are at 1.0.0 now for the release soon but
-	  API/ABI can still change until the 1.0.0 release.
-	  Next release versions until 1.0.0 will be 0.10.9X and
-	  these will be release candidates. GST_VERSION_* will
-	  nonetheless stay at 1.0.0.0.
-
-2012-04-04 12:25:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  docs/gst/gstreamer-sections.txt
-	  gst/Makefile.am
-	  gst/gst.c
-	  gst/gst.h
-	  gst/gstevent.c
-	  gst/gstevent.h
-	  gst/gstmessage.c
-	  gst/gstmessage.h
-	  gst/gstquark.c
-	  gst/gstquark.h
-	  gst/gstquery.c
-	  gst/gstquery.h
-	  gst/gsttoc.c
-	  gst/gsttoc.h
-	  gst/gsttocsetter.c
-	  tests/check/Makefile.am
-	  tests/check/gst/gsttoc.c
-	  tests/check/gst/gsttocsetter.c
-
-2012-04-03 16:51:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: improve _set_size()
-
-2012-04-03 16:44:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: make get_sizes and _resize with ranges
-	  Make the _get_sizes and _resize methods work on a range of memory to make them
-	  more powerfull.
-
-2012-04-03 18:25:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: allow some more events before a segment event
-
-2012-04-03 15:46:29 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttocsetter.c:
-	  tocsetter: use new glib mutex api
-
-2012-04-02 23:17:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: fix compiler warning
-	  gst-launch.c: In function ‘print_toc_entry’:
-	  gst-launch.c:446:3: error: the size of array ‘spc’ can’t be evaluated [-Werror=vla]
-	  gst-launch.c:446:3: error: variable-sized object may not be initialized
-
-2012-04-02 23:29:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/.gitignore:
-	  tests: add new unit test binaries to .gitignore
-
-2012-04-02 23:28:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: ref new entry enum types
-	  Fixes 'make check', again.
-
-2012-04-02 23:24:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new API to .def file
-	  Fixes 'make check'.
-
-2012-04-02 23:23:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gsttoc.c:
-	  toc: don't export private functions
-
-2012-04-02 23:17:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: fix compiler warning
-	  gst-launch.c: In function ‘print_toc_entry’:
-	  gst-launch.c:446:3: error: the size of array ‘spc’ can’t be evaluated [-Werror=vla]
-	  gst-launch.c:446:3: error: variable-sized object may not be initialized
-
-2012-04-02 23:16:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translatable strings
-
-2012-04-02 23:01:17 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	  Merge remote-tracking branch 'origin/master'
-
-2012-04-02 22:09:07 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	* tests/check/gst/gsttoc.c:
-	* tests/check/gst/gsttocsetter.c:
-	  toc: port to 0.11
-
-2012-03-22 08:36:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-launch.c:
-	  gst-launch: add -c, --toc to print the toc
-	  Print the nested chapter and edition structure of the chapters message.
-
-2012-03-28 23:15:41 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/design/Makefile.am:
-	* docs/design/part-toc.txt:
-	  docs: add overview of GstToc usage
-
-2012-03-14 21:14:23 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add GstToc and GstTocSetter sections with related functions
-
-2012-03-14 21:13:22 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttocsetter.c:
-	  gstchecks: Add unit test for the GstTocSetter
-
-2012-03-14 21:12:22 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttoc.c:
-	  gstchecks: Add unit test for the GstToc
-
-2012-03-14 20:45:35 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	  Add new GstTocSetter interface
-
-2012-03-14 20:42:56 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  Add new TOC query
-
-2012-03-14 20:41:48 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	  Add new TOC message
-
-2012-03-14 20:40:32 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  Add new TOC and TOC select events
-
-2012-03-14 20:01:51 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  Add generic table of contents (TOC) support
-
-2012-04-02 21:15:09 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	  Merge branch '0.10'
-	  Conflicts:
-	  docs/gst/gstreamer-sections.txt
-	  gst/Makefile.am
-	  gst/gst.c
-	  gst/gst.h
-	  gst/gstevent.c
-	  gst/gstevent.h
-	  gst/gstmessage.h
-	  gst/gstquark.c
-	  gst/gstquark.h
-	  gst/gstquery.c
-	  gst/gstquery.h
-	  tests/check/Makefile.am
-
-2012-04-02 15:30:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  libs/gst/base/gstbaseparse.c
-
-2012-04-02 15:13:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: always attempt to push if not-linked
-	  This avoids ending up with plenty of pending data (since we'll only
-	  try to parse/push one frame from the incoming buffer).
-	  Fixes increasing memory consumption when parsers aren't linked
-	  Conflicts:
-	  libs/gst/base/gstbaseparse.c
-
-2012-04-02 15:13:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: always attempt to push if not-linked
-	  This avoids ending up with plenty of pending data (since we'll only
-	  try to parse/push one frame from the incoming buffer).
-	  Fixes increasing memory consumption when parsers aren't linked
-
-2012-04-01 03:30:51 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* plugins/elements/gstfdsrc.c:
-	  Timeout is not used on W32
-	  Fixes #673267
-
-2012-04-02 11:09:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  trans: add transform_ip_on_passthrough
-	  Add an option to control if transform_ip is called in passthrough mode or not.
-	  for elements that don't want to look at the data in passthrough mode, this can
-	  avoid some extra processing, mostly in subclasses.
-
-2012-03-22 08:36:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-launch.c:
-	  gst-launch: add -c, --toc to print the toc
-	  Print the nested chapter and edition structure of the chapters message.
-
-2012-03-28 23:15:41 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/design/Makefile.am:
-	* docs/design/part-toc.txt:
-	  docs: add overview of GstToc usage
-
-2012-03-14 21:14:23 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add GstToc and GstTocSetter sections with related functions
-
-2012-03-14 21:13:22 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttocsetter.c:
-	  gstchecks: Add unit test for the GstTocSetter
-
-2012-03-14 21:12:22 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gsttoc.c:
-	  gstchecks: Add unit test for the GstToc
-
-2012-03-14 20:45:35 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gsttocsetter.c:
-	* gst/gsttocsetter.h:
-	  Add new GstTocSetter interface
-
-2012-03-14 20:42:56 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  Add new TOC query
-
-2012-03-14 20:41:48 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	  Add new TOC message
-
-2012-03-14 20:40:32 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  Add new TOC and TOC select events
-
-2012-03-14 20:01:51 +0400  Alexander Saprykin <xelfium@gmail.com>
-
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gsttoc.c:
-	* gst/gsttoc.h:
-	  Add generic table of contents (TOC) support
-
-2012-04-01 12:01:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: reuse more code
-
-2012-04-01 11:42:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  buffer: make function to find memory in a buffer
-	  Make a function to find the memory blocks for a region in a buffer.
-
-2012-03-31 21:26:22 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: fix more missing GST_OBJECT -> G_OBJECT use
-
-2012-03-31 18:34:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: use buffer_wrap
-
-2012-03-31 17:10:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add peek_memory method
-	  Add a peerk_memory method that simply fetches the memory at an offset without
-	  refcounting or merging.
-
-2012-03-31 12:00:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  grammar.y: fix childproxy code
-	  It takes GObject and not GstObject now
-
-2012-03-30 22:46:02 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	  childproxy: include the child name in the signal
-
-2012-03-30 22:44:31 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  parser: update for childproxy api changes
-
-2012-03-30 22:36:35 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: fix signal parameter types
-
-2012-03-30 22:17:09 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	* tests/check/gst/gstchildproxy.c:
-	  childproxy: use GObject instead of GstObject
-	  This makes it prossible to be used more widely. Fix implementations for the API
-	  change.
-
-2012-03-30 22:01:55 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	* gst/gstchildproxy.h:
-	  childproxy: make get_child_by_name virtual
-	  Allows implementations to use custom name->object mappings.
-
-2012-03-30 22:01:26 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: fix indentation
-
-2012-03-30 18:04:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffer.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbytewriter.c:
-	* plugins/elements/gstfakesrc.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/typefindhelper.c:
-	* win32/common/libgstreamer.def:
-	  buffer: improve the buffer memory methods
-	  gst_buffer_take_memory -> gst_buffer_insert_memory because insert is what the
-	  method does.
-	  Make all methods deal with ranges so that we can replace, merge, remove and map
-	  a certain subset of the memory in a buffer. With the new methods we can make
-	  some code nicer and reuse more code. Being able to deal with a subset of the
-	  buffer memory allows us to optimize more cases later (most notably RTP headers
-	  and payload that could be in different memory objects).
-	  Make some more convenient macros that call the more generic range methods.
-
-2012-03-30 16:53:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: plug caps leaks
-
-2012-03-30 16:53:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: also unmap collected mapped buffers
-
-2012-03-30 16:53:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: plug caps leak
-
-2012-03-30 11:58:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: Rename ::event() to ::sink_event() for consistency
-
-2012-03-30 11:49:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.h:
-	  basesink: lower GST_BASE_SRC_FLAG_LAST
-	  It wouldn't leave that much room for subclass users
-
-2012-03-30 08:55:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: Update defs file
-
-2012-03-29 18:03:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	  bytewriter: Actually commit the .c file changes too
-
-2012-03-29 17:59:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Add unchecked/inline variant of gst_byte_writer_put_buffer()
-
-2012-03-29 17:53:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  gstquery: Fix annotation
-
-2012-03-29 17:44:02 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Flush the internal queue when we see GST_FLOW_FLUSHING
-	  Ensures that we don't end up with stale contents (like GstQuery) in
-	  the internal GQueue after any blocking upstream thread returns.
-
-2012-03-29 17:43:17 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Don't unref GstQuery travelling through the queue
-	  Unlike events and buffers, the reference is not given to us
-
-2012-03-29 17:08:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: parsing allocation query need not provide reffed caps
-	  ... in line with other query parsing function.
-
-2012-03-29 15:45:00 +0200  Fabrizio (Misto) Milo <mistobaan@gmail.com>
-
-	* gst/gstcaps.c:
-	  caps: spelling fixes
-
-2012-03-29 15:28:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  gstelement: lower GST_ELEMENT_FLAG_LAST
-	  It wouldn't leave that much room for subclass users
-
-2012-03-29 15:18:33 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Fix unitialized variable
-	  gcc 4.5 complains otherwise :(
-
-2012-03-29 14:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/0.10'
-	  Conflicts:
-	  plugins/elements/gstmultiqueue.c
-
-2012-03-29 14:45:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Wake up all not-linked streams when a stream switches from linked to not-linked
-	  We reset all the waiting streams, let them push another buffer to
-	  see if they're now active again. This allows faster switching
-	  between streams and prevents deadlocks if downstream does any
-	  waiting too.
-	  Also improve locking a bit, srcresult must be protected by the
-	  multiqueue lock too because it's used/set from random threads.
-
-2012-03-29 14:32:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Recompute high-time too when flushing, not only high-id
-
-2012-03-29 13:39:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Only wait until the active pad's running time is reached if the active pad already saw data
-	  Otherwise we might block forever because upstream (e.g. multiqueue) is waiting
-	  for the previously active stream to return forever (which is waiting here
-	  in inputselector) before pushing something on the newly selected stream.
-
-2012-03-29 13:34:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstclock.c:
-	* gst/gstelementfactory.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstiterator.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstpipeline.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	* gst/gstsegment.c:
-	* gst/gststructure.c:
-	* gst/gsttask.c:
-	* gst/gsttrace.c:
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	  docs: update more documentation
-
-2012-03-28 18:12:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/pwg/advanced-events.xml:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstevent.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesrc.h:
-	  review some docs
-
-2012-03-28 16:44:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: simplify and refactor _span and _merge
-	  Unify the _span and _merge code paths and simplify now that we only use this
-	  internally.
-
-2012-03-28 15:16:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: we always call _span with the buffer size
-
-2012-03-28 15:12:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: move some code around
-
-2012-03-28 15:08:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: we call _span always with 0 offset
-
-2012-03-28 13:08:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: remove always FALSE function argument
-
-2012-03-28 16:39:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: delay buffer unref until buffer no longer needed
-
-2012-03-28 12:44:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstadapter.c:
-	* tests/check/gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  buffer: unify buffer merge methods
-	  Add gst_buffer_append() which appends the memory blocks from one buffer to
-	  another. Remove the old inefficient _merge() and _join() methods which forced a
-	  premature memcpy in most cases.
-	  Remove the _is_span() and _span() methods they are not needed anymore now that
-	  we can _append(). Merging and spanning will be delayed until mapping or maybe
-	  not at all when the element can deal with the different memory blocks.
-
-2012-03-27 15:24:49 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstghostpad.c:
-	  gstpad: Fix typo in docstring
-
-2012-03-27 15:24:49 -0400  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstghostpad.c:
-	  gstpad: Fix typo in docstring
-
-2012-03-27 15:16:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: re-enable _span offset calculations
-	  when we _span two complete buffers, we can copy offsets and timestamps.
-
-2012-03-27 15:00:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: add refcount to trace debug
-
-2012-03-27 14:59:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add more _is_writable checks
-	  Add some checks to assert on writability for functions that modify metadata.
-
-2012-03-27 12:40:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: remove const from get/set_param
-	  Remove the const from the GstCaps in get/set_param. set_param modifies
-	  the refcount of the caps.
-	  Don't increment the refcount of the caps result of get_param like we
-	  do with other objects.
-	  Update some annotiations.
-
-2012-03-27 12:39:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: fix annotation for _release
-	  _release takes ownership of the buffer
-
-2012-03-27 12:31:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  bus: Change the timeout argument type of gst_bus_poll() from GstClockTimeDiff to GstClockTime
-	  This is more consistent with the other GstBus methods that have a timeout.
-
-2012-03-26 19:13:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: remove old code
-	  Remove attempt to delay _make_writable
-
-2012-03-26 18:07:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: ensure writable caps prior to modification
-
-2012-03-26 17:38:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: check min/max_buffers
-
-2012-03-26 17:35:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query:fix copy-and-paste problem
-
-2012-03-26 11:54:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Replace master with 0.11
-
-2012-03-23 18:51:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: add and improve debug messages
-	  ... so they end up in a more expected debug category rather than oblivion.
-
-2012-03-22 15:54:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	  back to devel
-
-2012-03-22 15:49:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect-build.stamp:
-	* docs/plugins/inspect.stamp:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  Release 0.11.3
-
-2012-03-22 15:22:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove automatic and undocumented setting of always_in_place
-	  ... which controls how to (forcibly) deal with (non-)writable data and
-	  is not necessarily related to identical caps.
-	  In particular, it is also not so helpful anymore with a more advanced
-	  GstVideoFilter subclass which always has a transform_ip method currently,
-	  even though its subclass may not have a corresponding _ip method.
-
-2012-03-22 10:45:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-
-2012-03-22 08:35:25 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tools/gst-launch.c:
-	  gst-launch: don't shadow global variable
-
-2012-03-21 12:10:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/Makefile.am:
-	  dist net directory only once
-
-2012-03-21 09:00:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: Only allow fixed caps in the accept-caps query
-
-2012-03-20 17:08:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: do queries more directly
-	  Just call our internal query function instead of going through the pad and the
-	  query handler etc.
-
-2012-03-20 17:08:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: add some performance debug
-
-2012-03-20 13:14:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue2.c:
-	  pad: improve docs of get/pull_range
-	  Improve the docs of the get/pull_range functions, define the lifetime of the
-	  buffer in case of errors and short reads.
-	  Make sure the code does what the docs say.
-
-2012-03-20 10:20:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstevent.c:
-	  buffer: improve gst_buffer_new_wrapped_full()
-	  Make it possible to wrap all kinds of memory by exposing all properties to
-	  gst_buffer_new_wrapped_full(). This makes it possible to also create writable
-	  memory without a free function or memory with extra padding.
-
-2012-03-19 11:45:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: handle serialized queries
-
-2012-03-16 22:51:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: make more stuff private
-
-2012-03-16 22:25:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: small cleanups
-
-2012-03-16 21:37:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/filesrc.c:
-	  pad: change the semantics of get/pull_range a little
-	  Make it so that one can specify a buffer for get/pull_range where the downstream
-	  element should write into. When passing NULL, upstream should allocate a buffer,
-	  like in 0.10.
-	  We also need to change the probes a little because before the pull probe, there
-	  could already be a buffer passed. This then allows us to use the same PROBE
-	  macro for before and after pulling.
-	  While we're at the probes, make the query probe more powerful by handling the
-	  GST_PAD_PROBE_DROP return value. Returning _DROP from a query probe will now
-	  return TRUE upstream and will not forward the probe to the peer or handler.
-	  Also handle _DROP for get/pull_range properly by not dispatching to the
-	  peer/handler or by generating EOS when the probe returns DROP and no buffer.
-	  Make filesrc handle the non-NULL buffer passed in the get_range function and
-	  skip the allocation in that case, writing directly into the downstream provided
-	  buffer.
-	  Update tests because now we need to make sure to not pass a random value in the
-	  buffer pointer to get/pull_range
-
-2012-03-16 21:36:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: proxy allocation query
-
-2012-03-16 18:39:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: fix docs a little, alloc_buffer is gone
-
-2012-03-15 22:09:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstmemory.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstreamer.def:
-	  bufferpool: split bufferpool configuration
-	  Make separate methods to control the bufferpool and the allocator used by the
-	  bufferpool.
-	  Make it possible to change the allocator of a pool.
-
-2012-03-15 20:23:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstreamer.def:
-	  query: rework the ALLOCATION query
-	  Separate the bufferpool and allocator hints in the allocation query, some
-	  of the values don't always make sense together.
-	  Keep the bufferpool and its configuration together.
-	  Keep the allocator and its parameters together.
-	  Allow for multiple bufferpool configurations in the query.
-
-2012-03-15 16:50:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: comment and debug improvement
-
-2012-03-15 16:49:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: improve debug
-	  also fix a potential memory leak
-
-2012-03-15 14:28:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-03-15 14:01:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  GstBufferPoolParams -> GstBufferPoolAcquireParams
-	  Because those flags are not from the bufferpool but for the acquire function.
-
-2012-03-15 13:28:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstcompat.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* win32/common/libgstreamer.def:
-	  memory: group allocation parameters in a struct
-	  Group the extra allocation parameters in a GstAllocationParams structure to make
-	  it easier to deal with them and so that we can extend them later if needed.
-	  Make gst_buffer_new_allocate() take the GstAllocationParams for added
-	  functionality.
-	  Add boxed type for GstAllocationParams.
-
-2012-03-15 00:25:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: only update buffer size on short read
-
-2012-03-15 00:24:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: fix copy function
-	  Copy the structure too.
-
-2012-03-15 00:23:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix maxsize after align
-	  when we align the data pointer, make sure to update the maxsize.
-	  Add some more debug
-
-2012-03-14 22:58:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue: remove useless PROXY_ALLOCATION flag
-
-2012-03-14 21:32:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: Add 0 padding
-	  Change gst_allocator_alloc() so that we can also spicify flags and padding.
-	  Add 2 new flags to mark the memory 0 prefixed/padded. This allows us to
-	  remove some resizes in the base classes.
-	  When allocating memory, memset prefix and padding with 0 when the flags tell
-	  us to.
-	  On resize, clear the zero padding flags if we can't guarantee the memory is
-	  still 0 filled.
-	  Update tests.
-
-2012-03-14 19:37:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  query: also include padding in ALLOCATION query
-	  Negotiating padding is needed on second thought so include it in the
-	  ALLOCATION query.
-	  Make the bufferpool take padding into account when allocating.
-	  Make basesrc take padding into account.
-	  Use padding and prefix when allocating in basetransform.
-
-2012-03-14 18:45:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: take prefix into account when allocating
-	  Take into account the prefix that we received from the allocation query and use
-	  it to allocate and resize a larger buffer.
-
-2012-03-14 17:16:36 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: free owned discarded pool config
-
-2012-03-14 16:27:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasesink.c:
-	  pad: implement DRAIN handling
-	  When we forward the DRAIN query and there is nothing to forward it to, assume we
-	  are drained.
-	  When a basesink receives a drain query, reply with TRUE.
-
-2012-03-14 16:14:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: add new drain query
-	  With the new serialized downstream queries we can implement a drain query that
-	  makes an element waits until a downstream element replies to the query.
-
-2012-03-14 16:01:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: make serialized queries push sticky events first
-	  Before we can proceed with a serialized query, we need to be sure that all
-	  sticky events were pushed.
-
-2012-03-14 15:42:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queues: warn when receiving a serialized event
-	  .. until we implement it.
-
-2012-03-14 15:42:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: add support for serialized queries
-
-2012-03-14 15:29:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: take stream lock on serialized queries
-
-2012-03-14 15:16:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: enforce correct query direction
-
-2012-03-14 14:51:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: register queries like events
-	  Also register queries with a QueryType that allows us to check if the event is
-	  sent in the right direction. Add a serialized query type because we will need
-	  this for the allocation query.
-	  Remove the QueryTypeDefinition stuff, it is not used anymore and we now use
-	  custom queries and separate API for them.
-	  Update defs.
-
-2012-03-14 12:42:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: add more debug
-
-2012-03-13 15:40:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: remove old compat mode
-
-2012-03-13 15:40:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: small docs update
-
-2012-03-13 10:04:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: remove gst_caps_union()
-	  Remove gst_caps_union(), use gst_caps_merge(). This function was not used
-	  anymore and it is unclear what the difference is with _merge().
-
-2012-03-12 23:05:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: bump AS_LIBTOOL version
-	  API was added to collectpads2
-
-2012-03-12 23:02:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: backport AS_LIBTOOL version from 0.10.36 release
-	  Might 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 23:08:00 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  docs: fix function name and typo
-
-2012-03-12 19:52:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: get template caps only once
-	  Get the template caps of the pads only once, avoids unecessary ref
-	  and unrefs.
-
-2012-03-12 18:34:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: delay _make_writable() until needed in _normalize()
-	  Delay _make_writable() until we actually found a list and need to update the
-	  caps.
-
-2012-03-12 18:25:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: shortcut simplify earlier
-	  A simple caps is already simplified, no need to check for fixedness.
-
-2012-03-12 18:22:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: small cleanup, remove const
-
-2012-03-12 18:02:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: small cleanups
-
-2012-03-12 16:40:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: small doc improvement
-
-2012-03-12 16:18:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-
-	* configure.ac:
-	  configure.ac: bump required GLib to 2.31.14
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911
-
-2012-03-12 13:50:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting-to-0.11.txt a little
-
-2012-03-12 12:35:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix some 0.11 FIXMEs
-
-2012-03-12 12:21:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: make _normalize take ownership of input
-	  Make gst_caps_normalize() take ownership of the input so that it can more
-	  intelligently decide when to copy or not.
-
-2012-03-12 11:38:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* gst/gstquery.c:
-	* gst/gstregistrychunks.c:
-	* plugins/elements/gstcapsfilter.c:
-	* tests/check/gst/gstcaps.c:
-	* win32/common/libgstreamer.def:
-	  caps: _do_simplify() -> _simplify()
-	  Rename _do_simplify() to _simplify(). The name was introduced as a replacement
-	  method for a deprecated method but we can now rename it again.
-	  Fix some docs.
-
-2012-03-12 10:42:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstregistrychunks.c:
-	* plugins/elements/gstcapsfilter.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: improve _do_simplify
-	  Make gst_caps_do_simplify() take ownership of the input caps and produce a
-	  simplified output caps. This removes the requirement of having writable input
-	  caps and the method can make the caps writable only when needed.
-
-2012-03-12 10:41:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: fix unit test
-	  with the new caps API, there is more sharing and less copying going on so the
-	  unit test refcounts are different.
-
-2012-03-12 09:03:42 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
-
-	* docs/faq/general.xml:
-	  update license link to point to 2.1 license, instead of just generic lgpl file, which is always the latest and thus not correct for gstreamer
-
-2012-03-11 18:57:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: avoid using in-place oprations
-	  Rework some caps operations so they don't rely on writable caps but instead take
-	  ownership of the input caps and do _make_writable() only when needed.
-	  Remove some const from caps functions, it does not make much sense for
-	  refcounted objects and does not allow us to return a refcount to the const input
-	  caps.
-	  Rework the base classes fixate vmethods to not operate on the caps in-place.
-	  All this saves us around 30% of caps and structure copy and new operations.
-
-2012-03-11 17:22:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: add allocation debug
-
-2012-03-10 09:25:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: remove const from refcounted GstCaps
-	  Having const on refcounted objects require us to make copies instead of simply
-	  taking a ref, don't do that.
-
-2012-03-10 09:15:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registry: avoid copy when caps are fixed
-	  Avoid doing a useless copy when the caps are fixed and simplify will not do
-	  anything.
-
-2012-03-09 16:14:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: small optimizations
-	  shortcut heavy work when buffer_resize does nothing.
-	  Avoid an extra _ref when mapping a buffer.
-	  Add some G_LIKELY.
-
-2012-03-09 15:03:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-bufferpool.txt:
-	  bufferpool: fix array types
-
-2012-03-09 14:30:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffer.txt:
-	* docs/design/part-bufferpool.txt:
-	* docs/design/part-memory.txt:
-	* docs/design/part-meta.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-scheduling.txt:
-	  docs: update docs
-
-2012-03-09 11:53:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: also push sticky events on new event
-	  Make a helper function check_sticky to check and push pending sticky events.
-	  Move the handling of the result of pushing the sticky event inside the
-	  push_event function, we need to mark the event as received when it was pushed
-	  correctly.
-	  Move the sticky events code outside of gst_pad_push_event_unchecked and
-	  make it purely handle sending the event to the peer.
-	  when pushing a sticky event, first store it on the pad. Then check and push any
-	  pending sticky events when we get a serialized or sticky event on a srcpad. This
-	  fixes the issue where sticky events are not pushed when an event is pushed.
-
-2012-03-09 11:52:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: store the received result from _foreach
-	  If the foreach function changes the received state of the sticky event, make
-	  sure we remember that.
-
-2012-03-09 11:52:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add comment
-
-2012-03-09 11:49:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  test: add test to check sticky events order
-	  Sticky events pushed on an unlinked pad should be stored on the pad. When the
-	  pad is then linked and an event is pushed, the event should be merged with the
-	  already existing sticky events and then the sticky events should be pushed in
-	  the order that they were originally pushed.
-
-2012-03-09 11:48:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  test: fix typo in comment
-
-2012-03-08 20:08:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/pipelines/seek.c:
-	  tests: port pipeline/seek test to 0.11
-	  Doesn't fail in 0.11 of course, at least not on my machine.
-
-2012-03-08 19:55:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  common
-	  gst/gstpad.h
-	  gst/gsttask.c
-	  libs/gst/base/gstcollectpads2.h
-
-2012-03-08 16:30:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	  pad, task: improve debug logging
-
-2012-03-08 16:26:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.h:
-	* libs/gst/base/gstcollectpads2.h:
-	  pads, collectpads2: get rid of superfluous brackets around static rec mutex calls
-	  Makes it possible to define those calls to something for tracing.
-
-2012-03-08 16:25:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  common: update common module
-	  For make foo/bar.check-norepeat target.
-
-2012-03-08 15:23:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/pipelines/.gitignore:
-	* tests/check/pipelines/seek.c:
-	  tests: add minimal basesrc ! sink seeking unit test
-	  Should reproduce 'GStreamer-WARNING **: wrong STREAM_LOCK count 0'
-	  warnings (with make pipelines/seek.torture or pipelines/seek.forever
-	  anyway, since it appears to be racy).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=670846
-
-2011-12-26 00:18:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstreamer.def:
-	  value: remove gst_value_register_{subtract,union,intersect}_func() API
-	  There isn't really any need to provide public API for that. It's not
-	  used anywhere in practice, and we aim to provide an API that works
-	  for GstCaps, not some kind of generic set manipulation API based on
-	  GValue. Making this private also makes it easier to optimise this
-	  later. We can always put it back if someone actually needs it.
-
-2012-03-08 10:47:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: fix refcount error
-
-2012-03-08 09:45:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: return ANY for a pad without template
-	  Because gst_pad_get_pad_template_caps() returns ANY when there is no template,
-	  the query caps function should also return ANY when there is no template (and no
-	  pad current caps) instead of EMPTY.
-
-2012-03-08 09:44:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: small cleanup
-
-2012-03-07 15:34:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: add comment
-
-2012-03-08 10:32:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix merge mistake
-
-2012-03-08 10:19:52 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbaseparse.c
-	  libs/gst/base/gstbasetransform.c
-	  plugins/elements/gsttee.c
-
-2012-03-07 11:23:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: arrange for properly disjoint frame flags
-
-2012-03-06 15:17:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: delay pool activation
-	  Delay the activation of the bufferpool until we actually need a buffer from the
-	  pool.
-
-2012-03-06 12:28:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix 'self-comparison always evaluates to true'
-	  This was really a bug.
-
-2012-03-06 12:24:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: Fix 'use of logical '&&' with constant operand' compiler warning
-	  This is actually a real bug.
-
-2012-03-06 12:23:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix 'equality comparison with extraneous parentheses' compiler warning
-
-2012-03-06 12:16:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: Fix 'comparison of unsigned enum expression >= 0 is always true' compiler warning
-
-2012-03-05 15:23:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: don't propose_allocation before negotiation
-	  Answer the allocation query with FALSE when we are not negotiated yet because at
-	  that point we have no idea if we need to proxy the allocation query or not.
-
-2012-03-05 14:41:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix handling of multiple newsegment events
-	  Previously only the last would be pushed, which would cause
-	  invalid running times downstream. This also fixes the handling
-	  of update newsegment events.
-
-2012-03-05 14:25:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Also flush the close_segment
-	  Pushing this after flushing will confuse downstream.
-
-2012-03-05 14:23:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Remove obsolete code and move gap handling to the correct place
-	  The segment start adjustment code in pull mode should never trigger
-	  anymore because the bisection code earlier would have already made
-	  sure that we're at the desired position.
-	  Also move the gap handling some lines below after sending the currently
-	  configured segments. Otherwise we might fill gaps in a segment that is
-	  not configured downstream yet.
-
-2012-03-05 13:12:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Clear some more state when receiving FLUSH_STOP
-	  Like pending serialized events and the currently cached buffer.
-
-2012-03-05 13:00:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Only queue serialized events for sending them later
-
-2012-03-05 00:34:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/Makefile.am:
-	  libgstcheck: export gst_consistency_checker_add_pad()
-	  Fix build of the adder unit test in -base again.
-
-2012-03-02 17:32:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: refine metadata filter and transform
-	  Add a vmethod to filter metadata that should be passed upstream. By default,
-	  don't pass anything.
-	  Add a vmethod to transform metadata from the input buffer to the output buffer.
-	  By default, nothing is transformed or copied.
-
-2012-03-02 17:04:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.h:
-	  gst: include gstmeta.h
-
-2012-03-02 17:03:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: add more debug info
-
-2012-03-02 13:02:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-03-02 13:02:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmeta.c:
-	  tests: improve metadata test
-
-2012-03-02 12:45:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmeta.h:
-	  meta: add boolean to signal a region copy
-	  Add a boolean to the metadata copy transform that signals if a only a
-	  region is copied.
-
-2012-03-02 12:16:03 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consitencychecker: don't fail on multiple flush_start events
-	  This seems to be okay after a irc discussion.
-
-2012-03-02 11:57:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: transform docs
-	  Use gst- prefix for metadata transform types.
-
-2012-03-02 11:04:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: fix comment
-
-2012-03-02 11:05:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Android.mk:
-	* Makefile.am:
-	* docs/gst/Makefile.am:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstchildproxy.c:
-	* gst/gstelement.c:
-	* gst/gstmarshal.list:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstregistry.c:
-	* gst/gsturi.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstpushsrc.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gsttypefindelement.c:
-	* win32/common/gstmarshal.c:
-	* win32/common/gstmarshal.h:
-	  gst: Remove gstmarshal.[ch] completely and use the generic marshaller
-	  Fixes bug #671130.
-
-2012-03-02 10:51:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  gst: Don't install gstmarshal.h
-	  The generic, FFI based marshaller should be used instead of these
-	  and we definitely shouldn't export the marshallers in our public API.
-
-2012-03-01 17:39:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstmeta.c:
-	  meta: improve debugging
-	  Add category for metadata debug
-
-2012-03-01 17:38:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: improve debugging
-
-2012-03-01 17:38:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve debugging
-
-2012-03-01 15:18:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: remove metadata tagged with the memory tag
-	  Remove metadata that describes the particular memory of the buffer it is
-	  attached to. We need to do this because in non-passthrough mode we will allocate
-	  new memory for our output buffer.
-
-2012-03-01 15:17:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: add tag for memory metadata
-
-2012-03-01 14:49:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add method to remove allocation_meta
-	  Also g_return_if_fail for out-of-bounds access instead of silently failing.
-
-2012-03-01 14:30:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: improve propose_allocation
-	  Improve the propose allocation vmethod by passing the downstream allocation
-	  query to it. This way the vmethod implementation can use properties of the
-	  downstream allocation to generate the upstream query result. If there is no
-	  downstream quety, it means that the element is working in passthrough mode.
-	  Implement a default decide_allocation.
-
-2012-03-01 11:11:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: clear allocation parameters in passthrough
-	  Clear the allocation parameters when we operate in passthrough.
-
-2012-03-01 11:06:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/capsfilter.c:
-	* tests/check/elements/tee.c:
-	* tests/check/elements/valve.c:
-	* tests/check/gst/capslist.h:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/check/pipelines/queue-error.c:
-	  tests: fix old caps in tests now that core warns
-
-2012-03-01 14:51:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	  libs: Fix some merge mistakes
-
-2012-03-01 14:43:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstcollectpads2.c
-	  libs/gst/check/gstconsistencychecker.c
-
-2012-02-28 12:03:46 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix some debug message typos
-
-2012-02-29 21:57:00 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstconsistencychecker.h:
-	  consitencychecker: add handling for sink-pads
-	  Add a pad-probe for sink-pads. One can now add extra pads (belonging to the same
-	  element) to a checker. This allows us to extend the checks.
-
-2012-02-29 17:20:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* tests/check/gst/gstmeta.c:
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  meta: split registration of API and implementation
-	  Split out the registration of the metadata API and its implementation. Make a
-	  GType for each metadata API. This allows us to store extra information with the
-	  API type such as the tags.
-	  Change the buffer API so that we can get the metadata using the API GType.
-	  Change the query API so that we use the metadata API GType in the allocation
-	  query instead of a string.
-	  Update netaddress and unit tests
-
-2012-02-29 16:00:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	  minobject: small .h indent fix
-
-2012-02-29 12:41:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: print a g_warning() if someone tries to construct 0.10-style raw audio/video caps
-
-2012-02-29 08:44:04 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  consistencychecker: also check for duplicated flush_starts
-
-2012-02-28 20:36:59 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: add more logging
-
-2012-02-28 16:17:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.h:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* tests/check/gst/gstmeta.c:
-	  meta: add return vale to transform
-	  Add a boolean return value so that we can see when a transform fails.
-
-2012-02-28 12:52:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* win32/common/libgstreamer.def:
-	  meta: add method to check for a tag
-
-2012-02-28 12:51:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmeta.c:
-	  tests: fix unit test
-
-2012-02-28 11:34:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* libs/gst/net/gstnetaddressmeta.c:
-	  meta: add support to tagging the metadata
-	  Add support for adding tags to the metadata. with some standard keys, this
-	  should make it possible to describe what the metadata refers to. We should be
-	  able to use this information to decide if a transformation destroys the metadata
-	  or not.
-
-2012-02-27 13:35:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* tools/gst-inspect.c:
-	  Suppress deprecation warnings in selected files, for g_value_array_* mostly
-
-2012-02-27 11:46:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbus.c:
-	  tests: increase bus test timeout
-
-2012-02-21 20:43:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstdatetime.c:
-	  tests: make datetime test more reliably when comparing two almost identical nows
-	  Account for rounding errors in some places, and that two nows are
-	  not always entirely identical, so allow some leeway when comparing
-	  microseconds and seconds. Ran into this too often, esp. when the
-	  system is under load.
-
-2012-02-27 09:48:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  remove some useless includes in .h
-
-2012-02-27 09:02:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstsystemclock.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* tests/check/gst/gstsystemclock.c:
-	* win32/common/libgstreamer.def:
-	  clock: make more stuff private
-	  Expose methods to get and set the timeout because subclasses uses this.
-
-2012-02-26 20:45:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	  systemclock: make more stuff private
-
-2012-02-26 20:44:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: make more stuff private
-
-2012-02-26 16:32:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  bus: make more fields private
-
-2012-02-27 00:09:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: fix compilation after merge
-
-2012-02-27 00:08:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  NEWS
-	  RELEASE
-	  configure.ac
-	  docs/plugins/gstreamer-plugins.hierarchy
-	  docs/plugins/inspect/plugin-coreelements.xml
-	  libs/gst/base/gstcollectpads.c
-	  libs/gst/base/gstcollectpads2.c
-	  plugins/elements/gstfdsink.c
-	  win32/common/config.h
-	  win32/common/gstenumtypes.c
-	  win32/common/gstversion.h
-
-2012-02-26 23:11:23 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: rescue the annotation from collectpads
-
-2012-02-26 23:10:58 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  docs: fix a typo in comment
-
-2012-02-26 22:57:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: move "MT save" tags to doc body
-	  It is not useful to have "MT safe" tags randomly in body, returns or since paragraphs.
-
-2012-02-25 15:18:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: implement GstBaseSink::query instead of messing with the pad
-
-2012-02-25 15:08:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	  fdsink: implement SEEKING query
-	  We may or may not support seeking. stdout to a
-	  terminal doesn't support seeking, for example, but
-	  ... ! fdsink > file.foo just might.
-
-2012-02-25 15:07:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: implement SEEKING query
-	  We may or may not do seeking, depends on the
-	  output file/device really, it doesn't have to
-	  be a file after all.
-
-2012-02-25 15:07:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: answer SEEKING query
-	  We don't do seeking, in case anyone wants to know.
-
-2012-02-24 23:39:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  registry: fix lseek() return code handling
-	  lseek() returns the offset if successful, and this is != 0 and
-	  does not indicate an error. And if it does actually fail, don't
-	  return FALSE (0) as an int, but -1. None of these things are
-	  likely to have made a difference, ever. I don't think the offset
-	  seek can ever actually happen, the current file position and the
-	  current offset should always be increased in lock step, unless
-	  there was an error in which case we'd just error out.
-
-2012-02-24 23:19:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  registry: don't forget to clean up registry temp file in another error case
-	  Also clean up temp file if we get an error during write() rather
-	  than just when doing fsync() or close().
-
-2012-02-24 15:24:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix race
-	  After a writer has written to its reserved write location, it can only make the
-	  location available for reading if all of the writers with lower locations have
-	  finished.
-
-2012-02-24 12:53:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	* tests/check/elements/dataurisrc.c:
-	  dataurisrc: fix docs and unit test
-
-2012-02-24 12:51:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix subtle race
-	  Fix a race where the reader would see the updated the tail pointer before the
-	  write could write the data into the queue. Fix this by having a separate reader
-	  tail pointer that is only incremented after the writer wrote the data.
-
-2012-02-24 11:00:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* plugins/elements/gstcapsfilter.c:
-	* win32/common/libgstbase.def:
-	  basetransform: fix reconfigure methods
-	  Rename gst_base_transform_suggest to gst_base_transform_reconfigure_sink because
-	  that is what it does. Also remove the caps and size because that is not needed.
-	  Rename gst_base_transform_reconfigure to gst_base_transform_reconfigure_src.
-	  Remove some old unused code in capsfilter.
-
-2012-02-24 10:23:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* tests/check/gst/gstmeta.c:
-	* win32/common/libgstreamer.def:
-	  meta: flesh out the metadata transform
-	  Flesh out the transform method. Add a type and extra info to the transform
-	  function so that implementation can transform the metadata.
-	  Remove the copy function and replace with the more generic transform.
-
-2012-02-24 10:23:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	  docs: update docs
-
-2012-02-23 08:48:22 -0800  David Schleef <ds@schleef.org>
-
-	* tests/check/Makefile.am:
-	  Fix gap in Makefile
-
-2012-02-23 08:48:10 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstmemory.c:
-	  spelling fix
-
-2011-12-26 16:45:20 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstpoll.c:
-	  poll: fix spelling of writable
-
-2012-02-23 15:32:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: add user_data to GstMapInfo
-	  Add extra pointers to GstMapInfo so that implementations can use these to store
-	  extra info.
-
-2012-02-23 15:32:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.h:
-	  bufferpool: improve docs
-
-2012-02-23 12:09:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* NEWS:
-	* RELEASE:
-	  Update NEWS and RELEASE as well
-
-2012-02-23 11:59:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: remove transform lock
-
-2012-02-23 10:36:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  Bump version after releases
-
-2012-02-23 11:08:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: remove transform lock
-	  This is not needed anymore by the baseclass. subclasses should do their own
-	  locking when needed.
-
-2012-02-23 10:12:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: cleanups
-	  Clean up the setcaps function.
-	  The passthrough variable is protected with the object lock.
-
-2012-02-22 15:26:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: improve propose_allocation
-	  Always call the propose_allocation method and provide a default implementation
-	  that passes the query on in passthrough mode so that subclasses can also call
-	  this. Also pass if the transform is in passthrough mode so that the
-	  implementation can adjust its algorithm.
-
-2012-02-22 12:24:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetrans: improve fixate_caps function
-	  Make it possible to also implement non-inplace fixate functions. Let the fixate
-	  function make the caps writable when needed because some fixate functions might
-	  not need to modify the caps.
-
-2012-02-22 02:02:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbytewriter.c:
-	* plugins/elements/gstfakesrc.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/typefindhelper.c:
-	  memory: make _new_wrapped take user_data and notify
-	  Make it possible to configure a GDestroyNotify and user_data for
-	  gst_memory_new_wrapped() this allows for more flexible wrapping of foreign
-	  memory blocks.
-
-2012-02-02 13:45:25 -0500  Ryan Lortie <desrt@desrt.ca>
-
-	* autogen.sh:
-	  build: avoid touching .po files during 'make'
-	  A simple workaround to deal with GNU gettext automake integration
-	  failing to deal with git.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=669207
-
-2012-02-21 21:06:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: default to sync-streams=true
-	  I think this is the expected behaviour, and we couldn't do this
-	  in 0.10 for backwards-compatibility reasons, so change it now.
-
-2012-02-21 16:39:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/queue.c:
-	  tests: fix queue unit test after queue changes
-
-2012-02-21 16:38:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: remove some old code
-
-2012-02-21 16:37:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: handle NULL callbacks
-	  When we have a matching NULL callback, also consider the 'callback' marshalled,
-	  this way blocking probes with a NULL callback actually work.
-
-2012-02-21 12:52:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: remove weird link behaviour
-	  Remove the link functions and always start the pad task on the srcpad. If
-	  applications need to autoplug they can put a blocking probe on the srcpad like
-	  they would with any other element.
-
-2012-02-21 12:52:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: handle pts/dts
-
-2012-02-21 12:46:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: remove custom marshaller
-
-2012-02-21 12:43:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: also debug dts/pts
-
-2012-02-21 12:13:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: debug pts and dts
-
-2012-02-21 12:12:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: remove custom marshaller
-
-2011-11-24 18:40:40 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  Unit test for queue src caps notification
-
-2012-02-20 14:37:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: fix useless segment test
-
-2012-02-20 14:29:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: don't use duration in clipping
-	  Don't use the duration in the segment for calculating clipping values.
-	  The duration is expressed in stream time and clipping is done on unrelated
-	  timestamp values.
-	  This used to be interesting for elements that used the segment structure to
-	  implement seeking because then they would use stream-time for the segment
-	  start/stop values and the duration could be used as a fallback when the stop
-	  position was not set. Now that the complete segment event is passed between
-	  elements we cannot do this anymore because some elements might store the
-	  duration and start/stop values with different time bases in the segment.
-
-2012-02-20 14:22:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: debug segment duration as well
-
-2012-02-20 11:46:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: copy metadata when using a pool
-	  also copy the metadata when we allocated a new buffer from a pool
-
-2012-01-26 03:02:48 -0500  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/net/gstnettimepacket.c:
-	  nettimepacket: fix printf format warning in debug message
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664491
-
-2012-02-18 01:04:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix more docs
-
-2012-02-17 15:53:58 -0800  Edward Hervey <edward@collabora.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.h:
-	* gst/gstmemory.h:
-	  doc fixups
-
-2012-02-17 15:09:56 -0800  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Move variable and assignment to where it's needed
-
-2012-02-17 15:09:06 -0800  Edward Hervey <edward@collabora.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Handle return value of decide_allocation vmethod
-	  If it fails, properly propagate the error
-
-2012-02-17 15:08:32 -0800  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Remove useless assignment
-
-2012-02-17 15:07:56 -0800  Edward Hervey <edward@collabora.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Gracefully handle NULL Gvalue
-	  Avoids unreferencing NULL pointer
-
-2012-02-18 00:03:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: make some errors critical
-	  When we have no chain function or when we are operating the pad in the wrong
-	  mode, emit a critical instead of posting an error message. This is certainly a
-	  programming error and we cannot always post a message (like when the pad has no
-	  parent)
-
-2012-02-18 00:03:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: also debug position of segment
-
-2012-02-17 23:59:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  win32: back to development
-
-2012-02-17 11:02:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	  configure: back to development
-
-=== release 0.11.2 ===
-
-2012-02-17 11:01:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* gstreamer.doap:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  RELEASE 0.11.2
-
-2012-02-15 17:12:09 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: tweak some documentation
-
-2012-02-15 17:11:54 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: simplify and improve frame state handling
-	  Use a frame flag to signal to subclass it should reset any retained
-	  state w.r.t. frame parsing since the frame being passed is 'new',
-	  i.e. not related to previously passed and processed data.
-
-2012-02-15 13:15:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't leak event
-	  In the unlikely case where the subclass set the event function to NULL, don't
-	  leak the event.
-
-2012-02-15 12:19:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make activation code more like other
-	  Make the pad activation code look more like other activation code.
-	  Only start the sinkpad task when we decide to activate in pull mode, when we
-	  later add srcpad pullmode this will be needed.
-
-2012-02-15 12:18:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: add more debug
-
-2012-02-15 11:11:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: add some more debug
-
-2012-02-15 10:58:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: track consumed input size
-	  ... as used by subsequent input data rate estimation (and seeking).
-
-2012-02-15 10:11:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: 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 10:10:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: don't ignore return value when starting a task
-
-2012-02-14 20:17:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Revert "baseparse: really provide upstream ts to subclass"
-	  This reverts commit 2363490ef5a9fe8d414369d24fcaa65a9dfa83ac.
-
-2012-02-14 19:33:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove dead code and superfluous loop level
-
-2012-02-14 19:33:46 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: modify reverse playback handling
-	  ... so as to allow the push-mode case to provide data to subclass
-	  on a buffer by buffer basis (as in regular forward case), rather
-	  than all buffers of a fragment chucked together.
-	  Also refactor buffer handling some more, and add some debug.
-
-2012-02-14 19:33:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: really provide upstream ts to subclass
-
-2012-02-14 13:24:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: clean up src query handler
-
-2012-02-14 12:57:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: pass results from activation
-
-2012-02-14 10:35:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2012-02-14 10:30:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: update
-
-2012-02-13 18:22:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: modify API to a _finish_frame based approach
-	  ... which aligns it with other baseclass in the wild, and should give
-	  converter parsers a bit cleaner freedom.
-
-2012-02-13 18:09:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix reverse playback
-	  ... especially for all-keyframe (audio) cases.
-
-2012-02-13 16:33:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* win32/common/libgstreamer.def:
-	  memory: more work on refcount and writability
-	  Rename _is_writable() with _is_exclusive because the writability does not depend
-	  on the amount of references to the memory object anymore.
-	  Add accessor macros for the memory flags.
-	  Rename the GstBuffer _peek_memory() method to _get_memory() and return a
-	  reference to the memory now that we can do this without affecting writability
-	  of the memory object. Make it possible to also make this function merge the
-	  buffer memory.
-	  Add methods to replace memory in a buffer. Make some convience macros for the
-	  buffer memory functions.
-	  Fix unit tests.
-
-2012-02-13 17:22:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  def: update
-
-2012-02-13 15:18:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.h:
-	  meta: fix typos
-
-2012-02-12 21:17:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-events.txt:
-	  docs: add a paragraph about the STREAM CONFIG event to the design docs
-
-2012-02-12 21:04:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: make _parse_nth_stream_config_header() and _parse_setup_data() return a boolean
-	  As they can fail (only one of stream headers or setup data
-	  is usually present).
-
-2012-02-12 20:51:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstevent.c:
-	  event: rename gst_event_{set,parse}_stream_config_codec_data() to _setup_data()
-	  More generic.
-
-2012-02-10 15:03:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2012-02-10 14:58:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	  clean up object init
-	  Make an _init method where the parent mini-object and other fields are
-	  initialized.
-	  Check that the passed structure doesn't already have a parent.
-	  Use the _new_custom () constructors
-
-2012-02-07 11:28:41 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: bitrate mechanics should not deal with duration update
-	  ... since that is already handled by _update_duration, or should not be done
-	  altogether if the duration is determined by non-estimated means.
-	  Fixes #669502.
-
-2012-02-10 12:45:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-events.txt:
-	  docs: push_event doesn't return a flow value after all
-
-2012-02-10 12:05:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: silence probe debug a litte
-
-2012-02-10 11:24:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: implement faster ACCEPT_CAPS query
-
-2012-02-10 11:09:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstpad.c:
-	  gst: add some performance logging
-	  Add some performance logging for caps copy and the slow default acceptcaps
-	  implementation
-
-2012-01-14 19:16:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-metadata.txt:
-	* docs/design/part-TODO.txt:
-	* docs/design/part-bufferpool.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-meta.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-probes.txt:
-	* docs/design/part-query.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-streams.txt:
-	* gst/gstquery.c:
-	  docs: update and improve docs
-
-2012-02-09 00:14:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: remove gst_element_class_install_std_props()
-	  It's only used in one place (rtmp), and there not very well.
-
-2012-02-08 23:47:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	  fakesrc, identity, fakesink: do not generate last-message updates by default
-	  Default to not creating lots of overhead by doing a couple of
-	  g_strdup_printf()/g_free() per buffer or event just to generate
-	  a last-message update that rarely anyone listens to. This means
-	  that you need to enable silent=true explicitly in order to get
-	  last-message dumps in gst-launch -v now. On the upside, people
-	  won't inadvertently end up benchmarking g_strdup_printf()
-	  performance instead of gstreamer data handling performance any
-	  more.
-	  Maybe the silent property should be renamed to enable-last-message
-	  or something like that?
-
-2012-02-08 15:16:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstcollectpads2.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstpad.c:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstmarshal.c:
-	* win32/common/gstmarshal.h:
-	  GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
-
-2012-02-08 15:34:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: use default query function to optionally forward query
-	  ... rather than querying peer unconditionally with possibly undesirable
-	  outcome in case of e.g. SCHEDULING query.
-
-2012-02-08 15:03:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: clean up a few minor extraneous tokens
-
-2012-02-07 12:48:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove closing segment handling
-
-2012-02-08 14:45:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2012-02-08 14:32:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: fix race in pad mode change
-	  Fixes #668909 and presumably also #669483
-
-2012-02-08 12:57:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: error when activation mode is wrong
-	  Post an error when we try to push on a pad activated in pull mode and pull on a
-	  pad in push mode.
-
-2012-02-08 09:30:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: remove method declaration too
-
-2012-02-07 13:41:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: remove unimplemented stats property while we can
-
-2012-02-07 10:44:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: remove custom marshaller
-	  Remove our custom marshaller.
-	  Make the buffer in the handoff signal static_scope so that it is actually
-	  writable.
-
-2012-02-06 09:46:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	  gst: improve debugging
-
-2012-01-04 17:10:15 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* gst/gstregistry.c:
-	  registry: fix compilation with --disable-registry
-	  __registry_reuse_plugin_scanner is only defined when
-	  GST_DISABLE_REGISTRY is not defined.
-	  gstregistry.c: In function 'gst_registry_scan_plugin_file':
-	  gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667284
-
-2012-02-02 17:18:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: reset the EOS detection machinery after sending an EOS message
-	  This will allow detecting further EOS, for instance after looping
-	  a stream without changing states.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=668289
-
-2012-01-07 23:00:12 -0500  Ryan Lortie <desrt@desrt.ca>
-
-	* autogen.sh:
-	  autogen.sh: allow calling from out-of-tree
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667664
-
-2012-02-02 16:59:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: print caps in dump
-
-2012-02-02 16:04:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-02-02 15:57:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: add debug and trace for GstMemory
-
-2012-02-02 15:55:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	* gst/gsttrace.c:
-	  trace: don't check random pointers for objects
-	  Only see if the traced pointer is a GObject when it was registered with the
-	  special offset of -2.
-
-2012-02-02 15:54:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  Update debug categories
-	  Remove some categories marked for deletion.
-	  Add a category for GstMemory.
-
-2012-02-02 15:52:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstsample.h:
-	  remove TRACE_NAME from headers
-
-2012-02-02 13:17:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbuffer.c:
-	  buffer: add new test
-
-2012-02-02 13:15:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  dentity: remove prepare_output_buffer
-	  Correctly mark passthrough on the baseclass so that it can correctly do the
-	  allocation of the output buffers.
-	  Remove our custom prepare_output_buffer function now that the baseclass is
-	  smarter.
-
-2012-02-02 13:10:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: improve prepare_output_buffer
-	  Clean up the prepare_output_buffer function.
-	  Reuse the input buffer when it is writable and when doing an
-	  in-place but non-passthrough transform.
-	  Move the copy-metadata function call to the prepare_output_buffer default
-	  function. If subclasses implement a custom prepare_output_buffer, they must also
-	  copy the metadata themselves.
-	  Remove a useless memory copy because prepare_output_buffer already did that.
-
-2012-02-02 12:32:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: only map when using the memory
-
-2012-02-02 12:32:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  plugins: proxy allocation query
-
-2012-02-02 12:30:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: simplify code
-	  We already checked passthrough a few lines above.
-
-2012-02-02 12:07:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	  memory: add some performce debug info
-	  Add some PERFORMANCE debug lines where we copy and do other suboptimal things.
-
-2012-02-02 12:05:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add flag to proxy allocation query
-	  Add a flag to force the default query handler to forward the allocation query
-	  instead of discarding it.
-	  Reorder the pad flags a bit.
-
-2012-02-02 01:30:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* tests/check/libs/typefindhelper.c:
-	  typefind: pass extensions as comma-separated list in a simple string
-	  Fix annoying gst_type_find_register() function signature. A simple
-	  string with comma-separated extensions works just as well and saves
-	  lines of code, casts, relocations and ultimately kittens.
-
-2012-01-31 17:41:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix race in startup
-	  Mark renegotiate before starting the pushing thread.
-	  Do also check if we are starting in the get_range function.
-
-2012-01-31 16:27:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: don't crash on missing template
-	  Some request pads don't have a padtemplate (mostly those from encodebin). Avoid
-	  crashing in this case.
-
-2012-01-31 12:20:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	* tests/examples/controller/text-color-example.c:
-	  controller: constructures for control sources return GstControlSource
-	  Don't return the specific types. In most cases there is no specific api there
-	  anyway.
-
-2012-01-31 12:10:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  don't do logic in g_assert...
-
-2012-01-30 19:17:00 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstargbcontrolbinding.c:
-	* libs/gst/controller/gstargbcontrolbinding.h:
-	* libs/gst/controller/gstdirectcontrolbinding.c:
-	* libs/gst/controller/gstdirectcontrolbinding.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	* tests/examples/controller/text-color-example.c:
-	* win32/common/libgstcontroller.def:
-	  controller: rename control-bindings
-	  gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
-
-2012-01-30 14:48:44 -0200  João Paulo Pizani Flor <joaopizani@gmail.com>
-
-	* gst/gstpreset.h:
-	  Fixes the lack of an include directive in gst/gstpreset.h
-	  It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
-	  Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
-
-2012-01-30 18:17:34 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolsource.c:
-	  controlsource: sink the floating ref
-	  control sources can be used on several control bindings.
-
-2012-01-30 17:15:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer; remove IN_CAPS buffer flag
-	  The IN_CAPS buffer flag is deprecated and should be replaced with the HEADER
-	  flag.
-
-2012-01-30 16:09:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs; update for new api
-
-2012-01-30 15:59:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  query: pass allocator in query
-	  Place the allocator object in the ALLOCATION query instead of the name. This
-	  allows us to exchange allocators that are not in the global pool of allocators.
-	  Update elements for the new api
-
-2012-01-30 15:57:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add memory type
-	  Add memory type when registering memory allocators. Add getter for the memory
-	  type.
-
-2012-01-29 22:58:51 +0000  Olivier Crête <olivier.crete@collabora.com>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  valve: Repush sticky events after disabling dropping
-
-2012-01-30 13:28:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add boxed GType for the allocator
-
-2012-01-30 13:02:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstreamer.def:
-	  memory: make the allocator refcounted
-	  Add refcounting to the GstAllocator object.
-	  Remove const from functions because the allocator is refcounted now.
-	  Rename the vmethods for consistency
-	  Expose the constructor for GstAllocator and add a destroy notify for the
-	  user_data. This should make it possible to create allocators that are not
-	  registered and shared globally along with the possibility to destroy them
-	  properly.
-	  Update defs with new symbols.
-
-2012-01-30 10:30:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update for gap event
-
-2012-01-30 10:07:51 +0100  Philippe Normand <philn@igalia.com>
-
-	* gst/gst.c:
-	* gst/gst.h:
-	  core: don't ship gsttrace.h private header
-	  Include it explicitely in gst.c and no longer include it in gst.h.
-	  That header was made private in 1969b94267b4f377ea2663876ae8720717889693.
-
-2012-01-28 18:50:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: require a valid duration for the GAP event
-
-2012-01-28 18:49:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: ref new enum type in gst_init()
-
-2012-01-27 18:57:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  docs: add some (out) annotations for stream config parser functions
-
-2012-01-27 18:56:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstevent.c:
-	  event: add constructor and parse function for new GAP event
-	  (Whatever you do, don't mention the filler event.)
-
-2012-01-27 18:37:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  docs: GST_EVENT_STREAM_CONFIG is implemented now
-
-2012-01-27 17:57:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: mention codec data / stream header change in porting docs
-
-2012-01-28 14:35:51 +0000  Olivier Crête <olivier.crete@collabora.com>
-
-	* gst/gstcaps.c:
-	* gst/gstiterator.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstparse.c:
-	* gst/gstsegment.c:
-	* gst/gsttaglist.c:
-	* gst/gsttypefind.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstindex.c:
-	  Use macros to register boxed types thread safely
-
-2012-01-28 08:38:03 +0100  Olivier Crête <olivier.crete@collabora.com>
-
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: Update gst_check_element_push_buffer to 0.11 style caps
-	  Pass the desired caps explicitely
-
-2012-01-27 19:00:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Fix memory leak
-
-2012-01-27 18:53:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Don't unref plugin features multiple times
-	  gst_plugin_feature_list_free() unrefs them too.
-
-2012-01-27 17:50:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new stream config functions to docs
-
-2012-01-27 17:49:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/pipelines/simple-launch-lines.c:
-	  tests: fix simple-launch-lines compilation
-	  Don't use removed API.
-
-2012-01-27 18:46:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstsegment.h:
-	  segment: Add padding to the public struct
-
-2012-01-27 17:45:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: don't ref GType for private enum for which there's no GType any more
-
-2012-01-27 17:45:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def for new and removed API
-
-2012-01-27 17:39:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstevent.c:
-	  event: add construct and parse API for the new STREAM CONFIG event
-	  codec data and stream headers don't belong into caps, since they
-	  are not negotiated. We signal them using the STREAM CONFIG event
-	  instead.
-
-2012-01-27 18:24:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	  trace: remove from public headers
-
-2012-01-27 12:16:05 +0100  Andoni Morales Alastruey <amorales@flumotion.com>
-
-	* gst/gstcaps.c:
-	  caps: fix documenation typo
-
-2012-01-27 17:50:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* tools/gst-launch.c:
-	  trace: rework alloc tracing
-	  Remove trace, we use debug log for that
-	  Make alloc trace simpler, removing some methods.
-	  Activate alloc trace with a GST_TRACE=3 environment variable.
-	  Dump leaked objects atexit.
-	  Provide an offset in the object where the GType can be found so that more
-	  verbose info can be given for objects.
-	  Remove -T option from gst-launch because tracing is now triggered with the
-	  environment variable.
-
-2012-01-25 12:35:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: answer caps queries with our typefound caps
-	  This avoids merely forwarding the event to the sink, and getting
-	  something useless such as ANY.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667571
-
-2012-01-27 16:18:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  typefind: Do typefinding from a separate thread and not from the state change function
-
-2012-01-27 15:32:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix memory leak
-	  unmap the buffer memory on errors.
-
-2012-01-27 15:32:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstminiobject.c:
-	  trace: make alloc trace work for miniobject again
-
-2012-01-27 15:09:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstcollectpads2.c
-	  libs/gst/base/gstcollectpads2.h
-
-2012-01-27 15:02:52 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: Move private fields from the public structs to private structs
-	  Fixes bug #668764.
-
-2012-01-27 13:05:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontrolbindingargb.c:
-	* libs/gst/controller/gstcontrolbindingdirect.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  controller: no fancy utf8 chars in the gi annotations
-
-2012-01-27 12:50:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/libs/adapter.c:
-	  tests: fix some more leaks
-
-2012-01-27 12:33:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Fix handling of the new stream-start event
-
-2012-01-27 11:32:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  gstplugin: add a few consts to read only data
-
-2012-01-27 12:22:48 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontrolbindingargb.c:
-	* libs/gst/controller/gstcontrolbindingdirect.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  controller: add gi annotations
-
-2012-01-27 12:14:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  utils: Fix unit test
-
-2012-01-27 12:10:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  tests: fix leaks
-
-2012-01-27 11:40:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: avoid memory leak
-	  Unref the old memory in make_mapped.
-	  Add some debug info
-
-2012-01-27 11:40:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: avoid caps leak
-
-2012-01-27 11:01:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	  identity/fake{src,sink}: Include event type name in the debug output
-
-2012-01-27 10:54:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: Mark the new GAP event as non-sticky
-
-2012-01-27 10:46:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: Drop the stream-start and stream-config events by default
-
-2012-01-27 10:42:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event rebase
-
-2012-01-27 10:41:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Send the stream-start event as first event ever
-
-2012-01-27 10:30:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* win32/common/libgstreamer.def:
-	  event: Add constructor and docs for the new STREAM_START event
-
-2012-01-26 19:28:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add user data to chain functions
-
-2012-01-26 18:56:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix typo
-
-2012-01-26 18:22:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: restore date/time type to GstDateTime
-	  The change to GDateTime was apparently accidental, and
-	  breaks plugins trying to feed a GstDateTime to the taglist APi.
-
-2012-01-26 19:12:16 +0200  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstparse.c:
-	  gst: gst_parse_launch now returns a floating reference
-
-2012-01-26 18:53:51 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  gststructure: Set "transfer none" to return values that shouldn't be freed
-
-2010-12-04 18:53:55 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstelement.c:
-	  element: call ->release_pad() to clean up pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=636011
-	  https://bugzilla.gnome.org/show_bug.cgi?id=402562
-
-2012-01-26 16:31:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: add some more events
-	  Add some more new events that we want to implement later.
-
-2012-01-26 15:15:21 +0100  Andoni Morales Alastruey <amorales@flumotion.com>
-
-	* gst/gstmemory.c:
-	  gstmemory: add missing parameter
-
-2012-01-26 14:57:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Fix compiler warning
-
-2012-01-26 14:55:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Use correct size for caps allocation
-
-2012-01-26 14:45:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: Make GstCaps public struct more opaque by moving the private pointer into the implementation
-
-2012-01-26 14:33:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstelementfactory.c:
-	* gst/gstregistrychunks.c:
-	  caps: Store a pointer to GstCaps in GstStaticCaps
-	  ...instead of using hackish subclass of GstCaps, which also
-	  had some thread-safety problems.
-
-2012-01-26 13:24:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstpad.c:
-	  event: remove the sticky event index
-	  We don't use the sticky event index anymore, ordering of the events are how they
-	  were sent initially.
-	  Add some more padding between the event numbers so that we can insert new events
-	  later.
-
-2012-01-26 10:48:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* tests/check/libs/.gitignore:
-	  docs: remove collectpads from docs, fix build
-
-2012-01-26 10:22:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: use GstValueArray instead of GValueArray for storing options in the config
-	  Since GValueArray is deprecated. It's all only internal anywhere here,
-	  but if we use GstValueArray the option strings get serialized nicely
-	  in the debug logs at least.
-
-2012-01-26 09:26:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: gst-inspect: suppress deprecation warnings for G_TYPE_VALUE_ARRAY
-	  For now anyway.
-
-2012-01-26 11:42:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	  collectpads2: Unit test is valgrind clean now
-
-2012-01-26 11:40:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/libs/collectpads2.c:
-	  collectpads2: Fix unit test to actually work again
-
-2012-01-26 11:38:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/collectpads2.c:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/check/libs/libsabi.c:
-	  collectpads2: Port collectpads unit test to collectpads2
-	  Currently fails but really shouldn't.
-
-2012-01-26 11:01:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add probe id to the info
-
-2012-01-26 10:48:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* win32/common/libgstbase.def:
-	  collectpads: Remove old collectpads
-	  Still have to rename collectpads2 to collectpads before the 1.0 release.
-
-2012-01-26 10:30:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: Don't forward CAPS event automatically
-
-2012-01-25 18:49:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: Fix handling of the event function and document it
-	  The event function is supposed to forward/drop the event in any case
-	  now and takes ownership of the event.
-
-2012-01-25 18:36:42 +0100  Jason DeRose <jderose@novacut.com>
-
-	* gst/gstpadtemplate.c:
-	  gst_pad_template_new() now returns a floating reference
-
-2012-01-25 19:41:03 +0200  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstpipeline.c:
-	  gst_pipeline_new now returns a floating reference.
-
-2012-01-25 17:27:40 +0200  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstutils.c:
-	  gst: gst_parse_bin_from_description returns a new reference
-
-2012-01-25 15:14:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: use GArray for internal arrays instead of the now-deprecated GValueArray
-
-2012-01-25 16:01:02 +0200  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstbin.c:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	  gst: Changed introspection transfer flag to (transfer floating)
-	  for gst_pad_new, gst_ghost_pad_new and gst_bin_new constuctors. Fixes
-	  segfaults due of transfer full and floating ref problem.
-
-2012-01-25 13:46:13 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* common:
-	  Automatic update of common submodule
-	  From c463bc0 to 7fda524
-
-2012-01-24 14:37:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add flags to the mapinfo
-
-2012-01-20 16:10:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: make guint8 * for easy usage
-
-2012-01-20 14:56:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  memory: add method to create mapped memory
-	  Add a method to create a GstMemory with the desired mapping. Makes a copy of the
-	  memory if it is currently in use.
-
-2012-01-20 14:23:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmemory.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/adapter.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/examples/adapter/adapter_test.c:
-	  Add new GstMapInfo
-	  Use a structure to hold info about the mapping. The application then keeps track
-	  of this state and we can use it to unmap the memory again later.
-
-2012-01-25 11:49:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstcontrolbinding.h:
-	  controlbindings: name is not a const
-	  It gets modified during the life of the object. Fixes build.
-
-2012-01-25 11:43:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2012-01-25 11:37:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 2a59016 to c463bc0
-
-2012-01-24 21:53:14 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* libs/gst/controller/gstcontrolbindingargb.c:
-	* libs/gst/controller/gstcontrolbindingdirect.c:
-	* libs/gst/controller/gstcontrolbindingdirect.h:
-	* tests/check/gst/gstcontroller.c:
-	* win32/common/libgstcontroller.def:
-	  controller: cleanup the control-binding construction
-	  This is now bindings firendly as _new is just a classic c convenience and all
-	  the work is done in a constructor. As a side effect _new never fails.
-	  Fix the tests.
-
-2012-01-24 14:40:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: handle NULL dest in bitmask/bitmask intersection
-
-2011-12-01 12:43:03 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  tests: add basic tests for new stepped ranges
-	  https://bugzilla.gnome.org/show_bug.cgi?id=665294
-
-2011-11-30 14:45:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstreamer.def:
-	  gstvalue: add stepped ranges
-	  int and int64 ranges can now have an optional step (defaulting to 1).
-	  Members of the range are those values within the min and max bounds
-	  which are a multiple of this step.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=665294
-
-2011-11-30 17:58:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  gstutils: add a 64 bit version of GCD calculation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=665294
-
-2011-11-04 18:26:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: enforce identical basic types in lists, arrays
-	  https://bugzilla.gnome.org/show_bug.cgi?id=322587
-
-2012-01-23 10:32:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/benchmarks/controller.c:
-	  benchmarks: add missing include
-
-2012-01-23 11:03:09 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  object: register all properties in one go
-
-2012-01-23 11:02:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-controller.txt:
-	  docs: update controller api design
-
-2012-01-21 20:03:52 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstobject.c:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstcontrolbindingargb.c:
-	* libs/gst/controller/gstcontrolbindingargb.h:
-	* libs/gst/controller/gstcontrolbindingdirect.c:
-	* libs/gst/controller/gstcontrolbindingdirect.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	* tests/examples/controller/text-color-example.c:
-	* win32/common/libgstreamer.def:
-	  controller: allow different controlbindings
-	  Make controlbinding an abstract baseclass. Move implementation to control-
-	  binding-direct and add a control-binding-argb. Add an example.
-
-2012-01-22 22:44:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstformat.c:
-	* gst/gstinfo.c:
-	* gst/gstplugin.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttask.c:
-	* tests/check/elements/multiqueue.c:
-	  Replace deprecated GStaticMutex with GMutex
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662207
-
-2012-01-22 15:23:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: fix typo in gst-inspect debug message
-
-2012-01-22 01:39:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gst.c:
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	* gst/gstmessage.c:
-	* tests/check/gst/gststructure.c:
-	* win32/common/libgstreamer.def:
-	  Use GLib's type for GError instead of our own
-	  We introduced our own when GLib didn't want to add a GType
-	  for GError. But now that there is one, we can use GLib's
-	  unconditionally and remove our version.
-
-2012-01-22 01:27:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: fix size of atomic counter
-
-2012-01-22 01:25:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/gst.c:
-	* gst/gstatomicqueue.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstdatetime.c:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstpoll.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gsttee.c:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	  Use recent GLib API unconditionally now that we depend on the latest GLib
-
-2012-01-22 00:42:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	  trace: don't use deprecated GStaticMutex API in (still) public header
-
-2012-01-21 12:56:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  scripts: set GI_TYPELIB_PATH in gst-uninstalled
-	  So pygi finds/uses the local g-i files.
-
-2012-01-20 18:06:04 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/check/libcheck/check.h.in:
-	  libcheck: make the definition of fail not fail with non GCC compilers
-
-2012-01-20 14:42:31 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	* win32/common/libgstreamer.def:
-	  controller: improve control binding handling
-	  Change _set_control_binding to _add_control_binding and take ownership. Add a
-	  _remove_control_binding function.
-
-2012-01-20 08:27:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	* win32/common/libgstreamer.def:
-	  controller: remove convenience api for control sources
-	  This is needed to support multiple kinds of control-bindings.
-
-2012-01-19 15:17:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle NULL from getcaps
-	  If the getcaps functions returns NULL, return FALSE from the CAPS query.
-
-2012-01-19 15:17:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle lists correctly
-
-2012-01-17 16:23:33 -0500  Colin Walters <walters@verbum.org>
-
-	* common:
-	* configure.ac:
-	  build: add --disable-fatal-warnings configure option
-	  It's reasonable to build from git, but not want to turn all compiler
-	  warnings into fatal errors.  For example, GNOME's jhbuild helps people
-	  get newer versions of software than came from their distribution, but
-	  they may not necessarily want to hack on it.
-
-2012-01-19 12:57:48 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/benchmarks/gstclockstress.c:
-	  tests: clockstress: perform sanity check on thread number argument
-
-2012-01-19 09:12:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstmemory.c:
-	  memory improvements
-	  Make the memory object simply manage the data pointer and the maxsize and move
-	  the offset and size handling to common functionality.
-	  Use the READONLY flag to set a readonly lock.
-	  Remove the data and size fields from the unmap method. We need an explicit
-	  resize operation instead of using the unmap function.
-	  Make internal helper lock and unlock functions.
-	  Update unit test and users of the old API.
-
-2012-01-19 11:43:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  docs: fix typo in bus docs
-
-2012-01-13 17:45:17 -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-01-19 09:27:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/gstbin.c:
-	* gst/gstbufferpool.c:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstmemory.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstmeta.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpoll.c:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* plugins/elements/gstdataqueue.c:
-	* plugins/elements/gstdataqueue.h:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	* tests/check/gst/gsttask.c:
-	  Update for new gthread API
-
-2012-01-18 16:52:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  configure.ac: GIO check is now in gst-glib2.m4
-
-2012-01-18 16:45:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 0807187 to 2a59016
-
-2012-01-18 16:14:51 +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 12:07:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Always call ::propose_allocation vfunc
-	  And only forward the allocation query if we're working in
-	  passthrough mode if no ::propose_allocation is implemented.
-	  In place buffer transformations will change the buffer
-	  content and require explicit handling of all metas.
-
-2012-01-18 11:37:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Don't forward the allocation query by default
-	  This has to be handled explicitely by elements to
-	  make sure that they support all the metas passed
-	  in the allocation query.
-	  Metas have to supported explicitely, otherwise the
-	  query will fail. All elements in a chain need to
-	  support a specific meta to allow its usage.
-
-2012-01-18 01:31:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmeta.c:
-	  gst: suppress some more deprecated thread api until we fix it up
-	  Which should be soon, since we already depend on an unstable glib for -base.
-
-2012-01-18 01:18:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstnet.def:
-	* win32/common/libgstreamer.def:
-	  win32: update .def files for api changes
-
-2012-01-17 23:57:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* libs/gst/Makefile.am:
-	  configure: remove  --disable-net option and always build libgstnet
-	  It should work everywhere now, and -base and -good depend on
-	  the GstNetMeta API.
-
-2012-01-17 23:52:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* libs/gst/net/Makefile.am:
-	  configure: remove some socket cruft
-
-2010-05-05 16:33:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnettimeprovider.h:
-	* tests/check/Makefile.am:
-	* tests/check/libs/gstnettimeprovider.c:
-	  net: port to use gio's networking API
-	  Some warts still, but it's a start.
-
-2012-01-17 16:50:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/net/Makefile.am:
-	  net: Add GIO to the gi-scanner packages
-
-2012-01-16 13:34:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net.pc.in:
-	  netaddressmeta: Use GSocketAddress instead of our own wrapper type
-
-2012-01-16 15:57:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstmemory.c:
-	  memory: make writability check into a method
-	  Use a method to check for writability instead of a macro so that we can change
-	  the implementation more easily.
-
-2012-01-16 12:24:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmemory.c:
-	  tests: improve memory test
-
-2012-01-16 12:24:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: improve docs
-
-2012-01-11 10:59:53 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: ensure automagic _unmap in some more cases
-
-2011-11-15 17:42:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: automatically unmap on clearing
-	  When _clear gets called between _map and _unmap, buffers
-	  will be unreffed. If the adapter was mapped, memory leaks
-	  may occur.
-	  While calling _clear between _map and _unmap does not seem
-	  like such a great idea, this is possible in the audio
-	  encoder base class, as _clear may be called in _finish_frame.
-	  Since the audio encoder relies on flushing to keep track of
-	  timestamps, delaying flushing till after handle_frame seems
-	  dangerous.
-	  So, we unmap on clear, as the next unmap will do nothing.
-	  This makes _clear safe to call between _map and _unmap,
-	  while avoiding leaking the mapped buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664133
-
-2012-01-13 14:20:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: prevent unlikely caps leak
-
-2012-01-13 10:43:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: plug factory leak on error
-
-2012-01-13 00:22:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  tools/gst-inspect.c
-
-2012-01-12 20:46:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* tests/check/gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  Remove GST_TYPE_DATE, our own GDate type
-	  Which we had to add because GLib didn't have it
-	  back in the day. Port everything to plain old
-	  G_TYPE_DATE, which is also a boxed type. Ideally
-	  we'd just use GDateTime for everything, but it
-	  doesn't support not setting some of the fields
-	  unfortuntely (which would be very useful for
-	  tag handling in general, if we could express
-	  2012-01 for example).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666351
-
-2012-01-12 19:53:11 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: clear adapter in reset so baseparse is reusable
-	  GstBaseParse was not clearing its adapter on reset causing
-	  problems when a pipeline went for example from PLAYING to NULL
-	  state and then back to PLAYING again. The data from the last
-	  stream would be used in the parser.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667444
-
-2012-01-12 15:50:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gstinspect: fix features and list leaks
-
-2012-01-12 11:03:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new API to .def file
-
-2012-01-11 12:19:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  gststructure: clarify _get docs about the returned reference
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667689
-
-2012-01-10 13:00:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2012-01-06 16:39:04 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Send caps again after activation
-	  Avoids ending up in cases where typefind gets activated in pull-mode
-	  and caps never get sent.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667337
-
-2012-01-09 15:59:09 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
-
-	* gstreamer.spec.in:
-	  Add latest specfile changes
-
-2012-01-09 15:58:45 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
-
-	* gst/gstdebugutils.h:
-	  Also add headerfile
-
-2012-01-09 15:57:51 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	  Fix dotfile API to be exported since macros can't be GI bound
-
-2012-01-09 13:19:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/.gitignore:
-	  tests: ignore new memory test binary
-
-2012-01-09 03:14:41 -0500  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstmemory.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  Fix printf format build warnings
-
-2012-01-09 13:10:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations for new strings
-
-2012-01-06 15:01:24 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: Allow NULL dest when subtracting bitmask
-	  Happens when checking for subsets of caps
-
-2012-01-06 13:32:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: ensure writable memory in memset
-
-2012-01-06 13:10:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstmemory.c:
-	  memory: check semantics of nested mappings
-	  Count how many mappings are currently active and also with what access pattern.
-	  Update the design doc with restrictions on the access patterns for nested
-	  mappings.
-	  Check if nested mappings obey the access mode restrictions of the design doc.
-	  Add various unit tests to check the desired behaviour.
-
-2012-01-06 13:06:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: unmap with the right data pointer
-	  Use the original data pointer to unmap the buffer memory.
-
-2012-01-06 10:39:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  docs: improve memory docs
-
-2012-01-06 07:02:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: handle -1 size in unmap
-	  handle -1 in unmap correctly when the offset is modified.
-
-2012-01-06 06:43:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: improve semantics of unmap
-	  Make an unmap call with a different data pointer than the map call update the
-	  offset field. This allows for both offset and size adjustements in the unmap
-	  call.
-
-2011-11-29 14:22:44 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: don't compensate for render-delay twice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667298
-
-2012-01-05 18:15:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: add more checks
-	  Add check for mapping and resizing
-
-2012-01-05 17:28:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmemory.c:
-	  memory: take offset into account
-	  Take the offset into account whem mapping and unmapping the buffer.
-
-2012-01-05 17:02:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	  docs: clarify resize and current mappings
-
-2012-01-05 16:41:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	* tests/check/gst/gstmemory.c:
-	  memory: clarify nested mappings, add unit test
-
-2012-01-05 12:30:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new API to .def file
-
-2012-01-05 13:22:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmemory.c:
-	  tests: add more memory unit tests
-	  Check for unmap with invalid size
-
-2012-01-05 13:11:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstmemory.c:
-	  tests: add unit test for GstMemory
-	  Add a GstMemory unit test
-	  Add some more asserts in GstMemory to catch invalid cases.
-
-2012-01-05 13:09:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: add macro to check for memory refcount
-
-2012-01-05 12:39:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	  improve docs a little
-
-2011-12-16 13:11:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  value: Add tests for the bitmask type
-
-2011-12-16 12:39:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Add "bitmask" as alias for (GstBitmask) when (de-)serializing values
-
-2011-12-16 12:32:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  value: Add 64-bit bitmask type
-
-2012-01-01 16:32:27 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* autogen.sh:
-	  build: don't output configure options via autogen if $NOCONFIGURE is set
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667296
-
-2012-01-05 00:30:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst-i18n-app.h:
-	* gst/gst-i18n-lib.h:
-	  gst: include locale.h before any other i18n headers
-	  This is also how we do it in -base.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667290
-
-2012-01-01 16:46:04 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* gst/gst_private.h:
-	* gst/gstconfig.h.in:
-	  gstconfig.h: adds and uses SunPro visibility attribute for proper function exports
-	  Define GST_EXPORT for SunPro.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667289
-
-2012-01-01 16:47:14 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstinputselector.c:
-	  plugins: explicitly cast initialization values to the correct type
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667288
-
-2012-01-01 20:17:41 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* gst/gstpoll.c:
-	  poll: include correct poll.h based on autoconf test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667286
-
-2012-01-04 23:46:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: check for sys/poll.h
-	  https://bugzilla.gnome.org/show_bug.cgi?id=667286
-
-2012-01-04 19:50:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From a62f3d4 to 0807187
-
-2012-01-04 10:04:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: only reserve 6 extra flags
-	  Only reserve 6 extra flags instead of 10 so that more media specific flags
-	  are available.
-
-2012-01-03 15:26:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
-
-2012-01-03 15:25:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	* libs/gst/base/gstcollectpads2.c:
-	  GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
-
-2012-01-03 15:05:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	  compat: restore UNEXPECTED
-
-2012-01-03 15:03:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcompat.h:
-	* gst/gstelement.h:
-	* gst/gstmemory.c:
-	* gst/gstregistry.c:
-	* gst/gstsample.c:
-	  docs: fix some docs
-
-2012-01-03 14:45:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2012-01-03 14:43:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: avoid exposing the lists in tags
-
-2012-01-03 13:42:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: add missing functions
-	  Add missing and essential functions now that we can't directly use GstStructure
-	  methods on the taglist anymore.
-
-2012-01-03 10:42:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.h:
-	  value: add macro to check if a gvalue holds a sample
-
-2012-01-02 15:47:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	  docs: fix build of docs examples
-	  Update for registry method rename
-
-2012-01-02 15:39:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: turn assert into a real error
-	  Post a real error instead of just asserting.
-
-2012-01-02 15:38:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: handle latency event
-
-2012-01-02 02:32:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* tests/check/gst/gstplugin.c:
-	* win32/common/libgstreamer.def:
-	  registry: get rid of gst_default_registry_*() convenience macros
-	  They're not really worth it: hardly save any typing, and aren't
-	  great for bindings or gobject-introspection.
-
-2012-01-02 02:22:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gst.c:
-	* gst/gstelementfactory.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* libs/gst/check/gstcheck.c:
-	* tests/check/generic/states.c:
-	* tests/check/gst/gstplugin.c:
-	* tests/check/gst/gstregistry.c:
-	* tools/gst-inspect.c:
-	* win32/common/libgstreamer.def:
-	  registry: rename gst_registry_get_default() to gst_registry_get()
-	  It's not really a default if there is only one that can't be changed.
-	  Should we return a ref like e.g. g_volume_monitor_get() does?
-
-2012-01-02 02:21:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gsttaglist.c
-	  plugins/elements/gstoutputselector.c
-
-2012-01-02 00:17:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: add GST_TAG_LANGUAGE_NAME
-	  API: GST_TAG_LANGUAGE_NAME
-
-2012-01-01 20:59:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-controller.txt:
-	  docs: update controller design doc
-
-2012-01-01 20:57:34 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: rename some tests
-
-2012-01-01 20:55:20 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	* tests/check/libs/controller.c:
-	  controller: support control mapping for enums
-	  Add a mapping for enum types (supporting sparse enums). Add a test.
-
-2012-01-01 20:43:51 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/control-sources.c:
-	  controller: remove nonsense parts from test object property descriptions
-
-2012-01-01 18:54:23 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  interpolationcontrolsource: fix cubic interpolation for arrays
-
-2012-01-01 18:50:55 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/examples/controller/control-sources.c:
-	  audio-example: also plot reverse-saw
-
-2012-01-01 18:43:23 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: cleanups and fix triangle calculations
-
-2012-01-01 18:34:12 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/examples/controller/audio-example.c:
-	  audio-example: fix the example
-	  We need to scale the frequency values.
-
-2012-01-01 15:16:06 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* tests/examples/controller/control-sources.c:
-	  lfocontrolsource: make chainable
-	  Now the properties of this controlsource are in turn controlable. Add an example
-	  to show the usage.
-
-2012-01-01 15:01:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: add logging and fix array functions
-
-2012-01-01 14:55:35 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: cleanup the tests
-
-2012-01-01 14:28:54 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolbinding.c:
-	  controller: add more debug logging
-
-2011-12-31 17:37:20 -0800  David Schleef <ds@schleef.org>
-
-	* tests/check/Makefile.am:
-	  convert Makefile spaces to tabs
-
-2011-12-31 15:52:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/examples/controller/control-sources.c:
-	  controller: also test array functions
-	  Improve the example to also collect value arrays and plot them.
-
-2011-12-31 15:26:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  controller: remove obsolete FIXME comment
-
-2011-12-31 09:56:53 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: fix tests
-	  Set a defined value to check for no-change.
-
-2011-12-30 18:35:40 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	  control-sources: turn into GstObjects
-	  This is a preparation for chaining them.
-
-2011-12-30 19:37:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmarshal.list:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	  registry: remove padding and signal vfuncs
-	  And fix signal GTypes and marshaller. No one will ever
-	  need to subclass our registry, so just remove the padding
-	  and the signal vfuncs.
-
-2011-12-30 15:39:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	  tests: disable GstIndex unit test
-
-2011-12-30 15:31:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstindex.h:
-	* libs/gst/base/gstmemindex.c:
-	  index: rename GstAssocFlags to GstIndexAssociationFlags
-	  Just in case we resurrect this later.
-
-2011-12-30 15:24:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstindex.h:
-	* libs/gst/base/gstmemindex.c:
-	  base: disable unused index API and make functions static
-	  It's simply private helper API for now, until someone
-	  fixes up GstBaseParse not to need it any more.
-
-2011-12-30 15:24:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: remove index API from .def file
-
-2011-12-30 15:06:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  element: add LARGE padding to class structure
-	  Four slots for expansion is not a lot.
-
-2011-12-30 15:03:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstindexfactory.c:
-	* gst/gstindexfactory.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstindex.c:
-	* libs/gst/base/gstindex.h:
-	* libs/gst/base/gstmemindex.c:
-	* plugins/Makefile.am:
-	* plugins/indexers/.gitignore:
-	* plugins/indexers/Makefile.am:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstindexers.c:
-	* plugins/indexers/gstindexers.h:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	  index: remove GstIndex and GstIndexFactory for now
-	  There are many good use cases for GstIndex and we want
-	  to add it back again in some form, but possibly not with
-	  the current API, which is very powerful (maybe too powerful),
-	  but also a bit confusing. At the very least we'd need to
-	  make the API bindings-friendly.
-
-2011-12-30 17:57:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	  gst: unref the two cotnroller types in _deinit()
-
-2011-12-30 17:51:01 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcontroller.c:
-	  controller: add more tests to core controller suite
-	  Extend the dummy control-source to allow testing the sync code path. Add test
-	  for 1:1 and 2:1 value <-> control-source sync.
-
-2011-12-30 13:52:08 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcontroller.c:
-	  controller: add a test for bindings control sources multiple times
-
-2011-12-30 12:59:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/math-compat.h:
-	  math-compat: move static variable for NAN into #ifndef NAN block
-	  And use G_GNUC_UNUSED instead of __attribute_used__
-
-2011-12-30 13:32:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/math-compat.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  controller: use NAN instead of FP_NAN (which is the class)
-	  Also add a fallback define to math-compat.h.
-	  Fixes #666887
-
-2011-12-29 16:56:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: Do not false warn about unlinked pad
-	  When output-selector didn't receive a newsegment event it would
-	  warn about pad being unlinked when switching pads. Making the logs
-	  wrong and misleading.
-
-2011-12-29 16:49:39 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-12-28 15:13:09 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Fix leak in pad check
-
-2011-12-28 14:51:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: deinit meta flags too
-
-2011-12-28 12:25:59 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: Initialize new GstMetaFlags in init_post()
-
-2011-12-01 19:05:59 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  gstquery: Small doc fixups
-
-2011-12-16 02:20:27 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstinfo.h:
-	* gst/gstmemory.h:
-	* gst/gstsample.h:
-	* gst/gststructure.h:
-	* gst/gsttrace.h:
-	  win32: fix exported variables for VS 2010
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666219
-
-2011-12-27 13:48:36 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  triggercontrolsource: fix control reaches end of non-void function
-	  Return NAN and check the value further up.
-	  Fixes #666890
-
-2011-12-27 11:40:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	  controller: quick-fix compiler warning breaking the build
-	  This is likely not the proper fix.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666890
-
-2011-12-27 11:35:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstplugin.c:
-	  tests: can't access private registry structure members directly any longer
-
-2011-12-27 11:24:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: fix compiler warning in interpolation control source
-	  gstinterpolationcontrolsource.c:54: warning: type qualifiers ignored
-	  on function return type
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666890
-
-2011-12-26 18:44:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: remove "fd" property
-	  It's no longer useful, since we don't use mmap any more anyway,
-	  and we might use a different API for I/O in future (such as GIO).
-
-2011-12-26 18:41:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gstregistrybinary.c:
-	  registry: move private bits into private struct
-
-2011-12-26 11:26:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  value: micro-optimisation: avoid some unnecessary g_value_unset()
-	  We know there's nothing to do here and can save us the function
-	  calls and GValueTable lookups.
-
-2011-12-25 23:41:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Android.mk:
-	* configure.ac:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* gstreamer.spec.in:
-	* libs/gst/Makefile.am:
-	* libs/gst/dataprotocol/.gitignore:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* libs/gst/dataprotocol/dataprotocol.h:
-	* libs/gst/dataprotocol/dp-private.h:
-	* pkgconfig/Makefile.am:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol.pc.in:
-	* scripts/gst-uninstalled:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/libs/gdp.c:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/check/libs/libsabi.c:
-	* win32/MANIFEST:
-	* win32/vs6/gstreamer.dsw:
-	* win32/vs6/libgstdataprotocol.dsp:
-	  libs: remove gdp dataprotocol library
-	  Made private and moved to gdp plugin in -base for
-	  the time being, until we figure out what we do with
-	  gdp and 0.11.
-
-2011-12-25 21:02:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/benchmarks/controller.c:
-	  tests: fix unused-variable compiler warning
-
-2011-12-25 21:01:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstcontroller.def:
-	* win32/common/libgstreamer.def:
-	  win32: update exports for new API
-
-2011-12-25 20:49:41 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/design/part-controller.txt:
-	  docs: add the start of a design document for controller
-
-2011-12-25 18:49:01 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	  controller: split and cleanup the tests
-	  The controller object was once copied from buzztards unit tests. Change
-	  TestMonoSource to TestObj as it is not a full fledged element. Split the tests
-	  into a core and library test suite.
-
-2011-12-22 23:48:30 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsourceprivate.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/controller/Makefile.am:
-	* tests/examples/controller/audio-example.c:
-	* tests/examples/controller/control-sources.c:
-	  controller: move GValue handling from control-sources to -binding
-	  ControlSources are now gdouble based. A control source is mapped to a
-	  particullar GObject property using a ControlBinding.
-
-2011-12-20 22:36:18 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gstcontrolbinding.c:
-	* gst/gstcontrolbinding.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* tests/check/libs/controller.c:
-	  controller: move GstControlledProperty into a separate class
-	  Add a GstControlBinding class. This is a preparation for making the
-	  controlsources generate double valued control curves and do the gparamspec
-	  mapping in the control binding. Now the API in GstObject is again mostly
-	  for convenience.
-
-2011-12-25 12:47:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  plugins/elements/gstfilesrc.c
-
-2011-12-25 12:39:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: return any remaining data on EOS before returning FLOW_UNEXPECTED
-
-2011-12-25 12:29:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: minor cosmetic changes
-	  Rename woffset variable, maintain separate bytes_read in addition
-	  to length variable.
-
-2011-12-25 12:13:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: fix up compilation after merge
-
-2011-12-25 11:58:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-	  libs/gst/controller/gstinterpolationcontrolsource.c
-	  libs/gst/controller/gstlfocontrolsource.c
-	  plugins/elements/gstfilesrc.c
-	  Dit not merge controller or basetransform changes.
-
-2011-12-24 14:59:16 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting-to-0.11
-	  Update gst_pad_get_caps -> gst_pad_query_caps change
-
-2011-12-23 15:37:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: cleanup metadata in reset_buffer
-	  Use the reset_buffer vmethod to remove the unpooled metadata from the buffer.
-
-2011-12-22 16:00:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  def: update for new symbols
-
-2011-12-22 15:55:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: handle metadata in the pool
-	  Mark all metadata on the allocated buffers with a POOLED flag. When a buffer
-	  returns to the pool, remove all metadata that did not have the POOLED flag. This
-	  makes sure that we never leave unknown metadata to the buffers in the pool.
-
-2011-12-22 15:54:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add foreach function for the metadata
-
-2011-12-22 15:53:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: small doc fix
-
-2011-12-22 15:52:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmeta.h:
-	  meta: add metadata flags
-	  Add metadata flags so that we can set extra properties of the metadata
-
-2011-12-02 14:10:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: only have a top-level pipeline do pipeline management
-	  Fixes #665390.
-
-2011-12-22 11:08:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: fix GType name of interpolation mode enum
-
-2011-12-21 11:13:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  def: update
-
-2011-12-21 11:08:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: rename variable for consistency
-	  Rename the variable for GST_CAPS_NONE to _gst_caps_none for consistency and to
-	  hie the fact that NONE caps are also accidentally empty caps.
-
-2011-12-19 14:27:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: If the filtered peer caps are already empty error out early
-
-2011-12-20 13:21:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  def: update defs
-
-2011-12-20 13:14:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: add ANY and EMPTY singletons
-	  Add a singleton for ANY and EMPTY caps and make the GST_CAPS_ANY and
-	  GST_CAPS_NONE point to them. This makes the API more consistent now
-	  that the macro does not magically create a ref. It also solves some leaks in
-	  places where the macro was used to register a padtemplate.
-
-2011-12-20 13:13:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	  remove const in gst_type_find_register()
-	  Remove the const from the GstCaps in gst_type_find_register() because the
-	  function takes a ref to the caps.
-
-2011-12-20 12:59:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstcontroller.def:
-	  defs: update
-
-2011-12-20 11:38:19 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolsource.c:
-	  controller: remove unused parent_class varriable from controlsource
-
-2011-12-19 23:32:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstobject.c:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	  controller: cleanup interpolation modes
-	  Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
-	  property. Update docs and examples.
-
-2011-12-19 11:13:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstobject.c:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	* libs/gst/controller/gsttimedvaluecontrolsource.c:
-	* libs/gst/controller/gsttimedvaluecontrolsource.h:
-	* libs/gst/controller/gsttriggercontrolsource.c:
-	* libs/gst/controller/gsttriggercontrolsource.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	  controlsources: refactor interpolation control source
-	  Move most of the code to a GstTimedValueControlSource. Split out the trigger
-	  'interpolation mode' to a new control source class. Move tests and examples to
-	  new api. Update docs.
-	  Fixes #610338
-
-2011-12-19 22:01:02 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  controlsource: clean up lfo control source
-	  Remove parent_class and use var from G_DEFINE_TYPE macro. Remove unused dispose
-	  implementation.
-
-2011-12-19 20:57:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: add new collectpads2 function to .def file
-
-2011-12-16 17:59:22 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: add convenience clipping function
-	  ... which also converts to running time; useful for typical muxer.
-
-2011-12-19 17:38:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: do not delay sparse stream newsegment updates
-
-2011-12-19 17:00:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: make subclasses add other flags
-	  Add GST_MAP_FLAG_LAST so that implementations can add additional flags when
-	  mapping memory.
-
-2011-12-19 12:33:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: suggestion compatible with upstream is not much of a suggestion
-	  ... in that upstream is already complying with that suggestion.
-	  Fixes #666174.
-
-2011-12-15 14:31:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: delay collecting buffer if a pad newly set waiting
-	  ... as commented; make code correspond to it (again).
-
-2011-12-15 16:06:30 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  controller: user the parent_class vars from G_DEFINE_TYPE
-
-2011-12-14 12:13:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  pad: allow NULL as filter caps argument with query_caps()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=666154
-
-2011-12-12 13:05:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: do not mistake short reads for EOS
-	  While local filesystems will usually not cause short reads,
-	  this may happen on seekable files on some remote filesystems.
-	  Instead, loop till we get the requested amount of data, or
-	  an actual EOS (ie, 0 bytes).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=665921
-
-2011-11-14 02:26:31 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Clear queued frames with other queues
-
-2011-12-12 12:11:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstelementfactory.c:
-	  elementfactory: use new 'transfer floating' annotation for gst_element_factory_make()
-	  Requires gobject-introspection 1.31.1 (older versions will
-	  error out with that).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664099
-
-2011-12-12 12:09:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/cs.po:
-	* po/eo.po:
-	* po/es.po:
-	* po/sr.po:
-	  po: update languages
-
-2011-12-12 12:00:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-12-12 11:54:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/glib-compat.c:
-	  glib-compat: Add license boilerplate for LGPL
-
-2011-12-10 01:16:05 +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/sl.po:
-	* po/sr.po:
-	* po/uk.po:
-	  po: update translations
-
-2011-12-10 11:08:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: say we handle RECONFIGURE event
-	  We handle the RECONFIGURE event so return TRUE from the event handler.
-
-2011-12-10 11:07:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't forward on NULL pads
-	  The iterator can return NULL in some cases, avoid pushing on those
-	  NULL pads.
-
-2011-12-07 16:01:07 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpreset.c:
-	* gst/gstpreset.h:
-	* win32/common/libgstreamer.def:
-	  preset: allow applications to specify an extra preset dir
-	  An extra application preset dir help to organize presets created for special
-	  purposes. Fixes #660760
-	  API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
-
-2011-12-09 10:01:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: stop when negotiation fails
-
-2011-12-08 17:32:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-12-08 18:00:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc()
-	  Previous code could almost never work and this should be slightly
-	  better.
-
-2011-12-08 17:21:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
-
-2011-12-08 17:07:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
-
-2011-12-08 17:02:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Refactor gst_base_transform_buffer_alloc() code
-	  Don't check if upstream provided caps are compatible with upstream
-	  and don't try to fixate these caps. They must be fixated in any case.
-
-2011-12-08 00:49:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  win32: update .def files for latest API additions
-
-2011-12-08 00:47:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  tests: fix up selector test after merge
-
-2011-12-08 00:39:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstindexfactory.c
-	  libs/gst/base/gstbasetransform.c
-	  plugins/elements/gstfakesink.c
-	  plugins/elements/gstfakesrc.c
-	  plugins/elements/gstidentity.c
-	  plugins/elements/gstinputselector.c
-	  plugins/elements/gstoutputselector.c
-	  Note: did not merge any of the basetransform changes from 0.10.
-
-2011-12-07 17:57:49 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: do not use a byte value instead of a time value when bisecting
-	  This fixes FLAC seeking on some FLAC files.
-
-2011-12-07 11:04:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  selector: Push newsegment events before any buffers are pushed in the unit test
-
-2011-12-07 11:01:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Don't send a NEWSEGMENT event if a buffer arrived before the segment was configured
-
-2011-12-07 11:01:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Don't send last segment/buffer when no segment was configured yet
-
-2011-12-07 09:50:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps
-	  Fixes bug #662199.
-
-2011-12-06 23:52:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstindexfactory.c:
-	  indexfactory: fix memory leak
-	  Introduced by commit bd302bb6 pluginfeature: avoid duplicating feature->name
-	  https://bugzilla.gnome.org/show_bug.cgi?id=459466
-	  https://bugzilla.gnome.org/show_bug.cgi?id=665703
-
-2011-12-06 18:09:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: put new event probe type next to other event types
-
-2011-12-05 21:20:52 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  Add GST_PAD_PROBE_TYPE_HANDLE_FLUSH
-
-2011-12-06 14:55:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: Make event/buffer verbose output consistent with identity
-
-2011-12-06 14:55:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: Print buffer flags in the verbose output
-
-2011-12-06 14:53:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: Make event/buffer verbose output consistent with identity and print buffer flags
-
-2011-12-06 14:46:46 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gstpad.c:
-	  tests: don't include glib/gthread.h directly
-	  The g_thread functions are available after including glib.h as per docs.
-
-2011-12-06 14:23:39 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: port the test to new api as well
-
-2011-12-06 14:23:12 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  controller: fix gpointer vs. gpointer* mess up
-
-2011-12-06 14:24:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	  pad: remove GST_FLOW_RESEND
-	  It is unused and undefined.
-
-2011-12-06 14:01:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfakesrc.c:
-	  basesrc: add async start option
-	  Add a method to enable async start behaviour. The subclass can then complete the
-	  start operation from any other thread by caling gst_base_src_start_complete().
-	  The base class can wait for the start to complete with
-	  gst_base_src_start_wait().
-
-2011-12-06 13:58:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/controller.c:
-	  fix compilation
-
-2011-12-06 13:47:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: cleanup error path
-
-2011-12-06 13:39:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  fix compilation
-
-2011-12-06 08:48:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  controller: use _OBJECT logging variants more
-
-2011-12-06 08:35:57 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* tests/benchmarks/controller.c:
-	  controller: remove GstValueArray
-	  Instead pass the values as arguments. This simplifies that code and helps
-	  bindings.
-
-2011-12-06 08:35:10 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  controller: remove gst_object_get_value_arrays
-	  One can easilly loop over the controlled properties manually. This is step 1 in
-	  removing GstValueArray.
-
-2011-12-04 07:33:32 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstpad.c:
-	  correct return value in gst_push_sticky
-
-2011-12-05 11:07:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	  make some macros into inline functions
-
-2011-12-05 10:24:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	  make some more macros as inline functions
-	  Make some macros as inline functions for added type checking.
-	  USe new gst_caps_take() in typefind
-
-2011-12-05 10:23:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove some old methods
-
-2011-12-04 21:19:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: allow non-joinable threads in private g_thread_create() copy
-	  Looks like some tests use non-joinable threads after all.
-
-2011-12-04 15:42:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove removed tag list functions from docs as well
-
-2011-12-04 15:38:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstobject.h
-	  libs/gst/check/gstcheck.h
-	  libs/gst/controller/gstcontroller.c
-	  plugins/elements/gstidentity.c
-	  tools/gst-xmlinspect.c
-
-2011-12-04 14:38:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads2.c:
-	* plugins/elements/gstmultiqueue.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.
-
-2011-12-04 13:35:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstobject.h:
-	* gst/gsttask.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.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 can't change most of
-	  these in 0.10 because they're part of our API and ABI.
-
-2011-12-04 13:09:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	  benchmarks: g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
-
-2011-12-04 13:04:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  net: initialise GError variables to NULL
-
-2011-12-04 11:43:10 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update defs files
-
-2011-12-04 11:42:39 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstquery.c:
-	  gstquery: Fix unitialized variable
-
-2011-12-04 11:32:57 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstsegment.c:
-	  gstsegment: Initialize with proper type
-
-2011-12-03 17:40:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/gst-xmlinspect.c:
-	  g_thread_init() is deprecated in glib master
-	  It's not needed any longer.
-
-2011-12-03 16:02:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttagsetter.c:
-	  tagsetter: update for thread API deprecations in glib master
-
-2011-12-03 15:36:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: update for thread API deprecations in glib master
-
-2011-12-03 15:18:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: remove gst_tag_list_get_{char,uchar}
-	  Those are unused and should never be used anywhere anyway
-	  really.
-
-2011-12-03 14:06:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove some macros that no longer exist
-
-2011-12-03 13:58:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
-
-2011-12-03 07:06:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use dts and pts for sync
-	  First use DTS, then fall back to PTS for synchronization.
-
-2011-12-03 07:01:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: small cleanups
-
-2011-12-03 06:45:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: merge preroll functions
-	  Inline a function that is only called from one place to make things a little
-	  easier to follow.
-
-2011-12-03 06:29:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: more cleanups
-	  Don't pass around the object type, we can find that very efficiently from the
-	  object itself now.
-
-2011-12-02 23:13:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: clean up method names
-
-2011-12-02 22:50:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: merge render_object into chain
-	  Merge the render_object code with the chain method. It is only called from there
-	  and there are quite a few variables that can be reused to makes things less
-	  confusing.
-
-2011-12-02 22:36:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: remove obsolete code
-	  Remove some more code now that the render_object ethod is only
-	  called with buffers or bufferlsts.
-
-2011-12-02 22:20:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	  basesink: clean up event handling
-	  Add new wait_eos vmethod to wait for the eos timeout before posting the EOS
-	  message on the bus.
-	  Add default event handler. Move the default event actions in there. Call the
-	  event vmethod from the pad event handler. Subclasses are now supposed to chain
-	  up to the parent event handler or unref the event and do their own thing.
-	  Avoid passing unused parameters to functions.
-
-2011-12-02 13:19:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: unlock clock wait when appropriate
-	  ... notably FLUSH and state change to READY.
-
-2011-12-02 13:35:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: small cleanup
-	  Avoid passing around the segment.
-
-2011-12-02 13:28:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: remove clip_segment
-	  We only need one segment now that the preroll queue is gone.
-
-2011-12-02 12:42:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: more cleanups
-	  Remove some unneeded functions, inline the code.
-	  Remove the queue_object functions, we can proceed with the rendering
-	  immediately.
-
-2011-12-02 12:20:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: remove obsolete code
-	  Remove the preroll queue and proceed directly to the rendering of objects.
-
-2011-12-01 23:35:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstbus.c
-	  gst/gstevent.c
-	  libs/gst/base/gstbasetransform.c
-
-2011-12-01 18:50:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: make some tags of type GstSample
-	  Make the image and attachment tags of type GstSample so that we can include
-	  extra caps and info along with the buffer data.
-
-2011-12-01 18:49:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	  sample: remove const
-	  The writability of the structure is ensured by the refcount of the parent
-	  miniobject and we're fine if the parent is writable.
-
-2011-12-01 16:46:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* tests/check/libs/basesink.c:
-	* win32/common/libgstbase.def:
-	  basesink: last-buffer -> last-sample
-	  Rename the last-buffer property to last-sample and make it return the new
-	  GstSample type so that we can include caps and timing info in one nice bundle.
-
-2011-12-01 16:37:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstsample.c:
-	* gst/gstsample.h:
-	* win32/common/libgstreamer.def:
-	  sample: add new sample miniobject
-	  Add a new simple miniobject that is a combination of a GstBuffer, GstCaps,
-	  GstSegment and other arbitrary info organized in a GstStructure. This object can
-	  be used to exchange samples between an element and the application or for
-	  storing album art in tags etc.
-
-2011-12-01 16:25:07 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL.
-
-2011-12-01 15:35:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: add some more debug
-
-2011-12-01 15:35:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: add some more debug
-
-2011-12-01 15:34:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add copy flag for meta
-	  Add a flag to control if the meta should be copied or not instead of always
-	  copying.
-
-2011-11-29 19:08:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: remove old property
-
-2011-11-30 13:59:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Always intersect the suggested sink caps with the peer caps
-	  This makes sure that we get correct and complete caps. The suggested caps
-	  could be incomplete, e.g. video/x-raw-rgb without any fields, and by
-	  intersecting with the peer caps we get something usable.
-	  Fixes bug #662199.
-
-2011-11-30 12:39:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  info: move FIXME log level after WARNING
-	  So it's now ERROR < WARNING < FIXME < INFO and *:5 becomes *:6.
-
-2011-11-30 00:24:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: warn and fail instead of creating newsegment events in GST_FORMAT_UNDEFINED
-
-2011-11-29 15:53:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: keep the element flags up-to-date
-	  Keep the require/provide_clock flags up to date.
-
-2011-11-29 11:47:34 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: source and sink pads proxy caps
-
-2011-11-28 23:20:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11
-
-2011-11-28 21:15:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-11-28 18:23:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  update for indexable change
-
-2011-11-28 18:12:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* tools/gst-inspect.c:
-	* win32/common/libgstreamer.def:
-	  element: add indexable flag
-	  Remove the is_indexable method check and use an element flag to check if the
-	  element can use an index.
-
-2011-11-28 17:50:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2011-11-28 17:22:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* tools/gst-inspect.c:
-	  element: use flags for require/provide clock
-	  Remove the _require/_provide_clock() methods and use element flags to mark
-	  elements instead of looking at the implementation of the vmethod.
-
-2011-11-28 16:54:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/gst/gstbin.c:
-	  element: clean up element flags
-	  Clean up the element flags
-
-2011-11-28 15:35:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: add sticky custom quark
-
-2011-11-28 14:24:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: _CAPS_FLAGS_ -> CAPS_FLAG_
-
-2011-11-28 12:30:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  gstelement: add gst_element_class_add_pad_template_from_static
-	  This function helps ensure the pad template is unreffed
-	  without having to complicate the calling code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662664
-
-2011-11-28 13:08:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  various: fix pad template ref leaks
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662664
-
-2011-11-28 13:54:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Handle sticky event errors
-	  Use GstFlowReturn to internally pass events between pads.
-	  When we sticky events cause an error, translate this error into a GstFlowReturn.
-	  Caps events will, for example, generate a NOT_NEGOTIATED return when the event
-	  function returns an error.
-	  This allows us then to refuse sending buffers if one of the sticky events is
-	  refused and generate a correct error return value.
-
-2011-11-28 13:52:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/fdsrc.c:
-	  tests: don't return FALSE from events
-	  Returning FALSE from the event handler shuts down the sender.
-
-2011-11-28 13:51:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  test: fix refcount error
-
-2011-11-28 11:15:27 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	  gstmeta: Some more docs
-
-2011-11-28 10:55:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: add custom downstream sticky event
-
-2011-11-28 01:12:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix up comment after merge from 0.10
-
-2011-11-28 01:11:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-11-28 01:10:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix refactoring of draining-on-eos, munge flow return to FLOW_OK
-
-2011-11-28 01:00:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix up new bufferlist code for 0.11
-
-2011-11-28 00:40:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  plugins/elements/gstqueue2.c
-
-2011-11-03 10:34:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add bufferlist support
-	  We want to maintain buffer lists if possible.
-
-2011-11-03 13:02:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: split out draining of queue on FLOW_UNEXPECTED into separate function
-
-2011-11-03 08:55:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: pass item type enum to _enqueue instead of simple isbuffer boolean
-	  Avoids some unnecessary GST_IS_EVENT()
-
-2011-11-27 20:32:14 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstcaps.h:
-	  caps: fix compilation warning
-	  GST_STATIC_CAPS is missing initializer for GstMiniObject's n_weak_refs and
-	  weak_refs resulting in compilation warning (llvm-gcc  -Wall)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664927
-
-2011-11-27 22:26:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-11-27 20:36:31 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  warnings: avoid set-but-unused warnings with load-save disabled
-
-2011-11-26 17:34:12 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix broken default caps query
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664880
-
-2011-11-26 19:51:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-11-26 19:45:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.h:
-	  uri: fix wrong G_GNUC_MALLOC
-	  _get_protocols() points to const memory in 0.10
-	  despite the non-const return value.
-
-2011-11-26 19:44:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstbuffer.h
-	  gst/gstbufferlist.h
-	  gst/gstcaps.h
-	  gst/gstdatetime.h
-	  gst/gstelementfactory.h
-	  gst/gstevent.h
-	  gst/gstghostpad.h
-	  gst/gstindexfactory.h
-	  gst/gstiterator.h
-	  gst/gstmessage.h
-	  gst/gstminiobject.h
-	  gst/gstpipeline.h
-	  gst/gstquery.h
-	  gst/gstsegment.h
-	  gst/gststructure.h
-	  gst/gsttaglist.h
-	  gst/gsturi.h
-	  gst/gstvalue.h
-	  libs/gst/base/gstbitreader.h
-	  libs/gst/base/gstbytereader.h
-	  libs/gst/base/gstbytewriter.h
-	  Note: can't use G_GNUC_MALLOC with GstCaps return
-	  values in 0.11 because of the EMPTY+ANY singletons.
-
-2011-11-26 18:58:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstdataqueue.h:
-	  libs: sprinkle some G_GNUC_MALLOC
-	  Maybe gcc can do something clever with that, or at least
-	  warn us if we don't save the return value somewhere.
-
-2011-11-26 18:57:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstatomicqueue.h:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.h:
-	* gst/gstdatetime.h:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.h:
-	* gst/gstindexfactory.h:
-	* gst/gstiterator.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.h:
-	* gst/gstpreset.h:
-	* gst/gstquery.h:
-	* gst/gstsegment.h:
-	* gst/gststructure.h:
-	* gst/gsttaglist.h:
-	* gst/gsturi.h:
-	* gst/gstvalue.h:
-	  gst: sprinkle some G_GNUC_MALLOC
-	  Maybe gcc can do something clever with that, or at least
-	  warn us if we don't save the return value somewhere.
-
-2011-11-25 23:54:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-11-25 23:15:23 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting docs.
-
-2011-11-16 01:04:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* tests/check/gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  buffer: add gst_buffer_{set,get}_qdata()
-	  Allows people/us to attach arbitrary metadata to buffers.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664720
-	  API: gst_buffer_set_qdata()
-	  API: get_buffer_get_qdata()
-
-2011-11-25 07:11:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: fix blocking probe emission
-	  If we are dealing with a blocking probe, only then check if one the
-	  blocking flags of the hook matches.
-	  Add some more debug.
-	  Make the pad unit test less racy.
-
-2011-11-24 17:47:09 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* tests/check/gst/gstpad.c:
-	  Add test for PAD_PROBE_TYPE_BLOCK and PAD_PROBE_TYPE_BLOCKING
-
-2011-11-25 05:54:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix debug of query result
-
-2011-11-24 22:52:19 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: fix typo in doc
-	  Causes a warning from the introspection scanner.
-
-2011-11-24 21:36:12 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* tests/check/elements/capsfilter.c:
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/selector.c:
-	  check: drop caps argument from gst_check_setup_{src,sink}_pad
-	  Calling set_caps at that point is not useful in 0.10 (FIXME comment!), and in
-	  0.11 it is totally pointless: the caps event doesn't stick to a flushing pad.
-
-2011-11-24 14:07:14 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: update for byte_writer_put_buffer
-
-2011-11-24 11:23:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstpad.c
-	  libs/gst/base/gstbaseparse.c
-
-2011-11-24 11:15:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps
-	  This check is correct but unfortunately it's impossible to implement
-	  in a threadsafe way because the caps could have changed in the meantime.
-	  Fixes bug #659606.
-
-2011-10-03 12:34:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: check filled state of queues even if another one is empty
-	  This will avoid a case where overrun is never signalled if some
-	  stream never produces any data, causing playbin2 to not end preroll.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=660778
-
-2011-11-24 09:31:14 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Check for dataflow with incompatible caps
-	  This test currently fails, but is there to ensure we fix this issue
-	  and keep it fixed, since it completely breaks delayed negotiation
-	  use-cases.
-	  This behaviour started breaking since
-	  dd65aae9a177f7b11dcef0f690a78d698f667cd4
-
-2011-11-24 09:31:02 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Add comments to gstpad tests
-
-2011-11-24 09:30:14 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Remove "#if 0" block for behaviour that now works
-
-2011-11-24 09:28:32 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Remove commented block
-	  This behaviour is actually tested in test_push_unlinked
-
-2011-11-24 01:06:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: make gst-inspect print a nasty debug message for non-grata property type
-	  Try to eradicate properties of long/ulong/char/uchar type.
-
-2011-11-23 17:50:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gsttee.c:
-	  event: add STICKY_MULTY events
-	  Add a new event flag for sticky events so that multiple events of that type can
-	  be stored on a pad at the same time. Change the _get_sticky_event() function to
-	  loop over the multiple events of a type.
-	  Change the foreach function to make it possible to removed and modify the sticky
-	  events on a pad.
-	  Use an variable size array now to store the events. This could later be
-	  optimized some more.
-
-2011-11-23 17:39:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: handle NULL message src in debug
-
-2011-11-23 17:38:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: avoid reading past the array
-	  When the foreach function told us to remove the buffer from the list, decrease
-	  the length of the array or else we might read past the last item in the array.
-
-2011-11-23 13:42:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
-	  Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
-	  parsers because it will propagate the other side's fields like "parsed"
-	  and "framed" and also breaks parser/converters.
-	  Fixes bug #664221.
-
-2011-11-23 11:03:19 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: add method to write out a buffer
-	  In 0.10, this can be done with a one-liner by using GST_BUFFER_DATA/SIZE with
-	  put_data. A 0.11 user has to resort to gst_buffer_map, which is less convenient
-	  and might require a memcpy internally.
-	  API: gst_byte_writer_put_buffer()
-
-2011-11-23 08:17:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: take peerpad correctly
-	  Don't take the peerpad too early, it might change because of the
-	  probes.
-
-2011-11-22 18:32:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: rework sticky events
-	  Rewrite sticky events, trying to make it a bit more simple.
-	  When sticky events are pushed on a srcpad, store them in the sticky event
-	  array and mark the event with received = FALSE.
-	  When the sticky event is successfully sent to the peer pad, make
-	  received = TRUE.
-	  Keep a PENDING_EVENTS pad flag that is set when one of the events is in
-	  the received = FALSE state for some reason.
-	  when activating a sinkpad, mark all events received = FALSE on the peer
-	  srcpad.
-	  When pushing a buffer, check the PENDING_EVENTS flag and if it is set, push all
-	  events to the peer pad first.
-
-2011-11-22 18:32:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: also let caps events go through
-
-2011-11-22 16:43:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add new flags
-
-2011-11-21 18:56:19 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: fix return type of _map() to gconstpointer
-	  Fixes compiler warnings on OSX:
-	  gstadapter.h:82: warning: type qualifiers ignored on function return type
-	  gstadapter.c:412: warning: type qualifiers ignored on function return type
-	  const gpointer is not the same as gconstpointer or const void *.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664491
-
-2011-11-22 12:46:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  defs: update defs files
-
-2011-11-22 12:45:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gstevent.h:
-	  padd return value from _mini_object_replace()
-
-2011-11-21 18:56:19 +0100  Matej Knopp <matej.knopp@gmail.com>
-
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue2.c:
-	  Fix printf format compiler warnings on OSX/64bit
-	  https://bugzilla.gnome.org/show_bug.cgi?id=664491
-
-2011-11-21 17:46:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: improve pad tests
-
-2011-11-21 17:43:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix locking order error
-
-2011-11-21 17:43:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: fix print format
-
-2011-11-21 15:47:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Add destroy notify to pad functions
-	  Add _full variants of the pad function setters that take a destroy notify.
-	  Make some macros that make the old method name pass NULL to this new
-	  function.
-
-2011-11-21 13:29:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/filesrc.c:
-	  pad: Merge pad mode activation functions
-	  Add the pad mode to the activate function so that we can reuse the same function
-	  for all activation modes. This makes the core logic smaller and allows for some
-	  elements to make their activation code easier. It would allow us to add more
-	  scheduling modes later without having to add more activate functions.
-
-2011-11-18 18:08:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-scheduling.txt:
-	* gst/gstquery.c:
-	  docs: update design doc
-	  also fix default alignment value (0 == no-alignment)
-
-2011-11-18 17:27:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstpushsrc.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	  query: improve scheduling query
-	  Turns some boolean arguments in the scheduling query to flags, which are easier
-	  to extend and makes the code easier to read.
-	  Make extra methods for configuring and querying the supported scheduling modes.
-	  This should make it easier to add new modes later.
-
-2011-11-18 14:08:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.h:
-	  query: move flags closer to buffering query
-
-2011-11-18 13:46:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	  pad: add parent to activate functions
-
-2011-11-18 12:35:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gst.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  pad: fix scheduling mode enums
-	  GstPadActivateMode -> GstPadMode
-	  GST_PAD_ACTIVATE_* -> GST_PAD_MODE_*
-
-2011-11-17 16:14:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: fix for new getrange method signature
-	  gst_type_find_helper_get_range_ext -> gst_type_find_helper_get_range
-
-2011-11-17 12:40:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/elements/tee.c:
-	* tests/check/elements/valve.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/test_transform.c:
-	  pad: add parent to other functions
-	  Add parent to chain, chain_list, getrange and event functions.
-
-2011-11-17 08:21:05 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* tests/check/libs/collectpads.c:
-	  collectpads: move fields out of reserved and restore padding
-	  Do the 0.11 ABI changes. Add extra fields for destroy_notify and drop the qdata
-	  hack. Rename _add_pad_full to _add_pad and remove the old _add_pad.
-
-2011-11-16 17:49:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	  add parent to internal links
-
-2011-11-16 17:22:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	* tests/check/elements/multiqueue.c:
-	  pad: add parent to the query function
-
-2011-11-16 12:36:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstdebugutils.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	  GstPadFlags: rename flags GST_PAD_* -> GST_PAD_FLAG_*
-
-2011-11-16 12:10:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gstvalve.c:
-	  plugins: remove obsolete parent checks
-
-2011-11-16 12:08:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: keep the parent alive when requested
-	  Add a new pad flag NEED_PARENT that ensures that the parent of a pad is
-	  reffed and not NULL when the event, query and internal links functions
-	  are called.
-	  When a pad is added to an element automatically make sure the NEED_PARENT flag
-	  is enabled.
-
-2011-11-16 10:29:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  don't require parent element to proxy
-
-2011-11-16 10:16:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  update porting doc
-
-2011-11-15 18:16:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  pad: move query convenience functions together
-	  Move the caps convenience functions to the other query functions.
-
-2011-11-15 17:50:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* plugins/elements/gstqueue2.c:
-	  _query_peer_*() -> _peer_query_*()
-
-2011-11-15 17:40:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstcapsfilter.c:
-	  _accept_caps() -> _query_accept_caps()
-
-2011-11-15 17:11:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/elements/selector.c:
-	  _peer_get_caps() -> peer_query_caps()
-
-2011-11-15 16:46:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/highlevel-components.xml:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/valve.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstutils.c:
-	  pad: _get_caps() -> _query_caps()
-
-2011-11-15 16:16:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix docs
-
-2011-11-15 16:13:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix the proxy functions
-	  fix the proxy functions for query_accept_caps and query_caps to use the pad
-	  forward helper functions which correctly forwards on the internally linked pads.
-
-2011-11-15 16:13:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: improve some flag macros
-
-2011-11-15 16:13:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix debug line
-
-2011-11-15 11:20:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstdebugutils.c:
-	* gst/gstelement.c:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gstvalve.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/gst/gstutils.c:
-	* tools/gst-inspect.c:
-	  pad: remove getcaps and use caps query
-	  Remove the getcaps function on the pad and use the CAPS query for
-	  the same effect.
-	  Add PROXY_CAPS to the pad flags. This instructs the default caps event and query
-	  handlers to pass on the CAPS related queries and events. This simplifies a lot
-	  of elements that passtrough caps negotiation.
-	  Make two utility functions to proxy caps queries and aggregate the result. Needs
-	  to use the pad forward function instead later.
-	  Make the _query_peer_ utility functions use the gst_pad_peer_query() function to
-	  make sure the probes are emited properly.
-
-2011-11-14 11:26:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add caps query
-
-2011-11-14 09:57:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.h:
-	  query: remove GST_QUERY_LAST
-
-2011-11-14 10:27:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.h:
-	* gst/gstmemory.h:
-	* gst/gstmeta.h:
-	* gst/gstpad.h:
-	* gst/gstquery.h:
-	  fix docs
-
-2011-11-12 10:29:30 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	  controller: remove functions to add/remove controlled properties
-	  Make that implizit with attaching/detaching controlsources. This is a lot easier
-	  and has less invalid state (controlled property without control source).
-
-2011-11-13 23:55:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  Update for GstURIHandler get_protocols() changes
-
-2011-11-13 23:25:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* tools/gst-inspect.c:
-	  plugins, tools: update for get_protocols() return value change
-
-2011-11-13 23:14:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.h:
-	  uri: clean up header files
-	  Tabs to spaces.
-
-2011-11-13 23:07:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	  urihandler: fix return type of get_protocols()
-
-2011-11-13 20:56:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gsturi.h:
-	  urihandler: fix return type of _get_uri_type()
-	  Return a GstURIType and not a plain guint.
-
-2011-11-13 17:45:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	  tests: update unit tests for URI handler API changes
-
-2011-11-13 17:44:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	  elements: update fd + file sources and sinks for GstUriHandler changes
-
-2011-11-13 17:44:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gst.c:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* win32/common/libgstreamer.def:
-	  urihandler: pass GError argument to gst_uri_handler_set_uri()
-	  Also let gst_uri_handler_set_uri check already if the protocol
-	  is supported, so that not every uri handler has to do that
-	  itself.
-
-2011-11-13 15:51:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	  urihandler: make _get_uri() return a copy
-	  For thread-safety.
-
-2011-11-13 15:37:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* plugins/elements/gstfilesrc.c:
-	  urihandler: remove "new-uri" signal
-	  No one but filesrc used that API. Should probably be replaced by
-	  requiring an "uri" property instead, and then objects can do a
-	  notify on that. Also removed interface structure padding, it's
-	  not needed.
-
-2011-11-13 13:23:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  tools/gst-inspect.c
-
-2011-11-12 16:42:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: print current value as default value
-	  Instead of printing separate 'Current' and 'Default' values
-	  (the former obtained via g_object_get() and the latter from
-	  the property GParamSpec), simply print the Current value as
-	  the Default value. This is the right thing to do for almost
-	  all elements and avoids confusion if a subclass of a base
-	  class chooses a different default than the base class.
-
-2011-11-12 14:55:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstparse.c:
-	* gst/gstplugin.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  gst, controller: replace g_list_prepend + reverse with GQueue
-
-2011-11-12 14:04:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  docs: fix typo in buffer docs
-
-2011-11-12 01:54:44 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix caps unref in transform_caps filter subset check
-	  I did not test this, but the code looked very wrong.
-
-2011-11-12 01:51:11 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: do not return a ref from parse_accept_caps
-	  Makes this exactly like gst_event_parse_caps. This is what current code
-	  expects, so it fixes some leaks.
-
-2011-11-11 17:17:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	* libs/gst/base/gstbitreader-docs.h:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstcollectpads2.h:
-	* libs/gst/check/gstbufferstraw.h:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsourceprivate.h:
-	* libs/gst/dataprotocol/dataprotocol.h:
-	* libs/gst/net/gstnetaddressmeta.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	  .h: fix header files
-	  Ensure correct indentation and retab
-	  Make sure all structure have padding
-
-2011-11-11 16:52:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.h:
-	* gst/gstbufferpool.h:
-	* gst/gstbus.h:
-	* gst/gstchildproxy.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstcontrolsource.h:
-	* gst/gstdatetime.h:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstformat.h:
-	* gst/gstghostpad.h:
-	* gst/gstindex.h:
-	* gst/gstindexfactory.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.h:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstparamspecs.h:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstpluginloader.h:
-	* gst/gstpreset.h:
-	* gst/gstregistry.h:
-	* gst/gsttagsetter.h:
-	* gst/gsttask.h:
-	* gst/gsttaskpool.h:
-	* gst/gsttrace.h:
-	* gst/gsttypefindfactory.h:
-	* gst/gstutils.h:
-	* gst/gstvalue.h:
-	  .h: fix header files
-	  Ensure correct indentation and :retab.
-	  Make sure all structures have padding
-	  Fix up some old ABI additions.
-
-2011-11-11 17:04:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  docs: fix invalid xml
-
-2011-11-11 10:00:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: avoid < -1 sizes
-
-2011-11-11 01:47:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  buffer, memory: make size arguments where -1 is allowed signed
-
-2011-11-11 01:44:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for latest API changes
-
-2011-11-10 19:37:28 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* docs/random/porting-to-0.11.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstcontroller.c:
-	* gst/gstcontroller.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* tests/benchmarks/controller.c:
-	* tests/check/libs/controller.c:
-	* tests/examples/controller/audio-example.c:
-	  controller: merge controller into gstobject
-	  This make the controller even more lightweight (no extra object, no extra lock,
-	  less indirections). For object that don't use the controller the only 'overhead'
-	  is a 3 unused fields in the gst_object structure.
-
-2011-11-10 18:58:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	  netmeta: avoid using g[u]long in headers
-
-2011-11-10 18:18:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbaseparse.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/libs/adapter.c:
-	  adapter: remove flush from _unmap
-
-2011-11-10 16:02:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: implement a default get_caps function
-	  Don't rely on the return value of a vmethod to trigger the default
-	  implementation but make a real defaul implementation of the method that the
-	  subclass can chain up to.
-
-2011-11-10 14:13:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: remove incorrect assertion
-	  Offset and sizes have no bearing on each other here.
-
-2011-11-10 13:59:28 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstcontroller.def:
-	* win32/common/libgstreamer.def:
-	  win32: Update def files
-
-2011-11-10 13:53:33 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	  gst: More introspection annotations
-
-2011-11-10 13:51:28 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  gstmemory: Register a GBoxed GType
-	  Allows using it from g-i
-
-2011-11-10 13:50:23 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Add --warn-all to introspection scanner
-	  ... and let's get fixing all those docs !
-
-2011-11-10 13:38:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix vmethods
-	  Make a default implementation of the transform_caps vmethod so that subclasses
-	  can call into it.
-	  Make a default implementation of transform_size.
-	  Avoid doing something in the vmethod trampoline.
-
-2011-11-10 13:37:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/test_transform.c:
-	  tests: only override when != NULL
-	  Only override the methods in the unit tests when != NULL otherwise we might
-	  override the default implementation.
-
-2011-11-10 13:36:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.h:
-	  pushsrc: make alloc method a vmethod
-
-2011-11-10 12:33:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: reorder vmethod according to .h file
-
-2011-11-10 12:33:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.h:
-	  basesink: improve comments
-
-2011-11-10 12:33:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't do things in the vmethod trampoline
-
-2011-11-10 12:09:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	  element: add a default set_clock implementation
-	  Add a default set_clock implementation and avoid doing work in the vmethod
-	  trampoline. This requires subclasses to chain up.
-
-2011-11-10 12:08:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: don't do anything in the vmethod trampoline
-	  Avoid doing stuff in the vmethod trampoline, just let the default
-	  implementation of the method take care of things.
-
-2011-11-10 12:08:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix some docs
-
-2011-11-10 11:42:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: use gpointer for return types
-
-2011-11-10 11:12:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update doc
-
-2011-11-10 10:58:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstpad.c:
-	* tools/gst-inspect.c:
-	  pad: remove GstPadFixateCapsFunction
-	  The fixate caps function was not used externally and we have vmethods in the
-	  base classes where it is needed.
-	  Update some docs.
-	  simplify some fixate functions in the base classes. Also pass the untruncated
-	  caps to the vmethod.
-
-2011-11-09 17:43:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't store events on flushing pads
-	  check the flushing state of the pad before storing the event.
-
-2011-11-09 17:36:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* tools/gst-inspect.c:
-	  pad: make an ACCEPT_CAPS query
-	  Replace the acceptcaps function with a query.
-
-2011-11-09 17:25:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* plugins/elements/gsttypefindelement.c:
-	  pad: refuse events in flushing
-	  when we are flushing, don't store the event on the pad but simply return FALSE.
-	  Don't deactivate the srcpad, we need it to be active in order to push the
-	  caps. Downstream can change the scheduling mode of an active pad.
-
-2011-11-09 17:19:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  element: remove more query_types
-
-2011-11-09 11:05:59 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* Android.mk:
-	* tests/examples/controller/Makefile.am:
-	  Android: build audio controller example
-	  Add buildsystem hooks for building the audiocontroller example
-	  with the NDK.
-	  Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
-
-2011-11-09 12:21:17 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: add tests for sticky caps handling
-	  test_sticky_caps_flushing is currently failing.
-
-2011-11-09 12:12:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* common:
-	  update common
-
-2011-11-09 12:03:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-11-09 12:02:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting doc
-
-2011-11-09 11:47:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tools/gst-inspect.c:
-	  remove query types
-	  It was not really useful
-
-2011-11-08 18:09:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: consider lists and ranges equal if they hold the same set
-	  This fixes caps operations when different elements advertise some
-	  of their caps' properties differently (eg, for audio channels, either
-	  a range from 1 to 2, or a list of 1 and 2).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=663643
-
-2011-11-09 11:24:26 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/gst/gststructure.c:
-	  tests: add a subset test for structure
-
-2011-11-09 11:22:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	  pad: add more queries
-	  Add more query functions to prepare for doing more with queries
-
-2011-10-28 13:39:58 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/manual/advanced-dparams.xml:
-	  docs: also fix wrong call order for controller in manual
-
-2011-11-08 17:32:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-probes.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: install query probes
-	  Fire query probes according to updated design doc.
-
-2011-11-08 15:51:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: remove lock/unlock_full versions of stream-lock
-
-2011-11-08 15:48:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: add defines for query probes
-
-2011-11-08 13:30:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  pad: fix unit test
-
-2011-11-08 13:13:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: update docs
-
-2011-11-08 13:02:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  test: port to 0.11
-
-2011-11-08 12:54:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstelement.h
-	  gst/gstghostpad.c
-	  gst/gstminiobject.c
-
-2011-11-08 12:47:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-probes.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add pull mode probes
-	  Allow probes to inspect the offset and size from a probe in pull mode and allow
-	  the probe to modify the buffer.
-	  Update design doc a little.
-
-2011-11-08 12:22:21 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: pad: add test to verify flushing behaviour
-	  Seems like a trivial case, but this was actually broken in 0.11 recently.
-
-2011-11-08 11:04:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/elements/selector.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/pipelines/queue-error.c:
-	  pad: Add GstPadProbeInfo
-	  Make a new GstPadProbeInfo structure and pass this in the probe callback. This
-	  allows us to add more things later and also allow the callback to replace or
-	  modify the passed object.
-
-2011-11-08 08:26:29 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstevent.c:
-	  event: log creation of qos events at LOG level instead at INFO
-
-2011-11-07 16:57:37 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbuffer.c:
-	  buffer: improve parameter docs
-
-2011-11-08 00:32:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstminiobject.c:
-	* gst/gststructure.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	  docs: fix Since: markers for API added after 0.10.35
-
-2011-11-08 00:15:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def file for new API
-	  API: gst_caps_is_strictly_equal()
-
-2011-11-07 17:17:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstvalue.c
-
-2011-11-07 17:04:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/elements/selector.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/pipelines/queue-error.c:
-	  pad: rework pad probes
-	  Make a separate cookie to detect chancges in the list of probes and keeping
-	  track of what hooks have been invoked yet.
-	  Remove the requirement to have probes on srcpads in push mode and sinkpads in
-	  pull mode.
-	  Add some more debug.
-	  Keep track of what callbacks got executed. If no callback is called and we are a
-	  blocking pad, let the item pass. This allows you to block pads on selected
-	  items only.
-	  Explicitly have an UPSTREAM and DOWNSTREAM PadProbeType. This allows you to only
-	  block the pad on upstream or downstream items.
-	  Add convenience macros to only block on downstream/upstream items.
-
-2011-10-27 12:59:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  gstcaps: remove unneeded use of gint64
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-10-27 12:24:13 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  gstvalue: quicker version of intersection when we do not need the result
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-10-27 12:02:43 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  gststructure: simplify return statement in gst_structure_can_intersect
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-10-27 11:41:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  gststructure: early out when we know a value cannot be a subset
-	  If two values can be ordered, but are unequal, they are
-	  necessarily distinct, thus one cannot be a subset of the other.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-10-27 10:35:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  gstvalue: quicker test for substraction emptiness
-	  When we do not care about the actual resulting set,
-	  but only whether it is empty of not, we can skip a fair bit
-	  of GValue juggling.
-	  Add a function that does so, since we cannot just pass NULL
-	  to the existing API as it may be part of the API contract.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-10-27 09:45:41 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  gststructure: rejig test ordering for speed
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662777
-
-2011-11-07 12:28:22 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: mention more api changes in the porting guide
-
-2011-11-07 10:40:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix compilation
-
-2011-11-07 10:01:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-
-2011-11-06 00:07:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcontroller.c:
-	  Revert "controller: fix g_return statement"
-	  This reverts commit 593d2b297bd7b5ce9dbcdf2f1ae2b7624d94d6ae.
-	  gst_controller_set_disabled () returns a void.
-
-2011-11-05 12:10:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove refs to removed API
-
-2011-11-04 21:37:45 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontroller.c:
-	* gst/gstobject.c:
-	  controller: the object needs a ref to the controller for the convenience api
-	  Add a hack to ensure the object will have a ref to the controller once we
-	  create it. Fixes the audio example (that uses the controller api directly).
-
-2011-11-04 21:37:21 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontroller.c:
-	  controller: fix g_return statement
-
-2011-11-04 21:35:55 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstcontroller.c:
-	  controller: logging tweaks
-	  Don't log in _new before we have the log category. Use _OBJECT variants.
-
-2011-11-05 01:27:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcontroller.c:
-	* gst/gstobject.c:
-	  gst: fix some compiler warnings
-	  gstobject.c: In function 'gst_object_has_active_automation':
-	  gstobject.c:1076:3: error: 'return' with no value, in function returning non-void
-	  gstcontroller.c: In function 'gst_controller_is_active':
-	  gstcontroller.c:509:3: error: 'return' with no value, in function returning non-void
-
-2011-11-04 20:50:58 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcontroller.c:
-	* gst/gstcontroller.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  controller: add api to check for active controllers (needed for e.g. volume)
-
-2011-11-04 20:32:32 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstobject.h:
-	  controller: remove obsolete comments from api transition
-
-2011-11-04 14:00:24 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	* tests/check/libs/gstlibscpp.cc:
-	  controller: fix tests after move and API changes
-
-2011-11-04 11:42:34 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* tests/benchmarks/controller.c:
-	* tests/examples/controller/audio-example.c:
-	* tools/gst-inspect.c:
-	  controller: port to new controller api
-
-2011-11-04 11:39:25 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	  controller: update docs for controller move
-
-2011-11-04 11:34:11 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstclock.h:
-	* gst/gstcontroller.c:
-	* gst/gstcontroller.h:
-	* gst/gstcontrolsource.c:
-	* gst/gstcontrolsource.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gstcontrollerprivate.h:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	* libs/gst/controller/lib.c:
-	  controller: move to core/gstobject
-	  Move the controller to gstobject as a simple delegate. The controller and
-	  controlsource are not classes in core. The controlsources stay separate as a lib
-	  for now. This way we can avoid the qdata lookups.
-	  Also remove controller_init(). There is no more need to link to controller for
-	  elements.
-	  Also sanitize the API. We now have functions to add properties like we had
-	  methods to remove that. That avoids then ref count hacks we had in _new.
-
-2011-11-03 18:23:13 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: small clarification
-
-2011-11-03 18:22:16 +0100  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: missing rename iface->interface in the docs
-
-2011-11-04 19:17:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: fix the iterator copy
-
-2011-11-04 19:11:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstbin.c
-
-2011-11-03 15:36:59 +0000  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Only use the cached transform on strictly equal caps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=663333
-
-2011-11-03 15:35:32 +0000  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: Add gst_caps_is_strictly_equal
-
-2011-11-04 18:47:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	  tests: fix tests
-	  Since blocks are not on both directions, we need to check in the block callback
-	  if we are not blocking on an upstream event and let it pass.
-
-2011-11-04 18:19:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-probes.txt:
-	* gst/gstpad.c:
-	  pad: make probes work on all pads
-	  fixes #644907
-
-2011-10-15 22:52:25 +0300  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstclock.h:
-	  introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants
-	  gobject-introspection won't parse them properly otherwise.
-	  Still need to force the right type though (either GstClockTime or
-	  guint64), but Type: xyz has no effect for me here, so someone with
-	  a newer g-i needs to test this.
-	  Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.
-
-2011-11-04 00:03:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: suppress unused variable warnings if gst debugging is disabled
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662952
-
-2011-11-04 00:02:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: fix typo around GLIB_EXTRA_CFLAGS in GST_ALL_CXXFLAGS
-
-2011-11-03 23:08:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: use statically allocated GQueue
-
-2011-11-03 22:58:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: use statically allocated GQueue
-	  Because we can.
-
-2011-11-03 22:51:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: use flags enum instead of guint in structure
-
-2011-11-03 08:47:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: use statically allocated GQueue
-
-2011-11-03 17:49:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/pipelines/parse-launch.c:
-	  fix request pad
-	  Make all request pads take _%u in the template.
-	  Fix up unit tests.
-
-2011-11-03 16:49:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstnet.def:
-	  def: update defs
-
-2011-11-03 16:46:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* common:
-	* libs/gst/net/Makefile.am:
-	* libs/gst/net/gstnetaddressmeta.c:
-	* libs/gst/net/gstnetaddressmeta.h:
-	  net: add net address metadata
-
-2011-11-03 14:26:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnettimeprovider.h:
-	  nettime: clean up header
-
-2011-11-03 14:14:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: don't use lock/unlock_full
-
-2011-11-03 11:30:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstghostpad.c
-
-2011-11-02 12:37:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: small cleanup
-
-2011-10-25 17:26:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* gst/gstghostpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  ghostpad: Don't cache internal proxy pad target
-	  The internal proxy pad target is simply a cache of the internal proxy pad
-	  peer. This patch uses the well implement GstPad peer handling to obtain the
-	  target. This fixes issues with target not being set in both direction when
-	  two ghostpads are linked together (empty bin).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=658517
-
-2011-11-02 12:06:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/gst/gstutils.c:
-	* win32/common/libgstreamer.def:
-	  utils: remove _found_tags_ API
-	  remove gst_element_found_tags() and gst_element_found_tags_for_pad(), they are
-	  nothing more than a wrapper around gst_pad_push_event()
-
-2011-11-02 10:29:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  common
-	  configure.ac
-
-2011-10-30 21:33:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: improve docs
-
-2011-10-29 09:43:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: make GstSegment argument const
-
-2011-10-29 09:41:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove metatiming from docs
-
-2011-10-29 09:26:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gsttask.c:
-	* win32/common/libgstreamer.def:
-	  task: api cleanup
-	  gst_task_create() -> gst_task_new()
-
-2011-10-29 09:02:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbufferpool.c:
-	* gst/gstcaps.c:
-	* gst/gstelement.c:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gsttaglist.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	* win32/common/libgstreamer.def:
-	  structure: cleanup API
-	  gst_structure_empty_new() -> gst_structure_new_empty()
-	  gst_structure_id_empty_new() -> gst_structure_new_id_empty()
-	  gst_structure_id_new() -> gst_structure_new_id()
-
-2011-10-29 08:38:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: remove timing metadata
-	  This is now on buffers by default
-
-2011-10-29 08:24:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasesink.c:
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: clean up API
-	  gst_buffer_list_len() -> gst_buffer_list_length()
-	  gst_buffer_list_sized_new() -> gst_buffer_list_new_sized()
-
-2011-11-01 14:17:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: simplify gst_adapter_take_list()
-	  Use a stack-allocated GQueue to assemble our GList.
-
-2011-11-01 10:56:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: mention GstActivateMode rename in porting doc
-
-2011-11-01 00:25:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/libgstreamer.def:
-	  pad: rename GstActivateMode to GstPadActivateMode
-	  These might be useful:
-	  sed -i -e 's/GstActivateMode/GstPadActivateMode/g' `git grep GstActivateMode | sed -e 's/:.*//' | sort -u`
-	  sed -i -e 's/GST_ACTIVATE_/GST_PAD_ACTIVATE_/g'    `git grep GST_ACTIVATE_   | sed -e 's/:.*//' | sort -u`
-
-2011-11-01 00:13:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-probes.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gst.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/elements/selector.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstpipeline.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/pipelines/queue-error.c:
-	* win32/common/gstenumtypes.c:
-	* win32/common/libgstreamer.def:
-	  pad: rename GstProbeType and GstProbeReturn to GstPadProbe{Type,Return}
-	  Better now than later in the cycle. These might come in handy:
-	  sed -i -e 's/GstProbeReturn/GstPadProbeReturn/g'   `git grep GstProbeReturn  | sed -e 's/:.*//' | sort -u`
-	  sed -i -e 's/GST_PROBE_/GST_PAD_PROBE_/g'          `git grep GST_PROBE_      | sed -e 's/:.*//' | sort -u`
-	  sed -i -e 's/GstProbeType/GstPadProbeType/g'       `git grep GstProbeType    | sed -e 's/:.*//' | sort -u`
-
-2011-10-31 23:32:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* win32/common/libgstreamer.def:
-	  taglist: remove gst_tag_list_get_*long*()
-	  No one uses this or should ever need to use it, since
-	  the size is architecture-specific anyway. If normal
-	  integers don't do, one should use 64-bit integers.
-
-2011-10-31 19:04:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  Update .def file for removed/changed API
-
-2011-10-31 19:23:41 +0100  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix crash/warning in find_transform when pad is unlinked
-	  Looks like the revert conflict in commit a44271 was resolved incorrectly.
-
-2011-10-31 17:45:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* configure.ac:
-	  configure: make GLIB_EXTRA_CFLAGS overwritable
-	  Make 'make GLIB_EXTRA_CFLAGS=...' work.
-
-2011-10-31 14:16:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gstfilter.c:
-	* gst/gstfilter.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstregistry.c:
-	  filter: remove gst_filter_run() and deprecated filter func
-	  If someone wants to resurrect this, please use a less
-	  generic name space for it.
-
-2011-10-31 14:03:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstpluginfeature.c
-
-2011-10-30 10:26:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/gst/gstutils.c:
-	  taglist: rename _new() to _new_empty() and new_full*() to new*()
-
-2011-10-30 21:54:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstfilter.c:
-	* gst/gstfilter.h:
-	  filter: deprecate gst_filter_run()
-	  It's not really used outside of core at all, and has
-	  serious namespace issues. If anyone feels the need to
-	  revive this one, please use a less generic name space.
-	  API: deprecate gst_filter_run()
-	  API: deprecate GstFilterFunc
-
-2011-10-30 21:39:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: don't use soon-to-be-deprecated gst_filter_run()
-	  Lines-of-code savings are negligible anyway.
-
-2011-10-30 21:21:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstregistry.c:
-	* tests/check/gst/struct_x86_64.h:
-	  pluginfeature: deprecate gst_plugin_feature_type_name_filter()
-	  It's only used internally anyway and the helper struct
-	  has namespace issues.
-	  API: deprecated gst_plugin_feature_type_name_filter()
-	  API: deprecated GstTypeNameData
-
-2011-10-30 10:05:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: make opaque
-	  Hide the fact that it's just a GstStructure from the API. We
-	  may want to change this in future (e.g. to add refcounting).
-	  Also, it caused problems for bindings (though that's mostly
-	  the way we typedefed it to GstStructure).
-
-2011-10-30 10:00:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-10-30 09:58:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	* win32/common/libgstreamer.def:
-	  taglist: add to_string and new_from_string functions
-	  We want to make GstTagList opaque and not have people use
-	  GstStructure API on it.
-	  API: gst_tag_list_to_string()
-	  API: gst_tag_list_new_from_string()
-
-2011-10-30 09:31:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-
-2011-10-30 01:46:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: avoid pointless tag name -> quark lookups
-	  We never get a tag name quark from a caller, it's always a
-	  string, from which we'll try to look up our tag info in the
-	  hash table, so change the hash table key from quark to string.
-	  Avoids a bunch of pointless string => quark lookup in the
-	  global quark table. We need to do an extra string => quark
-	  conversion now when we copy a taglist, but in that case we're
-	  in a slow path anyway.
-
-2011-10-30 00:44:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	* win32/common/libgstreamer.def:
-	  taglist: add gst_tag_list_is_equal()
-	  API: gst_tag_list_is_equal()
-
-2011-10-29 23:52:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: identical structures are definitely equal
-
-2011-10-29 20:06:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.h:
-	  taglist: fix string for GST_TAG_ARTIST_SORTNAME
-	  For historical reasons it was mapped to a musicbrainz prefix,
-	  but it's not really musicbrainz-specific at all.
-
-2011-10-29 19:59:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstelementfactory.h:
-	  elementfactory: move private functions for registry to private header
-
-2011-10-28 21:40:47 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix invalid access to unreffed allocation query
-
-2011-10-28 16:45:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: fix docs some more
-
-2011-10-28 16:27:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-
-2011-10-28 16:08:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: fix segment check
-
-2011-10-28 15:52:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	  segment: remove GST_SEEK_TYPE_CUR
-
-2011-10-28 15:52:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: improve docs
-
-2011-10-28 15:16:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  make elements compile again
-
-2011-10-28 13:02:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Add padding
-
-2011-10-28 13:02:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.h:
-	  bitreader: Add padding
-
-2011-10-28 13:02:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: Add padding
-
-2011-10-28 12:31:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update
-
-2011-10-28 12:28:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: update
-
-2011-10-28 12:27:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: update for new api
-
-2011-10-28 12:17:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  check: also debug the DTS
-
-2011-10-28 12:16:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: use pts/dts on buffers
-
-2011-10-28 12:24:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	  compat: add timestamp compat defines
-
-2011-10-28 12:15:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstinfo.c:
-	  buffer: add pts/dts to buffers
-
-2011-10-28 11:53:32 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Also fush the cache when changing the upstream caps suggestion
-
-2011-10-28 11:50:23 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Add debug output when returning a cached transform
-
-2011-10-28 11:33:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-10-28 11:30:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  coolectpads2: port to 0.11
-
-2011-10-28 11:13:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-10-28 10:54:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: Fix refcount handling if a buffer was dropped due to clipping
-
-2011-10-28 10:37:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	* win32/common/libgstbase.def:
-	  collectpads2: Merge the clip and prepare_buffer function into one
-
-2011-10-28 10:17:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  collectpads2: Merge clipping API from old collectpads
-
-2011-10-28 09:19:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: make default query function name show up in gst-inspect
-
-2011-09-27 15:48:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: avoid hanging in case of sparse newsegment events
-	  ... in the extent that a non-waiting pad (so indicated by newsegment)
-	  turns out to provide the best buffer, which is then forced to waiting
-	  for book-keeping purposes, but that should only be temporary.
-	  See bug #415754.
-
-2011-10-28 09:38:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads2.c:
-	  collectpads2: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-10-28 09:35:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  collectpads2: Add to the documentation
-
-2011-10-28 09:26:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: Add new collectpads2 API
-
-2011-10-28 09:18:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstcollectpads2.c:
-	* libs/gst/base/gstcollectpads2.h:
-	  base: Add collectpads2
-	  This handles muxing of sparse/subtitle streams and has
-	  lots of cleanup. Still missing is special support for
-	  live streams but this can be added later without breaking
-	  API/ABI.
-	  Based on the version from the videomixer plugin.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=415754
-
-2011-10-27 17:09:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/transform1.c:
-	* tests/check/pipelines/queue-error.c:
-	  tests: fix compilation
-
-2011-10-27 17:09:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update
-
-2011-10-27 17:09:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: add empty_simple variants
-
-2011-10-27 16:51:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  tests: fix compilation
-
-2011-10-27 14:56:24 +0100  Johan Boulé <bohan.gnome@retropaganda.info>
-
-	* gst/gstcaps.h:
-	  caps: use G_GNUC_NULL_TERMINATED for gst_caps_new_simple() and gst_caps_new_full()
-	  If you get warnings, use gst_caps_new_empty().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=343346
-
-2011-10-27 15:27:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-
-2011-10-27 13:25:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.h:
-	  structure: use G_GNUC_NULL_TERMINATED for gst_structure_new()
-	  If you get a warning, use gst_structure_empty_new().
-	  https://bugzilla.gnome.org/show_bug.cgi?id=343346
-
-2011-10-27 23:08:14 +1100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix refcount leak
-	  Don't leak peercaps and a ref to the basetransform when returning
-	  the cached caps.
-
-2011-10-27 10:38:10 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	  controller: fix wrong order of calls in the docs.
-
-2011-10-26 12:23:07 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstevent.c:
-	  event: clarify docs for step event
-
-2011-10-18 23:19:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: add support for GST_REGISTRY_REUSE_PLUGIN_SCANNER=no
-	  This will make sure we spawn a new plugin scanner helper for each plugin
-	  to be introspected, which helps with making sure we don't load too many
-	  shared objects (libs, plugins) at the same time on systems where there
-	  is a hard limit like on Android.
-	  A better version might re-use the scanner for up to N times, though
-	  it's not clear whether that would actually improve things dramatically.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662091
-
-2011-10-21 10:23:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstcaps.c:
-	  caps: No need to require writable caps for _append/_merge second caps
-	  The second caps ownership is transfered, no need to require it to
-	  be writable from the caller function. Instead, _append and _merge
-	  make it writable on their own.
-	  Discovered because of an assertion on encoding-profile.c in
-	  _get_input_caps using _merge but not passing writable caps.
-
-2011-10-21 14:20:40 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  interfaces: clean up the use of iface and class/klass
-
-2011-10-21 11:15:11 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/random/porting-to-0.11.txt:
-	* docs/random/status-0.11-14-jun-2011.txt:
-	* gst/gstquery.c:
-	  docs: spelling and formatting fixes
-
-2011-10-21 10:52:46 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	  Merging origin/master
-	  Conflicts:
-	  gst/gstbin.c
-	  gst/gstbus.c
-	  gst/gstdebugutils.c
-	  gst/gstpad.c
-	  libs/gst/base/gstbaseparse.c
-	  libs/gst/base/gstbasesrc.c
-
-2011-10-20 16:59:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: Fix documentation, it's pre_push_frame and not pre_push_buffer
-
-2011-10-20 14:02:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: cache transformed caps where appropriate
-	  Speeds up negotiation a fair bit on a contrived pipeline
-	  with a dozen colorspace conversions.
-	  Hopefully clears out the cache every time it ought to.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=662291
-
-2011-10-20 10:45:30 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
-
-	* Android.mk:
-	  Fix broken android building due to name change in 01d87250a845e55d6
-
-2011-10-20 08:31:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  basebarse: Add detect vfunc to allow subclasses to do format detection before anything else
-	  API: GstBaseParseClass::detect()
-	  This is called with the first buffers until the subclass has finished detection
-	  and only afterwards the original buffers are handled as before. The vfunc allows
-	  detection of the stream format without breaking the upstream framing.
-
-2011-10-20 08:57:57 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: not only describe conditions in the docs, also check them in the code
-	  When blocking pads, check if the pad is in the rigt direction. Log some info
-	  for the developer and return FALSE, instead of just locking up.
-
-2011-10-19 23:07:46 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstpluginfeature.h:
-	* gst/gstregistry.c:
-	* tests/check/generic/states.c:
-	* tests/check/gst/gstregistry.c:
-	  Revert gst_plugin_feature_get_name to const string return
-	  Returning a newly allocated string makes no sense. It's unexpected for a
-	  getter, and also this behaves differently in 0.10, so it would make future
-	  merges harder.
-	  Except for these two places here in core which were updated for the new
-	  semantic, the return value is getting leaked all over the place.
-
-2011-10-19 12:12:36 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: Add (skip) annotation to gst_object_ref_sink
-
-2011-10-19 11:59:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  gstiterator: Add skip annotation for creating GstIterator
-	  Not really useful for bindings
-
-2011-08-29 13:56:19 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstpoll.c:
-	  introspection: Skip gst_poll apis
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:55:13 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstvalue.c:
-	  introspection: Skip GType and GValue transform apis
-	  These do not make sense to expose to language bindings
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:54:21 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gst.c:
-	  introspection: Skip gst_init_get_option_group
-	  It uses GOptionGroup which is not wrappable
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:53:39 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstbufferpool.c:
-	* gst/gstparamspecs.c:
-	  introspection: Add missing annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:52:26 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstbus.c:
-	  introspection: Rename gst_bus_add_watch_full to gst_bus_add_watch
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:50:40 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstindex.h:
-	  Sync documentation arguments
-	  The introspection scanner warns if the header and the source
-	  uses mismatching parameter names.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-08-29 13:50:02 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  Add gst_structure_get_type
-	  https://bugzilla.gnome.org/show_bug.cgi?id=657640
-
-2011-10-18 19:21:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstmessage.c:
-	  message: protect against null message sources
-	  Message sources can be null, check if it is before trying to
-	  access its name.
-
-2011-10-18 08:48:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add since doc to new getcaps function
-
-2011-10-18 14:08:19 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstmessage.c:
-	* libs/gst/base/gstbasesink.c:
-	  logging: more logging and prefer human readable details over memory locations
-
-2011-10-18 14:05:37 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: improve display of ghost- and proxypads
-	  Handle virtual links between ghost and proxypads when iterating pads instead of
-	  when linking. Besides using less code this provides a more accurate picture.
-
-2011-10-18 13:54:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: Add g-i annotations and remove "Since:" markers
-
-2011-10-17 14:42:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add getcaps function
-	  Adds a getcaps function to the sink pad to make parsers propagate
-	  downstream caps restrictions to upstream.
-	  The pipeline "audiotestsrc num-buffers=100 ! faac ! aacparse !
-	  "audio/mpeg, version=(int)4, stream-format=(string)adts" ! filesink"
-	  wouldn't work because aacparse wouldn't propagate the adts restriction
-	  upstream to faac.
-	  This patch adds a default getcaps to the sink pad to simply proxy
-	  downstream caps and also adds a 'get_sink_caps' function pointer
-	  to GstBaseParseClass for subclasses that need more refined getcaps.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=661874
-
-2011-10-18 12:39:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: also update the stream time
-
-2011-10-18 10:58:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Fix handling of queued frames
-	  gst_base_parse_push_frame() already frees the frame, no need to
-	  do it another time again.
-
-2011-10-17 21:38:56 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  tests: fix padtemplate leak in selector test
-	  In 0.11, gst_pad_get_pad_template returns a reference.
-
-2011-10-17 21:37:17 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix buffer/event leak when pad is flushing
-	  Apparently this got lost while refactoring probes.
-
-2011-10-17 17:00:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: remove the memory from the tmpbuf
-	  We use a tmpbuf to hold a temporary pointer to the adapter memory. We need to
-	  remove that memory when we no longer need it.
-
-2011-10-17 13:55:35 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix race condition and memory leak in gst_static_caps_get
-	  This was leaking the PtrArray from caps->priv, as set up by the other call to
-	  gst_caps_init. Also, the thread safety issue presented in the comment above was
-	  not taken care of anymore. We now zero the refcount again when publishing the
-	  structure.
-	  Fixes #661629.
-
-2011-10-17 09:28:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  gstcheck: Make ASSERT_MINI_OBJECT_REFCOUNT more useful
-	  knowing which miniobject failed helps us locate it in debug logs
-
-2011-10-17 09:28:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: Make _check_buffer_data a bit more verbose
-
-2011-10-17 09:27:49 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstregistry.c:
-	  check: Don't leak the feature name
-
-2011-10-17 09:27:26 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  gstregistry: Don't leak feature name
-
-2011-10-16 21:12:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: give watch source a name
-	  Give our GSource a meaningful name. Source names can be
-	  used for debugging and profiling, for example with
-	  systemtap or gdb.
-
-2011-10-14 09:35:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  gstbuffer: Add transfer annotations for gst_buffer_join()
-
-2011-10-16 17:42:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-16 17:03:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-16 17:00:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update porting list
-
-2011-10-16 14:45:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstregistry.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttypefindfactory.c:
-	  fix more parent_class
-
-2011-10-16 14:20:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstevent.h
-
-2011-10-16 14:17:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: clean up parent_class
-
-2011-10-14 12:57:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: clean up parent_class handling
-
-2011-10-14 09:35:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  gstbuffer: Add transfer annotations for gst_buffer_join()
-
-2011-10-14 09:27:38 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: Don't leak plugin feature list
-
-2011-10-13 17:33:06 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: fix typo in the docs
-
-2011-10-13 16:48:02 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: show if an element is state-locked
-
-2011-10-13 16:42:10 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	  logging: use _OBJECT variants more
-
-2011-10-13 12:23:59 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix caps leak
-
-2011-10-13 10:19:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: Use an inline function instead of a macro for gst_buffer_replace()
-	  This gives us type checks by the compiler and more useful compiler errors.
-
-2011-10-13 10:18:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: Use an inline function instead of a macro for gst_event_replace()
-	  This gives us type checks by the compiler and more useful compiler errors.
-
-2011-10-13 08:51:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstutils.c
-	  libs/gst/base/gstbasesrc.c
-
-2011-10-12 18:14:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Do not unref the internal pad twice
-	  g_value_unset should already unref the internal proxypad, no
-	  need to do it again
-
-2011-10-12 17:17:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: properly adjust start time
-	  When we do a non-flushing seek and closed the current segment,
-	  make sure that we open the next segment from where we closed.
-
-2011-10-12 14:37:31 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: add transfer type for gst_event_new_caps argument
-	  These annotations are useful to humans as well...
-
-2011-10-12 14:34:24 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: fix caps leak
-	  gst_event_new_caps does not steal a reference to the caps.
-
-2011-10-12 13:31:48 +0200  René Stadler <rene.stadler@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: fix gst_event_new_segment transfer type
-
-2011-10-11 13:54:45 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/generic/states.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/gst/gstvalue.c:
-	  tests: Fix more leaks
-
-2011-10-11 13:53:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Don't leak caps
-
-2011-10-11 13:51:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Fix a caps leak and move a codeblock
-	  The result from the block of code that was moved would only have
-	  been used if 'peercaps' was present.
-
-2011-10-11 13:51:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	* gst/gstvalue.c:
-	  gst: More 'transfer' annotations
-
-2011-10-10 19:41:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: catch invalid instance sizes in gst_type_register_static_full()
-	  Add guards to catch overly large instance sizes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=660955
-
-2011-10-10 19:30:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: remove gst_type_register_static_full()
-	  It was only really used by GST_BOILERPLATE, and that is no more.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=660955
-
-2011-10-10 11:47:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: avoid trying to alloc enormous buffer
-	  If a class extending basesrc doesn't set blocksize, basesrc
-	  would try to allocate a (guint)-1 sized buffer, which is enormous
-	  and likely would fail.
-	  Avoid it and error out.
-
-2011-10-10 17:17:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 17:04:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: If we don't control a pad/template, return proper caps
-	  If there's a filter, we can return that in _get_caps()
-
-2011-10-10 16:52:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: Specify transfer full for gst_pad_get_caps()
-	  It increments the reference count of the returned caps.
-
-2011-10-10 11:02:08 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: Add debug to know what events are transferred between pads
-
-2011-10-10 10:38:12 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: Unset EOS event on FLUSH_STOP
-
-2011-10-07 11:49:19 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: Don't ignore downstream FlowReturn with IDLE probes
-	  If pushgin downstream returned a non-ok value (like GST_FLOW_WRONG_STATE),
-	  we don't want to end up returning a different value (GST_FLOW_OK in this
-	  case) if IDLE probes are present.
-
-2011-10-10 13:23:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 12:54:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 12:38:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 12:27:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 11:49:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-10 11:36:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	  compat: add compat define for UNEXPECTED
-
-2011-10-10 11:33:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbufferpool.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstcollectpads.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/gst/gstpad.c:
-	  pad: GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
-
-2011-10-10 11:30:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-09 11:49:45 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* tests/check/elements/tee.c:
-	  tests: tee: Remember to initialize variables to NULL
-	  app_thread needs to be initialized to NULL, otherwise tests
-	  will try to use it and crash
-
-2011-10-08 20:56:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Update common for check-exports script changes
-
-2011-10-08 20:46:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* win32/common/libgstreamer.def:
-	  elementfactory: don't export private _gst_elementclass_factory quark
-
-2011-10-08 20:15:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: make _gst_debug_init() private for now
-	  This was a FIXME for 0.11. I guess a case could be made to keep it around
-	  separately for apps or libraries that only want to use GStreamer's debugging
-	  system, but it seems more likely they'd just copy the two source files into
-	  their own tree if the case. Also, things like types wouldn't be initialised
-	  without gst_init(). We can still make it public again if anyone needs it,
-	  but then we should make it a proper function and not hide it behind
-	  underscores.
-
-2011-10-08 19:54:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into symbol-exports
-
-2011-10-08 14:17:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstparse.c:
-	* gst/parse/.gitignore:
-	* gst/parse/Makefile.am:
-	* gst/parse/grammar.y:
-	* gst/parse/types.h:
-	  gstparse: prefix generated parser functions so they don't get exported
-	  Don't export those 35-something random _gst_parse_yy* symbols. These were
-	  never in any header files and also blacklisted from our .def files, in
-	  case anyone wonders.
-
-2011-10-08 13:37:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstobject.c:
-	* win32/common/libgstreamer.def:
-	  info: rename __gst_debug_* to _gst_debug_* and fix symbol export regexp
-	  Only export GStreamer symbols with one leading underscore, not two
-	  or more leading underscores.
-	  Requires a rebuild of the entire stack, sorry.
-
-2011-10-08 15:16:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update doc
-
-2011-10-08 14:25:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-10-08 14:23:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update
-
-2011-10-08 12:08:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: upate porting list
-
-2011-10-08 09:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: port to 0.11
-
-2011-10-08 09:28:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstpad.c
-
-2011-10-07 09:45:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: Use pipeline category for one more log message
-	  Makes debugging easier.
-
-2011-10-07 16:36:10 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	* gst/gstpad.c:
-	  GST_PTR_FORMAT: Add GstBuffer ptr format and use in GST_SCHEDULING
-	  GstBuffer pointers can now be printed using GST_PTR_FORMAT. This is used
-	  in the very useful GST_SCHEDULING debug logs in gstpad.c and allows for
-	  easier and more information tracking of buffer progress through a
-	  pipeline with just debug logging.
-
-2011-10-07 13:55:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/generic/sinks.c:
-	  tests: fix compiler warnings in sinks test
-
-2011-10-07 13:54:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstdataqueue.c:
-	* plugins/elements/gstdataqueue.h:
-	* plugins/elements/gstmultiqueue.h:
-	* tests/check/libs/gstlibscpp.cc:
-	* tests/check/libs/libsabi.c:
-	* win32/common/libgstbase.def:
-	  base: make GstDataQueue private API for multiqueue
-	  There's no code that uses it other than multiqueue, so make it private
-	  to multiqueue for now. That way we can also do optimisations that
-	  require API/ABI breaks. If anyone ever wants to use it, we can still
-	  make it public again.
-
-2011-10-06 17:27:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-10-06 17:26:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update list
-
-2011-10-06 14:34:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: send duration message when updating internal duration
-
-2011-10-06 14:04:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update list
-
-2011-10-06 10:59:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  update porting list
-
-2011-10-05 20:06:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update list
-
-2011-10-05 13:43:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  porting: update porting status
-
-2011-10-05 11:20:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  gstbufferpool: Use glib compat macros for atomic pointers
-
-2011-10-04 18:55:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  update porting list
-
-2011-10-04 18:55:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: improve docs
-
-2011-10-04 18:38:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: port to 0.11
-
-2011-10-04 17:39:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-10-04 17:36:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  update porting list
-
-2011-10-04 15:55:05 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  gstevent: specify (transfer) for gst_event_new_segment
-
-2011-10-04 13:16:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/porting-list-0.11.txt:
-	  add porting list
-
-2011-09-26 14:36:46 +0400  Stas Sergeev <stsp@users.sourceforge.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Return success if optional start/stop method is not provided
-	  This allows to not implement the optional start/stop methods.
-
-2011-10-03 10:06:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbaseparse.c
-
-2011-10-03 09:29:10 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  gstquery: Make debugging message more informative
-	  For all the newcomers out there who still don't know the values of
-	  GstQueryType enum by heart...
-	  ... and old-timers who've got better things to do :)
-
-2011-09-30 15:25:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make estimating the position in query handler actually work
-	  No point estimating if we don't set the result afterwards.
-
-2011-09-26 13:14:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: answer position query in stream time and try upstream first
-	  Let the demuxer have first say as well.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=659485
-
-2011-09-30 14:52:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.h:
-	  gst.h: include header for atomic queue
-
-2011-09-30 14:50:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstatomicqueue.c:
-	  tests: add minimal test for GstAtomicQueue
-	  Just new + free.
-
-2011-09-29 18:06:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/release:
-	  update release notes
-	  Change the mail addresses to the freedesktop ones
-
-2011-09-29 17:04:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  back to development
-
-=== release 0.11.1 ===
-
-2011-09-29 16:50:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  RELEASE 0.11.1
-
-2011-09-28 18:46:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix memory alignment
-	  Fix compilation when POSIX_MEMALIGN is not set.
-	  Debug the configured alignment.
-	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660300
-
-2011-09-28 18:44:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve debug
-
-2011-09-28 11:28:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  transform: fix after merge
-
-2011-09-28 11:24:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-09-28 11:16:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	  docs: fix some more docs
-
-2011-09-26 19:52:13 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: send delayed events earlier
-	  Some elements (such as videorate) might push buffers early,
-	  for instance in in transform_ip. We want events (and in particular
-	  any NEWSEGMENT event) to be pushed before that.
-	  This fixes transmageddon wedging on converting a file starting
-	  with a non zero offset to Ogg.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=660165
-
-2011-09-26 20:47:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferpool.h:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstiterator.h:
-	* gst/gstmemory.c:
-	* gst/gstmessage.h:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstpad.h:
-	* gst/gstquery.c:
-	  docs: fix docs
-
-2011-09-26 19:25:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-09-26 19:24:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.h:
-	  segment: improve API docs a little
-
-2011-09-26 00:30:47 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
-
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	  gst: Fix compiler warnings on 64 bit mingw-w64
-	  Fixes bug #660083.
-
-2011-09-25 16:10:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/examples/helloworld/helloworld.c:
-	  examples: fix bogus g_object_unref in helloworld example
-	  GMainLoop is not a GObject.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=424143
-
-2011-09-23 13:09:25 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstcaps.c
-	  gst/gstpad.c
-	  libs/gst/base/gstbasesink.c
-	  libs/gst/base/gstbasesink.h
-	  libs/gst/base/gstbasetransform.c
-
-2011-09-21 13:43:48 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Update common to 0.11 branch
-
-2011-09-20 13:04:06 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: delay serialized events when src caps are not set yet
-	  https://bugzilla.gnome.org/show_bug.cgi?id=659571
-
-2011-09-13 17:04:31 +0400  Stas Sergeev <stsp@users.sourceforge.net>
-
-	* gst/gstpad.c:
-	  pad: Set caps on pad before checking if the pad is linked
-	  This allows the setcaps handler and notify::caps to link
-	  the pad downstream and doesn't require hacks to always
-	  provide a peer to the pad, like in decodebin2.
-
-2011-09-15 11:49:43 -0700  Fabrizio (Misto) Milo <mistobaan@gmail.com>
-
-	* gst/gstcaps.c:
-	  caps: use g_value_take_string() and gst_value_get_caps() instead of accessing internal fields
-
-2011-09-16 13:38:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add more debug logging for other chain function code path as well
-
-2011-09-16 13:13:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix up printf format in debug message
-	  Which I messed up.
-
-2011-09-15 13:20:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: make some debug traces more useful
-	  https://bugzilla.gnome.org/show_bug.cgi?id=659139
-
-2011-09-14 22:54:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gstcvstest.sh:
-	  scripts: remove gstcvstest.sh
-
-2011-09-13 23:04:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: fix clang compiler warning
-	  Cast enum to int before checking for negative values, which are
-	  impossible according to the enum list.
-	  gstlfocontrolsource.c:652:45: error: comparison of unsigned enum expression < 0
-	  is always false [-Werror,-Wtautological-compare]
-	  if (waveform >= num_waveforms || waveform < 0) {
-	  ~~~~~~~~ ^ ~
-	  https://bugzilla.gnome.org/show_bug.cgi?id=653137
-
-2011-09-13 21:58:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/filesrc.c:
-	  tests: make sure filesrc returns escaped URIs even if the input was unescaped
-	  https://bugzilla.gnome.org/show_bug.cgi?id=654673
-
-2011-09-10 18:15:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: move log messages for caps creation/freeing into TRACE category
-	  Reduce SPAM for GST_CAPS:5.
-
-2011-09-09 12:56:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Only do the subset check in gst_pad_accept_caps() if the pad claims to accept the caps
-
-2011-09-07 17:21:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* plugins/elements/gstfilesink.c:
-	  basesink: make it easy to override the pad query
-	  Add a vmethod to handle the pad query.
-	  Install a default handler for the pad query.
-	  Use the new query function in filesink
-
-2011-09-08 14:39:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Revert "Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible""
-	  This reverts commit 0bc6d49c950210bf422615fb8dc98c5adcd5e456.
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-
-2011-09-08 14:31:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible""
-	  This reverts commit 2bfada5581e35a2d37188f48a2c7442644f10bb3.
-	  Conflicts:
-	  gst/gstpad.c
-	  For 0.11 we want to enforce that only subsets of the pad
-	  caps are allowed. This breaks backward compatibility for
-	  some elements, which is why we only print a warning in
-	  0.10.
-
-2011-09-08 14:30:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstpad.c
-
-2011-09-08 14:29:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad"
-	  This reverts commit d3cad28da936b037d877dc70c02286b81b680284.
-	  It causes performance problems because acceptcaps() propagates downstream.
-
-2011-09-08 14:23:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  docs/design/draft-buffer2.txt
-	  docs/design/part-TODO.txt
-	  docs/design/part-block.txt
-	  docs/design/part-bufferlist.txt
-	  docs/design/part-caps.txt
-	  docs/design/part-element-transform.txt
-	  docs/design/part-events.txt
-	  docs/design/part-negotiation.txt
-	  gst/gstcaps.c
-	  gst/gstevent.h
-	  gst/gstghostpad.c
-	  gst/gstinterface.c
-	  gst/gstpad.c
-	  gst/gstpad.h
-	  gst/gstutils.c
-	  libs/gst/base/gstbasesink.c
-	  libs/gst/base/gstbasesrc.c
-	  libs/gst/base/gstbasetransform.c
-	  libs/gst/base/gsttypefindhelper.c
-	  plugins/elements/gstcapsfilter.c
-	  plugins/elements/gsttee.c
-	  tests/check/generic/sinks.c
-	  tools/gst-launch.1.in
-
-2011-09-08 13:41:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Use gst_pad_accept_caps() instead of manually checking when configuring a sinkpad
-
-2011-09-08 13:40:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Print a g_warning() if pad accept caps that are not a subset of its caps
-	  In 0.11 only subsets are supported again as documented instead of also
-	  allowing non-empty intersections.
-
-2011-09-08 13:26:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Revert "basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible"
-	  This reverts commit 5e5cc5e89e7e2858a6352fa4c81a374f6e5a6297.
-	  See bug #658541.
-
-2011-09-08 13:26:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "pad: Check for subsets, not non-empty intersections to check if caps are compatible"
-	  This reverts commit 0c5d50207326d74a4805bcd898bfac887540f12b.
-	  See bug #658541.
-
-2011-09-07 13:14:38 +0200  Piotr Fusik <fox@scene.pl>
-
-	* README:
-	* docs/README:
-	* docs/design/draft-buffer2.txt:
-	* docs/design/draft-klass.txt:
-	* docs/design/part-MT-refcounting.txt:
-	* docs/design/part-TODO.txt:
-	* docs/design/part-activation.txt:
-	* docs/design/part-block.txt:
-	* docs/design/part-buffering.txt:
-	* docs/design/part-bufferlist.txt:
-	* docs/design/part-caps.txt:
-	* docs/design/part-clocks.txt:
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-framestep.txt:
-	* docs/design/part-gstelement.txt:
-	* docs/design/part-gstghostpad.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-messages.txt:
-	* docs/design/part-missing-plugins.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-qos.txt:
-	* docs/design/part-scheduling.txt:
-	* docs/design/part-seeking.txt:
-	* docs/design/part-states.txt:
-	* docs/design/part-stream-status.txt:
-	* docs/faq/Makefile.am:
-	* docs/faq/dependencies.xml:
-	* docs/faq/general.xml:
-	* docs/manual/Makefile.am:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-init.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/diagrams-general.svg:
-	* docs/manual/highlevel-components.xml:
-	* docs/manual/intro-gstreamer.xml:
-	* docs/pwg/Makefile.am:
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/intro-preface.xml:
-	* docs/pwg/other-base.xml:
-	* docs/pwg/other-source.xml:
-	* docs/random/autoplug2:
-	* docs/random/bbb/optional-properties:
-	* docs/random/bbb/streamselection:
-	* docs/random/caps:
-	* docs/random/company/gvadec.txt:
-	* docs/random/ensonic/draft-bufferpools.txt:
-	* docs/random/ensonic/embedded.txt:
-	* docs/random/ensonic/media-device-daemon.txt:
-	* docs/random/ensonic/plugindocs.txt:
-	* docs/random/ensonic/profiling.txt:
-	* docs/random/eos:
-	* docs/random/hierarchy:
-	* docs/random/i18n:
-	* docs/random/interfaces:
-	* docs/random/negotiation:
-	* docs/random/omega/sched/chains:
-	* docs/random/omega/testing/framework:
-	* docs/random/plugins:
-	* docs/random/rtp:
-	* docs/random/slomo/controller.txt:
-	* docs/random/sources:
-	* docs/random/streamheader:
-	* docs/random/testing/syntax:
-	* docs/random/types2:
-	* docs/random/uraeus/gstreamer_and_midi.txt:
-	* docs/random/vis-transform:
-	* docs/random/wtay/caps-negociation:
-	* docs/random/wtay/threading:
-	* docs/random/wtay/threads_hilevel:
-	* gst/gstbin.c:
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gstelement.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstghostpad.c:
-	* gst/gstinterface.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstparamspecs.h:
-	* gst/gstparse.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstpoll.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gsthelper.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* tests/benchmarks/capsnego.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gstevent.c:
-	* tools/gst-launch.1.in:
-	* win32/README.txt:
-	  docs, gst: typo fixes
-	  https://bugzilla.gnome.org/show_bug.cgi?id=658449
-
-2011-09-07 15:07:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  docs: fix make distcheck
-	  No point removin those empty override files from git, they'll
-	  just be re-created later, so let's tell gtk-doc about them, so
-	  it can clean them up properly.
-
-2011-09-07 16:02:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: If there's no peer we still have to transform ANY caps in getcaps()
-	  Otherwise elements like capsfilter will return ANY caps if no
-	  peer is present instead of the filter caps. The transform_caps()
-	  vfunc could do transformations to the template caps that do not
-	  result in the unmodified template caps.
-
-2011-09-07 14:05:03 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* 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 13:50:08 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: escape % in docblob
-
-2011-09-02 19:46:06 +0400  Stas Sergeev <stas@stas.(none)>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Use gst_pad_set_caps() instead of manually changing caps
-	  gst_pad_set_caps() does essentially the same but additionally calls
-	  the pad's setcaps function.
-	  Fixes bug #658076.
-
-2011-09-06 21:24:10 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From a39eb83 to 11f0cd5
-
-2011-09-06 15:39:52 +0200  Stefan Sauer <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 605cd9a to a39eb83
-
-2011-09-06 12:17:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Use check for subsets and not non-empty intersection to check if caps are compatible
-
-2011-09-06 12:19:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Check for subsets, not non-empty intersections to check if caps are compatible
-	  Pads should only accept caps that are a subset of the pad caps, e.g.
-	  they should accept only caps that have a non-empty intersection and
-	  at least all fields of the pad caps.
-	  Without this a pad that wants for example
-	  "video/x-h264,stream-format=byte-stream"
-	  will be happy to accept
-	  "video/x-h264".
-
-2011-08-29 17:06:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	* win32/common/libgstreamer.def:
-	  miniobject: change to GST_DEFINE_MINI_OBJECT_TYPE
-	  Append _TYPE to the macro for consistency with other similar macros.
-
-2011-08-29 15:34:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	* win32/common/libgstreamer.def:
-	  init: add _get_type() functions
-	  Remove gst_mini_object_register() and add a GST_DEFINE_MINI_OBJECT macro to
-	  define a _get_type() function for the boxed miniobject.
-	  Remove a bunch of custom _get_type() functions and replace them with the
-	  miniobject macro.
-	  Rename some _init method to _priv_*_initialize() like the rest of them.
-	  Inspired by patch from Johan Dahlin and see bug #657603
-
-2011-08-29 13:27:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstformat.c:
-	* gst/gstmessage.c:
-	* gst/gstplugin.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  gst: add some _priv prefixes to private methods
-
-2011-08-29 12:38:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  mini-object: use ref/unref directly in boxed copy/free
-	  GLib will not call our copy/free with a NULL object
-
-2011-08-26 14:37:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstmessage.c
-	  gst/gstquery.c
-	  gst/gstregistrychunks.c
-	  gst/gstsegment.c
-	  libs/gst/base/gstbasetransform.c
-	  libs/gst/base/gstbasetransform.h
-	  libs/gst/base/gsttypefindhelper.c
-	  plugins/elements/gsttypefindelement.c
-
-2011-08-26 14:18:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  base: rename allocation vmethods
-	  Name the allocation vmethod on srcpad decide_allocation because source pads will
-	  have to decide what allocation parameters will be used.
-	  Name the allocation vmethod on sinkpads propose_allocation because they will
-	  need to configure the allocation query with a proposed values for upstream.
-
-2011-08-26 14:17:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: improve flags
-	  Rename DROP to DECODE_ONLY.
-	  Add DROPPABLE flag to mark buffers that can be dropped to save bandwidth without
-	  destroying the stream.
-
-2011-08-26 14:09:47 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gsttrace.h:
-	* gst/gsttypefind.h:
-	  docs: add since 0.10.36 on the new _NONE enum values
-
-2011-08-26 00:13:16 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* tests/examples/stepping/framestep1.c:
-	  stepping: use the proper argument order
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-26 00:06:12 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* plugins/indexers/gstfileindex.c:
-	  fileindex: explicitly cast to the enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-26 00:00:25 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefinder: use GST_TYPE_FIND_NONE instead of 0
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 23:53:58 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 23:49:38 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gsttypefind.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefind: add GST_TYPE_FIND_NONE and use it
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 23:26:08 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: use the enum values for 0 and don't abuse on gboolean coincidence
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 23:06:56 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: put the arguments of g_return_val_if_fail in the proper order
-
-2011-08-25 22:48:54 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstparse.c:
-	  parse: use GST_PARSE_FLAG_NONE instead of 0
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 22:42:08 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstvalue.c:
-	  value: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 22:29:45 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstutils.c:
-	  utils: minor changes related to enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 22:05:26 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	  trace: add GST_ALLOC_TRACE_NONE for consistency and use it
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:52:05 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gsttask.c:
-	  task: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:49:29 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstsystemclock.c:
-	* gst/gsttagsetter.c:
-	  tagsetter: use GST_TAG_MERGE_UNDEFINED instead of FALSE
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:30:57 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstsegment.c:
-	  segment: use GST_SEEK_FLAG_NONE instead of 0
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:25:46 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: explicitly cast to the enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:18:15 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstquery.c:
-	  query: minor changes related to enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-25 21:03:53 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: explicitly cast to the enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-16 23:00:47 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-16 22:51:29 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstmessage.c:
-	  message: explicitly cast to the right enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-16 22:41:32 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstinfo.c:
-	  info: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-16 22:37:08 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstindex.c:
-	  index: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-16 22:29:59 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstformat.c:
-	  format: use GST_FORMAT_UNDEFINED and few casts to GstFormat
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-
-2011-08-26 13:02:34 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Fix bodged previous commit
-
-2011-08-26 12:37:43 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: Use GstPadDirection in the query vfunc
-	  Wim suggested that using GstPadDirection instead of a GstPad in the
-	  arguments to the new query vfunc would be more consistent with the other
-	  functions.
-
-2011-08-26 13:40:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: rename _CLIP to _DROP flag
-	  We can also use a flag to indicate that a frame should be decoded but not
-	  displayed regardless of the the segment boundaries so we use the more generic
-	  _DROP.
-
-2011-08-26 12:28:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: remove some unused variables
-
-2011-08-26 11:44:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: add vmethod to configure upstream bufferpool
-	  Add a vmethod that can be implemented to influence the bufferpool that upstream
-	  elements will use.
-
-2011-08-26 11:24:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: use pad direction like other vmethods
-
-2011-08-26 11:09:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasetransform.c
-	  libs/gst/base/gstbasetransform.h
-
-2011-08-26 10:57:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsturi.h:
-	  uri: some doc fixes
-
-2011-08-25 11:02:16 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  BaseTransform: Add a query vfunc
-
-2011-07-20 14:05:27 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: don't assume _get_caps still has to be
-	  _set_caps only gets called when the buffer is actually pushed, so there
-	  is a reasonably big window between when the initial caps are retrieved
-	  and when the caps are set on our src pad. So we can't assume the not
-	  having negotiated caps on our src pad means _get_caps still has to be
-	  called.
-	  Instead simply always suggest the new caps on buffer_alloc.
-
-2011-08-25 18:04:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: add clip flag
-
-2011-08-25 16:21:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: rework flags a little
-	  Reorder buffer flags and add some new ones.
-	  Remove the media specific flags, we can now easily do this with the FLAG_LAST
-	  flag because we don't extend from GstBuffer anymore.
-
-2011-08-25 16:20:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* libs/gst/base/gstbasetransform.c:
-	  buffer: always copy all buffer flags when asked
-	  Don't try to be smart and copy only a subset of buffer flag
-
-2011-08-25 16:19:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  update defs
-
-2011-08-25 14:09:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbuffer.h:
-	  buffer: pluralize the buffer flags
-
-2011-08-25 12:38:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* tests/check/generic/sinks.c:
-	* tests/check/pipelines/stress.c:
-	  basesink: remove preroll-queue-len property
-	  Remove the preroll-queue-len property and move its variables to a private
-	  section so that we can remove them later.
-
-2011-08-24 10:43:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstobject.c
-
-2011-08-23 18:19:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: ensure start_time reset upon flush
-
-2011-08-23 11:55:17 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: also remove the cast as this is causing the trouble
-
-2011-08-23 11:41:02 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: use the atomic macros to deal with the glib change in the impl.
-
-2011-08-22 12:49:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  object: make _replace like the miniobject version
-
-2011-08-22 12:33:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstbuffer.h
-	  gst/gstcaps.c
-	  gst/gstcaps.h
-	  gst/gstevent.c
-
-2011-08-22 12:19:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* tests/check/gst/capslist.h:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/pipelines/parse-launch.c:
-	* win32/common/libgstreamer.def:
-	  value: remove our FOURCC GType
-	  Remove our custom fourcc GValue.
-
-2011-08-21 14:07:08 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstobject.c:
-	  object: make gst_object_replace() atomic
-
-2011-08-20 14:07:55 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: more clarification for element docs
-	  Don't suggest deprecated method in the desction docs and try to be more helpful
-	  in other places by suggesting related functions.
-
-2011-08-20 09:56:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: small clarification in the gst_element_get_request_pad docs
-	  Make it more obvious that one should pass the template name.
-
-2011-08-18 20:46:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't use == in debug string
-	  It messes up GST_DEBUG=*:5 make foo/bar.valgrind, because
-	  our Makefile looks for '==' as marker of valgrind output.
-
-2011-08-18 20:44:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix crash on seek from streaming thread on newsegment event
-	  Event if it's not allowed, we can easily prevent it, so let's do
-	  that.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656771
-
-2011-08-17 17:56:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: add method to fixate one field
-
-2011-08-17 17:16:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: add default fixate function
-	  Add a default fixate function which does gst_caps_fixate() because
-	  gst_pad_fixate() does not do that anymore.
-
-2011-08-17 09:25:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasetransform.h:
-	  docs: improve some docs
-
-2011-08-16 18:29:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: return processed number of bytes
-	  Make _fill, _extract and _memset return the actual number of bytes that were
-	  handled in case the buffer size is less than the specified size.
-
-2011-08-16 17:19:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  docs: fix typo in element factory documentation
-
-2011-08-16 17:32:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  buffer: rename 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-08-15 21:05:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix compiler warning reported by ICC
-	  The MAX macro expands to code that checks if an unsigned integer is < 0.
-	  Fixes warning #186: pointless comparison of unsigned integer reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-10 11:39:23 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstbuffer.h:
-	  buffer: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-10 11:07:49 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstelement.h:
-	  gststate: explicitly cast to the enum type
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-09 23:42:26 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstevent.c:
-	  event: explicitly cast to the right enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-09 23:33:43 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gsterror.c:
-	  gsterror: explicitly cast to the right GstGError code enum types
-	  Fixes warning #188: enumerated type mixed with another type reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-09 23:26:13 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstdebugutils.c:
-	  debugutils: use GST_STATE_VOID_PENDING for GstState instead of 0
-	  Fixes a warning reported by ICC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-09 22:48:53 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: define GST_CAPS_FLAGS_NONE for consistency with other enumerations
-	  Use them to fix warnings when building with ICC.
-	  API: GST_CAPS_FLAGS_NONE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-09 22:29:44 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gst.c:
-	  gst: use GstDebugLevel enum type to fix a warning building with ICC
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656265
-
-2011-08-15 16:45:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: make fixate caps behave like other functions
-	  Install a default fixate caps function on pads like all the other pad functions.
-
-2011-08-15 16:45:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update for new symbols
-
-2011-08-15 14:43:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-08-15 14:40:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstpad.c:
-	* gst/gststructure.c:
-	  caps: add fixate function
-	  Add a fixate function and use it in gstpad.c
-
-2011-08-15 14:32:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: add function to fixate
-	  Add a function to fixate a structure and use it for the default fixate function
-	  in gstpad.c.
-
-2011-08-15 13:17:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add Farsight and Nice support
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656557
-
-2011-08-15 14:17:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix default acceptcaps
-	  Make the acceptcaps function behave like all the other functions with a default
-	  implementation. Don't try to chain up to the default implementation when it was
-	  set to NULL explicitly but return FALSE instead.
-	  Fix some docs
-
-2011-08-15 13:24:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: fix some macros
-	  Remove a rather usless macro to check if a pad mode is active and
-	  add GST_PAD_IS_ACTIVE().
-
-2011-08-15 12:18:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting doc
-
-2011-08-15 12:16:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: remove gst_pad_get_negotiated_caps()
-	  Remove gst_pad_get_negotiated_caps(), it does not realy do what it says,
-	  gst_pad_get_current_caps() returns the currently negotiated caps on the pad
-	  correctly.
-
-2011-08-12 19:27:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix deadlock in error path
-	  Don't lock the same lock twice. Spotted by Josep Torre Valles.
-
-2011-08-12 12:45:01 +0300  Peteris Krisjanis <pecisk@gmail.com>
-
-	* gst/gstiterator.c:
-	  iterator: Fix gst_iterator_next() element annotation
-
-2011-08-11 09:31:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/advanced-types.xml:
-	  docs: fix typo in PWG
-	  RBG -> RGB. Spotted by Will Thompson.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656326
-
-2011-08-11 10:09:41 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: removed non-sense comment
-
-2011-08-10 17:07:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	  Merge remote-tracking branch 'origin/master' into 0.11
-	  Conflicts:
-	  gst/gstdebugutils.c
-	  gst/gstelementdetails.h
-	  gst/gstregistrychunks.c
-	  tools/gst-run.c
-
-2011-08-08 19:36:04 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementdetails.h:
-	* gst/gstregistrychunks.c:
-	  registry: move utf-8 validation to registry saving time
-	  Instead of checking for valid utf-8 element-details every time we create
-	  elements (from plugin-init or registry), do it before we save the registry.
-	  Fixes #656193.
-
-2011-08-10 11:01:58 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmeta.c:
-	* gst/gstpad.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	  Fix and clarify debug statements
-	  Fixes build on MacOSX
-	  Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
-
-2011-08-05 10:59:42 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Clarify doc
-
-2011-08-07 09:14:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/basics-helloworld.xml:
-	  docs: fix helloworld compile command line for newer gcc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=656092
-
-2011-08-06 18:20:51 +0200  Shaun Hoopes <hoopes01@student.uwa.edu.au>
-
-	* gst/gstdebugutils.c:
-	  debugutils: improve dot file flow layout
-	  Iterate source- and sink-pads separately to ensure that the graph reflects the
-	  upstream/downstream order. Fixes #643269
-
-2011-08-06 14:17:50 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* gstreamer.spec.in:
-	  gstreamer.spec: make buildable and parallel
-
-2011-08-05 12:12:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-run.c:
-	  tools: make unversioned wrapper look for -0.10 tools only
-	  Don't want (incompatible) 0.11 tools to be picked up by accident.
-
-2011-08-04 18:00:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: add alloc vmethod
-	  Make an alloc vmethod so that subclasses can override or call the default
-	  implementation when they want.
-
-2011-08-04 17:26:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2011-08-04 17:12:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: cleanups and mark reconfigure
-	  Don't abuse the result variable.
-	  Mark the srcpad with a reconfigure so that negotiation happens.
-
-2011-08-04 17:12:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add method to mark reconfigure
-
-2011-08-04 16:56:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: remove negotiation from the state change
-	  Remove the negotiation from the state change function, it causes data transfer
-	  and bufferpool negotiation, which is not supposed to be done. Since we have the
-	  reconfigure state on the pad, the create function will do the negotiation as
-	  soon as it gets in the streaming thread.
-
-2011-08-04 16:34:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: expose set_caps method
-	  Expose a previously static method so that custom negotiate implementation can
-	  call it and do the right thing.
-
-2011-08-04 13:48:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: PAUSED<->PLAY doesn't change pool state
-	  Don't change the state of the bufferpool when going between PAUSED and PLAYING,
-	  it will dealloc and realloc all buffers, which is clearly too invasive. We will
-	  need to add some other way of unblocking the bufferpool.
-
-2011-08-04 11:00:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	  fix default alignment
-	  A 0 alignment is the default.
-
-2011-08-04 10:54:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* win32/common/libgstreamer.def:
-	  bufferpool: add gst_buffer_pool_is_active()
-
-2011-08-03 11:57:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  back to development
-
-=== release 0.11.0 ===
-
-2011-08-02 20:55:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* gstreamer.doap:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  RELEASE 0.11
-
-2011-08-03 11:04:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting-to-0.11: Add section about GstIterator
-
-2011-08-01 18:12:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: don't add the same option twice
-	  Make sure that we only add an option to the array once.
-
-2011-07-30 14:04:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* win32/common/libgstreamer.def:
-	  bufferpool: add method to check for an option
-	  Add a method to check if an option is supported on the bufferpool.
-
-2011-07-29 17:10:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  bufferpool: add options API to bufferpool
-	  Make it possible to query the supported options of a bufferpool and enable
-	  options. This is a bit more generic than the API to enable metadata. The purpose
-	  is to make it possible to add new custom config options to the configuration of
-	  the bufferpool when supported.
-
-2011-07-28 12:11:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: don't use G_CONST_RETURN
-	  It's been deprecated in newer GLib versions
-
-2011-07-28 12:01:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/advanced-position.xml:
-	  manual: update for position/duration query API change
-
-2011-07-27 00:28:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/generic/sinks.c:
-	* tests/examples/stepping/framestep1.c:
-	  tests: update for query API changes
-
-2011-07-27 00:28:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	  plugins: update for query API changes
-
-2011-07-27 00:26:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base: update for query API changes
-
-2011-07-27 00:17:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstquery.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  gst: fix awkward dest_format inout parameter in query utility functions
-	  The idea was originally that if one passed &dest_fmt with
-	  dest_fmt=GST_FORMAT_DEFAULT, then the code answering the query
-	  could change dest_fmt to the actual default format used. However,
-	  in more than half a decade of GStreamer 0.10 no piece of code in
-	  GStreamer has ever used that feature, nor are there that many
-	  users of this API that actually check whether the format returned
-	  is the original format passed before using the values returned.
-	  Also, it's just annoying-to-use API in its own right.
-	  For all these reasons, make it so that the destination format is
-	  passed directly and can't be changed by the element queried.
-
-2011-07-27 12:50:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-07-27 12:49:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: add more comments
-
-2011-07-27 12:45:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: also pass allocation query in in_place
-	  When we are doing an in_place transform, don't do the allocation query but let
-	  the upstream element decide.
-
-2011-07-26 22:41:59 -0700  Evan Nemerson <evan@coeus-group.com>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	  base: add missing (out) annotation for byte reader/writer functions
-	  https://bugzilla.gnome.org/show_bug.cgi?id=655381
-
-2011-07-27 10:09:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: fix g-i annotation for _create() and _make() to allow NULL object names
-
-2011-07-26 18:48:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve the getcaps function
-	  Refactor calling the GETCAPS function and checks.
-	  Move the filter code in one place.
-	  When using fixed pad caps, get the currently configured caps and then fallback
-	  to the GETCAPS function. We used to simply ignore the GETCAPS function, which
-	  resulted in transform elements returning the template caps instead of doing the
-	  caps transform.
-
-2011-07-26 15:43:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: only update caps when changed
-	  Only call the event function with the caps event when the caps changed.
-
-2011-07-26 14:37:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: add some more debug info
-
-2011-07-26 12:21:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* plugins/elements/gstfilesink.c:
-	  basesink: make it easy to override the pad query
-	  Add a vmethod to handle the pad query.
-	  Install a default handler for the pad query.
-	  Add a vmethod to setup the allocation properties.
-	  Use the new query function in filesink
-
-2011-07-26 12:20:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: improve docs
-
-2011-07-26 12:20:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add allocation query just because
-
-2011-07-25 15:21:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: improve debugging
-
-2011-07-25 12:53:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: avoid race in bufferpool release
-	  Avoid playing with the refcount to decide when a buffer has been recycled by the
-	  dispose function. The problem is that we then temporarily can have a buffer with
-	  a refcount > 1 being acquired from the pool, which is not writable. Instead use
-	  a simple boolean return value from the dispose function to inform the called
-	  that the object was recycled or not.
-
-2011-07-25 12:49:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: use DEBUG instead of ERROR for logging
-	  Don't use the ERROR log category because the allocation failure migh only be
-	  bacause of a state change.
-
-2011-07-25 12:14:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: start with raised control socket
-	  In the inactive state, the control socket should be in the raised state, we will
-	  release it when we start.
-
-2011-07-24 11:24:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/building-chainfn.xml:
-	  pwd: discontinous event -> newsegment event
-	  Fix a 0.8 leftover as mentioned on bug #621121.
-
-2011-07-24 09:05:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  talk about the basetransform sink_event vmethod
-
-2011-07-23 08:00:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstcontrollerprivate.h:
-	  controller: fix build failure due to compiler warning
-	  Presumably with newer GLib version.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=655155
-
-2011-07-22 21:17:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* plugins/elements/gstidentity.c:
-	  basetransform: fix sink event handling
-	  Implement the sink event handling like the src event handler. Make the default
-	  implementation parse and forward the event. This makes it possible to actually
-	  return an error value from the event handler.
-
-2011-07-22 19:19:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: handle failures
-	  Handle failure to activate the bufferpool.
-
-2011-07-22 19:11:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: improve debugging.
-
-2011-07-21 18:50:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: add reset_buffer vmethod
-	  Add a vmethod to reset a buffer to its original state. Add a default
-	  implementation that resets the flags, timestamps and offsets.
-	  Add some more docs.
-
-2011-07-21 17:42:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstidentity.c:
-	  basetrans: Remove ref in passthrough
-	  Remove the requirement to have to return a ref to the input buffer when in
-	  passthrough mode. This saves a few ref/unref cycles and fixes another 0.11
-	  FIXME.
-
-2011-07-21 17:29:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: make new  copy_metadata vmethod
-	  Make a new copy_metadata vmethod and move the code to copy the timestamps, flags
-	  and offsets into a default implementation. This will allow us to give the
-	  subclasses a chance to override the copy method.
-
-2011-07-21 16:49:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbaseparse.c
-	  libs/gst/base/gstbasesink.c
-
-2011-07-21 16:39:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: avoid intermediate method
-	  Simply call the prepare_output_buffer method instead of calling an intermediate
-	  function.
-
-2011-07-21 16:30:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: move the metadata copy code
-	  Move the metadata copy code to the default prepare_output_buffer implementation.
-
-2011-07-21 15:49:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: move prepare_output_buffer code
-	  Move the code for prepare_output_buffer to a default implementation. this allows
-	  us to simplify some things and have subclasses call into the default
-	  implementation when needed.
-
-2011-07-21 15:48:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: only get size for debug
-
-2011-07-21 14:18:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetrans: fix comment and warn
-	  Emit a warning in the debug log when something seems weird.
-
-2011-07-21 14:14:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: only get caps for size transform
-	  Delay getting the caps until we need to call the transform_size function.
-
-2011-07-21 13:56:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstidentity.c:
-	  basetrans: remove useless variables from prepare_output_buffer
-	  Remove the caps and size from the prepare_output_buffer function. with
-	  bufferpools and capsnego done differently, we don't need this in most cases and
-	  if we do, we can simply use the transform_size function and get the caps from
-	  the srcpad.
-
-2011-07-18 17:22:41 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/advanced-clocks.xml:
-	  docs: clarify clocks docs in manual
-	  After a question on the mailing list, mention that *flushing* seeks reset the
-	  running time.
-
-2011-07-16 22:00:15 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	  docs: removed double negation in event/message seq num description
-	  https://bugzilla.gnome.org/show_bug.cgi?id=654751
-
-2011-07-16 12:21:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/filesrc.c:
-	  tests: make sure non-ASCII chars in filenames are escaped when creating URIs from them
-	  https://bugzilla.gnome.org/show_bug.cgi?id=654673
-
-2011-07-15 16:04:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't accidentally disable the pool
-	  When we set a pool and it is the same as the old pool, don't disable the pool.
-
-2011-07-15 13:27:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: call release_buffer after alloc
-	  After we allocated a new buffer, call the release_buffer vmethod to put the new
-	  buffer in the pool instead of assuming that the pool uses the default
-	  release_method implementation.
-
-2011-07-15 11:52:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: add macro to check for flushing
-
-2011-07-15 11:51:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: improve debug message
-
-2011-07-14 12:45:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix printf format in debug message
-
-2011-07-13 11:39:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: unset PLAYING transition flag when transition completed
-
-2011-07-12 14:07:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix resize function some more
-	  Don't remove memory blocks from the buffer when we clip and resize, instead set
-	  the memory offset and size to 0. This allows us to make the buffer larger again
-	  later.
-
-2011-07-12 13:40:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: improve size handling
-	  Also handle the case where multiple empty memory blocks are in the buffer.
-	  Add unit test for this.
-
-2011-07-12 12:00:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: fix _resize some more
-	  Add more debug.
-	  Alow resize to 0 bytes.
-	  Do clipping correctly.
-	  Add more unit tests. Also add a failing test: when we resize to 0 and then
-	  try to resize back to the original size it fails because the memory was
-	  removed.
-
-2011-07-11 18:00:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: fix negative offsets some more
-	  Allow for negative offsets when doing memory copy and share.
-	  Add fast path in the _get_sizes() function.
-	  Fix resize for negative offset and expanding the buffer.
-	  Add some unit tests.
-
-2011-07-11 16:43:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: add defs for new methods
-
-2011-07-11 16:42:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix _resize better
-
-2011-07-11 16:17:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  buffer: add api to get the current memory offset
-	  Also return the offset in a GstMemory block with the get_sizes() method. This
-	  allows us to figure out how much prefix there is unused.
-	  Change the resize function so that a negative offset can be given. This would
-	  make it possible to resize the buffer so that the prefix becomes available.
-	  Add gst_buffer_get_sizes() to return the offset and maxsize as well as the size.
-	  Also change the buffer resize method so that we can specify a negative offset
-	  to remove prefix bytes.
-
-2011-07-11 14:40:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add some memory wrapped buffer allocation helpers
-
-2011-07-11 12:11:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	  miniobject: cleanup headers
-
-2011-07-11 11:40:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: eat incoming caps event
-	  ... as it is typically up to baseclass to set proper src caps.
-
-2011-07-11 11:37:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: avoid inadvertently dropping an event
-	  ... particularly a non-sticky serialized event that happens to pass
-	  when an event update is pending.
-
-2011-07-04 12:58:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: try harder to arrange increasing position reporting
-	  ... rather than having a momentary decreasing one while transitioning
-	  to PLAYING.
-	  Fixes #628021.
-
-2011-07-08 16:07:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new API to .def file
-
-2011-07-06 15:13:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: make idx argument to gst_buffer_take_memory() signed
-	  Since -1 is acceptable, it should be signed.
-
-2011-07-07 14:57:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix invalid memory access in debug messages
-	  Don't use buffers that we've given away or unrefed in debug messages.
-
-2011-07-07 11:14:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix after merge
-
-2011-07-07 11:13:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasesrc.c
-
-2011-07-06 16:08:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add memset function
-
-2011-07-06 12:09:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix guards for gst_buffer_take_memory()
-	  Since idx = -1 makes it default to idx=len, len is also
-	  a valid input idx.
-
-2011-07-05 16:38:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add class ref/unref
-
-2011-07-05 16:32:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/transform1.c:
-	  test: disable failing unit tests
-	  Disable unit tests that are failing until someone ports this to 0.11
-
-2011-07-05 16:20:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* tests/check/elements/queue.c:
-	  queue: fix unit test
-	  Set the right position member in the segment event.
-	  Add some debug to queue.
-
-2011-07-05 00:10:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  gst: make compiler warn about unstable API if GST_USE_UNSTABLE_API is not defined
-	  And define it in our own build.
-
-2011-07-05 00:12:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: update .def files for latest API changes/additions
-
-2011-06-30 17:39:37 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: do not sneakily mess with current offset when updating length
-
-2011-06-28 22:18:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: unref allocation query when no longer needed
-
-2011-06-28 19:01:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: avoid iterating over a single NULL pad
-
-2011-06-20 23:28:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* docs/random/porting-to-0.11.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstinterface.c:
-	* gst/gstinterface.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstinterface.c:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  Remove GstImplementsInterface
-	  It was a bit too clever, and didn't really work as an API,
-	  confusing people to no end. Better implement specific methods
-	  whether an interface is usable/available/ready on the interface
-	  itself, or even add GError arguments, rather than try to have
-	  per-instance interfaces.
-
-2011-06-25 13:51:52 -0700  Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
-
-	* gst/gsttask.c:
-	  task: Check for PR_SET_NAME before using
-	  Fixes: #653172.
-	  Signed-off-by: David Schleef <ds@schleef.org>
-
-2011-06-23 11:27:52 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 69b981f to 605cd9a
-
-2011-06-23 18:03:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add method to check for metadata
-	  Add a method to check if a certain metadata is supported in the ALLOCATION
-	  query.
-
-2011-06-22 18:07:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	  docs: update design docs a little
-	  Update the design doc with the current state of the videometadata.
-
-2011-06-22 17:12:34 +0200  Koop Mast <kwm at FreeBSD.org>
-
-	* plugins/elements/gsttee.c:
-	  tee: use & instead of && for masking bits
-	  See #653137
-
-2011-06-22 17:09:52 +0200  Koop Mast <kwm at FreeBSD.org>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove redundant ()
-	  See #653137
-
-2011-06-22 17:05:27 +0200  Koop Mast <kwm at FreeBSD.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix seekstop
-	  See #653137
-
-2011-06-22 16:58:53 +0200  Koop Mast <kwm at FreeBSD.org>
-
-	* gst/gstsegment.c:
-	  segment: cast to right type
-	  See #653137
-
-2011-06-22 16:38:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	  uri: remove some _full variants
-
-2011-06-22 16:16:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesink.c:
-	  tags: Remove crazy tag messages
-	  Don't mix messages and pads and tags.
-	  Make the sink post tag messages when a tag event is received.
-	  Since tags are sticky on pads now, they can be retrieved from there
-	  when needed.
-
-2011-06-22 12:28:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstelementfactory.c:
-	  caps: Hide implementation details
-	  Make the Array of structures private. This should allow us to implement
-	  the array more efficiently or with some preallocated structures when
-	  we want to later.
-	  Add a new method to clean up a static structure so that we can remove some code
-	  that pokes into the private bits of the caps.
-
-2011-06-22 12:26:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-negotiation.txt:
-	  docs: update negotiation design doc
-
-2011-06-22 11:42:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  memory: rename GstMemoryAllocator -> GstAllocator
-	  simplify the name of the allocator object.
-
-2011-06-21 17:54:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-	  win32/common/config.h
-	  win32/common/gstversion.h
-
-2011-06-21 17:47:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-bufferpool.txt:
-	  docs: update bufferpool design doc
-
-2011-06-21 17:47:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: improve debugging
-
-2011-06-21 15:15:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/communication.png:
-	  images: strip images of extra text tags
-
-2011-06-21 12:32:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: return empty metadata array
-	  Return a string array with NULL instead of NULL from the default get_metas
-	  function.
-
-2011-06-21 12:31:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: use event function directly
-	  We will never go in this code path for CAPS events so directly call the event
-	  function.
-
-2011-06-21 10:29:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: notify caps after we store the new caps
-	  notify caps after we store the new caps so that the new caps are actually
-	  visible for the app.
-
-2011-06-20 17:32:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: activate the bufferpool
-	  always activate the bufferpool, even if we get it from the allocation
-	  query.
-
-2011-06-20 17:32:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: always activate the pool we get
-	  Activate the pool when we get it from the allocation query.
-
-2011-06-20 16:47:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: inprove allocation handling
-	  Add vmethod for subclasses to influence the pool and allocator.
-	  Log when query fails.
-	  Respect negotiated allocator and alignment.
-
-2011-06-20 16:46:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Improve logging
-	  Log when things fail.
-	  Fix a query leak.
-
-2011-06-20 16:44:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: improve debug
-	  Log a debug line when there is no target pad and when this makes the default
-	  implementation fail.
-	  Take the internal pads directly when we can.
-
-2011-06-20 15:40:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* configure.ac:
-	  configure.ac: bump required GLib to 2.26
-
-2011-06-20 13:26:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: add function to set metadata api
-	  Add a function to retrieve an array of supported metadata apis from the the
-	  bufferpool.
-	  Add functions to configure and query the configured metadata apis in a
-	  bufferpool configuration.
-
-2011-06-19 13:15:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Minor fix to docs
-	  Adds missing parameter to docs of gst_buffer_copy_region
-
-2011-06-18 17:35:41 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Remove unused variable do_event_actions
-	  do_event_actions was always used as TRUE
-
-2011-06-18 14:38:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  Bump gobject-introspection requirement to >= 0.6.8
-	  For --add-init-section
-
-2011-06-16 17:27:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Bump git version after unplanned 0.10.35 release
-	  Merge remote-tracking branch 'origin/0.10.35'
-
-2011-06-14 17:57:21 +0200  Philip Jägenstedt <philipj@opera.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Fix typo in documentation
-	  Fixes #652577.
-
-2011-06-16 10:55:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  Revert "utils: remove some macros now in glib"
-	  This reverts commit de29ae7b929cedbf6b9838ea53b05efabdce4ce7.
-	  Re-adds GFLOAT_TO_LE, GFLOAT_TO_BE, GDOUBLE_TO_LE, and GDOUBLE_TO_BE.
-	  Turns out these aren't in GLib yet afer all (since we didn't
-	  actually open a bug to get them added..)
-
-=== release 0.10.35 ===
-
-2011-06-15 19:15:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  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
-	  * some minor win32/mingw fixes
-	  * don't use G_CONST_RETURN in public headers
-
-2011-06-15 16:56:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix refcounting problem
-
-2011-06-09 17:13:35 +0100  Javier Jardón <jjardon@gnome.org>
-
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstformat.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstquery.h:
-	* gst/gststructure.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	* gst/gsttrace.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.h:
-	  Use "const" instead G_CONST_RETURN
-	  G_CONST_RETURN will be deprecated soon.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=652211
-
-2011-06-04 00:30:15 -0700  David Schleef <ds@schleef.org>
-
-	* gst/glib-compat-private.h:
-	* gst/gstatomicqueue.c:
-	* gst/gstelementfactory.c:
-	* gst/gstpoll.c:
-	* gst/gstsystemclock.c:
-	* gst/gstutils.c:
-	* plugins/elements/gstmultiqueue.c:
-	* tests/benchmarks/gstclockstress.c:
-	  Work around changes in g_atomic API
-	  See #651514 for details.  It's apparently impossible to write code
-	  that avoids both type punning warnings with old g_atomic headers and
-	  assertions in the new.  Thus, macros and a version check.
-
-2011-05-25 13:40:30 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Placate gcc by defining EWOULDBLOCK to something
-
-2011-05-25 12:47:51 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstpoll.c:
-	  poll: Fix WAKE_EVENT() to behave posixly on Windows
-
-2011-06-14 15:18:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-TODO.txt:
-	* docs/random/status-0.11-14-jun-2011.txt:
-	  docs: update docs
-
-2011-06-13 19:10:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-06-13 16:31:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbytewriter.c:
-	* plugins/elements/gstfakesrc.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/typefindhelper.c:
-	  buffer: add index to _take_memory()
-	  Add an index to gst_buffer_take_memory() so that we can also insert memory at a
-	  certain offset. This is mostly interesting to prepend a header memory block to
-	  the buffer.
-
-2011-06-13 16:30:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't forward scheduling query
-	  The scheduling query should not be forwarded, because elements need to implement
-	  special code to handle different scheduling methods.
-
-2011-06-13 12:07:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.h:
-	  basesrc: Allocator buffers from negotiated allocator
-	  Allocate buffers from the negotiated allocator or bufferpool.
-	  Handle the state of the bufferpool when flushing.
-	  Add fill method to pushsrc.
-
-2011-06-13 12:04:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add more debug
-
-2011-06-13 11:51:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.h:
-	  bufferpool: small indentation fix
-
-2011-06-13 11:50:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: pass the allocator as const
-
-2011-06-13 10:19:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: negotiate allocation
-	  Add vmethod to configure allocation methods.
-	  Remove some unused variables
-
-2011-06-11 20:45:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: add some more checks
-	  Make sure that the alignment is valid.
-	  When we have a 0 size (variable buffer size), we can't have a bufferpool.
-
-2011-06-11 19:54:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: set all default values
-	  Fill all query values with good defaults.
-
-2011-06-11 18:52:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* libs/gst/base/gstbasetransform.c:
-	  bufferpool: remove postfix parameter
-	  Remove the postfix parameter, it's not used and can be done differently.
-
-2011-06-10 17:50:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: use same alignment values as GstMemory
-	  Use the same alignment values for the bufferpool as we use for the GstMemory
-	  API.
-
-2011-06-10 17:32:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: use new _check_reconfigure() method
-
-2011-06-10 17:32:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add _check_reconfigure() method
-	  Add a method to check and clear the RECONFIGURE flag on a pad.
-
-2011-06-10 16:47:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add support for buffer in memory
-	  Fix the code to support allocating the buffer and memory in one memory block.
-	  Add an extra variable to store the memory of the buffer.
-	  This code is disabled still because of complications.
-
-2011-06-10 16:46:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: expose default alignment
-	  Export the gst_memory_alignment variable so that others can know the default
-	  configured alignment of the system.
-
-2011-06-10 16:19:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix is_span
-	  Subtract the offset of the parent from is_span.
-
-2011-06-10 13:59:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	  memory: respect configured alignment
-	  Move the alignment from GstBuffer to GstMemory.
-	  make sure memory is at least aligned to the configured values.
-
-2011-06-10 13:40:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcompat.h:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstqueue2.c:
-	  buffer: 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-06-10 12:44:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesrc.c:
-	* win32/common/libgstbase.def:
-	  docs: update for gst_base_src_set_dynamic_size
-	  Add to sections file and add Since: marker. Also update
-	  win32 .def file.
-	  API: gst_base_src_set_dynamic_size()
-
-2011-06-10 13:44:19 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	  design: part-bufferlist.txt was merged into another doc
-
-2011-06-10 13:34:59 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: Update sections files for added/removed symbols
-
-2011-06-10 13:10:42 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  win32: Update for added/removed symbols
-
-2011-06-10 13:04:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfilesrc.c:
-	  basesrc: add fill vmethod to basesrc
-	  Add a new fill virtual method to basesrc. The purpose of this method is to fill
-	  a provided buffer with data.
-	  Add a default implementation of the create method that allocates a buffer and
-	  calls the fill method on it. This would allow the base class to implement
-	  bufferpool and allocator negotiation on behalf of the subclasses.
-	  Fix the blocksize property.
-	  Make filesrc use the new fill method.
-
-2011-06-10 12:09:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstelementfactory.c
-	  gst/gstelementfactory.h
-	  gst/gstpad.h
-	  gst/gstpluginfeature.c
-	  gst/gstpluginfeature.h
-
-2011-06-10 11:55:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstpad.c:
-	  event: add reset_time boolean to flush_stop event
-	  Add a boolean to the flush_stop event to make it possible to implement flushes
-	  that don't reset_time.
-	  Make basesink post async_done with the reset_time property from the flush stop
-	  event.
-	  Fix some unit tests
-
-2011-06-09 17:13:35 +0100  Javier Jardón <jjardon@gnome.org>
-
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstformat.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstquery.h:
-	* gst/gststructure.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	* gst/gsttrace.h:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.h:
-	  Use "const" instead G_CONST_RETURN
-	  G_CONST_RETURN will be deprecated soon.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=652211
-
-2011-06-09 13:37:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: use new event methods to replace events
-	  Using the new event methods, we can atomically transfer the event from the
-	  pending list to the active list.
-
-2011-06-09 13:36:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: make macros for new miniobject methods
-
-2011-06-09 13:35:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: add new methods to manage miniobject pointers
-	  Add a new method to steal the miniobject stored at a location.
-	  Add a new method to store a miniobject in a location and taking ownership
-	  of the miniobject.
-
-2011-06-09 13:34:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: fix header
-
-2011-06-09 12:31:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: fix spurious include
-
-2011-06-09 12:01:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  libs/gst/base/gstbasesrc.c
-
-2011-06-09 11:39:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gsttee.c:
-	  pad: forward events by default
-	  Always forward all events in the default handler. Previously it used to not
-	  forward caps events by default. It makes more sense to forward the caps events,
-	  if the element is interested in the caps, it will implement an event handler to
-	  retrieve the caps and then it can decide to forward or not. If the element has
-	  no event handler, it probably just doesn't care about caps and it probably is
-	  also not going to modify the data in a way that needs a caps change.
-
-2011-06-09 11:13:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix typo in docs
-
-2011-06-08 18:22:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	  filesrc/fdsrc: indicate dynamic size handling to basesrc
-
-2011-06-08 18:22:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: add dynamic size handling
-	  This allows subclass to indicate that size reported by src may not be static
-	  and should as such be updated regularly, rather than only when really
-	  needed.
-	  Particular examples are filesrc or fdsrc reading from a file that is still
-	  growing (e.g. being downloaded).
-	  Fixes #652037.
-
-2011-06-08 20:14:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  Revert "basesrc: Send an update NEWSEGMENT event downstream if the duration changes"
-	  This reverts commit 934faf163caf10ed3d54d81fd7b793069913dffd.
-	  Original commit leads to possibly sending newsegment event downstream
-	  in pull mode.  In push mode, quite some downstream elements
-	  are likely to only expect newsegment event following a seek they performed
-	  and as such may have their state messed up.
-
-2011-06-08 18:35:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: inline the clip segment
-
-2011-06-08 17:25:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstpipeline.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message: rename variable
-	  Rename the new_base_time variable to reset_time, which looks better.
-
-2011-06-08 16:41:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.h:
-	  segment: separate the seek and segment flags
-	  Separate the seek flags and segment flags as separate enums because we might
-	  want to have different flags for both.
-
-2011-06-08 13:40:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstpipeline.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* libs/gst/base/gstbasesink.c:
-	  message: move the new_base_time flag to async_done
-	  Move the flag to indicate that a new_base_time should be distributed to the
-	  pipeline, from the async_start to the async_done message. This would allow us to
-	  decide when to reset the pipeline time based on other reasons than the
-	  FLUSH_START event.
-	  The main goal eventually is to make the FLUSH events not reset time at all but
-	  reset the time based on the first buffer or segment that prerolls the pipeline
-	  again.
-
-2011-06-08 13:39:19 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Update gstreamer-sections for new/removed API
-
-2011-06-08 13:30:49 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  gstbuffer: Remove deprecated GST_BUFFER_* macros
-	  data, size, mallocdata and free_func no longer exist.
-
-2011-06-08 13:06:17 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update for added/removed symbols
-
-2011-06-08 12:58:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: remove setcaps function
-	  Remove the setcaps function, elements should use the caps event to be informed
-	  of the format.
-
-2011-06-08 12:04:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	* gst/gstmemory.c:
-	* tests/check/gst/gstmeta.c:
-	  memory: Require implementation to implement _share
-	  Require the memory implementations to implement a share operation. This allows
-	  us to remove the fallback share implementation which uses a different allocator
-	  implementation and complicates things too much.
-	  Update design doc a bit.
-
-2011-06-08 11:03:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstquery.c:
-	  memory: cleanups and improve docs
-	  Make the fallback copy use the same memory allocator as the original object.
-	  Improve some docs.
-	  Require an alloc function when registering an allocator.
-	  Remove gst_memory_allocator_get_default() and merge the feature in
-	  gst_memory_allocator_find()
-	  Fix locks on the hashtable.
-	  Remove defined but not-implemented gst_memory_span() method.
-
-2011-06-07 18:18:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-memory.txt:
-	  docs: add beginnings of memory design doc
-
-2011-06-07 17:54:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: pass user_data to the alloc function
-	  Pass the user data that was passed to _register to the alloc function of an
-	  allocator.
-
-2011-06-07 17:34:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: fix some typos
-
-2011-06-07 17:03:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfilesrc.h:
-	  filesrc: remove MMAP code
-	  Remove the mmap code, it was disabled and probably needs a complete rewrite
-	  anyway if this is to be ported to 0.11.
-
-2011-06-07 16:35:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add methods to query allocators
-	  Add API to add and query allocator implementations to/from the ALLOCATION query.
-
-2011-06-07 16:14:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: use allocators to allocate memory
-	  Rename the GstMemoryImpl to GstMemoryAllocator because that's really what it is.
-	  Add an alloc vmethod to the allocator members.
-	  Improve registration of allocators.
-	  Add methods to get and set the default allocator
-	  Always use an allocator to allocate memory, use the default allocator when NULL
-	  is passed.
-	  Add user_data to the allocator Info so that we can pass extra info to the
-	  allocator new method.
-
-2011-06-07 13:03:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	* docs/design/part-negotiation.txt:
-	  docs: minor fix and clarification
-
-2011-06-07 13:38:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: move some more defines on top
-
-2011-06-07 13:25:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  fix some circular includes
-	  typedef some structs before including other files to avoid circular dependencies
-	  in the header files.
-
-2011-06-07 11:01:36 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update for added/removed symbols
-
-2011-06-06 12:23:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/elements/tee.c:
-	  check/tee: Pads need to be activated before caps are set
-	  Also add debugging to figure out what's going on
-
-2011-06-07 10:52:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: remove proxy_setcaps
-	  Remove proxy_setcaps, elements should use the caps event and forward caps
-	  themselves.
-
-2011-06-07 10:51:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: fix refcounting of events
-	  _pad_event_forward() takes ownership of the caps.
-
-2011-06-07 10:49:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Improve pad event forward code
-	  Return TRUE when the pad has no parent or when there are no internally linked
-	  pads.
-
-2011-06-07 10:04:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gsttee.c:
-	  plugins: use the caps event
-	  Use the caps event and avoid using the setcaps function. Use some of the new pad
-	  forward functions to implement desired behaviour.
-
-2011-06-07 10:02:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Rename and rework the dispatcher function
-	  Rename gst_pad_dispatcher() to gst_pad_forward() and make it more useful by
-	  iterating the internal links of a pad and handling resync properly.
-	  Add a method gst_pad_event_forward() that unconditionally forwards an event to
-	  all internally linked pads.
-	  Update some pad code to use the new forward function.
-
-2011-06-07 09:43:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tools/gst-inspect.c:
-	  caps: use the caps event
-	  Use the caps event instead of gst_pad_set_caps() and the setcaps function
-
-2011-06-06 16:11:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-TODO.txt:
-	* docs/design/part-block.txt:
-	* docs/design/part-buffer.txt:
-	* docs/design/part-bufferlist.txt:
-	* docs/design/part-caps.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-gstelement.txt:
-	* docs/design/part-gstobject.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-messages.txt:
-	* docs/design/part-meta.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-probes.txt:
-	* docs/design/part-seeking.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-sparsestreams.txt:
-	* docs/design/part-streams.txt:
-	* docs/design/part-synchronisation.txt:
-	* docs/design/part-trickmodes.txt:
-	  docs: go over design docs and fix things
-	  Remove bufferlist part, it's merged with part-buffer.txt
-
-2011-06-06 11:21:23 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: Add enum/flags (de)registration in gst_(de)init
-
-2011-06-06 11:20:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't accept segments after EOS
-	  And refactor the code slightly to avoid code duplication.
-	  This solves a regression introduced by bdbc0693
-
-2011-06-06 10:27:57 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/gstghostpad.c:
-	  check/ghostpad: Activate pads before checking for caps forwarding/setting
-	  This is now done via in-band events, so the pads need to be active
-
-2011-06-05 18:11:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.h:
-	* gst/gstelement.h:
-	* gst/gstevent.h:
-	* gst/gstiterator.c:
-	* gst/gstmemory.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* gst/gstquery.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstpushsrc.c:
-	  docs: update for API changes
-	  Also remove GST_PAD_CHECKGETRANGEFUNC macro
-
-2011-06-05 15:46:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-06-04 15:42:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/parse/Makefile.am:
-	  parse: add prototypes for unused functions to avoid compiler warning
-	  The warning is never fatal, because we don't use -Werror for the
-	  parser helper library build, but the warnings are annoying anyway.
-
-2011-06-05 14:10:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/Makefile.am:
-	* tools/gst-run.c:
-	  tools: remove unversioned gst-launch, gst-inspect and gst-typefind
-	  The unversioned tool wrappers are confusing and annoying for packagers,
-	  users and developers alike. A gst-launch pipeline that works in 0.10
-	  will likely not work in 0.11 (e.g. because elements or properties get
-	  renamed, or syntax changes). The unversioned tools also yield useless
-	  results when used with gdb or valgrind. Packagers need to co-ordinate
-	  the packaging of all major versions to make sure there are no conflicts
-	  when both try to install the same files. When two major versions are
-	  in use (e.g. 0.10 and 0.11/1.0), it may be unclear (when looking at
-	  things on IRC/pastebin/mailing list etc.) which version is actually
-	  being used when there are unversioned wrappers. For all these reasons,
-	  it seems best to just remove them for now.
-
-2011-06-04 16:04:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstmarshal.c:
-	* win32/common/gstmarshal.h:
-	* win32/common/gstversion.h:
-	* win32/common/libgstreamer.def:
-	  win32: update exports and other things
-
-2011-06-04 15:44:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translatable string and removed strings
-
-2011-06-04 15:23:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  info: remove GST_XML debug category as well
-
-2011-06-04 15:22:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Android.mk:
-	* Makefile.am:
-	* configure.ac:
-	* docs/design/part-TODO.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gstconfig.h.in:
-	* gst/parse/Makefile.am:
-	* gstreamer.spec.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	* plugins/indexers/Makefile.am:
-	* plugins/indexers/gstindexers.c:
-	* plugins/indexers/gstindexers.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstxml.c:
-	* tests/check/gst/struct_arm.h:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	* tests/examples/manual/Makefile.am:
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	* tools/gst-launch.1.in:
-	* tools/gst-xmllaunch.1.in:
-	  Remove everything libxml2- and loadsave-related
-
-2011-06-04 14:41:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  tools: remove SIGUSR* handling from gst-launch
-	  Remove SIGUSR* handling from gst-launch, since it might interfere
-	  with other things (e.g. libleaks), and should be done differently
-	  anyway (either via support for simple timed-commands scripting or
-	  remote control via DBus or so).
-
-2011-06-04 14:28:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gstreamer.spec.in:
-	* tools/.gitignore:
-	* tools/BUGS:
-	* tools/Makefile.am:
-	* tools/README:
-	* tools/gst-xmlinspect.1.in:
-	* tools/gst-xmlinspect.c:
-	* tools/xml2text.xsl:
-	  tools: remove gst-xmlinspect
-	  People should just query the registry themselves or write a small
-	  python script if they need this functionality (which is likely
-	  less work than parsing the XML that this script outputs, and I'm
-	  not aware of anything using the xml2text xsl either).
-
-2011-06-04 14:22:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/using.xml:
-	* gstreamer.spec.in:
-	* tools/.gitignore:
-	* tools/Makefile.am:
-	* tools/gst-feedback-m.m:
-	* tools/gst-feedback.1.in:
-	  tools: remove gst-feedback
-	  It's not really that useful, and no one's been using it for years.
-
-2011-06-04 14:13:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  tools, tests: fix some unused-but-set-variable compiler warnings
-
-2011-06-04 14:02:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new translatable string
-
-2011-06-04 00:30:15 -0700  David Schleef <ds@schleef.org>
-
-	* gst/glib-compat-private.h:
-	* gst/gstatomicqueue.c:
-	* gst/gstelementfactory.c:
-	* gst/gstpoll.c:
-	* gst/gstsystemclock.c:
-	* gst/gstutils.c:
-	* plugins/elements/gstmultiqueue.c:
-	* tests/benchmarks/gstclockstress.c:
-	  Work around changes in g_atomic API
-	  See #651514 for details.  It's apparently impossible to write code
-	  that avoids both type punning warnings with old g_atomic headers and
-	  assertions in the new.  Thus, macros and a version check.
-
-2011-06-03 18:10:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  gstpad: Small doc fixup
-
-2011-06-03 15:53:21 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update .def for latest APi changes
-
-2011-06-03 17:24:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: clean up probe flags
-
-2011-06-03 17:24:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-probes.txt:
-	  docs: first version of probes document
-
-2011-06-03 16:46:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: check flushing in pullrange too
-
-2011-06-03 13:56:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: cleanups
-	  Use defines instead of hardcoded values for masks.
-
-2011-06-03 13:25:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gststructure.c:
-	  structure: fix some more 0.11 fixmes
-	  don't allow spaces in structure names and fix unit tests.
-
-2011-06-03 12:43:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-allocation.txt:
-	* docs/design/part-bufferpool.txt:
-	  docs: update bufferpool design doc
-	  Move the bufferpool design doc from draft to part and merge it with
-	  the allocation draft.
-
-2011-06-03 12:40:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: make the default behaviour to wait
-	  The most common case is to not specify any flags when doing the allocation. Make
-	  the allocation from a pool with a maximum amount of buffers block by default for
-	  this reason.
-
-2011-06-03 11:15:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting doc
-
-2011-06-02 19:24:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: use caps event instead of setcaps
-
-2011-06-02 19:23:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	  ghostpad: remove setcaps functions
-	  Remove the setcaps functions, it is now handled with the caps event.
-
-2011-06-02 18:28:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: pass the right alignment
-
-2011-06-02 18:28:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memmory: small cleanup
-
-2011-06-02 18:13:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: fix alignment calculations
-	  Fix the alignment calculation.
-	  Improve documentation.
-
-2011-06-02 18:13:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  pool: debug the config
-
-2011-06-02 15:38:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  utils: remove some macros now in glib
-	  We depend on the right glib now
-
-2011-06-02 15:38:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: fix a FIXME
-
-2011-06-02 15:38:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: use g_printerr() as stated in the FIXME
-
-2011-06-02 15:37:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: small cleanups
-
-2011-06-02 14:09:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: inline the recursice state lock
-
-2011-06-02 13:46:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: inline the recursive stream lock
-
-2011-06-02 13:35:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: remove unused fields and methods and signals
-
-2011-06-02 13:23:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: use new gst_value_fixate instead
-	  Use the new gst_value_fixate() function instead of our own version.
-
-2011-06-02 13:21:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  value: add function to fixate a value
-	  Add a function to fixate a GValue. This is the same function as is in GstPad.
-
-2011-06-02 13:18:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  caps: remove some custom refcounting methods
-	  Remove some custom made refcounting methods and use the miniobject ones instead.
-
-2011-06-02 12:40:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: optimize linking
-	  Optimize linking by only releasing the pad locks when there are link functions
-	  installed on the pads.
-	  Add some G_LIKELY here and there.
-	  Move error paths out of the main code flow.
-
-2011-06-02 12:39:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: remove deprecated have-data signal
-
-2011-06-02 11:21:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add idle probe for pull method too
-
-2011-06-02 11:01:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: more cleanups
-	  Use miniobject unref when we can
-	  Reuse existing data type identifier instead of an extra boolean.
-
-2011-06-01 19:47:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  plugins/elements/gstoutputselector.c
-
-2011-06-01 19:27:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/elements/selector.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/pipelines/queue-error.c:
-	  pad: further improve probes and pad blocking
-	  Keep track of installed number of probes to shortcut emission.
-	  Allow NULL callbacks, this is useful for blocking probes.
-	  Improve probe selection based on the mask, an empty mask for the data or the
-	  scheduling flags equals that all probes match.
-	  Add some more debug info.
-	  Don't check the flushing flag in the probe callback handler, this needs to be
-	  done before calling the handler.
-	  Fix blocking probes.
-	  Fix unit tests
-
-2011-05-31 19:16:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstpipeline.c:
-	  pad: implement pad block with probes
-
-2011-05-30 19:03:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/check/gstbufferstraw.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* tests/check/elements/selector.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstpipeline.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/basesrc.c:
-	* tests/check/pipelines/queue-error.c:
-	  utils: remove _full variants of probes
-	  Remove the _full variants and add the destroy notify to the regular methods.
-
-2011-06-01 15:29:20 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/struct_arm.h:
-	  check/abi: Ignore GstXML* on arm when not present
-
-2011-05-31 18:31:53 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Use local priv variable instead of trans->priv
-
-2011-05-31 18:30:50 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstsegment.c:
-	  gstsegment: Remove dead assignment
-	  base is unconditionally written a couple of lines below
-
-2011-05-31 18:30:30 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbin.c:
-	* gst/gstbufferpool.c:
-	* gst/gstelement.c:
-	* libs/gst/base/gstbasesink.c:
-	  gst: Remove obvious dead assignments
-
-2011-05-31 13:43:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Remove dead assignment
-
-2011-05-30 18:29:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: Rework pad blocking, another attempt
-	  Make the PadBlock callback take a GstBlockType parameter to handle the different
-	  kind of stages in the pad block. This provides for more backwards compatibility
-	  in the pad block API.
-	  Separate blocking and unblocking into different methods, only blocking can do a
-	  callback, unblock is always immediately. Also removed synchronous blocking, it
-	  can always be implemented with a callback.
-
-2011-05-30 13:40:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  Revert "pad: rework pad blocking, first part"
-	  This reverts commit 415da89f3c9fe46fc3361236df9a3b76e607e138.
-	  Conflicts:
-	  gst/gstpad.c
-
-2011-05-30 12:27:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve debugging
-
-2011-05-30 11:33:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  value: Consider "1" and "{1}" as equal in gst_value_compare()
-	  Previously this was only done in the is_subset() check but
-	  having it only there brings us into definition-hell where
-	  "1" and "{1}" are subset of each other but not equal.
-
-2011-05-30 07:44:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: Don't access the GstMessage structure directly
-
-2011-05-30 07:41:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-30 07:36:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Fix subset check for equivalent lists and scalar values
-	  For example "{ 1 }" and "1" are not strictly equal but
-	  both are a subset of each other. Also add a unit test
-	  for this.
-
-2011-05-29 19:28:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/general.xml:
-	  docs: fix bugzilla URL
-	  htpp -> http
-	  https://bugzilla.gnome.org/show_bug.cgi?id=651362
-
-2011-05-28 10:24:37 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.h:
-	  docs: xrefs more api around GstStateChange and GstStateChangeReturn.
-
-2011-05-28 09:51:45 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstmessage.h:
-	  docs: xref the async messages to GstStateChange
-
-2011-05-27 17:20:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: rework pad blocking, first part
-	  Make pad block call the callback as soon as the pad is not in use. This makes it
-	  possible to make sure that when the callback is called, no activity is happening
-	  on the pad and that no activity will ever happen until the pad is unblocked
-	  again. This makes pad blocking work when there is no dataflow or after EOS and
-	  greatly helps dynamic pipelines.
-	  Move the probe handling right where we wait on the pad block. The two are
-	  related but not the same and the probe can eventually influence the pad
-	  blocking as we'll se later.
-	  Fix up some broken unit tests or tests that fail with the new behaviour.
-
-2011-05-27 17:18:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* tests/check/libs/basesrc.c:
-	  basesrc: remove deprecated clean shutdown method
-
-2011-05-27 14:00:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: deactivate the pad after removing it
-	  When releasing the request pad, first remove it from the element and then
-	  deactivate it. If we do it the other way around, a gst_pad_push on the element
-	  might return wrong-state before we had a chance to detect the removed pad in the
-	  chain function.
-
-2011-05-27 15:14:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: catch and print missing-plugin messages in gst-launch
-	  So that users get some feedback if they're using a pipeline
-	  like  src ! decodebin2 ! sink  and are missing an element.
-
-2011-05-27 14:02:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Fix for SEGMENT event API changes
-
-2011-05-27 13:58:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-27 13:55:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* win32/common/libgstreamer.def:
-	  caps: Add gst_caps_is_subset_structure()
-	  API: gst_caps_is_subset_structure()
-	  This allows to check if a structure is a subset of given
-	  caps without allocating a new caps instance for it.
-
-2011-05-27 13:47:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: Add gst_structure_is_subset()
-	  API: gst_structure_is_subset()
-
-2011-05-27 13:38:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Optimize gst_caps_is_subset()
-	  ..and as a result gst_caps_is_equal() and others.
-	  This now only checks if for every subset structure there is
-	  a superset structure in the superset caps. Previously we were
-	  subtracting one from another, creating completely new caps
-	  and then even simplified them.
-	  The new implemention now is about 1.27 times faster and doesn't
-	  break the -base unit tests are anything anymore.
-
-2011-05-27 13:37:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Fix subset check in gst_caps_merge()
-	  Caps A are a subset of caps B even if caps B doesn't
-	  have all fields of caps A.
-	  Also add a unit test for this.
-
-2011-05-27 12:56:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  Revert "caps: Optimize gst_caps_is_subset()"
-	  This reverts commit 32248a9b852bcb568a5b642299ecc8e5bf48ea13.
-	  This breaks some tests in -base and the failures should
-	  be fixed first.
-
-2011-05-27 12:45:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: Optimize gst_caps_is_subset()
-	  ..and as a result gst_caps_is_equal() and others.
-	  This now only checks if for every subset structure there is
-	  a superset structure in the superset caps. Previously we were
-	  subtracting one from another, creating completely new caps
-	  and then even simplified them.
-	  The new implemention now is about 1.27 times faster.
-
-2011-05-27 11:45:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Drop sticky events pushed on flushing srcpads instead of activating them immediately
-
-2011-05-26 14:56:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Pass the complete caps to transform_caps
-	  Instead of passing it structure by structure. This allows
-	  better optimized transform_caps functions and allows better
-	  transformation decisions.
-	  See bug #619844.
-
-2011-05-27 09:05:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Send an update NEWSEGMENT event downstream if the duration changes
-	  This allows streaming the complete file for files that have grown since
-	  streaming started.
-	  Fixes bug #647940.
-
-2011-05-26 19:45:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: refactor _push_event
-	  Rework _push_event() a little so that it drops events on blocking pads.
-	  Make sure that events are forwarded when we unblock.
-	  Add counter on the pad to keep track of busy pads.
-
-2011-05-26 18:21:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: refactor pre and post chain code
-
-2011-05-26 17:50:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: keep counter for active pads
-	  Keep a counter to mark the amount of threads currently pushing data on the pad.
-
-2011-05-26 17:39:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: refactor pre push code
-	  Refactor the code that is executed as the first step of a push operation where
-	  we check the probes and blocking and resolve the peer.
-
-2011-05-26 17:08:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstpad.c:
-	* gst/gstutils.c:
-	  pad: remove pad cache
-	  Remove the pad cache as this is going to be reworked for new pad blocking and
-	  probes.
-
-2011-05-26 16:48:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: simplify handling of buffer lists
-	  Implement a default buffer-list function in case the element doesn't implement
-	  one.
-	  Also pass buffer-lists to the have-data signal, this allows us to remove some
-	  backward compatibility code.
-
-2011-05-26 16:15:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: remove old gst_pad_set_blocked methods
-
-2011-05-26 14:14:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstpushsrc.c:
-	  pushsrc: Fix infinite recursion in pushsrc query handler
-
-2011-05-26 13:36:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-25 16:02:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  gst: we can now use GLib 2.24 API unconditionally
-
-2011-05-25 15:54:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: bump GLib requirement to >= 2.24
-	  http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement
-
-2011-05-25 15:38:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: update release instructions for gnome change
-
-2011-05-25 13:40:30 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Placate gcc by defining EWOULDBLOCK to something
-
-2011-05-25 12:47:51 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstpoll.c:
-	  poll: Fix WAKE_EVENT() to behave posixly on Windows
-
-2011-05-24 20:28:18 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.h:
-	  registrybinary: small cleanups
-	  Remove unneeded braces from string define. Small doc improvement.
-
-2011-05-24 20:27:02 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: use guint for the version number parts
-	  Use unsigned integers for extra safety (like we do in plugin version parsing).
-
-2011-05-24 18:39:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstelement.c:
-	  remove some more deprecated methods
-
-2011-05-24 18:29:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpadtemplate.h:
-	  padtemplate: remove unused flag
-
-2011-05-24 18:17:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstindexfactory.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstregistry.c:
-	* gst/gstregistrychunks.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* tests/check/gst/gstplugin.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  feature: use object name
-	  Remove the name property from the plugin feature and port code to use the object
-	  name instead.
-
-2011-05-24 18:16:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstconfig.h.in:
-	  remove old glib check
-
-2011-05-24 17:43:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-24 17:36:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstquery.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstpushsrc.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	  scheduling: port to new scheduling query
-
-2011-05-24 12:52:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-scheduling.txt:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: add SCHEDULING query
-	  Add a new query to replace the checkgetrange function.
-
-2011-05-24 19:43:58 +0530  Debarshi Ray <rishi@gnu.org>
-
-	* libs/gst/check/gstcheck.h:
-	  check: add fail_unless_equals_int64
-	  https://bugzilla.gnome.org/show_bug.cgi?id=650973
-
-2011-05-24 16:14:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Forward sticky events to newly created srcpads
-
-2011-05-24 16:13:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: Forward sticky events to newly created srcpads
-
-2011-05-24 16:08:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Add gst_pad_sticky_events_iterate() function
-
-2011-05-24 13:27:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Fix for GstIterator API changes
-
-2011-05-24 13:28:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	  Revert "debugutils: Fix for GstIterator API changes"
-	  This reverts commit e1cc3176d6fb8023bbe0c733615b2a8c420a2077.
-	  This is not the 0.11 branch...
-
-2011-05-24 13:27:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstdebugutils.c:
-	  debugutils: Fix for GstIterator API changes
-
-2011-05-24 09:48:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstpad.h
-
-2011-05-24 00:26:40 +0300  Kipp Cannon <kcannon@cita.utoronto.ca>
-
-	* gst/gstclock.h:
-	  clock: improve the GST_TIME_FORMAT/ARGS docs
-
-2011-05-23 23:40:20 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	  docs: hide this from the docs
-
-2011-05-23 18:30:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: use GST_SEGMENT_FORMAT for segments
-
-2011-05-23 18:15:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  transform: fixes for bufferpool handling
-	  Don't error out when the allocation query returns success.
-	  Do bufferpool query after we pushed the caps event downstream so that we can get
-	  a good bufferpool suggestion.
-	  Also proxy the bufferpool query downstream when we operate in in_place mode.
-
-2011-05-23 18:14:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve debugging
-
-2011-05-23 16:53:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  transform: reset reconfigure state
-	  When we negotiate new caps, reset the reconfigure state.
-
-2011-05-20 18:56:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: WIP handle bufferpool
-
-2011-05-21 19:06:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: avoid calling _set_caps() on the srcpad
-	  Avoid installing a setcaps function on the srcpad and calling the setcaps
-	  function, we can do more efficiently with sending the event ourself and calling
-	  our vmethod.
-
-2011-05-20 16:03:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstpad.h
-	  gst/gstplugin.h
-
-2011-05-20 15:58:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove some more code
-	  Remove some more unused code from basetransform.
-	  Prepare for implementing bufferpools.
-
-2011-05-20 15:50:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* win32/common/libgstbase.def:
-	  win32: add new api
-
-2011-05-20 15:48:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	* gst/gstplugin.h:
-	  deprecation-guards: fixup for commit 9ff4ec3104d2510b8f379ff38c671682ff795e33
-	  Remove the deprecation guards for GST_PLUGIN_DEFINE_STATIC again (even though it
-	  is deprecated) as we use it in the tests. Remove "_" for intlinkfunc.
-
-2011-05-20 13:06:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-20 13:03:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Only reinit the cached GstClockID if it is for the same clock
-	  The clock might have changed since the clock ID was created and in
-	  that case we have to request a new one.
-
-2011-05-20 12:43:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: add method to get metadata
-	  Add a method to get the metadata from a klass.
-
-2011-05-20 12:43:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.h:
-	  factory: fix typo
-
-2011-05-20 12:18:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Always send a SEGMENT event when the active pad changes
-
-2011-05-20 12:16:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Fix copy&paste mistake in the srcpad event function
-
-2011-05-20 12:07:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  docs/plugins/gstreamer-plugins.hierarchy
-
-2011-05-20 12:00:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Send upstream events to all sinkpads, not only the selected one
-	  This makes sure that SEEK events are sent to all upstream elements, which is
-	  required if different streams are completely distinct pipeline parts. Also this
-	  allows QoS to be done on deselected streams, flushes to be handled correctly,
-	  etc.
-
-2011-05-20 11:36:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	  pad: add pending event for sticky events
-	  Change the sticky event array so that it contains a pending and an active event.
-	  Events on the sinkpad are copied to the pending array and after the eventfunc
-	  returned TRUE, moved to the active event. This allows us to queue new events
-	  like when we do per-pad offsets without removing the currently active event.
-	  Remove the active argument from the gst_pad_get_sticky_event() method, the
-	  pending events are not something we want to expose.
-
-2011-05-20 00:39:10 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	* gst/gstpreset.h:
-	  preset: include cleanup
-	  Only have include in the installed header we need to use it. Move the includes
-	  needed by the implementation to the c file.
-
-2011-05-19 23:19:30 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.interfaces:
-	  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:28 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 9e5bbd5 to 69b981f
-
-2011-05-19 19:07:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: caps are not stored on flushing pads
-	  Caps are now also stored on flushing pads in the inactive state.
-
-2011-05-19 19:01:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: apply pad offset on sinkpad events too
-	  Apply the pad offset in the send_event() function as well.
-
-2011-05-19 18:27:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add per-pad offsets
-	  When linking pads and when copying a segment event from the sourc pad to the
-	  sinkpad, apply the src and sinkpad offsets to the segment base. Make sure that
-	  we only modify the event stored on the sinkpad and never the one on the source
-	  pad.
-	  When changing the pad offset, perform the segment copy with the updated offsets.
-	  When pushing a segment event, apply the srcpad offset before sending the event
-	  to the peer pad.
-	  This part is missing the adjustment of the segment event on the sinkpad, which
-	  is for a later patch.
-
-2011-05-19 16:26:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add methods to adjust the offset
-	  Add methods to adjust the offset. This will be used to change the segment events
-	  with an offset so that we can tweak the timing of the stream on a per-pad base.
-
-2011-05-19 12:11:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Port to the new segment API
-	  The switch action signal with the stop and start running times
-	  is not necessary anymore. Closing of segments is not necessary
-	  and adjusting the start running time of a segment can later be
-	  done with new GstPad API.
-
-2011-05-19 11:30:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstghostpad.h
-
-2011-05-18 19:43:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: store sticky events on flushing sinkpads too
-	  First store the sticky event on the sinkpad in the inactive state, then check
-	  for the flushing flag. We want to have the events on sinkpads at all times,
-	  ready to be activated when the pad becomes active.
-
-2011-05-18 18:53:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: move caps check to central location
-	  Make a function to call the eventfunc and perform a caps check when we are
-	  dispatching a caps event.
-	  This makes sure that all code paths correctly check that the caps are
-	  acceptable before sending the caps to the eventfunction.
-
-2011-05-18 18:52:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: avoid calling setcaps too many times
-	  Don't call setcaps, the caps event will take care of propagating the caps on all
-	  pads.
-
-2011-05-18 18:48:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: add allocation query name
-	  Add ALLOCATION query name and guard some functions against invalid queries.
-
-2011-05-18 16:56:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/libs/basesrc.c:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  event: Make SEGMENT event parsing API more consistent with the others
-
-2011-05-18 16:47:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: relax caps check
-	  Also run the caps transform function on ANY caps, like we used to do before.
-	  This makes sure that capsfilter has a chance to filter ANY caps as well.
-
-2011-05-18 16:29:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Don't forget to take the object lock when getting a sticky event
-
-2011-05-18 16:26:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Add function to get sticky events from a pad
-	  API: gst_pad_get_sticky_event()
-
-2011-05-18 15:43:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* tests/check/gst/gstevent.c:
-	  event: fix event copy
-	  Fix parent refcount on event copy.
-	  Fix unit test.
-
-2011-05-18 15:29:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: notify caps property change in callsetcaps
-	  Notify the caps property change in the backwards compatible function to call the
-	  setcaps function.
-
-2011-05-18 16:09:19 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From fd35073 to 9e5bbd5
-
-2011-05-18 15:04:48 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove GstProxyPad from private section
-
-2011-05-18 15:02:02 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.h:
-	* gst/gstminiobject.c:
-	  docs: use the same name for the argument in prototype and docs
-
-2011-05-18 14:59:45 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/Makefile.am:
-	  manual: put generated sources to BUILT_SOURCES and clean them on make clean
-
-2011-05-18 13:19:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-18 13:14:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstminiobject.c
-	  gst/gstpad.c
-	  gst/gstpad.h
-	  gst/gstplugin.h
-	  libs/gst/base/gstbaseparse.c
-
-2011-05-18 14:10:12 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/Makefile.am:
-	  manual: reinsert missing space to fix previous commit
-
-2011-05-18 13:54:42 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/Makefile.am:
-	  manual: simplify the snipet extraction rules
-	  Use $< instead of repeating the name of the dependency.
-
-2011-05-18 10:59:38 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/Makefile.am:
-	  manual: don't extract the xml example anymore, its gone
-	  As a followup for commit cda5a353d27326c0272a79c92c11c221a4092da4 don't try
-	  extracting an example that has been removed.
-
-2011-05-18 12:23:39 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 46dfcea to fd35073
-
-2011-05-18 11:21:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-events.txt:
-	  docs: update docs some more
-
-2011-05-18 11:08:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-events.txt:
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: rework sticky events a little
-	  Update the design docs with some clear rules for how sticky events are
-	  handled.
-	  Reimplement the sticky tags, use a small structure to hold the event and its
-	  current state (active or inactive).
-	  Events on sinkpads only become active when the event function returned success
-	  for the event.
-	  When linking, only update events that are different.
-	  Avoid making a copy of the event array, use the object lock to protect the event
-	  array and release it only to call the event function. This will need to check
-	  if something changed, later.
-	  Disable a test in the unit test, it can't work yet.
-
-2011-05-17 22:17:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: maintain frame state during frame parsing round
-	  See #650093.
-
-2011-05-12 11:55:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: provide latency query support
-
-2011-05-17 22:15:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make minimum frame size handling more efficient and convenient
-	  While some formats allow subclass to determine a specific subsequent
-	  needed frame size, others may to need to scan for markers and can only
-	  request 'additional data' by whatever reasonable available step.
-	  In push mode, trying to minimize additional latency leads to step size
-	  being the next input buffer.  In pull mode, any reasonable step size
-	  (such as already used by buffer caching) can be applied.
-
-2011-05-17 22:38:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: set correct buffer size
-
-2011-05-06 10:54:08 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: show flags the same way they need to be entered
-	  The (de)serialisation uses "+" and not " | ".
-
-2011-04-28 11:34:39 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstregistry.c:
-	* gst/gstregistrychunks.c:
-	  pluginfeature: avoid duplicating feature->name
-	  The feature name is not supposed to change over time anyway. In order to enforce
-	  this parentize features to the registry and make the feature->name pointing to
-	  GstObject:name. In 0.11 we could consider of removing the feature->name variable
-	  (FIXME comment added).
-	  Fixes: #459466
-
-2011-05-02 15:36:14 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstplugin.h:
-	  docs: add deprecation guards
-	  Move GstPadIntLinkFunction to private header to avoid a dozen #ifdefs. Use a
-	  gpointer in public header instead.
-
-2011-05-17 19:03:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't push sticky events on flush
-	  Only allow serialized and non-flush events forward the sticky events.
-
-2011-05-17 18:23:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstghostpad.c:
-	  test: reset pad caps properly
-
-2011-05-17 18:23:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add more debug
-
-2011-05-17 18:21:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: remove unused code
-	  The code to make sure that caps are properly set on both pads, it now happens
-	  automatically with the caps event.
-
-2011-05-17 17:53:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  tests: fix tests
-	  Remove the tests that handle incompatible formats, we don't want that anymore.
-
-2011-05-17 17:51:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: handle wraparound better
-	  Now that we use unsigned values for the segment, handle wraparound when seeking
-	  better.
-
-2011-05-17 16:50:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  pad: remove unref, the object is NULL
-
-2011-05-17 14:01:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: The RECONFIGURE element only exists in 0.11
-	  Implementing it properly in 0.10 seems to be impossible.
-
-2011-05-17 13:13:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	* tests/check/elements/valve.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  tests: Update for caps/pad template related API changes
-
-2011-05-17 12:25:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  base: Update for caps/pad template related API changes
-
-2011-05-17 12:04:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstutils.c:
-	  gst: Update for caps/pad template related API changes
-
-2011-05-17 12:12:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstelement.c:
-	  element: Consider GstPadTemplate as immutable
-	  Don't copy the templates when creating subclasses but only increase
-	  their refcount.
-
-2011-05-17 12:10:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstelement.c:
-	* gst/gstpadtemplate.c:
-	  padtemplate: Create pad templates with floating refs
-	  And take ownership of the floating ref in gst_element_add_pad_template()
-
-2011-05-17 12:07:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstpadtemplate.c:
-	  padtemplate: Improve reference handling of the template's caps
-	  gst_pad_template_new() does not take ownership of the caps anymore.
-
-2011-05-16 13:39:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: delay private data initialisation until actually needed
-	  We only use the private instance data for weak references for now,
-	  so can delay initialisation until actually needed (microoptimisation)
-
-2011-05-17 11:59:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	  pad: Let template related functions return new references
-	  gst_pad_template_get_caps(), gst_pad_get_pad_template_caps()
-	  and gst_pad_get_pad_template() return a new reference of the
-	  caps or template now and the return value needs to be
-	  unreffed after usage.
-
-2011-05-17 11:45:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* tests/check/gst/gstevent.c:
-	  Revert "event: example of how to optimize events"
-	  This reverts commit fa28e2c5e6e5e172be308c0c50f44ed6f39e1a71.
-	  The optimization only has minimal impact on the performance and
-	  makes everything more complex.
-
-2011-05-17 11:45:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  Revert "event: update the structure when needed"
-	  This reverts commit 905100cdbe580d4d182bfd9d5ec9b368a110f464.
-
-2011-05-17 11:22:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Fix compilation
-
-2011-05-17 11:20:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/gst/gstquery.c:
-	  Revert "query: allow _make_writable on query handlers"
-	  This reverts commit cf4fbc005c5c530c2a509a943a05b91d6c9af3fb.
-	  This change did not improve the situation for bindings because
-	  queries are usually created, then directly passed to a function
-	  and not stored elsewhere, and the writability problem with
-	  miniobjects usually happens with buffers or caps instead.
-
-2011-05-17 11:19:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  Revert "bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME"
-	  This reverts commit 437c92b403e0c7da9b9d4509ef4ffbd05710df2b.
-
-2011-05-17 11:19:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	  Revert "ghostpad: fix g_return_* with new query"
-	  This reverts commit 877c1c28ff957ca92911eadfc785f8661d9e0127.
-
-2011-05-17 09:40:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  win32/common/libgstreamer.def
-
-2011-05-17 09:35:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: Make both parameters to gst_structure_is_equal() const
-
-2011-05-17 09:33:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Update Since markers to the correct version
-
-2011-05-17 09:33:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: Add gst_structure_intersect()
-	  API: gst_structure_intersect()
-
-2010-09-10 18:33:34 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  gststructure: Add gst_structure_can_intersect API
-	  Allows checking if two structures can intersect without having to
-	  go through GstCaps
-	  API: gst_structure_can_intersect
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629300
-
-2010-09-10 18:14:05 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  gstructure: New API: gst_structure_is_equal
-	  Allows checking equality of GstStructure without having to create
-	  intermediary GstCaps.
-	  API: gst_structure_is_equal
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629300
-
-2011-05-16 19:09:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  tests: set elements in PAUSED
-	  Set elements in PAUSED before trying to set caps on pads.
-
-2011-05-16 19:05:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstghostpad.c:
-	  test: fix ghostpad test
-	  We need to have activated pads before we can pass around caps.
-	  Don't set NULL caps on pads.
-
-2011-05-16 19:04:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: avoid setting NULL caps on pads
-
-2011-05-16 18:48:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix buffer refcounting
-	  When we fail to allocate an output buffer, set the buffer pointer to NULL or
-	  else the calling function will try to unref it.
-	  Remove some old comments
-
-2011-05-16 18:29:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: allow NULL filters and fix refcounting
-
-2011-05-16 18:12:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: only add the structure when we could set the parent
-
-2011-05-16 17:53:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: fix g_return_* with new query
-
-2011-05-16 17:24:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update list of exported symbols
-
-2011-05-16 16:59:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: handle more formats
-	  Use the segment format instead of a hardcoded _TIME.
-
-2011-05-16 16:57:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: handle more formats
-	  Don't hardcode GST_FORMAT_TIME in places, we can work with many formats.
-
-2011-05-16 16:54:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gstreamer into 0.11
-
-2011-05-16 16:53:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-	  docs/gst/gstreamer-sections.txt
-	  gst/gstbin.c
-	  gst/gstelement.c
-	  gst/gstelement.h
-	  gst/gstghostpad.c
-	  gst/gstminiobject.c
-	  gst/gstminiobject.h
-	  libs/gst/base/gstbasesrc.c
-	  libs/gst/base/gstbasetransform.c
-	  plugins/elements/gstinputselector.c
-	  tests/check/gst/gstminiobject.c
-
-2011-05-16 16:10:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/highlevel-components.xml:
-	  update manual code examples for new _get_caps()
-
-2011-05-13 08:34:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/valve.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	  tests: Update for negotiation related API changes
-
-2011-05-11 15:38:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstvalve.c:
-	  elements: Update for negotiation related API changes
-	  The filter caps are only forwarded and returned instead
-	  of ANY caps in the core elements because they don't do
-	  anything caps specific.
-
-2011-05-11 15:12:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  base: Improve negotiation with new getcaps() filter
-
-2011-05-10 17:56:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  gst: Add a filter caps parameter to all get_caps() functions
-	  This is used to pass the possible caps and preferences to
-	  the pad and to allow better negotiation decisions.
-
-2011-04-19 20:05:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: adjust input data rate estimation
-	  ... being aware of possible initial higher burst rate.
-
-2011-05-13 18:07:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstinfo.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstinfo.c:
-	* tests/check/gst/gstsegment.c:
-	* tests/check/libs/basesrc.c:
-	  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-16 10:25:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Re-implement notify::caps
-
-2011-05-14 14:02:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	  docs: fix up some Since markers and update for new multiqueue args
-
-2011-05-12 16:48:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Don't interprete pipelines without sink elements as always being in EOS state
-	  Some tests (e.g. elements/capsfilter) have pipelines with dangling
-	  sinkpads and without a sink element. These pipelines can never post
-	  an EOS message (because this is only valid by a sink) and as such
-	  should never get an EOS message posted by the bin.
-
-2011-05-12 15:51:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  systemclock: Only retry writing to the socket for EAGAIN, EWOULDBLOCK and EINTR
-	  Fixes infinite loop in some cases, bug #650002.
-
-2011-05-12 09:59:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  miniobject: Add new miniobject weak ref/unref functions to the docs
-
-2011-05-12 09:55:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: Minor cleanup of last commit
-
-2011-05-11 13:09:19 -0400  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* tests/check/gst/gstminiobject.c:
-	  miniobject: Add weak referencing functionality
-	  API: gst_mini_object_weak_ref()
-	  API: gst_mini_object_weak_unref()
-	  Add weak referencing functionality to GstMiniObject, which
-	  allows to get notifications when an mini object is destroyed
-	  but doesn't increase the real refcount. This is mostly
-	  useful for bindings.
-	  Fixes bug #609473.
-
-2011-03-19 10:28:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: Add sync mode that syncs inactive pads to the running time of the active pad
-	  Fixes bug #645017.
-
-2011-03-22 13:19:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Add mode to synchronize deactivated/not-linked streams by the running time
-	  Fixes bug #645107, #600648.
-
-2011-04-18 14:26:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Only post EOS messages after reaching the PLAYING state
-	  Fixes bug #647756.
-
-2011-05-10 16:37:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  element: Add GstElement::state_changed vfunc
-	  API: GstElement::state_changed
-	  This is always called when the state of an element has changed and
-	  before the corresponding state-changed message is posted on the bus.
-
-2011-05-06 16:44:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* win32/common/libgstreamer.def:
-	  ghostpad: Add docs for all the new, public functions
-
-2011-05-06 16:15:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Add guards against invalid parameters to the new, public functions
-
-2011-05-06 16:00:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* win32/common/libgstreamer.def:
-	  ghostpad: Rename ghostpad/proxypad default functions
-	  API: gst_ghost_pad_activate_pull_default
-	  API: gst_ghost_pad_activate_push_default
-	  API: gst_ghost_pad_internal_activate_pull_default
-	  API: gst_ghost_pad_internal_activate_push_default
-	  API: gst_ghost_pad_link_default
-	  API: gst_ghost_pad_setcaps_default
-	  API: gst_ghost_pad_unlink_default
-	  API: gst_proxy_pad_acceptcaps_default
-	  API: gst_proxy_pad_bufferalloc_default
-	  API: gst_proxy_pad_chain_default
-	  API: gst_proxy_pad_chain_list_default
-	  API: gst_proxy_pad_checkgetrange_default
-	  API: gst_proxy_pad_event_default
-	  API: gst_proxy_pad_fixatecaps_default
-	  API: gst_proxy_pad_getcaps_default
-	  API: gst_proxy_pad_getrange_default
-	  API: gst_proxy_pad_iterate_internal_links_default
-	  API: gst_proxy_pad_query_default
-	  API: gst_proxy_pad_query_type_default
-	  API: gst_proxy_pad_setcaps_default
-
-2011-05-06 15:50:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	  ghostpad: Make all the internal caps functions public
-	  This is useful if ghostpad/proxypads should be used but
-	  additional code should be executed, e.g. for tracking
-	  segments in the event function.
-
-2011-05-06 15:25:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Only implement the iterate_internal_links function on proxypads
-	  ghostpads inherit it from their parent class. Also make it threadsafe.
-
-2011-05-06 15:16:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstghostpad.h:
-	* tests/check/gst/gstghostpad.c:
-	* win32/common/libgstreamer.def:
-	  ghostpad: API: Expose gst_proxy_pad_get_internal()
-	  This allows to get the internal pad of ghostpads and
-	  proxypads without using gst_pad_iterate_internal_links()
-	  and is much more convenient.
-	  The internal pad of a ghostpad is the pad of the opposite direction
-	  that is used to link to the ghostpad target.
-
-2011-05-05 17:54:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: When trying to fixate the sink suggestion prefer its structure order
-
-2011-05-05 11:28:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Merge structures when intersecting instead of appending them
-	  This prevents adding duplicates over and over again to the resulting
-	  caps if they already describe the new intersection result.
-	  While this changes intersection from O(n*m) to O(n^2*m), it results in
-	  smaller caps, which in the end will decrease further processing times.
-	  For example in an audioconvert ! audioconvert ! audioconvert pipeline,
-	  when forwarding the downstream caps preference in basetransform
-	  (see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
-	  16 instead of 191 caps structures.
-
-2011-05-04 11:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: In getcaps() prefer the caps order and caps of downstream if possible
-
-2011-05-03 17:26:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Prefer caps order given by the subclass of the template caps order
-
-2011-04-20 22:52:36 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>
-
-	* gst/parse/types.h:
-	* tests/check/pipelines/parse-launch.c:
-	  parse: don't unescape inside quotes
-	  Escaped characters inside quoted strings are supposed to be unescaped by
-	  deserialization functions, not by parsing functions.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648025
-
-2011-04-18 10:04:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Remove unnecessary FIXME
-	  Resetting the result is not necessary when resyncing because
-	  pads that previously got the event will be skipped and we
-	  need to consider the results of the previous pushes.
-
-2011-04-18 09:53:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: If activating one pad failed error out early instead of trying to activate the next pads
-	  If one pad fails to activate the complete activation process will fail
-	  anyway and trying to activate the other pads only wastes time.
-
-2011-04-18 09:49:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: If activating one pad failed error out early instead of trying to activate the next pads
-	  If one pad fails to activate the complete activation process will fail
-	  anyway and trying to activate the other pads only wastes time.
-
-2011-05-14 09:31:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development
-
-=== release 0.10.34 ===
-
-2011-05-14 01:00:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.34
-
-2011-05-13 08:38:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstmeta.c:
-	  meta: Fix compilation of the unit test after removal of the serialize/deserialize functions
-
-2011-05-04 15:31:56 +0300  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: do not set first buffer timestamp to 0 for live sources
-	  Doing so avoids a large timestamp gap between first and second buffer
-	  for live sources which take time to start up.
-	  The first buffer now has a "live" timestamp based on the running time,
-	  as other buffers do.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=649369
-
-2011-05-11 19:10:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: remove (de)serialize functions
-	  Add a GType to the metadata to identify the GstMetaInfo.
-	  We can remove the (de)serialize functions for the metadata because we can
-	  register GTtype transform functions between various types to implement
-	  serialization later.
-
-2011-05-11 18:17:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: more cleanups
-	  gst_structure_get_type() -> _gst_structure_type to avoid method calls for
-	  getting the GType that initialized at the start.
-	  Hide some structure fields in private data so that we can change the
-	  implementation.
-	  Move structure equality check from caps.c to structure.c where it belongs.
-
-2011-05-11 18:07:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: remove obsolete code
-	  Remove some obsolete code.
-	  Don't try to reconfigure when we don't have sink caps.
-
-2011-05-11 16:46:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Dereference GstQuery** before passing it to GST_QUERY_TYPE_NAME
-
-2011-05-11 16:03:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: update the structure when needed
-	  When we get the structure of an event, make sure it also contains the fields
-	  that we keep in fast variables, this way we can easily serialize and debug
-	  the events. We would probably later simply prefer to register a transform
-	  function to G_TYPE_STRING and G_TYPE_BYTEARRAY etc..
-
-2011-05-11 16:01:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: cleanups
-	  We don't need to check if the type is 0, the init function is only called once
-	  in the beginning.
-
-2011-05-11 12:04:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	  event: clean up some macros
-	  Avoid executing a method for GST_TYPE_EVENT but instead use the type variable
-	  directly. We can do this because we register it before anything else.
-
-2011-05-11 15:48:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Fix GST_DEBUG parameters to be consistent with the format string
-
-2011-05-11 15:26:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Implement support for pad reconfiguration again
-
-2011-05-11 15:18:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Fix deadlock, gst_pad_get_current_caps() already takes the pad's object lock
-
-2011-05-11 11:06:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* tests/check/gst/gstevent.c:
-	  event: example of how to optimize events
-	  Use a structure for the QoS event by 'extending' the GstEventImpl structure.
-	  This should avoid allocation of GstStructures and its contents.
-
-2011-05-10 11:11:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: ensure thread safety when adding a pad
-	  This seems to be a regression, and was causing crashes.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=649878
-
-2011-05-10 18:36:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/fdsrc.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/gst/gstquery.c:
-	  query: allow _make_writable on query handlers
-	  Pass a GstQuery ** to the query handlers so that they can make the query
-	  writable before using a setter on it.
-	  Port code to new API.
-
-2011-05-10 16:46:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting doc
-
-2011-05-10 16:41:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gsttee.c:
-	  element: use request_new_pad_full as the default
-	  Add GstCaps to request_new_pad so that request_new_pad_full can be removed.
-	  Fix elements.
-
-2011-05-10 16:23:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting doc
-
-2011-05-10 15:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: make sure query is writable
-	  Make sure the Query is writable before executing the setters.
-
-2011-05-10 15:33:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* tests/check/gst/gstquery.c:
-	  query: Hide GstStructure in queries
-	  Hide the GstStructure from the query API.
-	  Rename some methods to match the more common names in GObject libraries.
-	  Add some more useful query API.
-
-2011-05-10 13:34:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstinfo.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* plugins/elements/gstfakesink.c:
-	  message: hide the message structure field
-	  Make a private structure to hold the GstStructure bits of the message.
-	  Add some more useful macros like we have for events.
-
-=== release 0.10.33 ===
-
-2011-05-10 08:55:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.33
-	  Highlights:
-	  - new parser base class: GstBaseParse
-	  - new core element: funnel
-	  - OSX multi-arch fixes
-	  - new QoS type for QoS events
-	  - new progress message API to notify applications of asynchronous operations
-	  - countless other fixes and improvements
-
-2011-05-10 12:29:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.h:
-	  caps: fix the macros a little
-
-2011-05-10 11:50:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstinfo.c:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  event: Hide the GstStructure
-	  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-09 18:48:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstevent.c:
-	  event: _qos_full -> _qos
-
-2011-05-09 17:51:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gstevent.c:
-	* tests/check/gst/gstinfo.c:
-	* tests/check/gst/gstsegment.c:
-	* tests/check/libs/basesrc.c:
-	  segment: remove _full version
-	  Rename the _full versions of the functions to the normal function names.
-
-2011-05-09 16:39:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* libs/gst/base/gstbasesink.c:
-	* plugins/elements/gstinputselector.c:
-	  segment: remove abs_rate from segment structure
-	  Remove the abs_rate field from the segment structure, we can trivially compute
-	  it when needed.
-
-2011-05-09 16:21:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/libs/transform1.c:
-	  caps: remove caps from buffers and pads
-	  Remove the GstCaps from buffers and pads. We now use CAPS events to negotiate
-	  formats between element.
-
-2011-05-09 15:06:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Use CAPs event
-	  Use the caps event to configure basetransform.
-	  Remove force_alloc hack, we don't need this in 0.11 with new upstream
-	  negotiation.
-	  Avoid getting some pad caps.
-
-2011-05-09 15:06:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add some more debug
-
-2011-05-08 11:02:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Add new symbols
-
-2011-05-08 11:01:57 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: Fix unitialized variables
-
-2011-05-09 10:54:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  tools: avoid using pad caps
-	  Avoid directly accessing the pad caps, use gst_pad_get_current_caps() instead.
-
-2011-05-08 13:14:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-05-08 13:07:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use CAPS event instead of setcaps function
-
-2011-05-08 12:46:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstpad.c:
-	* tools/gst-launch.c:
-	  base: avoid using buffer caps
-	  Comment all code using buffer caps.
-	  Rework capsfilter code a little.
-	  Fix some unit tests
-
-2011-05-08 12:43:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve caps event handling
-	  Fix replace of caps events when linking: we need to unref the old ones.
-	  Make sure we pass error values around.
-	  Move backward compat code into the default handler for now.
-
-2011-05-08 12:38:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: don't ref the caps
-	  Use a different way of getting the caps from the caps event so that no
-	  refcounting happens.
-
-2011-05-08 12:37:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: avoid using buffer caps
-
-2011-05-06 23:40:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't post loads of empty taglists
-	  Only post bitrate updates if there's something to post, don't
-	  post empty taglists if nothing changed.
-
-2011-05-06 19:04:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  pad: avoid using the old GST_PAD_CAPS
-	  Don't use GST_PAD_CAPS but instead use the new gst_pad_get_current_caps()
-	  method.
-	  Avoid setting caps on buffers.
-
-2011-05-06 19:03:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add 2 new caps methods
-	  Add method to get the currently configured caps on the pad.
-	  Add a method to check if caps are configured on a pad.
-
-2011-05-06 17:59:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  pad: implement fixed caps with an object flag
-	  Implement fixed caps with an object flag instead of a custom getcaps function.
-
-2011-05-06 17:30:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't use buffer caps for negotiation
-	  Don't use the buffer caps for negotiation anymore but use the CAPS events.
-	  Make the _set_caps method produce the CAPS event, add some backward
-	  compatibility code to trigger the setcaps functions on src and sinkpads.
-	  Remove all negotiation code from the chain functions.
-	  Don't use the GST_PAD_CAPS variable anymore to store the caps but retrieve the
-	  caps from the sticky event array.
-
-2011-05-06 16:14:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  selector: don't unset caps
-
-2011-05-06 16:14:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: don't unset caps
-
-2011-05-06 16:13:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  check: let the normal code unset caps
-
-2011-05-06 16:11:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: handle NULL pads in some cases
-
-2011-05-06 16:11:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: let the pad clean up in activate
-
-2011-05-06 15:55:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: don't mess with pad caps in activate
-	  When deactivating a pad, let the pad decide what fields to clear.
-
-2011-05-06 15:51:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: only allow fixed caps in caps event
-
-2011-05-06 13:01:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: Improve documentation of gst_event_new_reconfigure()
-
-2011-05-06 12:23:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting doc
-
-2011-05-06 12:19:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* libs/gst/base/gstbasesink.c:
-	* win32/common/libgstreamer.def:
-	  element: rename gst_element_lost_state_full()
-	  Rename gst_element_lost_state_full() to gst_element_lost_state() and
-	  remove the old method name.
-
-2011-05-06 12:09:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: clean up the .h file a bit
-
-2011-05-06 11:14:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  pad: implement more sticky events
-	  Remove the context again, adding an extra layer of refcounting and object
-	  creation to manage an array is too complicated and inefficient. Use a simple
-	  array again.
-	  Also implement event updates when calling gst_pad_chain() and
-	  gst_event_send_event() directly.
-
-2011-05-06 11:35:36 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  info: avoid redefinition of symbols when debugging is off
-	  The refactoring of gst_debug_add_log_function() now causes build failure when
-	  debug-logging is turned off. Just move it to the conditional part of the header.
-
-2011-05-06 11:00:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: reorder events
-	  Reorder the sticky events so that they are in the order they should be pushed.
-
-2011-05-05 19:24:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: simplify some more
-	  If we get a context in the chain functions we always need to do a full update of
-	  the context on the peer pad.
-
-2011-05-05 18:56:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve context passing some more
-	  Pass the context downstream when it got updated.
-	  Have two ways of informing downstream of events, do a full context update when
-	  the CONTEXT_PENDING flag is set and simply forward the event otherwise.
-	  Set the CONTENT_PENDING flag when linking pads.
-	  We don't need to old context anymore when updating the context of a pad.
-
-2011-05-05 18:21:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Don't get the parent twice in the setcaps function
-
-2011-05-05 16:59:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Fix refcount leak of the parent in the default event dispatch function
-
-2011-05-05 16:32:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: improve passing around the context
-	  Improve passing around the context, only send the context to the peer element
-	  when the CONTEXT_PENDING flag is set.
-
-2011-05-05 16:05:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update exports
-
-2011-03-17 11:52:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstiterator.c:
-	  tests: Update for new GstIterator API
-
-2011-03-17 11:32:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  docs/def: Add new symbols, remove old symbols
-
-2011-03-17 11:32:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gsttee.c:
-	  elements: Update everything for the new GstIterator API
-
-2011-03-17 11:31:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstquery.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	  gst: Update everything for the new GstIterator API
-
-2011-03-16 10:50:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	* gst/gstplugin.c:
-	  iterator: Refactor GstIterator to be more binding friendly and have saner refcounting
-	  Fixes bug #638987.
-
-2011-01-08 12:27:55 -0200  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	  iterator: register as a boxed type
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638987
-
-2011-01-08 12:14:40 -0200  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstiterator.c:
-	  iterator: use GSlice
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638987
-
-2011-01-08 12:12:41 -0200  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstbin.c:
-	* gst/gstiterator.c:
-	  iterator: free struct in gst_iterator_free
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638987
-
-2011-01-08 12:07:55 -0200  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	  iterator: store size in the struct
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638987
-
-2011-05-05 11:28:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  caps: Merge structures when intersecting instead of appending them
-	  This prevents adding duplicates over and over again to the resulting
-	  caps if they already describe the new intersection result.
-	  While this changes intersection from O(n*m) to O(n^2*m), it results in
-	  smaller caps, which in the end will decrease further processing times.
-	  For example in an audioconvert ! audioconvert ! audioconvert pipeline,
-	  when forwarding the downstream caps preference in basetransform
-	  (see e26da72de25a91c3eaad9f7c8b2f53ba888a0394) this results in
-	  16 instead of 191 caps structures.
-
-2011-05-04 11:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: In getcaps() prefer the caps order and caps of downstream if possible
-
-2011-05-03 17:26:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Prefer caps order given by the subclass of the template caps order
-
-2011-05-03 14:13:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Use the reconfigure flag on the pad instead of the event
-
-2011-05-03 14:11:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Use new reconfigure flag on the pads instead of the reconfigure event
-
-2011-05-03 13:42:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Keep track of reconfigure events and the pad-needs-reconfiguring status
-
-2011-05-03 13:05:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  event: Rename renegotiate event to reconfigure
-	  In 0.11 this event will also do reconfiguration of buffer pools
-	  and similar things, not just renegotiation.
-
-2010-03-17 21:24:55 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Send renegotiate event on link
-
-2010-03-17 21:17:10 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Drop renegotiate event if there is no getcaps function on a sink pad
-	  If there is no custom getcaps function on a sink pad, then changes in
-	  downstream caps will never be propagated, so there is no point in trying to
-	  renegotiate the capabilities.
-
-2011-04-26 16:39:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Only renegotiate once after receiving a renegotiate event
-	  Also make this threadsafe.
-
-2011-01-17 14:13:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Handle the new renegotiate event
-	  Makes basesrc handle the new renegotiate event by using a
-	  renegotiate flag.
-
-2011-04-26 16:48:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Also call gst_base_transform_reconfigure() on renegotiate events
-
-2011-01-17 14:13:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Handle the new renegotiate event
-	  Let basetransform push a renegotiate event upstream
-	  when it gets a new suggestion
-
-2011-01-17 11:51:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  event: Adding new renegotiate event
-
-2011-05-05 13:10:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: pass the context around
-	  Pass the context from srcpad to sinkpad before dataflow when something
-	  changed.
-
-2011-05-05 11:17:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: update the context lazyly
-
-2011-05-05 11:16:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: init the GType early
-
-2011-05-05 11:16:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2011-05-05 10:40:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	  context: add foreach function
-	  Add a function to iterate over all stored events.
-
-2011-05-05 10:37:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/transform1.c:
-	* tools/gst-launch.c:
-	  Revert "context: use context on buffers instead of caps"
-	  This reverts commit 9ef1346b1fa0bd2bb42cd991a52ff308a728bdb6.
-	  Way to much for one commit and I'm not sure we want to get rid of the pad caps
-	  just like that. It's nice to have the buffer and its type in onw nice bundle
-	  without having to drag the complete context with it.
-
-2011-04-20 22:52:36 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>
-
-	* gst/parse/types.h:
-	* tests/check/pipelines/parse-launch.c:
-	  parse: don't unescape inside quotes
-	  Escaped characters inside quoted strings are supposed to be unescaped by
-	  deserialization functions, not by parsing functions.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648025
-
-2011-04-18 14:26:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Only post EOS messages after reaching the PLAYING state
-	  Fixes bug #647756.
-
-2011-04-18 10:04:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Remove unnecessary FIXME
-	  Resetting the result is not necessary when resyncing because
-	  pads that previously got the event will be skipped and we
-	  need to consider the results of the previous pushes.
-
-2011-04-18 09:53:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: If activating one pad failed error out early instead of trying to activate the next pads
-	  If one pad fails to activate the complete activation process will fail
-	  anyway and trying to activate the other pads only wastes time.
-
-2011-04-18 09:49:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: If activating one pad failed error out early instead of trying to activate the next pads
-	  If one pad fails to activate the complete activation process will fail
-	  anyway and trying to activate the other pads only wastes time.
-
-2011-05-05 12:28:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Remove nowadays unused and uninitialized setcaps variable
-
-2011-05-05 12:27:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  docs/gst/gstreamer-sections.txt
-	  gst/gstelementfactory.c
-	  gst/gstminiobject.c
-
-2011-05-04 18:59:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/check/gstcheck.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/elements/selector.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/transform1.c:
-	* tools/gst-launch.c:
-	  context: use context on buffers instead of caps
-	  Put the srcpad context on buffers instead of caps. This allows us to associate
-	  all the relevant info contained in events with a buffer.
-
-2011-05-04 15:29:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstminiobject.c:
-	  tests: fix compiler warning in new miniobject test
-	  gst/gstminiobject.c: In function ‘test_dup_null_mini_object’:
-	  gst/gstminiobject.c:459:7: warning: assignment from incompatible pointer type
-
-2011-05-04 15:53:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcontext.h:
-	* gst/gstevent.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: use the context to store sticky events
-	  Store the sticky events in the context of a source pad.
-
-2011-05-04 15:20:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gstcontext.c:
-	* gst/gstcontext.h:
-	* gst/gstevent.h:
-	  context: add helper object to manage events
-	  Add a helper object to manage the events that define the context of a buffer and
-	  a stream.
-
-2011-05-04 11:07:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2011-05-04 11:03:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  event: add new CAPS event
-	  Add a new CAPS event that will be used to negotiate downstream elements. It'll
-	  also stick on pad so that we can remove the GstCaps field on pads and the
-	  GstCaps field on buffers.
-
-2011-05-03 18:58:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: more sticky events work
-	  Copy the sticky events from the srcpad to the sinkpad when linking pads. Set the
-	  STICKY_PENDING flag to make sure that the sticky events are dispatched before
-	  pushing the next buffer to the element.
-
-2011-05-03 16:11:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: improve porting doc
-
-2011-05-02 18:45:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting document
-
-2011-05-02 11:30:06 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	* tests/check/gst/gstminiobject.c:
-	  miniobject: Fix dup_mini_object function to handle NULL gvalues
-	  g_value_dup_object handles gvalues that contain NULL pointers,
-	  gst_value_dup_mini_object should do the same.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=649195
-
-2011-05-03 13:55:43 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  docs: it its %TRUE (constant)
-	  As spotted by Tim.
-
-2011-05-02 16:22:56 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	  docs: fix copy'n'paste doc header mistake
-
-2011-05-02 16:20:24 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.h:
-	* gst/gstpluginfeature.h:
-	  docs: add two trivial doc blobs
-
-2011-05-02 16:03:29 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  docs: add missing parameter docs
-
-2011-05-02 16:00:52 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/dataprotocol/dataprotocol.h:
-	  docs: add docs for GstDPPacketizer
-
-2011-05-02 15:52:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.h:
-	  docs: improve the syntax for the capsintersectmode docs
-
-2011-05-02 15:48:01 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: fixup broken xref
-
-2011-05-02 15:46:59 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: add new api to -section.txt
-
-2011-05-02 15:35:52 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstatomicqueue.h:
-	  docs: fix gtk-doc syntax
-
-2011-05-02 15:30:13 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfunnel.c:
-	  docs: don't duplicate info that we take from element-details
-
-2011-04-28 15:37:02 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: remove non existing symbol
-
-2011-04-28 15:05:28 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbufferlist.c:
-	* gst/gstsystemclock.h:
-	  docs: we don't need to document private members in opaque structs
-
-2011-04-29 13:43:07 +0200  Philippe Normand <pnormand@igalia.com>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstpreset.c:
-	* gst/gstregistry.c:
-	* tests/check/gst/gstpreset.c:
-	  core: store presets, registry and plugins in XDG directories.
-	  Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/
-	  root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.
-	  Fixes bug #518597.
-
-2011-05-03 09:41:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-	  gst/gstbus.c
-
-2011-05-02 18:34:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstinfo.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  event: add sticky flags to events
-	  Add the sticky flag to events and a sticky index.
-	  Keep sticky events in an array on each pad.
-	  Remove GST_EVENT_SRC(), it is causing refcycles with sticky events, was not used
-	  and is not very interesting anyway.
-
-2011-05-02 11:09:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: improve allocation parameters query
-	  Use the same parameters as those used for the bufferpool. Make sure we can pass
-	  a minimum and maximum amount of buffers needed.
-
-2011-04-30 16:55:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* docs/plugins/inspect/plugin-staticelements.xml:
-	* po/de.po:
-	* po/fr.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.32.4 pre-release
-
-2011-04-29 23:44:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginfeature.h:
-	  pluginfeature: include plugin.h in header where we use a GstPlugin pointer
-	  Should fix issue with gstreamermm build where <gst/gstindex.h> is included
-	  directly instead of gst/gst.h.
-
-2011-04-29 13:42:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  transform: do pad_alloc fallback correctly
-
-2011-04-29 13:26:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasetransform.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gstvalve.c:
-	* tests/check/elements/funnel.c:
-	* tests/check/elements/tee.c:
-	* tests/check/elements/valve.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	* win32/common/libgstreamer.def:
-	  Remove pad_alloc, this can now be done better
-	  Remove pad_alloc and all references. This can now be done more efficiently and
-	  more flexible with the ALLOCATION query and the bufferpool objects. There is no
-	  reverse negotiation yet but that will be done with an event later.
-
-2011-04-29 12:11:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: init the ALLOCATION query correctly
-	  Don't add the 'pool' property instead of adding it with a NULL array.
-
-2011-04-29 10:50:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: fix parsing of the ALLOCATION query
-	  Add methods for parsing the caps and the need_pool boolean.
-
-2011-04-28 16:20:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  query: fix typo in method name and improve docs
-	  Fixed typo in method name and add/improve the docs.
-
-2011-04-28 15:31:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-allocation.txt:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* win32/common/libgstreamer.def:
-	  bufferpool: add query to request pool and configuration
-	  Add a query to request allocation parameters and optionally a bufferpool as
-	  well. This should allow elements to discover downstream capabilities and also
-	  use the downstream allocators.
-
-2011-04-27 18:10:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: fix timeout handling
-
-2011-04-27 17:56:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-bufferpool.txt:
-	* gst/gstbufferpool.c:
-	  bufferpool: fix some docs
-
-2011-04-27 17:55:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  event: improve argument names of segments
-
-2011-04-27 11:49:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* po/bg.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.32.3 pre-release
-
-2011-04-26 15:42:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  Revert lockfree GstBus for the release
-	  Drop in old GstBus code for the release to play it safe, since
-	  regressions that are apparently hard to track down and reproduce
-	  have been reported (on windows/OSX mostly) against the lockfree
-	  version, and more time is needed to fix them.
-	  This reverts commit 03391a897001d35d1d290f27dd12e98a8b729fb4.
-	  This reverts commit 43cdbc17e6f944cdf02aeed78d1d5f6bde5190c9.
-	  This reverts commit 80eb160e0f62350271f061daa5f289d9d4277cf4.
-	  This reverts commit c41b0ade28790ffdb0e484b41cd7929c4e145dec.
-	  This reverts commit 874d60e5899dd5b89854679d1a4ad016a58ba4e0.
-	  This reverts commit 79370d4b1781af9c9a65f2d1e3498124d8c4c413.
-	  This reverts commit 2cb3e5235196eb71fb25e0a4a4b8749d6d0a8453.
-	  This reverts commit bd1c40011434c1efaa696dc98ef855ef9cce9b28.
-	  This reverts commit 4bf8f1524f6e3374b3f3bc57322337723d06b928.
-	  This reverts commit 14d7db1b527b05f029819057aef5c123ac7e013d.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=647493
-
-2011-04-25 11:10:47 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstformat.c:
-	* gst/gstparse.c:
-	* gst/gstquery.c:
-	* gst/gsttagsetter.c:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbaseparse.c:
-	  Small cosmetic cleanups
-	  Make sure the return values from g_return_* are of the right type.
-
-2011-04-25 10:56:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix mixing of return values
-
-2011-04-25 10:30:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-15 22:00:11 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstutils.c:
-	  minor inline documentation fix
-
-2011-04-24 14:02:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From c3cafe1 to 46dfcea
-
-2011-04-24 11:44:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  tests: clean up properly in the bin test_link_structure_change unit test
-	  Don't forget to set the pipeline back to NULL state, which makes
-	  valgrind happy again.
-
-2011-04-24 09:58:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: when removing a cached-but-no-longer-existing plugin, only remove features that belong to it
-	  When a plugin file no longer exists, e.g. because it's been removed or
-	  renamed, don't remove all features in the registry based on the *name*
-	  of the plugin they belong to, but only remove those who actually belong
-	  to that particular plugin (object/pointer).
-	  This fixes issues of plugin features disappearing when a plugin .so file
-	  is renamed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=604094
-
-2011-04-24 09:53:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstregistrychunks.c:
-	* gst/gsttypefind.c:
-	  pluginfeature: store pointer to plugin in addition to the plugin name
-	  So we can reliably remove plugin features for a specific plugin later.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=604094
-
-2011-04-24 11:05:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: use TRACE log level to log files that don't look like plugins
-	  Cuts down the noise in uninstalled setups.
-
-2011-04-19 20:35:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix negotiation regression
-	  Fixup patch for 83597767b169dd6c39a07b6144a650c1f098825a
-	  Use a separate variable for knowing if a pad alloc has been made
-	  instead of checking for the flow return that might not be the
-	  result of the pad alloc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648220
-
-2011-04-21 12:33:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: add simple pipeline-in-pipeline unit test
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648297
-
-2011-04-20 15:39:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: also allow popping a message without timeout if no poll available
-	  ... which happens in particular flushing a bus, possibly as part
-	  of a state change, e.g. when having a pipeline in a pipeline
-	  and then changing state back to NULL. The interior pipeline
-	  will/might then flush the bus, which is a child bus from the
-	  parent which does not have a poll anymore these days.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648297
-
-2011-04-20 19:08:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2011-04-20 19:03:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: remove unused variable
-
-2011-04-20 19:00:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: don't touch base_time or clock in state change
-	  Don't touch the base_time or the clock when setting an element to the READY or
-	  NULL state. It is the parent that will manage this for us.
-
-2011-04-19 20:52:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: Implement gst_buffer_list_foreach()
-
-2011-04-19 19:30:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-19 18:57:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: add method to compare buffer data
-	  Add method to compare the data in a buffer.
-
-2011-04-19 16:21:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-
-2011-04-19 14:05:23 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* gst/gstpad.c:
-	  pad: unlock before freeing the cache to avoid deadlock
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648199
-
-2011-04-14 10:15:26 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: don't unref trans until the function is done using it
-	  trans->priv->force_alloc = FALSE would crash if the ref held is the last
-	  https://bugzilla.gnome.org/show_bug.cgi?id=648215
-
-2011-04-19 13:23:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstindex.c:
-	  docs: add note/warning to gst_index_get_writer_id() docs about the OBJECT_LOCK
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646811
-
-2011-04-19 13:05:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: don't deadlock when setting external index
-	  Protect index with its own lock. gst_index_get_writer_id() may take
-	  the object lock internally (the default resolver, GST_INDEX_RESOLVER_PATH,
-	  will anyway), so if we're using that to protect the index as well,
-	  we'll deadlock.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646811
-
-2011-04-19 11:51:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make fmtlist constant
-
-2011-04-19 11:48:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  query: const-ify formats arguments to gst_query_set_formatsv()
-
-2011-04-18 18:19:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/fakesink.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/pipelines/parse-launch.c:
-	  tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-04-18 18:19:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base{sink,src}: Don't try to fixate ANY caps
-
-2011-04-18 18:07:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	  elements: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-04-18 17:33:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  net: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-04-18 17:32:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstpushsrc.c:
-	  base: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-04-18 17:28:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstutils.h:
-	  utils: Remove GST_BOILERPLATE and friends
-
-2011-04-18 10:47:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Make the size parameter of gst_pad_alloc_buffer() unsigned
-	  Internally guints were used everywhere already.
-
-2011-04-18 10:41:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Don't allow fixating ANY caps and remove FIXME
-
-2011-04-18 10:36:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstbin.c:
-	  bin: Enable DURATION query caching
-	  Elements must now post a DURATION message on the bus if they
-	  change the duration in PAUSED or PLAYING.
-
-2011-04-16 15:20:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  docs: remove reference to baseparse API that didn't make it
-
-2011-04-16 16:06:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-16 15:28:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstelement.c:
-	  element: Add test for inheriting metadata/pad templates
-
-2011-04-16 15:24:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base: Update docs to say class_init instead of base_init
-	  And remove a useless base_init in basesrc
-
-2011-04-16 15:23:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  net: Use G_DEFINE_TYPE
-
-2011-04-16 15:23:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstpipeline.c:
-	  gst: Don't use base_init and use G_DEFINE_TYPE instead of GST_BOILERPLATE
-
-2011-04-16 15:03:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstelement.c:
-	* gst/gstpadtemplate.c:
-	  element: Inherit element metadata and pad templates from parent classes
-	  This allows to add pad templates and set metadata in class_init instead of
-	  base_init. base_init is a concept that is not supported by almost all
-	  languages and copying the templates/metadata for subclasses is the more
-	  intuitive way of doing things.
-	  Subclasses can override pad templates of parent classes by adding a new
-	  template with the same now.
-	  Also gst_element_class_add_pad_template() now takes ownership of the
-	  pad template, which was assumed by all code before anyway.
-	  Fixes bug #491501.
-
-2011-04-16 14:56:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  0.10.32.2 pre-release
-
-2011-04-16 14:54:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations
-
-2011-04-16 14:52:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: remove newline from translatable string
-
-2011-04-16 13:49:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  gst: gobject-introspection scanner doesn't need to scan or update plugin info
-
-2011-04-16 14:34:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  gst: make sure gobject-introspection scanner calls gst_init()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=647922
-
-2011-04-16 10:45:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/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 10:33:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: make sure gobject-introspection scanner calls gst_init()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=647922
-
-2011-04-16 10:17:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: add new baseparse API to libgstbase.def
-
-2011-04-16 09:33:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-16 09:32:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Add exports for the GstParseContext and GstBufferListIterator types
-
-2011-04-16 08:59:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-15 20:58:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: only run gst-plugin-scanner with /usr/bin/arch wrapper on OS X >= 10.5
-	  Based on patch by: Daniel Macks <dmacks@netspace.org>
-	  Earlier versions of OSX don't support proper multiarch and
-	  trying to use /usr/bin/arch -foo with those versions would
-	  just break things.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=615357
-
-2011-04-15 19:07:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: expose gst_base_parse_frame_free() for completeness
-	  API: gst_base_parse_frame_free()
-
-2011-04-15 18:52:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: init frames on the stack with gst_base_parse_frame_init()
-	  Frames must now be inited this way, can't just zero them
-	  out and use them.
-
-2011-04-15 18:38:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: more debug logging, minor clean-up
-	  Trace frames, split out code to queue a frame for later.
-
-2011-04-15 18:00:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: change gst_base_parse_frame_init() to not take a GstBaseParse argument
-
-2011-04-15 17:41:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: make GstBaseParseFrame handling more bindings-friendly
-	  Change semantics of gst_base_parse_push_frame() and make it take
-	  ownership of the whole frame, not just the frame contents. This
-	  is more in line with how gst_pad_push() etc. work. Just transfering
-	  the content, but not the container of something that's not really
-	  known to be a container is hard to annotate properly and probably
-	  won't work. We mark frames allocated on the stack now with a private
-	  flag in gst_base_parse_frame_init(), so gst_base_parse_frame_free()
-	  only frees the contents in that case but not the frame struct itself.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-	  API: gst_base_parse_frame_new()
-
-2011-04-15 15:02:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: register boxed type for GstBaseFrameParse
-	  To make this usable for bindings.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-15 13:57:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Add missing ) to the ring-buffer-max-size property description
-
-2011-04-15 10:53:56 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: Remove unused but set variable
-	  GCC 4.6.0 spits warnings about these.
-
-2011-04-14 16:06:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  bufferlist: Add boxed type for GstBufferListIterator for gobject-introspection
-
-2011-04-14 15:59:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstparse.c:
-	* gst/gstparse.h:
-	  parse: Add boxed type for GstParseContext for gobject-introspection
-
-2011-04-14 15:51:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstfilter.c:
-	* gst/gstinterface.c:
-	* gst/gstiterator.c:
-	* gst/gstminiobject.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gstutils.c:
-	  gst: Add some more gobject-introspection annotations
-
-2011-04-14 09:07:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't leak the sinkpad name
-
-2011-04-14 09:07:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Don't leak pads in the named pads unit test
-
-2011-04-14 08:59:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Fix caps leaks in gst_element_factory_can_accept_{any,all}_caps_in_direction()
-
-2011-04-13 09:20:13 -0700  David Schleef <ds@schleef.org>
-
-	* gst/parse/parse.l:
-	* tests/check/pipelines/parse-launch.c:
-	  parser: Allow element names to begin with digits
-
-2011-04-13 10:24:33 -0700  David Schleef <ds@schleef.org>
-
-	* tests/check/gst/gstutils.c:
-	  tests: Add test for greatest common divisor
-
-2011-01-06 18:11:31 +0100  Ole André Vadla Ravnås <oravnas@cisco.com>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttee.c:
-	  elements: 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-01-06 18:11:31 +0100  Ole André Vadla Ravnås <oravnas@cisco.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	  base: 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-01-06 18:11:31 +0100  Ole André Vadla Ravnås <oravnas@cisco.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: 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-04-13 17:26:54 +0200  Janne Grunau <janne.grunau@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: prevent calculation with GST_CLOCK_TIME_NONE in update_time_level()
-
-2011-04-11 15:08:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/multiqueue.c:
-	* tests/check/elements/queue2.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/test_transform.c:
-	  tests: fix unusued-but-assigned-variable warnings with gcc 4.6
-
-2011-04-11 13:04:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  tests: disable test_many_bins unit test for now
-	  It fails on the OSX bot (both with git and the last release), and
-	  it doesn't really test anything useful, so may just as well disable
-	  it for now.
-
-2011-04-11 12:51:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: fix compiler warnings
-	  Cast string constants to make compiler happy.
-
-2011-04-11 12:04:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  tests: allow more time for the test_many_bins pipeline to preroll
-	  Hopefully makes this test work on the OSX build bot and other
-	  not-so-powerful machines.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646624
-
-2011-04-11 11:29:00 +0100  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: make sure gst-plugin-scanner is called with the right arch on OSX
-	  On OSX, GStreamer might be built as a 'fat/universal' binary containing
-	  both 32-bit and 64-bit code. We must take care that gst-plugin-scanner
-	  is executed with the same architecture as the GStreamer core, otherwise
-	  bad things may happen and core/scanner will not be able to communicate
-	  properly.
-	  Should fix issues with (32-bit) firefox using a 32-bit GStreamer core
-	  which then spawns a 'universal' gst-plugin-scanner binary which gets
-	  run in 64-bit mode, causing 100% cpu usage / busy loops or just hanging
-	  firefox until killed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=615357
-
-2011-04-11 11:05:24 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Allow tracking of buffers in GST_SCHEDULING debug output
-	  As GST_SCHEDULING reports when buffers pass through pads due to
-	  gst_pad_push calls, they are a good way of tracking the progress of
-	  buffers through pipelines. As such, adding output of the buffer pointers
-	  to these messages allows tracking of specific buffers, easing debugging.
-
-2011-04-11 10:53:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: port to 0.11
-
-2011-04-11 10:26:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  android/base.mk
-	  android/controller.mk
-	  android/dataprotocol.mk
-	  android/elements.mk
-	  android/gst-inspect.mk
-	  android/gst-launch.mk
-	  android/gst-plugin-scanner.mk
-	  android/gst.mk
-	  android/indexers.mk
-	  android/net.mk
-	  win32/common/libgstbase.def
-
-2011-04-11 10:20:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add FIXME
-
-2011-01-27 14:33:08 +0100  Alessandro Decina <alessandro.d@gmail.com>
-
-	* .gitignore:
-	* Android.mk:
-	* android/NOTICE:
-	* android/base.mk:
-	* android/controller.mk:
-	* android/dataprotocol.mk:
-	* android/elements.mk:
-	* android/gst-inspect.mk:
-	* android/gst-launch.mk:
-	* android/gst-plugin-scanner.mk:
-	* android/gst.mk:
-	* android/gst/gstconfig.h:
-	* android/gst/gstenumtypes.c:
-	* android/gst/gstenumtypes.h:
-	* android/gst/gstmarshal.c:
-	* android/gst/gstmarshal.h:
-	* android/gst/gstversion.h:
-	* android/gst/parse/grammar.output:
-	* android/gst/parse/grammar.tab.c:
-	* android/gst/parse/grammar.tab.h:
-	* android/gst/parse/lex._gst_parse_yy.c:
-	* android/indexers.mk:
-	* android/net.mk:
-	* android/tools.mk:
-	* gst/Makefile.am:
-	* gst/parse/Makefile.am:
-	* libs/Makefile.am:
-	* libs/gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* plugins/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* plugins/indexers/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 23:54:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: don't put code with side effects into g_return_if_fail()
-
-2011-04-09 22:57:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  docs: minor fixes for baseparse docs
-	  Class vfunc references still aren't right, no idea what
-	  the correct markup for those is.
-
-2011-04-09 18:04:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: unref event in default_send_event in case element has no pads
-	  Spotted by  Haakon Sporsheim.
-
-2011-04-09 04:07:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* tests/check/gst/.gitignore:
-	  check: Ignore new gstmeta binary
-
-2011-04-09 04:05:48 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	  design: draft-buffer2.txt no longer exists
-
-2011-04-09 04:05:20 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  gst: Don't forget to dist gstelementmetadata.h
-
-2011-04-08 19:07:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: minor variable name clean-up
-
-2011-04-08 15:31:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	* win32/common/libgstbase.def:
-	  baseparse: rename _set_frame_props() to _set_frame_rate()
-	  Seems like the best fit to what it does, and is shorter than
-	  set_frame_properties() which might also have been confusing
-	  because of GstBaseParseFrame.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-06 17:43:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: replace format flags with gst_base_parse_set_{passthrough,syncable,has_timing_info}
-	  This is more in line with e.g. GstBaseTransform's API, and makes for nicer
-	  to read code. No getters for now since I don't see any use case for them,
-	  the API is for subclasses, which usually know what format they're
-	  dealing with already and hence know what they've set.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-04 17:58:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: make DRAIN and SYNC flags on baseparse, not the frame, and change to DRAINING and LOST_SYNC
-	  The first because it seems a better fit conceptually, the second
-	  to express booleanness. Also change the accessor macros for subclasses
-	  to GST_BASE_PARSE_DRAINING and GST_BASE_PARSE_LOST_SYNC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-02 14:18:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add some padding to GstBaseParseFrame
-	  Esp. since it's usually allocated on the stack.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-02 14:08:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: fix typo in docs for GST_BASE_PARSE_FORMAT_FLAG_PASSTHROUGH
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-04-02 14:04:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: use GQueue instead of GList for queued frames
-	  and make buffer metadata writable before setting caps on queued
-	  buffer.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646341
-
-2011-04-02 13:02:01 +0100  Zaheer Abbas Merali <zaheermerali@gmail.com>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add GST_BASE_PARSE_FLOW_QUEUED to queue buffers until caps are known
-	  This is useful for parser like flacparse or h264parse which may need to process
-	  some buffers before they can construct the final caps, in which case they may
-	  want to delay pushing the initial buffers until the full and proper caps are
-	  known.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646341
-
-2011-03-31 15:50:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: add to docs and fix up gtk-doc markup a little
-	  And add Since markers.
-
-2011-03-31 14:48:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: replace set_seek() with _set_average_bitrate() and FLAG_SYNCABLE
-	  This makes more sense conceptually, since the bitrate may be used
-	  to estimate a seek position if there's no seek table or just for
-	  duration reporting/estimation if we can't seek. Also, even if the
-	  format is not syncable, we could still seek by pushing data from the
-	  start and using the segment to make downstream clip.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-03-24 17:30:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: rename GstBaseFormat to GstBaseFormatFlags and fix up associated API
-	  Also change gst_base_parse_set_format(parse,flags,switch_on) to
-	  gst_base_parse_set_format_flags(parse,flags) which is more in line
-	  with the rest of our API and how the function is used.
-
-2011-03-13 23:43:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: don't expose GstAdapter in public header
-	  None of the existing subclasses needs access to that, so there's
-	  no reason to expose it for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-03-13 23:38:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: move various segment-related members into the private instance struct
-	  If none of the existing subclasses uses these, there's probably no
-	  need to expose them at the moment. Keep the segment itself exposed
-	  though.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-03-13 23:30:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: remove unused GST_BASE_PARSE_{SINK,SRC}_NAME
-	  https://bugzilla.gnome.org/show_bug.cgi?id=518857
-
-2011-03-12 16:16:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: re-indent header
-
-2011-03-12 15:34:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: fix up GType name and make _get_type() function thread-safe
-	  Rename GType from GstBaseParseBad to GstBaseParse.
-
-2011-03-12 15:29:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	  libs: add GstBaseParse which was moved from -bad
-
-2011-02-23 17:24:14 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: make_metadata_writable() fix
-
-2011-02-21 13:24:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: rename GType from GstAudioBaseParseBad to GstBaseParseBad
-	  We use it for video as well now.
-
-2011-02-18 15:05:31 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: trim trailing whitespace
-
-2011-02-18 15:05:03 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbaseparse.c:
-	  baseparse: use delta-unit flags instead of none
-
-2011-02-17 13:22:28 -0800  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: update documentation for API changes
-
-2010-10-13 15:39:55 -0700  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstbaseparse.c:
-	* libs/gst/base/gstbaseparse.h:
-	  baseparse: Create baseparse library
-
-2011-02-07 14:46:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: tune QUERY_SEEKING response
-	  Even if we currently do not have a duration yet, assume seekable if
-	  it looks like we'll likely be able to determine it later on
-	  (which coincides with needed information to perform seeking).
-	  Fixes #641047.
-
-2011-02-08 23:39:24 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Update min/max bitrate before first posting them
-	  This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate
-	  of 0.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=641857
-
-2011-01-21 14:53:39 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: tune default duration estimate update interval
-	  Rather than a fixed default frame count, estimate frame count to aim for
-	  an interval duration depending on fps if available, otherwise use old
-	  fixed default.
-
-2011-01-14 15:16:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: reverse playback; mind keyframes for fragment boundary
-
-2011-01-12 14:40:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: ensure non-empty candidate frames
-
-2011-01-11 15:24:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: clarify some debug statements
-
-2011-01-11 15:24:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: properly track upstream timestamps
-	  ... rather than with a delay.
-
-2011-01-11 15:23:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: need proper frame duration to obtain sensible frame bitrate
-
-2011-01-11 15:22:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: proper initial values for index tracking variables
-
-2011-01-11 12:05:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: arrange for consistent event handling
-
-2011-01-10 16:59:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: header style cleaning
-
-2011-01-10 17:07:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: provide some more initial frame metadata in parse_frame
-	  ... and document accordingly.
-
-2011-01-10 16:56:36 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: refactor passthrough into format flags
-	  Also add a format flag to signal baseparse that subclass/format can provide
-	  (parsed) timestamp rather than an estimated one.  In particular, such "strong"
-	  timestamp then allows to e.g. determine duration.
-
-2011-01-10 15:34:48 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: introduce a baseparse frame to serve as context
-	  ... and adjust subclass parsers accordingly
-
-2011-01-07 16:39:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: restrict duration scanning to pull mode and avoid extra set_caps call
-
-2011-01-07 15:58:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: update some documentation
-	  Also add some more debug.
-
-2011-01-06 11:41:44 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: allow increasing min_size for current frame parsing only
-	  Also check that subclass actually either directs to skip bytes or
-	  increases expected frame size to avoid going nowhere in bogus
-	  indefinite looping.
-
-2011-01-14 15:26:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baesparse: fix refactor regression in loop based parsing
-
-2011-01-06 11:16:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: pass all available data to subclass rather than minimum
-	  Also reduce some adapter calls and add a few debug statements.
-
-2010-12-10 15:59:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: fix reverse playback handling
-
-2010-12-10 14:56:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: minor typo and debug statement cleanup
-
-2010-12-10 14:40:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: reduce locking
-	  ... which is either already mute and/or implicitly handled by STREAM_LOCK.
-
-2011-01-14 14:08:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: avoid loop in frame locating interpolation
-
-2011-01-14 16:30:11 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparsers: baseparse: Be careful to not lose the event ref
-	  Don't unref the event if it hasn't been handled, because the caller
-	  assumes it is still valid and might reuse it.
-	  I ran into this problem when transcoding an AVI (with mp3 inside)
-	  to gpp.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639555
-
-2011-01-13 16:27:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  docs: minor baseparse docs/comment fixes
-	  Remove copy'n'paste leftovers.
-
-2010-11-08 19:58:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: increase keyframe awareness
-	  ... which is not particular relevant for audio parsing, but more so
-	  in video cases.  In particular, auto-determine if dealing with video (caps).
-
-2010-11-30 15:41:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: avoid unexpected stray metadata
-
-2010-11-30 15:40:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: use proper _NONE output value when applicable
-
-2010-11-25 18:56:42 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparsers: Remove dead assignments
-
-2010-11-25 17:14:23 +0100  Andoni Morales Alastruey <amorales@flumotion.com>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparse: fix possible division-by-zero
-	  https://bugzilla.gnome.org/show_bug.cgi?id=635786
-
-2010-11-17 16:23:42 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: use correct offset when adding index entry
-	  ... bearing in mind that BUFFER_OFFSET is media specific and may not
-	  reflect the basic offset after having been parsed.
-
-2010-11-17 14:30:09 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: enhancements for timestamp marked framed formats
-	  That is, as such formats allow subclass to extract position from frame,
-	  it is possible to extract duration (if not otherwise provided)
-	  from (near) last frame, and a seek can fairly accurately target the required
-	  position.
-	  Fixes #631389.
-
-2010-11-16 17:06:14 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: refactor frame scanning peformed by _loop
-
-2010-11-16 18:04:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: slightly optimize sending of pending newsegment events
-
-2010-11-16 17:04:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: minor fixes and enhancements
-	  Arrange for upstream as well as downstream flushing when seeking.
-	  Also determine upstream size as well as seekability.  Adjust some comments
-	  to reality and employ debug statement in proper order.
-
-2010-10-29 14:08:58 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: use only upstream duration if it provides one
-
-2010-10-25 14:15:50 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: reflow update_bitrate code
-	  ... which makes local variables represent real state better, and avoids
-	  triggering unneeded updates/actions.
-
-2010-10-25 14:13:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: add some debug statements
-
-2010-10-11 17:49:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: perform bitrate handling and posting after newsegment sending
-
-2010-10-11 17:36:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: immediately post subclass provided bitrate
-
-2010-10-05 11:17:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  Revert "baseparse: add skip property"
-	  This reverts commit b5a3d60363d837a10f0533c141ec93d10b742312.
-	  Reverting this for now, since no one really seems to remember why this
-	  property exists or what it could possibly be good for. It seems to have
-	  been in the original mp3parse since the beginning of time and was back-
-	  ported from there.
-
-2010-10-03 23:50:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparser: Let the format string agree with the parameters to fix compiler warning
-
-2010-09-22 15:44:43 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Fix debug output
-	  We lose the reference to the buffer after gst_pad_push(), so the debug
-	  print should happen before.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622276
-
-2010-09-29 16:12:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: support reverse playback
-	  ... in pull mode or upstream driven.
-
-2010-09-27 12:16:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: remove done TODOs and update documentation
-
-2010-09-25 14:40:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: use determined seekability in answering SEEKING query
-
-2010-09-25 14:32:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: add skip property
-
-2010-09-22 15:07:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: use _set_frame_props to configure frame lead_in and lead_out
-	  ... provided a corresponding decoder with sufficient leading and following
-	  frames to carry out full decoding for a particular segment.
-
-2010-09-22 14:13:17 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: use _set_duration to configure duration update interval
-	  ... as it logically belongs there as one or the other; either subclass
-	  can provide a duration, or an estimate must be made (reguarly updated).
-
-2010-09-22 13:55:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: localize use of provided fps information
-
-2010-09-22 12:13:12 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: seek table and accurate seek support
-
-2010-09-21 13:57:10 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: proper and more extended segment and seek handling
-	  That is, loop pause handling, segment seek support, newsegment for gaps, etc
-
-2010-09-21 10:57:04 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: add index support
-
-2010-09-21 09:59:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: refactor state reset
-
-2010-09-20 16:39:37 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: prevent indefinite resyncing
-
-2010-09-20 13:57:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: specific EOS handling if no output so far
-
-2010-09-20 13:31:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: adjust _set_frame_prop documentation and set default as claimed
-
-2010-09-20 13:30:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: fix bitrate copy-and-paste and update heuristic
-
-2010-09-17 18:33:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: post duration message if average bitrates is updated
-
-2010-09-17 18:24:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: remove is_seekable vmethod and use a set_seek instead
-	  Seekability, like duration, etc is unlikely to change (frequently), and
-	  the default assumption covers most cases, so let subclass set when needed.
-	  At the same time, allow subclass to indicate if it has seek-metadata (table)
-	  available, and possibly have it provide an average bitrate.
-
-2010-09-17 17:21:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: add another hook for subclass prior to pushing buffer
-	  ... and allow subclass to perform custom segment clipping, or to
-	  emit tags or messages at this time.
-
-2010-09-17 17:19:37 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: 0 converts to 0 by default
-
-2010-09-16 18:56:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: refactor conversion using helper function and export default convert
-
-2010-09-16 18:35:47 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: streamline query handling
-
-2010-09-16 11:51:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: cleanup struct and remove unused member
-
-2010-09-22 16:07:24 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Allow chaining of subclass event handlers
-	  This allows the child class to chain its event handler with
-	  GstBaseParse, so that subclasses don't have to duplicate all the default
-	  event handling logic.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622276
-
-2010-08-27 18:35:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Don't use GST_FLOW_IS_FATAL()
-	  Also don't post an error message for UNEXPECTED and do it
-	  for NOT_LINKED.
-
-2010-09-06 14:12:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: non-TIME seek event is simply not handled
-
-2010-06-15 15:34:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: fix seek event ref handling
-
-2010-06-15 15:33:37 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: prevent arithmetic overflows in pull mode buffer cache handling
-
-2010-06-15 15:32:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: fix seek handling
-	  Allow a few more seek event type combinations, and really use the result
-	  of gst_segment_set_seek to perform the seek.  Also add some debug.
-
-2010-03-26 18:56:49 +0000  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Don't emit bitrate tags too early
-	  We wait to parse a minimum number of frames (10, arbitrarily) before
-	  emiting bitrate tags so that our early estimates are not wildly
-	  inaccurate for streams that start with a silence. If the stream ends
-	  before that, we just emit the tags anyway.
-	  While it _would_ be nicer to be specify the threshold to start pushing
-	  the tags in terms of duration, this would introduce more complexity than
-	  this merits.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=614991
-
-2010-03-26 18:20:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Set the last stop to the buffer starttime if the duration is invalid
-	  ...instead of not setting it at all.
-
-2010-03-26 18:19:00 +0100  Joshua M. Doe <josh@joshdoe.com>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: Send NEWSEGMENT event with correct start and position
-	  Instead of taking the last stop (which could be buffer endtime instead
-	  of starttime) always take the buffer starttime.
-	  Fixes bug #614016.
-
-2010-03-25 17:09:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  audioparsers: remove unused GstBaseParseClassPrivate structure
-
-2010-03-25 11:22:58 +0000  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  audioparsers: Add bitrate calculation to baseparse
-	  This makes baseparse keep a running average of the stream bitrate, as
-	  well as the minimum and maximum bitrates. Subclasses can override a
-	  vfunc to make sure that per-frame overhead from the container is not
-	  accounted for in the bitrate calculation.
-	  We take care not to override the bitrate, minimum-bitrate, and
-	  maximum-bitrate tags if they have been posted upstream. We also
-	  rate-limit the emission of bitrate so that it is only triggered by a
-	  change of >10 kbps.
-
-2010-01-14 11:50:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparsers: rename baseparse GType name to avoid possible conflicts
-
-2010-01-05 15:05:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparsers: documentation fixes
-
-2009-12-21 18:18:39 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: adjust seek handling and newsegment sending
-	  Perform sanity check on type of seek, and only perform one that is
-	  appropriately supported.  Adjust downstream newsegment event
-	  to first buffer timestamp that is sent downstream.
-
-2009-12-21 11:59:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: minor refactor cleanup
-	  Also add some debug logging.
-
-2009-12-18 21:02:40 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: implement leftover draining in pull mode
-
-2009-12-16 18:38:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: provide default conversion using bps if no fps available
-	  Also store estimated duration as such, rather than pretending otherwise
-	  (e.g. set by subclass).
-
-2009-12-18 13:30:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: check for remaining data when draining in push mode
-
-2009-12-18 13:30:07 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  baseparse: fix pull mode cache size comparison
-
-2009-12-11 10:25:16 -0800  Michael Smith <msmith@songbirdnest.com>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparse: fix a format string as reported on irc.
-
-2009-10-29 15:18:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  baseparse: custom bufferflag indicates not to count frame in stats
-
-2009-11-27 17:27:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	  audioparsers: reference GstBaseParse now lives here
-
-2009-11-28 18:13:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
-	  audioparsers: rename 'aacparse' plugin to generic 'audioparsers' plugin
-
-2009-10-29 16:05:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: reset passthrough mode to default (disabled) on activation
-
-2009-10-29 15:16:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: ensure buffer metadata is writable
-
-2009-10-28 14:06:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	* gst/aacparse/gstbaseparse.h:
-	  baseparse: fix/enhance DISCONT marking
-	  In particular, consider DISCONT == !sync, and allow subclass to query
-	  sync state, as it may want to perform additional checks depending
-	  on whether sync was achieved earlier on.
-	  Also arrange for subclass to query whether leftover data is being drained.
-
-2009-11-23 15:48:25 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	* gst/aacparse/gstbaseparse.h:
-	  baseparse: add timestamp handling, and default conversion
-	  In particular, (optionally) provide baseparse with a notion of frames per second
-	  (and therefore also frame duration) and have it track frame and byte counts.
-	  This way, subclass can provide baseparse with fps and have it provide default
-	  buffer time metadata and conversions, though subclass can still install
-	  callbacks to handle such itself.
-
-2009-10-28 12:02:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: documentation fixes
-
-2009-10-28 12:00:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: use_fixed_caps for src pad
-	  After all, stream is as-is, and there is little molding to downstream's
-	  taste that can be done.  If subclass can and wants to do so, it can
-	  still override as such.
-
-2009-11-20 17:32:13 +0100  Julien Moutte <julien@fluendo.com>
-
-	* gst/aacparse/gstbaseparse.c:
-	  aacparse: Fix compilation warnings
-
-2009-10-11 11:22:11 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/aacparse/gstbaseparse.c:
-	  aacparse: fix warnings in macosx snow leopard
-
-2009-09-25 17:02:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	* gst/aacparse/gstbaseparse.h:
-	  aacparse: forego (bogus) parsing of already parsed (raw) input
-
-2009-08-07 13:07:17 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: prevent infinite loop when draining
-
-2009-08-07 13:06:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: fix minor memory leak
-
-2009-07-14 14:08:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	* gst/aacparse/gstbaseparse.h:
-	  aacparse: Add function for the baseparse subclass to push buffers downstream
-	  Also handle the case gracefully where the subclass decides to drop
-	  the first buffers and has no caps set yet. It's still required to
-	  have valid caps set when the first buffer should be passed downstream.
-
-2009-07-14 14:07:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: Fix seek event leaking
-
-2009-06-01 13:56:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: propagate return value of GstBaseParse::set_sink_caps()
-	  gst_base_parse_sink_setcaps() presumably should fail if the subclass
-	  returns FALSE from its ::set_sink_caps() function.
-
-2009-06-01 13:47:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: don't try to GST_LOG an already-freed caps string
-	  The proper way to log caps is via GST_PTR_FORMAT anyway.
-
-2009-05-26 19:43:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: fix debug category
-
-2009-04-27 22:39:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: fix (regression in) newsegment handling
-	  (aacparse, amrparse, flacparse).  Fixes #580133.
-
-2009-04-07 04:53:02 +0300  René Stadler <mail@renestadler.de>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: Fix slightly broken buffer-in-segment check (aacparse, amrparse, flacparse)
-
-2009-04-05 03:50:19 +0300  René Stadler <mail@renestadler.de>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: Fix push mode seeking (aacparse, amrparse)
-	  Sending the flush-start event forward before taking the stream lock actually
-	  works, in contrast to deadlocking in downstream preroll_wait (hunk 1).
-	  After that we get the chain function being stuck in a busy loop. This is fixed
-	  by updating the minimum frame size inside the synchronization loop because the
-	  subclass asks for more data in this way (hunk 2).
-	  Finally, this leads to a very probable crash because the subclass can find a
-	  valid frame with a size greater than the currently available data in the
-	  adapter. This makes the subsequent gst_adapter_take_buffer call return NULL,
-	  which is not expected (hunk 3).
-
-2009-03-31 16:07:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: Delay newsegment as long as possible.
-	  If newsegment is sent (too) early, caps may not yet be fixed/set,
-	  and downstream may not have been linked.
-
-2009-02-27 11:24:37 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: revert last change and properly fix
-	  Baseparse internaly breaks the semantics of a _chain function by calling it with
-	  buffer==NULL. The reson I belived it was okay to remove it was that there is
-	  also an unchecked access to buffer later in _chain. Actually that code is wrong,
-	  as it most probably wants to set discont on the outgoing buffer.
-
-2009-02-26 11:02:06 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/aacparse/gstbaseparse.c:
-	  baseparse: remove checks for buffer==NULL
-	  Accordifn to docs for GstPadChainFunction buffer cannot be NULL. If we would
-	  leave the check, we would also need more such check below.
-
-2009-01-30 18:18:10 +0000  Jan Schmidt <jan.schmidt@sun.com>
-
-	* gst/aacparse/gstbaseparse.c:
-	  Fix the return value of the default parse_frame function.
-	  Fix the return value of the default parse_frame function in both
-	  copies of GstBaseParse
-
-2008-11-13 14:21:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Fix baseparse type name.
-	  Original commit message from CVS:
-	  * gst/aacparse/gstbaseparse.c:
-	  * gst/amrparse/gstbaseparse.c:
-	  Fix baseparse type name.
-
-2008-11-13 12:59:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add two new baseparse based parsers (aac and amr) from Bug #518857.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/aacparse/Makefile.am:
-	  * gst/aacparse/gstaacparse.c:
-	  * gst/aacparse/gstaacparse.h:
-	  * gst/aacparse/gstbaseparse.c:
-	  * gst/aacparse/gstbaseparse.h:
-	  * gst/amrparse/Makefile.am:
-	  * gst/amrparse/gstamrparse.c:
-	  * gst/amrparse/gstamrparse.h:
-	  * gst/amrparse/gstbaseparse.c:
-	  * gst/amrparse/gstbaseparse.h:
-	  Add two new baseparse based parsers (aac and amr) from Bug #518857.
-
-2011-03-20 00:56:08 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue[2]: Make src query MT-safe
-	  It is possible that the element might be going down while the event arrives
-
-2011-03-20 00:56:08 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Make src query MT-safe
-	  It is possible that the element might be going down while the event arrives
-
-2011-04-08 14:56:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue[2]: Unref events if the parent element disappeared
-
-2011-03-21 16:01:05 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  queue[2]: Make upstream events MT-safe
-
-2011-04-08 14:55:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  base: Unref events if the parent element disappeared
-	  And also unref events if the basetransform subclass has no
-	  event handler and the event is not forwarded at all.
-
-2011-03-21 16:01:05 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  base: Make upstream events MT-safe
-
-2011-03-29 11:57:06 +0200  Stian Selnes <stiaseln@cisco.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  gstqueue, gstqueue2: check if parent of pad is NULL in _getcaps
-	  Parent of the pad (the queue) may be set to NULL while there is
-	  a buffer alloc going on.
-
-2011-04-08 14:50:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Fix getcaps and event function from last commit
-	  Return ANY caps if the parent disappeared, i.e. the template caps
-	  and don't leak events if the parent disappeared.
-
-2011-04-01 08:46:14 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Protect against pad-parent disappearing
-
-2010-12-14 16:06:46 +0100  Stian Selnes <stian.selnes@tandberg.com>
-
-	* gst/gstiterator.c:
-	  iterator: resync to avoid infinite loop
-
-2011-04-08 09:20:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  utils: Fix uninitialized variable compiler warnings
-
-2011-04-08 09:15:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Removed unused GCond
-
-2011-04-08 09:07:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Add another check for the flushing flag after taking the lock
-	  This prevents another potential deadlock when flushing the pad
-	  at exactly the right time.
-
-2011-04-07 11:24:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Immediately drop messages after calling the sync handler if this is a synchronous bus
-	  Otherwise we might wait forever for the message to be popped from
-	  the queue if a sync handler returned GST_BUS_ASYNC.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=647005
-
-2011-04-07 11:19:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	  bus: Use a construct-only property to distinguish between child buses and normal buses
-	  This allows to only create the socketpair when it is really required instead
-	  of always creating it and immediately destroying it again for child buses.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=647005
-
-2011-04-07 20:47:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/queue2.c:
-	  tests: add some basic unit tests for queue2
-
-2011-04-07 20:45:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix buffer leak on eos when using the ring buffer
-
-2011-01-11 14:27:35 +0100  Idar Tollefsen <itollefs@cisco.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646972
-
-2011-04-07 19:44:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix minor memory leak
-
-2011-04-07 17:34:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: minor element description fix
-
-2011-04-07 16:13:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-07 16:02:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.h:
-	  memory: add NO_SHARE flag to memory
-	  Add a NO_SHARE flag to memory to indicate that it should not be shared
-	  between buffers.
-
-2011-04-07 16:08:34 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/draft-missing-plugins.txt:
-	  docs: remove file as we have docs/design/part-missing-plugins.txt
-
-2011-04-07 10:48:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Handle tag and custom downstream events the same
-	  Especially drop tag events when flushing to not send them over
-	  and over again.
-	  Should've been in the last commit already but I forgot to call
-	  git rebase --continue...
-
-2011-04-07 10:40:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  bla
-
-2011-04-07 10:29:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Send syncronized custom downstream/both events downstream from the streaming thread
-	  Instead of just silently dropping them. The same was done for tag events
-	  before already.
-	  Fixes bug #635718.
-
-2011-04-06 19:19:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	  memory: don't follow the parent in the fallback share
-
-2011-04-06 18:57:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstminiobject.c:
-	  buffer: make memory writable in _peek
-	  Make the memory writable when we are asked to _peek with MAP_WRITE.
-	  Improve debugging of miniobject.
-
-2011-04-06 16:37:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: fix debug
-
-2011-04-06 14:20:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-06 14:06:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	  bus: Add private API to set a GstBus in child mode
-	  This is used by GstBin to create a child bus without
-	  a socketpair because child buses will always work
-	  synchronous. Otherwise too many sockets could be
-	  created and the limit of file descriptors for the
-	  process could be reached.
-	  Fixes bug #646624.
-
-2011-04-06 13:56:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  Revert "bus: Only create the signalling socket pair when required"
-	  This reverts commit 4bf8f1524f6e3374b3f3bc57322337723d06b928.
-
-2011-04-06 13:56:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  Revert "bus: Check if pending messages are in the queue"
-	  This reverts commit bd1c40011434c1efaa696dc98ef855ef9cce9b28.
-
-2011-04-06 11:38:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  checks: make tests_many_bins in bin unit test a bit faster
-	  Not doing expensive checks when linking elements makes things
-	  much faster.
-
-2011-04-06 11:30:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  checks: add some queues to test_many_bins unit test
-	  To limit the number of calls in a row per thread.
-
-2011-04-06 12:03:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Check if pending messages are in the queue
-	  We can't rely completely on the poll fd because the fd might be
-	  created after messages were posted to the bus.
-
-2011-04-06 11:45:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  value: GstDate/GDate has a abbreviation now
-
-2011-04-03 16:11:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	  checks: add GstBin unit test that creates a lot of bins
-	  Currently fails (in normal circumstances) because we create a
-	  socket pair for each bin's bus and exhaust the number of available
-	  file descriptors.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646624
-
-2011-04-05 16:22:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	  bus: Only create the signalling socket pair when required
-	  Otherwise a new one would be created for every single bus and
-	  the process could easily run out of file descriptors.
-	  Fixes bug #646624.
-
-2011-04-05 14:36:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Add date as a type abbreviation of GDate
-	  See bug #646696.
-
-2011-04-04 15:56:30 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 1ccbe09 to c3cafe1
-
-2011-04-04 11:17:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-04 03:33:46 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: retry reading the control socket to release properly all wakeups
-	  if set->control_pending is set to 0 but we didn't not succed reading
-	  the control socket, future calls to gst_poll_wait() will be awaiken
-	  by the control socket which will not be released properly because
-	  set->control_pending is already 0, causing an infinite loop.
-
-2011-04-04 10:18:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists
-	  Some code (e.g. gstvorbistag.c) assumes non-NULL GDates in taglists and
-	  explodes otherwise and NULL or invalid GDates don't make much sense anyway.
-
-2011-03-25 15:56:07 +0100  Thomas Kristensen <thomas.kristensen@cisco.com>
-
-	* gst/gstpoll.c:
-	  poll: don't call WSAWaitForMultipleEvents with no events
-	  Fixes error caught by Microsoft Application Verifier.
-
-2011-04-03 16:18:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  docs: add pointer to part-seeking.txt design docs to event seek flags docs
-
-2011-04-03 16:18:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/.gitignore:
-	  checks: ignore new funnel unit test binary
-
-2011-04-02 14:51:18 +0100  Bastien Nocera <hadess@hadess.net>
-
-	* gst/gstutils.h:
-	  utils: Avoid using "type" as name for a variable and a macro argument in GST_BOILERPLATE
-	  This caused "re-declaration" problems.
-	  ./clutter-gst-video-sink.c: In function ‘clutter_gst_video_sink_init_interfaces’:
-	  ./clutter-gst-video-sink.c:231:1: warning: declaration of ‘ClutterGstVideoSink’ shadows a global declaration [-Wshadow]
-	  ./clutter-gst-video-sink.h:64:44: warning: shadowed declaration is here [-Wshadow]
-	  https://bugzilla.gnome.org/show_bug.cgi?id=646531
-
-2011-04-01 13:56:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: When requesting an existing pad print a g_critical() instead of using an assertion
-	  Some applications are requesting the same pad name multiple times
-	  and the behaviour is undefined and different from element to element
-	  but we don't want to break applications that work just fine.
-	  In 0.11 this check should be an assertion again, although elements
-	  have to do manual checking if the pad already exists again because
-	  it can't be done in a threadsafe way here.
-
-2011-04-01 13:53:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Use gint64/guint64 string parsing functions
-	  And check that the requested pad names are inside the valid
-	  gint/guint range.
-
-2011-04-01 13:51:31 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstelement.c:
-	  element: strto[u]l() returns a g[u]long
-
-2011-04-01 10:47:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-04-01 10:46:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting guide with bufferlist changes
-
-2011-03-31 19:25:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/part-seeking.txt:
-	  design docs: document expected behaviour for ACCURATE and KEY_UNIT seek flags
-
-2011-03-31 18:39:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	  bytewriter: don't add NULL data
-
-2011-03-31 17:55:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  tests/check/gst/struct_x86_64.h
-
-2011-03-31 17:51:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstpad.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: simplify bufferlists
-	  We now have multiple memory blocks as part of the buffers and we can therefore
-	  reduce the bufferlist to a simple array of buffers.
-
-2011-03-31 10:53:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/struct_x86_64.h:
-	  gstabi: Add some new structures for x86-64
-
-2011-03-31 10:46:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/libs/libsabi.c:
-	* tests/check/libs/struct_x86_64.h:
-	  libsabi: Add lots of new structures for x86-64
-
-2011-03-31 10:31:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting doc
-
-2011-03-30 20:05:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: fix for API change
-
-2011-03-30 19:58:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11-fdo
-	  Conflicts:
-	  docs/plugins/gstreamer-plugins.hierarchy
-	  gst/gstelement.c
-
-2011-03-30 19:01:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmeta.c:
-	  docs: update docs
-
-2011-03-30 18:45:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  docs: update documentation
-
-2011-03-30 16:47:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcompat.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesrc.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstreamer.def:
-	  buffer: more API tweaks
-	  _trim -> _resize
-	  _create_sub -> copy_region
-
-2011-03-30 15:29:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffer.txt:
-	* docs/design/part-bufferlist.txt:
-	  design: update design docs
-
-2011-03-30 13:04:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	* gst/gstbuffer.c:
-	  design: update docs
-
-2011-03-30 10:48:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: Make assignment of queue IDs and pad names threadsafe
-	  Also add a test for naming pads by the caller and return NULL
-	  when requesting an already existing pad.
-
-2011-03-29 23:58:43 +0200  Andreas Frisch <fraxinas@opendreambox.org>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Set the single queue ID to the ID of the requested pad if one was given by the caller
-
-2011-03-29 19:17:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  memory: further memory tweaking
-	  Allow for automatic merging of memory block in the _map function and automatic
-	  freeing of the temporary memory.
-	  Remove some unneeded functions.
-	  Add possibility to force writable spanned memory.
-
-2011-03-29 17:17:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: implement COPY_MERGE
-
-2011-03-29 16:52:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* win32/common/libgstreamer.def:
-	  buffer: clean up _span and add more g_return_if..
-
-2011-03-29 16:22:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Fix sanity checks for request pad templates without %
-
-2011-03-29 13:51:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: optimize memory handling
-
-2011-03-29 11:57:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Add some more sanity checks to the pad name checking of request pads in all cases
-	  Especially check if a pad with that name already exists.
-
-2011-03-29 11:52:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Check %u too when trying to find a pad template for a request pad
-
-2011-03-29 11:31:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: move implementation details in private struct
-
-2011-03-28 21:01:13 +0200  Fraxinas <andreas.frisch@multimedia-labs.de>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix arbitrary sink + source pad naming
-	  Use the string provided by the caller for the sinkpad name
-	  if possible. Note that all sanity checking for this name
-	  is already done in GstElement.
-	  Fixes Bug #645931
-
-2011-03-29 11:18:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Add some more documentation about the behaviour of funnel
-
-2011-03-29 11:08:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Send a newsegment event after flush-stop
-
-2011-03-29 11:07:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Some random cleanup
-
-2011-03-29 10:56:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	  funnel: Use a GstPad subclass for the sinkpads instead of using the pad's element private data
-
-2011-03-29 10:42:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-staticelements.xml:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstfunnel.h:
-	* tests/check/Makefile.am:
-	* tests/check/elements/funnel.c:
-	  funnel: Integrate into the build system and rename the types
-
-2011-03-29 10:39:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfunnel.c:
-	* plugins/elements/gstfunnel.h:
-	* tests/check/elements/funnel.c:
-	  funnel: Import funnel element from farsight2
-
-2011-03-29 11:07:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstpad.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/gst/gstbuffer.c:
-	* win32/common/libgstreamer.def:
-	  buffer: more buffer updates
-
-2011-03-28 20:20:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: fix defs
-
-2011-03-28 20:11:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11-fdo
-	  Conflicts:
-	  gst/gst.c
-	  libs/gst/base/gstcollectpads.c
-
-2011-03-28 19:19:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* libs/gst/base/gstbasetransform.c:
-	  buffer: fix subbuffers
-
-2011-03-28 16:40:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: implemet trim and set_size
-
-2011-03-28 15:52:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* win32/common/libgstreamer.def:
-	  buffer: more fixes
-
-2011-03-28 10:28:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.h:
-	  buffer: add more methods
-
-2011-03-24 21:21:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add class init
-
-2011-03-24 21:18:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* libs/gst/base/gstadapter.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  buffer: fix remaining unit tests
-
-2011-03-24 20:09:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  buffer: fix unit test
-
-2011-03-24 13:01:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* libs/gst/base/gstadapter.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/gst/gstpad.c:
-	  memory: remove memory metadata again
-
-2011-03-24 11:49:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmemory.c:
-	* tests/check/libs/adapter.c:
-	  memory: more fixes
-	  Automatically make the memory of a buffer writable when the buffer is writable
-	  and the memory is asked to mapped WRITE.
-	  Add docs
-
-2011-03-23 20:52:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbytewriter.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gstvalve.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/typefindhelper.c:
-	  memory: more work on implementing buffer memory
-
-2011-03-22 20:51:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/libs/adapter.c:
-	* tests/check/libs/bitreader.c:
-	* tests/check/libs/bytereader.c:
-	* tests/check/libs/test_transform.c:
-	* tests/check/libs/transform1.c:
-	  memory: more work on porting the unit tests
-
-2011-03-21 19:15:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/elements/multiqueue.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstelementfactory.c:
-	* tests/check/gst/gstmeta.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/typefindhelper.c:
-	  tests: make some tests compile
-
-2011-03-21 18:13:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-dataaccess.xml:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	* tests/examples/adapter/adapter_test.c:
-	* tools/gst-launch.c:
-	  memory: port code to new buffer data API
-
-2011-03-21 13:07:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferpool.c:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	* gst/gstmeta.c:
-	* gst/gstpad.c:
-	  memory: more fixes
-	  Fix span and is_span
-	  Implement buffer memory
-
-2011-03-21 09:51:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmemory.h:
-	  WIP use memory in buffer
-
-2011-03-20 11:42:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: more improvements
-
-2011-03-19 10:45:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: more memory improvements
-
-2011-03-18 21:45:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add more memory operations
-
-2011-03-18 19:28:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstmemory.c:
-	* gst/gstmemory.h:
-	  memory: add memory implementation
-
-2011-03-18 18:35:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmemory.h:
-	  memory: add API for handling memory blocks
-	  Adds some API to handle memory blocks.
-
-2011-03-08 18:18:24 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.h:
-	  meta: fix docs
-
-2011-03-28 21:21:00 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Return FALSE if we don't handle an event
-	  basesrc's default event handler returns TRUE regardless of whether the
-	  event is handled or not. This fixes the handler to conform with the
-	  expected behaviour (which is to only return TRUE when the event has
-	  actually benn handled). gst_bin_do_latency_func() depended on this
-	  (incorrect) behaviour, and is now modified as well.
-	  (Remaining 1-liner change in gstbasesrc.c is to keep gst-indent happy)
-
-2011-03-25 22:08:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 193b717 to 1ccbe09
-
-2011-03-25 14:55:39 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From b77e2bf to 193b717
-
-2011-03-25 09:27:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From d8814b6 to b77e2bf
-
-2011-03-25 08:59:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6aaa286 to d8814b6
-
-2011-03-24 18:48:41 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6aec6b9 to 6aaa286
-
-2011-03-24 18:27:09 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* plugins/elements/gstqueue.h:
-	  docs: fix some gtk-doc warnings
-	  Document the queue leaky enums.
-
-2011-03-24 18:25:08 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: set max value for to the matching one for the datatype
-	  The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT.
-
-2011-03-24 13:22:57 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.c:
-	  docs: cleanup and xref fixes
-	  Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for ()
-	  precedence over @. Move "MT Safe" text to doc body in many places. Trim eol
-	  whitespaces.
-
-2011-03-23 16:42:24 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: print flow return as a name in debug log
-
-2011-03-23 17:13:58 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/libs/Makefile.am:
-	* docs/plugins/Makefile.am:
-	  docs: do xrefs for non installed books too
-	  Get the xrefs from the builddir for the books in the same packages. This fixes
-	  the cross references if one does not have the docs already installed.
-
-2010-04-19 20:39:53 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Keep downstream caps order when fixating
-	  This allows use to use the first intersecting format prefered by downstream.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=617045
-
-2010-04-19 20:40:56 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Retain caps order when getting caps
-	  If the element gave us caps in a specific order, let's retain that
-	  by intersecting against the template but retaining the order given
-	  by the element.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=617045
-
-2011-02-25 10:25:26 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: caps: Tests for the new caps intersection mode
-	  Adds test cases for the caps 'first' intersect mode
-	  Adds another test for the 'zigzag' mode
-	  Fixes #617045
-
-2011-02-25 08:50:12 -0300  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gst.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* win32/common/libgstreamer.def:
-	  gstcaps: new API : gst_caps_intersect_full
-	  Just like gst_caps_intersect, but adds a new parameter 'mode'
-	  that allows selecting the intersection algorithm to use.
-	  Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and
-	  GST_CAPS_INTERSECT_MODE_FIRST.
-	  API: gst_caps_intersect_full
-	  API: GstCapsIntersectMode
-	  API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG
-	  API: GST_CAPS_INTERSECT_MODE_FIRST
-	  https://bugzilla.gnome.org/show_bug.cgi?id=617045
-
-2011-03-12 17:01:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* 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-12 16:58:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.h:
-	* libs/gst/base/gstbytewriter.h:
-	  bytereader, bytewriter: fix up inline functions to make g++ happy
-	  gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’:
-	  gstbytereader.h:249:75: error: invalid conversion from ‘void*’ to ‘guint8*’
-	  gstbytewriter.h: In function ‘gboolean _gst_byte_writer_ensure_free_space_inline(GstByteWriter*, guint)’:
-	  gstbytewriter.h:196:75: error: invalid conversion from ‘void*’ to ‘guint8*’
-	  https://bugzilla.gnome.org/show_bug.cgi?id=645595
-
-2011-03-22 16:26:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  gstelement: Fix typo in the docs
-	  GST_ELEMENT_INFO will post a INFO message, not a WARNING
-
-2011-03-18 08:22:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gsttagsetter.c:
-	  tagsetter: Removing unused debug category
-	  tagsetter's debug category had a typo and was unused. Removing it.
-
-2011-03-18 19:34:57 +0100  Luis de Bethencourt <luis@debethencourt.com>
-
-	* autogen.sh:
-	  autogen: wingo signed comment
-
-2011-03-22 11:04:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object
-
-2011-03-21 17:54:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Really remove unused variable
-
-2011-03-21 17:52:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Increment unique item counter with atomic operations
-	  Before it was only protected by the stream lock but every pad
-	  has its own stream lock, making the protection rather useless.
-
-2011-03-21 17:17:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Unblock all waiting pads when shutting down
-
-2011-03-21 12:39:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Remove unused variable
-
-2011-03-21 16:28:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Exit loop function if the pad is flushing
-	  Fixes possible deadlocks when flushing an unlinked pad that waits
-	  for other pads to advance.
-
-2011-03-19 17:06:12 -0500  Jason D. Clinton <me@jasonclinton.com>
-
-	* gst/gstpoll.c:
-	* libs/gst/controller/gstinterpolation.c:
-	* plugins/elements/gstfilesrc.c:
-	  build: fix build with -Werror with GCC 4.6.0
-	  This touches three areas of code, removes unused variables and discards
-	  return values from two functions with (void).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=645267
-
-2011-03-19 10:39:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: Add since marker to GST_EVENT_SINK_MESSAGE
-
-2011-03-19 08:55:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Stop waiting for a pad switch when the pad is flushing
-
-2011-03-19 08:50:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Move locking and signalling macros from the header to the source file
-
-2011-03-17 23:42:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttask.h:
-	  task: fix GST_TASK_BROADCAST
-	  Surprisingly enough, you can't "breadcast" on a GCond.
-	  Spotted by Rune Sætre.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=645022
-
-2011-03-17 14:21:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Hold the selector lock while reading properties of the active pad
-
-2011-03-17 14:10:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Make sure that EOS is always sent downstream for the active pad
-	  It can happen that the currently active pad got the EOS event
-	  before it was activated and the previously active pad got the
-	  EOS event after it was deactivated. In that case we have to
-	  send the EOS event from an inactive pad downstream.
-
-2011-03-16 18:19:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
-	  This makes sure that during switches at no point in time all pads
-	  have returned not-linked, which can happen when playing an audio-only
-	  file with playbin2 and switching between the streams for example.
-	  Fixes bug #644935.
-
-2011-03-17 10:53:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  utils: Remove deprecated gst_element_factory_can_{sink,src}_caps()
-
-2011-03-17 10:50:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstbufferlist.c
-
-2011-03-16 12:01:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode
-	  See bug #644907.
-
-2011-03-16 11:53:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: The internally linked pad of the proxypad is the ghostpad
-	  Previously we were returning the peerpad, which is the target
-	  of the ghostpad.
-
-2011-02-25 16:20:49 +0100  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* gst/gstbufferlist.c:
-	* tests/check/gst/gstbufferlist.c:
-	  bufferlist: Use a GQueue instead of a GList
-	  Adding a buffer to the end of a GstBufferList is supposed to be a fast
-	  operation, but it was not since the iterator does not advance its
-	  nextpointer when adding buffers and GList does not have a tail pointer.
-	  Using a GQueue to store the buffers makes it easier to add buffers to
-	  the end of the list and this operation will now be much more efficient.
-	  Adding an entire GList of buffers using
-	  gst_buffer_list_iterator_add_list() will however have to iterate over
-	  the list being added to be able to update the tail pointer in the
-	  GQueue.
-
-2011-03-10 17:48:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* win32/common/libgstreamer.def:
-	  utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
-	  GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
-	  not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
-	  pages in wiki.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=402141
-
-2011-03-10 16:46:04 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: Update .def file for API addition
-
-2011-03-10 10:25:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-03-09 16:15:33 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/pwg/advanced-types.xml:
-	  pwg: fix element name "videodrop" to "videorate"
-
-2011-03-08 12:11:08 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstelementfactory.c:
-	  test: add tests for new element_factory api.
-
-2010-06-23 22:00:04 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  gstutils: replace gst_element_factory_can_{sink,src}_caps
-	  Add new functions to clarify how the caps are compared to the template caps of
-	  the element factory. Improve the docs to point out the difference.
-	  Deprecate: gst_element_factory_can_{src|sink}_caps
-	  API: add gst_element_factory_can_{src|sink}_{any|all}_capps
-	  https://bugzilla.gnome.org/show_bug.cgi?id=402141
-
-2011-03-07 23:13:56 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: add a unit test for gst_caps_new_simple
-	  Add a test for the crash in bug #642271.
-
-2011-03-08 18:05:42 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-meta.txt:
-	  docs: rename draft to official doc
-
-2011-03-08 16:58:49 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* tests/check/gst/gstmeta.c:
-	  meta: implement transform function
-	  Replace subbuffer and copy vmethods by a more generic transform function that
-	  can then be parametrised by transform specific data. This should allow us to
-	  implement make-writable and more future transform functions.
-
-2011-03-08 17:06:30 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-03-08 11:55:29 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstelementfactory.c:
-	  tests: add test to create a factory
-
-2011-03-08 10:36:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstelementfactory.c:
-	  tests: start a new test suite for element factories
-	  Move one test from gstelement suite.
-
-2011-03-08 11:34:19 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: add missing ; in example (and trim whitespace)
-
-2011-03-08 09:58:55 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: gst_structure_empty_new() does better error checking
-	  No need to check for media_type!=NULL as the function we call that actual create
-	  the structure does a full check anyway.
-
-2011-03-08 10:06:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	  caps,structure: trim trailing whitespace
-
-2011-03-04 08:28:25 +1000  Jonathan Matthew <jonathan@d14n.org>
-
-	* gst/gstcaps.c:
-	  caps: don't create broken caps for invalid media types
-	  Check if structure has been created before appending it to the caps. Free the
-	  caps in the case of an error to not conceal it be returning empty caps.
-	  Fixes #642271
-
-2011-03-07 16:21:47 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/helloworld/helloworld.c:
-	  examples: update hello world example
-	  Our helloworld example thatw e reference from the manual has been a bit
-	  complicated to serve a first contact with gstreamer. Since we have and
-	  promote playbin2 as a playback api use it here.
-	  Based on work from Mathias Hasselmann <mathias.hasselmann@gmx.de>
-	  Fixes #424143
-
-2011-03-04 19:02:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: update metadata draft
-
-2011-03-04 18:11:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: remove FIXME
-	  Now that we don't subclass buffers anymore, the FIXME about limited
-	  functionality of the copy function is irrelevant.
-
-2011-03-04 17:43:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add flag registration
-
-2011-03-04 17:25:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  pad: more preroll lock to basesink
-	  Move the preroll lock to basesink where it belongs.
-
-2011-03-04 16:05:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-bufferpool.txt:
-	  docs: update bufferpool draft
-
-2011-03-04 12:06:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferpool.c:
-	  bufferpool: add more debug info
-
-2011-03-03 18:38:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: add debug
-
-2011-03-03 18:21:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: add some more debug info
-
-2011-03-03 16:31:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  bufferpool: add caps to the config
-	  Add the caps to the configuration parameters of the pool.
-	  Initialize the private data
-
-2011-03-02 11:57:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2011-03-02 11:57:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: release buffer to pool in dispose
-	  Use the dispose method to release the buffer to the pool when it is configured.
-
-2011-02-22 12:35:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  buffer: add pool to buffer structure
-	  Keep a pointer to the bufferpool. Release the buffer to the pool when
-	  finalizing. Make sure the pool sets itself as the pool member of buffers that it
-	  sends out.
-
-2011-02-22 12:35:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: add pool flags type
-
-2011-02-22 11:05:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  docs: update bufferpool docs
-
-2011-02-21 18:43:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: Refactor stopping of the pool
-	  Move some methods around.
-	  Make sure we check for config parsing errors.
-	  Increment the outstanding buffers before calling acquire so that we can be sure
-	  that set_active() doesn't free the pool from under us.
-
-2011-02-21 17:33:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: Rework buffer management a little
-	  Add start/stop methods to allow for bulk allocation of buffers.
-	  Free buffers only when all outstanding buffers returned.
-	  Make things more threadsafe wrt flushing and starting/stopping by
-	  keeping track of start and stop method calls.
-
-2011-02-21 12:18:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: memory management cleanups
-	  Use a lock to protect concurrect execution of set_config and set_active.
-	  Start freeing the buffers when flushing and all buffers are returned to the
-	  pool.
-	  Make a copy of the config to avoid crashing with concurrent access.
-
-2011-02-18 16:35:46 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: also allow NULL params in _acquire
-
-2011-02-18 16:15:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: more updates
-	  Keep track if the buffer is configured and block activation when not configured
-	  yet.
-	  Keep track of outstanding buffers and disallow configuration when not all
-	  buffers are returned to the pool. We need to do this or else we might end up
-	  with wrong buffers in the pool.
-	  Add return value to set_active.
-	  Small cleanups. Fix finalize.
-
-2011-02-18 12:50:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: rename 'flushing' to 'active'
-	  Rename the flushing variable and methods to active to better match
-	  the other gstreamer name conventions
-
-2011-02-17 18:37:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	  bufferpool: prealloc when unset flushing
-	  According to the design doc we need to prealloc buffers when we unset the
-	  flushing state, not in set_config.
-	  Set the flushing state better.
-
-2011-02-17 17:29:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  bufferpool: use quarks for structure fields
-
-2011-02-17 16:46:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	* win32/common/libgstreamer.def:
-	  bufferpool: use GstStructure to configure the pool
-	  Use a GstStructure to provide the pool with the right configuration. Also
-	  provide some helper methods to configure such a structure.
-	  don't pass the config in alloc_buffer, pool implementation will already have
-	  parsed it during set_config.
-	  Update defs
-
-2011-02-17 12:55:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  fix defs
-
-2010-11-02 18:56:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstbufferpool.c:
-	* gst/gstbufferpool.h:
-	  bufferpool: add simple bufferpool helper object
-
-2011-03-02 11:08:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  gst/gstregistry.h
-
-2011-03-02 13:55:36 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* docs/faq/git.xml:
-	  faq: Minor update to ssh key generation commands
-	  fd.o requires RSA keys, and in general, users would probably want to
-	  make a per-server key file rather than overwrite id_rsa, id_rsa.pub.
-
-2011-02-28 18:43:41 +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:07 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 1de7f6a to 6aec6b9
-
-2011-02-28 15:01:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.h:
-	* gst/gstutils.c:
-	* libs/gst/controller/gsthelper.c:
-	  docs: typo fixes
-	  convinience -> convenience
-
-2011-02-28 14:56:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: print "pad-added", "pad-removed" and "no-more-pads" signals for elements with sometimes pads
-	  It's often not obvious to people that elements like e.g. uridecodebin
-	  (or demuxers) automatically support the standard signals of the
-	  GstElement class, so let's print the useful pad-related ones for
-	  elements with sometimes pads.
-
-2011-02-28 16:27:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  docs: small updates as suggested on a blog
-	  Link from convinience api to the underlying api.
-
-2011-02-28 10:05:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: add timing metadata
-
-2011-02-28 10:05:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.h:
-	  miniobject: fix whitespace
-
-2011-02-28 09:39:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmeta.c:
-	  tests: add memory unit test
-
-2011-02-27 20:54:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	  meta: simplify a bit
-
-2011-02-27 20:42:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* win32/common/libgstreamer.def:
-	  meta: add default memory metadata
-	  Add a metadata implementation for normall malloced memory.
-
-2011-02-27 19:40:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstmeta.h:
-	* tests/check/gst/gstmeta.c:
-	* win32/common/libgstreamer.def:
-	  meta: separate add and get methods
-	  Make separate api for getting and adding metadata. This allows us to pass extra
-	  parameters to the init functions when creating metadata, which is needed for
-	  specific API implementations.
-	  Add beginnings of memory metadata.
-
-2011-02-27 12:21:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	* gst/gstminiobject.h:
-	* win32/common/libgstreamer.def:
-	  docs: update docs and defs
-
-2011-02-26 18:14:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: remove useless method
-	  Remove the method to retrieve metadata by api. One will always use the
-	  GstMetaInfo to get metadata.
-
-2011-02-25 16:31:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: remove owner_priv now that we have metadata
-	  Now that we have metadata we can remove the owner_priv field.
-
-2011-02-25 13:23:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: fix defs
-
-2011-02-25 13:15:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbuffermeta.c:
-	* gst/gstmeta.c:
-	* gst/gstmeta.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstmeta.c:
-	  metadata: Rename to GstMeta
-	  Rename to the shorter GstMeta
-	  Add docs
-	  Add api to get metadata by API
-
-2011-02-25 10:37:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: fix defs
-
-2010-11-15 11:49:24 +0100  Philippe Normand <phil at base-art.net>
-
-	* gst/gstbuffer.c:
-	  buffer: fix memory corruption
-
-2010-04-07 11:34:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffermeta.c:
-	* tests/check/gst/gstbuffermeta.c:
-	  buffermeta: fix compilation
-
-2010-02-26 13:11:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	* gst/gstbuffermeta.h:
-	  updates
-
-2009-12-27 22:03:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbuffermeta.c:
-	  meta: improve test a little
-
-2009-12-17 12:34:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbuffermeta.c:
-	* gst/gstbuffermeta.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstbuffermeta.c:
-	* win32/common/libgstreamer.def:
-	  buffermeta: add beginnings of buffer metadata
-	  Add first implementation of arbitrary buffer metadata. We use a simple linked
-	  linked of slice allocated metadata chunks. Future implementations could use
-	  something more performant.
-	  Add get, remove, iterate methods to handle the metadata.
-
-2011-02-25 10:19:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  design: add api tag
-	  We want to find metadata based on the API it implements and based on the
-	  specific implementation.
-
-2011-02-24 17:11:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  uri: make win32 buildbot happy
-	  gsturi.c:854:16: error: unused variable 'abs_clean'
-	  gsturi.c:788:1: error: 'gst_file_utils_canonicalise_path' defined but not used
-
-2011-02-24 15:32:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/elements/filesrc.c:
-	  filesrc, filesink: fix URI creation regression for non-absolute locations
-	  Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
-	  wants an absolute file path and returns NULL otherwise. Use brand-new
-	  gst_filename_to_uri() instead, which will try harder to create a proper
-	  URI for us.
-	  Also add unit test.
-
-2011-02-24 15:18:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* win32/common/libgstreamer.def:
-	  uri: add gst_filename_to_uri() that takes relative filenames
-	  Add function that (unlike the GLib equivalent) also accepts paths that
-	  aren't absolute and will clean up relative markers such as ./ and ../
-	  before forming a URI.
-	  Fixes warnings with e.g. filesrc location=foo ! typefind caused by the
-	  recent switch to g_filename_to_uri(), but also actually creates valid
-	  URIs for the first time.
-	  Windows code paths could need some more work, e.g. we don't clean up
-	  the relative markers there for now (because path could have \ and /
-	  as separators).
-	  API: gst_filename_to_uri()
-
-2011-02-24 16:20:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstabi.c:
-	* tests/check/libs/libsabi.c:
-	  tests: refix the tests (missing #endif)
-
-2011-02-24 16:11:17 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/Makefile.am:
-	  Makefile.am: add new abi headers to nodist_HEADERS
-
-2011-02-21 11:24:45 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  gst-launch: add index support
-	  When option "-i" is given, set an index object on the pipeline and compute
-	  statistics for all index writers. Print a sumary when shutting down the
-	  pipeline.
-
-2011-02-24 15:12:14 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/libsabi.c:
-	* tests/check/libs/struct_arm.h:
-	  tests: add abi check data for ARM (libs)
-
-2011-02-24 15:02:37 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstabi.c:
-	* tests/check/gst/struct_arm.h:
-	  tests: add abi check data for ARM
-
-2011-02-24 13:55:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: add owner private as intermediate solution
-	  Add an owner private field where the owner of a buffer can store some extra
-	  information. We can use this to implement most of the subclassing that happens
-	  now. Later this will be removed and replaced by arbitrary buffer metadata.
-
-2011-02-24 10:28:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: remove poisoning
-
-2011-02-23 16:48:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.h:
-	* gst/gstquery.c:
-	  miniobject: cleanups
-	  Use the stored size in the miniobject to free the miniobject.
-	  Refactor some init methods.
-
-2011-02-23 15:43:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting guide
-
-2011-02-23 12:54:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting guide
-
-2011-02-23 12:44:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.h:
-	  caps: warn when make_writable result is ignored
-
-2011-02-23 12:08:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: fix defs
-
-2011-02-23 12:01:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: fix type registration
-	  We need to have the types of the miniobjects before registering the
-	  tranforms.
-
-2011-02-23 12:01:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: improve caps string management
-
-2011-02-23 12:00:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: clear flags in init
-
-2011-02-23 12:33:58 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/running.xml:
-	  docs: tell that ORC_CODE can contain a list of flags
-
-2011-02-23 10:31:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gstminiobject.h:
-	  miniobject: fix flags
-
-2011-02-22 19:30:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  fix compilation after rebase
-
-2010-11-02 13:31:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* plugins/elements/gsttypefindelement.c:
-	  improve type registration
-
-2010-11-02 12:58:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstcaps.c:
-	* gst/gstelementfactory.c:
-	* gst/gstminiobject.c:
-	* gst/gstregistrychunks.c:
-	  fix compilation
-
-2009-12-07 20:32:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstquery.h:
-	  fix macros
-
-2009-12-05 15:18:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: set boxed type correctly
-
-2009-12-05 14:16:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	  miniobject: small fixes
-	  Make dataflow happen.
-
-2009-12-04 23:52:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	* gst/gstquery.c:
-	* gst/gsttaglist.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesink.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/gst/gstutils.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/gst/struct_x86_64.h:
-	* tools/gst-inspect.c:
-	  miniobject: more boxed type fixing
-	  More miniobject fixing, leaks horribly somewhere..
-
-2009-12-04 22:32:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.h:
-	* gst/gstevent.c:
-	* gst/gstmarshal.list:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstpad.c:
-	  miniobject: make queries a boxed type
-	  More minionject stuff.
-
-2009-12-03 20:49:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstelementfactory.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	  messages: make message a simple boxed type
-
-2009-12-02 21:21:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	  miniobject: work on making caps a boxed type
-	  More work on making miniobject a simple allocated struct.
-
-2009-11-29 00:21:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcaps.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstquery.h:
-	  miniobject: make miniobject a boxed type
-	  First attempt at making miniobject a simple boxed type.
-
-2011-02-22 19:09:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	  libs: cleanups for 0.11
-	  Remove deprecated stuff, fix padding, rearrange methods.
-
-2011-02-22 16:04:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstindex.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstplugin.h:
-	* gst/gstregistry.h:
-	* gst/gstsegment.h:
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  cleanups
-	  Fix padding, remove deprecated symbols.
-
-2011-02-22 15:08:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2011-02-22 14:11:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-	  Conflicts:
-	  configure.ac
-	  gst/gstelement.c
-	  gst/gstelement.h
-	  gst/gstpad.c
-	  gst/gstutils.c
-	  libs/gst/base/Makefile.am
-	  libs/gst/check/Makefile.am
-	  libs/gst/controller/Makefile.am
-	  libs/gst/dataprotocol/Makefile.am
-	  libs/gst/net/Makefile.am
-	  win32/common/libgstreamer.def
-
-2011-02-14 18:05:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/libs/transform1.c:
-	  basetransform: Be smarter with pad allocs
-	  Avoid doing unnecessary pad-allocs when on passthrough mode.
-	  If multiple basetransform elements are on a pipeline, they
-	  would do a pad-alloc for each received buffer, each element
-	  would do this, so we would have lots of pad allocs on the
-	  pipeline for a single buffer being pushed through it.
-	  This patch attempts to reduce this amount by avoiding
-	  doing pad-allocs if the element has already done it
-	  after the last pushed buffer. So it will only be allowed
-	  to do a new pad-alloc after it has pushed a buffer, so we get
-	  1x1 pad-alloc and buffer ratio
-	  https://bugzilla.gnome.org/show_bug.cgi?id=642373
-
-2011-02-21 13:39:38 +0100  Philip Jägenstedt <philipj@opera.com>
-
-	* gst/gstindex.c:
-	  docs: fix typo in gst_index_new() docs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=642869
-
-2011-02-21 12:44:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: print new MEDIA4 flag as well
-
-2011-01-03 11:37:05 +0100  Robert Swain <robert.swain@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gstminiobject.h:
-	  miniobject, buffer: steal miniobject flag for use as MEDIA4 buffer flag
-	  This was required to add a new MEDIA4 buffer flag for indicating
-	  progressive/mixed telecine video buffers. There is no space for
-	  additional flags in GstBuffer, so steal one from GstMiniObject.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=642671
-
-2011-02-20 16:11:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	  docs: add some more Since: markers to atomic queue docs
-
-2011-02-21 11:55:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  Revert "element: Call ->release_pad() to clean up pad"
-	  This commit changes the request pad behaviour for plugins and applications.
-	  Reopens Bug #402562
-	  The proper fix for that bug is to keep track of created request pads.
-	  This reverts commit a5e44ffffaa6d7a8d7af8dcb77e37990996253a5.
-
-2011-02-21 10:03:16 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstindex.c:
-	  index: add FIXME-0.11: comments
-
-2011-02-15 10:57:08 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstindex.c:
-	  docs: improve index docs
-
-2011-02-18 17:09:14 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/design/part-progress.txt:
-	  docs: spell-check
-
-2011-02-15 19:15:16 -0800  David Schleef <ds@schleef.org>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: print buffer flags
-
-2010-12-04 18:53:55 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstelement.c:
-	  element: Call ->release_pad() to clean up pad
-	  Fixes #636011 and #402562.
-
-2011-02-17 14:50:40 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstindex.c:
-	  index: fix creation of writer id for unparented pads
-	  Also do some cleanup in the impl.
-
-2011-02-17 10:34:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: add (de)serialisation function for uchar
-	  .. since we sadly have a plugin in -good that has a uchar property
-	  (cmmlenc)
-	  https://bugzilla.gnome.org/show_bug.cgi?id=642522
-
-2011-02-16 19:54:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix include order atomicqueue: fix include order# Please enter the commit message for your changes. Lines starting
-
-2010-10-28 13:27:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  bus: make the bus almost lockfree
-	  Use new GstPoll functionality to wakeup the mainloop.
-	  Use an atomic queue on the writer side to post the messages.
-	  The reader side it protected with the lock still because we don't want multiple
-	  concurrent readers.
-
-2011-02-16 17:21:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: fix defs file for new symbols
-
-2011-02-16 17:14:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: use correct array sizes
-
-2011-02-16 16:21:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: fix docs some more
-
-2011-02-16 16:19:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	  atomicqueue: add refcounting and docs
-
-2011-02-16 12:48:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstatomicqueue.c:
-	  atomicqueue: make sure a min initial_size is used
-
-2010-10-28 16:02:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gstatomicqueue.c:
-	* gst/gstatomicqueue.h:
-	  atomicqueue: add an atomic queue
-	  Add an atomic queue. The queue can be used from multiple threads simultaneously
-	  and without taking any locks or doing any blocking operations. This makes it
-	  highly scalable for things like the bus, bufferpools and object recycling.
-
-2011-02-16 17:14:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbus.c:
-	  check: fix a leak in the bus unit test
-
-2011-02-16 17:28:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  deinit: add progress type class unref
-
-2011-02-16 15:13:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  utils: tell also what pad a pad is already linked against
-
-2011-02-15 22:56:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	  file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
-
-2011-02-15 22:49:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/filesink.c:
-	* tests/check/elements/filesrc.c:
-	  file{src,sink}: Fix unit tests
-	  filesink and filesrc should return exactly the same URI as passed
-	  and must not escape path separators.
-
-2011-02-15 22:48:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Fix escaping of URIs
-	  Especially don't escape / as path separators
-
-2011-02-15 22:05:31 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: Fix escaping of file uris
-	  Fixes bug #642393.
-
-2011-02-15 18:26:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message: add timeout to progress message
-	  Add a timeout member to the progress messages to let the application know about
-	  the timeout so that it can do some gui things with it.
-
-2011-02-15 18:14:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-progress.txt:
-	  design: mention timeout in the progress message
-
-2011-02-15 17:20:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-progress.txt:
-	  design: make progress draft official
-
-2011-01-06 18:55:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  message: rename category to code
-
-2011-01-06 15:58:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: add new message quark
-
-2011-01-06 15:58:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	  docs: add more standard categories
-
-2011-01-05 13:53:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: register new type
-
-2011-01-05 13:48:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmessage.c:
-	  check: add progress message unit test
-
-2011-01-05 13:41:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  message: add progress message functions
-
-2011-01-05 13:39:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	  docs: update progress field
-	  Avoid naming the progress free text field 'message' as it conflicts with the
-	  message itself.
-
-2011-02-15 14:42:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't read beyond the end of file upstream in pull mode
-	  ... which could lead to a premature eos being reported downstream,
-	  rather than a successful partial read which would result when
-	  performed directly on e.g. basesrc.
-
-2011-01-26 16:46:25 +0800  Chen Rui <rui.chen@tieto.com>
-
-	* gst/gstutils.c:
-	  utils: return real error in compatible link check
-	  We need to ensure we call gst_pad_check_link() with the two pads in the correct
-	  order. The order depends on wheter we iterate src or sink pads.
-	  Signed-off-by: Chen Rui <rui.chen@tieto.com>
-
-2011-02-14 17:31:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Check sinkpad for flushing
-	  Check the sinkpad for the flushing state before calling the chainfunction on the
-	  pad. We do this by checking the cache (which is also cleared on the srcpad when
-	  the sink is set to flushing).
-	  Fixes #641928
-
-2011-02-11 17:47:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Check for pad alloc caps when suggestion is not fixed
-	  If after computing the suggestion with downstream caps we still have
-	  a non-fixed suggestion caps try to intersect with the input caps
-	  of the pad alloc to avoid useless renegotiations.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=642130
-
-2011-02-14 14:00:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve duration calculation
-	  Keep track of the average distance between incomming timestamps and
-	  use that to estimate the frame duration when buffers have no duration set on
-	  them.
-
-2011-02-14 13:49:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve rate calculation
-	  When there is no duration on input buffers, assume the rate is 1.0
-	  instead of (the undefined) 0.0.
-
-2011-02-14 13:47:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve average duration calculation
-	  Improve the calculation of the duration. When we have no input duration set on
-	  the input buffers stop is set to start and then we end up using a 0 duration in
-	  the average calculation.
-
-2011-02-14 12:21:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: rename variable
-	  Rename an internal variable to better reflact what its value means.
-
-2011-02-14 15:39:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  parse-launch: trim whitespaces
-
-2011-02-14 15:37:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  parse-launch: fix typo in pad-list length comparision
-	  It was comparing the length with itself.
-	  Fixes #642071.
-
-2011-02-14 12:52:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From f94d739 to 1de7f6a
-
-2011-02-13 22:56:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: pretty-print datetime tags
-
-2011-02-10 23:30:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gstreamer.doap:
-	  gstreamer.doap: update mailing list host
-
-2011-02-10 14:53:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix some comments
-
-2011-02-10 14:50:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: keep track of earliest QoS timestamp
-	  Keep track of the earliest allowed timestamp according to the latest
-	  QoS report and drop buffers before that time. Activate this filter
-	  when throttling is enabled. We could later also activate this in the
-	  other QoS cases.
-	  See #638891
-
-2011-02-10 14:17:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use new QoS type
-	  Use the new QoS type and send throttling QoS messages.
-
-2011-02-10 13:42:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* win32/common/libgstbase.def:
-	  basesink: add property to configure a throttle-time
-	  Add a property to configure the throttle time on a sink. The
-	  property is not yet used.
-	  See #638891
-
-2011-02-10 12:02:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* tests/check/gst/gstevent.c:
-	* win32/common/libgstreamer.def:
-	  event: add QoS event type
-	  Add a parameter to the QoS event to specify the QoS event type.
-	  Update docs and add unit test.
-	  See #638891
-
-2011-02-10 12:00:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: fix parameter docs
-
-2011-02-10 10:49:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  design: tweak docs a little
-
-2011-02-10 10:34:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  design: update QoS document
-	  Add new QoS types and talk about the new throttle QoS message.
-
-2011-02-10 13:46:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/draft-bufferpool.txt:
-	  docs: fix some typos in the bufferpool draft
-
-2011-02-10 10:19:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  events: fix g-i annotation for gst_event_new_tag() which takes ownership of the tag list
-
-2011-02-10 00:02:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-pads.xml:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	  docs: mention that it's necessary to set the state of elements added to an already-running pipeline
-	  https://bugzilla.gnome.org/show_bug.cgi?id=641631
-
-2011-02-09 16:22:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-bufferpool.txt:
-	  design: add draft for first ideas for a bufferpool feature
-	  Add a first draft with some ideas and use cases for the implementation
-	  for bufferpools. The purpose is to be able to make elements negotiate
-	  their buffer requirements as well as provide an infrastructure to
-	  preallocate and reuse buffers in an easy way.
-
-2011-02-09 15:23:13 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaglist.h:
-	  docs: clarify the NOMINAL_BITRATE docs
-	  Tell that its a target bitrate and actual values might be different.
-
-2011-02-03 15:17:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: trigger rebuild setup in _new
-	  Failing to do so in the Windows case (implicitly triggered otherwise)
-	  would have a subsequent _wait return immediately leading to high CPU
-	  usage timeout loops.
-	  Fixes #640675.
-
-2011-02-03 10:53:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: make adding/removing of gst_debug_log_default() work properly
-	  Make adding/removing gst_debug_log_default() work reliably in all
-	  circumstances. The problem was that depending on platform and linker
-	  flags the function argument might resolve to different addresses,
-	  which made it impossible to remove the default log function added
-	  in gst_init() from application code (because the pointer values
-	  didn't match). The new approach should keep things simple by passing
-	  NULL for the default function, which the code in libgstreamer can
-	  then handle.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=625396
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640771
-
-2011-02-03 10:28:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  Revert "info: use the publicly visible address to fix the tests"
-	  This reverts commit eb56687a6dfd207507a4ca000eae53f93b5e33ea.
-	  While this commit may have fixed a problem on one of the build bots,
-	  it didn't actually fix the original bug reported for win32.
-	  Also, it causes other problems, such as the lookup failing when
-	  called from C++ code (gst-phonon, amarok).
-	  This needs to be fixed differently.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640771
-	  https://bugzilla.gnome.org/show_bug.cgi?id=625396
-
-2011-02-02 15:35:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: properly identity dequeued event as such
-	  ... which avoids terminating with ERROR rather than UNEXPECTED.
-
-2011-02-02 02:07:58 +0000  Peter Collingbourne <peter@pcc.me.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: use $GST_PREFIX variable
-	  This makes it easier to change the prefix by editing the script.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=641212
-
-2010-08-19 22:43:07 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: add a new "encoded-by" tag
-	  Usecase: ID3v2 TENC ("Encoded by") frame.
-	  API: GST_TAG_ENCODED_BY
-	  https://bugzilla.gnome.org/show_bug.cgi?id=627268
-
-2011-01-29 18:02:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnettimeprovider.h:
-	  net: 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-31 15:58:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* tests/check/gst/gstbus.c:
-	  bus: honour any per-thread default main context set via g_main_thread_push_thread_default()
-	  Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(),
-	  and gst_bus_add_signal_watch_full() convenience functions automatically pick up
-	  any non-default main contexts set for the current thread via
-	  g_main_thread_push_thread_default().
-
-2011-01-28 15:36:33 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Only set discont on the first buffer after drops
-	  Reset the discont member after setting discont on the first buffer after
-	  dropping.
-
-2011-01-28 19:08:08 +0000  Bastien Nocera <hadess@hadess.net>
-
-	* gst/gstelement.c:
-	  GstElement: Fix warning with GCC 4.6
-	  gstelement.c: In function ‘gst_element_get_request_pad’:
-	  gstelement.c:1052:18: error: variable ‘tmp’ set but not used [-Werror=unused-but-set-variable]
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640850
-
-2011-01-27 09:28:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: print unset buffer timestamps or durations as 'none'
-	  Like fakesink and fakesrc do.
-
-2011-01-12 16:03:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: don't take object lock for reading the found caps
-	  Once we switch to normal mode, we're not typefinding anymore and thus the caps
-	  will not change. Therefore can avoid the object lock in the data-flow path.
-	  The locking was added in order to fix bug #608877.
-
-2011-01-25 09:39:45 +0800  Zhang Wanming <Wanming.Zhang@tieto.com>
-
-	* docs/design/part-gstbin.txt:
-	* docs/design/part-gstghostpad.txt:
-	* docs/random/caps:
-	* docs/random/omega/TODO-0.1.0:
-	* docs/random/thomasvs/capturing:
-	* docs/random/wtay/events:
-	* docs/random/wtay/events3:
-	* docs/slides/outline:
-	  docs: fix a few more typos
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640502
-
-2011-01-25 18:48:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  docs: flesh out typefindelement docs some more
-	  Mention that have-type signal may be emitted from streaming
-	  thread or application thread, and fix a typo.
-
-2011-01-12 16:03:57 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: code and comment cleanups
-	  Make code two places of the code the pushes the buffer store more similar. More
-	  comments and debug logging.
-
-2011-01-12 13:05:06 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttrace.c:
-	  trace: ensure messages are \0 terminated
-
-2011-01-12 12:58:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/net/gstnettimeprovider.c:
-	  nettimeprovider: handle invalid network addresses earlier
-	  Handle inet_aton() return code.
-
-2011-01-12 12:44:59 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  checks: add a comment to indicate that we intentionally leave out the 'break'
-
-2011-01-12 12:43:04 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  registry: remove dead code
-	  The GError is only used for the mmap operations. If we have an error we handle
-	  and clean it there already.
-
-2011-01-12 09:33:53 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	  docs: small controller api docs improvement
-
-2011-01-11 15:09:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: canonicalize signal name
-
-2011-01-11 15:09:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  docs: mention have-type signal in the docs.
-
-2011-01-25 09:15:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  docs: minor gst-launch man page fix
-	  Transmitter/receiver pipelines were mislabelled. Spotted by Majin.
-
-2011-01-25 16:09:18 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/elements/multiqueue.c:
-	  multiqueue test: Remove workaround for pad_task hangs
-	  Remove code that isn't needed any longer, which sets the multiqueue
-	  to PLAYING and back before unreffing, in order to avoid a deadlock
-	  waiting for gstpad tasks that were never started. The problem seems
-	  to have been fixed long ago.
-
-2011-01-25 00:20:34 +0800  Cai Yuanqing <ckjacket@gmail.com>
-
-	* docs/design/part-MT-refcounting.txt:
-	  design docs: fix 2 typos in part-MT-refcounting
-
-2011-01-24 17:46:15 +0800  Yang Xichuan <xichuan.yang@tieto.com>
-
-	* docs/design/part-gstbin.txt:
-	  design docs: part-gstbin.txt fix typo
-	  Signed-off-by: Yang Xichuan <xichuan.yang@tieto.com>
-
-2011-01-19 15:48:26 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* docs/design/part-block.txt:
-	* docs/design/part-bufferlist.txt:
-	* docs/design/part-clocks.txt:
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-preroll.txt:
-	* docs/design/part-push-pull.txt:
-	* docs/design/part-scheduling.txt:
-	* docs/design/part-seeking.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-states.txt:
-	* docs/design/part-streams.txt:
-	* docs/design/part-synchronisation.txt:
-	  design docs: fix a few typos and a thinko
-
-2011-01-11 17:43:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  clock: API: Add function to re-init periodic GstClockIDs
-
-2011-01-20 14:37:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  gstpluginloader: do not leak the description string
-	  The description string was changed to an inlined string a while back.
-	  (But: no need to intern the const strings here, we just use the interning
-	  to avoid allocating duplicates and make memory management easier,
-	  since the strings will be around for the life-time of the app anyway).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=640071
-
-2011-01-22 15:33:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: clarify docs
-
-2011-01-11 10:33:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-buffering.txt:
-	  design: update buffering doc
-	  Add strategies to buffering doc
-
-2011-01-24 11:53:12 +0200  Mart Raudsepp <mart.raudsepp@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  docs: add missing "Since: 0.10.32" markers for GstClock
-	  Since tags were missing for gst_clock_single_shot_id_reinit()
-	  and GST_CLOCK_DONE.
-
-2011-01-24 10:56:21 +0200  Mart Raudsepp <mart.raudsepp@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  docs: Fix GstQueue2:ring-buffer-max-size property Since tag (0.10.31, not 0.10.30)
-
-2011-01-24 10:26:45 +0200  Mart Raudsepp <mart.raudsepp@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  docs: add missing "Since: 0.10.31" marker for gst_structure_get_date_time()
-
-2011-01-24 14:22:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/pipelines/parse-launch.c:
-	  tests: add unit test for read-beyond-end-of-string bug
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639674
-
-2011-01-24 14:16:37 +0000  Miguel Angel Cabrera Moya <madmac2501@gmail.com>
-
-	* gst/parse/types.h:
-	  parse-launch: don't read past end of string if last character is an escape char
-	  When the last character of a property value is a backslash
-	  the unescaping code reads one byte pass the end of the string.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639674
-
-2011-01-14 09:21:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manuals.mak:
-	  docs: hack a charset=utf-8 into pwg/adm html versions
-	  So the encoding of the original document is respected and
-	  displays properly in browsers where the encoding autodetection
-	  fails to recognise that it's utf-8.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639448
-
-2011-01-13 15:41:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  check: don't leak xml file name if GST_CHECK_XML is set
-	  Spotted by nvineeth@gmail.com
-
-2011-01-23 23:45:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development
-
-=== release 0.10.32 ===
-
-2011-01-21 10:25:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.32
-
-2011-01-20 19:07:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  Revert "configure: require gobject-introspection >= 0.9.12"
-	  This reverts commit 3a59d416af6d0f8b61e2460830eb6f1138929ec2.
-	  Reverting this, as the feature we bumped the requirement for
-	  didn't actually work properly or help with the issue we were
-	  trying to fix (and it was fixed differently in the end).
-
-2011-01-18 22:51:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/advanced-threads.xml:
-	  docs: fix spelling of 'threshold' in app dev manual
-
-2011-01-18 10:10:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.31.4 pre-release
-
-2011-01-18 09:04:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  gobject-introspection: try harder to make g-ir-scanner use the right libgstreamer
-	  Apply fix from libgstbase to all core libs now that we know that it
-	  works. Should fix problems with g-ir-scanner using the wrong
-	  (ie. system) libgstreamer, leading to linking errors such as
-	  undefined reference to `gst_clock_single_shot_id_reinit'.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=637549
-
-2011-01-14 00:20:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manuals.mak:
-	* docs/pwg/pwg.xml:
-	  docs: fix garbled UTF-8 characters when generating app dev manual ps/pdf
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639448
-
-2011-01-13 20:12:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	  gobject-introspection: another attempt to make g-i find the right libgstreamer
-	  Turns out g-i puts the additional -L we specify at the end, helpfully.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=637549
-
-2011-01-12 15:46:00 +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.
-
-2011-01-12 10:17:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/Makefile.am:
-	  controller: update g-i include paths as well for header changes
-	  Hopefully makes Lucid and Maverick build bots happy again
-
-2011-01-11 18:39:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.31.3 pre-release
-
-2011-01-11 18:38:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/LINGUAS:
-	* po/gl.po:
-	* po/pt_BR.po:
-	* po/sv.po:
-	  po: update translations
-
-2011-01-11 19:26:40 +0100  Benjamin Otte <otte@redhat.com>
-
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gstcontrollerprivate.h:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	* libs/gst/controller/gstlfocontrolsource.h:
-	  controller: Fix headers to use < > in #include statements
-	  The behavior of " " in include statements is implementation-defined -
-	  see the C standard, section 6.10.2 or
-	  http://stackoverflow.com/questions/21593
-
-2011-01-11 19:14:28 +0100  Benjamin Otte <otte@redhat.com>
-
-	* libs/gst/net/Makefile.am:
-	  gstnet: Fix --c-include for gir generation
-	  Previously it was - probably due to copy/paste error - looking for
-	  gstbase headers.
-	  It's changed now to only include the one public header for gstnet.h
-
-2011-01-11 13:47:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  gobject-introspection: make g-ir-scanner try harder to find the right libgstreamer
-	  It's not quite clear to me why g-ir-scanner doesn't get this info from
-	  the pkg-config file, nor why libtool doesn't get it from the .la.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=637549
-
-2011-01-11 13:05:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	  pkgconfig: also add libdir to -uninstalled .pc files
-	  This way we can find the paths to pass e.g. g-ir-scanner for
-	  uninstalled setups.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=639039
-
-2011-01-11 15:49:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From e572c87 to f94d739
-
-2011-01-11 15:10:32 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: fixe the property link and the sice docs
-
-2011-01-11 12:46:31 +0000  Raimo Järvi <raimo.jarvi@gmail.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: fix compiler warning with MingW
-	  gstpoll.c: In function 'gst_poll_get_read_gpollfd':
-	  gstpoll.c:692:10: warning: assignment makes integer from pointer without a cast
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638900
-
-2011-01-10 14:37:41 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  test: outputselector: Add another negotiation test
-	  Adds an unit test to check that the output-selector works
-	  when negotiating before srcpads are requested
-
-2011-01-10 14:19:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Improve get and set caps functions
-	  Improve sink pad getcaps and setcaps by handling the case where
-	  no src pads exist yet
-
-2011-01-10 16:35:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From ccbaa85 to e572c87
-
-2011-01-10 14:52:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 46445ad to ccbaa85
-
-2011-01-10 09:59:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/elements/selector.c:
-	  tests: selector: unref peer pad
-	  Do not forget to unref peer's pad on output-selector negotiation
-	  tests
-
-2011-01-10 13:18:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: make sure we wait and release the live lock
-	  Make sure we release the live lock and wait in all cases when we need to wait
-	  for the playing or flushing state change.
-	  Fixes #635785
-
-2011-01-08 14:52:27 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistry.c:
-	  registry: Don't replace valid existing plugins by blacklisted ones
-	  Only replace existing plugins by blacklisted ones if they correspond
-	  to the exact same plugin. If they're not the same, keep the existing
-	  valid one.
-	  Fixes #638941
-
-2011-01-08 02:19:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst-element-check.m4.in:
-	* scripts/gst-uninstalled:
-	  configure, gst-uninstalled: remove a few bashism
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638961
-
-2011-01-07 12:13:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  0.10.31.2 pre-release
-
-2011-01-07 02:18:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstmemindex.c:
-	  indexers: fix two small leaks
-	  element factory plugin_names are interned strings these days.
-
-2011-01-07 00:53:11 +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, 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 19:40:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: ignore old libgstvalve.so and libgstselector.so plugins to minimize upgrade pain
-	  Ignore plugins which have been moved into coreelements, so it's
-	  still possible to just upgrade GStreamer core without having to
-	  upgrade the whole stack.
-
-2011-01-06 19:21:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	  Revert "padtemplate: allow disablinbg the template name conformance checks"
-	  This reverts commit f9039c22040e1a38a3691bc4d299af427c963255.
-	  We use -DG_DISABLE_ASSERTS for releases and pre-releases, but
-	  don't want to disable pad name checking for releases in general,
-	  I think. Need a better solution here. Fixes pad unit test in
-	  pre-release/release mode.
-
-2011-01-04 12:42:50 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	  output-selector: Add pad-negotiation-mode property
-	  Adds getcaps/setcaps to output-selector and adds a property
-	  to select which type of negotiation should be done.
-	  The available modes are:
-	  * none:   no negotiation (current behavior), getcaps return ANY and
-	  setcaps aren't set on any of the peers
-	  * all:    use all pads (default), getcaps returns the intersection of
-	  peer pads and setcaps is set on all peers
-	  * active: getcaps and setcaps are proxied to the active pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638381
-
-2011-01-06 18:18:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  docs: mention extra input-selector pad properties
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638381
-
-2011-01-06 17:47:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/LINGUAS:
-	* po/el.po:
-	  po: update translations
-
-2010-09-23 12:49:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: avoid unnecessary malloc/free for each log function call on MSVC
-	  Avoid unnecessary malloc/free to get the file basename on MSVC to avoid
-	  unnecessary overhead when doing GST_DEBUG=foo:5 or so (since it would be
-	  done before the category log level filtering).
-
-2011-01-06 17:29:46 +0000  christian schaller <christian.schaller@collabora.co.uk>
-
-	* gstreamer.spec.in:
-	  Update spec file with latest changes and enable GIR
-
-2011-01-05 12:59:48 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstobject.c:
-	  object: Fix creation of default name
-	  Change the fixed allocation (!) to g_strdup_printf().
-
-2010-12-20 13:30:43 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstutils.c:
-	* win32/common/libgstreamer.def:
-	  GstElement: Add a more flexible way to get request pads.
-	  The new request_new_pad_full vmethod provides an additional caps field,
-	  which allows elements to take better decision process.
-	  Also, add a gst_element_request_pad() function to allow developers to be
-	  able to specify which pad template they want a pad of.
-	  Convert gstutils to use that new method instead of the old one when more
-	  efficient.
-	  This is useful for being able to request pads in a more flexible way,
-	  especially when the element can provide pads whose caps depend on
-	  runtime configuration and therefore can't provide pre-registered
-	  pad templates.
-	  API: GstElement::request_new_pad_full
-	  API: gst_element_request_pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=637300
-
-2011-01-05 15:53:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstinputselector.h:
-	  inputselector: remove "select-all" property
-	  select-all mode is a bit broken (e.g. newsegment event
-	  handling), so remove that for now. The funnel element
-	  in farsight provides similar functionality.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=539042
-	  https://bugzilla.gnome.org/show_bug.cgi?id=638381
-
-2011-01-05 15:36:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: remove safety check for GLib < 2.8
-	  Don't worry about accidentally using GLib < 2.8 at runtime anymore.
-
-2011-01-05 11:26:13 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	  gstdatetime: Disable usage of GDateTime on MacOSX
-	  GLib's GDateTime doesn't handle properly the gmt offset. Therefore
-	  use our own internal version instead on MacOSX.
-	  See bug #638666
-
-2011-01-05 10:56:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	  design: more updates for the progress messages
-
-2011-01-04 18:36:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/pwg/building-signals.xml:
-	  pwg: Fix link to GObject documentation
-	  Better have gnome.org than viagra :)
-
-2011-01-03 20:32:23 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Always mark reception as complete after EXIT
-	  Avoids waiting forever on gst_poll_wait when using the select
-	  backend.
-	  Fixes #637057
-
-2011-01-04 00:48:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstconfig.h.in:
-	  gstinfo: don't use printf extensions if GLib isn't using the system printf
-	  Might help with https://bugzilla.gnome.org/show_bug.cgi?id=638599
-
-2011-01-03 20:19:05 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  gstpoll: Fix for (p)select backend
-	  We need to reset the revents field of each pollfd when reading the results
-	  from select else we'll end up with stray info from previous calls to
-	  select.
-
-2011-01-03 01:06:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: make new gst_value_list_merge() work properly
-	  Fix freeing of partially-inited list value when both values
-	  passed are equal and we want to return a single non-list
-	  value as result. Fixes unit test. Also fix up docs a bit.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=637776
-
-2010-12-21 23:03:12 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstreamer.def:
-	  tags: don't produce duplicated entries when merging same value twice
-	  Add a variant of gst_value_list_concat() that skips duplicates and use that when
-	  merging taglists.
-	  API: gst_value_list_merge()
-
-2011-01-02 16:58:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc, basesink: add some FIXMEs for the type of the blocksize property
-
-2010-12-31 12:08:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: make pad's get_type function thread-safe
-
-2010-12-31 11:37:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstselector-marshal.list:
-	* plugins/elements/gstselector.c:
-	  coreelements: remove unused files
-
-2010-12-31 12:27:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Protected g_object_notify() calls for the active-pad with a recursive mutex
-	  This works around a thread safety problem in GLib < 2.26.0 and should
-	  be removed when we depend on 2.26.0.
-	  Fixes bug #607513.
-
-2010-12-31 16:52:54 +0800  Zhang Wanming <Wanming.Zhang@tieto.com>
-
-	* tests/check/gst/gstutils.c:
-	  tests: fix typo
-	  Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
-
-2010-12-31 16:50:57 +0800  Zhang Wanming <Wanming.Zhang@tieto.com>
-
-	* plugins/elements/gstfdsink.c:
-	  gstfdsink: fix typo
-	  Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
-
-2010-12-31 16:50:17 +0800  Zhang Wanming <Wanming.Zhang@tieto.com>
-
-	* docs/random/ensonic/draft-bufferpools.txt:
-	  docs: fix typo
-	  Signed-off-by: Zhang Wanming <Wanming.Zhang@tieto.com>
-
-2010-12-30 18:02:06 -0800  David Schleef <ds@schleef.org>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: use g_ascii_strcasecmp()
-
-2010-12-31 01:09:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/icles/output-selector-test.c:
-	  tests: remove output-selector test which needs elements from -base
-	  Move it to -base instead.
-
-2010-12-31 00:59:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	  checks: enable input-selector and output-selector unit tests after move
-
-2010-12-31 00:48:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: add input-selector and output-selector to docs
-
-2010-12-31 00:45:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstqueue2.c:
-	  coreelements: GST_BOILERPLATE already sets parent_class
-
-2010-12-31 00:43:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstoutputselector.c:
-	  input-selector, output-selector: minor clean-ups
-
-2010-12-30 18:57:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstinputselector.c:
-	  coreelements: move input-selector and output-selector to core
-	  Moved to core from gst-plugins-bad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=614306
-
-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.
-
-2010-09-17 09:52:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Avoid losing the last_buffer when switching
-	  This patch makes outputselector take an extra ref when pushing
-	  the last_buffer to avoid it losing it during the switch function.
-	  This makes resend-latest properly work if the active-pad is changed
-	  during the switch function buffer pushing (on a pad probe, for example).
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629917
-
-2010-09-17 09:44:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: Recheck pending switch after pushing buffer
-	  This patch makes output-selector always recheck if there's a
-	  pending pad switch after pushing a buffer, preventing that
-	  it pushes a buffer on the 'wrong' pad.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629917
-
-2010-11-01 23:04:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: log times in human readable form
-
-2010-11-01 22:40:36 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/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-10-19 13:43:14 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstoutputselector.c:
-	  various (gst): add missing G_PARAM_STATIC_STRINGS flags
-	  Canonicalize property names as needed.
-
-2010-09-06 11:03:07 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: sync with copy in -base
-	  Use _get_caps_reffed to avoid copies.
-
-2010-08-24 11:50:47 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: move the debug init to the boilerplate macro
-
-2010-08-24 11:50:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: use GST_BOILERPLATE macro
-
-2010-03-22 13:16:33 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/check/elements/selector.c:
-	  Add -Wwrite-strings
-	  and fix its warnings
-
-2010-03-21 21:39:18 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/check/elements/selector.c:
-	  Add -Wmissing-declarations -Wmissing-prototypes to configure flags
-	  And fix all warnings
-
-2010-03-18 17:30:26 +0100  Benjamin Otte <otte@redhat.com>
-
-	* plugins/elements/gstinputselector.c:
-	* plugins/elements/gstoutputselector.c:
-	  gst_element_class_set_details => gst_element_class_set_details_simple
-
-2010-01-25 12:21:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  Revert "inputselector: Protect g_object_notify() with the object's mutex"
-	  This reverts commit 7e067615ffb5614f068f7753c10dde99afe49c3c, it's causing
-	  deadlocks with playbin2.
-
-2010-01-24 20:53:00 +0100  Kipp Cannon <kcannon@ligo.caltech.edu>
-
-	* plugins/elements/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.
-
-2009-11-09 11:49:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Remove useless variables and fix a uninitialized variable compiler warnings
-	  Merged from gst-plugins-base, dfd51aa82a9e1c9924375183796eab70e574a231.
-
-2009-11-09 11:48:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Make sure that running_time->timestamp calculation never becomes negative
-	  Merged from gst-plugins-base, f3653854585864a09d35e037853407332ea6901f.
-
-2009-11-09 11:48:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/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.
-	  Merged from gst-plugins-base, 27034be4611231cc55fa3d3e253baa40c6bff41d.
-
-2009-11-09 11:47:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Improve debugging
-	  Merged from gst-plugins-base.
-
-2009-11-05 13:53:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  Revert "inputselector: use get_caps_reffed()"
-	  This reverts commit 49ec4f796a0e3f88a851708782c853baf4b05724.
-	  We can't use this new function yet.
-
-2009-11-05 13:29:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: use get_caps_reffed()
-
-2009-11-04 00:21:19 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: also add inline to the proto to fix the build
-
-2009-11-03 18:14:12 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstinputselector.c:
-	  gst: Remove dead assignments and resulting unused variables
-	  Merged from gst-plugins-base, 8cd1b5209b68944e1be56ca8bb69e46d4abb7a34.
-
-2009-11-03 18:12:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use the same iterate internal links function as in gst-plugins-base
-
-2009-11-03 18:11:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: 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.
-	  Merged from gst-plugins-base, 6f4c1ac58341ee189225d313ddfe9ae24a65c88c.
-
-2009-11-03 18:09:55 +0100  David Schleef <ds@schleef.org>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: 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.
-	  Merged from gst-plugins-base, 0e9bc5125aca546d773ed1002df573dd8e2dc136.
-
-2009-11-03 18:08:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/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.
-	  Merged from gst-plugins-base, bdfb4b46d746ef298fcf44260879c342af4cafa3.
-
-2009-11-03 18:06:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/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.
-	  Merged from gst-plugins-base, 5b72f2adf996739036e8d9b5f91005455d1fface.
-
-2009-10-27 11:51:05 -0700  Michael Smith <msmith@songbirdnest.com>
-
-	* tests/icles/output-selector-test.c:
-	  Remove executable bits from non-executable files.
-
-2009-09-25 11:07:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use new single iterator for the internally linked pads
-	  This fixes a deadlock and removes some useless code.
-
-2009-08-31 19:31:57 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: make GST_FORMAT_TIME the default segment format
-
-2009-08-19 17:05:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Use iterate internal links instead of deprecated get internal links
-
-2009-07-31 11:27:03 +0300  Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: check for pending srcpad in _get_property()
-	  If there is a pending srcpad, return it instead of active srcpad
-	  in gst_output_selector_get_property() function.
-
-2009-06-12 10:14:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: do the pad_alloc for the pad that is pending and have a fallback
-	  We should do the pad_alloc for the pending pad if any, as we will switch to that
-	  pad on next _chain() call. Also do a fallback alloc, if there is no output yet to
-	  not fail state transitions in dynamic pipelines.
-
-2009-06-01 16:31:42 +0300  Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: serialize setting and actual changing of new active pad
-
-2009-05-04 12:29:54 +0300  Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: unref latest buffer also when resending has been disabled
-
-2009-04-16 17:32:03 +0300  Lasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>
-
-	* plugins/elements/gstoutputselector.c:
-	  output-selector: keep ref to buffer for resending only if explicitly requested
-
-2009-06-04 19:08:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: don't leak pads in iterator
-
-2009-06-04 08:56:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Notify when the tags property of the selector sinkpads changes
-	  First part of bug #584686.
-
-2009-05-28 10:38:50 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstoutputselector.h:
-	  selector: remove not needed instance var (previous commit).
-
-2009-05-28 10:12:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstoutputselector.c:
-	* plugins/elements/gstoutputselector.h:
-	  outputselector: implement pad_alloc on active pad.
-
-2009-04-23 11:04:46 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Forward segment events for the active pad immediately.
-	  When a segment event is received on the active pad, forward it downstream
-	  immediately instead of deferring it until the next data buffer arrives. This
-	  fixes problems with segment updates never being sent downstream, like those
-	  needed for sparse streams, or for closing previously opened segments.
-	  This fixes playback of DVD menus with a still video frame and an audio track,
-	  for example.
-	  Fixes: #577843
-
-2009-03-27 11:20:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstoutputselector.c:
-	  outputselector: reset state when going to READY
-	  Reset the last-buffer, the pending pad and the segment when going to the READY
-	  state.
-	  Fixes #576712.
-
-2009-03-24 15:23:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  selector: merge the tags
-	  Merge the tags received on the input-selector sinkpads instead of only keeping
-	  the last one we saw.
-
-2009-02-25 11:45:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstinputselector.c:
-	  docs: various doc fixes
-	  No short-desc as we have them in the element details.
-	  Also keep things (Makefile.am and sections.txt) sorted.
-	  Reword ambigous returns. No text after since please.
-
-2009-02-11 17:21:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstinputselector.c:
-	  inputselector: Fix compilation, activate_sinkpad() has no notify parameter
-
-2009-02-10 16:22:54 -0800  Michael Smith <msmith@songbirdnest.com>
-
-	* plugins/elements/gstinputselector.c:
-	  input-selector: Activate and notify pad before processing events.
-	  Events should trigger pad selection if we don't already have an
-	  explicitly selected pad, so that events prior to first buffer don't get
-	  lost.
-
-2009-01-30 18:27:03 -0800  Michael Smith <msmith@songbirdnest.com>
-
-	* plugins/elements/gstinputselector.c:
-	  Unref event if we don't forward it, unref pads when done with them.
-
-2008-12-04 17:51:37 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstinputselector.c: Ensure we emit notify::active-pad when auto-selecting a pad due to it having activit...
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c:
-	  Ensure we emit notify::active-pad when auto-selecting a pad
-	  due to it having activity and us not having an existing active
-	  pad. Fixes #563147
-
-2008-10-15 17:45:37 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstinputselector.c: Gracefully handle the cases when we dont' have otherpad.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_input_selector_event),
-	  (gst_input_selector_query):
-	  Gracefully handle the cases when we dont' have otherpad.
-	  Fixes #556430
-
-2008-10-07 13:14:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
-	  Original commit message from CVS:
-	  * plugins/elements/gstoutputselector.c:
-	  Choose right pad for sending events. Fixes #555244
-
-2008-09-08 20:27:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Reset the selector state when going to READY.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_reset),
-	  (gst_input_selector_reset), (gst_input_selector_change_state):
-	  Reset the selector state when going to READY.
-
-2008-09-01 13:23:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Reuse the get_linked_pads for both source and sinkpads because they are the same.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_input_selector_init),
-	  (gst_input_selector_event), (gst_input_selector_query):
-	  Reuse the get_linked_pads for both source and sinkpads because they are
-	  the same.
-	  Implement a custum event handler and get the internally linked pad
-	  directly instead of relying on the default (slower) implementation.
-
-2008-08-27 15:45:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Implement the LATENCY query in a better way by taking the latency of all sinkpads an...
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_input_selector_init),
-	  (gst_input_selector_query):
-	  Implement the LATENCY query in a better way by taking the latency of all
-	  sinkpads and taking the min/max instead of just taking a random pad.
-
-2008-08-05 09:05:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Move the select-all logic into the activation of the currently selected pad. We want...
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_bufferalloc),
-	  (gst_selector_pad_chain), (gst_input_selector_getcaps),
-	  (gst_input_selector_activate_sinkpad):
-	  Move the select-all logic into the activation of the currently selected
-	  pad. We want to remember the last pad with activity in select-all mode.
-	  Fix the getcaps function, we can produce the union of the upstream caps
-	  in select-all mode, not the intersection like proxy_getcaps() does.
-
-2008-06-19 13:18:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  output-selector: Use BOILERPLATE macro and update test to the latest api changes.
-	  Original commit message from CVS:
-	  * plugins/elements/gstoutputselector.c:
-	  * tests/icles/output-selector-test.c:
-	  Use BOILERPLATE macro and update test to the latest api changes.
-
-2008-06-12 14:49:18 +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:
-	  * plugins/elements/gstinputselector.c:
-	  * plugins/elements/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-03-20 18:10:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Do g_object_notify() only when not holding the lock to get the property because othe...
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c:
-	  (gst_input_selector_set_active_pad), (gst_input_selector_switch):
-	  Do g_object_notify() only when not holding the lock to get the property
-	  because otherwise we run into a deadlock with the deep-notify handlers
-	  that are possibly installed.
-
-2008-03-20 17:48:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Release the selector lock when pad alloc happens on a non selected pad.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init),
-	  (gst_selector_pad_event), (gst_selector_pad_bufferalloc),
-	  (gst_selector_pad_chain), (gst_input_selector_set_active_pad):
-	  Release the selector lock when pad alloc happens on a non selected pad.
-
-2008-03-20 17:07:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Add pad property to configure behaviour of the unselected pad, it can return OK or N...
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init),
-	  (gst_selector_pad_init), (gst_selector_pad_set_property),
-	  (gst_selector_pad_get_property), (gst_selector_pad_event),
-	  (gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
-	  (gst_input_selector_set_active_pad):
-	  Add pad property to configure behaviour of the unselected pad, it can
-	  return OK or NOT_LINKED, based on the use case.
-
-2008-03-20 16:48:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.*: Figure out the locking a bit more.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c:
-	  (gst_selector_pad_get_running_time), (gst_selector_pad_reset),
-	  (gst_selector_pad_event), (gst_selector_pad_bufferalloc),
-	  (gst_input_selector_wait), (gst_selector_pad_chain),
-	  (gst_input_selector_class_init), (gst_input_selector_init),
-	  (gst_input_selector_dispose), (gst_segment_set_start),
-	  (gst_input_selector_set_active_pad),
-	  (gst_input_selector_set_property),
-	  (gst_input_selector_get_property),
-	  (gst_input_selector_get_linked_pad),
-	  (gst_input_selector_is_active_sinkpad),
-	  (gst_input_selector_activate_sinkpad),
-	  (gst_input_selector_request_new_pad),
-	  (gst_input_selector_release_pad),
-	  (gst_input_selector_change_state), (gst_input_selector_block),
-	  (gst_input_selector_switch):
-	  * plugins/elements/gstinputselector.h:
-	  Figure out the locking a bit more.
-	  Mark buffers with discont after switching.
-	  Fix initial segment forwarding, make sure to only forward one segment
-	  regardless of what the sequence of buffers/segments is. See #522203.
-	  Improve flushing when blocked.
-	  Return NOT_LINKED when a stream is not selected.
-	  Not API change for the switch signal in the docs.
-	  Fix start/time/accum values of the new segment.
-	  Correctly unlock and flush a blocking selector when going to READY.
-
-2008-03-14 17:22:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Add lots of debugging.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_event),
-	  (gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
-	  (gst_input_selector_class_init),
-	  (gst_input_selector_set_active_pad),
-	  (gst_input_selector_set_property),
-	  (gst_input_selector_push_pending_stop):
-	  Add lots of debugging.
-	  Fix time member in the newsegment event.
-
-2008-03-13 16:46:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.*: Various cleanups.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_class_init),
-	  (gst_selector_pad_finalize), (gst_selector_pad_get_property),
-	  (gst_selector_pad_event), (gst_input_selector_class_init),
-	  (gst_input_selector_init), (gst_input_selector_set_active_pad),
-	  (gst_input_selector_set_property),
-	  (gst_input_selector_get_property),
-	  (gst_input_selector_request_new_pad),
-	  (gst_input_selector_release_pad),
-	  (gst_input_selector_push_pending_stop),
-	  (gst_input_selector_switch):
-	  * plugins/elements/gstinputselector.h:
-	  Various cleanups.
-	  Added tags to the pads.
-	  Select active pad based on the pad object instead of its name.
-	  Fix refcount in set_active_pad.
-	  Add property to get the number of pads.
-	  * plugins/elements/gstoutputselector.c:
-	  (gst_output_selector_class_init),
-	  (gst_output_selector_set_property),
-	  (gst_output_selector_get_property):
-	  Various cleanups.
-	  Select the active pad based on the pad object instead of its name.
-	  Fix locking when setting the active pad.
-	  * plugins/elements/gstselector-marshal.list:
-	  * tests/check/elements/selector.c: (cleanup_pad),
-	  (selector_set_active_pad), (run_input_selector_buffer_count):
-	  Fixes for pad instead of padname for pad selection.
-
-2008-02-26 12:01:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstoutputselector.c: Fix changing to same pad twice before a chain call.
-	  Original commit message from CVS:
-	  * plugins/elements/gstoutputselector.c:
-	  Fix changing to same pad twice before a chain call.
-
-2008-02-25 08:53:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstinputselector.*: Added "select-all" property to make it work like aggregator in 0.8.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c:
-	  * plugins/elements/gstinputselector.h:
-	  Added "select-all" property to make it work like aggregator in 0.8.
-	  * plugins/elements/gstoutputselector.c:
-	  Fix resend-latest behavoiur.
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/.cvsignore:
-	  * tests/check/elements/selector.c:
-	  Add unit tests for selector.
-
-2008-02-07 13:48:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/multifile/gstmultifilesink.c: Add a fixme comment.
-	  Original commit message from CVS:
-	  * gst/multifile/gstmultifilesink.c:
-	  Add a fixme comment.
-	  * plugins/elements/gstoutputselector.c:
-	  Fix same leak as in input-selector.
-	  * tests/icles/output-selector-test.c:
-	  Improve the test.
-
-2008-02-01 17:08:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstinputselector.c: Don't leak event on pads that are not linked. Fixes #512826.
-	  Original commit message from CVS:
-	  * plugins/elements/gstinputselector.c: (gst_selector_pad_event):
-	  Don't leak event on pads that are not linked. Fixes #512826.
-
-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-selectoo (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:
-	  * plugins/elements/.cvsignore:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstinputselector.c:
-	  * plugins/elements/gstinputselector.h:
-	  * plugins/elements/gstoutputselector.c:
-	  * plugins/elements/gstoutputselector.h:
-	  * plugins/elements/gstselector-marshal.list:
-	  * plugins/elements/gstselector.c:
-	  * plugins/elements/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 00:46:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	  docs: add valve element to documentation
-
-2010-12-30 00:41:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  valve: some minor clean-ups
-
-2010-12-30 00:30:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: fix typo in property description
-	  And rephrase while at it, to make it more concise.
-
-2010-12-30 00:26:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/valve.c:
-	  tests: enable valve unit test
-
-2010-12-30 00:22:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstvalve.c:
-	  elements: add new valve element to build
-	  Moved from gst-plugins-bad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=630808
-
-2010-10-19 23:40:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/valve.c:
-	  tests: fix valve unit test
-	  gst_buffer_pad_alloc() needs simple caps or NULL caps,
-	  ANY caps are not allowed.
-
-2010-09-28 13:52:29 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: no need to ref the object in _chain
-	  Don't ref the pad in chain, like elsewhere
-
-2010-09-30 17:48:35 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* tests/check/elements/valve.c:
-	  tests: Fix caps leak in the valve test
-
-2010-09-30 17:24:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* tests/check/elements/valve.c:
-	  valve: Add unit tests
-	  Add a unit test for the valve element.
-
-2010-09-30 16:26:19 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  valve: Make the drop variable into an atomic.
-	  Using an atomic allows us to avoid locking the whole object all time time.
-	  As suggested by Stefan Kost.
-
-2010-09-30 16:22:04 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Correctly set the DISCONT flag after dropping buffers
-
-2010-09-30 16:16:47 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Remove superflous checking casts
-
-2010-09-30 16:13:23 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  valve: Fix style, improve comments
-	  Minor improvements to the comments and break a few overly long lines
-
-2010-09-28 14:26:11 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: move default: parst in the switch statement to the end
-	  Now sure if it matters, but the previous form looks weired.
-
-2010-09-28 14:23:01 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: move debug-category registration to type init
-
-2010-09-28 14:15:13 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: use G_PARAM_STATIC_STRINGS on properties
-
-2010-09-28 14:07:39 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstvalve.c:
-	  valve: GST_BOILERPLATE already sets parent_class
-
-2010-03-18 17:30:26 +0100  Benjamin Otte <otte@redhat.com>
-
-	* plugins/elements/gstvalve.c:
-	  valve: gst_element_class_set_details => gst_element_class_set_details_simple
-
-2009-02-10 18:52:54 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  docs: document valve element
-
-2009-02-10 17:57:16 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: rename to valve
-
-2009-02-10 17:55:47 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  fsvalve: re-indent gst style
-
-2008-12-13 00:31:45 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Ignore errors if dropping is set to true
-
-2008-12-10 17:00:33 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Add getcaps proxying to the valve
-
-2008-08-20 14:11:02 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  fsvalve: Rebase valve onto gstelement instead of basetransform
-
-2008-08-19 18:49:51 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Revert "Fix refcounting issues in prepare_output_buffer"
-	  This reverts commit 65dd460f0a3a9c4882e638c86208f74ef62c3460.
-
-2008-08-05 11:30:57 +0000  sjoerd@luon.net <sjoerd@luon.net>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Fix refcounting issues in prepare_output_buffer
-	  20080805113057-be0f2-9dc270781f0a0f21c616ed11dbd1f198fd1b326e.gz
-
-2008-04-09 16:32:21 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Remove unused dispose method in valve
-	  20080409163221-3e2dc-92ccb2db874e46e0d92c15520577c1be0e2bc617.gz
-
-2007-12-19 20:32:30 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Dont hold the object lock while calling base alloc function
-	  20071219203230-3e2dc-6519175d8d81496515b2d9060ac316650560f691.gz
-
-2007-12-19 20:32:18 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  fsvalve: Set the DISCONT flag after dropping buffers
-	  20071219203218-3e2dc-bc5f03d88ff5837040b9214de016cc142776dfc2.gz
-
-2007-12-19 00:57:39 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  fsvalve: Use do the alloc_buffer function in the valve
-	  20071219005739-3e2dc-2a0fdfa2f38f03ab4791fe5c4ab85e8790113683.gz
-
-2007-11-21 20:08:58 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Only set passthrough to TRUE on newer versions of gst
-	  20071121200858-3e2dc-b16cdeabbc3c0562c6fc7b11b9b9792c910f569e.gz
-
-2007-11-21 18:17:29 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Compare minor, not major
-	  20071121181729-3e2dc-a5997c3b7f5c86966370969714facf8ee242659d.gz
-
-2007-10-26 22:37:49 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Make the valve element work with gst < 0.10.13
-	  20071026223749-3e2dc-18f685a4e45fbdce677ac777586876fc719d7222.gz
-
-2007-10-24 22:42:46 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	  fsvalve: Rename valve to fsvalve
-	  20071024224246-3e2dc-c54216af2ef0ef3f1a2206d723e87be2a23ab8ed.gz
-
-2007-10-24 22:41:47 +0000  Olivier Crete <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstvalve.c:
-	* plugins/elements/gstvalve.h:
-	  fsvalve: Add valve element
-	  20071024224147-3e2dc-f28ab0c073e283894b65c22c4f44397c897dec01.gz
-
-2010-12-30 18:31:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: make variable static
-
-2010-12-29 11:48:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix deadlock
-	  Only go into LIVE_WAIT when the are not live_running and only stop waiting when
-	  live_running is TRUE. If we don't loop, we could deadlock when called from
-	  outside of basesrc, such as baseaudiosrc.
-	  Fixes #635785
-
-2010-12-28 16:40:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/generic/sinks.c:
-	  check: add more sink unit tests
-
-2010-12-28 16:23:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: also preroll async=false sinks
-	  Also preroll async=false sinks after a flush.
-
-2010-12-22 16:55:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	  docs: fix typo
-
-2010-12-26 21:20:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gstutils.c:
-	* plugins/elements/gstqueue.c:
-	  Revert "micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers"
-	  This reverts commit 6aa8ca37eeb9debfa6919741a023250bf278248f.
-	  See http://article.gmane.org/gmane.comp.video.gstreamer.devel/32282
-
-2010-12-24 14:02:08 -0800  David Schleef <ds@schleef.org>
-
-	* plugins/elements/Makefile.am:
-	  elements: reenable fdsrc/fdsink on MSVC
-
-2010-12-22 16:36:09 -0800  Michael Smith <msmith@songbirdnest.com>
-
-	* gst/glib-compat-private.h:
-	  Fix GStatBuf definition for win32 when building against older glib. Now matches upstream glib definition.
-
-2010-12-22 22:36:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: add gobject-introspection annotation
-
-2010-12-22 16:42:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-progress.txt:
-	  docs: add draft idea for progress reporting
-
-2010-12-21 10:33:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix typo
-
-2010-12-20 17:46:36 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 169462a to 46445ad
-
-2010-12-19 12:49:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	* gst/gsttaglist.c:
-	  taglist: Don't leak copies of empty strings
-
-2010-12-17 19:19:40 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  base: documentation fixups and annotation
-
-2010-12-17 19:14:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstplugin.c:
-	* gst/gsttaglist.c:
-	* gst/gstutils.c:
-	  gst: documentation fixups and annotation
-	  Reported by enabling the --warn-all option of g-ir-scanner
-
-2010-12-17 15:48:34 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	  gstdatetime: Fix documentation
-	  second => seconds
-	  microsecond argument was dropped
-
-2010-12-04 15:32:06 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Use an atomic integer instead of a lock for checking tags presence
-	  https://bugzilla.gnome.org/show_bug.cgi?id=636455
-
-2010-12-16 10:55:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Handle downstream giving a buffer with new caps but invalid size
-	  This can happen for example when downstream proposed new caps, later proposed
-	  the previous caps again which in turn enables passthrough mode in upstream
-	  elements and the wrong-sized buffer appears in an element where the caps
-	  change never happened. Simply allocate a new buffer in this case.
-	  See bug #635461.
-
-2010-12-15 23:19:54 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: use the publicly visible address to fix the tests
-	  The -Bsymbolic change causes us to get a different address when internaly
-	  looking up the function than what application would get when the use the symbol
-	  that they see. This made removing the default loghandler to fail, as it is set
-	  internally and removed externaly.
-
-2010-12-15 14:55:12 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 20742ae to 169462a
-
-2010-12-15 12:10:02 +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 19:00:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve last_stop calculation
-	  Only update the last_stop value when we had a valid stop position for the
-	  clipping or else the clipping code assumes the stop position extends to the end
-	  of the segment, which makes the position reporting return weird values.
-
-2010-12-14 15:52:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix object type handling in queued preroll
-	  Factor out the method to get the object type.
-	  When preroll-queue-len > 0, use the right object type instead of ignoring
-	  buffer-lists.
-
-2010-12-13 16:22:46 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 011bcc8 to 20742ae
-
-2010-12-11 10:10:04 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: Fix GIR build for srcdir != builddir
-
-2010-12-08 17:51:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	  Merge commit '0eaa25cbf5c0e4bf86545fb67c181a0ecd2f19c7' into 0.11
-
-2010-12-08 12:17:35 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  docs: fix wrong use of Since: keyword
-
-2010-12-08 11:52:31 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrychunks.c:
-	  registry: maintain the typefind extension list order
-
-2010-12-08 11:51:59 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttypefindfactory.c:
-	  docs: add () to xref the function.
-
-2010-12-07 19:35:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: remove some dead code, GST_DEBUG_COLOR is never defined
-
-2010-12-07 19:35:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  utils: const-ify arguments to gst_object_default_error()
-
-2010-12-07 18:46:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsterror.c:
-	  docs: gst_error_get_message() returns string in UTF-8, not current locale
-	  We tell gettext to return everything in UTF-8 encoding.
-
-2010-12-05 20:17:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: register gst_pad_get_fixed_caps_func() with the debug log system
-
-2010-12-07 18:35:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytewriter-docs.h:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  docs: libgstbase: more gobject introspection annotations
-	  Many of these are superfluous and were added for clarity.
-
-2010-12-07 18:35:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstdatetime.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstfilter.c:
-	* gst/gstfilter.h:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstinfo.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstparse.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpoll.c:
-	* gst/gstpreset.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gstsegment.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttrace.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gsturi.h:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  docs: gst: more gobject introspection annotations
-	  Many of these are superfluous, added for clarity.
-
-2010-12-07 18:40:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: update docs
-
-2010-12-07 18:33:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstcontroller.def:
-	* win32/common/libgstdataprotocol.def:
-	* win32/common/libgstreamer.def:
-	  defs: update defs
-
-2010-12-07 18:32:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	  check: disable ABI checks
-
-2010-12-07 18:32:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting document
-
-2010-12-07 18:14:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcompat.h:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/gst/gstpad.c:
-	  pad: remove get_caps_reffed variants
-	  Make the _get_caps functions behave like the _get_caps_reffed variants and
-	  remove the _reffed variants. This means that _get_caps doesn't return a writable
-	  caps anymore and an explicit _make_writable() is needed before modifying the
-	  caps.
-
-2010-12-07 18:12:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: update porting doc
-
-2010-12-07 16:52:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: Clean up .h file
-
-2010-12-07 15:53:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' into 0.11
-
-2010-12-07 15:33:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstcompat.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementdetails.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstelementmetadata.h:
-	* gst/gstpipeline.c:
-	* gst/gstregistrychunks.c:
-	* tests/check/gst/struct_x86_64.h:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  element: rework GstElementDetails
-	  Clean up the GstElement structure
-	  Replace GstElementDetails with metadata
-
-2010-12-07 15:31:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstplugin.h:
-	* tests/check/gst/gstplugin.c:
-	  plugin: remove deprecated methods
-	  Remove more deprecated methods and fix unit test.
-
-2010-12-07 15:21:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/gdp.c:
-	  check: remove deprecated tests
-
-2010-12-07 15:20:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstobject.c:
-	  check: fix object unit test
-
-2010-12-07 15:19:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  object: fix docs
-
-2010-12-07 13:19:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: Add -I$(top_srcdir)/libs to g-ir-scanner commands
-	  Without this, it will fail finding all headers.
-
-2010-12-07 12:57:40 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstplugin.c:
-	  plugin: recommend "--gst-disable-registry-fork" as well
-	  Disabling forking helps with debugging the cause of the crash in gdb.
-
-2010-12-07 12:56:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/plugindocs.txt:
-	  docs: some notes about our plugin docs workflow
-
-2010-12-07 11:58:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/porting-to-0.11.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpadtemplate.c:
-	  object: Removed deprecated fields and methods
-	  Make GstObject extend from GInitiallyUnowned, remove the FLOATING flag and use
-	  GObject methods for managing the floating ref.
-	  Remove class lock, it was a workaround for a glib < 2.8 bug.
-	  Remove the parent-set and parent-unset signals, attempt to implement with notify
-	  but disabled because deadlocks in deep-notify.
-
-2010-12-06 20:03:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: mention removal of protocol property
-
-2010-12-06 19:40:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* libs/gst/dataprotocol/dataprotocol.h:
-	  libs: remove deprecated code
-
-2010-12-06 19:24:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  docs: update porting doc
-
-2010-12-06 19:18:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types.in:
-	* docs/plugins/gstreamer-plugins.args:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstconfig.h.in:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstghostpad.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstregistry.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstxml.c:
-	* gst/gstxml.h:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-xmlinspect.c:
-	  remove deprecated symbols and methods
-
-2010-12-06 13:51:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/porting-to-0.11.txt:
-	  porting: Add porting doc
-
-2010-12-06 13:48:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  plan: fix typo
-
-2010-11-11 10:38:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  plan: add something about GVariant registry
-
-2010-11-08 18:39:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/use-cases-0.11.txt:
-	  add some use-cases
-
-2010-11-08 14:08:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  more updates
-
-2010-11-08 12:14:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  more updates
-
-2010-11-08 11:18:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  more updates
-
-2010-11-04 19:30:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/plan-0.11.txt:
-	  work on todo list for 0.11 work
-
-2010-12-06 13:21:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* android/base.mk:
-	* android/controller.mk:
-	* android/dataprotocol.mk:
-	* android/elements.mk:
-	* android/gst-inspect.mk:
-	* android/gst-launch.mk:
-	* android/gst-plugin-scanner.mk:
-	* android/gst.mk:
-	* android/indexers.mk:
-	* android/net.mk:
-	* configure.ac:
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* tools/gst-feedback-m.m:
-	* tools/gstreamer-completion:
-	  more 0.10 -> 0.11
-
-2010-12-06 12:03:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	  configure: open 0.11 branch
-
-2010-12-06 11:18:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: return wakeup event in GPollFD
-
-2010-12-06 11:07:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add some debug to fast push path
-	  ... so we don't loose track at times it is needed the most.
-
-2010-12-05 15:58:48 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Don't forget to unref the cached ClockId
-
-2010-12-05 14:46:28 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: Don't check pad refcount too early
-	  Because of the new pad caching system, the peer pad might still
-	  have a reference on a pad. We therefore delay the refcount checking
-	  til 'after' we unlink the pad from any potential peer.
-
-2010-12-05 14:11:45 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbin.c:
-	  gstbin: Make element names clearer in debug statements
-	  Replaces confusing messages like:
-	  "Name name is not unique in bin bin, not adding"
-	  by
-	  "Name 'name' is not unique in bin 'bin', not adding"
-
-2010-12-04 21:06:34 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstregistrybinary.c:
-	  registry: Fix permissions if umask is broken
-	  Fixes: #564056.
-
-2010-12-04 14:23:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	  build: remove trailing whitespaces after backslash in Makefile.am
-
-2010-12-04 13:14:39 +0000  Koop Mast <kwm@FreeBSD.org>
-
-	* configure.ac:
-	  configure: fix test so it works with FreeBSD's /bin/sh
-	  Use '=' instead of '=='. Fixes:
-	  configure: working c++ compiler found: yes
-	  test: xyes: unexpected operator
-	  http://bugzilla-attachments.gnome.org/attachment.cgi?id=175692
-
-2010-12-03 11:29:30 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstobject.c:
-	  Use g_snprintf() instead of snprintf()
-
-2010-12-03 16:44:23 +0100  Benjamin Gaignard <benjamin.gaignard@stericsson.com>
-
-	* Android.mk:
-	* android/NOTICE:
-	* android/base.mk:
-	* android/controller.mk:
-	* android/dataprotocol.mk:
-	* android/elements.mk:
-	* android/gst-inspect.mk:
-	* android/gst-launch.mk:
-	* android/gst-plugin-scanner.mk:
-	* android/gst.mk:
-	* android/gst/gstconfig.h:
-	* android/gst/gstenumtypes.c:
-	* android/gst/gstenumtypes.h:
-	* android/gst/gstmarshal.c:
-	* android/gst/gstmarshal.h:
-	* android/gst/gstversion.h:
-	* android/gst/parse/grammar.output:
-	* android/gst/parse/grammar.tab.c:
-	* android/gst/parse/grammar.tab.h:
-	* android/gst/parse/lex._gst_parse_yy.c:
-	* android/indexers.mk:
-	* android/net.mk:
-	* android/tools.mk:
-	  Add build system for Android
-
-2010-12-03 16:02:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: init variables in _reinit()
-	  Properly initialize variables in _reinit() too
-
-2010-10-21 18:08:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstsystemclock.c:
-	  clock: make sync clock wait lockfree
-	  Make the common case lockfree.
-
-2010-12-03 12:04:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: use function introduced in GLib 2.22 unconditionally
-
-2010-12-03 12:42:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: small cleanups
-
-2010-11-03 18:38:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: make sure we remove the readfd messages
-
-2010-11-03 18:16:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpoll.c:
-	* gst/gstpoll.h:
-	* win32/common/libgstreamer.def:
-	  poll: add method to get a GPollFD
-
-2010-11-03 17:56:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: Refactor and make more lockfree
-	  Refactor the wakeup of the poll thread.
-	  Always make a control socket to make things easier.
-	  Make more methods lockfree.
-
-2010-10-21 02:02:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: move lock to where it makes more sense
-
-2010-10-21 01:15:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  poll: make timer polls lockfree
-	  Make sure we don't take a mutex in the normal code path of the timer
-	  poll.
-
-2010-12-02 17:51:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: return upon input when already eos
-	  ... rather than hanging incoming thread (as considered full in eos).
-
-2010-12-02 17:49:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix doc typo
-
-2010-10-16 16:16:17 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: remove some commented code
-
-2010-12-03 13:52:03 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: add stdio.h for snprint
-
-2010-12-03 11:27:17 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: Use an object as first argument to GST_WARNING_OBJECT
-
-2009-04-11 15:04:41 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gstutils.c:
-	* plugins/elements/gstqueue.c:
-	  micro-optim: if (x) is cheaper than if (x > 0) for unsigned integers
-
-2009-04-10 09:01:22 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstquery.c:
-	  gstquery: Use structure property directly, avoid function variable.
-	  All functions in this file can access the structure field of a query directly.
-	  This avoids having to call gst_query_get_structure() to get it, along with being
-	  able to remove some function variables that were used to store the result of that
-	  function.
-
-2009-04-10 08:51:02 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstinfo.c:
-	  gstinfo: remove useless ternary operator usage.
-
-2010-09-14 13:08:57 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstevent.c:
-	  gstevent: Use structure property directly, avoid function variable.
-	  All functions in this file can access the structure field of an event directly.
-	  This avoids having to call gst_query_get_structure() to get it, along with being
-	  able to remove some function variables that were used to store the result of that
-	  function.
-
-2010-12-03 11:19:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add push cache to bufferlists
-	  Add the push cahce for the bufferlist push code path as well.
-
-2010-12-03 11:11:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't cache the peer chainfunc
-	  There is no need to cache the peer chainfunction as we can just as efficiently
-	  get to it from the peer object. Also not caching the chain function works better
-	  because then we automatically get the new chainfunctions when they change.
-
-2010-12-03 10:52:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstpad.c:
-	* gst/gstutils.c:
-	  pad: clear pad cache when installing probes
-	  Move the method to clear the pad cache into _private.h
-	  Clear the pad cache when installing pad probes.
-
-2010-10-20 17:11:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: explicitly inline some functions
-
-2010-10-13 02:48:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: remove unused variable
-
-2010-10-13 02:42:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: invalidate caches on flush and pad block
-
-2010-10-13 02:20:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't unref NULL caps
-
-2010-10-13 02:17:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: add invalidate function
-	  More small optimisations, remove the unneeded valid boolean.
-	  Add function to invalide the cache.
-	  Invalidate the cache on unlink.
-
-2010-10-13 01:37:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: small cleanup
-
-2010-10-13 01:25:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: improve pad push caching
-	  Build the cache while we push data. When we don't have a cache, we run the
-	  slowpath and collect cacheable properties. When all conditions are met, keep the
-	  cached data around so that we can more efficiently push data around.
-
-2010-10-12 12:29:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: prototype of pad push cache
-	  Prototype of how we can cache the peer and caps for a pad link.
-
-2010-12-03 12:23:27 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/extract.pl:
-	  docs: fix previous extract.pl commit
-	  Make it also work in the srcdir=builddir case again.
-
-2010-10-20 11:58:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: avoid task lock for each iteration
-	  Make the task state an atomic variable so that we can avoid taking and releasing
-	  the task lock for each iteration.
-
-2010-12-03 10:18:19 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/manual/extract.pl:
-	  docs: fix example matching in extract.pl
-	  When building with $srcdir != $builddir output would contain the builddir path.
-	  Strip the path when scanning the xml for the example markers.
-
-2010-11-19 15:06:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstquery.c:
-	  docs: query doc improvements
-	  More xrefs. Mentioned that some queries need a running pipeline.
-
-2010-11-19 11:43:40 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.h:
-	  elementfactory: clarify list item types in comments
-
-2010-11-19 10:29:34 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	  padtemplate: add two FIXME0.11: comments
-
-2010-11-19 10:23:54 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: allow disablinbg the template name conformance checks
-
-2010-11-18 16:31:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: the supplied caps may not be NULL
-	  There is a earlier g_return_val_if_fail check. Also
-	  gst_static_pad_template_get does not have such a check.
-
-2010-11-03 16:37:10 +0100  Andoni Morales Alastruey <amorales@flumotion.com>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: Print sink-message events like a message and the GstMessage structure
-
-2010-11-01 15:32:43 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/design/Makefile.am:
-	* docs/design/draft-buffer2.txt:
-	* docs/design/draft-klass.txt:
-	* docs/design/draft-metadata.txt:
-	* docs/design/draft-tagreading.txt:
-	* docs/design/part-MT-refcounting.txt:
-	* docs/design/part-TODO.txt:
-	* docs/design/part-activation.txt:
-	* docs/design/part-block.txt:
-	* docs/design/part-buffering.txt:
-	* docs/design/part-bufferlist.txt:
-	* docs/design/part-clocks.txt:
-	* docs/design/part-conventions.txt:
-	* docs/design/part-dynamic.txt:
-	* docs/design/part-element-sink.txt:
-	* docs/design/part-element-source.txt:
-	* docs/design/part-element-transform.txt:
-	* docs/design/part-events.txt:
-	* docs/design/part-framestep.txt:
-	* docs/design/part-gstbin.txt:
-	* docs/design/part-gstbus.txt:
-	* docs/design/part-gstelement.txt:
-	* docs/design/part-gstghostpad.txt:
-	* docs/design/part-gstobject.txt:
-	* docs/design/part-gstpipeline.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-live-source.txt:
-	* docs/design/part-messages.txt:
-	* docs/design/part-missing-plugins.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-overview.txt:
-	* docs/design/part-preroll.txt:
-	* docs/design/part-push-pull.txt:
-	* docs/design/part-qos.txt:
-	* docs/design/part-query.txt:
-	* docs/design/part-relations.txt:
-	* docs/design/part-scheduling.txt:
-	* docs/design/part-seeking.txt:
-	* docs/design/part-segments.txt:
-	* docs/design/part-sparsestreams.txt:
-	* docs/design/part-standards.txt:
-	* docs/design/part-states.txt:
-	* docs/design/part-stream-status.txt:
-	* docs/design/part-streams.txt:
-	* docs/design/part-synchronisation.txt:
-	* docs/design/part-trickmodes.txt:
-	  design-docs: add html output using asciidoc
-	  Unify the ad-hoc markup to be asciidoc style in many places. Add a "html" target
-	  to Makefile to generate the output.
-
-2010-10-19 14:27:20 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: more default name generation more efficient
-	  Save ~2000 malloc/memcpy/free pairs at startup by running to_lower in-place.
-	  Also skip the numbers as we can.
-
-2010-10-18 14:45:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: use the parent_class from G_DEFINE_TYPE macro and drop extra copy
-
-2010-10-20 14:27:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: use g_intern_string for interface names
-
-2010-10-18 13:29:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	* gst/gstregistrychunks.c:
-	  registry: also intern the static caps
-
-2010-12-03 00:00:09 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: meta-data can be NULL
-
-2010-12-02 16:28:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	* tests/check/gst/gstdatetime.c:
-	  gstdatetime: Fix handling of timezones
-	  Fix returning of timezones on systems with gdatetime
-	  to use floats on the math expression to avoid
-	  truncating the fractional part.
-	  Also adds a test for covering this case.
-
-2010-12-02 19:44:41 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	  gstdataqueue: Don't break ABI
-	  The order of the field was wrong, and the size of the structure didn't
-	  end up being the same.
-
-2010-11-25 18:48:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/elements/fakesink.c:
-	* tests/check/generic/sinks.c:
-	  basesink: rework position reporting code
-	  Unify the different position reporting code paths to make it more
-	  understandable.
-	  Use start_time to get more accurate position reporting in paused.
-	  Fix unit tests for more accurate reporting.
-
-2010-11-25 16:06:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: perform wait_preroll in a while loop
-	  We need to continue calling wait_preroll() as long as the need_preroll variable
-	  is true.
-
-2010-11-17 16:46:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: return immediately for -1 conversion
-	  When we are asked to convert -1, we can return immediately with a -1 return
-	  value.
-
-2010-11-17 16:42:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: a convert query can have a -1 input value
-	  It is allowed to pass -1 to the src_val for a convert.
-
-2010-11-16 12:20:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/generic/sinks.c:
-	  basesink: also preroll after a flush with async=false
-	  Make sure to preroll after a flush even when we are async=false.
-	  Add unit test.
-	  Fixes #634965
-
-2010-11-15 18:20:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: improve docs a little.
-
-2010-11-15 18:17:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/generic/sinks.c:
-	  check: lock src state to avoid error cases
-	  Lock the state of the src element or else the pipeline might go into the error
-	  state when we set it to PAUSED later.
-
-2010-11-15 12:49:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: avoid using invalid clock times
-	  Be extra careful to not use invalid clock times but give a warning instead. This
-	  should make things work better with faulty clock implementations.
-
-2010-11-11 10:41:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: improve some comments about the zigzag intersection
-
-2010-12-02 13:04:30 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add unused symbols to proper sections
-
-2010-12-02 13:03:57 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add GstDateTime section and update it for latest symbols
-
-2010-10-19 18:09:53 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Only call update_buffering if needed.
-	  update_buffering is so big it will never be inlined (and shouldn't),
-	  we therefore move the check outside of it.
-
-2010-10-19 17:45:16 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Avoid re-checking many times whether an item is a buffer
-	  Avoids calling 6 times gst_buffer_get_type() for every item coming
-	  through queue2
-
-2010-10-19 17:43:56 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Reduce amount of time locks are taken
-
-2010-10-19 17:42:39 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fixup documentation of some properties
-
-2010-10-19 17:40:13 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Avoid useless segment_to_running_time() calculations.
-	  * Cache src and sink time
-	  * Use a boolean to known whether src/sink time needs to be recalculated
-	  Avoids 50% of calls to gst_segment_to_running_time()
-
-2010-10-20 17:41:28 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Re-using GstClockID instead of constantly recreating one
-	  Makes _sink_wait_clock at least 2 times faster.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632778
-
-2010-10-20 17:40:43 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* win32/common/libgstreamer.def:
-	  gstclock: New API to re-use a single shot GstClockID
-	  API: gst_clock_single_shot_id_reinit
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632778
-
-2010-10-20 13:52:02 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Pass along miniobject type through various functions
-	  Avoids doing useless GST_IS_*
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632778
-
-2010-10-20 13:08:08 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Switch enable_last_buffer to an atomic int
-	  Avoids having to take a lock to read/write it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632778
-
-2010-10-19 15:53:26 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Remove useless checks from e406f7
-	  srcresult was being rechecked in places it couldn't have changed.
-	  queue level was being rechecked in places it couldn't have changed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632780
-
-2010-10-13 13:50:22 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	  gstdataqueue: Only emit g_cond_signal when needed
-	  Keep track of which cond we're waiting for and only emit when needed.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632779
-
-2010-10-20 17:12:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: move g_return_if_fail to where it is needed
-
-2010-11-03 11:14:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstversion.h.in:
-	  version: Take nano version into account in GST_CHECK_VERSION()
-	  If the nano is > 0 the current version should be handled the same as
-	  micro + 1.
-
-2010-11-01 16:34:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Set the event source object if none is set yet in gst_pad_push_event()
-	  Otherwise the source will stay at NULL, the event is passed to the
-	  peerpad via gst_pad_send_event() and then the peerpad is set as
-	  source of the event instead of the originating pad.
-
-2010-10-31 18:48:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Remove dead assignment and unused variable
-
-2010-10-31 18:46:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Remove dead assignment and move variable declaration into inner block
-
-2010-10-31 18:23:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Remove redundant variable
-	  Other than saving an immense amount of 4 bytes of memory this
-	  prevents clang from complaining and keeps the ring buffer state
-	  in a single variable instead of two.
-
-2010-10-20 10:18:18 +0200  David Hoyt <dhoyt@llnl.gov>
-
-	* gst/gsttask.c:
-	  gsttask: Set thread names on Windows with MSVC if a debugger is attached
-	  Fixes bug #632168.
-
-2010-10-19 15:52:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstmacros.h:
-	  macros: Define restrict keyword if not available
-	  This change always defines the restrict keyword if a
-	  non-C99 C compiler is used. In the case of GCC >= 4
-	  it will be defined to __restrict__, in all other
-	  cases to nothing. This allows to use the restrict
-	  keyword unconditionally.
-
-2010-12-01 23:57:36 +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-01 23:56:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development
-
-=== release 0.10.31 ===
-
-2010-11-30 17:40:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.31
-
-2010-11-27 19:13:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  utils: avoid 'unused argument' warnings caused by GST_BOILERPLATE_FULL
-	  The unused data parameter in the class_init trampoline function
-	  seems to cause warnings with some c++ compilers.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=635869
-
-2010-11-09 23:27:17 -0300  reynaldo <reynaldo@opendot.cl>
-
-	* docs/pwg/building-boiler.xml:
-	  docs: some small fixes to the plugin writer's guide
-	  Fix wrongly placed example and weirdly phrased 'note' lacking proper
-	  formatting. Fix missing hint for autogen.sh location and rephrase
-	  'built and installed' sentence. Fix wrongly phrased and redundant
-	  paragraph in PWG
-	  https://bugzilla.gnome.org/show_bug.cgi?id=634921
-
-2010-11-27 11:02:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/manual/basics-elements.xml:
-	  manual: Improve states documentation
-	  Be more explicit about being on NULL before unrefs
-
-2010-11-20 14:54:23 -0800  Evan Nemerson <evan@coeus-group.com>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Include exported packages information in GIRs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=635389
-
-2010-11-18 00:29:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.30.5 pre-release
-
-2010-11-18 00:29:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: fix caps leak in element factory list utility functions
-
-2010-11-17 23:55:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/bg.po:
-	* po/ca.po:
-	* po/da.po:
-	* po/es.po:
-	* po/fi.po:
-	* po/hu.po:
-	* po/sk.po:
-	  po: update translations
-
-2010-11-17 09:39:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* tests/check/gst/gstdatetime.c:
-	* win32/common/libgstreamer.def:
-	  datetime: Add _from_unix_epoch variants
-	  Adds 2 variants for the gst_date_time_from_unix_epoch function,
-	  one for UTC and another for local time.
-	  API: gst_date_time_new_from_unix_epoch_utc
-	  API: gst_date_time_new_from_unix_epoch_local_time
-	  Fixes #653031
-	  https://bugzilla.gnome.org/show_bug.cgi?id=635031
-
-2010-11-03 14:21:02 +0000  Vladimir Eremeev <wl2776@gmail.com>
-
-	* gst/math-compat.h:
-	  math-compat: don't re-define _USE_MATH_DEFINES if already defined
-	  This avoids compiler warnings.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=633886
-
-2010-11-01 16:06:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.30.4 pre-release
-
-2010-11-01 15:36:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/de.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	  po: update translations
-
-2010-10-31 20:17:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't leak pad ref in pull mode when flushing
-	  Fix pad leak when queue2 is flushing or being shut down.
-
-2010-10-31 19:47:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: don't send seeks beyond the end of the file upstream in pull mode
-	  If downstream is operating in pull mode, short-circuit any pulls beyond
-	  the end of the file and return FLOW_UNEXPECTED immediately instead of
-	  sending a seek beyond the end of the file upstream, since this might
-	  confuse upstream elements (and/or http servers, for example). Fixes
-	  playback of apple trailers in totem and youtube/html5 clips in
-	  WebkitGTK+.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=632977
-
-2010-10-28 23:28:15 +1000  Jonathan Matthew <jonathan@d14n.org>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: use input position for queries if we have no output position
-
-2010-10-28 13:29:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix reverse negotiation
-	  When the downstream element suggests a new format, pass the suggestion
-	  upstream if we can't convert to it.
-	  Fixes #633147
-
-2010-10-27 18:12:36 +0200  Jan Schmidt <thaytan@noraisin.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fix tracking of unlinked streams.
-	  33082eb9e42c52e4df848195946f1b7bbce768c5 introduced a bug
-	  preventing sparse unlinked streams from advancing properly,
-	  leading to the queue blocking.
-	  Fixes: #633176
-
-2010-10-27 18:11:35 +0200  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: Add a multiqueue sparse streams test
-
-2010-10-27 13:16:11 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7bbd708 to 011bcc8
-
-2010-10-22 17:35:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.30.3 pre-release
-
-2010-10-18 17:42:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: const-ify byte reader argument in peek/scan API
-	  Because we can.
-
-2010-10-22 11:52:47 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstelementfactory.h:
-	  elementfactory: Fix 64bit constant
-	  Basically we're not meant to put anything more complex than simple numbers,
-	  due to the definition of G_GUINT64_CONSTANT:
-	  G_GUINT64_CONSTANT(val)	(val##UL)
-	  Which previously resulted in .... 1 << 49UL
-
-2010-10-18 10:46:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: recompute correct running time for buffer ending flushing step
-	  Prevents delaying/hanging when resuming PLAYING.
-	  Fixes #632433.
-
-2010-10-16 19:19:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstbitreader-docs.h:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytewriter-docs.h:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimeprovider.h:
-	  docs: fix misc. gtk-doc warnings in libs
-	  (for gtk-doc 1.15)
-
-2010-10-16 18:26:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstdataqueue.c:
-	  Revert "libs/gst/dataqueue: Document gst_data_queue_new_full"
-	  This reverts commit 80727c117703507f790a86b0962ab3d915e5a491.
-	  This doesn't make sense. gst_data_queue_new_full() is already
-	  documented above. And we need the doc blurb for _new() here.
-
-2010-10-16 17:00:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: flesh out release instructions a bit more
-
-2010-10-16 16:53:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstparse.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* libs/gst/base/gstadapter.c:
-	  docs: add some gtk-doc Since: markers
-	  Add some gtk-doc Since: markers, fix one Since: marker,
-	  fix typo.
-
-2010-10-16 00:25:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  0.10.30.2 pre-release
-
-2010-10-16 00:14:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/LINGUAS:
-	* po/es.po:
-	* po/fr.po:
-	* po/lt.po:
-	* po/nl.po:
-	* po/ro.po:
-	* po/ru.po:
-	* po/sl.po:
-	* po/sv.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	  po: update translations
-
-2010-10-15 19:45:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: useful factory names for uri-handlers output
-	  Fixes #632236.
-
-2010-10-14 12:31:32 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5a668bf to 7bbd708
-
-2010-10-12 15:13:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* gst/gstvalue.c:
-	* tests/check/gst/gstdatetime.c:
-	* tests/check/gst/gstvalue.c:
-	  datetime: Use seconds as double
-	  Use seconds as double to make API similar to glib's
-	  gdatetime. Also move timezone parameter to the
-	  first position, just like glib's.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=628408
-
-2010-10-11 16:15:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	  gstdatetime: Move doc outside the ifdefs
-	  Move the datetime documentation of the functions outside the
-	  ifdefs
-	  https://bugzilla.gnome.org/show_bug.cgi?id=628408
-
-2010-09-27 19:35:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	  datetime: Use GDateTime if available
-	  Use GDateTime internally on GstDateTime if glib already
-	  provides it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=628408
-
-2010-09-28 17:46:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	  glib-private: Add include protection macro
-
-2010-10-13 12:51:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: add guard to buffer_set_caps() that checks if caps are simple
-
-2010-10-13 15:56:26 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstsystemclock.c:
-	  systemclock: add a missing G_PARAM_STATIC_STRINGS
-
-2009-10-01 11:14:06 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	  libs/gst/dataqueue: Document gst_data_queue_new_full
-
-2009-09-28 13:35:35 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	  base/gstdataqueue: inline some functions, get levels with memcpy.
-
-2010-10-13 11:54:04 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Remove unused argument from find_range()
-
-2010-10-13 11:52:25 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: cleanup get_property/set_property
-
-2010-10-12 18:48:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: avoid g_cond_signal when we can
-	  Keep track of what cond we are waiting on and only signal when some other thread
-	  is waiting.
-
-2010-10-11 19:27:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: avoid duplicate type check when freeing miniobject
-	  gst_mini_object_unref() has guards that check the type already, so
-	  we don't really need to re-check it here again while getting the
-	  class (there's not really much point to that anyway, since we don't
-	  check the return value of the get_class, so we'd crash anyway if
-	  we're not dealing with a mini object, the only question would
-	  be if there'd be a warning before the crash or not).
-
-2010-10-11 18:55:14 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: Directly increate mini_object in mini_object_free()
-	  Speeds up mini_object_unref by 25% by avoiding the typecheck which
-	  is avoidable here since it is only called on existing miniobjects.
-
-2010-10-11 18:30:54 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstminiobject.c:
-	  miniobject: Remove confusing DEBUG_REFCOUNT define
-	  the debugging statements will be silenced automatically if debugging
-	  is disabled, and the type check is actually required.
-
-2010-10-11 18:10:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: release queue2 lock before notify
-	  Make sure that we don't hold the lock when we notify the temp-location
-	  property,
-	  Fixes #631853
-
-2010-10-11 16:45:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: add debug statement
-
-2010-10-11 10:27:52 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* tests/check/elements/queue.c:
-	  queue: apply sink segment on the source if queue is empty
-	  Apply the sink segment on the source immediatly when it is received
-	  and there is nothing in the queue.
-	  Solves #482147
-
-2010-10-11 15:51:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: fix documentation for iterate_sources
-
-2010-10-11 16:41:26 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstadapter.c:
-	  docs: use the gtk-doc shortcuts to get coloured and xrefed example
-
-2010-10-11 14:20:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Initialize variable
-
-2010-10-11 10:56:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Improve tracking of source elements
-	  Track elements tagged with the IS_SOURCE flag in a similar way we track the sink
-	  elements. This allows us to efficiently dispatch downstream events to the right
-	  elements.
-
-2010-10-11 10:55:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: tag as a SOURCE element
-	  Tag all elements deriving from the basesrc with the IS_SOURCE flag.
-
-2010-10-11 10:53:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  element: add IS_SOURCE flag
-	  Add the GST_ELEMENT_IS_SOURCE flag so that we can tag source elements like we
-	  can with sink elements.
-
-2010-10-09 14:18:44 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
-
-	* gst/gstregistrybinary.c:
-	  registry: g_mapped_file_unref exists already since GLib 2.21.3
-
-2010-10-10 18:14:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Report the output position on POSITION queries on the srcpad
-	  There can be a difference between input and output last_stop.
-	  Fixes bug #629410.
-
-2010-10-08 12:43:20 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From c4a8adc to 5a668bf
-
-2010-10-08 12:54:52 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Remove unused variable and simplify code
-	  oldid was only used when we were doing multiple pops per loop.
-
-2010-10-08 12:50:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5e3c9bf to c4a8adc
-
-2010-10-08 12:48:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter-docs.h:
-	  bytewriter: Add missing file
-
-2010-10-08 12:18:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Add unchecked variants of the writing functions
-	  These don't check if there's enough free space available and are
-	  available as inline functions only.
-	  API: gst_byte_writer_put_int8_unchecked
-	  API: gst_byte_writer_put_int16_be_unchecked
-	  API: gst_byte_writer_put_int16_le_unchecked
-	  API: gst_byte_writer_put_int24_be_unchecked
-	  API: gst_byte_writer_put_int24_le_unchecked
-	  API: gst_byte_writer_put_int32_be_unchecked
-	  API: gst_byte_writer_put_int32_le_unchecked
-	  API: gst_byte_writer_put_int64_be_unchecked
-	  API: gst_byte_writer_put_int64_le_unchecked
-	  API: gst_byte_writer_put_uint8_unchecked
-	  API: gst_byte_writer_put_uint16_be_unchecked
-	  API: gst_byte_writer_put_uint16_le_unchecked
-	  API: gst_byte_writer_put_uint24_be_unchecked
-	  API: gst_byte_writer_put_uint24_le_unchecked
-	  API: gst_byte_writer_put_uint32_be_unchecked
-	  API: gst_byte_writer_put_uint32_le_unchecked
-	  API: gst_byte_writer_put_uint64_be_unchecked
-	  API: gst_byte_writer_put_uint64_le_unchecked
-	  API: gst_byte_writer_put_float32_be_unchecked
-	  API: gst_byte_writer_put_float32_le_unchecked
-	  API: gst_byte_writer_put_float64_be_unchecked
-	  API: gst_byte_writer_put_float64_le_unchecked
-	  API: gst_byte_writer_put_data_unchecked
-	  API: gst_byte_writer_fill_unchecked
-
-2010-10-08 09:34:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  controller, dataprotocol: 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>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  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-10-08 09:47:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Fix possible infinite loop caused by an overflow
-
-2010-10-07 18:46:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gsttee.c:
-	  elements: minor performance improvement when doing g_object_notify() for the "last-message" property
-	  Make sure property names passed to g_object_notify() are in the canonical form
-	  (ie. "last-message" not "last_message"), so that g_param_spec_pool_lookup()
-	  doesn't have to do strdup/canonicalize/free for every single notify call.
-	  This only applies when building against older GLib versions (< 2.26).
-
-2010-10-07 18:27:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	  fakesink: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible
-	  Use more efficient g_object_notify_by_pspec() if we're compiling against
-	  GLib >= 2.26, and also remove work-around for g_object_notify() thread-
-	  safety issues with older GLib versions if it's not needed any more.
-
-2010-10-07 18:21:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: use g_object_notify_by_pspec() if possible
-	  Use more efficient g_object_notify_by_pspec() if we're compiling against
-	  GLib >= 2.26.
-
-2010-10-07 18:19:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: use g_object_notify_by_pspec() if possible
-	  Use more efficient g_object_notify_by_pspec() if we're compiling against
-	  GLib >= 2.26.
-
-2010-10-07 17:53:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: use g_object_notify_by_pspec() and remove work-around for old GLib versions if possible
-	  Use more efficient g_object_notify_by_pspec() if we're compiling against
-	  GLib >= 2.26, and also remove work-around for g_object_notify() thread-
-	  safety issues with older GLib versions if it's not needed any more.
-
-2010-10-07 17:23:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	  pads: use new g_object_notify_by_pspec() for caps notifies if available
-	  If we're building against GLib >= 2.26.0, we can use the more efficient
-	  g_object_notify_by_caps(), which avoids the param spec lookup.
-
-2010-10-07 16:27:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: remove unnecessary g_object_notify() call
-	  GObject will do that for us when g_object_set*() is called.
-
-2010-10-07 19:18:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  docs: update qos design doc
-	  Fix some typos.
-	  change the definition of the quality field for video decoders to something that
-	  makes more sense.
-
-2010-10-05 17:02:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  Add gobject-introspection temp directories to CRUFT_DIRS
-
-2010-10-05 15:05:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: use math-compat.h for M_PI
-
-2010-10-05 14:45:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.h:
-	  gstinfo: remove random MSVC compatibility define for M_PI that doesn't belong here
-	  Code that needs this should include gst/math-compat.h or use G_PI.
-
-2010-10-05 14:16:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/Makefile.am:
-	* gst/Makefile.am:
-	* gst/math-compat.h:
-	  gst: add math-compat.h header
-	  Add minimal math-compath.h header where we can define fallback
-	  versions for miscellaneous math functions that aren't always
-	  available, so we don't have to duplicate this in plugins.
-	  The header is not included by default, so needs to be
-	  included explicitly for now.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=630802
-
-2010-10-05 11:47:59 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* tools/gst-plot-timeline.py:
-	  tools: fix parsing of timestamp in gst-plot-timeline
-
-2010-09-25 14:24:46 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: don't take preroll-lock in get_property
-	  Use atomic ops to read and write more properties. Taking the preroll lock in get_property
-	  can lock up applications reading the property during preroll.
-
-2010-10-02 18:11:32 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.h:
-	  basesink: add a fixme for 0.11
-
-2010-10-04 15:49:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: format negative values better
-	  Format negative values properly in the debug log.
-
-2010-10-03 23:41:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/libs/bitreader.c:
-	  bitreader: Fix uninitialized variable compiler warnings
-	  gcc doesn't notice that the check assertion macros will abort
-	  further execution of the tests.
-
-2010-10-03 23:32:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Add inline variants of all important functions
-
-2010-10-03 15:27:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbitreader-docs.h:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* tests/check/libs/bitreader.c:
-	  bitreader: Add inlined and unchecked versions of the important functions
-	  API: gst_bit_reader_skip_unchecked
-	  API: gst_bit_reader_skip_to_byte_unchecked
-	  API: gst_bit_reader_get_bits_uint16_unchecked
-	  API: gst_bit_reader_get_bits_uint32_unchecked
-	  API: gst_bit_reader_get_bits_uint64_unchecked
-	  API: gst_bit_reader_get_bits_uint8_unchecked
-	  API: gst_bit_reader_peek_bits_uint16_unchecked
-	  API: gst_bit_reader_peek_bits_uint32_unchecked
-	  API: gst_bit_reader_peek_bits_uint64_unchecked
-	  API: gst_bit_reader_peek_bits_uint8_unchecked
-	  This alone makes flacparse about 3 times faster.
-
-2010-10-03 14:59:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bytewriter: Add guards to the inlined get_pos/get_remaining/get_size/etc functions
-
-2010-10-03 14:24:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.c:
-	  bitreader: Optimize peek_bits/get_bits a bit
-	  Use local variables instead of dereferencing the bitreader
-	  pointer all the time and don't copy the reader for peek_bits.
-
-2010-09-27 19:29:24 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  gstdatetime: Fix string serialization
-	  Correctly serialize tzoffset as a gstvalue
-
-2010-09-24 12:22:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: improve adjust_time()
-	  Add some more comments.
-	  Make sure we don't end up with negative timestamps.
-
-2010-05-26 20:29:22 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: renderdelay needs to be subtracted in adjust_time()
-	  latency is already sink-latency + render-delay, and here we only
-	  want to deal with the sink-latency.
-	  Fixes #630436
-
-2010-09-24 00:13:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstmarshal.c:
-	  win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well
-
-2010-09-23 20:57:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new strings
-
-2010-09-23 20:48:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: print GST_PARAM_MUTABLE_* property flags
-
-2010-05-04 09:36:43 +0200  Havard Graff <havard.graff@tandberg.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Make a WARNING into a DEBUG statement
-	  Fixes bug #630437.
-
-2010-01-12 17:10:59 +0100  Trond Andersen <trond.andersen@tandberg.com>
-
-	* gst/gstsystemclock.c:
-	  clock: fix racy shutdown clock id leak
-	  Clock IDs were leaked if the clock got disposed before the worker thread
-	  got a chance to reap unscheduled entries.
-	  Fixes bug #630439.
-
-2010-09-23 18:18:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: avoid useless memcpy
-	  Because of the awkward refcounting in prepare_output_buffer, we might end up
-	  with writable buffers that point to the same data. Check for those cases so that
-	  we avoid a useless memcpy and keep valgrind quiet.
-	  Fixes #628176
-
-2010-09-23 14:37:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* tests/check/Makefile.am:
-	  tests: fix 'make check' build for setups where no c++ compiler is available
-	  Only try to build (pseudo-)C++ unit test if a working C++ compiler has been
-	  found, otherwise the build will fail. (We do this to make sure our headers
-	  are 'C++ clean').
-
-2010-09-23 10:08:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tag: Adds GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
-	  Adds a new tag to indicate the error in horizontal positioning
-	  in meters. This is one of the available 'gps error' fields in
-	  exif, for example.
-	  API: GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
-
-2010-09-23 15:34:54 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  Revert "pad: use a nested lock to avoid reffing the peer"
-	  This reverts commit 9b424b1570366b10746a762e8c9c4c1b35b21e91.
-
-2010-09-23 15:12:32 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: remove var only used for debug statement
-
-2010-09-07 16:56:38 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: use a nested lock to avoid reffing the peer
-	  Fixes #503592
-
-2010-07-15 15:47:36 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* configure.ac:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstcpp.cc:
-	  tests: rebuild one test using cpp
-	  This aims to catch cpp issues in core. Add c++ boilerplate to configure.
-
-2010-09-21 18:33:26 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From aa0d1d0 to 5e3c9bf
-
-2010-09-19 16:10:16 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/libs/adapter.c:
-	  tests: Handle new assertion in gst_adapter_masked_scan_uint32
-
-2010-09-18 19:29:09 -0700  David Schleef <ds@schleef.org>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: Add check for pattern bits not in mask
-
-2010-09-17 19:53:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: Use g_file_test() instead of access() which does not exist on MSVC6
-	  Fixes bug #629494.
-
-2010-09-17 17:34:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: add function to add a list of buffers
-	  Add a function to add a list of buffers to the bufferlist.
-
-2010-09-17 15:51:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* tests/check/libs/adapter.c:
-	* win32/common/libgstbase.def:
-	  adapter: add function to get a list of buffers
-	  Add a function to retrieve a list of buffers containing the first N bytes from
-	  the adapter. This can be done without a memcpy and should make it possible to
-	  transfer the list to a GstBufferList later.
-
-2010-09-17 15:07:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: reuse more data in _peek()
-	  Optimize _peek() some more by reusing already assembled data when we can.
-
-2010-09-17 13:57:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: optimize _take() a little more
-	  When we have already assembled some data before, reuse this data and only copy
-	  the part that is new.
-
-2010-09-17 12:48:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: refactor adapter take
-	  Move some common code into one place
-
-2010-09-17 12:40:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  adapter: add support for 0 sized buffers
-	  Add support for 0 sized buffers. This is interesting in combination with the
-	  timestamp functions.
-	  Fixes #629553
-
-2010-09-17 10:01:01 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/pwg/advanced-scheduling.xml:
-	  pwg: Make a sentence clearer.
-
-2010-09-16 19:27:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: make sure gstreamer has been initialized when creating elements
-	  Add gst_is_initialized() guard to gst_element_factory_make(), so
-	  people who forgot to call gst_init() get a useful warning for what
-	  seems to be a common enough mistake.
-
-2010-09-16 00:37:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: minor gst_query_add_buffering_range() code reflow
-	  Sprinkle some G_UNLIKELY(), return TRUE/FALSE constants, avoid an
-	  unnecessary g_value_unset(), move g_value_init()+set_int64_range()
-	  closer to where they're needed.
-
-2010-09-16 00:30:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: gst_query_add_buffering_range() optimisations
-	  Don't create a new GValueArray copy for every single _add_buffering_range()
-	  call, but append to the existing value array owned by the structure instead.
-
-2010-09-16 00:03:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: micro-optimisation for some setter functions
-	  Split out functions that do the actual work, so we avoid doing
-	  the same g_return_if_fail() checks multiple times for each call.
-
-2010-09-15 23:42:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: add gst_structure_{id_}take_value()
-	  Add _set_value() variants that take ownership of the value passed
-	  instead of making a copy of the value. This is useful for setting
-	  values to things that aren't refcounted (e.g. GValueArrays or
-	  strings or string arrays, etc.).
-	  API: gst_structure_take_value()
-	  API: gst_structure_id_take_value()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629831
-
-2010-09-16 19:19:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: fix doc string, we post element messages
-
-2010-09-16 19:06:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: add message-forward option
-	  Add an option to forward all the internal messages that would otherwise be
-	  filtered such as EOS, SEGMENT and ASYNC messages.
-	  This allows the application to, for example, detect that a partial pipeline is
-	  prerolled or reached eos.
-	  The original messages are wrapped inside an element message because the parent
-	  bins are not supposed to see those internal messages escape.
-
-2010-09-12 16:50:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  plugin: use strstr() instead of g_strstr_len()
-	  Saves us a strlen() call.
-
-2010-09-15 13:29:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: only post buffering message when percent changed
-
-2010-09-15 13:15:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: always update buffering status
-	  Update the buffering status even when we are not using a queue so that EOS can
-	  properly finish the buffering.
-
-2010-09-13 20:39:50 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: Fix flush-stop event handling
-	  A flush-stop event would make a pad unflushing, causing it
-	  to start acting as an activated pad. This, for example,
-	  could lead to the chain function being called when stuff
-	  isn't initialized.
-	  This could happend when setting qtdemux to NULL while a seek
-	  was being handled in the upstream filesrc (in push mode).
-	  This patch makes it check if it is activated before setting
-	  it to unflushing.
-
-2010-09-13 11:17:34 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstdatetime.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.h:
-	* gst/gstpad.c:
-	* gst/gsttaglist.h:
-	  docs: fix warnings pointed out by gtk-doc
-
-2010-09-13 09:50:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaskpool.c:
-	  taskpool: make debug only code conditional
-
-2010-09-10 15:07:03 -0400  Colin Walters <walters@verbum.org>
-
-	* gst/gsterror.h:
-	  introspection: Build with latest g-i
-	  Hide a compatibility typedef.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=629241
-	  https://bugzilla.gnome.org/show_bug.cgi?id=550616
-
-2010-09-09 22:24:38 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: don't leak entries for blacklisted files
-
-2010-09-09 21:59:29 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/generic/states.c:
-	  checks: and check the right env-var (fixup last commit)
-
-2010-09-09 21:56:28 +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-06 15:16:16 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstobject.c:
-	  gstobject: avoid string creation when not needed
-
-2010-09-09 16:11:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: identity is GAP flag aware, no need to let it be unset by basetransform
-
-2010-09-09 15:57:15 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.c:
-	  gst-launch: add a sync bus handler and move state-change logging there
-	  The sync handler is called for all mesages, the event loop we previously used
-	  was not. In the sync handler trigger pipeline dot dumps and call access for a
-	  file in tmp-dir to add markers interceptable by strace and co.
-
-2010-09-08 18:41:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: simplify code a bit
-	  No need to call g_slist_length() here.
-
-2010-09-08 09:37:42 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: add a unchecked variant for pull
-	  Add internal _get_range_unchecked thats is called from _get_range and
-	  _pull_range.
-
-2010-09-07 23:48:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* scripts/gst-uninstalled:
-	  gst-uninstalled: add ugly/bad/ffmpeg pkg-config dirs to PKG_CONFIG_PATH
-	  So we can figure out plugin directories of other modules properly in
-	  the uninstalled setup case, for unit tests that need elements from
-	  other modules.
-
-2010-09-07 12:01:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	  docs: update plugin docs for recent changes
-	  And sorted hierarchy
-
-2010-09-07 11:41:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From c2e10bf to aa0d1d0
-
-2010-09-07 11:09:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: don't use gst_structure_foreach() on NULL pointers
-
-2010-09-06 20:19:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update translations for new strings
-
-2010-09-06 20:16:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsterror.c:
-	  gsterror: add default error message for GST_LIBRARY_ERROR_ENCODE
-	  No idea though why we even have GST_LIBRARY_ERROR_ENCODE or when one
-	  would want to use that instead of GST_STREAM_ERROR_ENCODE.
-
-2010-09-06 20:06:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsterror.c:
-	  gsterror: avoid pointless string copying
-	  There's no need to create these tables with duplicates of the
-	  untranslated error message string constants, we can just use
-	  old-fashioned switch/case and call gettext directly. This also
-	  makes things slightly more thread safe and more robust to bad
-	  input (invalid error codes).
-
-2010-09-06 18:33:51 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/gst/gstvalue.c:
-	  check: Avoid error: array subscript is above array bounds
-	  Could have come up with something better for my 2000th commit
-	  to GStreamer...
-
-2010-09-06 17:01:19 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  docs: give a practical example for the gst_object_has_anchestor
-
-2010-09-06 14:33:44 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: use the parent_class defined by G_DEFINE_TYPE
-
-2010-09-06 14:32:00 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* Makefile.am:
-	* tests/check/Makefile.am:
-	  tests: tune skipping checks if we have disabled subsystems
-	  Skip ABI tests if some subsystems are off. Remove DISABLE_GST_DEBUG from
-	  skipping export checks as this is safe now.
-
-2010-09-06 14:09:52 +0300  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Use the correct variable for debug message
-	  Debug print was using a variable that was not initialized.
-
-2010-08-10 14:05:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstregistrychunks.c:
-	* tools/gst-inspect.c:
-	* win32/common/libgstreamer.def:
-	  element-details: allow for arbitrary element details
-	  Add a GstStructure to GstElementClass and GstElementFactory. Add setters/getter.
-	  Handle it in the registry code. Print items in gst-inspect.
-	  Fixes #396774.
-	  API: gst_element_class_set_meta_data(), gst_element_factory_get_meta_data_detail()
-
-2010-09-05 18:57:56 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From d3d9acf to c2e10bf
-
-2010-09-05 12:13:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From ca1c867 to d3d9acf
-
-2010-09-05 10:22:20 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Add new symbols from GstElementFactoryList
-	  And here's a reminder since I forgot to put them in my previous
-	  commit.
-	  API: gst_element_factory_list_filter
-	  API: gst_element_factory_list_get_elements
-	  API: gst_element_factory_list_is_type
-	  API: gst_plugin_feature_list_debug
-	  API: gst_plugin_feature_rank_compare_func
-	  API: GstElementFactoryListType
-	  API: GST_ELEMENT_FACTORY_TYPE_ANY
-	  API: GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
-	  API: GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
-	  API: GST_ELEMENT_FACTORY_TYPE_DECODABLE
-	  API: GST_ELEMENT_FACTORY_TYPE_DECODER
-	  API: GST_ELEMENT_FACTORY_TYPE_DEMUXER
-	  API: GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
-	  API: GST_ELEMENT_FACTORY_TYPE_ENCODER
-	  API: GST_ELEMENT_FACTORY_TYPE_FORMATTER
-	  API: GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
-	  API: GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
-	  API: GST_ELEMENT_FACTORY_TYPE_MUXER
-	  API: GST_ELEMENT_FACTORY_TYPE_PARSER
-	  API: GST_ELEMENT_FACTORY_TYPE_PAYLOADER
-	  API: GST_ELEMENT_FACTORY_TYPE_SINK
-	  API: GST_ELEMENT_FACTORY_TYPE_SRC
-	  API: GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
-
-2010-08-31 11:37:42 +0200  Philippe Normand <pnormand@igalia.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: buffering_ranges query support
-	  Fixes bug 623121
-
-2010-09-03 19:58:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  gstquery: Only fill the start/stop values of the buffering ranges if a non-NULL pointer was provided
-
-2010-08-31 11:35:12 +0200  Philippe Normand <pnormand@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* tests/check/gst/gstquery.c:
-	* win32/common/libgstreamer.def:
-	  gstquery: new buffering_ranges API
-	  Added a new query type to retrieve informations about the areas of the
-	  media currently buffered. See bug 623121.
-	  API: gst_query_add_buffering_range
-	  API: gst_query_get_n_buffering_ranges
-	  API: gst_query_parse_nth_buffering_range
-
-2010-08-16 19:01:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	  GstElementFactory: Add listing features
-	  https://bugzilla.gnome.org/show_bug.cgi?id=626181
-
-2010-09-02 12:44:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/running.xml:
-	  docs: mention GST_DEBUG_OPTIONS, ORC_CODE, G_DEBUG and G_SLICE environment variables
-	  Mention a few more useful environment variables in the 'Running GStreamer
-	  applications' section of the API reference.
-
-2010-09-02 14:15:29 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: fix use of empty subbuffers
-	  Remove a short cut that was ignoring src->data allocation mode. All
-	  the called code-path below handle size==0.
-
-2010-09-02 00:01:25 +0100  Jeffrey S. Smith <whydoubt@yahoo.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbuffer.h:
-	* gst/gstbufferlist.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstquery.h:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbytewriter.h:
-	  Fix casts in a bunch of inline functions to maintain correct const-ness
-	  Make code including GStreamer headers compile with -Wcast-qual by
-	  maintaining const-ness when casting. Also fix function signature of
-	  gst_byte_writer_set_pos(): the byte writer should not be marked as
-	  const.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=627910
-
-2010-08-31 18:40:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* configure.ac:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/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). A useful side
-	  effect of this is also that the PKG_CONFIG_PATH environment
-	  is now logged in the configure output.
-
-2010-09-01 11:34:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/advanced-clocks.xml:
-	  manual: improve clock docs a little
-
-2010-09-01 11:06:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: Fix memory leaks in the int64range tests
-
-2010-08-24 12:27:30 +0200  Philippe Normand <pnormand@igalia.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* tests/check/gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  gstvalue: Add new GstInt64Range type
-	  new GstInt64Range to store gint64 ranges.
-	  API: GST_TYPE_INT64_RANGE
-	  API: gst_value_set_int64_range
-	  API: gst_value_get_int64_range_min
-	  API: gst_value_get_int64_range_max
-	  Fixes bug #627826.
-
-2010-08-30 21:26:18 -0300  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  docs: Trivial cleanup for GST_DEBUG_CATEGORY_GET
-
-2010-08-30 16:02:55 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstinfo.c:
-	  info: Re-instate the default for color usage
-	  This was accidently removed in 7a722091b6d1b5d7f9404fdef4c695a29a65a989
-
-2010-08-30 12:47:31 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Use g_strcmp0 instead of strcmp
-	  Avoids segfaults when using NULL arguments.
-
-2010-08-27 15:35:49 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: add silent property to suppress signal emission
-	  Allow to turn off signal emission and therefore extra locking if this is not needed.
-	  Fixes #621299
-
-2010-08-28 10:16:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  utils: Add gst_util_fraction_compare() to the docs and exported symbols
-
-2010-08-28 17:51:14 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstpad.c:
-	  tests: Remove checks for deprecated flow check macros
-	  GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() are deprecated,
-	  so aren't available for the testsuite any more.
-
-2010-08-28 09:35:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Fix inverted assertion logic in gst_util_fraction_compare()
-
-2010-08-28 09:30:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	  utils: Add gst_util_fraction_compare() to compare fractions
-	  And use it for the fraction comparisons in gstvalue.c instead
-	  of using comparisons by first converting the fractions to double.
-	  Should fix bug #628174.
-	  API: gst_util_fraction_compare()
-
-2010-08-28 17:04:43 +1000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/capslist.h:
-	  tests: Add a couple of extra caps strings to test
-
-2010-08-27 16:52:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't do an infinite loop in the loop function
-	  Instead return after every iteration, which makes sure that the
-	  stream lock is released for a short time after every iteration,
-	  task state changes are checked, etc and this allows the task
-	  to be stopped properly.
-
-2010-08-27 16:49:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Flush the data queue if downstream return WRONG_STATE too
-
-2010-08-26 23:39:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  elements: Stop using GST_FLOW_IS_FATAL()
-
-2010-08-26 23:37:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  base: Stop using GST_FLOW_IS_FATAL()
-	  And document the special handling of WRONG_STATE.
-
-2010-08-26 23:07:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: Deprecate GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
-	  The problem with both macros is, that they suggest something that isn't true.
-	  If GST_FLOW_IS_FATAL is true, there could still be a problem for many elements
-	  and they should stop what they're currently doing and return that value
-	  upstream (e.g. not-linked in a parser). If GST_FLOW_IS_SUCCESS is false, it
-	  could still be that this is "ok" for the element (e.g. not-linked for a demuxer
-	  on a few of its pads but not all).
-	  It's better to not have these "convenience" macros but instead let people
-	  *think* about the handling of different flow returns, that makes sense for
-	  their element. And we should document the expected handling of flow returns for
-	  different classes of elements in the plugin writer's guide.
-	  Fixes bug #628014.
-
-2010-08-27 11:11:00 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: keep properties in order
-
-2010-08-27 10:22:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue.c:
-	  queue: ARG_ -> PROP_ for property constants
-
-2010-08-26 17:04:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix on-disk buffering again
-
-2010-08-26 15:12:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: recover from invalid downstream suggestions
-	  When we are handling a buffer and need to allocate an output buffer, handle the
-	  case when downstream suggests us a format that we can't convert the input buffer
-	  to. In that case, check if there is another format available downstream instead
-	  of failing.
-	  Fixes #621332 and see also #614296
-
-2010-08-26 13:46:34 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  gstplugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY.
-
-2010-08-16 14:12:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tag: Adds GST_TAG_APPLICATION_DATA
-	  Adds GST_TAG_APPLICATION_DATA for representing arbitrary private
-	  data that applications might want to store into tags. Exif/id3,
-	  for example, have tags for this.
-	  API: GST_TAG_APPLICATION_DATA
-	  Fixes #626651
-
-2010-08-24 12:46:38 -0700  David Schleef <ds@schleef.org>
-
-	* tools/gst-launch.1.in:
-	  gst-launch: Fix OIL_CPU_FLAGS docs for Orc
-
-2010-08-24 16:24:19 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.1.in:
-	  man: remove OIL_CPU_FLAGS from man page
-	  We're using ORC instead of libOil now.
-
-2010-08-23 18:20:23 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstinfo.c:
-	  Valgrind define is HAVE_VALGRIND_VALGRIND_H
-
-2010-07-27 18:24:44 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstinfo.c:
-	  Allow gst_debug_set_default_threshold() before gst_init()
-	  Calling gst_debug_set_default_threshold() before initialization
-	  seems like the "obvious" order.
-
-2010-08-23 13:06:19 +0200  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* tests/check/elements/queue.c:
-	  queue: fix segfault in test
-
-2010-08-23 10:58:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: intern all GstPluginDesc members when unpacking
-
-2010-08-23 10:56:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: fix leak when naming parented object
-
-2010-08-20 03:07:58 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gst.h:
-	* win32/common/libgstreamer.def:
-	  gst: Add a gst_is_initialized() API
-	  For one, this will allow libraries that expect applications to
-	  initialize GStreamer before using their API to have a check for this
-	  condition.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=627438
-
-2010-08-20 18:04:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: relax the source element check
-	  When there is a sink inside a bin, the SINK flag is set on the bin. When we are
-	  trying to iterate the source elements, also include the bins with the SINK flag
-	  because they could also contain source elements, in which case they are also a
-	  source.
-	  This solves the case where sending an EOS to a pipeline didn't get dispatched to
-	  all source elements.
-	  See #625597
-
-2010-08-19 17:07:00 +0200  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* tests/check/elements/queue.c:
-	  queue: added unit test for newsegment events
-
-2010-03-05 17:18:23 +0100  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: Push newsegment when linking in PLAYING
-	  Fixes #611918
-
-2010-08-12 20:23:45 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  element: link_many should activate pads if needed
-	  gst_element_link_many does some magic and creates ghostpads
-	  if needed, but it didn't set the newly created ghostpad to
-	  active if needed. This patch fixes it.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=626784
-
-2010-08-19 11:11:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstdatetime.c:
-	  datetime: Fix memory leak in the unit test by unreffing GstDateTime instance after usage
-
-2010-08-19 10:03:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/elements/queue.c:
-	  tests: fix comments in test
-
-2010-08-19 09:58:55 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use G_GUINT64_FORMAT where needed
-	  Fixes build on macosx
-
-2010-08-18 15:31:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	  check: enable queue test again
-
-2010-08-18 15:12:45 +0200  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* tests/check/elements/queue.c:
-	  queue: fixed racy unit tests
-	  Fixes #600004
-
-2010-08-16 18:01:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gsttee.c:
-	  plugins: add example launch lines and more explanation to the docs.
-	  The plugins where almost undocumented :/ ...
-
-2010-08-13 16:19:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix compilation
-
-2010-07-07 08:20:21 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix a special case during range management
-	  When a range contained no data, if it was new or newly empty, it would
-	  be mishandled if it were the current range.
-
-2010-07-05 13:43:05 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix locking around init_ranges
-	  This fixes a segfault where the ready to paused state change causes
-	  freeing and allocation of new ranges while another thread is trying to
-	  use them.
-
-2010-07-02 17:40:08 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: More ring buffer fixes
-	  - Set reading_pos correctly in _create_read ()
-	  - Seek to data if it is further than QUEUE_MAX_BYTES (queue) -
-	  cur_level.bytes away. This should avoid a situation where the ring
-	  buffer is full but the data offset from which we shall read is not in
-	  the ring buffer.
-	  - Only update the max_reading_pos to a lower value to protect data when
-	  necessary
-	  - Always signal an ADD in _locked_enqueue () so that an EOS unlocks the
-	  reader
-	  - More useful debug output
-
-2010-06-28 17:50:06 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: ring buffer fixes
-	  One must not affect the values of the current range based on a read
-	  request before the correct range is activated.
-
-2010-06-25 12:58:27 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix bugs
-	  update_buffering () needs to be called every time we write to the ring
-	  buffer so that applications don't get stuck waiting for a 100% buffered
-	  message while queue2 is waiting for space
-	  _create_write () must only be called for temp file/ring buffer cases
-
-2010-06-18 17:43:40 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: extend ring buffer to support ram mode
-
-2010-06-18 14:36:33 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: merge write buffer functions and fix bugs
-	  Cached data could have been overwritten so it is now protected until
-	  it is read. Similarly data was overread as _have_data () was always
-	  looking for the originally requested data even if part of it had been
-	  read already.
-
-2010-06-17 10:18:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: small cleanup
-
-2010-06-16 18:25:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: cleanup write_to_ring_buffer
-	  Use cur_level.bytes to see how much space is free in the ringbuffer.
-	  Simplyfy the write function, avoid taking subbuffers, move waiting for free
-	  space in one spot, use simply counter to write data of a buffer.
-
-2010-06-16 17:03:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: cleanups
-	  Add a macro to get the max size of the queue in bytes, which depends on the
-	  max_level.bytes and the ring_buffer_max_size.
-	  Some cleanups.
-
-2010-06-16 16:23:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: remove unused variable
-
-2010-06-16 16:13:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: cleanups
-	  Make sure the cur_level.bytes is updated after we change the writing_pos or the
-	  max_reading_pos.
-	  Refactor get_free_space()
-	  Add some comments
-
-2010-06-16 12:00:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: remove unneeded signal
-
-2010-06-16 12:00:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: set buffering mode correctly
-
-2010-06-16 11:20:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix calculation of available ringbuffer data
-
-2010-06-16 11:11:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: reading_pos is updated in create_read only
-
-2010-06-16 11:11:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: refactor and add debug
-
-2010-06-16 11:10:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix flushing
-
-2010-06-16 11:09:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add debug
-
-2010-06-15 17:26:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't try to write 0 bytes
-
-2010-06-15 16:12:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2; cleanups and fixes
-	  Make a macro for some frequent checks
-	  Emit the removed signal in all cases when we remove something
-
-2010-06-15 12:37:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: refactorings
-	  Check and handle seek errors
-	  Refactor the wait_free_space function.
-
-2010-06-16 12:24:25 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use ring-buffer-max-size prop to control ring buffer
-
-2010-06-06 09:30:48 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Clean up and improve code
-
-2010-05-26 04:11:48 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix conditions where behaviour should differ between ring buffer and temp file
-
-2010-05-19 16:04:15 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add useful debug messages and fix an assumption in _have_data ()
-
-2010-05-18 17:42:07 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix buffering percentage in ring buffer mode
-
-2010-05-18 17:21:40 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: various ring buffer fixes
-	  - make _get_range () emit the del signal once a buffer has been read
-	  - use do {} while (); for wait code as queue is locked and no data could
-	  have been read in the mean time so it makes no sense to check before
-	  waiting
-	  - make _is_filled () more robust
-
-2010-05-07 09:30:44 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: ring buffer work in progress
-
-2010-05-05 10:21:55 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Add use-ring-buffer and ring-buffer-max-size properties
-
-2010-06-15 08:59:11 +0200  Robert Swain <robert.swain@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add ST-Ericsson copyright
-
-2010-08-13 17:23:31 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 3e8db1d to ec60217
-
-2010-08-12 22:08:44 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: xrefs glib symbol in docs
-
-2010-08-12 16:05:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.h:
-	  gstcollectpads: Fix docs about GstCollectData list
-	  Add to the docs the fact that is only safe to iterate
-	  GstCollectPad's data list inside the collected callback.
-	  Fixes #610366
-
-2010-08-10 10:56:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From bd2054b to 3e8db1d
-
-2010-08-04 11:24:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tag: Adds GST_TAG_APPLICATION_NAME tag
-	  Adds a new tag for representing application used to create
-	  a media
-	  https://bugzilla.gnome.org/show_bug.cgi?id=626027
-
-2010-08-08 17:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: Initialize the GType cache for the bufferlist again
-	  This was accidentially removed with last commit.
-
-2010-08-06 19:38:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: Don't chain up finalize to the parent class
-	  GstMiniObject::finalize does nothing and this prevents a
-	  runtime-type-check cast and function call per buffer list.
-
-2010-07-20 09:23:11 -0500  Shixin Zeng <zeng.shixin@gmail.com>
-
-	* gst/gstbufferlist.c:
-	* gst/gstminiobject.c:
-	* gst/gstvalue.c:
-	  gst: make _get_type() in gst/* thread safe
-	  This is not really necessary here because everything is
-	  initialized from gst_init() already but using G_DEFINE_TYPE()
-	  removes some copy&paste boilerplate code.
-
-2010-08-06 19:34:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstmemindex.c:
-	  plugins: Add declarations for _get_type() functions to fix compiler warnings
-
-2010-07-20 09:23:54 -0500  Shixin Zeng <zeng.shixin@gmail.com>
-
-	* plugins/elements/gstfilesrc.c:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstmemindex.c:
-	  plugins: Make *_get_type() in plugins/* thread safe
-	  It's not really needed here but using G_DEFINE_TYPE() reduces
-	  some copy&paste boilerplate code.
-
-2010-08-06 18:43:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Make sure the buffer metadata is writable before changing it
-
-2010-08-05 13:56:11 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 2004d03 to bd2054b
-
-2010-08-05 10:04:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: speed up pad linking utility functions by not trying pads that will never work
-	  In gst_element_get_compatible_pad(), when trying to find a compatible pad on an
-	  element for a given pad, there's no point in checking the element's sink pads
-	  if the pad to link is a sink pad as well, or the element's source pads if the
-	  given pad is a source pad already, since those would never be able to link
-	  anyway. Should speed up linking using the convenience functions a little bit,
-	  or at least reduce debug log output.
-
-2010-08-05 10:32:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: take the timestamp a tick later
-	  The logging is not an atomic operation and because of the multi-threading we end
-	  up with out-of-order log lines. Tools that present the log-file should probably
-	  resort the lines. This change just takes the timestamp a bit closer to the
-	  actual logging.
-
-2010-08-05 09:36:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  debug: logging improvements
-	  Use the event serialisation. Log formats name instead of number.
-
-2010-07-15 15:46:24 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  check: don't use c++ keywords as variable names
-
-2010-07-15 11:37:30 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: log seek event details
-
-2010-07-12 10:50:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/advanced-dparams.xml:
-	  manual: update gst-controller chapter
-	  The docs were still describing deprecated api. Update it to tell about
-	  control-cources.
-
-2010-07-09 15:58:50 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/controller.c:
-	* tests/examples/helloworld/helloworld.c:
-	* tests/examples/launch/mp3parselaunch.c:
-	* tests/examples/queue/queue.c:
-	* tests/examples/stepping/framestep1.c:
-	* tests/examples/streams/stream-status.c:
-	* tests/examples/typefind/typefind.c:
-	  tests: clean up eventloop in examples
-	  Don't leak the bus. Don't parse messages with the method for errors (triggers
-	  gobject warning).
-
-2010-07-08 14:08:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmark: handle errors from the pipeline
-	  Catch errors and warnings on the bus. This fixes hanging pipelines in the case
-	  of bugs elsewhere. Also print state-change messages to give more detail on the progress.
-
-2010-07-06 18:20:40 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmark: cleanup last change in capsnego benchmark
-	  A pad name is not a factory name.
-
-2010-07-06 14:29:39 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstparse.c:
-	  docs: more docs for gst_parse_launch and co
-	  Tell about limited reusability of some parsed pipelines.
-
-2010-07-05 16:32:00 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: pad info output improvements
-	  Don't print empty query types. Also print caps-vmethods.
-
-2010-07-06 16:47:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: log element:pad names with caps
-
-2010-06-30 11:46:11 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  utils: better error logging in link_pads_filtered
-
-2010-06-24 10:00:04 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/transform1.c:
-	  tests: add comments telling the meaning of the abbreviations
-
-2010-07-05 12:19:29 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: avoid some caps manipulation
-	  After the intersect we have writable caps. Copy the template caps so that also
-	  there we have writable caps.
-
-2010-08-05 01:09:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  tests: add basic unit test for gst_pad_proxy_getcaps()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=624203
-
-2010-08-05 01:06:57 +0100  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
-	  gst_pad_proxy_getcaps() would return the pad template caps if the other side
-	  returned empty caps or if the intersection of all the caps on the other side
-	  was empty.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=624203
-
-2010-08-04 19:19:55 +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 13:47:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	  bytereader: Fix docs
-	  Fix typo in docs for the unsigned peek functions
-
-2010-07-05 10:00:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: remove \n from debug statements
-
-2010-08-03 11:37:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: fix build with gtk-doc from git
-	  For some reason the static inline function GST_CAT_LEVEL_LOG_valist is
-	  now picked up, which then breaks the build because it's not documented,
-	  so add it to the sections file.
-	  Based on patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com>.
-	  Fixes #625862.
-
-2010-07-15 23:05:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: add comment and more logging
-
-2010-07-29 17:27:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: download mode; prevent range corruption due to race
-	  Current range was being updated in the thread performing seek, but as
-	  no locks were kept for a short section, data flow could resume before
-	  current range updated, so data for the new range would be accepted as
-	  from the previous range.
-	  Rather, range should be updated in serialized manner based on
-	  newsegment event.
-
-2010-05-22 16:33:11 -0500  Rob Clark <rob@ti.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform fix for upstream caps-renegotiation
-	  If initially pass-through caps are negotiated between a transform element's
-	  sink and src pads, but then the downstream element returns different caps
-	  on a buffer from pad_alloc(), basetransform gets stuck with proxy_alloc=TRUE
-	  even though the upstream peer doesn't accept the caps, causing
-	  gst_pad_peer_accept_caps() to be called on each buffer in _buffer_alloc():
-	  if (!gst_caps_is_equal (newcaps, caps)) {
-	  GST_DEBUG_OBJECT (trans, "caps are new");
-	  /* we have new caps, see if we can proxy downstream */
-	  >>    if (gst_pad_peer_accept_caps (pad, newcaps)) {
-	  /* peer accepts the caps, return a buffer in this format */
-	  GST_DEBUG_OBJECT (trans, "peer accepted new caps");
-	  which is taking ~40ms/frame.
-	  This patch does two things.  (1) if the buffer returned from pad_alloc() has
-	  new caps, trigger the decision whether to proxy the buffer-alloc to be
-	  revisited, and (2) disable proxy if peer does not accept new caps.  (The first
-	  part may not be strictly needed, but seemed like a good idea.)
-	  Note that this issue would not arise except in case of downstream elements
-	  who have on their template-caps, some that would be suitable for pass-through,
-	  but at runtime pick more restrictive caps (for ex, after querying a driver for
-	  what formats it actually supports).
-
-2010-07-27 14:30:51 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: fix compilation on windows
-	  Fix mismatched brackets (#625295).
-
-2010-07-27 07:21:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstdatetime.c:
-	  gstdatetime: Fix localtime usage
-	  localtime only takes one parameter and returns a statically
-	  allocated tm struct. Use it correctly.
-	  Fixes #625368
-
-2010-03-29 18:05:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* tests/check/libs/transform1.c:
-	  basetransform: Try suggesting caps on bad caps pad_alloc
-	  When basetransform received an unsupported caps on pad_alloc
-	  it just returned not-negotiated. This patch makes it query
-	  the allowed caps between his sinkpad and upstream's srcpad
-	  to find a caps to suggest.
-	  This happens when dinamically switching pipeline elements
-	  and upstream pad_allocs with the previous caps that was
-	  being used.
-	  Fixes #614296
-
-2010-07-26 18:53:57 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: flush again after every line of debug output
-	  g_printerr() used to do this for us. Also use libc's fprintf() functions,
-	  to make sure the stderr pointer we use is actually compatible with the
-	  libc linked against by GStreamer (which apparently may not always be the
-	  same as what GLib is linked against on windows), and we don't need the
-	  functionality ensured by g_fprintf().
-	  Fixes #625295.
-
-2010-07-26 18:53:35 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.po:
-	* po/sk.po:
-	* po/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/zh_TW.po:
-	  po: update for new strings
-
-2010-06-23 11:31:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  gstvalue: Adds tests for datetime
-	  Adds tests for datetime fields in gstvalue tests
-	  Fixes #594504
-
-2010-06-23 11:30:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  gststructure: Adds datetime getter function
-	  Adds gst_structure_get_date_time function
-	  API: gst_structure_get_date_time
-	  Fixes #594504
-
-2010-06-21 23:42:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tag: Adds GST_TAG_DATE_TIME tag
-	  Adds a new tag that represents a date and time a media was
-	  created
-	  API: GST_TAG_DATE_TIME
-	  Fixes #594504
-
-2010-07-21 22:08:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* win32/common/libgstreamer.def:
-	  taglist: Add datetime get functions
-	  Adds _date_time_get and _date_time_get_index functions to
-	  taglist.
-	  API: gst_tag_list_get_date_time
-	  API: gst_tag_list_get_date_time_index
-	  Fixes #594504
-
-2010-07-21 22:04:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst_private.h:
-	* gst/gstdatetime.c:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* win32/common/libgstreamer.def:
-	  gstvalue: Adds datetime functions
-	  Adds a datetime functions to gstvalue
-	  Fixes #594504
-
-2010-07-16 14:09:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstdatetime.c:
-	* gst/gstdatetime.h:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstdatetime.c:
-	* win32/common/libgstreamer.def:
-	  gstdatetime: Adds GstDateTime
-	  Adds GstDateTime to represent dates + time + timezone
-	  information.
-	  Tests included.
-	  API: GstDateTime
-	  API: gst_date_time_get_day
-	  API: gst_date_time_get_month
-	  API: gst_date_time_get_year
-	  API: gst_date_time_get_hour
-	  API: gst_date_time_get_microsecond
-	  API: gst_date_time_get_minute
-	  API: gst_date_time_get_second
-	  API: gst_date_time_get_time_zone_offset
-	  API: gst_date_time_new
-	  API: gst_date_time_new_local_time
-	  API: gst_date_time_new_from_unix_epoch
-	  API: gst_date_time_new_now_local_time
-	  API: gst_date_time_new_now_utc
-	  API: gst_date_time_ref
-	  API: gst_date_time_unref
-	  Fixes #594504
-
-2010-07-26 14:59:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	  gst: Fix usage of glib_check_version()
-	  It returns NULL if the installed GLib version is as least as
-	  new as the required version and some explanatory string otherwise.
-
-2010-07-23 20:46:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: make gst-inspect print the release date time stamp
-
-2010-06-21 17:34:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* configure.ac:
-	  configure: use new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro
-
-2010-06-20 01:55:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrybinary.h:
-	* gst/gstregistrychunks.c:
-	  binaryregistry: save and load release date time in GstPluginDesc
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623040
-
-2010-06-20 00:33:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* tests/check/gst/gstplugin.c:
-	  plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
-	  This is a string describing a date and/or date/time in a simple subset of
-	  the ISO-8601 format, namely either "YYYY-MM-DD" or "YYYY-MM-DDTHH:MMZ" (with
-	  'T' the date/time separator and the 'Z' indicating UTC).
-	  The main purpose of this field is to keep track of plugin and element versions
-	  on an absolute timeline, so it's possible to determine which one is newer when
-	  comparing two date time numbers. This will allow us to express 'replaces'-type
-	  relationships betweeen plugins and element factories in future, even across
-	  different modules and plugin merges or splits (source module version numbers
-	  aren't particularly useful here, since they can only meaningfully be compared
-	  within the same module). It also allows applications and libraries to reliably
-	  check that a plugin is recent enough without making assumptions about modules
-	  or module versions.
-	  We use a string here to keep things simple and clear, esp. on the build system
-	  side of things.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=623040
-
-2010-07-20 09:25:20 -0500  Shixin Zeng <zeng.shixin@gmail.com>
-
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gstpreset.c:
-	* tests/check/libs/controller.c:
-	  tests: make *_get_type() in tests thread safe
-	  Even if it shouldn't be needed here. See #623491.
-
-2010-06-04 11:24:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: write debugging output to file if GST_DEBUG_FILE environment variable is set
-	  This changes behaviour slightly in that we no longer output things
-	  via g_printerr(), so any non-standard glib printerr handlers are no
-	  longer called when GST_DEBUG is enabled. However, this seems not
-	  really desirable in most cases anyway, and the GLib docs also say
-	  that libraries should not use g_printerr() for logging.
-	  Other stderr output (e.g. warnings, or application messages) will
-	  of course not be captured in the log file this way.
-	  GST_DEBUG_FILE=- will redirect debug output to stdout.
-
-2010-07-20 20:49:12 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Assume pads are compatible if we don't have templates
-	  This is the same behaviour as if we had a pad template caps of
-	  GST_CAPS_ANY on any of the pads (i.e. the actual check will be done
-	  during caps negotiation).
-
-2010-07-17 21:28:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Allow the subclass to add new fields to caps when getting new caps from downstream
-	  This was already done in all other cases where new caps are handled
-	  except upstream negotiation.
-
-2010-07-12 14:39:00 +0200  Michael Bunk <bunk@iat.uni-leipzig.de>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/advanced-dataaccess.xml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/advanced-threads.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/intro-basics.xml:
-	* docs/manual/manual.xml:
-	  docs: fix some typos and add some missing links in the app dev manual
-	  Fixes #624164.
-
-2010-07-12 14:22:50 +0200  Michael Bunk <bunk@iat.uni-leipzig.de>
-
-	* tools/gst-inspect.1.in:
-	  docs: fix typo on gst-inspect man page
-	  See #624164.
-
-2010-07-03 15:08:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: fix some silly list iteration code
-	  g_list_length() is not the best way to check if a list is empty or not.
-
-2010-07-16 17:53:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/glib-compat-private.h:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	  registry: use GStatBuf unconditionally and add typedef for backwards compatibility
-	  No need to clutter the code with #if #else #endif.
-	  See #623875.
-
-2010-07-16 17:33:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	  structure: Use a const GstStructure * as parameter for some more gst_structure_get variants
-
-2010-07-14 19:47:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  Revert "-launch: disable CLOCK_LOST message handling"
-	  This reverts commit 1f8eba611a63f45766c38c640288e42b27b10bd4.
-	  This should be fixed now (and if not should be fixed) and the
-	  clock-lost handling is now needed for playbin2 gapless playback.
-	  See bug #579127.
-
-2010-07-08 21:04:54 +0200  David Hoyt <dhoyt@llnl.gov>
-
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	  registrybinary: Fix compatibility with GLib 2.25 when using MSVC
-	  Newer GLib uses a new type for g_stat() and friends to improve
-	  Windows compatibility. On POSIX this is a typedef to struct stat.
-	  Fixes bug #623875.
-
-2010-07-08 07:48:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing
-	  Fixes bug #623806.
-
-2010-07-05 19:33:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Return values in stream time for the POSITION query
-	  Fixes bug #623622.
-
-2010-07-05 18:54:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Implement GstElement::get_query_types()
-
-2010-07-06 10:13:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Only answer the SEGMENT query in pull mode
-	  Otherwise the element handling the seeks should answer this query.
-	  Fixes bug #623622.
-
-2010-07-05 10:36:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Implement POSITION query
-	  Fixes bug #623541.
-
-2010-06-25 16:31:06 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  GstPad: Do not call gst_pad_accept_caps() when caps change
-	  Instead just check that the caps intersect with the pad template.
-	  The elements should properly accept/refuse the caps in setcaps().
-	  Shaves off calling the default implementation of acceptcaps which does
-	  an expensive gst_pad_get_caps() (so if you have 50 of those elements in
-	  a row, you'd be doing factorial(50) gst_pad_get_caps...).
-	  Does not break any module unit test and most apps work fine.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622740
-
-2010-07-08 16:24:21 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstutils.c:
-	  utils: Add more details about gst_element_get_compatible_pad
-
-2010-07-16 11:16:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development.
-
-=== release 0.10.30 ===
-
-2010-07-14 23:59:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.30
-
-2010-07-14 17:58:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/de.po:
-	* po/id.po:
-	* po/zh_CN.po:
-	  po: update translations
-
-2010-07-15 12:01:24 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	  pad: remove comma at the end of the last enum value
-	  Fixes the build for c++.
-
-2010-07-11 19:00:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttag.c:
-	  checks: add unit test for recent taglist merge_strings_with_comma fix
-	  See #624113.
-
-2010-07-11 18:59:53 +0100  Eduardo Dobay <edudobay@gmail.com>
-
-	* gst/gsttaglist.c:
-	  taglist: fix merge_strings_with_comma() for more than two strings
-	  Fixes #624113.
-
-2010-07-08 13:46:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/libs/.gitignore:
-	  .gitignore: ignore new basesink unit test binary
-
-2010-07-08 13:43:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  tools: remove -p shorthand for --no-sigusr-handler
-	  It's not really needed, and doesn't map any longer after the long option
-	  has been renamed.
-
-2010-07-06 15:47:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* tests/check/gst/.gitignore:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.29.4 pre-release
-	  Also bump libtool versions now (which I meant to do for the first
-	  pre-release but forgot).
-
-2010-07-06 23:44:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/LINGUAS:
-	* po/es.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/id.po:
-	* po/it.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/sl.po:
-	* po/sv.po:
-	* po/zh_CN.po:
-	  po: update translations
-
-2010-07-06 16:21:05 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* tests/check/libs/basesink.c:
-	* win32/common/libgstbase.def:
-	  basesink: add accessors for the enable-last-buffer property.
-	  API: gst_base_sink_set_last_buffer_enabled
-	  API: gst_base_sink_is_last_buffer_enabled
-
-2010-07-06 12:18:45 +0200  Alessandro Decina <alessandro.d@gmail.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/Makefile.am:
-	* tests/check/libs/basesink.c:
-	  basesink: add new enable-last-buffer property.
-	  Add a new enable-last-buffer property. When false, it disables storing the last
-	  received buffer in basesink::last-buffer. This can be useful in cases where
-	  buffers need to be released asap.
-	  API: GstBaseSink::enable-last-buffer
-
-2010-07-06 10:48:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttagsetter.c:
-	  checks: rewrite gsttagsetter test to use fewer g_usleep()
-	  Something about that seems to interact badly with some schedulers,
-	  so do things differently.
-	  Fixes #623469.
-
-2010-07-06 10:19:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: add new add gst_clock_id_wait_async_full() to docs
-	  API: add gst_clock_id_wait_async_full
-	  See #623589.
-
-2010-07-06 10:28:14 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Improve gst_value_{set|get}_caps docs
-
-2010-07-06 10:35:09 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: export gst_clock_id_wait_async_full
-
-2010-07-06 10:31:25 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  tests: remove ABI checks for GstClockEntry.
-
-2010-07-05 18:45:55 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* gst/gstclock.h:
-	  clock: document that GstClockEntry should be treated as ana opaque structure.
-
-2010-07-05 13:10:09 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstclock.c:
-	* tests/check/gst/gstsystemclock.c:
-	  clock: use the new gst_clock_id_wait_async_full.
-	  Use the new gst_clock_id_wait_async_full in gst_clock_set_master.
-	  Also add some tests.
-
-2010-07-05 13:01:53 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: fix refcounting bug in gst_clock_set_master.
-	  Make sure clock->clockid is unreffed before clock->master.
-	  gst_clock_id_unschedule (clock->clockid) tries to access clock->master. If
-	  clock->master is unreffed before and it's deallocated, _unschedule could access
-	  free'd memory.
-
-2010-07-05 12:56:40 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: add gst_clock_id_wait_async_full.
-	  Add gst_clock_id_wait_async_full. It's the same as gst_clock_id_wait_async but
-	  allows passing a GDestroyNotify to destroy user_data.
-
-2010-07-05 17:50:33 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	  docs: improve the api docs for new GstPadLinkChecks and its use
-
-2010-07-05 12:21:51 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/README:
-	  README: update after removal of "old" dir.
-	  Remove "old" and add a line about "examples".
-
-2010-07-04 17:34:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/old/examples/Makefile.am:
-	* tests/old/examples/TODO:
-	* tests/old/examples/appreader/.gitignore:
-	* tests/old/examples/appreader/Makefile.am:
-	* tests/old/examples/appreader/appreader.c:
-	* tests/old/examples/cutter/.gitignore:
-	* tests/old/examples/cutter/Makefile.am:
-	* tests/old/examples/cutter/cutter.c:
-	* tests/old/examples/cutter/cutter.h:
-	* tests/old/examples/events/Makefile.am:
-	* tests/old/examples/events/seek.c:
-	* tests/old/examples/helloworld2/.gitignore:
-	* tests/old/examples/helloworld2/Makefile.am:
-	* tests/old/examples/helloworld2/helloworld2.c:
-	* tests/old/examples/manual/.gitignore:
-	* tests/old/examples/manual/Makefile.am:
-	* tests/old/examples/manual/extract.pl:
-	* tests/old/examples/mixer/.gitignore:
-	* tests/old/examples/mixer/Makefile.am:
-	* tests/old/examples/mixer/mixer.c:
-	* tests/old/examples/mixer/mixer.h:
-	* tests/old/examples/pingpong/.gitignore:
-	* tests/old/examples/pingpong/Makefile.am:
-	* tests/old/examples/pingpong/pingpong.c:
-	* tests/old/examples/plugins/.gitignore:
-	* tests/old/examples/plugins/Makefile.am:
-	* tests/old/examples/plugins/example.c:
-	* tests/old/examples/plugins/example.h:
-	* tests/old/examples/pwg/.gitignore:
-	* tests/old/examples/pwg/Makefile.am:
-	* tests/old/examples/pwg/extract.pl:
-	* tests/old/examples/queue2/.gitignore:
-	* tests/old/examples/queue2/Makefile.am:
-	* tests/old/examples/queue2/queue2.c:
-	* tests/old/examples/queue3/.gitignore:
-	* tests/old/examples/queue3/Makefile.am:
-	* tests/old/examples/queue3/queue3.c:
-	* tests/old/examples/queue4/.gitignore:
-	* tests/old/examples/queue4/Makefile.am:
-	* tests/old/examples/queue4/queue4.c:
-	* tests/old/examples/retag/.gitignore:
-	* tests/old/examples/retag/Makefile.am:
-	* tests/old/examples/retag/retag.c:
-	* tests/old/examples/retag/transcode.c:
-	* tests/old/examples/thread/.gitignore:
-	* tests/old/examples/thread/Makefile.am:
-	* tests/old/examples/thread/thread.c:
-	* tests/old/testsuite/.gitignore:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/Rules:
-	* tests/old/testsuite/caps/.gitignore:
-	* tests/old/testsuite/caps/Makefile.am:
-	* tests/old/testsuite/caps/app_fixate.c:
-	* tests/old/testsuite/caps/audioscale.c:
-	* tests/old/testsuite/caps/caps.c:
-	* tests/old/testsuite/caps/caps.h:
-	* tests/old/testsuite/caps/caps_strings:
-	* tests/old/testsuite/caps/compatibility.c:
-	* tests/old/testsuite/caps/deserialize.c:
-	* tests/old/testsuite/caps/enumcaps.c:
-	* tests/old/testsuite/caps/eratosthenes.c:
-	* tests/old/testsuite/caps/filtercaps.c:
-	* tests/old/testsuite/caps/fixed.c:
-	* tests/old/testsuite/caps/fraction-convert.c:
-	* tests/old/testsuite/caps/fraction-multiply-and-zero.c:
-	* tests/old/testsuite/caps/intersect2.c:
-	* tests/old/testsuite/caps/intersection.c:
-	* tests/old/testsuite/caps/normalisation.c:
-	* tests/old/testsuite/caps/random.c:
-	* tests/old/testsuite/caps/renegotiate.c:
-	* tests/old/testsuite/caps/sets.c:
-	* tests/old/testsuite/caps/simplify.c:
-	* tests/old/testsuite/caps/string-conversions.c:
-	* tests/old/testsuite/caps/structure.c:
-	* tests/old/testsuite/caps/subtract.c:
-	* tests/old/testsuite/caps/union.c:
-	* tests/old/testsuite/debug/.gitignore:
-	* tests/old/testsuite/debug/Makefile.am:
-	* tests/old/testsuite/debug/category.c:
-	* tests/old/testsuite/debug/commandline.c:
-	* tests/old/testsuite/debug/global.c:
-	* tests/old/testsuite/debug/output.c:
-	* tests/old/testsuite/debug/printf_extension.c:
-	* tests/old/testsuite/dlopen/.gitignore:
-	* tests/old/testsuite/dlopen/Makefile.am:
-	* tests/old/testsuite/dlopen/dlopen_gst.c:
-	* tests/old/testsuite/dlopen/loadgst.c:
-	* tests/old/testsuite/elements/.gitignore:
-	* tests/old/testsuite/elements/Makefile.am:
-	* tests/old/testsuite/elements/gst-inspect-check.in:
-	* tests/old/testsuite/elements/struct_i386.h:
-	* tests/old/testsuite/elements/struct_size.c:
-	* tests/old/testsuite/indexers/.gitignore:
-	* tests/old/testsuite/indexers/Makefile.am:
-	* tests/old/testsuite/indexers/cache1.c:
-	* tests/old/testsuite/indexers/indexdump.c:
-	* tests/old/testsuite/parse/.gitignore:
-	* tests/old/testsuite/parse/Makefile.am:
-	* tests/old/testsuite/parse/parse1.c:
-	* tests/old/testsuite/parse/parse2.c:
-	* tests/old/testsuite/plugin/.gitignore:
-	* tests/old/testsuite/plugin/Makefile.am:
-	* tests/old/testsuite/plugin/README:
-	* tests/old/testsuite/plugin/dynamic.c:
-	* tests/old/testsuite/plugin/linked.c:
-	* tests/old/testsuite/plugin/loading.c:
-	* tests/old/testsuite/plugin/registry.c:
-	* tests/old/testsuite/plugin/static.c:
-	* tests/old/testsuite/plugin/static2.c:
-	* tests/old/testsuite/plugin/testplugin.c:
-	* tests/old/testsuite/plugin/testplugin2.c:
-	* tests/old/testsuite/plugin/testplugin2_s.c:
-	* tests/old/testsuite/plugin/testplugin_s.c:
-	* tests/old/testsuite/refcounting/.gitignore:
-	* tests/old/testsuite/refcounting/Makefile.am:
-	* tests/old/testsuite/refcounting/bin.c:
-	* tests/old/testsuite/refcounting/element.c:
-	* tests/old/testsuite/refcounting/element_pad.c:
-	* tests/old/testsuite/refcounting/mainloop.c:
-	* tests/old/testsuite/refcounting/mem.c:
-	* tests/old/testsuite/refcounting/mem.h:
-	* tests/old/testsuite/refcounting/object.c:
-	* tests/old/testsuite/refcounting/pad.c:
-	* tests/old/testsuite/refcounting/sched.c:
-	* tests/old/testsuite/refcounting/thread.c:
-	* tests/old/testsuite/states/.gitignore:
-	* tests/old/testsuite/states/Makefile.am:
-	* tests/old/testsuite/states/bin.c:
-	* tests/old/testsuite/states/locked.c:
-	* tests/old/testsuite/states/parent.c:
-	* tests/old/testsuite/threads/.gitignore:
-	* tests/old/testsuite/threads/159566.c:
-	* tests/old/testsuite/threads/159852.c:
-	* tests/old/testsuite/threads/Makefile.am:
-	* tests/old/testsuite/threads/queue.c:
-	* tests/old/testsuite/threads/signals.c:
-	* tests/old/testsuite/threads/staticrec.c:
-	* tests/old/testsuite/threads/thread.c:
-	* tests/old/testsuite/threads/threadb.c:
-	* tests/old/testsuite/threads/threadc.c:
-	* tests/old/testsuite/threads/threadd.c:
-	* tests/old/testsuite/threads/threade.c:
-	* tests/old/testsuite/threads/threadf.c:
-	* tests/old/testsuite/threads/threadg.c:
-	* tests/old/testsuite/threads/threadh.c:
-	* tests/old/testsuite/threads/threadi.c:
-	  Remove old 0.8 tests and examples from git tree
-	  Doesn't really look like anything's worth keeping.
-
-2010-07-03 16:39:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstobject.c:
-	  check: skip silly test that segfaults when in a CK_FORK=no environment
-	  See #623469.
-
-2010-07-03 15:13:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/fakesrc.c:
-	  checks: make fakesrc check work in a CK_FORK=no environment
-	  Reset have_eos at the beginning of each test.
-	  See #623469.
-
-2010-07-03 14:09:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gst.c:
-	  checks: run tests calling gst_deinit() last so things work with CK_FORK=no
-	  Because gst_init() will fail once gst_deinit() has been called.
-	  See #623469.
-
-2010-07-03 14:04:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstelement.c:
-	  checks: don't assume element factory is not loaded yet
-	  It may already be loaded if check is being run with CK_FORK=no.
-	  See #623469.
-
-2010-07-01 19:58:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-position.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/basics-helloworld.xml:
-	  docs: fix a couple of typos in the manual
-	  Spotted by Alexander Saprykin.
-	  Fixes #622379.
-
-2010-07-01 17:56:33 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	* tests/check/gst/gstcaps.c:
-	  gstcaps: Make sure _normalize() is applied on all structures.
-	  We need to use gst_caps_get_size() in the loop counter since some
-	  structures could be added while iterating.
-	  Fixes #623301
-
-2010-06-30 13:16:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/highlevel-xml.xml:
-	  docs: update 'XML in GStreamer' section in application developer's manual
-
-2010-06-29 18:48:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.29.3 pre-release
-
-2010-06-25 19:03:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: implement acceptcaps function
-	  Our acceptcaps function can simply forward the query.
-
-2010-06-28 15:28:59 +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-28 13:56:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  tools: mention --eos-on-shutdown on gst-launch man page
-
-2010-06-28 10:20:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  utils: Don't use G_GNUC_CONST for the uint64 scaling functions
-	  They are actually *not* const functions because on architectures
-	  without int128 instructions the parameters were changed.
-	  gcc re-used the parameters on the stack for multiple calls though
-	  and the changed parameters were used for the second call then.
-	  Fixes bug #623003.
-
-2010-06-26 17:48:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  0.10.29.2 pre-release
-
-2010-06-26 17:47:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translations
-
-2010-06-26 10:16:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	* configure.ac:
-	* tests/examples/xml/.gitignore:
-	* tests/examples/xml/Makefile.am:
-	* tests/examples/xml/createxml.c:
-	* tests/examples/xml/runxml.c:
-	  examples: remove xml example build system bits and purge from tree
-	  Fixes make distcheck.
-
-2010-06-26 09:59:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstxml.c:
-	  xml: keep dummy gst_xml_get_type() function for g-i even if rest of GstXML is removed
-	  Add a minimal gst_xml_get_type() function, so that gobject-introspection doesn't
-	  break the compilation if we're compiling with GST_REMOVE_DEPRECATED defined or
-	  --disable-loadsave having been passed to configure. Until someone figures out
-	  a better way at least.
-
-2010-06-26 01:01:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstcaps.c:
-	* gst/gstconfig.h.in:
-	* gst/gstelement.c:
-	* gst/gstghostpad.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstxml.c:
-	* plugins/indexers/gstfileindex.c:
-	  Don't include <libxml/parser.h> from public headers if GST_DISABLE_DEPRECATED is defined
-	  Since everything GstXML related has been deprecated, we can now skip the
-	  libxml includes from the public headers when GST_DISABLE_DEPRECATED is
-	  defined.
-	  See #463435.
-
-2010-06-26 00:18:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/examples/typefind/typefind.c:
-	  examples: add missing stdlib.h include in typefind example
-
-2010-06-25 21:23:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  dot-dump: terminate truncated strings and escape special chars
-	  Fixes syntax errors in generated dot files for caps with strings.
-
-2010-06-25 18:52:02 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: more documentation regarding the new flags
-
-2010-06-25 18:18:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: make the NOTHING link check flag be 0
-	  Make the pad link check of NOTHING be 0. This way we have a flag for each
-	  feature and 0 when no flags are set.
-
-2010-06-25 18:24:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/gst/struct_hppa.h:
-	* tests/check/gst/struct_i386.h:
-	* tests/check/gst/struct_ppc32.h:
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_sparc.h:
-	* tests/check/gst/struct_x86_64.h:
-	  tests: Remove GstXML tests
-
-2010-06-25 18:13:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstelement.c:
-	* gst/gstghostpad.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstxml.c:
-	* gst/gstxml.h:
-	* tests/examples/Makefile.am:
-	* tests/examples/manual/Makefile.am:
-	* tools/Makefile.am:
-	* tools/gst-launch.c:
-	  gstxml: Deprecate GstXml and related functions
-	  Pipeline serialisation to and from XML is horribly broken for all
-	  but the most simple use cases, and will likely never be fixed.
-	  Make sure everyone playing around with these tools is aware of
-	  this, to avoid frustration. See countless bug reports in bugzilla.
-	  Fixes bug #622685.
-
-2010-06-25 18:11:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstcontroller.c:
-	  controller: Fix build with GST_REMOVE_DEPRECATED
-
-2010-06-24 12:19:20 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmarks: Use gst_element_link_pads_full
-	  We're testing caps negotiation, not pad linking. Brings the startup
-	  time down 100 fold.
-
-2010-06-24 17:53:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	* tools/gst-xmllaunch.1.in:
-	  tools: deprecate gst-xmllaunch and print fat warning if someone tries to use it
-	  Pipeline serialisation to and from XML is horribly broken for all
-	  but the most simple use cases, and will likely never be fixed.
-	  Make sure everyone playing around with these tools is aware of
-	  this, to avoid frustration. See countless bug reports in bugzilla.
-
-2010-06-24 17:22:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  gst-launch: rename new --no-play command line option to --no-sigusr-handler
-	  --no-play seems a bit confusing.
-	  Fixes #621867.
-
-2010-06-24 15:07:11 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 73ff93a to a519571
-
-2010-06-23 11:02:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrybinary.h:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	  binaryregistry: ignore the plugin cache if the filter environment has changed
-	  Make sure that we properly update the registry and the cache file whenever
-	  the filter environment changes or there's no more filter set.
-
-2010-05-27 12:36:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	  pluginloading: add support for whitelisting based on plugin or source module name and path
-	  This feature is primarily intended for use in plugin modules' unit tests.
-	  Consider the following situation: gst-plugins-good is built against an
-	  installed GStreamer core. An older version of gst-plugins-good is also
-	  installed in that prefix, along with random other plugin modules. Now,
-	  when doing 'make check' in the just-built gst-plugins-good tree, we
-	  want to only load plugins from GStreamer core, gst-plugins-base, and
-	  gst-plugins-good, but not random other modules (we don't want any unit
-	  tests to fail just because some module in gst-plugins-bad has a broken
-	  plugin_init, for example). Also, we want to only load gst-plugins-good
-	  modules from the locally-built source tree, but not any of the older
-	  gst-plugins-good modules installed. This is usually assured by loading
-	  the ones in the source tree first (by adding that path first to the
-	  right environment variables), but it gets tricky when plugins are
-	  moved, removed, merged, or renamed, or the plugin filename changes.
-	  Note that 'make check' should really work right without doing
-	  'make install' or uninstalling the old gst-plugins-good package (or
-	  any other gst-plugins-foo package) first.
-	  Enter GST_PLUGIN_LOADING_WHITELIST. This environment variable may
-	  contain source-package@path-prefix pairs separated by the platform
-	  search path separator (G_SEARCHPATH_SEPARATOR_S). The source package
-	  and path prefix are separated by the '@' character. The path prefix is
-	  entirely optional, as is the '@' separator if no path is given.
-	  It is also possible to filter based on plugin names instead of the name
-	  of the source-package by specifying one or more plugin names separated
-	  by commas before the optional path prefix.
-	  In short, the following match patterns are possible:
-	  plugin1,plugin2@pathprefix or
-	  plugin1,plugin2@* or just
-	  plugin1,plugin2 or
-	  source-package@pathprefix or
-	  source-package@* or just
-	  source-package
-	  So for our gst-plugins-good unit test example above, we  would set the
-	  environment variable on *nix to something like this (will likely be a
-	  relative path in practice):
-	  gstreamer:gst-plugins-base:gst-plugins-good@/path/to/src/gst-plugins-good
-	  Fixes #619815 and #619717.
-
-2010-06-23 17:24:07 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstghostpad.c:
-	  gstghostpad: We don't need any checks when linking target pad
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622504
-
-2010-06-23 17:00:17 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  gstutils: New gst_element_link_pads_full method
-	  Links the elements with the specified pad linking checks.
-	  API:gst_element_link_pads_full
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622504
-
-2010-06-23 16:45:19 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  GstPad: Add new pad linking method with configurable checks.
-	  To be used for cases where we don't need all checks to be validated.
-	  API: gst_pad_link_full
-	  API: GstPadLinkCheck
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622504
-
-2010-06-15 18:26:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tag: Adds GST_TAG_IMAGE_ORIENTATION tag
-	  Adds a new tag to inform about the image orientation and how
-	  to rotate and flip it before display.
-	  Note that this tag is a string with a predefined set of
-	  possible values.
-	  API: GST_TAG_IMAGE_ORIENTATION
-	  Fixes #619508
-
-2010-06-22 18:53:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  gstobject: deprecate gst_object_{set|get}_name_prefix()
-	  The name prefix stuff has never been used for anything and it doesn't
-	  look like we'll ever want to use it for anything.
-	  Fixes #621006.
-
-2010-06-22 10:20:53 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstpad.h:
-	  Add gobject-introspection annotations for GstPadIntLinkFunction
-	  Fixes build with latest gobject-introspection from git.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=622025
-
-2010-06-21 11:41:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix merging of ranges
-	  When we merge two ranges, don't updata the current range writing_pos with
-	  whereever we were writing earlier in the merged range.  Spotted by bilboed.
-
-2010-06-19 11:19:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: also skip .deps dirs when scanning for plugins
-	  No need to descend into .deps dirs in uninstalled setups, we know
-	  these don't contain any plugins.
-
-2010-06-17 11:39:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* win32/common/libgstreamer.def:
-	  taglist: add gst_tag_list_peek_string_index to avoid a copy
-	  Adds a variation of the _get_string_index function that doesn't copy
-	  the string.
-	  API: gst_tag_list_peek_string_index
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621896
-
-2010-06-18 12:00:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: make sure buffers' metadata is writable before setting caps on them
-	  Fixes warnings when using playbin2 with dvb:// streams, where typefind
-	  comes after mpegtsparse.
-
-2010-06-17 15:52:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	  docs: update introspected plugin docs for gstdoc-scanobj changes
-	  Update common for latest gstdoc-scanobj and inspect xml files for
-	  escaping and pad template order changes.
-
-2010-06-17 13:19:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Initialize jitter to prevent printing an uninitialized variable if waiting for the clock failed
-
-2010-06-17 10:34:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update for new strings
-
-2010-06-17 09:33:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/intro-basics.xml:
-	  manual: fix another typo and some inaccuracies
-	  Fix a wrong statement and flesh out section on messages and queries
-	  a bit.
-
-2010-06-17 09:05:58 +0200  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/manual/intro-basics.xml:
-	  manual: Fix another typo
-
-2010-06-17 09:05:28 +0200  Alexander Saprykin <xelfium@gmail.com>
-
-	* docs/manual/intro-basics.xml:
-	  manual: Fix typo
-
-2010-06-16 13:11:06 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: Add an allow-none annotation
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621773
-
-2010-06-16 13:10:26 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstminiobject.h:
-	  miniobject: Add introspection annotations
-	  These are required to know how to unref/ref and
-	  convert to/from a GValue.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621773
-
-2010-06-16 13:10:13 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstevent.c:
-	  event: Add out annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621773
-
-2010-06-16 13:10:06 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstquery.c:
-	  query: Add out annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621773
-
-2010-06-16 13:09:57 -0300  Johan Dahlin <johan@gnome.org>
-
-	* gst/gstmessage.c:
-	  message: Add out annotations
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621773
-
-2010-06-16 13:00:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: make sync property work correctly
-	  Don't override the default get_times vmethod so that we can use the sync
-	  property.
-	  Set the default sync property to FALSE. It used to be set to TRUE but because
-	  the get_times was NULL, it always behaved like FALSE.
-	  Fixes #621530
-
-2010-06-15 18:48:53 +0200  Benjamin Gaignard <benjamin.gaignard@gmail.com>
-
-	* gst/gstelement.h:
-	  element: Improve gst_element_get_name() docs
-	  Fixes bug #621660.
-
-2010-06-15 16:49:04 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 9339ccc to 35617c2
-
-2010-06-15 16:53:35 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5adb1ca to 9339ccc
-
-2010-06-15 16:34:37 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 57c89b7 to 5adb1ca
-
-2010-06-15 15:31:12 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From c804988 to 57c89b7
-
-2010-06-15 11:48:26 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  Revert "GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag"
-	  This reverts commit dc38e75d88bd8921895821f7afed01cab30e46c9.
-	  boom
-
-2010-06-15 11:48:17 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  Revert "gstpad: Return pad template in get_caps if pad is not negotiable"
-	  This reverts commit 7460321a600438966d7152ab2b4318be48eadce0.
-	  crack
-
-2010-06-15 11:48:07 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  Revert "pad: fix comment"
-	  This reverts commit 8e92cb4a7d56cdfa4674315c64b58c1b1b9d8208.
-	  whatever...
-
-2010-06-15 11:47:57 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstelement.c:
-	  Revert "element: only clear negotiable when going to NULL"
-	  This reverts commit 8f5ec1f737c3b37538b2307aef160d9d21f1c422.
-	  bleeeeh
-
-2010-06-15 10:46:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  info: add dummy TRACE log level macros for when debugging is disabled
-	  Forgot those when adding the original API, just like the API markers
-	  in the commit message:
-	  API: GST_TRACE
-	  API: GST_TRACE_OBJECT
-	  API: GST_CAT_TRACE
-	  API: GST_CAT_TRACE_OBJECT
-	  API: GST_LEVEL_TRACE
-	  Fixes compilation with --disable-gst-debug
-
-2010-06-15 01:15:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: print more errors to stderr and suppress more output in quiet mode
-	  If --quiet is given, don't print anything but errors. Also, make
-	  sure errors are always printed to stderr and not to stdout.
-	  Fixes #621595.
-
-2010-06-14 18:07:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: only clear negotiable when going to NULL
-	  Don't clear the negotiable flag when going to READY because then it will never
-	  be set to TRUE again.
-
-2010-06-14 17:33:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: fix comment
-
-2010-05-17 15:06:37 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  gstpad: Return pad template in get_caps if pad is not negotiable
-	  https://bugzilla.gnome.org/show_bug.cgi?id=618644
-
-2010-05-17 15:04:48 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* win32/common/libgstreamer.def:
-	  GstPad: Add GST_PAD_NEGOTIABLE GstPadFlag
-	  A pad is 'negotiable' when its container element is in a state greater
-	  than GST_STATE_READY
-	  API:gst_pad_is_negotiable
-	  API:gst_pad_set_negotiable
-	  API:GST_PAD_NEGOTIABLE
-	  https://bugzilla.gnome.org/show_bug.cgi?id=618644
-
-2010-06-14 16:51:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: use method to set sync property
-	  Use the basesink method to configure the sync property instead of poking the
-	  parent structure.
-
-2010-06-14 16:50:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: use the default get_times function
-	  Use the default get_times function of basesink so that we honour the sync
-	  property instead of never synchronizing to the clock.
-	  Fixes #621530
-
-2010-06-14 16:20:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: reevaluate proxy_alloc when reconfigured
-	  When we reconfigure the transform element, make sure we reevaluate the proxying
-	  of buffer_alloc the next time around.
-	  Fixes #621332
-
-2010-06-14 15:39:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/capslist.h:
-	  caps: Don't use invalid fraction range in the unit test
-
-2010-06-14 15:30:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: Add some more assertions and checks for valid input parameters
-
-2010-05-27 15:13:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: optimize progressive masked_scan
-	  Retain the last scanned buffer entry and offset, so we can resume buffer
-	  scanning there in case of a typical progressive scan.
-	  Also potentially optimize _copy subsequently occurring in that area.
-
-2010-05-27 12:15:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* win32/common/libgstbase.def:
-	  adapter: add extended masked_scan_uint32_peek that also provides matching value
-	  Also add to .def and docs.
-	  Fixes #619828.
-	  API: gst_adapter_masked_scan_uint32_peek
-
-2010-06-14 13:38:41 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: fix .def file
-
-2010-06-14 12:25:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  docs: add Since: tag for new gst_caps_steal_structure
-
-2010-06-11 15:36:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  docs: fix example to use a category name that actually exists
-
-2010-06-14 11:39:40 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* win32/common/libgstreamer.def:
-	  gstcaps: New gst_caps_steal_structure() method
-	  This allows removing structures from caps without them being freed. Helpful when
-	  plugins need to move around structures without having to do an expensive structure
-	  copy.
-	  API:gst_caps_steal_structure
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621527
-
-2010-06-14 13:10:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  configure: Don't add G_THREADS_MANDATORY to GST_ALL_CFLAGS
-	  It's already included in GLIB_EXTRA_CFLAGS
-
-2010-06-14 13:07:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  configure: use GLIB_EXTRA_CFLAGS
-
-2010-06-14 13:02:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7a0fdf5 to c804988
-
-2010-06-14 13:01:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: fix printf format
-
-2010-06-14 12:39:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: implement custom accept_caps method
-	  Implement a custom acceptcaps function. We can simply check if there is an
-	  intersection with the new caps. This makes the accept caps function much faster.
-	  See #621190
-
-2010-06-14 12:36:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	  basetransform: add accept_caps vmethod
-	  Allow subclasses to override the acceptcaps function because in some cases a
-	  custom implementation can be much much faster than the default one.
-	  See #621190
-
-2010-06-14 11:30:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6da3bab to 7a0fdf5
-
-2010-06-11 18:49:02 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Remove transform_size
-	  GstBaseTransform now assumes that the size is the same if there is not
-	  transform_size.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621334
-
-2010-06-11 18:46:30 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Assume size is the same if no transform_size/get_unit_size
-	  Subclasses that don't implemen transform_size should be assumed to produce output
-	  buffers of the same size.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=621334
-
-2010-06-14 08:18:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: Don't initialize arrays from variables
-
-2010-06-14 08:11:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Store result of strtol in an unused variable to really fix a compiler warning...
-
-2010-06-13 20:52:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Cast return value to void to prevent compiler warning
-
-2010-06-13 18:12:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/examples/streams/rtpool-test.c:
-	  rtpool-test: Prevent NULL pointer dereference
-
-2010-06-13 18:05:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Make sure we have a valid object to render in _render_object()
-
-2010-06-13 18:00:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: Add some assertion guards against invalid parameters to public API
-
-2010-06-13 17:08:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* libs/gst/base/gstbasesrc.c:
-	  Remove some dead assignments
-
-2010-06-13 17:06:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/benchmarks/gstbufferstress.c:
-	  bufferstress: Check if the number of threads and buffers makes sense
-
-2010-06-13 17:03:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/examples/metadata/read-metadata.c:
-	  read-metadata: Stop if setting the pipeline state back to NULL fails
-
-2010-06-13 16:59:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/benchmarks/complexity.c:
-	  complexity: Remove dead assignments and unused variables
-
-2010-06-13 16:31:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Don't ignore failure to open the temporary file location
-	  And immediately leave the state change function on failures.
-
-2010-06-13 16:27:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Fix iterator aggregation of all pads in the internal links fallback
-	  g_list_prepend() returns the new head of the list and not
-	  using this will create a memory leak and a single-element list.
-
-2010-06-13 15:25:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: Add new FIXME for 0.11 and update gst_iterator_find_custom docs
-	  The compare function should only unref the element if it's
-	  not the matching element.
-	  Also the FIXME in _fold() is not relevant because the ref/unref
-	  happens in the fold function.
-
-2010-06-13 11:24:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: If the iterator resync in find_custom() just retry
-
-2010-06-12 08:25:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 733fca9 to 6da3bab
-
-2010-06-12 08:04:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstvalue.c:
-	  value: Add test for deserializing fourccs
-
-2010-06-11 22:56:13 +0000  Martin Bisson <martin.bisson@gmail.com>
-
-	* gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  value: Fixed serialization for short fourccs.
-	  "Y16 " and "Y8  " were not displayed properly because the space
-	  character is not alnum.  A unit test is also included.
-	  Fixes bug #621282.
-
-2010-06-11 16:12:33 -0700  David Schleef <ds@schleef.org>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: print ranks with offsets from names
-
-2010-06-09 12:39:54 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From fad145b to 733fca9
-
-2010-06-09 12:30:49 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 47683c1 to fad145b
-
-2010-06-09 12:17:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix comment typo even more
-
-2010-06-09 12:06:52 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistry.c:
-	  docs: update docs (format and search path).
-	  Remove obsolete xml registry cache extension. Tell that content and location is
-	  internal detail. Docuemnt the plugin search order.
-
-2010-06-09 12:06:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpluginloader.c:
-	  comments: add a few comments to the sparsely documented plugin loader
-
-2010-06-08 11:41:11 +0200  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix comment typo
-
-2010-06-08 12:12:42 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: use gst_caps_append_structure_unchecked() macro once more
-
-2010-06-08 12:10:36 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: use a safer name for temporary var. to not shadow one from outer scope
-
-2010-06-07 12:20:41 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstvalue.c:
-	  value: use glib types in more places
-	  Do a bunch of char -> gchar, int -> gint, double -> gdouble changes.
-
-2010-06-07 12:07:30 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstvalue.c:
-	  value: just compute strlen() once
-
-2010-06-07 10:16:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: don't wait for data when EOS
-	  When in download mode and we need to provide data for an offset that we don't
-	  have, also perform a seek to the requested location when we are EOS. The reason
-	  why we shouldn't wait for more data is because after EOS, there simply will be
-	  no more data and we end up waiting forever.
-	  Fixes #620500
-
-2010-06-07 08:18:40 +0200  Martin Bisson <martin.bisson@gmail.com>
-
-	* gst/gstvalue.c:
-	  value: Add support for parsing short fourccs from strings
-	  For example "Y16 " and "Y8  ".
-
-2010-06-06 23:19:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	  check: use globbing for selective test invocation via GST_CHECKS
-	  Use glib globbing instead of simple string matching to allow e.g.
-	  GST_CHECKS="test_inter*" make gst/gstcaps.check
-
-2010-06-06 21:20:21 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/capsnego.c:
-	  capsnego: also meassure pipeline building time
-
-2010-06-05 23:18:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: avoid a caps-copy
-	  We can simply truncate the caps, as 'othercaps' is the result of intersect
-	  operations and thus ours and writable.
-
-2010-06-03 01:49:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	  info: add new TRACE log level and move refcounting there from LOG level
-	  This makes it possible to easily get a *:5 debug log without all
-	  the refcounting noise, and drastically reduces the number of lines
-	  output for a normal log (46m to 28m for a 20min video). The full log
-	  including refcounting information can still be gotten using *:7.
-	  Fixes #620460.
-
-2010-06-04 17:10:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Use G_PARAM_STATIC_STRINGS for standard properties
-
-2010-06-03 17:21:00 +0200  Philippe Normand <phil@base-art.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Make gst_base_sink_query return TRUE if the segment query succeeded.
-	  Fixes bug #620490.
-
-2010-06-01 23:48:59 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 17f89e5 to 47683c1
-
-2010-06-01 22:54:20 -0700  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From fd7ca04 to 17f89e5
-
-2010-05-24 17:25:52 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pads: Improve readability for gst_pad_fixate_caps()
-	  Just truncate and then fixate. We check for empty caps in the begin and a
-	  fixate-func that empties a caps would be broken. It also helps lazy caps impl.
-	  in bug 618853 by avoiding the gst_caps_get_size().
-
-2010-06-01 11:46:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  check: log plugins available to unit tests and their paths
-
-2010-06-01 11:45:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  win32: commit Makefile changes for win32-update as well
-
-2010-05-31 15:14:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/gstmarshal.c:
-	* win32/common/gstmarshal.h:
-	  win32: add pre-generated versions of gstmarshal.[ch] as well
-	  and put them next to the pre-generated enumtypes files for those
-	  not using autotools for buildling GStreamer.
-
-2010-05-27 15:10:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/libs/adapter.c:
-	  tests: also check for adapter buffer merging in unit test
-
-2010-05-27 12:50:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: fix _try_to_merge_up
-	  That is, provide correct return value (as documented), and actually
-	  loop to consider more than the first 2 buffers.
-
-2010-05-27 12:48:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: fix documentation glitch
-
-2010-05-26 11:54:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 357b0db to fd7ca04
-
-2010-05-25 19:17:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  gstbin: unlock _get_state() on error
-	  When an error message is received on the bus, mark the bin as being in the error
-	  state and unlock all current _get_state() calls with an error.
-	  Fixes #505770
-
-2010-05-24 19:07:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gsttagsetter.c:
-	  checks: add multi-thread test for tagsetter
-	  See #619533.
-
-2010-05-24 19:06:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttagsetter.c:
-	  tagsetter: make sure only one thread creates the TagData
-
-2010-05-24 18:16:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttagsetter.c:
-	  tagsetter: protect tagsetter operations with a lock
-	  So we don't crash when a muxer tries to add tags from two
-	  threads at the same time, eg. because it received tag events
-	  on two input pads simultaneously.
-	  See #619533.
-
-2010-05-22 23:26:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: use our macros more often in the code
-
-2010-05-22 23:07:10 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: add append_structure_unchecked
-	  This is useful when we know that caps is !NULL, writable and structure is
-	  !NULL too.
-
-2010-05-22 22:46:40 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstcaps.c:
-	  tests: rename testsuite
-	  Previous name was only applicable to a few of the tests.
-
-2010-05-22 22:45:33 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  docs: xref function name
-
-2010-05-22 22:44:02 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: use our macos more
-
-2010-05-22 22:33:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/lazycaps.txt:
-	  design: more planning on lazy caps.
-
-2010-05-22 10:01:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: API: Add gst_structure_fixate_field_string()
-
-2010-05-19 16:21:49 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/lazycaps.txt:
-	  design: collect ideas for having lazy caps
-	  Design doc for having on the fly evaluated caps (see bug #618853).
-
-2010-05-19 15:57:08 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  docs: add links for GSource priorities
-	  Now it is xreffed with the glib docs, where the priority scale is explained.
-
-2010-05-19 14:08:26 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/capsnego.c:
-	  benchmark: add commandline parameters for capsnego
-	  Allow to specify the graph size and offer two flavours (audio/video).
-
-2010-05-19 09:56:51 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/.gitignore:
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/capsnego.c:
-	  benchmarks: add a benchmark for capsnegotiation
-	  The test builds a tree like graph having conversion and basetransform elements.
-
-2010-05-18 17:51:01 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/caps.c:
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/mass-elements.c:
-	  benchmarks: use gst_util_get_timestamp() instead of own implementation
-
-2010-05-18 18:38:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add jitter to debug output
-
-2010-05-18 18:35:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: cleanup type registration a little
-	  We can make some structs const static with little effort.
-
-2010-05-17 13:09:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't print WARNING debug statements for normal things like EOS, part II
-
-2010-05-14 18:22:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 4d67bd6 to 357b0db
-
-2010-05-14 11:52:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: comment and whitespace cleanup
-	  Make comment more specific, reposition it and add more of the kind.
-	  Move one ifdef'ed function around.
-
-2010-05-13 08:21:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Simplify fractions before doing calculations that could cause overflows
-	  ... to prevent some unnecessary overflows from happenening.
-
-2010-05-13 08:00:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: GCD is 0 if both parameters are 0, don't divide by zero
-	  And turn overflow checks from assertions into simple checks to
-	  return FALSE.
-
-2010-05-13 07:51:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Simplify result of gst_fraction_multiply()
-
-2010-05-10 13:25:04 -0400  Tristan Matthews <tristan@sat.qc.ca>
-
-	* docs/faq/using.xml:
-	  faq: updated line about jack output
-
-2010-05-03 11:32:20 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/libs/bytereader.c:
-	  tests: Read return value to make clang/icc happy
-
-2010-05-06 16:41:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  Revert "pad: don't check twice for changed caps per push"
-	  We need to check the pad caps on the srcpad as well as on the sinkpad. Revert
-	  this commit as it removes the check on the srcpad and can leave the srcpad
-	  unnegotiated (or negotiated with wrong caps)
-	  This reverts commit 07dc1e5b49580a89bfef27ff27476d51fb3ce2c2.
-
-2010-05-06 17:02:49 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: don't check twice for changed caps per push
-	  gst_pad_chain_data_unchecked() does the same check already.
-
-2010-05-06 16:51:16 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: reflow to truncate caps just once
-	  We get writable caps from the intersection (unless it failed). As we truncate
-	  those anyway, we don't need to manualy copy the first structure.
-
-2010-05-04 13:29:02 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tools/gst-run.c:
-	  tools: fix gst-run wrapper to work on Windows
-	  Fixes #617625
-
-2010-05-03 00:26:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	  docs: document that gst_byte_writer_put_string*() writes the terminator too
-
-2010-05-05 12:01:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* libs/gst/base/gstbasesrc.h:
-	  docs: clarify the pull_range functions
-	  Clarify the gst_pad_pull_range(), GstBaseSrc::create(), gst_pad_get_range()
-	  and GstPadGetRange functions a little.
-	  Fixes #617733
-
-2010-05-04 11:45:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: improve debugging
-
-2010-04-30 11:27:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: use reffed _get_caps() version
-	  We don't need to have a writable copy so we can use the _reffed
-	  version instead.
-
-2010-04-29 21:57:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: Adds geo location direction tags
-	  Adds 3 new geo location tags involving direction and
-	  movement of capture. Those are:
-	  API: GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
-	  API: GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
-	  API: GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
-	  Fixes #617223
-
-2010-04-16 06:57:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: Adds GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL
-	  Adds those new tags to describe the device manufacturer and
-	  model used to create medias.
-	  API: GST_TAG_DEVICE_MANUFACTURER
-	  API: GST_TAG_DEVICE_MODEL
-	  Fixes #615941
-
-2010-05-02 19:43:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/advanced-tagging.xml:
-	  pwg: remove confusing metadata example with 0.8 code
-	  Fixes #534314.
-
-2010-05-02 19:30:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/advanced-metadata.xml:
-	  manual: add minimal tag reading example
-	  Should probably put that into tests/examples and figure out how to
-	  get it included automatically, but can't be bothered right now.
-
-2010-04-30 13:10:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gst.c:
-	  Bump GLib requirement to 2.20
-	  See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement
-
-2010-04-29 23:29:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: only warn if metadata is not writable when it should be, don't return as well
-	  Make sure we execute the same code path in git versions and in releases,
-	  so just warn when metadata isn't writable when we want it to be instead
-	  of bailing out.
-
-2010-04-29 23:26:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: make 'adding flushing pad' warning more useful
-	  This is a pretty common issue with ghost pads, let's make
-	  the warning more helpful and tell people what they need
-	  to do to fix it.
-
-2010-04-28 17:15:41 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  gst-launch: add -p option to disable play handler.
-	  Same logic as for the fault handler. This is useful for some debug/tracing tools
-	  that need to grab SIGUSR1 and SIGUSR2 them self.
-
-2010-04-15 10:36:52 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: implement percentage position and duration queries
-	  If upstream does not handle them, then implement those ourself.
-
-2010-04-14 17:47:36 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use gst_pad_peer_query instead of reinventing.
-
-2010-04-14 17:46:55 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  queries: add more logging
-	  Log human readable formats and log query result.
-
-2010-04-19 20:35:36 +0200  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstpad.c:
-	  caps: Do not allow fixating empty caps
-	  Passing empty caps to gst_pad_fixate_caps() is invalid, as empty caps
-	  cannot be fixated.
-
-2010-04-26 21:52:07 +0200  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstcaps.h:
-	  caps: Use G_GNUC_WARN_UNUSED_RESULT for make_writable()
-	  People often call
-	  gst_caps_make_writable (caps);
-	  instead of
-	  caps = gst_caps_make_writable (caps);
-	  and cause a bug. Warning about an unused return value helps here.
-	  See https://bugzilla.gnome.org/show_bug.cgi?id=616541#c2 for an example.
-
-2010-04-23 06:24:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gsterror.c:
-	  gst: Use GError boxed type from GObject 2.25.2 instead of our own if possible
-
-2010-04-29 14:50:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development.
-
-2010-04-15 17:11:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  docs: add some more docs for the events
-
-=== release 0.10.29 ===
-
-2010-04-27 23:42:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.29
-
-2010-04-27 23:40:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2010-04-27 09:42:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  tests: add more tests for controller
-	  The tests verify that bug #616846 is indeed fixed.
-
-2010-04-26 15:43:17 +0200  Benjamin Otte <otte@redhat.com>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  controller: Fix gst_interpolation_control_source_find_control_point_iter
-	  The logic in that function is broken. Various NULL-checking bandaids for
-	  guaranteed non-NULL variables didn't even help there.
-	  This patch updates the function to check if a previous item exists
-	  before fetching it instead of after. This makes all other tests
-	  unnecessary.
-	  In particular, it makes the check for an empty list unnecessary, because
-	  for empty lists the only iter is the begin iter (and the end iter) and
-	  so the new check catches that case.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=616846
-
-2010-04-25 21:15:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  0.10.28.3 pre-release
-
-2010-04-20 17:17:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gstreamer.doap:
-	  doap: update repository info from cvs->git and maintainers
-
-2010-04-23 14:39:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From fc85867 to 4d67bd6
-
-2010-04-16 20:09:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/pwg.xml:
-	  docs: Consistently use MyFilter instead of sometimes ExampleFilter in the example
-	  Fixes bug #615579.
-
-2010-04-16 14:22:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: add enums for custom flow return success and error codes
-	  This way people can just #define their own custom flow returns to
-	  one of these without having the compiler (esp. gcc-4.5) complain
-	  about comparing integers to an enum or the enum not being listed
-	  Fixes #615880.
-	  API: GST_FLOW_CUSTOM_SUCCESS_1
-	  API: GST_FLOW_CUSTOM_SUCCESS_2
-	  API: GST_FLOW_CUSTOM_ERROR_1
-	  API: GST_FLOW_CUSTOM_ERROR_2
-
-2010-04-15 22:05:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: Use correct setter for double GValues
-
-2010-04-15 11:08:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gsttaglist.h:
-	  tags: doc fixes
-	  Adds missing ':' to tags docs
-
-2010-04-15 11:38:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: fix bogus variable type
-	  The result of gst_iterator_find_custom() is not a GstIterator *.
-
-2010-04-14 12:20:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  0.10.28.2 pre-release
-
-2010-04-14 12:12:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translations
-
-2010-04-14 12:43:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: log what structure string we failed to parse
-
-2010-04-14 17:56:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  bin: fix refcount when removing elements during state change
-	  When an element is removed from a bin because it caused a state change error,
-	  don't unref the child twice.
-	  Add some more debug info.
-	  Add a unit test for this error.
-	  Fixes #615756
-
-2010-04-14 11:50:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/benchmarks/Makefile.am:
-	* tests/examples/controller/Makefile.am:
-	  tests: more LDFLAGS -> LDADD fixes
-
-2010-04-14 11:40:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  build: $(LIBM) belongs into LIBADD not LDFLAGS
-
-2010-04-08 09:14:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/helpers/Makefile.am:
-	* tools/Makefile.am:
-	  build: when building executables, put libs to link to into LDADD instead of LDFLAGS
-	  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. See #615697.
-
-2010-04-14 11:19:14 +0200  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	  configure: Remove -Wcast-align
-	  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.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=615698
-
-2010-04-13 10:48:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: remove superfluous return statements at end of AC_TRY_{LINK,COMPILE} blocks
-	  Spotted by JF Mertens. See #614767.
-
-2010-04-05 13:46:23 -0700  David Schleef <ds@schleef.org>
-
-	* configure.ac:
-	  configure: Change check for uint128_t
-	  Check for ability to divide uint128_t values, since that what
-	  we actually use it for (in gstutils.c).  The existence of a
-	  uint128_t type doesn't mean the compiler can actually generate
-	  code for it.  Also make sure that we can actually link the
-	  result successfully.
-	  Fixes bug #614767.
-
-2010-04-12 15:13:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/moving-plugins:
-	  docs: minor moving-plugins addition
-
-2010-04-09 15:48:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  launch: make -q be more quiet
-	  Convert some g_print into PRINT so that they are not printed when the -q option
-	  is selected.
-
-2010-04-09 15:19:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add some more debug info
-
-2010-04-09 13:12:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfdsrc.h:
-	  fdsrc: allow specifying the size in bytes on the uri
-	  Parse a size=value from the query string to specify a size. This is interesting
-	  when reading from a file descriptor that actually has a size (and is not
-	  stat-able, such as the socket of an http connection)
-
-2010-04-09 12:35:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: when EOS we know the duration
-	  When we are EOS, we don't need to do an upstream query for the duration in bytes
-	  because we already know it is the offset of the last written byte.
-
-2010-04-09 13:08:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Initialize typefind/element factory registry chunks with zeroes
-	  This makes valgrind stop complaining about reading unitializated memory,
-	  which is not initialized because it's just compiler-added struct padding...
-
-2010-04-09 11:19:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From d66a8c3 to fc85867
-
-2010-04-08 10:10:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/.gitignore:
-	  .gitignore: add new .svg file in docs
-
-2010-04-08 10:47:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbufferlist.c:
-	  docs: use informalfigure tag to not syntax highlight the content
-
-2010-03-25 10:35:13 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gst-universe.dot:
-	* docs/gst/gstreamer-docs.sgml:
-	  docs: add concept map
-	  Add a graphviz dot file. Add rules to render it to svg and include in docs.
-	  Nodes are clickable. It is an attempt to show how things fit together.
-
-2010-04-07 19:30:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  docs: add a few code snippets that show how to use gst_message_parse_*().
-
-2010-04-07 19:05:04 +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 12:29:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parse: fix more compiler warnings
-	  Fix 'grammar.tab.c:815:6: warning: "YYENABLE_NLS" is not defined'
-	  compiler warning and the same for YYLTYPE_IS_TRIVIAL. The two
-	  translated strings aren't particularly helpful, so just define
-	  YYENABLE_NLS to 0.
-
-2010-04-07 12:24:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parse: fix compiler warning
-	  Fix 'grammar.y:668: passing argument 1 of ‘g_free’ discards qualifiers
-	  from pointer target type' compiler warning.
-
-2010-04-07 16:05:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  message: add Since: markers
-
-2010-04-07 09:31:39 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/gst/gstsystemclock.c:
-	  tests: gstsystemclock: don't leak the system clock
-
-2010-04-05 00:01:56 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/check/Makefile.am:
-	  build: fix out of sourcedir build for check
-	  Move the internal header to nodist (as we copy it around anyway).
-	  Use builddir in pattern substitution for it.
-	  Fixes #61483.
-
-2010-04-06 17:46:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  docs: fix some typos
-
-2010-02-23 09:16:55 +0100  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix gst_base_src_new_seamless_segment()
-	  Keep track of pending newsegment in gst_base_src_new_seamless_segment()
-	  to avoid pushing newsegment update before newsegment.
-
-2010-04-04 15:21:16 +0300  Stefan Kost <ensonic@ensonic-desktop.localdomain>
-
-	* gst/gstevent.c:
-	  docs: improve event docs
-	  Rephrase first paragraph of section docs. Add detail to eos event docs.
-
-2010-03-29 08:43:05 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tools/gst-indent:
-	  gst-indent: Add --leave-preprocessor-space for indent 2.2.11
-	  It was previously broken, which is why we never needed it. This keeps backward
-	  compatibility with indent <= 2.2.11
-
-2010-03-31 10:43:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/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
-	  Based on patches by Vincent Untz and Alan Knowles.
-	  Fixes #603710.
-
-2010-04-02 01:16:16 +0100  Philip Withnall <philip@tecnocode.co.uk>
-
-	* gst/gstutils.h:
-	  utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions
-	  Fixes bug #614629.
-
-2010-04-01 13:19:06 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/libs/basesrc.c:
-	  tests: Don't forget to unref the newsegment event
-
-2010-04-01 12:34:53 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  common: Update to latest revision for new suppressions
-
-2010-03-31 22:07:57 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/basesrc.c:
-	  tests: add test for updating playback rate
-	  Tests if a seek with both positions being GST_SEEK_TYPE_NONE is handled.
-
-2010-03-31 16:55:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: add copy and conv function to buffer2 draft
-
-2010-03-31 10:54:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: update buffer2 draft
-
-2010-03-31 11:26:28 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/communication.png:
-	* docs/manual/diagrams-general.svg:
-	* docs/manual/intro-basics.xml:
-	  docs: improve communication picture and section
-	  Indicate that only messages go via bus. Also add queries between elements.
-
-2010-03-31 10:24:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  event: Use correct type for the message parameter in gst_event_{new,parse}_sink_message
-	  The struct workaround was only necessary in gstevent.h, gstutils.h knows about GstMessage
-
-2010-03-31 09:56:50 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/communication.png:
-	* docs/manual/diagrams-general.svg:
-	* docs/manual/intro-basics.xml:
-	  docs: add communication overview to docs
-	  Add a section to the basics that show buffers, events, messages and queries
-	  together and describe the basics.
-
-2010-03-30 15:56:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-base.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  pkgconfig: add girdir and typelibdir variables to .pc files
-	  So that the -base libs can figure out the right include paths for the
-	  gobject-introspection tools even if core got installed into a prefix
-	  that's not the same prefix as gobject-introspection is installed in
-	  or it's being build in an uninstalled gstreamer setup.
-
-2010-03-30 15:22:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update for new string
-
-2010-03-30 15:20:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	* autogen.sh:
-	* configure.ac:
-	* m4/.gitignore:
-	* m4/Makefile.am:
-	* m4/check-checks.m4:
-	  build: make autotools put its m4 files into m4/ instead of common/m4/
-	  This is how we do it in the other modules, and gets rid of the annoying
-	  dirty status for common when doing git status (at least once you clean
-	  out the old files from there).
-
-2010-03-30 12:33:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* tests/examples/Makefile.am:
-	  build: build examples subdirectories in parallel if requested
-
-2010-03-28 20:55:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Refactor caps suggestion on pad_alloc
-	  Refactor the handling of sink suggestion caps variable
-	  so that it always has a ref to the caps it points to.
-	  Makes the code clearer.
-
-2010-03-29 16:34:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  gstinfo: add a comment explaining the reason for using fucntion protos here.
-
-2010-03-29 16:13:54 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  gstinfo: always define dummy debug category as a function prototype
-	  It does not seem to make sense to define this as a function only if we have
-	  varargs macros.
-
-2010-03-28 15:10:20 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  build: fix redeclaration erors when building with --gst-disable-gst-debug
-	  Give dummy symbols a uniqe name.
-
-2010-03-28 14:49:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	  build: move some prototypes out of #ifndef GST_DISABLE_GST_DEBUG
-	  Move the prototypes up together. We only define the macros differently.
-	  Fixes bug #614167 mostly.
-
-2010-03-29 16:05:44 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  info: readd the use of GstDebugFuncPtr typedef and tell why
-	  This reverts the related changes from 3f4954e42d0440a7a598a908325c45ea9db076e4
-	  and ffb0a4e1905a873191f8c802346261e8c4435065.
-
-2010-03-29 10:22:43 +0100  Alan Knowles <alan@akbkhome.com>
-
-	* libs/gst/net/gstnetclientclock.h:
-	  net: fix typo in net client clock structure
-	  It's sockaddr_in, not sockaddr_id.
-
-2010-03-26 17:12:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  build: add cruft alert for common/shave*
-
-2010-03-28 21:02:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: Fix build at least until the correct fix is found
-	  See bug #614167.
-
-2010-03-28 19:13:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: Make structure abbreviations array one-time initialization threadsafe
-
-2010-03-28 18:05:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: Add FIXME 0.11 for using GSlice for allocation
-
-2010-03-28 18:05:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstformat.c:
-	* gst/gstindex.c:
-	* gst/gstinfo.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginloader.c:
-	* gst/gstquery.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttrace.c:
-	  gst: Use GSlice instead of normal g_malloc in more places
-
-2010-03-28 13:14:06 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.h:
-	* gst/gstinfo.h:
-	  build: more some prototypes out if #ifndef GST_DISABLE_GST_DEBUG
-	  The build was failing becasue of a new warning. There are still failures
-	  (tracked via bug #614167).
-
-2010-03-25 20:04:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translations for newly-added strings
-
-2010-03-25 19:56:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manuals.mak:
-	  docs: fix intermittent make distcheck failures
-	  Use .NOTPARALLEL when building docs. This avoids intermittent
-	  make distcheck failures like 'cp: cannot create regular file
-	  `build/image.entities': File exists' when using -jN.
-	  Fixes #590718.
-
-2010-03-25 18:57:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstelementfactory.h:
-	  elementfactory: Add FIXME 0.11 to remove GstElementDetails from the public API
-	  It's not necessary anymore to expose this as public API and this allows
-	  easier extension of the element details by new fields.
-
-2010-03-25 18:43:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: handle write errors
-	  Handle write errors to the temporary download file and post errors when
-	  something went wrong.
-
-2010-03-25 18:13:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add element query function
-	  Add an element query function that is a little more efficient than the generic
-	  default query handler.
-
-2010-03-25 18:12:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: improve docs a little
-	  Mention that a DURATION message does not mean that one can safely query the
-	  duration on a bin, that only works when the bin is prerolled.
-
-2010-03-25 18:05:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: remove fixed FIXME
-
-2010-03-25 17:36:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: add the buffering percent in BUFFERING query
-
-2010-03-25 17:21:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: improve buffer level measurement in download mode
-	  Keep track of the current buffer level in the current range in download mode so
-	  that we post the correct buffering messages.
-
-2010-03-25 15:54:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: don't use fancy shell features when invoking gobject-introspection scanner
-	  It's POSIX, but tcsh doesn't seem to support it.
-
-2010-03-25 13:46:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  libs: fix PKG_CONFIG_PATH used when calling gobject-introspection scanner
-	  Our own pkgconfig directory should come first, so that pkg-config uses
-	  the in-tree libgstreamer and not some external one when --pkg=gstreamer-0.10
-	  is passed to g-ir-scanner.
-	  See #603710.
-
-2010-03-25 10:27:00 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstadapter.c:
-	  GstAdapter: add a unchecked variant of flush for internal usage
-	  Trims off 10-20% cpu time when using gst_adapter_take[_buffer]
-
-2010-03-19 15:10:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: Add new _USER_RATING tag
-	  Adds a new tag for user favorite media rating.
-	  User rating informs how much (from 0 to 100) a user
-	  'likes' a media.
-	  Having an percent uint range for this is easy to map into other scales,
-	  like some players that allow users to attribute 'stars' to its
-	  media.
-	  API: GST_TAG_USER_RATING
-	  Fixes #520697
-
-2010-03-24 19:02:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add more info in the buffering query
-	  Add the estimated download time and estimated time left to the buffering query
-	  results along with the estimated download and playback speed.
-
-2010-03-24 18:18:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: implement flushing in download buffering
-	  Maintain a separate variable to control src and sink flowreturn values so that
-	  we can unlock the src part without shutting down the sink part.
-	  Add flushing for upstream pull based elements that unblocks our getrange
-	  function. This implements seeking when blocking for more data.
-	  Add some arbitrary threshold before attempting a seek. Add a FIXME for this
-	  because we need to find a sensible threshold based on the input rate.
-
-2010-03-24 18:50:02 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 55cd514 to c1d07dd
-
-2010-03-24 17:32:54 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	  Remove unused code
-	  OPT_CFLAGS was never AC_SUBST()'ed so it wasn't used. And the last time
-	  it was touched was in 2005.
-
-2010-03-24 15:47:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/parse/Makefile.am:
-	  build: fix make distcheck
-	  The change from GST_ALL_CFLAGS to GST_OPTION_CFLAGS dropped the includes,
-	  putting them back fixes make distcheck.
-
-2010-03-24 15:15:23 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/check/pipelines/parse-launch.c:
-	  Fix tests after set_element_details() deprecation
-
-2010-03-24 13:33:58 +0100  Robert Swain <robert.swain@collabora.co.uk>
-
-	* scripts/git-update.sh:
-	  git-update: Fix and restructure logic
-
-2010-03-19 22:36:07 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  Deprecated gst_element_class_set_details()
-	  Use gst_element_class_set_details_simple() instead. If you want to
-	  convert automatically, here's a script:
-	  for file in `git grep -l GstElementDetails`; do
-	  sed -i -n -r '
-	  1h
-	  1!H
-	  $ {
-	  g
-	  s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*GST_ELEMENT_DETAILS\s*\((\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\);\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/
-	  s/((\/\*[^\n]*\*\/)?\n)*[^\n]*GstElementDetails .* =\s*\{\s*(\"[^\"]*\",\s*\"[^\"]*\",\s*\"[^\"]*\",\s*(\"[^\"]*\"\s*)*)\};\n*(.*)gst_element_class_set_details \(([^,]*),\s*[^)]*\)/\n\n\5gst_element_class_set_details_simple (\6, \3)/
-	  p
-	  }' $file
-	  ~/gst/gstreamer/tools/gst-indent $file
-	  done
-
-2010-03-24 10:57:08 +0100  Philippe Normand <pnormand@igalia.com>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix uninitialized variable compiler warning
-
-2010-03-23 19:25:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	  tests: remove unused CHECK_CFLAGS and CHECK_LIBS from Makefile.am
-
-2010-03-23 19:23:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gststructure.c:
-	  structure: add mapping for (uint) to allow deserialisation of unsigned integers
-	  Unsigned ints are used in taglists, would be nice to be able to
-	  deserialise them, esp. in connection with the taginject API.
-
-2010-03-23 19:25:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: implement seeking in download mode
-	  When in download mode and the requested offset is too far away, attempt to do a
-	  seek request to fetch the data.
-	  Keep track of all downloaded parts and merge ranges when needed.
-	  Fixes #600877
-
-2010-03-22 11:06:21 -0300  André Dieb Martins <andre.dieb@gmail.com>
-
-	* scripts/git-update.sh:
-	  git-update.sh: use autogen.sh instead of autoregen.sh on fresh repositories.
-	  Fixes #613593.
-
-2010-03-22 17:10:06 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gettext.h:
-	  gettext: build fixes: #if -> #ifdef
-
-2010-03-22 13:16:33 +0100  Benjamin Otte <otte@redhat.com>
-
-	* plugins/elements/gstdataurisrc.c:
-	  Add -Wwrite-strings
-	  and fix its warnings
-
-2010-03-18 10:22:09 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/parse/grammar.y:
-	  parse-launch: make delayed set recursive
-	  Right now deleyed set would only try for first set of children. We need to keep
-	  trying to support arbitrary deep hierarchies (like in playbin2 with auto*sinks).
-	  Also GstBin would need to actualy emit the child-added/removed signal as it
-	  implements the iface. Fixes #613215.
-
-2010-03-22 08:40:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* pkgconfig/gstreamer-check.pc.in:
-	  pkgconfig: Use @LIBM@ instead of -lm
-
-2010-03-19 01:02:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	  pkgconfig: add back support for builddir != srcdir case in uninstalled setup
-	  Attempt to add back support for builddir != srcdir. Use absolute paths
-	  instead of relative paths based on pcfiledir this time to make things
-	  clearer - there's not really any need for uninstalled trees to be
-	  relocatable without re-running configure.
-
-2010-03-18 11:18:39 +0000  Robert Swain <robert.swain@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Implement QoS message posting
-	  And some more for bug #322947
-
-2010-03-18 13:41:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: catch, parse and store QoS event values
-	  Catch, parse and store the QoS values from QoS events for later use.
-
-2010-03-17 15:29:48 +0000  Robert Swain <robert.swain@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Implement QoS message posting in basesink
-	  Post QoS messages when frames are dropped.
-	  This goes a little further towards resolving bug #322947
-
-2010-03-17 19:26:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: improve docs a little
-
-2010-03-17 19:16:42 +0100  Robert Swain <robert.swain@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* tests/check/gst/gstmessage.c:
-	* win32/common/libgstreamer.def:
-	  message: add QoS message to inform apps of lost data
-	  This has been implemented as per part-qos.txt and partially addresses
-	  bug #322947
-
-2010-03-17 16:44:05 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/benchmarks/controller.c:
-	  test: Remove needless cast
-	  GstValueArray.name is const now
-
-2010-03-17 14:33:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	  Revert "Add srcdir to includes for out-of-source builds"
-	  I don't know how this ever worked, as it seems to put -I./..
-	  and -I./../libs verbatim into the includes, at least with
-	  current autotools versions.
-	  This reverts commit 279a80ff27ba4c90f52981e89e710eb1181bc201.
-
-2010-03-17 15:46:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  docs: avoid confusion between events and messages
-
-2010-03-17 12:18:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstcontrolsource.h:
-	  controller: Mark property_name in GstValueArray as const
-	  This won't and should not be changed from any API
-
-2010-03-17 12:45:49 +0200  Mart Raudsepp <leio@gentoo.org>
-
-	* gst/gstelement.h:
-	  docs: fix typo
-
-2010-03-16 09:56:16 +0200  Mart Raudsepp <leio@gentoo.org>
-
-	* libs/gst/base/gstdataqueue.c:
-	  docs: add missing "Since: 0.10.26" marker for gst_data_queue_new_full()
-
-2010-03-16 09:42:21 +0200  Mart Raudsepp <leio@gentoo.org>
-
-	* gst/gststructure.c:
-	  docs: fix since tag for gst_structure_id_has_field_typed()
-	  gst_structure_id_has_field_typed was added in 0.10.26, not 0.10.16.
-	  Apparent typo in commit f9e3b72f when the API was added.
-
-2010-03-17 10:53:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	  docs: fix Since markers for gst_byte_writer_put_float*()
-	  As the headers were broken in 0.10.26 the functions weren't really
-	  usable back then, so we should advertise them as being there only
-	  since 0.10.27.
-	  Spotted by Mart Raudsepp.
-
-2010-03-16 17:56:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  gst: use #if GLIB_CHECK_VERSION instead of #ifndef GLIBMACRO
-	  for better greppability at the time we bump GLib version requirements.
-
-2010-03-14 11:47:23 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: deactivate pad if we can't get length or it's a length of zero.
-	  Fixes issues when re-using typefind after a file of length zero.
-
-2010-03-16 10:32:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Accept non-fixed caps suggestions
-	  When doing pad_allocs, use non-fixed caps suggestions and
-	  try to fixate them before using. This makes possible to
-	  have suggested buffer size with 0 in basetransform just
-	  to signal upstream a renegotiation is needed
-	  Fixes #576234
-	  Fixes #609046
-
-2010-03-16 10:40:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  docs: merge QoS message fields
-	  There was already a section about QoS messages that is now merged with the new
-	  information.
-
-2010-03-16 10:44:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/pwg/building-boiler.xml:
-	  pwg: mention how to build after using the project stamp
-
-2010-03-16 09:56:41 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttask.c:
-	  task: snprintf needs to include "stdio.h"
-
-2010-03-15 18:48:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  docs: update QOS docs to include QOS messages
-	  Add some docs about the values needed for a QoS message and some use
-	  cases.
-	  See #322947
-
-2010-03-15 17:07:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gsttask.c:
-	  task: use bionic/libc friendly arguments to prctl
-	  prctl is supposed to take 5 arguments. It used to work with 2 arguments on some
-	  versions of libc because it is defined as a varags function there.
-	  See #611911
-
-2010-03-15 15:07:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: update docs.
-
-2010-03-15 14:44:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gsttaglist.h:
-	  taglist: Work around gtk-doc problem
-
-2010-03-15 14:44:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Use correct gtk-doc workaround
-
-2010-03-15 14:05:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Handle iterator resyncs in gst_pad_proxy_setcaps()
-	  Fixes bug #612881.
-
-2010-03-15 14:48:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gsttask.c:
-	  task: configure the object name as thread name
-	  When we have prctl available, use it to set the configured object name as the
-	  thread name for better debugging.
-	  Based on patch by Robert Swain.
-
-2010-03-15 13:48:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: set a good name on the task of the pad
-	  Use the element:pad names to configure a good name for the pad task.
-
-2010-03-15 12:13:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.h:
-	  task: retab
-
-2010-03-15 10:26:18 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpluginloader.c:
-	  logging: remove extra newline
-
-2010-03-04 23:36:50 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: turn g_return_if_fail into g_assert.
-	  This either must never happen (which makes sense in this case) and thus should
-	  use assert() or we should use a traditional if (poll_data->message) return;
-	  to avoid differnet behaviour of intenal api when compiling with
-	  G_DISABLE_CHECKS.
-
-2010-03-03 23:37:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: move the check to the public api.
-	  This avoids creating empty caps and destroying them in the case of an error. We
-	  also avoid double checking in other code path where we call the internal api.
-
-2010-03-03 23:34:58 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: this is internal API where we need to ensure !NULL higher up
-
-2010-03-03 21:50:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	  gst: this is an internal function where we already ensure !NULL when calling
-
-2010-02-26 09:29:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: fix case of pad flag
-	  Due to a typo the code was always showing the flag as 's' (lower case).
-	  Fixes #611075
-
-2010-02-23 23:50:36 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  debug: add pretty printer for events
-	  Adder is using GST_PTR_FORMAT for events already, so we might actualy
-	  implement this and print out some useful info.
-
-2010-03-13 11:03:59 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstplugin.h:
-	  Add some 0.11 FIXMEs for GstPluginInitFunc
-	  See 8fe63000de31bb2bcf346d59230dea06117997cd for why having a TRUE/FALSE
-	  return value is a bad idea.
-	  I've scanned a few plugins and they generally get it wrong and aren't
-	  unloadable when they return FALSE.
-
-2010-03-12 19:07:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update for new strings
-
-2010-03-12 19:05:16 +0000  Leo Singer <lsinger@caltech.edu>
-
-	* gst/gstinfo.c:
-	  gstinfo: fix compilation error if HAVE_REGISTER_PRINTF_SPECIFIER is undefined
-	  Use #if HAVE_FOO instead of #ifdef HAVE_FOO.
-	  Fixes #612733.
-
-2010-03-12 16:42:47 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstplugin.c:
-	  plugins: Do not ever unload a plugin after calling into it
-	  This is what can happen in a plugin_init function:
-	  - An element based on GstBaseSink is registered
-	  - Other elements fail to register
-	  - The plugin_init function returns FALSE
-	  Now if this the plugin is the first plugin to link against
-	  libgstbase.so, it will have caused libgstbase.so to be loaded and static
-	  strings from that library will have been added to gobject while
-	  registering GstBaseSink.
-	  So unloading the plugin will cause those strings to go stale and the
-	  next plugin using GstBaseSink will crash. So we must not unload modules
-	  after calling into them ever.
-	  https://bugzilla.redhat.com/show_bug.cgi?id=572800
-
-2010-03-12 15:36:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  interpolationcontrolsource: Don't pass NULL to the GSequence API
-
-2010-03-12 13:33:00 +0000  Robert Swain <robert.swain@collabora.co.uk>
-
-	* scripts/git-update.sh:
-	  git-update: Fix error return value and make the script exit on errors
-	  Newer versions of BASH (4.x?) seem to dislike using -1 for a return. Even
-	  though it's documented as being signed, BASH complains about it, so use
-	  255 instead.
-
-2010-03-12 13:54:29 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From e272f71 to 55cd514
-
-2010-02-17 13:02:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  gst: Use G_VALUE_COLLECT_INIT if available
-	  This brings total call speedups between 5% and 25%.
-	  gst_caps_set_simple_valist: +5%
-	  gst_structure_set_valist: + 10%
-	  gst_structure_id_set_valist: +25%
-	  gst_tag_list_add_valist: +5%
-	  Measured using valgrind when run over the discovery of 200 media files.
-	  Fixes #610256
-
-2010-03-11 20:29:29 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/check/elements/fdsrc.c:
-	* tests/check/gst/gstpoll.c:
-	* tests/check/libs/gstnettimeprovider.c:
-	  win32: Fix build failures of tests
-
-2010-03-09 20:38:47 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: Adds new geo location tags
-	  Adds new tags GST_TAG_GEO_LOCATION_COUNTRY,
-	  GST_TAG_GEO_LOCATION_CITY and GST_TAG_GEO_LOCATION_SUBLOCATION.
-	  API: GST_TAG_GEO_LOCATION_COUNTRY
-	  API: GST_TAG_GEO_LOCATION_CITY
-	  API: GST_TAG_GEO_LOCATION_SUBLOCATION
-	  Fixes #612410
-
-2010-03-11 18:36:32 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gst.c:
-	  win32: Add prototype for DllMain()
-
-2010-03-11 11:46:09 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2009-12-28 17:25:20 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstchildproxy.c:
-	* gst/gstelement.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstutils.c:
-	* gst/parse/grammar.y:
-	  gstreamer: remove unneeded casts
-	  G_PARAM_SPEC_VALUE_TYPE does an expensive type check, whereas the
-	  value_type field is a public field, so we can just use it directly.
-
-2010-03-11 11:39:40 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	  Remove -Winline flag again
-	  It triggers for a lot of GStreamer API (even though those triggers are
-	  wrong most of the time).
-	  I missed it because it only triggers with -O2, and I was using -O0.
-
-2010-03-11 11:20:35 +0100  Benjamin Otte <otte@redhat.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From df8a7c8 to e272f71
-
-2010-03-11 11:10:44 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	  Add a bunch more warning flags to configure
-	  None of these flags cause warnings anymore, so no fixes necessary.
-	  The flags are:
-	  -Wformat-nonliteral
-	  -Wformat-security
-	  -Wold-style-definition
-	  -Wcast-align
-	  -Winline
-	  -Winit-self
-	  -Wmissing-include-dirs
-	  -Waddress
-	  -Waggregate-return
-	  -Wno-multichar
-	  -Wnested-externs
-
-2010-03-02 22:58:06 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* gst/Makefile.am:
-	* gst/gstelement.c:
-	* gst/gstelementdetails.h:
-	* gst/gstelementfactory.c:
-	* gst/gstpad.c:
-	* gst/gstparse.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstutils.c:
-	* gst/parse/types.h:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/indexers/Makefile.am:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstindexers.c:
-	* plugins/indexers/gstindexers.h:
-	* plugins/indexers/gstmemindex.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/libs/typefindhelper.c:
-	* win32/common/libgstreamer.def:
-	  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-11 09:39:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: fix printf format
-	  Use %u to print unsigned integers.
-
-2010-03-11 10:29:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/typefindhelper.c:
-	  tests: cast the arg. to fix the build with new compiler opts.
-	  This is ugly. I am not sure if we really want to have such casts all over the
-	  place.
-
-2010-03-11 10:14:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst-i18n-app.h:
-	* gst/gst-i18n-lib.h:
-	  i18n: define dummy ngettext if i18n is disabled.
-	  We cannot blindly use gettext function and not define them when not using gettext.
-
-2010-03-11 10:00:45 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst-i18n-app.h:
-	* gst/gst-i18n-lib.h:
-	  i18n: fix the build with i18n disabled.
-	  Don't include gettext.h if !ENABLE_NLS.
-
-2010-03-04 10:44:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* configure.ac:
-	* gst/gstbuffer.c:
-	  buffer: allow configurable memory alignment. Fixes #596832
-	  The alignment guaranteed by malloc is not always sufficient. E.g. vector
-	  instructions or hardware subsystems want specifically aligned buffers. The
-	  attached patch will use posix_memalign if available to allocate buffers.
-	  The desired alignment can be set when running configure using the new
-	  --with-buffer-alignment option.
-
-2010-03-10 21:51:50 +0100  Benjamin Otte <otte@redhat.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 9720a7d to df8a7c8
-
-2010-03-10 20:52:06 +0100  Benjamin Otte <otte@redhat.com>
-
-	  Merge branch 'work'
-
-2010-03-03 11:45:38 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	* gst/gst.c:
-	* gst/gstbufferlist.c:
-	* gst/gstdebugutils.c:
-	* gst/gstformat.c:
-	* gst/gstformat.h:
-	* gst/gstinfo.c:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginloader.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gststructure.c:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* gst/gstvalue.c:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/benchmarks/controller.c:
-	* tests/benchmarks/mass-elements.c:
-	* tests/check/elements/tee.c:
-	* tests/check/gst/gstbufferlist.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gstpreset.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/controller.c:
-	* tests/check/libs/typefindhelper.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/parse-launch.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	* tools/gst-inspect.c:
-	  Fixes for -Wwrite-strings
-	  This changes some APIs in compatible ways:
-	  - Some functions now take "const char *" arguments, not "char *"
-	  - Some structs now have "conts char *" members, not "char *"
-	  The changes may cause warnings when compiling with the right warning
-	  flags. You've been warned.
-	  Also adds -Wwrite-strings as a warning flag in configure.ac.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-03 10:31:26 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	* gst/gstbuffer.c:
-	* tests/check/libs/transform1.c:
-	  Fixes -Wundef warnings
-	  ... and adds that flag to configure.ac
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-03 10:31:05 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tests/benchmarks/gstpollstress.c:
-	  benchmarks: Remove unneeded g_thread_exit()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-03 10:26:14 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gst.c:
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	* tools/gst-inspect.c:
-	  Fixes for -Wold-style-definition
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-02 23:51:18 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstelementfactory.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstobject.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.h:
-	* gst/gstsystemclock.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gstutils.h:
-	* gst/gstxml.c:
-	* gst/parse/grammar.y:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/controller/gstcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	* libs/gst/dataprotocol/dp-private.h:
-	* tests/check/elements/fakesink.c:
-	* tests/check/gst/gstparamspecs.c:
-	* tests/check/gst/gsttagsetter.c:
-	* tests/check/libs/test_transform.c:
-	* tests/examples/streams/testrtpool.c:
-	  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
-
-2010-03-10 20:43:35 +0100  Benjamin Otte <otte@redhat.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 0b6e072 to 9720a7d
-
-2010-03-03 10:00:41 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/parse/Makefile.am:
-	  Make sure generated code doesn't run with -Werror
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-10 17:03:29 +0100  Benjamin Otte <otte@redhat.com>
-
-	* configure.ac:
-	  Update to common/ changes to ERROR_CFLAGS
-
-2010-03-10 19:17:42 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstregistrybinary.c:
-	  Revert "registry: remove unused function"
-	  Turns out  the function is not unused, but was in an #ifdef WIN32
-	  section.
-	  Whoops.
-	  This reverts commit 57d5db424c68ab5a61f33ce36ce0179eb30251ac.
-
-2010-03-10 16:09:33 +0100  Benjamin Otte <otte@redhat.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7cc5eb4 to 0b6e072
-
-2010-03-02 21:07:33 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstregistrybinary.c:
-	  registry: remove unused function
-	  Actually, there was two functions with the same name, but only one was
-	  used.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-02 16:20:15 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstelement.c:
-	* win32/common/libgstreamer.def:
-	  remove unused gst_element_default_error()
-	  https://bugzilla.gnome.org/show_bug.cgi?id=611692
-
-2010-03-10 07:15:15 +0000  Jeremy Huddleston <jeremyhu@freedesktop.org>
-
-	* gst/gstutils.c:
-	  utils: Use mulq instead of mul as some assemblers can't guess the size of the operands
-	  Fixes bug #612370.
-
-2010-03-10 01:09:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7aa65b5 to 7cc5eb4
-
-2010-03-09 21:20:27 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 44ecce7 to 7aa65b5
-
-2010-02-26 16:03:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Makefile.am:
-	* gst/Makefile.am:
-	* gst/parse/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	* pkgconfig/Makefile.am:
-	* tools/Makefile.am:
-	  build: Make some more rules silent if requested
-
-2010-02-26 15:32:14 +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-22 16:25:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  lfocontrolsource: Optimize get_value_array()
-	  Don't convert from GValue to the actual type for every single
-	  value.
-
-2010-02-22 15:18:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  interpolationcontrolsource: Optimize get_value_array()
-	  This makes it >10x faster if more than a single value is requested
-	  by not searching in the GSequence for every value and converting
-	  the value from GValue to the real value type.
-
-2010-02-21 17:36:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/benchmarks/controller.c:
-	  controller: Add benchmark for getting a value array of the control points
-
-2010-03-08 23:28:04 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstplugin.c:
-	  Fix typos in documentation
-
-2010-03-08 23:04:26 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstvalue.c:
-	  caps: Fail when fractions are followed by random text
-	  Previous code treated "1/1yourmom" the same as "1/1" and "1wimsmom" the
-	  same as "1". Now the code is stricter and will fail to convert a
-	  fraction when followed by garbage text.
-
-2010-03-09 17:32:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Back to development
-
-=== release 0.10.28 ===
-
-2010-03-08 23:09:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.28
-
-2010-03-08 23:06:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2010-03-08 22:05:29 +0100  Benjamin Otte <otte@redhat.com>
-
-	* gst/gstvalue.c:
-	  caps: Allow 1/max as the minimal fraction value > 0
-	  This is useful for formats that require a valid framerate (like
-	  theoraenc).
-
-2010-03-04 15:21:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix typo in comments
-
-=== release 0.10.27 ===
-
-2010-03-05 23:43:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.27
-
-2010-03-05 23:41:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2010-03-04 18:39:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  gstpoll: don't pass non-objects as first argument to GST_DEBUG_OBJECT()
-	  This may cause crashes when logging is enabled, especially on windows.
-	  It's not safe to pass random pointers to g_type_check_instance_is_a().
-	  Fixes #611719.
-
-2010-03-03 19:54:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.26.4 pre-release
-
-2010-03-03 19:49:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translations
-
-2010-03-03 12:06:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	  docs: fix up bytewriter doc chunks for float functions as well
-
-2010-03-03 11:28:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: fix headers for float/double writing functions
-	  The functions are called gst_byte_writer_put_{float32|float64}_*() and not
-	  gst_byte_writer_put_{float|double}_*().
-	  Spotted by: Benjamin Otte <otte@redhat.com>
-
-2010-03-01 12:02:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  tags: try to make comment for translators more helpful
-
-2010-02-26 15:46:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix emergency rendering timestamp tracking
-	  Specifically, if all (including initial) buffers turn up late,
-	  emergency rendering should also kick in appropriately.
-	  Fixes #611087.
-
-2010-02-24 00:30:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.26.3 pre-release
-
-2010-02-24 00:29:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/bg.po:
-	* po/es.po:
-	* po/nl.po:
-	  po: update translations
-
-2010-02-19 13:26:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* tests/check/libs/controller.c:
-	  interpolationcontrolsource: Don't pass NULL pointers to GSequence API
-	  This causes assertion failures. Fixes bug #610444.
-
-2010-02-19 13:20:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.h:
-	  interpolationcontrolsource: Add const qualifiers to values in the _set functions
-	  The values are not modified and are copied, a const before the parameter
-	  should make this even more obvious.
-
-2010-02-18 09:17:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gsthelper.c:
-	  controller: Add some FIXME 0.11 comments
-
-2010-02-17 10:04:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstelements.c:
-	  corelements: Combine redundant code
-
-2010-02-17 01:27:22 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	  Fix compilation of fdsink and fdsrc with MSVC
-
-2010-02-18 14:58:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* po/vi.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.26.2 pre-release
-
-2010-02-18 13:12:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/.gitignore:
-	  .gitignore: ignore some more temporary docs cruft
-
-2010-02-18 13:09:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  build: fix indenting in win32-update target
-	  No idea why we need to run gst-indent twice on that file, but it
-	  only seems to settle on a final format with minimal diff to the
-	  one in git after two runs.
-
-2010-02-18 13:08:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  gstcheck: more debug logging for gst_check_element_push_buffer_list()
-
-2010-02-18 11:52:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: Improve docs about 'data' attribute
-	  Adds a reminder to 'data' attribute doc
-	  Fixes #610366
-
-2010-02-18 17:15:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/indexers/gstmemindex.c:
-	  memindex: avoid busy loop when doing EXACT lookup
-	  Fixes #610367.
-
-2009-12-22 11:09:10 +0800  Johan Bilien <jobi@litl.com>
-
-	* gst/gstelement.c:
-	  introspection: add annotation for gst_element_get_state
-	  state and pending are "out" arguments.
-	  Fixes #605189.
-
-2010-02-17 12:16:37 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfilesrc.h:
-	  filesrc: Don't use expensive cast checks in _create
-	  _create() is a pad function set by ourselves, therefore we're sure basesrc
-	  is a GstFileSrc.
-	  Speeds up _create() by 17% and the total call by 8% (instruction calls measurements
-	  done with valgrind).
-	  Fixes #610246
-
-2010-02-17 12:14:09 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Don't use expensive cast checks in get_range.
-	  _get_range() is a pad function set by ourselves, therefore we're certain that
-	  the parent is a GstBaseSrc.
-	  Speeds up _get_range by 38%, and the total call by 30%. (valgrind instruction
-	  calls measurements).
-	  Fixes #610246
-
-2010-02-17 11:31:07 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfdsrc.c:
-	  fdsrc: cleanup parameter initialisation and add comemnt+logging
-	  Initialize new_fd with DEFAULT_FD and fd with -1. Setting the property will set
-	  new_fd and in _update_fd() we cehck fd against -1. Also add a coment about the
-	  warning we get in the log from gst_poll_remove_fd(). We could get rid of the
-	  warning if we want by tracking if fd has been added to fdset.
-
-2010-02-17 09:55:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/design/draft-metadata.txt:
-	  design: write about the current state of tag-handling
-	  Document the taghandling in gstreamer. List gaps and propose new mechanisms to
-	  deal with them.
-
-2010-02-16 10:27:18 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaglist.c:
-	  taglist: remove blank lines in variable declarations
-
-2010-02-16 11:30:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/gst-xmlinspect.c:
-	* tools/tools.h:
-	  tools: call g_set_prgname() before doing the option parsing
-	  g_setprgname is implicitly called by g_option_context_new() with a check
-	  to see if it's been set already, so set it before g_option_context_new()
-	  Move version printing back until after the options have been parsed,
-	  otherwise it won't work, since it evaluates a flag set by the
-	  option parser.
-
-2010-02-16 11:24:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	  Revert "tools: Move gst_tools_print_version call to avoid warning from new GLib."
-	  This reverts commit 93dd95f02ef3fa530f54ce81e8ffba96f3b679cb.
-	  This commit made --version not work any longer. The g_setprgname()
-	  warning is fixed in recent GLib versions.
-
-2010-02-16 08:26:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	  build: make sure gst-plugin-scanner gets installed where we expect it
-	  Add check to make sure gst-plugin-scanner really gets installed where
-	  we will look for it later, ie. paths and prefixes are set at configure
-	  time and not specified via make.
-	  Fixes #609941.
-
-2010-02-15 23:02:59 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue2.c:
-	  docs: prefer short desc from GstElementDetails
-
-2010-02-15 01:24:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.c:
-	  docs: fix gtk-doc chunk for gst_check_element_push_buffer_list()
-
-2010-02-13 15:28:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/elements/dataurisrc.c:
-	  tests: add unit test for dataurisrc
-	  Requires fixes from core git, so bump core requirement to git as well.
-
-2010-02-15 00:31:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update po files for new comments
-
-2010-02-15 00:29:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  tags: wrap long string constants
-	  And fix indenting issue
-
-2010-02-15 00:21:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  tags: add some comments for translators so tag mnemonics get translated correctly
-	  We want 'preview image' translated as a noun, not as 'preview [the] image'.
-
-2010-02-04 17:43:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: don't print WARN debug statements for normal things like EOS
-
-2010-02-14 23:15:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 96dc793 to 44ecce7
-
-2010-02-13 15:18:05 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Reset the working mode when going to READY/NULL
-	  This allows properly re-using typefind (else it would think it's
-	  already done the typefinding when being re-used with another
-	  stream).
-
-2010-01-22 11:38:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* tests/check/libs/bytewriter.c:
-	  bytewriter: Adds a test for _fill
-
-2010-01-22 09:19:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	* win32/common/libgstbase.def:
-	  bytewriter: add _fill function
-	  Adds a new function to GstByteWriter that writes
-	  a constant value to a memory area (aka memset).
-	  Useful for adding padding to buffers.
-	  Also updates .def file and docs.
-	  API: gst_byte_writer_fill()
-
-2010-01-28 11:57:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: Avoid messing pads activation
-	  Typefind might mess up pads modes (pull/push) if a
-	  downstream element is plugged and its pads activated
-	  in 'step 2' of typefind pads activation.
-	  This happens because the following steps don't check
-	  if we already emitted typefound due to upstream setting
-	  caps on buffers being pulled in the typefind helpers.
-	  Avoid that by checking if typefound is already emmited.
-	  Fixes #608036
-
-2010-02-12 14:49:52 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: Make locking of the segment a bit more strict and update documentation
-	  Updating the segment values must only be done while holding the
-	  STREAM_LOCK and OBJECT_LOCK. This means, reading can be done as
-	  long as one of them is held, not both, which removes some lock-unlock
-	  blocks from performance critical code paths.
-	  Also document, that gst_base_src_set_format() *must* be called in
-	  states <= READY and add an assertion for this. Changing the format
-	  later will completely mess up the segment information.
-
-2010-02-08 09:12:01 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
-
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-dparams.xml:
-	* docs/pwg/advanced-interfaces.xml:
-	* docs/pwg/advanced-negotiation.xml:
-	* docs/pwg/advanced-request.xml:
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/appendix-porting.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-chainfn.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/building-props.xml:
-	* docs/pwg/building-testapp.xml:
-	* docs/pwg/intro-basics.xml:
-	  pwg: several typo fixes
-	  Fixes #609286.
-
-2010-02-09 17:52:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Protect segment values from concurrent access from different threads
-	  This could happen easily in the query functions or when the size is set
-	  on appsrc from some non-streaming thread.
-
-2010-02-04 21:11:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: Protect internal fields from concurrent changes from different threads
-	  Fixes bug #608877.
-
-2010-02-11 20:14:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: don't leak timeout GSource
-
-2010-02-11 00:18:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: flesh out release doc some more
-
-2010-02-11 01:10:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* MAINTAINERS:
-	  Update MAINTAINERS, add myself
-
-2010-02-11 19:49:00 +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 19:17:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.26
-
-2010-02-10 15:32:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2010-02-09 15:52:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: define GST_PLUGIN_SCANNER_INSTALLED in win32 config.h
-	  Even if it's not used, it still needs to be defined for things to
-	  compile.
-
-2010-02-09 10:19:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	  gst_private: MSVC doesn't seem to like #warning
-	  Visual Studio complains about "invalid preprocessor command 'warning'"
-	  even if the ifdef doesn't trigger, so just remove this again.
-
-2010-02-10 14:40:17 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/elements/multiqueue.c:
-	  tests: Fix multiqueue test for latest commits.
-	  The problem lies in the fact that multiqueue will now operate somewhat
-	  similarly to the flow aggregation logic of demuxers and therefore
-	  will stopp whenever all downstream pads return NOT_LINKED and/or
-	  UNEXPECTED and there's no more buffers to push.
-	  The latest commits should not affect any regular use-case, but the bug
-	  report will be kept open so the previous behaviour can be re-established
-	  if needed.
-	  Fixes #609486
-
-2010-02-09 15:51:18 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Don't stop threads on UNEXPECTED and forward flow returns.
-	  When a downstream element returns GST_FLOW_UNEXPECTED we want to:
-	  * let the dataqueue task running
-	  * forward the flow return upstream.
-	  This allows upstream elements to push EOS, and have that EOS event come
-	  downstream.
-	  Fixes #609274
-
-2010-02-09 13:35:08 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  Revert "multiqueue: handle UNEXPECTED flowreturn better"
-	  This reverts commit fbdf4dcedad8692f1e3d8838551188987e462e74.
-	  Partly fixes #609274
-
-2010-01-28 07:27:49 +0100  Robert Swain <robert.swain@collabora.co.uk>
-
-	* scripts/git-update.sh:
-	  git-update.sh: Fix issues
-
-2010-02-07 09:59:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  Revert "docs: fix ASCII art so that iterators are aligned property to the diagram"
-	  This reverts commit ae60d06e9e401d1ed4de5ef25b5c283db0696a31 (fixes: #609166)
-
-2010-02-04 18:30:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.25.3 pre-release
-
-2010-02-04 17:45:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/bg.po:
-	* po/de.po:
-	* po/fi.po:
-	* po/fr.po:
-	* po/hu.po:
-	* po/id.po:
-	* po/pl.po:
-	* po/sv.po:
-	* po/zh_CN.po:
-	  po: translation updates
-
-2010-02-01 12:50:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  docs: fix ASCII art so that iterators are aligned property to the diagram
-
-2010-02-01 17:40:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytewriter.h:
-	  gstbytewriter: Fix different function names in .h and .c
-	  gst_byte_writer_reset_and_get_buffer wasn't declared
-	  in .h, instead there was _reset_and_get_data_as_buffer.
-	  Replace it with the real function name, that is smaller
-	  and matches gst_byte_writer_free_and_get_buffer
-	  https://bugzilla.gnome.org/show_bug.cgi?id=608726
-
-2010-01-31 17:30:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  docs: add some more Since: markers to buffer list docs
-
-2010-01-30 18:57:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: fix typo in warning message
-	  Spotted by bsreerenj@gmail.com.
-	  Fixes #608442.
-
-2010-01-30 15:17:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 15d47a6 to 96dc793
-
-2010-01-30 13:45:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  init: don't spew warning about late g_thread_init()s if GLib >= 2.23.2
-	  Late g_thread_init() is fine with newer GLib versions and done automatically
-	  from g_type_init() there, so don't warn if the application hasn't called
-	  g_thread_init() yet when gst_init() is called with new GLib versions.
-	  Fixes #608398.
-
-2010-01-29 09:41:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  pkgconfig: don't put -DG_THREADS_MANDATORY into our pkg-config CFLAGS
-	  If we force -DG_THREADS_MANDATORY onto apps, then g_thread_supported()
-	  will always evaluate to TRUE, so the typical thread initialisation
-	  boilerplate code if (!g_thread_supported()) g_thread_init(NULL); will
-	  no longer work, and the threading system not be initialised and us
-	  printing a warning in gst_init. This may be fine in most cases, since
-	  late initialisation is allowed and automatically done in g_type_init()
-	  since GLib 2.23.2, but let's be cautious and only use this define when
-	  compiling GStreamer itself.
-	  See #608398.
-
-2010-01-28 15:55:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: Take start_time after chaining up too
-	  Refactor the code to take the current start_time when going to PAUSED.
-	  Make sure we also call the start_time update code after we chained up to the
-	  parent bin.
-	  Fixes #607842
-
-2010-01-28 00:07:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: add start function so we can error out properly if no uri is set
-	  Also save a set URI after it has been parsed successfully, so that _get_uri()
-	  actually works.
-
-2010-01-27 23:46:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: don't post error message when setting the URI failed
-	  There's a gboolean return for that, and the messages don't really
-	  add anything useful.
-
-2010-01-27 23:39:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: must release the object lock before using GST_ELEMENT_ERROR
-
-2010-01-26 18:59:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  0.10.25.2 pre-release
-
-2010-01-27 00:23:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstghostpad.c:
-	  checks: fix spurious ghost pad check failure
-
-2010-01-26 19:35:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  win32: update windows headers to latest version
-
-2010-01-26 19:32:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: minor update to release notes
-
-2010-01-26 18:45:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translation files
-
-2010-01-26 18:39:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/examples/streams/rtpool-test.c:
-	  tests: fix warning in rtpool-test
-	  The stream status message object may be of a non-GObject type, e.g.
-	  G_TYPE_POINTER (see GstAudioSrc), so print that properly instead
-	  of assuming the value holds an object.
-
-2010-01-26 12:43:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* tests/check/elements/multiqueue.c:
-	  multiqueue: handle UNEXPECTED flowreturn better
-	  When we receive an UNEXPECTED flowreturn from downstream, we must not shutdown
-	  the pushing thread because upstream will at some point push an EOS that we still
-	  need to push further downstream.
-	  To achieve this, convert the UNEXPECTED return value to OK. Add a fixme so that
-	  we implement the right logic to propagate the flowreturn upstream at some point.
-	  Also clean up the unit test a little.
-	  Fixes #608136
-
-2010-01-26 08:52:16 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/manual/basics-bus.xml:
-	  docs: Fix basics-bus docs
-	  Fix wrong information about bus watch functions in the
-	  application development manual.
-	  Fixes #608127
-
-2010-01-25 12:12:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Remove role attribute from links
-
-2010-01-25 11:56:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	  dataurisrc: Add docs and integrate into build system
-	  Fixes again bug #596885.
-
-2010-01-25 11:12:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstdataurisrc.c:
-	* plugins/elements/gstdataurisrc.h:
-	  dataurisrc: Add data: URI source element
-	  This is slightly based on the WebKit data: URI source
-	  but supports more parts of RFC 2397.
-	  Fixes bug #596885.
-
-2010-01-24 23:12:22 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* win32/common/libgstreamer.def:
-	  bin: also remove private function from def file
-
-2010-01-24 23:04:27 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	  bin: make a interface vmethod implementation static
-	  This should not cause any troubles - the methods wasn't in any header.
-
-2010-01-24 22:22:07 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	  childproxy: remove ; after }
-
-2010-01-22 18:00:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: add some docs to mark new property
-
-2010-01-22 17:55:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: add option to remove the temp-file
-	  Add an option to automatically remove the temp file (TRUE by default). This
-	  should make it possible for the application to keep the temp file by other means
-	  than hardlinking or holding an fd open.
-	  Fixes #607739
-
-2010-01-22 02:02:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: don't leak uri string
-
-2010-01-21 16:19:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstindex.h:
-	  gstindex: retab .h file
-
-2010-01-20 14:13:11 +0100  Benjamin Otte <otte@redhat.com>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-typefind.c:
-	* tools/gst-xmlinspect.c:
-	  tools: Run g_thread_init() unconditionally
-	  Since we define G_THREADS_MANDATORY, g_thread_supported() evaluates to
-	  TRUE unconditionally, so calling g_thread_init() never happened.
-
-2010-01-20 10:58:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: fix compiler warning on win32
-	  Move variable that's only used on unix into the unix block so that
-	  the compiler doesn't complain about the unused variable on win32
-	  (see #597662).
-
-2010-01-20 09:45:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: try scanner set via env var before using the installed one
-	  If the GST_PLUGIN_SCANNER environment variable is set, we should try
-	  the scanner specified there first, to make sure the right scanner binary
-	  is used for uninstalled setups and builds from source when there's
-	  already an installed version.
-
-2010-01-20 06:58:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gst.c:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  build: Define G_THREADS_MANDATORY everywhere
-	  We require threads to be supported in any case and defining this
-	  will simplify the mutex, condition variable, etc. macros from gthread
-	  to not always check if threads are really supported.
-	  Fixes bug #607481.
-
-2010-01-08 20:56:18 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>
-
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	  pluginloader: disable external plugin loader on Windows until it is ported properly
-	  See #597662.
-
-2010-01-20 01:09:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstpluginloader.c:
-	* gst/parse/grammar.y:
-	* gst/parse/parse.l:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* plugins/elements/gsttypefindelement.c:
-	  gst_private.h: make sure gst_private.h is included before glib.h
-	  For the reason outlined at the beginning of gst_private.h (inline
-	  functions in glib may need the g_log_domain variable). Also include
-	  gst_private.h before using any G_OS_* defines, esp. in plugin loader.
-
-2010-01-20 01:33:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue2.c:
-	  docs: minor gtk-doc markup fixes
-
-2010-01-20 00:53:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 14cec89 to 15d47a6
-
-2010-01-19 16:39:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	* docs/design/part-seeking.txt:
-	  docs: small docs updates
-
-2010-01-19 14:07:23 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* gst/gstpad.c:
-	  gstpad: directly set the caps when pushing buffer with different caps.
-	  This check is not necesarry as we are not negotiating anymore. And it can
-	  be wrong if upstream can't produce this caps anymore, but downstream can
-	  process them fine.
-
-2010-01-18 13:57:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: The GValue collection function can not assume that the destination is initialized
-	  ...and it will usually be either filled by zeroes or random values.
-	  Fixes bug #607283.
-
-2010-01-16 21:52:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Only use suggested caps in buffer allocation if a size was suggested too
-
-2010-01-16 19:41:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: remove superfluous guard against NULL
-	  All callers of this static function already check for NULL-ness
-	  themselves, so no need to do it again (and if we do it, we should
-	  probably do so before dereferencing the pointer for the first time).
-
-2009-12-17 19:45:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gststructure.c:
-	  structure: micro-optimise some getters
-	  Avoid checking the GType of the value twice (once on our side and
-	  once in g_value_get_*()) by by-passing g_value_get() and accessing
-	  the GValue structure directly.
-
-2010-01-15 18:36:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  message: update docs a little
-
-2010-01-15 00:46:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: minor release docs update
-
-2010-01-14 20:19:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Handle buffers with NULL caps correctly
-	  This means that the caps didn't change so don't try to handle
-	  the NULL caps as the new caps.
-
-2010-01-14 10:44:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gsturi.h:
-	  docs: Move field specific Since markers at the same line
-	  Fixes gobject-introspection warnings about Since being defined multiple times.
-
-2010-01-13 10:17:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/faq.xml:
-	  faq: remove revision history that no one updates or cares about anyway
-
-2010-01-13 09:32:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/developing.xml:
-	* docs/faq/git.xml:
-	  faq: fix link to gst-uninstalled on cgit
-	  Fix link to gst-uninstalled now that it's been moved, and fix a typo
-	  while we're at it. Also add a new section to 'Building GStreamer from
-	  git' that points to the 'How do I develop against an uninstalled copy
-	  of GStreamer' section.
-
-2010-01-13 10:32:46 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* README:
-	  docs: we're in git since a while
-
-2010-01-13 10:31:26 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* Makefile.am:
-	* README:
-	* docs/faq/Makefile.am:
-	* docs/faq/developing.xml:
-	* docs/faq/faq.xml:
-	* scripts/gst-uninstalled:
-	  scripts: move gst-uninstalled from docs/faq to scripts
-	  Don't include the long gst-uninstalled script in verbatim in the faq anymore
-	  (there is a link to cgit). Dist the script under its new location.
-
-2010-01-12 21:34:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registry: avoid some more unnecessary malloc/frees
-
-2010-01-12 20:21:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registry: avoid some unnecessary strdup/free when reading the binary registry
-	  Strings in the binary registry are NUL-terminated, so we can just use them
-	  directly if we only need them temporarily, and avoid unnecessary mallocs
-	  and frees.
-
-2010-01-12 17:38:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: use new typefind function
-	  Refactor a little.
-	  Use the new typefind helper function that uses the extension to speed up
-	  typefinding.
-
-2010-01-12 17:34:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* win32/common/libgstbase.def:
-	  typefind: add a new method that also uses the file extension
-	  Add a method to perform get_range typefinding that also uses the
-	  uri/location extension as an extra hint. It will first try to call the
-	  typefind functions of the factories that handle the given extension. The result
-	  is that in the common case, we only call one typefind function, which speeds up
-	  the typefinding a lot.
-
-2010-01-11 14:58:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-qos.txt:
-	  docs: update QoS documeent
-	  Add some ideas about a new QoS message.
-	  See also #322947
-
-2010-01-11 11:38:32 +0100  HÃ¥vard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: make release_pad threadsafe
-	  Protect the ->removed field with the object lock as well. Take the DYN lock
-	  earlier so that we can mark the pad removed and avoid a race in pad_alloc.
-	  Fixes #606435
-
-2009-12-11 17:46:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	  bus: whitespace fixes
-
-2010-01-10 21:49:25 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  utils: defer getting the classes until we actualy need them
-	  This function has a lot of early returns. Give them soem more benefit.
-
-2010-01-10 21:40:24 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  utils: avoid extra hop in gst_element_link
-	  No need to call gst_element_link_pads_filtered with filter=NULL, which would
-	  call gst_element_link_pads() in that way. Call it directly to save a call and
-	  expensive gobject type checks.
-
-2010-01-10 17:39:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: remove some cruft from header file
-	  Remove some cruft from the gstcheck header file that's not needed
-	  any longer now that we ship with our own copy of libcheck.
-
-2010-01-07 17:41:26 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/pwg/advanced-midi.xml:
-	* docs/pwg/pwg.xml:
-	  pwg: remove empty midi section
-
-2010-01-07 13:48:24 +0000  Christian Schaller <christian.schaller@collabora.co.uk>
-
-	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
-
-2010-01-07 13:47:50 +0000  Christian Schaller <christian.schaller@collabora.co.uk>
-
-	* gstreamer.spec.in:
-	  Update spec file
-
-2010-01-06 20:08:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update for new translated strings
-
-2010-01-06 20:06:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.h:
-	  docs: minor documentation fixes for recently-added tags
-	  Mention the type of the tag in the gtk-doc blurb, so people know
-	  which accessor API to use, and fix up the doc blurbs to match the
-	  actual tag define.
-
-2010-01-06 20:04:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  tags: fix up translated strings for some new tags
-	  Fix up translated strings for some recently-added tags to match the
-	  existing strings: we want short mnemonic-like strings here that start
-	  with a lower case letter.
-
-2010-01-06 19:19:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstregistry.h:
-	* gst/gstregistrybinary.c:
-	  registry: deprecate useless gst_registry_xml_{read|write}_cache()
-	  The only reason these two functions are still around is that at some
-	  point in the past they were in a public header, so we can't really
-	  remove them now even though they should have been private all along
-	  (and aren't really particularly useful). Since these are just empty
-	  stubs now that do nothing but return FALSE and will be removed in
-	  0.11 anyway, we may just as well deprecate them formally.
-
-2010-01-06 19:18:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	  docs: add Since markers to task pool docs and document task function
-
-2010-01-06 18:50:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: move SHAVE_INIT behind all checks
-	  Move SHAVE_INIT behind all other checks, in particular AG_GST_CHECK_CHECKS.
-	  This should fix problems with header checking and checking for localtime_r,
-	  which causes compilation errors with clean checkouts where common/shave has
-	  not been created yet when those checks are run. It seems like SHAVE_INIT
-	  changes the environment so that checks depending on a compiler need shave
-	  to exist at that point, which will fail if AC_OUTPUT hasn't created it yet.
-	  Fixes #605930.
-
-2010-01-05 01:35:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/libcheck/check.c:
-	  check: patch internal check copy some more so that failures actually fail
-	  Include unistd.h so that _POSIX_VERSION is actually defined when
-	  it should be defined. Without that, stuff like fail_if(1) doesn't
-	  actually fail, presumably because other parts of the code do include
-	  unistd.h and then have _POSIX_VERSION defined.
-	  Fixes #604565 even more.
-
-2010-01-05 00:09:10 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstevent.h:
-	  docs: add missing returns: tag
-
-2009-12-30 22:56:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: set iterate_interal_links function on source pad
-
-2009-12-27 19:33:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: remove unneeded casts
-
-2009-12-02 19:47:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  buffer: remove subbuffer subclass
-	  Move the parent buffer pointer into the GstBuffer struct so that we can
-	  remove the subbuffer class and type. This is interesting because it allows us to
-	  more naturally implement methods to get the real type and parent
-	  of a subbuffer (See #545501).
-	  It should also be slightly faster because there is no extra object hierarchy to
-	  initialize and free.
-
-2009-12-24 19:25:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: don't keep buffers reffed longer than needed
-	  Make sure we take ownership of the buffer early without increasing its refcount
-	  when we go in the collect function. This reduces the amount of copies needed in
-	  order to make the buffer writable in most cases.
-
-2009-12-24 17:22:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstminiobject.c:
-	  miniobject: avoid unneeded casts
-
-2009-12-24 16:53:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: avoid doing subbuffers when we can
-	  In some cases we can avoid allocating a subbuffer and instead simply ref
-	  the buffer. Callers should perform _make_metadata_writable() in all
-	  cases now.
-
-2009-12-24 15:25:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* win32/common/libgstbase.def:
-	  collectpads: add ability to install clipping functions
-	  Add a method to install a clipping function that is called when a buffer is
-	  received. Users of collectpads can then perform clipping on the incomming
-	  buffers.
-	  Also retab the header file a little.
-	  See #590265
-
-2009-12-24 15:13:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: add some more buffer2 ideas
-
-2009-12-24 14:40:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	  avoid some more type checks
-
-2009-12-24 14:22:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	  pipeline: avoid some type checks
-	  Avoid type checks when we can
-	  Don't need to peek the parent_class, the boilerplate does that for us.
-
-2009-12-23 21:39:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  launch: also print leaked objects
-	  Make the -T option also print the leaked objects
-
-2009-12-23 21:37:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	  trace: include type name in leaked objects
-	  When we are dealing with a GObject, print the type name along with
-	  the pointer for easier debugging.
-
-2009-12-23 21:20:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  pad: Fix problem with destroy callback not being called
-	  When we unblock a pad with the same user_data, the destroy callback is not
-	  called. This leads to refcounting leaks that cannot be avoided. Instead always
-	  call the destroy notify whenever we install a new pad block.
-	  In particular, this fixes a nasty pad leak in decodebin2.
-	  Also update the unit test to have more accurate comments and test the required
-	  behaviour.
-
-2009-12-22 22:52:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: small cleanups, use some G_LIKELY
-
-2009-12-22 15:29:26 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: Don't crash if there is no source pad
-
-2009-12-21 19:11:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 47cb23a to 14cec89
-
-2009-12-21 11:58:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  gsttaglist: Adds new tags
-	  Adds the following new tags:
-	  GST_TAG_SHOW_NAME
-	  GST_TAG_SHOW_SORTNAME
-	  GST_TAG_SHOW_EPISODE_NUMBER
-	  GST_TAG_SHOW_SEASON_NUMBER
-	  GST_TAG_LYRICS
-	  GST_TAG_COMPOSER_SORTNAME
-	  GST_TAG_GROUPING
-	  Fixes #599759
-
-2009-12-19 14:27:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: always call our check checks for the SUBUNIT conditional
-	  The SUBUNIT conditional needs to be set even if check is disabled. Also
-	  remove a FIXME that is not needed any longer / after all.
-
-2009-12-18 21:28:35 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	  check: patch internal check copy so it works with our build system
-	  Fixes #604565.
-
-2009-12-18 21:26:01 +0000  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* check-checks.m4:
-	* configure.ac:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/libcheck/Makefile.am:
-	  check: update autotools and docs stuff for new check version
-
-2009-12-17 20:09:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* check-checks.m4:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_log.h:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/check_str.h:
-	  check: update internal libcheck to 0.9.8
-
-2009-12-15 18:55:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: printf format fixes
-
-2009-12-14 16:22:16 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	* gst/gsttask.c:
-	  docs: link bus and tasks
-	  Add a link from bus section docs to the task docs. Add a paragraph to task docs
-	  to tell about messages and the bus.
-
-2009-12-14 15:11:42 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	  docs: add more docs around GstState and GstStateChange
-	  Take reviewed docs from docs/design/part-state to have that more prominent
-	  inside the api docs. Add a few sentences to link things better together.
-
-2009-12-14 15:11:14 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/design/part-states.txt:
-	  docs: review and fix spelling
-
-2009-12-14 11:05:41 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	  gstelementfactory: set object name earlier if applicable
-	  Setting an object name is nice for proper debug logging. Ideally this would
-	  still happens earlier (.e.g when pads are added to an element, its not yet set).
-
-2009-12-14 11:07:25 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  gstobject: add fixme-0.11 comment
-
-2009-12-08 11:30:39 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  comment: small comment correction
-
-2009-12-11 16:26:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: never skip a state change to PLAYING
-	  Never skip the state change to playing, even if the element is already in the
-	  right state. We need this because we also distribute the base_time while doing
-	  the state change and skipping this step would leave some elements without a new
-	  base_time.
-	  Fixes #600313
-
-2009-12-11 16:19:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add some more debugging
-
-2009-12-08 17:21:47 +0100  Havard Graff <havard.graff@tandberg.com>
-
-	* plugins/elements/gsttee.c:
-	  tee: release pads in dispose
-	  Make sure to release all request-pads in the dispose-method, in case of a
-	  shutdown-race, where a pad-alloc is about to happen.
-	  Fixes #604091
-
-2009-12-09 13:27:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: use NULL instead of 0 for pointers
-
-2009-12-09 07:25:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-typefind.c:
-	* tools/gst-xmlinspect.c:
-	  tools: Move gst_tools_print_version() for the remaining tools
-
-2009-12-03 12:31:19 +0100  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	  tools: Move gst_tools_print_version call to avoid warning from new GLib.
-	  g_setprgname is implicitly called by g_option_context_new() with a check
-	  to see if it's been set already.
-	  Fixes bug #604093.
-
-2009-12-08 16:40:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Fix proxy_setcaps to only iterate pads of other direction
-
-2009-12-08 16:21:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: fix proxy_getcaps
-	  Make it return the padtemplate caps on errors and no parent.
-	  Only intersect pads of the oposite direction of the source pad.
-
-2009-12-08 16:14:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Rename proxy iterator fold functions to have a more meaningful name
-
-2009-12-08 16:09:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: If one intersection gave empty caps don't continue iterating over the other pads
-
-2009-12-08 15:24:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Allow update NEWSEGMENT events after EOS
-	  This allows demuxers to update the segment stop of an already
-	  finished stream. This might be needed if some stream goes to
-	  EOS before the duration of the longest stream is known to properly
-	  set the segment stop of all streams to the same value in the end.
-
-2009-12-07 20:52:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	  Use plain casting instead of typechecking
-
-2009-12-07 09:45:00 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstvalue.c:
-	  gstvalue: Use fast gst_value_list_{size|get_value} macro accessors
-	  gst_value_list_size and gst_value_list_get_value will do a series of
-	  extra checks due to being public methods.
-	  When we use them from within gstvalue.c we can directly use them without
-	  the extra checks.
-
-2009-12-07 09:44:06 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsturi.c:
-	  gsturi: Don't use g_signal_emit_by_name, use the signal ID directly
-
-2009-11-18 09:01:35 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  tee: avoid expensive typechecks, and avoid getting ref to parent.
-	  Speeds up tee processing 2 to 5 times.
-
-2009-11-12 09:07:03 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstobject.c:
-	  gstobject: Avoid double strdup when setting NULL names.
-	  Instead of chaining up to gst_object_set_name (which does typechecking
-	  and strdup's the name again), just use the already allocated new
-	  name.
-
-2009-12-04 12:16:32 -0800  Peter van Hardenberg <pvh@songbirdnest.com>
-
-	* docs/pwg/building-props.xml:
-	  pwg: make the enum example (based on videotestsrc) actually match videotestsrc
-
-2009-12-04 16:28:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: Ignore state change failures from children that were removed from the bin already
-	  Fixes bug #584441.
-
-2009-12-04 15:00:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  registry: Use GMappedFile for reading the registry
-	  Fixes bug #603787.
-
-2009-12-03 19:48:11 +0100  Javier Jardón <jjardon@gnome.org>
-
-	* gst/gstregistrybinary.c:
-	  registry: Substitute deprecated GLib symbol: g_mapped_file_free
-	  Use g_mapped_file_unref if Glib >= 2.22 is available
-	  Fixes bug #560442.
-
-2009-11-27 20:16:15 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Shut down the pad task when the initial seek fails.
-	  Set the pad flushing and stop the pad task when the initial seek fails
-	  during activation. Avoids racy calls into the _create() function when
-	  BaseSrc::stop() has already run.
-	  Fixes: #603059
-	  Also, fix some misspelled comments.
-
-2009-12-03 20:55:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update .po files after string changes
-	  (The queue2 strings could use some tidying up)
-
-2009-12-03 20:53:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	  filesink, filesrc: printf format fixes
-	  gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
-	  gstfilesink.c:399: error: format ‘%d’ expects type ‘int’, but argument 9 has type ‘gsize’
-	  gstfilesrc.c:588: error: format ‘%08llx’ expects type ‘long long unsigned int’, but argument 8 has type ‘off_t’
-
-2009-12-03 16:44:28 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	  tee: add special case for only one pad conected
-	  It is not easy to setup a tee on the fly, thus apps need to add them always if
-	  they might need them. This changes the code so, that if only one src-pad is
-	  active, we push buffers directly. In the normal code path all buffers are pushed
-	  with an extra ref, that forces followup inplace elements to copy the data.
-
-2009-12-03 16:11:59 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	  tee: only message once per received buffer
-	  Avoids checking for each source pad. The messages would be almost identical
-	  anyway.
-
-2009-12-03 15:27:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/draft-registry-change-hooks.txt:
-	  drafts: planning
-
-2009-12-03 16:05:03 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	  tee: remove unused offset member
-
-2009-12-03 16:02:35 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gsttee.c:
-	  tee: only notify alloc-pad property if changed.
-
-2009-12-02 13:29:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: fix docs for _copy()
-
-2009-12-01 22:37:51 -0800  David Schleef <ds@schleef.org>
-
-	* tools/gst-launch.c:
-	  tools: Fix check for Windows
-
-2009-12-01 18:09:04 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gsttrace.c:
-	  Make gcc inline assembly conditional on gcc
-
-2009-12-01 19:29:25 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	  queue: Register debug funcptr only once.
-	  Makes creating queue elements 3-4 times faster and avoids contention on the
-	  global funcptr lock.
-
-2009-12-01 19:27:47 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc/basesink: Register debug funcptr only once.
-	  Makes basesrc/basesink initialization 3-4 times faster and avoids
-	  contention on the global funcptr lock
-
-2009-12-01 17:54:56 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstghostpad.c:
-	  gstghostpad: Register debug funcptr only once.
-	  This makes ghostpad/proxypad creation 5 times faster and avoids contention
-	  over the global funcptr lock.
-	  I also moved the two class init down in the code to avoid having to forward
-	  declare all the various functions.
-
-2009-12-01 17:54:14 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	  gstpad: Only register debug funcptr once.
-	  This makes pad initialization 2 times faster and without any contention
-	  over the debug funcptr global lock.
-
-2009-12-01 17:53:03 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.h:
-	  gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method.
-	  This is a variant of GST_DEBUG_FUNCPTR which does not return anything.
-
-2009-12-01 15:05:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 87bf428 to 47cb23a
-
-2009-12-01 14:08:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  configure: Use new AG_GST_PLATFORM macro
-
-2009-12-01 14:10:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From da4c75c to 87bf428
-
-2009-11-28 22:29:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: clip stepping boundaries
-	  Rounding errors with the floating point rate could make it so that we
-	  don't end up exactly at the required stepping duration.
-	  Use the segment clipping boundaries, which are not subject to rate
-	  adjustements, instead to detect when we reached the stepping duration.
-	  Add some debug info related to going to the PAUSED state.
-
-2009-11-28 17:02:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/basics-bus.xml:
-	  docs: fix another typo
-
-2009-11-28 15:40:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/intro-basics.xml:
-	  docs: fix typo
-
-2009-11-27 18:54:33 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 53a2485 to da4c75c
-
-2009-11-27 13:42:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  gstevent: fix docs
-	  Fix flush stops docs, those are serialized, not out of bounds.
-	  Probably a copy and paste mistake.
-
-2009-11-27 16:39:37 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	  docs: fix broken xrefs
-
-2009-11-27 16:39:37 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* libs/gst/net/gstnetclientclock.c:
-	  docs: fix broken xrefs
-
-2009-11-27 16:39:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: add missing section to libs-docs
-
-2009-11-27 14:18:02 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstxml.c:
-	  docs: make links work (needs recent gtk-doc)
-
-2009-11-27 14:17:35 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstplugin.h:
-	  docs: add missing parameter docs
-
-2009-11-27 14:16:54 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.h:
-	  docs: enable docs for GstObjectClass to fix links
-
-2009-11-27 14:15:08 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.h:
-	  gstobject: add FIXME-0.11 comments
-
-2009-11-25 18:25:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstxml.c:
-	  docs: better way to link class methods
-
-2009-11-25 18:24:16 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstquery.c:
-	  docs: use '*' instead of xxx to avoid creating a broekn xref
-
-2009-11-25 17:37:33 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.h:
-	* gst/gstregistry.c:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	  docs: fix more bogus xrefs
-
-2009-11-25 17:27:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstplugin.h:
-	  docs: add docs for GstPluginFlags
-	  This also makes links to them work.
-
-2009-11-25 15:39:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/advanced-interfaces.xml:
-	  docs: improve GstMixer and GstTuner docs
-	  Mention that elements implementing GstMixer and GstTuner need to be
-	  in the right state before they can be used. Also mention GLib
-	  functions for converting filenames to and from URIs.
-	  Fixes #602877.
-
-2009-11-25 16:44:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbuffer.h:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstdebugutils.h:
-	* gst/gstfilter.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.h:
-	* gst/gstquery.h:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.h:
-	* gst/gstutils.c:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	  docs: fix xrefs in docs
-	  Fix typos in xrefs, links to non existing functions and rework plural forms.
-
-2009-11-25 14:41:26 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstmacros.h:
-	  docs: remove gtkdoc header as these things don't come up on our docs even
-
-2009-11-25 14:23:53 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistry.c:
-	  docs: add missing parameter doc string
-
-2009-11-25 14:21:50 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstevent.h:
-	  docs: document new event in enum
-
-2009-11-25 14:18:14 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  docs: fix gtk-doc syntax for doc-blob start
-
-2009-11-23 11:34:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.c:
-	  query: whitespace fixes
-
-2009-11-23 11:33:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: fix grammar
-
-2009-11-21 16:37:34 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* win32/common/libgstbase.def:
-	  basesrc: Add gst_base_src_new_seamless_segment()
-	  Merge new function from resindvd into the primary GstBaseSrc for
-	  starting a new seamless segment.
-	  API: gst_base_src_new_seamless_segment()
-
-2009-11-20 16:00:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytewriter.c:
-	  bytewriter: fix compiler warning
-	  Some gcc versions warn about bytewriter writing to memory accessed
-	  via a const guint8 pointer, despite our explicit cast to guint8 *.
-	  Work around that by using an intermediary variable.
-	  Fixes #598526.
-
-2009-11-20 09:33:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  check: Only check for gmp/gsl if building of tests is not disabled
-
-2009-11-19 19:00:05 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Clamp the base time correctly in position reporting
-	  When clamping the base time, correctly use 'now', instead of
-	  '-now' - the intent is to prevent 'now-base' ever being
-	  negative, which would cause a position report outside the segment.
-	  Fixes: #602419
-
-2009-11-09 10:52:42 -0800  David Schleef <ds@schleef.org>
-
-	* gst/gstplugin.h:
-	  gstplugin: Add C++ escape for gst_plugin_desc define
-	  In order to properly export the gst_plugin_desc symbol
-	  from DLLs in MSVC, it needs to be extern "C".
-
-2009-11-19 12:59:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parse/grammar.y: remove unused ERROR define
-
-2009-11-19 10:29:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 1861252 to 53a2485
-
-2009-11-16 15:47:57 +0200  Priit Laes <plaes@plaes.org>
-
-	* libs/gst/check/Makefile.am:
-	  check: fix symbol exporting when building under et_EE locale
-	  [A-Z] regexp fails under et_EE locale because Z in Estonian alphabet is
-	  located after S and therefore characters starting with 'TUV...' are not
-	  in the range anymore.
-	  Fixes bug #602093.
-
-2009-11-18 07:59:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Handle the new sink-message event
-
-2009-11-18 07:52:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstutils.h:
-	* win32/common/libgstreamer.def:
-	  event: API: Add sink-message event
-	  gst_event_new_sink_message()
-	  gst_event_parse_sink_message()
-	  This event is used for sending a GstMessage downstream and synchronized
-	  with the stream, to be posted by the sink once it reaches the sink.
-	  Fixes bug #602275.
-
-2009-11-16 00:12:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* docs/faq/gst-uninstalled:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	* docs/plugins/Makefile.am:
-	* gst/gstpluginloader.c:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/helpers/gst-plugin-scanner.c:
-	* tests/check/Makefile.am:
-	* tests/examples/manual/Makefile.am:
-	  plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner
-	  and install into a different directory $(libexecdir/gstreamer-0.10) so that
-	  everything is versioned properly.
-	  NOTE: run 'make clean' after updating; if you are running an uninstalled setup,
-	  you will need to update your gst-uninstalled script (unless it's symlinked
-	  to gstreamer core master) and exit/enter your uninstalled environment to get
-	  the updated environment. If you are running an installed setup, you should
-	  run 'make uninstall' before merging this change or remove the old
-	  plugin-scanner binary manually.
-	  Fixes #601698.
-
-2009-11-18 09:10:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  Revert "structure: don't check type twice"
-	  This reverts commit f864187bf5fdfaf71f2e038949e403a42e6daf0e.
-	  Reverting this as it changes behaviour and the documentation is
-	  ambiguous about whether the caller must check the type first or
-	  not (call must check type vs. returns NULL if not a string). If
-	  GLib has been compiled with G_DISABLE_CHECKS then g_value_get_string()
-	  may return complete garbage even if the value does not contain
-	  a string. Better play it safe, esp. since the extra check is just
-	  an integer comparison. For fundamental types we could return values
-	  from the GValue structure directly if we really wanted to bypass
-	  the extra check.
-
-2009-11-17 17:06:08 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: don't check type twice
-
-2009-11-17 18:35:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: Add step event quark
-
-2009-11-17 10:02:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: add paths for gst-qa-system
-
-2009-11-17 09:06:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  docs: set GST_PLUGIN_SCANNER when calling gtkdoc-scangobj
-	  Otherwise the docs build won't work properly
-
-2009-11-16 13:58:10 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: remove some blank lines (previous gst-indent failure)
-
-2009-11-16 13:53:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: use local variable earlier
-
-2009-11-16 13:49:32 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: don't check enum types twice.
-	  G_VALUE_HOLDS_ENUM(value) is defined as G_TYPE_CHECK_VALUE_TYPE (value,
-	  G_TYPE_ENUM). Just check for the right enum-type right away.
-
-2009-11-14 22:35:07 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstsystemclock.c:
-	  check: Add a debug status to the systemclock test
-	  Next time it fails on a buildbot we can see which clock id
-	  return it is getting.
-
-2009-11-16 18:25:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-TODO.txt:
-	  TODO: remove stepping from TODO
-	  Remove the frame stepping API from the TODO list.
-
-2009-11-16 14:02:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix position reporting
-	  Only update the current stream time after we checked if we got a new step
-	  event. This improves the position reporting by the sink.
-	  See #595958
-
-2009-11-16 09:49:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  utils: API: Add multiplication and addition functions for fractions
-	  gst_util_fraction_add()
-	  gst_util_fraction_multiply()
-	  These work on plain integers instead of GValues to
-	  keep the overhead as low as possible.
-
-2009-11-16 09:29:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* win32/common/libgstreamer.def:
-	  gstutils: API: Add fraction helper functions
-	  gst_util_greatest_common_divisor()
-	  gst_util_double_to_fraction()
-	  gst_util_fraction_to_double()
-	  Using these instead of going over GValue has much lower overhead.
-	  Also add float<->fraction transform functions for GValue.
-
-2009-11-13 15:45:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  debug: add more debug logging to help tracking parsing errors
-
-2009-11-13 11:42:02 +0100  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	* gst/gstminiobject.c:
-	* tests/check/gst/gstminiobject.c:
-	  miniobject: avoid race when recycling buffers
-	  Avoid a race where a miniobject is recycled and quickly freed, which causes the
-	  g_type_free_instance() to be called on the same object twice.
-	  Ref the object before calling the finalize method and check if we still need to
-	  free it afterward.
-	  Also add a unit test for this case.
-	  Fixes #601587
-
-2009-11-12 17:02:40 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  whitespace: remove blanks in doc-comment
-
-2009-11-06 15:42:57 +0300  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstregistry.c:
-	  registry: Import _priv_gst_dll_handle into gstregistry.c
-	  Fixes bug #601668.
-
-2009-11-12 14:10:06 +0300  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* tests/examples/manual/Makefile.am:
-	  tests: Do not list libgstcheck as a requirement for tests/examples/manual
-	  Fixes bug #601669.
-
-2009-11-11 17:12:19 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Fix treating base_time as unsigned in position calculation
-	  Element base_time is a signed quantity, which leads to basesink returning
-	  a position of 0 when dealing with a negative base time - which are quite
-	  legal when clocks (such as the audio clock) are close to 0.
-	  This doesn't manifest in normal pipelines, of course - but can happen
-	  (at least) when manually setting the base time on a pipeline.
-
-2009-11-10 18:03:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* win32/common/libgstreamer.def:
-	  registry: API: Add gst_{default,}_registry_get_feature_list_cookie()
-	  This returns the internal feature list cookie, which changes every
-	  time a feature is added or removed. This can be used by elements
-	  to check if they should update their cached feature lists.
-
-2009-11-10 11:55:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: fix printf format
-	  Cast the variable to gint to conform to the printf format used.
-	  It is casted rather than changing the format because the
-	  message is created with a cast to gint too.
-
-2009-11-10 10:10:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: avoid crashing due to negative percent
-	  queue2 would crash when using small buffer sizes because
-	  it would overflow when calculating the percentage, resulting
-	  in the buffering GstMessage not being created and trying to be
-	  used. This patch uses a gint64 instead of a gint to do the
-	  percentage math, making it harder to overflow.
-
-2009-11-10 09:52:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Fix small doc typo
-
-2009-11-10 00:57:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: fix compilation with debugging disabled
-	  Add ugly ifdef to fix unused variable warning when compiling with
-	  debug logging disabled.
-
-2009-11-09 16:20:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/draft-bufferpools.txt:
-	* docs/random/ensonic/draft-registry-change-hooks.txt:
-	  planning: add thoughts about foreign registry cache updates
-
-2009-11-09 14:55:54 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-inspect.c:
-	  inspect: allow to get plugin-install-info for all installed plugins
-	  If no plugin is given, print the info for all plugins. This can be used as a
-	  starting point to generate a profile about what the gstreamer installation can
-	  potentialy handle (e.g. for MTP or DLNA).
-
-2009-11-09 12:42:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/highlevel-components.xml:
-	  docs: don't forget to unref the pad
-
-2009-11-07 20:22:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: wake up less often to check if we've been interrupted
-	  Check if we've been interrupted only four times per second instead
-	  of twenty times per second, to wake up the cpu less often and
-	  save power (see bug #600922).
-
-2009-11-05 21:18:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstconfig.h.in:
-	  gstconfig.h: add define to force printf format checking for debug messages
-	  Force printf format checking for debug messages if GST_DISABLE_PRINTF_EXTENSION
-	  is defined. This is useful to quickly check code for printf format mismatches
-	  in debugging messages that would usually not be caught (with glibc+gcc and
-	  printf extensions being used).
-	  To use: make clean; make CFLAGS='-g -O2 -DGST_DISABLE_PRINTF_EXTENSION'
-
-2009-11-05 21:09:28 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/Makefile.am:
-	* tests/examples/manual/Makefile.am:
-	  tests: Make sure we use the local libgstbase and not a stray outside one.
-	  Theoretically we should also do this for all local libraries to make sure
-	  we don't test with a 'stray' outside library.
-
-2009-11-05 18:36:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.h:
-	  docs: fix typo
-
-2009-11-05 15:59:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglist: avoid looking up GstTagInfo twice in a row
-	  Pass the info structure to our internal function if already available.
-	  Also clean up warnings for unknown tags.
-
-2009-11-05 18:55:30 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistrychunks.c:
-	  gstregistrychunks: We're certain plugin_name is an intern string.
-	  The only place this method is called from creates the plugin_name argument
-	  with g_intern_string().
-	  Shaves off 1% from registry loading.
-
-2009-11-04 19:33:58 +0000  Bastien Nocera <hadess@hadess.net>
-
-	* plugins/elements/gstqueue2.c:
-	  implement buffering-left argument to buffer messages
-	  Using the current fill level of the queue, and the average input
-	  rate, we can determine how long it will take to finish downloading
-	  the whole stream to the temporary file.
-	  Fixes #600726
-
-2009-11-05 15:13:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquery.h:
-	  query: whitespace fixes
-
-2009-11-05 14:02:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: fix locking
-
-2009-11-05 14:29:50 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.c:
-	  ghostpad: don't release mutex twice
-
-2009-11-05 14:29:12 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.c:
-	  ghostpad: skip type check in internal api
-
-2009-11-05 12:36:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.h:
-	  pad: indentation fix
-
-2009-11-05 12:54:32 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstreamer.def:
-	  pad: rename new api from _refed to _reffed.
-	  Due to popular demand rename the new api as we still can.
-	  API: gst_pad_get_caps_reffed(), gst_pad_peer_get_caps_reffed()
-
-2009-11-04 22:42:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  element: access padtemplate list directly to avoid call and type check.
-
-2009-11-04 18:58:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstevent.c:
-	  event: Add a FIXME 0.11 for having flush events that don't reset running time
-
-2009-11-04 17:52:21 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Fix a printf compile warning on 64-bit platforms
-
-2009-11-04 17:15:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Make sure that nobody sets the proxypad or ghostpad itself as target
-	  Doing this will lead to very interesting crashes, like stack overflows.
-
-2009-11-04 11:35:46 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	* gst/gstregistrychunks.c:
-	  plugin loader: Don't fail after a short read/write
-	  The logic to handle short reads/writes was incorrect, causing the
-	  packet handler to attempt to handle incomplete packets.
-	  Grow the packet transmit buffer in proportion to observed usage,
-	  causing fewer reallocs.
-	  Add some more debug in the registry chunks code.
-
-2009-11-04 01:51:38 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  plugin loader: Don't crash on bogus plugin details
-	  When invalid registry chunks are received from the child, and parsing
-	  fails, don't access an invalid plugin pointer. Instead attempt to
-	  figure out which plugin caused the problem and blacklist it.
-
-2009-11-04 01:54:36 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tools/gst-indent:
-	  gst-indent: Use the same logic to find gnuindent as the git hook
-
-2009-11-03 17:30:14 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue2.h:
-	  build: include stdio.h for FILE
-
-2009-11-03 01:18:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  docs: add another example to the gst-launch man page
-	  Add an example that shows how to refer to specific pads by name
-	  when constructing a pipeline string. Fixes #600382.
-
-2009-11-02 08:48:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttypefind.c:
-	  gsttypefind: avoid one more run-time type check
-
-2009-11-02 09:22:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: API: Add gst_structure_id_has_field{,_typed}
-
-2009-11-02 08:28:20 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsttypefind.c:
-	  gsttypefind: Use _CAST variants when the type has alredy been checked.
-	  This avoids checking the type n_typefinders * 4 times when loading the
-	  registry.
-
-2009-11-01 11:24:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Implement iterate internal links
-	  The internally linked pad of the ghost pad is its
-	  proxy pad, which is the pad that is linked to the ghost
-	  pads target.
-
-2009-10-31 16:56:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parser: Make sure that signal user data is freed by setting a GClosureNotify
-	  ...instead of using a second mechanism and storing the user data
-	  inside the GObjects qdata.
-
-2009-10-31 16:49:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parser: Use GSlice for allocating the structs
-
-2009-10-31 16:43:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/parse/grammar.y:
-	  parser: Always get DelayedLink information from the objects qdata
-	  This makes sure that it is always valid.
-
-2009-10-31 09:48:19 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* po/POTFILES.in:
-	  po: queue2 has moved to core
-
-2009-10-29 11:41:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	  queue2: Add to the docs
-
-2009-10-29 11:38:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use "Queue 2" as long name
-
-2009-10-29 11:35:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use GST_BOILERPLATE_FULL() and add pad templates/set details in base_init
-
-2009-10-29 11:30:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Use gst_element_class_set_details_simple()
-
-2009-10-29 11:30:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Integrate into coreplugins
-
-2009-10-29 11:21:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	* plugins/elements/gstqueue2.h:
-	  queue2: Move struct declarations to a separate header
-
-2009-10-29 11:18:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstqueue2.c:
-	  queue2: Move queue2 to gstreamer coreplugins
-	  Fixes bug #599996.
-
-2009-10-28 00:59:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/playback/gstqueue2.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-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-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-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 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-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
-
-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-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-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-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: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-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-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-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.
-
-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 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-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-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-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-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-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-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-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-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-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-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 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-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: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-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 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.
-
-2009-10-28 22:03:44 -0700  David Schleef <ds@schleef.org>
-
-	* gst/parse/grammar.y:
-	  parse: Fix memleak of unused delayed links
-	  Attach the DelayedLink structure to the element, so that when
-	  the element is disposed, the DelayedLink is freed.
-
-2009-09-09 15:37:11 -0500  Rob Clark <rob@ti.com>
-
-	* gst/gstpad.c:
-	  pad: make _fixate_caps() also truncate when needed
-	  The default gst_pad_fixate_caps() previously would only fixate each individual
-	  struct. In case there are multiple structs, the resulting caps would still not
-	  be fixed. In the spirit of how individual structs are fixated, this patch
-	  changes gst_pad_fixate_caps() to remove all but the first struct.
-	  Fixes #595886
-
-2009-09-21 11:44:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  info: fix docs
-
-2009-10-28 09:26:32 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbus.c:
-	* gst/gstelementfactory.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstobject.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginloader.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrychunks.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttypefind.c:
-	* gst/gstxml.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstlfocontrolsource.c:
-	  optimisation : Use g_object_newv where possible.
-	  This avoids:
-	  * triple-checking for the GType when type-checking is enabled (see #597260)
-	  * Avoids going through an expensive no-argument checking which landed in
-	  glib-2.22
-	  * Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist)
-
-2009-10-28 10:15:12 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  docs: include annotation glossary to have working links.
-
-2009-10-28 10:14:36 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	  annotations: add annotations to gst_init_check too
-
-2009-10-28 09:58:52 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	  docs: tell more about what happens in gst_init.
-	  Add links to gst_update_registry and the env-vars.
-
-2009-10-28 09:21:01 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst.c:
-	  docs: remove reference to OGI and rephrase sections docs
-	  The OGI links are dead, so remove them. Also remove the paragraph that pointed
-	  to OGI and DS. Only mentioning DS there made it a but pointless. Add a generic
-	  paragraph instead that tells a bit about the usecases gstreamer covers.
-
-2009-10-28 00:29:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstghostpad.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstregistry.c:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gstxml.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstdataqueue.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/indexers/gstmemindex.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 tenth of a polar bear.
-
-2009-10-28 00:07:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: sprinkle some GST_DEBUG_FUNCPTR
-
-2009-10-27 15:47:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-trickmodes.txt:
-	  design: add some ideas for SKIP mode trickmodes
-
-2009-10-23 10:20:02 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: buffering is implemented now
-
-2009-10-22 21:24:24 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: make sure percent increases
-	  Keep track of the last posted percent message and make sure the next percent
-	  messages are strictly increasing.
-
-2009-10-22 16:38:12 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: refactor buffering code
-	  Move the buffering update code to a separate function so that we can call it
-	  when the buffering state changes due to EOS.
-	  Avoid dividing by 0.
-
-2009-10-22 14:09:01 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: add buffering support
-	  Add support for buffering mode where we post BUFFERING messages based on the
-	  level of the queues. It currently operates on the first queue that goes over or
-	  under the high/low thresholds.
-
-2009-10-22 14:07:31 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: don't check visible items in buffering
-	  In buffering mode we want to ignore the max visible items to decide when the
-	  queue is filled. Instead, we only look at the number of bytes and/or time in the
-	  queue.
-
-2009-10-21 11:30:40 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: hook up low/high percent
-	  Hook up the low/high percent properties for the buffering mode.
-
-2009-10-21 11:24:47 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: hook up property for buffering
-
-2009-10-22 15:21:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: small cleanups
-	  Remove unused variable to avoid confusion
-	  Fix some typo
-
-2009-10-22 09:41:52 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: add FIXME for wrong code
-	  Needs further investigation
-
-2009-10-21 14:20:29 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: fix debug output
-
-2009-10-21 14:15:05 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: avoid shadowing function argument
-	  Don't shadow the sq argument in the underrun_cb function but use
-	  a different variable name to iterate the other queues.
-	  Use the same variable name in the overrun_cb function.
-
-2009-10-21 14:12:12 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: make queue arg explicit
-	  Make the queue argument to IS_FILLED explicit
-
-2009-10-21 11:17:08 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: fix properties
-	  Fix properties, make the extra-size properties as not implemented.
-
-2009-10-25 21:35:09 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: allow to hide/show pad status with graphdetails flag
-
-2009-10-24 13:14:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefindhelper: Remove obsolete FIXME
-	  It's not necessary (and not a good idea) to cache the typefind factory
-	  list anymore.
-
-2009-10-24 11:58:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	  registry: private is a C++ keyword, don't use it
-	  ...otherwise C++ compilers will complain when including gstregistry.h
-
-2009-10-24 10:21:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpluginfeature.c:
-	  docs: add Since tag to docs for new API
-	  And tell gtk-doc that GstRegistryPrivate is private.
-
-2009-10-21 09:48:41 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistry.c:
-	* gst/gsttypefindfactory.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	  typefind: Keep typefind factories sorted in the registry. Fixes #599147
-	  This avoids having to do the sorting everytime we use typefind
-	  The behaviour of gst_type_find_factory_get_list has subtlely changed
-	  in the sense that the order was previously undefined, whereas now
-	  it returns them sorted by rank and then by name.
-
-2009-10-21 09:45:47 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistry.c:
-	  registry: Cache element and typefind factories. Fixes 598896
-	  This avoids unneeded list/filtering if the registry hasn't changed
-
-2009-10-21 09:40:49 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* win32/common/libgstreamer.def:
-	  gstpluginfeature: API : new gst_plugin_feature_list_copy() method
-	  This allows copying AND incrementing the refcount at the same time,
-	  avoiding a double iteratio of the GList
-
-2009-10-24 10:05:59 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	  gstregistry: Add a cookie for detecting feature list changes
-	  We also create a private structure, since we will need to add more
-	  data there in following patches.
-
-2009-10-23 13:19:04 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  message: don't use typechecking cast macros
-	  Simply use casting macros for accessing the message fields like we do for
-	  buffers and events. Avoids some costly typechecking that does not really buy us
-	  much.
-
-2009-10-23 13:13:52 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  Revert "gstmessage: Avoid expensive src/type/timestamp fetch."
-	  This reverts commit 61cf93a334b79a2d8493e531cc44ba45a4209805.
-
-2009-10-23 17:51:27 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstmessage.c:
-	  gstmessage: Avoid expensive src/type/timestamp fetch.
-	  If we've already checked that we have a valid message, use the entries
-	  directly.
-
-2009-10-23 17:47:43 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	  gstcaps: Use inlined version of _is_any()/_is_empty()
-	  CAPS_IS_ANY and CAPS_IS_EMPTY are the equivalent of their gst_caps_*
-	  counterpart except that they avoid the typechecking and are inlined.
-	  CAPS_IS_EMPTY_SIMPLE only checks for empty caps (without checking if
-	  the caps is ANY).
-
-2009-10-22 16:42:13 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-TODO.txt:
-	  TODO: add item to TODO list
-	  We currently do a little too much work when we push the first buffer around
-	  resulting in excessive caps checking. We can probably make this a little less
-	  expensive.
-
-2009-10-22 12:52:46 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpipeline.c:
-	  gstpipeline: Simplify base time checking slightly
-	  Simplify checking and distribution of the base time - don't re-check
-	  the value of a local variable that was set 3 lines earlier.
-
-2009-10-22 13:15:15 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsturi.c:
-	  gsturi: Optimisation: Avoid type-checking in sorting method.
-	  We already know the list only contains plugin features
-
-2009-10-22 13:13:56 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsturi.c:
-	  gsturi: Optimisation : Cast when we're sure of the type.
-	  Also directly access GstElementFactory->uri_type instead of going
-	  through a function that will (once again) check whether it's a
-	  GstElementFactory
-
-2009-10-22 12:33:37 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/elements/fakesink.c:
-	  tests/fakesink: Add some debugging
-
-2009-10-22 12:33:01 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/elements/fakesink.c:
-	  tests/faeksink: Lower the number of threads to avoid timeouts
-	  We just end up with way too much contention in glib otherwise.
-
-2009-10-19 09:06:16 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistry.c:
-	  gstregistry: Use hash table when finding a feature. Fixes #598895
-
-2009-10-21 16:26:01 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: implement custom acceptcaps function
-	  Implement a custom acceptcaps function on the sinkpad. We can accept any caps as
-	  long as it is accepted by all downstream peer elements.
-
-2009-10-21 13:38:57 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: avoid lock for taking the counter
-	  The counter for incomming data is already protected with the STREAM_LOCK so we
-	  don't need to add another lock around it.
-
-2009-10-20 23:28:54 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	  registry: hash the plugin basename
-	  Maintain a hashtable of the plugin basename. We can then use this
-	  hashtable to speedup the search for an existing plugin and avoid
-	  a whole lot of strcmp calls.
-
-2009-10-20 23:27:41 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistrychunks.c:
-	  registry: speed up _strlen
-	  Make the _strlen function a little tighter
-
-2009-10-20 21:43:58 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: name is never NULL
-	  When looking up a feature by name, we never call this internal
-	  function with NULL so we don't have to check for it.
-
-2009-10-20 21:39:11 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: refactor plugin lookup
-	  We keep lookup plugins by their basename. Avoid creating a basename
-	  from a filename if we can.
-
-2009-10-20 21:01:55 -0400  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: do quick check for . files
-	  Do a quick check for . files before calling the strcmp functions
-
-2009-10-20 12:21:09 -0700  Michael Smith <msmith@songbirdnest.com>
-
-	* tests/check/gst/gstxml.c:
-	  Remove executable bits on xml unit test.
-
-2009-10-19 16:47:10 +0200  Benjamin Otte <otte@gnome.org>
-
-	* gst/gstcaps.c:
-	  docs: Fix docs for gst_caps_set_simple()
-
-2009-10-19 13:02:30 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstcaps.c:
-	  docs: Modify docs string slightly.
-	  Apparently starting the last line of a docs string with 'returns' both
-	  confuses and enrages gtk-doc. Use a slightly different wording instead.
-
-2009-10-19 12:29:35 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: When a plugin is blacklisted, output a GST_ERROR line.
-
-2009-10-19 13:30:10 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tools/gst-inspect.c:
-	  tools/gst-inspect: Check we're not handling NULL pointers.
-
-2009-10-19 13:29:40 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tools/gst-inspect.c:
-	  tools/gst-inspect: Remove dead assignment
-
-2009-10-14 10:54:32 +0200  Peter Kjellerstedt <pkj@axis.com>
-
-	* gst/gsttrace.h:
-	  trace: Do not poison gst_trace_add_entry()
-	  Since gst_trace_add_entry() is a macro, gcc will barf when it is
-	  defined in case it has been poisoned due to trace support being
-	  disabled.
-
-2009-10-18 23:18:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: just cast in internal API where we have checked parameters already
-
-2009-10-18 23:15:07 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	  controller: use g_slice for controlled property structures
-	  Use g_slide instead of nomal g_new, Also don't init struct with 0 as we need to
-	  init it anyway with the real values.
-	  Also join the 3 flags checks into one.
-
-2009-10-18 17:17:17 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  libs/base/typefindhelper: Remove useless typechecking in tight loop
-	  The list against which we run the comparefunc will only contain
-	  GstPluginFeature, therefore remove the 6 expensive type checks we do
-	  for every single comparision.
-
-2009-10-16 12:39:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: fix typo in docs
-
-2009-10-16 09:43:08 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* win32/common/libgstreamer.def:
-	  win32: Add new API symbol
-
-2009-10-16 10:13:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 85d1530 to 0702fe1
-
-2009-10-07 15:32:18 +0200  Benjamin Otte <otte@gnome.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  Improve caps setters API
-	  This patch adds gst_caps_set_value() and allows gst_caps_set_simple() to
-	  work on non-simple caps. See the API documentation for the functions
-	  about what they do.
-	  The intention of these changes is to ease working with caps in caps
-	  transform functions. An example for this would be ffmpegcolorspace,
-	  where the caps transform function could be changed to look roughly like
-	  this (pseudocode ahead):
-	  result = gst_caps_copy (template_caps);
-	  value = gst_structure_get_value (gst_caps_get_structure (caps, 0),
-	  "widh");
-	  gst_caps_set_value (result, value);
-	  /* same for height, framerate and par */
-	  return caps;
-	  which is much cleaner and easier to understand than the current code.
-	  https://bugzilla.gnome.org/show_bug.cgi?id=597690
-
-2009-10-02 10:15:55 +0200  Benjamin Otte <otte@gnome.org>
-
-	* tests/examples/xml/Makefile.am:
-	  Add XML_LIBS when building tests that use xml-specific functions
-
-2009-10-15 16:35:59 +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 16:30:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: fix race in PLAYING->PAUSED->PLAYING
-	  When we quickly switch from PLAYING to PAUSED and back to PLAYING it's possible
-	  in some cases that the task refuses to start, This is because when we go to
-	  PAUSED, we unschedule the clock timeout, which could return UNSCHEDULED when
-	  we're back to PLAYING, causing the task to PAUSE again with a wrong-state.
-	  This patch checks if we are running when we return with an UNSCHEDULED return
-	  value and if we are, try to create a new buffer.
-	  Fixes #597550
-
-2009-10-15 12:16:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  docs: clarify preset api docs
-
-2009-10-14 17:57:40 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	  docs: fix controller sections docs
-
-2009-10-14 10:40:50 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From 6380d4b to 85d1530
-
-2009-10-14 10:16:31 +0200  Peter Kjellerstedt <pkj@axis.com>
-
-	* gst/gstiterator.c:
-	  iterator: Fix a documentation typo
-
-2009-10-14 08:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Makefile.am:
-	  build: ...and add missing endif
-
-2009-10-14 08:57:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Makefile.am:
-	  build: Also don't run make check-exports if debugging is disabled
-
-2009-10-14 08:50:31 +0200  Peter Kjellerstedt <pkj@axis.com>
-
-	* Makefile.am:
-	  build: Only run make check-exports if no public API was disabled
-	  Fixes bug #598297.
-
-2009-10-14 08:30:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: Replace recursive gst_object_has_ancestor() with an iterative version
-	  This is slightly more efficient because the compiler can't do tail
-	  recursion here and has to keep all stack frames.
-	  Not that efficiency is that important here but I already had
-	  the iterative version somewhere else and both are easy to read.
-
-2009-10-14 08:29:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstobject.c:
-	  gstobject: Add simple unit test for gst_object_has_ancestor()
-
-2009-10-13 19:12:50 +0300  Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>
-
-	* libs/gst/net/gstnetclientclock.c:
-	  netclientclock: fix timestamp comparission, Fixes #597407
-
-2009-10-12 21:51:55 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstobject.c:
-	  check: Disable the test_fail_abstract_new() test entirely on OS/X
-	  Fixes a compiler warning from the function being compiled but not
-	  used.
-
-2009-10-12 14:57:35 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gst_private.h:
-	  debug: Mark the GST_POLL symbol as extern to avoid multiply-defined error
-
-2009-10-12 14:47:30 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Update common to 6380d4b370f078f0cca7240428ea9f6639571ff5
-
-2009-10-12 14:24:04 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  gstpoll: Make the new GST_POLL debug completely private
-	  Make the GST_POLL debug category symbol private to libgstreamer, as
-	  there should be no external users of it.
-
-2009-10-12 14:22:34 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstobject.c:
-	  checks: Disable a fairly silly gstobject test on OS/X
-	  This test used to SIGBUS on OS/X but now SIGSEGV's instead on
-	  Snow Leopard. It's not worth the effort to figure out which platform
-	  should produce which error for what is fundamentally a pretty silly
-	  test, so just disable it on OS/X
-
-2009-10-12 13:50:51 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/check/libcheck/check_pack.c:
-	  libs/gst/check: Make writing threadsafe. Backported from libcheck trunk
-
-2009-10-12 13:49:35 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	  libs/gst/check: Run gst-indent on libcheck.
-
-2009-10-12 12:02:34 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpluginloader.c:
-	  gstpluginloader: Don't wait forever on gst_poll_wait.
-	  This allows the macosx versions to properly error out when fds are closed.
-	  This is only a temporary fix until the pluginloader is switched to not
-	  use GstPoll but GIOChannels.
-
-2009-10-12 12:01:59 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Only take into account active fds
-	  This is needed so that select properly errors out on macosx (sigh)
-
-2009-10-12 10:07:03 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Add some debugging statements
-
-2009-10-12 10:01:01 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Use the error fdset when using select/pselect.
-	  This is needed to properly detect fds that are closed or that got
-	  an error
-
-2009-10-12 09:50:46 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Don't use poll on systems with broken poll
-
-2009-10-12 09:50:00 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstpoll.c:
-	  gst: Add debugging category GST_POLL for gstpoll
-
-2009-10-12 09:47:59 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* configure.ac:
-	  configure.ac: Detect broken poll()
-
-2009-10-09 17:44:28 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: lets keep -1 for segmenst as they are guint64 and not GstClockTime
-
-2009-10-09 17:11:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use GST_CLOCK_TIME_NONE and GST_CLOCK_TIME_IS_VALID more
-
-2009-10-08 23:10:40 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Fix valgrind warnings by zeroing padding bytes.
-
-2009-10-08 17:19:38 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/bytereader.c:
-	  check: Hopefully fix an 'may be used uninitialized' warning on OS/X
-
-2009-10-08 16:21:45 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Fix a debug format string harder to satisfy OS/X's gcc.
-
-2009-10-08 16:05:08 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Fix format string for debug error message.
-
-2009-10-08 15:21:48 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Move stdin and stdout out of harm's way
-	  In the plugin loader subprocess, move stdin and stdout to new fd's
-	  so that plugins printing things during plugin init or (*gasp*)
-	  possibly reading from stdin don't interfere with the data sent to
-	  and from the parent.
-
-2009-10-08 11:17:14 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/plugins/Makefile.am:
-	  plugin docs: Add GST_PLUGIN_SCANNER env var to the inspect environment
-
-2009-10-08 10:59:15 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 37f898b to a3e3ce4
-
-2009-10-08 10:39:28 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/.gitignore:
-	  gitignores: Ignore the bytewriter check binary
-
-2009-10-08 10:36:56 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistry.c:
-	  registry: Fix error handling in the registry loader
-	  When the plugin-scanner load fails (because the helper can't be
-	  spawned), make sure to load the plugin that failed in-process, so
-	  that all plugins do get loaded.
-
-2009-10-08 10:26:27 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/examples/manual/Makefile.am:
-	  check: Fix test run in tests/examples/manual
-	  Add the GST_PLUGIN_SCANNER env var to the check environment here too
-	  so that it doesn't fail when no installed scanner is available.
-
-2009-10-08 09:34:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  gstinfo: add back fix that shouldn't have been reverted
-
-2009-10-08 10:47:44 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue.c:
-	  queue: more queue optimizations
-	  Split gst_queue_locked_enqueue() into variant for buffer and event to get rid of
-	  the if() and make the code more readable (constant boolean parameters are never
-	  nice). Removes the if (item) checks as we dereference the pointer before anyway.
-	  Also apply the same idea of reusing the previous knowledge in
-	  gst_queue_locked_dequeue to remove more type checks.
-
-2009-10-08 10:51:49 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: split gst_multi_queue_item_new
-	  Split gst_multi_queue_item_new into buffer and event variant to make save an if
-	  and make code more readable.
-
-2009-10-08 08:55:59 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstfilesrc.c:
-	  plugins/gstfilesrc: Make a fast-path for length == 0 buffer creation.
-	  If the requested length is 0, we don't need to read anything from the file.
-
-2009-10-08 08:55:23 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/check/gstconsistencychecker.c:
-	  gst/check/consistencychecker: Check type of miniobject in probe
-
-2009-10-08 08:53:54 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  gst/base/basesink: Remove dead assignment.
-	  The code was previously:
-	  * checking if ret was != OK
-	  * .. but if it was FLOW_STEP, swith it to OK
-	  * .. and then not using ret
-	  Instead we just make it more compact by checking if it's OK or STEP.
-
-2009-10-08 08:53:26 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstobject.c:
-	  gstobject: Remove dead assignment.
-	  object is no longer used after that line
-
-2009-10-08 08:52:18 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstindex.c:
-	  gstindex: Make sure writer is non-NULL.
-	  Fixes the NULL dereference a few lines lower (where it gets the object type).
-
-2009-09-29 08:13:40 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/benchmarks/gstbufferstress.c:
-	  benchmarks: Clean up gstbufferstress.
-
-2009-10-08 02:42:16 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/mass-elements.c:
-	  benchmarks: Fix the complexity and mass-elements benchmarks
-
-2009-10-08 02:20:51 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstchildproxy.c:
-	  checks: Fix string leaks in the new childproxy test
-
-2009-10-08 02:03:08 +0100  Jan Schmidt <jan.schmidt@sun.com>
-
-	* gst/gstplugin.c:
-	  plugin: Ignore an empty dependency list.
-	  If a plugin registers an empty dependency set, just ignore it rather
-	  than serialising and checking an empty set.
-
-2009-10-08 02:01:54 +0100  Jan Schmidt <jan.schmidt@sun.com>
-
-	* gst/gstregistrychunks.c:
-	  registrychunks: Fix off-by-one error. Improve debug.
-	  Fix an off-by-one error in the size guard for unpack_element, and
-	  improve various debug statements in the failure paths.
-	  Also, swap some g_new0 to g_malloc0 for the fun of it.
-
-2009-10-07 16:02:58 -0700  Michael Smith <msmith@songbirdnest.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly.
-
-2009-10-07 23:31:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	  docs: fix Since: tags in docs for newly-added API
-
-2009-10-08 00:08:47 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: revert two of the changes
-	  It only needed for the non constant string.
-
-2009-10-07 23:36:45 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	  info: use a "%s" format string when printing the memory dump line
-	  We know that the content is save, but the compiler does not.
-
-2009-10-07 23:23:08 +0300  Rob Clark <rob@ti.com>
-
-	* gst/parse/grammar.y:
-	  parse: don't format the string twice
-	  We were formatting the string once and then passing the string as a format
-	  string to the log functions.
-
-2009-10-07 11:43:54 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstghostpad.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* win32/common/libgstreamer.def:
-	  pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
-	  In most places in core and baseclasses we just need the caps to do caps-
-	  intersections. In that case ref'ed caps are enough (no need to copy).
-	  This patch also switches the code to use the new functions.
-	  API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
-
-2009-09-26 23:43:37 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstghostpad.c:
-	  tests: add ghostpad test for setting target again after pad is linked
-
-2009-09-26 23:42:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstghostpad.c:
-	  tests: remove empty lines from wrong indent run
-
-2009-10-07 20:38:49 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/bytewriter.c:
-	  check: Fix compilation of the bytewriter test
-
-2009-10-07 18:07:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: add new byte writer and reader API to .def file
-	  API: gst_byte_writer_*()
-
-2009-08-20 14:24:19 -0700  Michael Smith <msmith@songbirdnest.com>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: fix spelling in comment
-
-2009-10-07 18:40:46 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: flush queue upon fatal flowreturn and release upstream thread
-
-2009-09-22 15:44:31 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstdataqueue.c:
-	  dataqueue: fix API documentation typo
-
-2009-10-07 18:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  bytewriter: Add to the docs
-
-2009-10-05 11:24:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/libs/bytewriter.c:
-	  bytewriter: Add unit test
-
-2009-10-03 13:30:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbytewriter.c:
-	* libs/gst/base/gstbytewriter.h:
-	  bytewriter: Add a generic byte writer
-	  Fixes bug #590669.
-
-2009-10-03 15:57:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size()
-	  ... and GST_(BYTE|BIT)_READER() casts.
-
-2009-10-03 12:34:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbytereader.c:
-	  bytereader,bitreader: Remove FIXME 0.11 to remove non-inlined functions
-	  The normal functions are always useful to have for bindings, especially
-	  runtime-created bindings like Seed or new GObject-Introspection based
-	  Python bindings.
-
-2009-10-07 16:36:31 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstiterator.c:
-	  check: Attempt to fix type-punning warning in the gstiterator test
-
-2009-10-07 16:00:12 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/gdp.c:
-	  check: Make sure to init the dataprotocol lib.
-	  Call the gst_dp_init() function to ensure that the debug
-	  category is initialised, to avoid g_criticals when running with
-	  GST_DEBUG=5
-
-2009-10-07 15:47:45 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/libs/gdp.c:
-	  check: Use GST_DEBUG instead of g_message in the gdp test
-
-2009-10-07 15:14:46 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/Makefile.am:
-	  check: Add GST_PLUGIN_SCANNER env var to the check environment
-
-2009-10-07 14:34:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: improve plugin loader failure message for uninstalled setups
-	  Everyone running an uninstalled git setup is going to wonder about
-	  this failure next time they update, so let's mention the solution
-	  in the error message.
-
-2009-10-07 13:59:47 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  configure: Beef up the test for __uint128_t on GCC
-	  GCC 3.4.3 on the SPARC buildbot crashes when actually
-	  using __uint128_t. Beef up the configure test to detect that the
-	  type is actually usable.
-
-2009-10-07 09:56:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  win32: add new API to .def file
-	  And add API: marker in commit message that was omitted in the original
-	  commit:
-	  API: gst_data_queue_new_full()
-
-2009-10-07 09:55:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/benchmarks/.gitignore:
-	  benchmarks: add bufferstress binary to .gitignore
-
-2009-10-07 09:42:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: bump GLib requirement to 2.18
-	  Bump GLib requirement as per the release planning docs.
-
-2009-10-07 10:37:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  message: whitespace fixes
-
-2009-10-07 11:12:57 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  pad: flip the G_UNLIKELY
-	  Its likely that we have caps and unlikely (error) otherwise.
-
-2009-10-07 11:04:56 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: add new queue api to the docs to fix the build
-
-2009-09-28 15:25:22 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  plugins/multiqueue: Avoid instance check
-	  We know earlier on in the code whether we're handling an event or a buffer,
-	  just pass that information through.
-	  This commit and the previous commit reduce instruction fetch:
-	  * when pushing buffer (_chain) by 10%
-	  * when popping buffer (_loop) by 3%
-
-2009-09-28 15:24:02 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  plugins/multiqueue: Cache input/output time, avoid expensive calls.
-	  * Cache the input/output time
-	  * Only recalculate it when needed.
-	  Avoids 50% calls to gst_segment_to_running_time
-
-2009-10-07 10:00:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/manual/basics-init.xml:
-	* gst/gstpluginfeature.c:
-	* gst/gstvalue.c:
-	* plugins/elements/gstfilesink.h:
-	* tests/benchmarks/gstbufferstress.c:
-	* tests/benchmarks/gstclockstress.c:
-	* tests/benchmarks/gstpollstress.c:
-	* tests/examples/launch/mp3parselaunch.c:
-	* tools/gst-launch.c:
-	  build: sprintf, sscanf need stdio.h
-
-2009-10-05 11:46:34 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstchildproxy.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstchildproxy.c:
-	  childproxy: initialize gvalue in _valist function. Fixes #595602
-	  Reflow the code to move error handling to the end of the functions. Initialize
-	  gvalue like we do in the setter. Add a unit-test module with two simple tests
-	  the catche this bug.
-
-2009-10-01 17:39:45 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  pad: don't intersect with any in proxy_pad_get_caps
-	  We initialize the caps with any and if a pad has NULL caps, just skip it instead
-	  of intersecting with any. Also add branch prediction here.
-
-2009-09-30 16:41:07 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  docs: rename aggregator to adder in the docs.
-
-2009-09-30 09:47:23 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.1.in:
-	  man: fix copy and past mistake for -q option
-
-2009-10-07 09:54:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: Extend environment variables to allow using an uninstalled gstreamer-sharp
-
-2009-09-28 15:19:44 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  plugins/multiqueue: Use new GstDataQueue constructor
-
-2009-09-28 15:18:37 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/base/gstdataqueue.h:
-	  gstdataqueue: new constructor which takes callbacks.
-	  This allows us to avoid going through glib's signalling system
-
-2009-09-28 13:19:10 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstmultiqueue.c:
-	  plugins/multiqueue: Use cached value instead of expensive object get.
-	  The task will always exist as long as its owner (i.e. the pad) and that
-	  owner's owner (i.e. multiqueue) exist.
-	  Reduces the number of instruction fetches by 36%.
-
-2009-09-28 15:41:52 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	  plugins/queue: Use previous knowledge of data type to avoid typecheck.
-	  We know whether we have a buffer or an event, use that instead of going
-	  trough the expensive GLib typecheck.
-	  The overall instruction fetch reduction introduced by this commit and the
-	  2 previous commits:
-	  * receiving a buffer (_chain) by 20%
-	  * popping a buffer (_loop) by 14%
-	  Numbers acquired through callgrind passing 100000 buffers through queue.
-
-2009-09-28 15:20:06 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  plugins/queue: Avoid useless segment_to_running_time() calculations.
-	  * Cache src and sink time
-	  * Use a boolean to know whether src/sink time need to be recalculated
-	  Avoids 50% calls to gst_segment_to_running_time()
-
-2009-09-28 13:21:07 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstqueue.c:
-	  plugins/queue: Just cast to the object parent instead of typechecking.
-
-2009-09-23 16:19:32 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/gstbufferstress.c:
-	  benchmark: New benchmark for testing contention when creating buffers
-
-2009-09-23 16:17:09 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tools/gst-launch.c:
-	  gst-launch: Don't activate tracing if not requested.
-
-2009-10-07 08:37:05 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/libs/bytereader.c:
-	  tests: init more variables to avoid compiler warning on osx
-	  Init variable to avoid compiler warning and make the build bot happy
-	  (the compiler most likely complains about this because it doesn't know
-	  here that fail_unless will abort/exit in the path where it fails).
-
-2009-09-26 11:43:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Improve iterate internal links function
-	  Pads have their GstSingleQueue stored as element private data
-	  so there's no need to iterate over the list of single queues
-	  every time. Also every pad only has a single internal link so
-	  use a single iterator instead of a complex custom iterator.
-	  Set the element private data of the pad to NULL when freeing the
-	  single queue.
-
-2009-09-17 16:30:43 -0400  Johan Bilien <jobi@litl.com>
-
-	* gst/gstutils.c:
-	  introspection: Add annotations for gst_element_query_{duration,position}
-	  Fixes bug #595511.
-
-2009-10-05 00:11:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: add inline version of gst_byte_reader_skip
-
-2009-10-07 00:47:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update translation files for new and changed strings
-
-2009-09-28 22:43:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: take locks around smaller section
-	  We don't need the hold the proxy mutex locked for getting the internal pad and
-	  for linking the new target pad when we retarget. So take the lock a little later
-	  and release it earlier.
-	  Fixes #596366
-
-2009-10-04 19:51:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/libs/bytereader.c:
-	  tests: init variable to avoid compiler warning on osx
-	  Init variable to avoid compiler warning and make the build bot happy
-	  (the compiler most likely complains about this because it doesn't know
-	  here that fail_unless will abort/exit in the path where it fails).
-
-2009-10-03 21:08:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstindex.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstxml.c:
-	* gst/parse/grammar.y:
-	  gst: remove more unnecessary cast when using g_signal_*()
-
-2009-10-03 20:49:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstdataqueue.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstqueue.c:
-	  dataqueue, elements: avoid unnecessary runtime type checks
-
-2009-10-05 16:41:50 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/release:
-	  docs: Update the release script
-	  Remove old cruft from the release script, and change some CVS
-	  references to equivalent git commands
-
-2009-10-04 14:30:34 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  pluginloader: Add a magic number and maximum size limit.
-	  Guard against a hostile child process that sends bogus data
-	  due to memory corruption by adding a magic number to each packet,
-	  and limit the maximum size of any message to 32MB
-
-2009-02-09 13:33:07 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	  registry: Also check the binary registry chunk version of the child.
-	  When trying to find a function plugin-scanner, include a check on the
-	  version of the binary registry chunks it sends, to make sure it's
-	  what we understand.
-
-2009-02-06 09:49:34 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* docs/faq/gst-uninstalled:
-	* gst/gstpluginloader.c:
-	* libs/gst/helpers/Makefile.am:
-	  registry: Support installed/uninstalled plugin-scanner helper
-	  Add a simple version check when starting the plugin-scanner so we can
-	  verify we're talking to one that talks the same language.
-	  First try a plugin-scanner in the installed path, then try one via the
-	  GST_PLUGIN_SCANNER env var if that doesn't work.
-	  Update the uninstalled script.
-	  Install the plugin-scanner to the libexec dir
-
-2009-01-30 14:18:13 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* gst/gstregistry.c:
-	  Remove checking for and mentions of fork where possible.
-	  We no longer use fork() directly, instead using glib's spawn
-	  functionality, so don't check for it, and don't use it in the
-	  documentation notes.
-
-2009-01-30 13:06:13 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstregistry.c:
-	  Re-enable and fix disabled bit of the registry test
-
-2009-01-30 13:04:52 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistry.c:
-	  Only load the registry cache once per process.
-	  When updating the registry, we don't need to re-read the registry cache
-	  and waste time replacing all our existing, hopefully identical, plugins
-	  and features that we're about to re-scan anyway.
-
-2009-01-29 13:22:14 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstplugin.c:
-	* gst/gstregistry.c:
-	  Add some more debug the registry.
-	  Add the full set of debug about why it's decided that a given plugin is
-	  stale or not, and include the plugin name when finalizing it.
-
-2009-01-23 21:15:43 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstplugin.h:
-	* gst/gstpluginloader.c:
-	* gst/gstregistrychunks.c:
-	* tools/gst-inspect.c:
-	  Add restarting of the plugin loader and blacklisting of broken files
-
-2009-01-23 15:47:08 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpluginloader.c:
-	* gst/gstpluginloader.h:
-	* gst/gstregistry.c:
-	  Plugin loader phase 2
-	  phase 2 - make the plugin loader receive the list of plugins to load and
-	  send back the results asynchronously, so we don't context switch back
-	  and forth so much.
-
-2009-03-14 23:07:40 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstpluginloader.c:
-	* gst/gstpluginloader.h:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrybinary.h:
-	* gst/gstregistrychunks.c:
-	* gst/gstregistrychunks.h:
-	* libs/gst/Makefile.am:
-	* libs/gst/helpers/.gitignore:
-	* libs/gst/helpers/Makefile.am:
-	* libs/gst/helpers/plugin-scanner.c:
-	* tests/check/gst/gstregistry.c:
-	* win32/common/libgstreamer.def:
-	  registry: Add registry helper phase 1
-	  Phase 1 of adding the registry scan helper
-
-2009-09-14 23:31:10 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gst.c:
-	* gst/gstregistry.c:
-	  registry: Rearrange some things.
-	  Prepare to land the external plugin helper process
-
-2009-10-06 19:41:38 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  Back to development -> 0.10.25.1
-
-=== release 0.10.25 ===
-
-2009-10-05 12:57:03 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	  Release 0.10.25
-
-2009-10-05 12:41:42 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2009-10-01 16:24:52 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.24.4 pre-release
-
-2009-09-30 15:52:33 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/check/Makefile.am:
-	  libgstcheck: Don't use character classes in sed expressions
-	  Apparently the sed that ships on Solaris 10 doesn't support character
-	  classes like [:alnum:], so don't use them. We don't need them for the
-	  symbol names that are being extracted anyway.
-	  Also, use $(SED) instead of 'sed'
-	  Fixes: #596877
-
-2009-09-17 01:20:03 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.24.3 pre-release
-
-2009-09-15 09:41:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  utils: Fix GMP scaling unit test
-	  GMP only uses "unsigned long int", which is 32 bit
-	  on 32 bit architectures and can't hold a guint64.
-	  This resulted in false unit test failures on 32 bit architectures.
-	  Fixes bug #595133.
-
-2009-09-14 12:47:26 -0700  David Schleef <ds@schleef.org>
-
-	* configure.ac:
-	* libs/gst/check/Makefile.am:
-	  Fix out-of-tree build
-
-2009-09-14 14:07:55 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstmessage.h:
-	  docs: GST_MESSAGE_STREAM_STATUS is implemented nowadays.
-	  Docs were still mention it as "not yet implemented".
-
-2009-09-12 13:52:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/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 file.
-
-2009-09-12 13:51:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/Makefile.am:
-	* gst/gsttaglist.h:
-	  introspection: Don't typedef GstTagList to GstStructure for gobject-introspection
-
-2009-09-11 23:21:30 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/LINGUAS:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.24.2 pre-release
-
-2009-09-11 22:42:51 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstmessage.c:
-	  Don't use C++ style comments
-
-2009-09-11 22:22:34 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstmessage.c:
-	  message: Disable restriction that structure changes are sink pads
-	  The structure_change message was originally emitted on source pads and
-	  then recently changed to be sink pads. This causes a failure in the
-	  gst-python testsuite. Disable the restriction so that the published
-	  behaviour is still allowed.
-
-2009-09-11 18:24:18 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstplugin.c:
-	  check: Fix version check tests
-	  Accomodate the slightly changed semantics in the plugin version check
-	  where a CVS version just before a release is acceptable.
-
-2009-09-11 21:20:57 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: don't crash in cleaning up on error.
-	  Don't dereference NULL pointers.
-
-2009-07-20 12:54:00 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstinfo.h:
-	  debug: use dummy code to avoid spurious semicolons
-	  Fixes bug #589173.
-
-2009-09-10 11:53:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstpluginfeature.h:
-	  whitespace fixes
-
-2009-09-10 11:41:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: improve version check
-	  Also parse the nano of the version and assume that X.Y.Z-1.1 >= X.Y.Z
-	  With this change we can also check development versions against the version of
-	  the upcomming release.
-
-2009-09-10 10:05:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gsttaglist.h:
-	  taglist: Add FIXME for 0.11 to not typedef GstTagList to be a GstStructure
-	  See bug #518934.
-
-2009-09-09 16:29:10 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstelement.h:
-	  Fix typo in inline documentation
-
-2009-09-09 17:57:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* common:
-	  Update common
-
-2009-09-09 18:38:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: Add a comment to the scaling functions to explain why the rounding is correct
-
-2009-09-09 16:45:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: don't unref NULL caps
-	  Caps can be NULL so don't call unref on it unconditionally, instead use an
-	  existing exit pad for the function.
-
-2009-09-09 14:53:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* gst/gstutils.c:
-	  utils: Use gcc's __uint128_t for 64bit unsigned integer scaling
-	  This is available in newer gcc releases and it should only exist
-	  on platforms that provide some native 128bit integer arithmetic
-	  instructions.
-	  The x86-64 assembly for this is still kept for non-gcc compilers
-	  that don't provide __uint128_t magic.
-
-2009-09-09 09:38:54 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/random/ensonic/draft-bufferpools.txt:
-	  design: add ideas for buffer management
-	  Right now we're operating suboptimal when talking to kernel interfaces. Write
-	  doesn some ideas.
-
-2009-09-07 18:27:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstpushsrc.h:
-	* plugins/elements/gstfakesrc.c:
-	  fix whitespace
-
-2009-09-03 19:06:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.h:
-	  adapter: fix whitespace
-
-2009-09-07 16:14:57 +0200  Benjamin Otte <otte@gnome.org>
-
-	* gst/gstvalue.c:
-	  docs: Fix typo in gst_value_union()
-
-2009-09-06 19:43:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbitreader.c:
-	* libs/gst/base/gstbitreader.h:
-	* libs/gst/base/gstbytereader.c:
-	  bitreader, bytereader: add some FIXME 0.11 comments and fix indenting
-
-2009-09-04 17:15:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: add unchecked and inline versions of the float getters/peekers
-	  API: gst_byte_reader_get_float*_unchecked()
-
-2009-09-04 16:52:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	  bytereader: add inline versions of the most common getters and setters
-
-2009-09-02 11:20:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbytereader-docs.h:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* tests/check/libs/bytereader.c:
-	  bytereader: add inlined _unchecked() variants for some functions
-	  API: gst_byte_reader_skip_unchecked()
-	  API: gst_byte_reader_peek_*_unchecked()
-	  API: gst_byte_reader_get_*_unchecked()
-	  API: gst_byte_reader_{peek,get,dup}_data_unchecked()
-
-2009-09-05 12:30:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Strip Gst prefix from all types/functions
-
-2009-09-05 12:22:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  introspection: Fix for out-of-tree builds
-
-2009-09-05 12:04:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Fix out-of-tree build
-
-2009-09-05 11:51:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/Makefile.am:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  introspection: Fix build if gir-repository is not installed
-
-2009-09-05 09:36:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/net/Makefile.am:
-	  net: Add gobject-introspection support
-
-2009-09-05 09:34:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/dataprotocol/Makefile.am:
-	  dataprotocol: Add gobject-introspection support
-	  Because of a bug in gobject-introspection this is disabled for now.
-
-2009-09-05 09:28:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/Makefile.am:
-	  controller: Add gobject-introspection support
-
-2009-09-05 09:27:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/check/Makefile.am:
-	  check: Add gobject-introspection support
-
-2009-09-05 09:23:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* .gitignore:
-	* gst/.gitignore:
-	* libs/gst/base/Makefile.am:
-	  gstbase: Add gobject-introspection support
-
-2009-09-04 20:56:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* gst/.gitignore:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	  gst: Add gobject-introspection support
-	  Partially fixes bug #550616.
-
-2009-09-05 10:19:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 94f95e3 to 19fa4f3
-
-2009-09-04 19:37:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	  docs: fix docs for gst_byte_reader_{get|peek}_float*()
-
-2009-09-04 11:35:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstevent.h:
-	  event: whitespace fixes
-
-2009-09-04 09:51:26 +0200  Aurelien Grimaud <gstelzz@yahoo.fr>
-
-	* gst/gstbin.c:
-	  bin: Only unref EOS message after it is not used anymore
-	  Fixes bug #594107.
-
-2009-09-02 18:54:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstmessage.c:
-	* gst/gstpad.c:
-	  states: post structure change on sinkpads
-	  Post the structure change messages on the sinkpads of the elements. This allows
-	  us to catch unlinked pads earlier without ending up with inconsistent element
-	  degrees.
-
-2009-09-02 18:13:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: avoid false 'loop detected' warnings
-	  When we detect a pad unlink in progress, we will not be updating the degree of
-	  the parent element. This can cause false loop detected warnings because the
-	  degree counter is invalid. Handle this case by marking the iterator as 'dirty'
-	  when we detect a pad unlink and avoid emiting the warning in this case. We have
-	  to continue our state change as good as we can, we will eventually resync when
-	  the pad unlink completed.
-
-2009-09-01 16:49:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  basesrc: whitespace fixes
-
-2009-09-01 16:49:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	  buffer: whitespace fixes
-
-2009-09-01 12:07:31 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/examples/Makefile.am:
-	  dist: Don't list the streams subdir twice in examples Makefile
-	  Listing the 'streams' subdir twice in DIST_SUBDIRS breaks distcheck.
-
-2009-09-01 12:05:51 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstbin.c:
-	  gstbin: Don't propagate a NULL cached index to added elements
-	  When an element is added to the bin, only set the index if we have a
-	  cached index, rather than setting a NULL index on elements that might
-	  have a default index object of their own.
-
-2009-07-19 21:23:18 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/release:
-	  docs: Add a note about regenerating the changelog in the release script
-
-2009-09-01 10:03:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: don't take object lock for g_critical() and flesh out warning message some more
-
-2009-09-01 10:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstiterator.c:
-	  iterator: Add unit test for the single iterator
-
-2009-09-01 10:20:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: Only visit the element a single time in the single iterator
-
-2009-09-01 07:27:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: Fix single iterator for NULL objects and non-GTypeInstance objects
-	  Fixes bug #593719.
-
-2009-09-01 00:00:57 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  debug: more detail in wrong-state-on-dispose error.
-	  Also tell in which state the element actualy is and if it is eventualy
-	  state-locked.
-
-2009-08-31 20:38:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: fix docs for _new_single().
-
-2009-08-31 16:56:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	  docs: it's its
-	  The panda says no!
-
-2009-08-29 20:44:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	  registry: fill in elementfactory when registering element
-	  elementfactory field is filled in by gst_element_base_class_init,
-	  but it needs some info set on the element's type, so have it
-	  available prior to class structure creation spinning up.
-	  This affects elements that have a well-known/public type (e.g. pipeline)
-	  and can be created by other means than gst_element_factory_make
-	  (which will also fill in the element's factory).
-
-2009-08-31 11:45:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: use 128bits division on x86_64
-
-2009-08-29 04:44:51 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstsystemclock.c:
-	  systemclock: fix compilation of win32 code
-	  Fixes #593460.
-
-2009-08-28 18:37:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: cache index
-	  Cache the last index that was set with _set_index() and return this in the
-	  _get_index() call.
-	  Set the cached index on newly added elements.
-	  Fixes #566881
-
-2009-08-28 18:35:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: better type checks
-	  Add GST_CLOCK typecheck for _set_clock().
-	  Allow setting NULL indexes on element (clear the current index)
-	  Some whitespace fixes.
-
-2009-08-28 18:14:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.h:
-	  element; whitespace fixes
-
-2009-08-28 18:06:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: add gst_iterator_new_single to defs
-
-2009-08-28 18:03:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: whitespace fixes
-
-2009-08-28 17:59:15 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Check suggested caps for proxy alloc
-	  Because we are trying to resolve a suggestion here we don't need
-	  to check on caps for proxy_alloc but we need to check on the
-	  suggested caps instead.
-
-2009-08-28 17:49:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	  queue: whitespace fixes
-
-2009-08-28 17:02:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  systemclock: use preformance counters on windows
-	  Based on clock implementation by HÃ¥vard Graff <havard.graff@tandberg.com>
-	  Try to get the time on windows using the performance counters. These have a much
-	  higher resolution and accuracy than the regular getcurrenttime(). Be careful to
-	  fall back to regular getcurrenttime() or posix clocks when performance counters
-	  are not available.
-
-2009-08-28 16:07:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.h:
-	  systemclock: fix indentation
-
-2009-08-28 15:32:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: use shift instead of division
-	  We can use a shift for scaling the denominator instead of a divide since the
-	  denom is always positive. This avoids having the compiler generate code for the
-	  different rounding rules when scaling negative values.
-
-2009-08-28 13:45:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: make inlining explicit
-
-2009-08-28 12:43:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: optimize for x86_64 with some inline asm
-	  64bit x86 has native 64x64->128 bit multiply that we can use with some inline
-	  assembler to speed up large multiplications.
-	  Use bsr to find the number of leading zeros more efficiently.
-
-2009-08-28 12:33:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: factor out the leading zero count code
-
-2009-08-28 12:30:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: pass correction factor around
-	  Pass the correction factor around to get rid of the enum, some code
-	  and some branches.
-
-2009-08-28 12:21:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: whitespace fixes
-
-2009-08-28 12:19:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: move common correction code in a macro
-
-2009-08-24 18:01:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.h:
-	  basesink: whitespace fixes
-
-2009-08-26 16:51:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstiterator.c:
-	  iterator: Allow to use NULL as object for the single iterator
-
-2009-08-26 16:39:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstiterator.c:
-	* gst/gstiterator.h:
-	  iterator: API: Add gst_iterator_new_single()
-	  This allows "iteration" over a single object of some type,
-	  which happens often for the GstPadIterIntLinksFunction for example.
-
-2009-08-24 17:57:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: return result of _set_caps()
-
-2009-08-24 17:56:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: whitespace fixes
-
-2009-08-22 14:22:31 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstobject.h:
-	* gst/gsttrace.h:
-	* gst/gstxml.h:
-	  It's __GNUC__, not _GNUC_
-	  This appears to be an 8 year old bug.
-
-2009-08-21 09:59:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/building-boiler.xml:
-	  docs: add link to cgit tarball download of gst-template in PWG
-	  So people who can't use git for some reason still can get hold
-	  of the code. See #591069.
-
-2009-08-20 11:54:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstpluginfeature.c:
-	  pluginfeature: add guard to gst_plugin_feature_type_name_filter
-	  So we don't just crash if there's a refcounting bug somewhere else.
-
-2009-08-19 16:24:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/manual/appendix-integration.xml:
-	  docs: Don't talk about the deprecated libgnome and GNOME-VFS
-	  Instead talk about GIO and change the option parsing example to
-	  not initialize libgnome but only GTK.
-	  Fixes bug #592233.
-
-2009-08-19 15:25:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/examples/Makefile.am:
-	* tests/examples/streams/Makefile.am:
-	  examples: Link rtpool-test to libpthread for using the POSIX threads
-	  Also the other streams example can run without pthreads therefore
-	  enable it even if pthreads are not available.
-	  Fixes bug #592314.
-
-2009-08-18 14:45:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  tools: Use iterate_internal_links instead of deprecated get_internal_links
-
-2009-08-18 14:45:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	* plugins/elements/gstmultiqueue.h:
-	  multiqueue: Use iterate_internal_links instead of deprecated get_internal_links
-
-2009-08-18 14:05:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  gstpad: Add some DISABLE_DEPRECATED markers in the header too
-	  The internal links function is deprecated since some time and
-	  there already were GST_REMOVE_DEPRECATED markers in the source file,
-	  now add them to the header too.
-	  Fixes bug #592209.
-
-2009-08-18 11:38:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/design/part-states.txt:
-	  docs: Update the design docs for bin state changes according to last commit
-
-2009-08-18 11:36:36 +0200  Antoine Tremblay <hexa00@gmail.com>
-
-	* gst/gstbin.c:
-	  gstbin: Don't try to change children's state if they're already in the state we want
-	  Fixes bug #368536.
-
-2009-08-18 11:33:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Always get the proxypad's ghostpad via the ghostpad in the src caps change notify handler
-	  Before the signal handler would get the ghostpad passed as second
-	  argument but it could've already been unreffed and destroyed.
-	  This would then lead to crashes and all that.
-	  Now we get the ghostpad from the proxy pad, which we get from the
-	  target pad as it's peer.
-	  Fixes bug #591318.
-
-2009-08-18 08:45:08 +0200  Laurent Glayal <spglegle@yahoo.fr>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	  filesink: Add property to allow to append to an already existing file
-	  Fixes bug #591441.
-
-2009-08-14 11:53:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	  configure: Remove duplicated check for clock_gettime
-
-2009-08-14 11:12:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* configure.ac:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstutils.c:
-	  gstutils: Add special random unit test for 64 scaling functions
-	  This tests 100000 random multiplications/divisions of all scaling
-	  function variants and compares the result with the result that is
-	  generated by GMP on the same input.
-	  For this check for GSL and GMP during configure but only use
-	  it for this single unit test.
-	  Testing functions were provided by Kipp Cannon <kcannon@ligo.caltech.edu>
-
-2009-08-13 16:31:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* win32/common/libgstreamer.def:
-	  gstutils: Add new scaling functions to the docs
-
-2009-08-13 16:20:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstutils.c:
-	  gstutils: Add (very) minimal unit test for the new rounding scaling functions
-
-2009-08-13 16:10:31 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>
-
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  gstutils: API: Add rounding to nearest and next integer versions of the 64 bit integer scaling functions
-	  The new functions are
-	  gst_util_uint64_scale_int_round()
-	  gst_util_uint64_scale_int_ceil()
-	  gst_util_uint64_scale_round()
-	  gst_util_uint64_scale_ceil()
-	  Fixes bug #590919.
-
-2009-08-12 11:10:05 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>
-
-	* gst/gstutils.c:
-	  gstutils: Revert parts of last change to optimize the scaling functions again
-	  Partially fixes bug #590919.
-
-2009-08-11 09:16:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  gstutils: Fix violations of strict-aliasing rules in gst_util_uint64_scale()
-
-2009-08-11 09:10:47 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>
-
-	* gst/gstutils.c:
-	  gstutils: Refactor gst_util_uint64_scale()
-	  This will later make it possible to provide rounding versions
-	  of it without much code duplication.
-	  Partially fixes bug #590919.
-
-2009-08-11 15:20:18 +0200  Jonas Holmberg <jonas.holmberg at axis.com>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: update doc string
-
-2009-08-11 13:21:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	* tests/check/gst/gstsegment.c:
-	  gstsegment: Actually start==stop==segment_start is inside the segment
-	  Still the old code was wrong as it claimed that start==stop<segment_start
-	  would be inside the segment and returned insane clipping differences.
-
-2009-08-11 13:03:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstsegment.c:
-	  gstsegment: Fix unit test and add an additional test
-	  The previous test assumed that start=stop=segment_start will
-	  be inside the segment but this is wrong.
-
-2009-08-11 12:59:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  gstsegment: Clipping should detect start=stop<segment_start as outside the segment
-	  Before it returned that [start,stop] is inside the segment and that the
-	  difference between segment_start and start needs to be clipped. If the
-	  clipping is done on a buffer (like in baseaudiosink) this will result
-	  in the data pointer being at a invalid memory position.
-	  Fixes bug #589849.
-
-2009-08-11 05:47:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/gst/gstbus.c:
-	  gstbus: Unref pipeline after usage in test_custom_main_context unit test
-	  This makes the core unit tests valgrind clean again.
-
-2009-08-11 02:54:55 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/random/moving-plugins:
-	  docs: add Edward's git plugin moving howto to moving-plugins document
-
-2009-08-10 14:30:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstobject.c:
-	  checks: don't forget to include config.h in the GstObject unit test
-
-2009-08-10 13:05:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* tests/check/gst/gstobject.c:
-	  checks: try to fix GstObject unit test on OSX
-	  Seems like we get SIGBUS instead of SIGSEGV here when GLib crashes
-	  where it shouldn't crash (and we even have a unit test for that!).
-
-2009-08-10 12:01:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/pipelines/parse-launch.c:
-	  checks: set pipelines to NULL state in parse-launch unit test
-	  Fixes timeouts in gst_task_cleanup_all().
-
-2009-08-10 11:42:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbus.c:
-	  checks: set pipeline back to NULL state in GstBus unit test
-	  Fixes timeout in gst_task_cleanup_all().
-
-2009-08-10 11:43:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: add some logging before calling gst_task_cleanup_all()
-
-2009-08-08 22:27:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  check: Call gst_task_cleanup_all() in GST_END_TEST
-	  This fixes many unit tests under valgrind that shows
-	  leaking GstTasks that are not really leaked but just
-	  not unreffed by the task thread before the unit test
-	  stopped.
-	  Fixes bug #591045.
-
-2009-08-08 14:47:57 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Remove dead assignments
-
-2009-08-08 14:47:40 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstdebugutils.c:
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	  gst: Remove dead assignments
-
-2009-08-07 02:36:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/pipelines/.gitignore:
-	  gitignore: ignore new queue-error test
-
-2009-08-06 20:40:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/Makefile.am:
-	  check: add internal-check.h to BUILT_SOURCES in attempt to fix the build
-	  For some people the build of libgstcheck was broken because the make
-	  target that creates the internal-check.h file wasn't executed for
-	  some reason. This should hopefully fix this.
-
-2009-08-06 18:38:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* autogen.sh:
-	  autogen.sh: older aclocals don't like -I. so use -I . instead
-
-2009-08-06 18:47:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: add additional checking for writability
-	  Check for metadata writability when setting caps on buffer or when copying
-	  metadata flags. Only enable these extra assertions in git versions.
-	  This should help us find bad elements.
-
-2009-08-04 10:22:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  check: disable unit test support on win32 for now
-	  Until we make the internal libcheck work on windows.
-
-2009-07-19 17:04:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* .gitignore:
-	* libs/gst/check/Makefile.am:
-	  check: fix symbol exporting
-
-2009-07-17 00:46:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	* check-checks.m4:
-	* libs/gst/check/libcheck/check_pack.c:
-	  check: fix issues with 'make distcheck'
-	  Seems to work now, at least on *nix. One of the configure checks
-	  caused these weird issues - but which one?
-
-2009-08-06 17:27:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	* autogen.sh:
-	* check-checks.m4:
-	* configure.ac:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/.gitignore:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.h:
-	* libs/gst/check/libcheck/Makefile.am:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	  check: use private copy of check for libgstcheck
-	  See #577275. Seems to work fine, but doesn't distcheck yet.
-
-2009-07-16 18:39:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/libcheck/Makefile.am:
-	* libs/gst/check/libcheck/check.c:
-	* libs/gst/check/libcheck/check.h.in:
-	* libs/gst/check/libcheck/check_error.c:
-	* libs/gst/check/libcheck/check_error.h:
-	* libs/gst/check/libcheck/check_impl.h:
-	* libs/gst/check/libcheck/check_list.c:
-	* libs/gst/check/libcheck/check_list.h:
-	* libs/gst/check/libcheck/check_log.c:
-	* libs/gst/check/libcheck/check_log.h:
-	* libs/gst/check/libcheck/check_msg.c:
-	* libs/gst/check/libcheck/check_msg.h:
-	* libs/gst/check/libcheck/check_pack.c:
-	* libs/gst/check/libcheck/check_pack.h:
-	* libs/gst/check/libcheck/check_print.c:
-	* libs/gst/check/libcheck/check_print.h:
-	* libs/gst/check/libcheck/check_run.c:
-	* libs/gst/check/libcheck/check_str.c:
-	* libs/gst/check/libcheck/check_str.h:
-	  check: add internal copy of check-0.9.6
-	  Not hooked up yet. See #577275.
-
-2009-08-06 14:11:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  docs: fix Since: tag for new gst_caps_can_intersect() function
-
-2009-07-22 11:24:59 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  utils: use new _caps_can_intersect()
-
-2009-07-22 11:24:08 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: use new _caps_can_intersect()
-
-2009-07-22 09:54:55 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: use new _caps_can_intersect()
-
-2009-07-22 09:38:10 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* win32/common/libgstreamer.def:
-	  caps: add gst_caps_can_intersect()
-	  Often we don't need the result of the intersection. Add a variant that only
-	  tries to intersect. It can break out earlier and does less GValue copying.
-	  API: gst_caps_can_intersect()
-
-2009-07-22 09:24:55 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: only check caps_is_fixed() if they changed
-	  The previous code could call gst_caps_is_fixed() for the same caps many times.
-
-2009-07-21 13:31:13 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: split callback for structure intersect into two functions
-	  We call this separately. there is no much benefit in reusing the callback.
-	  Splitting is let us remove a branch also.
-
-2009-07-21 13:27:09 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  logging: log if we copy caps to be able to track it
-
-2009-07-21 11:32:01 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	  caps: add comments about g_ptr_array size behaviour
-	  Just explain the behaviour to avoid that someone else is wasting time trying to
-	  improve this too.
-
-2009-07-21 11:14:20 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/controller/audio-example.c:
-	  example: unref the clock id
-
-2009-07-21 10:56:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpad.c:
-	  pad: use correct variable in test
-
-2009-07-28 16:13:37 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  registry: add filename to debug message, like elsewhere
-
-2009-07-21 10:38:15 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	  bin: fix compiler warning about unused var when disabling debug logging
-
-2009-08-06 13:29:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: post error message when pausing task
-	  If downstream returns error and upstream has already delivered
-	  everything (including EOS) and will no longer be around to find
-	  out that we paused (and why), post error message.  Fixes #589991.
-
-2009-07-28 12:03:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* tests/check/Makefile.am:
-	* tests/check/pipelines/queue-error.c:
-	  queue: add unit test
-	  Make a downstream element return an error after upstream has already
-	  put all data into queue (including EOS).  As such, upstream
-	  will not be around to pick up the error, so it is up to queue to
-	  act appropriately.  See #589991.
-	  Note there may be downstream fatal errors (e.g. negotiation) that do
-	  not warrant an error message already having been posted.
-
-2009-08-05 18:02:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: clarify _caps_is_equal()
-
-2009-08-05 17:58:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: refactor metadata modifications
-	  Check when we need to touch the metadata of the output buffer after selecting
-	  the output buffer so that we have everything in one place.
-	  Also take flags and timestamp modifications into account.
-
-2009-08-05 17:55:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: only set caps when different
-	  When we have an input buffer with caps and when those caps are different from
-	  the caps we want, only then make a writable copy of the input buffer as the
-	  output buffer and set the caps on that output buffer. This avoids some cases
-	  where we took a subbuffer for setting caps that were the same.
-
-2009-08-05 15:28:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: enable optimisation
-	  When we have the same input as output caps, reuse the input caps object. After
-	  the caps refcounting has been sorted out now, we can finally enable this
-	  optimisation.
-
-2009-08-05 13:48:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstpad.c:
-	  tests: don't set caps on unwritable buffers
-	  Take the ref after setting the caps on a buffer because else the buffer is
-	  techinically not writable.
-
-2009-08-05 13:47:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: get caps after making writable
-	  Get the caps of the buffer after we made the buffer writable. This did not
-	  cause any problems but it's nicer this way.
-
-2009-08-05 13:46:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: fix refcounting problem
-	  Make sure the metadata is writable before setting the caps on a buffer.
-
-2009-08-05 13:44:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: fix refcounting problem
-	  Add some more debug info.
-	  Make sure that the output buffer has writable metadata before we attempt to set
-	  caps on it.
-	  fixes #583999
-
-2009-08-05 13:44:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: add some more debugging in _replace
-
-2009-08-05 13:43:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: Add some more debugging
-
-2009-08-05 13:41:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: small improvements
-	  Unref the target pad after we used it for debugging.
-	  Add some more debug.
-	  Only replace caps when they changed.
-
-2009-07-29 13:46:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: cleanups in position queries
-	  Use existing boolean flag to pass position queries upstream. Also add upstream
-	  queries for the last position queries.
-
-2009-08-05 13:25:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure.ac: fix libxml2 check, which is only needed for xml load/save now
-	  Since the registry doesn't use libxml2 any longer, it's no longer necessary
-	  to disable both xml load/save *and* the registry to get rid of the libxml2
-	  dependency, disabling just xml loading/saving is enough. Fixes #590841.
-
-2009-08-02 14:33:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: rename uninstalled registry file to registry.dat
-	  We're not using the xml registry any longer after all.
-
-2009-08-02 14:28:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: refine search paths for uninstalled plugin modules
-	  Use more refined search paths for our plugin modules. Not only does
-	  this make things much faster in an uninstalled setup, it also makes
-	  sure we're not accidentally using out-of-date plugins built ages
-	  ago as part of a (failed) 'make distcheck' when we forget to clean
-	  up the distcheck build directory.
-
-2009-07-29 23:42:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/design/Makefile.am:
-	  docs: dist GStreamer-1.0 buffer design draft
-
-2009-08-06 06:50:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  taglist: Add new ALBUM_ARTIST tag to the docs
-
-2009-08-04 14:13:34 +0200  John Millikin <jmillikin@gmail.com>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: Add support for ALBUM_ARTIST tag
-	  The "album artist" tag is used when the artist of an entire
-	  album differs from the artist of an individual track; for example,
-	  when a "guest artist" appears on an album, or on compilations.
-	  Fixes bug #590430.
-
-2009-07-29 13:33:11 +0200  Stian Selnes <stian.selnes@gmail.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Query upstream for the position if conversion in PAUSED failed
-	  Fixes bug #590045.
-
-2009-07-28 20:42:20 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Improve debug output in gst_base_transform_acceptcaps()
-	  Fixes bug #589524.
-
-2009-07-22 09:01:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: Don't unset GAP flag if working in passthrough mode
-	  Fixes bug #589314.
-
-2009-08-06 01:43:57 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  back to development -> 0.10.24.1
-
-=== release 0.10.24 ===
-
-2009-08-05 00:51:16 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	  Release 0.10.24
-
-2009-08-04 23:05:27 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2009-08-03 15:31:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbytereader.c:
-	  bytereader: avoid wrap-around in buffer size checks.  Fixes #590622.
-
-2009-07-30 14:41:30 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.24.5 pre-release
-
-2009-07-28 21:15:52 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Get the flushing state with the object lock taken.
-	  Fixes #590056
-
-2009-07-28 21:14:11 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Make sure the CollectData list is up-to-date when reading/setting it
-	  Without this, we risked:
-	  * Checking the flushing state on an unexisting list
-	  * Not setting the flushing state on pads that had just been added
-	  Partially fixes #590056
-
-2009-07-28 21:12:25 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Split out _check_pads into a version without lock taking.
-	  This is so we can use _check_pads in places where we've already taken
-	  the lock in question.
-	  Partially fixes #590056
-
-2009-07-28 15:23:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstconsistencychecker.h:
-	  check: make new GstStreamConsistency structure private
-	  There's no need to have GstStreamConsistency in a public header for
-	  the time being, so make it private. While we're at it, add a gtk-doc
-	  blurb for it though. Re-fixes #588744.
-
-2009-07-24 13:50:19 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.23.4 pre-release
-
-2009-07-24 09:50:19 +0100  Robin Stocker <robin@nibor.org>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't handle SEEKING queries for formats that don't match the one the source operates in
-	  Return FALSE in basesrc's default query handler when we get a SEEKING query for
-	  a format that's not the one the source operates in. Previously (ie. before, in
-	  the git version) we would return TRUE in that case and seekable=FALSE, which
-	  is more correct, but causes backwards compatibility problems. (Before that
-	  we would change the format of the query when answering, which was completely
-	  broken since callers don't expect that or check for it). Since the SEEKING
-	  query is a fairly recent addition, not all demuxers, parsers and decoders
-	  implement it yet, in which case any SEEKING query by an application will
-	  just be passed upstream where it will then be handled by basesrc. Now, if
-	  e.g. totem does a SEEKING query for TIME format and we have a demuxer that
-	  doesn't implement the query, basesrc would answer it with seekable=FALSE in
-	  most cases, and totem can only take that as authoritative answer, not knowing
-	  that the demuxer doesn't implement the SEEKING query. To avoid this, we make
-	  basesrc return FALSE to SEEKING queries in unhandled formats. That way
-	  applications like totem can fall back on assuming seekability depending on
-	  whether a duration is available, or somesuch. Downstream elements doing
-	  such queries are likely to equate an unhandled query with a non-seekable
-	  response as well, so this should be an acceptable fix for the time being.
-	  See #584838, #588944, #589423 and #589424.
-
-2009-07-24 00:41:55 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From fedaaee to 94f95e3
-
-2009-07-20 16:11:02 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  gstregistrybinary: add +1 after error checking
-	  The current code made the error checking pointless by changing -1 to 0 in error
-	  cases. Also don't leak a pad template on error.
-
-2009-07-20 15:51:20 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  0.10.23.3 pre-release
-
-2009-07-20 18:03:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gsttask.c:
-	  tests: make sure the tasks are joined
-	  Call _clean_all() on the task to make sure everything is joined and stopped.
-	  See #589127
-
-2009-07-20 15:44:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: fix taskpool leak
-	  GstTaks does not always unref the taskpool it was created from because it
-	  depends on when the pool provided an ID for joining the task.
-	  Rework some code so that we always unref the pool and optionally join when the
-	  pool provided an id.
-	  Fixes #589127
-
-2009-07-20 13:26:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: make tag queuing threadsafe
-	  See #588745
-
-2009-07-13 09:22:06 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstconsistencychecker.c:
-	* libs/gst/check/gstconsistencychecker.h:
-	  gstcheck: Add a stream consistency checking helper routine. Fixes #588744
-
-2009-07-20 11:04:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: don't unref NULL if we have an early read error
-
-2009-07-12 10:04:01 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: Serialize tags into the dataflow. Fixes #588745
-
-2009-07-16 14:17:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbytereader.c:
-	  docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
-	  Clarify byte reader docs a bit: offset is relative to the current
-	  position of the reader, not to the start of the data. Also, the
-	  examples in both the adapter docs and the byte reader docs have
-	  the mask and pattern arguments swapped (see #587561). Spotted
-	  by Carl-Anton Ingmarsson.
-
-2009-07-16 13:59:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gsttag.c:
-	  tags: only emit a g_warning() for empty tag strings for git versions
-	  For now, don't show a g_warning() for empty tag strings and NULL
-	  tags with non-git versions; we should wait for the fixes in our
-	  plugin modules to make it into a release before we enable this
-	  unconditionally.
-
-2009-07-14 18:59:13 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  0.10.23.2 pre-release
-
-2009-07-14 12:15:05 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstvalue.c:
-	  value: add explanation for shortcut
-
-2009-07-10 20:04:48 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: take size once
-
-2009-07-10 19:17:04 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstvalue.c:
-	  value: fix can_intersect to behave like intersect
-	  Add a quick return if two types are the same. Change the check for the
-	  intersection function to be the same as the one used in intersect(). The
-	  later tries both directions.
-
-2009-07-14 00:04:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  gstinfo: maintain ABI compatibility even if debugging is disabled
-
-2009-07-02 12:40:05 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstvalue.c:
-	  structure: Change NULL and empty string handling
-	  Don't forbid the empty string "" in generic structures, only in taglists.
-	  Properly allow the NULL string by adding special cases for serialising
-	  and deserialising it. prop1=(string)NULL is the NULL string,
-	  prop1=(string)"NULL" is the actual string with the value "NULL"
-
-2009-07-13 12:23:02 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5845b63 to fedaaee
-
-2009-07-13 12:00:47 +0200  Andoni Morales <ylatuya at gmail.com>
-
-	* plugins/elements/gstfilesink.c:
-	  filesink: Fix segfault with MSVC
-	  Don't use deprecated fileno on MSVC but replace with _fileno
-	  Fixes #587052
-
-2009-07-13 09:32:57 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/design/Makefile.am:
-	  docs/design: Update Makefile.am for changed framestep document name.
-
-2009-07-10 19:27:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  tools: the plugin features listed by gst-inspect are typefinders, not types
-
-2009-07-10 18:46:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-buffer2.txt:
-	  docs: add draft for arbitrary buffer metadata idea
-
-2009-07-10 18:35:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-framestep.txt:
-	  docs: more framestep docs out of draft
-
-2009-07-10 18:33:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	  docs: update framestep document
-	  Remove experimental status from the framestep draft.
-
-2009-07-08 15:15:04 +0200  Philip Jägenstedt <philipj@opera.com>
-
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	  tools: Fix compilation if option parsing is disabled
-	  Fixes bug #587976.
-
-2009-07-08 15:10:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: Use g_build_filename() instead of g_strjoin() with /
-	  This makes sure that the generated filenames use the platform
-	  specific directory separator instead of /.
-	  Fixes bug #587973.
-
-2009-07-07 20:13:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  docs: add 'Since' tag for new GST_DEBUG_CATEGORY_GET macro
-
-2009-07-07 00:23:41 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: make it the best of wims and edwards patch.
-	  Check the right flushing flag, but still add it to the pad-list.
-
-2009-06-30 11:26:34 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* win32/common/libgstreamer.def:
-	  info: allow getting other log categories. Fixes #587417
-	  Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
-	  allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
-	  API: GST_DEBUG_CATEGORY_GET
-
-2009-07-06 19:51:57 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: make comment a FIXME comment
-
-2009-07-06 19:50:52 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstminiobject.c:
-	  logging: log object type in message
-
-2009-07-06 19:48:58 +0100  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  logging: use perf category for dropped buffers
-
-2009-06-29 11:26:57 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Don't forward FLUSH_STOP if some input streams are still flushing.
-	  This guarantees that only one FLUSH_STOP event (the last one) will be sent
-	  downstream when a flushing seek is being done through collectpads.
-
-2009-06-24 11:11:35 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Update the cookie when setting ourselves as flushing.
-	  This forces the pad status to be re-evaluated on the next _check_pads().
-
-2009-06-09 14:54:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbus.h:
-	* gst/gstchildproxy.h:
-	* gst/gstelementfactory.h:
-	* gst/gstghostpad.h:
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	* libs/gst/base/gstdataqueue.h:
-	  docs: fix gtk-doc /*< private >*/ marker
-
-2009-06-09 14:48:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefindelement: log probability in debug message
-
-2009-06-30 18:22:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: fix parsing of the step done message
-	  Parse the duration field too.
-
-2009-06-29 11:24:25 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: Use local values in while/for loops, use branch prediction macros
-
-2009-06-29 11:23:31 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	* gst/gstpad.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	* gst/gststructure.c:
-	  Spread branch prediction macros.
-	  These are based on profiling several playback scenarios using playbin2.
-
-2009-06-29 11:20:12 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpad.c:
-	* gst/gstregistrybinary.c:
-	* gst/gstvalue.c:
-	  Use local variables in for/while loops.
-	  This makes the generated code faster since:
-	  * It won't have to read an undirect value (which will most likely be
-	  outside of the L1/L2 cache)
-	  * We know that value never changes (the compiler has no clue that it doesn't).
-
-2009-06-09 19:08:26 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  libs/controller: Set default gst debugging category.
-
-2009-06-29 11:57:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/benchmarks/mass-elements.scm:
-	  tests: fix example
-
-2009-06-29 11:56:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasesink.c:
-	  bufferlist: use faster gst_buffer_list_get()
-	  Use the faster gst_buffer_list_get() to get the first buffer of a list.
-
-2009-06-29 11:55:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: fix example
-	  The _do function now takes user_data in all cases.
-
-2009-06-29 11:46:00 +0200  Ognyan Tonchev <ognyan@axis.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: take timestamp later
-	  Make sure we don't accidentally cast a bufferlist of a buffer and try to take
-	  the timestamp of it.
-	  Refixes #585960
-
-2009-06-29 11:07:00 +0200  Jonas Holmberg <jonas.holmberg at axis.com>
-
-	* gst/gstbufferlist.c:
-	  docs: fix some typos
-
-2009-06-29 11:24:04 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstminiobject.c:
-	* libs/gst/base/gstadapter.c:
-	* win32/common/libgstreamer.def:
-	  logging: add a performace log category
-	  This category can be used to log slow code path and help auditing the
-	  performance. Add FIXME-0.11 to some questionable categories.
-
-2009-06-27 16:34:36 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gststructure.c:
-	  structure: fix int->gint to be in sync with the *.h  and usage
-
-2009-06-26 13:33:50 +0100  Jan Schmidt <jan.schmidt@sun.com>
-
-	* 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:11 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From f810030 to 5845b63
-
-2009-06-26 12:50:53 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  request-pad: tell about ref counts in release_request_pad docs.
-	  It is not too obvious that getting and releasing request pads is not entierly
-	  symetrical regarding to the pad refcount. Add a note about that to the docs.
-	  This might deserve a FIXME-0.11 too.
-
-2009-06-25 11:25:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: don't do things with side effects within a g_assert()
-	  Make the bufferlist stuff work properly when things are compiled
-	  with -DG_DISABLE_ASSERT.
-
-2009-06-24 18:31:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  caps: avoid doing logic in g_assert
-	  Make sure we still do the right thing when glib is compiled without
-	  assertions.
-
-2009-06-22 05:00:54 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Fire the overrun signal on EOS
-	  Fixes startup of some short MPEG files with decodebin2/playbin2
-	  where all the data fits in the multiqueue and EOS arrives before
-	  the group is exposed.
-
-2009-06-24 15:13:37 +0100  Jan Schmidt <jan.schmidt@sun.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From f3bb51b to f810030
-
-2009-03-28 13:59:08 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gststructure.c:
-	  GstStructure: Use direct values for repetitive conditionals (for/while).
-
-2009-06-24 10:45:52 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstminiobject.c:
-	* gst/gstquery.c:
-	  miniobjects: Don't chain up to empty finalize method.
-	  If ever we do anything in mini_object_finalize, we should make sure the 4
-	  core miniobject finalize methods chain back up again.
-
-2009-03-27 20:17:15 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstcaps.c:
-	  gstcaps: Use direct values for repetitive conditionals (for/while).
-
-2009-06-24 09:28:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	* gst/gst.c:
-	  make check: add check for enum type class unrefs in gst_deinit() too
-	  Just because we can really.
-
-2009-06-23 13:44:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* win32/common/libgstreamer.def:
-	  trace: use proper locking in GstTrace
-	  Protect the allocated list of objects with a lock so that trace actually works
-	  reliably.
-	  Shortcut the alloc trace sooner when disabled.
-
-2009-06-23 13:34:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  object: also add pointers to debug
-	  Add the object pointers in the debug info for _replace.
-
-2009-06-23 12:56:59 +0200  Chad Hanna <channa@ligo.caltech.edu>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Add GAP flag support
-	  capsfilter doesn't actually touch the data so we don't want the GAP flag to
-	  be unset by basetransform.
-	  Fixes bug #586566.
-
-2009-06-23 10:05:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: add new byte reader methods
-
-2009-05-22 14:47:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* tests/check/libs/bytereader.c:
-	  bytereader: add a bunch of utility functions for strings and a data dup function
-	  API: gst_byte_reader_dup_data
-	  API: gst_byte_reader_dup_string
-	  API: gst_byte_reader_dup_string_utf8
-	  API: gst_byte_reader_dup_string_utf16
-	  API: gst_byte_reader_dup_string_utf32
-	  API: gst_byte_reader_skip_string
-	  API: gst_byte_reader_skip_string_utf8
-	  API: gst_byte_reader_skip_string_utf16
-	  API: gst_byte_reader_skip_string_utf32
-	  API: gst_byte_reader_peek_string
-	  API: gst_byte_reader_peek_string_utf8
-	  API: gst_byte_reader_get_string
-	  API: gst_byte_reader_get_string_utf8
-	  And some basic unit tests. Fixes #586568.
-
-2009-06-22 18:17:28 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaglist.c:
-	  taglist: fix typo in tag description
-
-2009-06-21 00:26:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tests/check/gst/gstbufferlist.c:
-	  tests: fix crash and leak in bufferlists unit test
-	  Don't access already-freed iterator, makes check-valgrind work and fixes
-	  crash on PPC; unref buffer we're going to steal to make valgrind happy.
-
-2009-06-21 00:09:53 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gst.c:
-	  init: Fix indent, and ref the gst_buffer_list_item_get_type() class
-	  Fix the check tests by reffing the GstBufferList class. Run gst-indent
-	  to make git happy about some existing stuff
-
-2009-06-19 21:03:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: fix broken flags to flag string serialisation
-	  e.g. cdparnoiasrc would show fragment|full for a flags value of 2.
-
-2009-06-19 19:35:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttee.c:
-	  tee: add buffer-list support
-
-2009-06-19 19:24:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.h:
-	  bufferlist: remove old enum from docs
-
-2009-06-19 14:45:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  gstinfo: define __gst_debug_min to LOG_LEVEL_NONE if debugging is disabled
-	  Just in case someone who clearly can't be deterred by any number of leading
-	  underscores uses this very private but still somewhat documented symbol
-	  directly in their code (*cough* qtdemux *cough*).
-
-2009-06-19 15:29:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: Various cleanups
-	  Add new method to iterate a bufferlist without having to allocate an iterator.
-	  Add convenience method for getting an item from the list based on the group and
-	  index.
-	  Remove redundant _do_data callback and method.
-	  Update unit-tests and add some more for the new methods.
-
-2009-06-19 14:10:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	* gst/gststructure.c:
-	  docs: make gtk-doc happy
-
-2009-06-19 13:51:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update .po files after string changes
-
-2009-06-19 13:48:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: clean up some more error and debug messages
-
-2009-06-19 13:42:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaskpool.c:
-	  taskpool: fix unused variable warning in case debugging is disabled
-
-2009-06-19 13:40:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  gstinfo: fix export of GST_CAT_BUFFER_LIST when --gst-disable-debug is used
-	  Move all the categories to export to one single place, so we don't
-	  accidentally update or add vars in one place but not the other.
-
-2009-06-18 16:50:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: use the right flushing flag.
-	  We need to use the pad private flag because the other pad flag is protected with
-	  the pad lock instead.
-
-2009-06-18 16:41:46 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: Properly handle flushing pads.
-	  If a pad is flushing, it should not be considered as either eos or
-	  containing data.
-
-2009-06-18 11:27:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: fix error message
-	  Users should never see the term 'file descriptor', much less a file
-	  descriptor number, in an error message. Put that into the debug
-	  string instead and use the default error message.
-
-2009-06-18 11:49:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfdsink.h:
-	  fdsink: add the new field in the header
-
-2009-06-18 10:55:39 +0200  Benjamin Gaignard <benjamin at gaignard.net>
-
-	* plugins/elements/gstfdsink.c:
-	  fdsink: make fdsink seekable
-	  Implement the same logic as filesink to implement seeking.
-	  Fixes #578908
-
-2009-06-17 16:45:17 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstelement.c:
-	  gstelement: moved the clock unref to the right place
-
-2009-06-17 16:17:27 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstelement.c:
-	  gstelement: unref the clock when the element changes to null state
-
-2009-06-17 00:29:40 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gst.c:
-	  Replaced deprecated win32-compatibility function with undeprecated one.
-	  Fixes #560442.
-
-2009-06-16 18:32:12 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstbin.c:
-	  gstbin: swap the lines of my previous commit
-	  Fixes a bug introduced in my previous commit that released the
-	  clock provider and after used it to create the clock lost message.
-
-2009-06-16 17:51:12 +0200  Josep Torra <n770galaxy@gmail.com>
-
-	* gst/gstbin.c:
-	  gstbin: remove clock references when clock lost happens
-	  Remove reference to clock and clock provider stored in the bin
-	  when the clockprovider element is removed from the bin.
-
-2009-06-16 13:34:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.h:
-	  basesink: add Since tag for new method
-
-2009-06-16 13:32:37 +0200  Branko Subasic <branko.subasic at axis.com>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  basesink: add support for buffer list
-	  Fixes #585960
-
-2009-06-16 11:34:54 +0200  Branko Subasic <branko.subasic at axis.com>
-
-	* gst/gstghostpad.c:
-	  ghostpad: Add support for GstBufferLists
-	  Fixes #585834
-
-2009-06-16 11:21:42 +0200  Christopher Halse Rogers <chalserogers at gmail.com>
-
-	* gst/gstiterator.c:
-	  iterator: Explicitly mention refcounting in docs
-	  Fixes #585938
-
-2009-06-16 08:43:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstutils.c:
-	  gstxml: fix (de)serialisation of properties of type GstStructure
-	  souphttpsrc has a property of type GstStructure, which causes an
-	  assertion when serialising it to xml. Fixes #585137.
-
-2009-06-15 20:11:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstqueue.c:
-	  queue: fix compiler warning
-	  The compiler suggests to add some () to indicate if the && or the || takes
-	  priority, so reflow code a bit so we don't have to add yet another layer
-	  of (). Hopefully this was the intended meaning of the code.
-
-2009-06-11 15:00:52 +0200  Arnout Vandecappelle <arnout@mind.be>
-
-	* plugins/elements/gstqueue.c:
-	  don't lock when min-threshold and max-size conflict.
-	  When min-threshold is set on a queue, it is possible that one of
-	  the minima remains unsatisfied while one of the maxima is already
-	  reached. Therefore, always consider the queue non-empty if it is full.
-	  Fixes #585433.
-
-2009-06-15 18:44:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: make sure we set the next state correctly
-	  When the continue function is scheduled, make sure we set the next state instead
-	  of the pending state.
-	  Add some more debug info.
-	  fixes #585569
-
-2009-06-15 18:44:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstcollectpads.h:
-	  collectpads: fix .h indentation
-
-2009-06-15 18:43:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: add some more debug
-
-2009-06-15 18:42:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	  debug: add some more debug to element and pads
-
-2009-06-14 16:56:32 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
-
-	* gst/gstsegment.c:
-	  segment: fix include order to get config.h before _mingw.h
-	  config.h must always be included before any other includes, either
-	  directly or indirectly via gst_private.h. Fixes #585733.
-
-2009-06-14 16:17:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	* win32/common/libgstreamer.def:
-	  taglist: add functions to create a new taglist with tags in one go
-	  Add functions to create a new tag list and set tags in one go, which
-	  is nice for use in combination with functions that take ownership of
-	  the taglist, such as gst_event_new_tag() or gst_element_found_tags().
-	  API: add gst_tag_list_new_full()
-	  API: add gst_tag_list_new_full_valist()
-
-2009-06-13 14:55:43 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* scripts/git-version.sh:
-	  git-version.sh: make executable
-
-2009-06-13 14:53:24 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* scripts/git-update.sh:
-	* scripts/git-version.sh:
-	  Update scripts/cvs-update.sh to git-update.sh; add git-version.sh
-	  add script to get git versions
-	  first update all, then build
-	  add gnonlin too
-	  specify where to pull from
-	  also update submodule
-	  rename and change cvs-update script to git-update
-
-2009-06-12 18:36:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstbytereader.c:
-	* libs/gst/base/gstbytereader.h:
-	* tests/check/libs/bytereader.c:
-	* win32/common/libgstbase.def:
-	  bytereader: add gst_byte_reader_masked_scan_uint32()
-	  Add a pattern scan function similar to the one recently added to
-	  GstAdapter, and a unit test (based on the adapter one).
-	  Fixes #585592.
-	  API: add gst_byte_reader_masked_scan_uint32()
-
-2009-04-17 17:59:38 +0300  René Stadler <rene.stadler@nokia.com>
-
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	  Fix remaining --disable-gst-debug ABI breakage.
-	  Fixes #579177.
-
-2009-06-12 17:51:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	  filesrc/sink: turn the bus messages into g_warning
-	  Its a programming error.
-
-2009-06-12 15:48:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: fix docs
-
-2009-06-12 13:18:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* libs/gst/base/gstbasesink.c:
-	* tests/examples/stepping/framestep1.c:
-	  stepping: more stepping improvements
-	  Update design doc with step-start docs.
-	  Add eos field to step done message
-	  when stepping in reverse, update the segment time field.
-	  Flush out the current step when we are flushing.
-
-2009-06-10 15:51:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: post step-start
-	  when we clip, also stop the stepping.
-	  Don't do QoS when stepping
-	  Post step-start when queueing and activating the step.
-
-2009-06-10 15:48:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  message: add step-start message
-
-2009-06-11 14:18:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: more efficient value table lookup for fundamental types
-	  Small micro-optimisation: look up value table for fundamental types
-	  via an array dedicated to fundamental types instead of going through
-	  a hash table lookup. Since there can be only 255 fundamental types,
-	  the table size/efficiency trade-off should be acceptable, esp. since
-	  the most commonly-used types are all fundamental types. The size of
-	  the table could probably be minimised further if needed by allocating
-	  the table dynamically and only expanding it on demand.
-
-2009-06-11 13:16:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: don't put GTypes into int variables
-	  GTypes are not ints and as such are not guaranteed to fit into an int
-	  (with the exception of fundamental types), so we really shouldn't put
-	  them into int variables. Even if a rather unlikely obscure corner case,
-	  this has actually been a problem at some point in the past, see commit
-	  99f16655f4cfbc8e06b5972417ba11279083a64e.
-
-2009-06-11 17:03:04 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	  filesrc/sink: improve warning message a bit (wrong state)
-	  Unify and turn those into element warnings.
-
-2009-06-11 14:00:09 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstelementfactory.c:
-	  elementfactory: Fix a compiler warning
-	  Use (gpointer) instead of (gpointer *) to fix a strict-aliasing build warning.
-
-2009-06-11 13:16:29 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	* docs/faq/Makefile.am:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	* docs/manual/Makefile.am:
-	* docs/plugins/Makefile.am:
-	* docs/pwg/Makefile.am:
-	  docs: Bump common, fix the upload logic inclusion
-	  Update the common submodule, and fix the docs upload rules to include
-	  the right makefile snippet from common.
-
-2009-06-09 11:13:04 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: Use the slice allocator for MultiQueueItems
-
-2009-06-10 20:29:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst_private.h:
-	* gst/gstregistrybinary.h:
-	  Make sure config.h is only included once
-	  Fixes build problem on win32 (#585075).
-
-2009-06-10 18:05:47 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstplugin.c:
-	  plugin: add since: tags for the api docs.
-	  The previous related commit added new API.
-	  API: add gst_plugin_get_cache_data, gst_plugin_set_cache_data
-
-2009-06-10 12:02:23 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstplugin.c:
-	  plugin: fix leaks introduced by fix for #584389
-
-2009-06-08 23:43:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* tests/check/gst/gststructure.c:
-	* win32/common/libgstreamer.def:
-	  structure: add gst_structure_*_get*() vararg functions
-	  Add a bunch of vararg getter convenience functions to complement
-	  the vararg setter functions, and a basic unit test. Fixes #534208.
-	  API: gst_structure_get()
-	  API: gst_structure_id_get()
-	  API: gst_structure_get_valist()
-	  API: gst_structure_id_get_valist()
-
-2009-06-09 00:16:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gsttaglist.c:
-	  docs: a few small API doc fixes and additions
-
-2009-06-08 19:33:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  logging: when logging taglists, shorten long buffer dumps
-	  Don't dump hundreds of kB of hexdata into debug logs when converting
-	  taglists containing huge images into a string. Instead, shorten the
-	  buffer data so that the string is still readable and debug logs
-	  stay managable. Can be turned off with GST_DEBUG_OPTIONS=full-tags.
-	  See #584988.
-
-2009-06-09 13:07:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstmultiqueue.c:
-	  multiqueue: check byte range even when we have timestamps
-	  As found by thaytan on IRC.
-	  Also check the byte limit, even if we have timestamps because there might just
-	  not be a time limit.
-
-2009-06-09 12:06:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: update segment start/stop for clipping
-	  When we start stepping, store the start/stop values of the segment before we
-	  install new start/stop values for clipping in non-flushing steps.
-	  for non-flushing steps, update the element start time. For flushing steps, it
-	  does not change because running_time does not advance
-	  Make sure we always perform the stop_stepping operations even when we drop
-	  frames.
-
-2009-06-09 10:25:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: do proper clipping in stepping
-	  Update the stop position of the segment so that we clip correctly.
-	  After clipping in non-flushing mode, rerender the remainder of the buffer.
-
-2009-06-09 10:23:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: make conversion more precise
-	  Make sure the conversion from and the conversion to give the same results.
-
-2009-06-08 15:39:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  utils: gst_util_uint64_scale*() micro-optimisations
-	  Sprinkle G_LIKELY/G_UNLIKELY; add inlined _scale_int_unchecked()
-	  so we don't do some checks twice when calling it from _scale().
-
-2009-06-07 22:49:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/libs/transform1.c:
-	  Remove double semicolons at end of line
-
-2009-06-08 17:39:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	* libs/gst/base/gstbasesink.c:
-	  stepping: do flushing steps correctly
-	  Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
-	  state and skips the data before prerolling again.
-	  Implement the flushing step correctly by invalidating the current step
-	  operation, which would activate the new step operation.
-
-2009-06-08 16:16:27 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: Change awkward wording in a translateable message.
-
-2009-06-08 16:27:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add non-flushing steps
-	  Add support for non-flushing steps and with different rates.
-	  Clear step info when flushing
-
-2009-06-07 23:46:54 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst_private.h:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstregistrybinary.c:
-	* gst/gstregistrybinary.h:
-	* win32/common/libgstreamer.def:
-	  registry: allow plugins to cache extra data in registry. Fixes #570233
-	  Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and
-	  access the cached info or build the cache and store it there.
-
-2009-06-07 22:09:14 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstplugin.c:
-	* win32/common/libgstreamer.def:
-	  registry: don't recreate features on first use. Fixes #584389
-	  The first time one calls gst_element_factory_make(), gst recreates the plugin
-	  feature and the element factory. As a side effect we ref the class to fill
-	  in detail we already have filled from the registry cache. This patch changes
-	  the behaviour to just update the existing entries. The factory is now attached
-	  to the type and set in gst_element_base_class_init().
-
-2009-06-07 22:20:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	  tests: conditionally compile the streams example
-	  Detect pthreads.h in configure.ac
-	  Only compile the streams example when pthreads.h is present.
-	  Fixes #585039
-
-2009-06-07 17:32:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: remove type checks and redundant code
-
-2009-06-07 15:43:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  value: fix fraction range lcopy function
-	  This function seems to be broken for 3.5 years. Luckily nobody ever tried to
-	  make a fraction range object property...
-
-2009-06-07 15:35:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstvalue.c:
-	  gstvalue: performance improvements
-	  Add a GType->GstValueTable hashtable mapping.
-	  Avoid _get_type() multiple times when we can.
-	  Use GSlice for fraction range dynamic memory
-	  Add G_LIKELY when we can
-	  Improve lookup of the value table using the hashtable
-
-2009-06-07 14:30:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structure: no need to clear on init
-	  We don't need to clear the field on init because we will do that again before we
-	  are going to use the field later.
-
-2009-06-05 20:57:05 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	  gststructure: Fix some memory leaks. Sprinkle G_LIKELY/UNLIKELY
-	  Fix some memory leaks shown by the new serialisation/deserialisation unit
-	  test. Split the gst_string_wrap function in gstvalue.c into components and
-	  use them to make gst_string_take_and_wrap, which takes ownership of the
-	  string, avoiding a strdup.
-	  Add some G_LIKELY/UNLIKELY, and clean up some leaks in error paths.
-
-2009-06-05 11:37:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: reply to QUERY_SEEKING with original format.  Fixes #584838.
-
-2009-06-04 19:44:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  configure: remove AC_C_INLINE and update win32 files to git
-	  Remove AC_C_INLINE check, so we don't end up with an #undef inline in
-	  config.h, which causes problems with some versions of MSCV apparently.
-	  GLib defines inline for us in a suitable way already anyway.
-	  Fixes #584835.
-	  While we're at it, also update the other win32 files to git (bump
-	  version, add new defines and enums).
-
-2009-06-04 18:26:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	  ghostpad: avoid excessive notify for caps
-	  Avoid an object property notify if the caps on the other pad were already
-	  set (and thus notified).
-
-2009-06-04 17:27:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix clipped start/stop after step
-	  Use the segment helpers to get a more accurate clipped start/stop position after
-	  a stepping operation ended.
-
-2009-06-04 12:34:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use more correct segment methods
-	  Use the more correct new segment methods for updating the segment before and
-	  after a step.
-
-2009-06-04 12:48:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: add gst_segment_set_running_time
-	  Added new method for closing the segment to a specific running time.
-	  API: GstSegment::gst_segment_set_running_time()
-
-2009-06-04 00:37:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update .po files for string changes
-	  This makes sure that people who get themselves a fresh checkout
-	  don't immediately have changed *po files after running make, which
-	  would cause a bit of hassle next time the files are updated. Better
-	  to keep them up-to-date when strings change.
-
-2009-06-04 00:54:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsterror.c:
-	  errors: reword state change failed error message and remove bugzilla link
-	  Reword this message a bit to make it clearer what it means, namely that
-	  the state change may have failed for good reasons, but that the element
-	  just failed to post a proper error on the bus. This is not an internal
-	  GStreamer bug, and we really don't need people to flood bugzilla with
-	  bug reports if one such plugin bug ever makes it into the wild.
-
-2009-06-04 00:29:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: refer to element, pad, or object in some message strings
-	  Revisit these strings now that the change regarding the message source
-	  object in gst_element_found_tags_for_pad() got reverted. Try to refer
-	  explicitly to what kind of element it is (element, pad, etc.) in some
-	  cases, which is nicer than having to deduce this info (and we can
-	  re-use the already existing translated strings for the most common
-	  case). It also makes for better example code, since it's clear now
-	  that the message source object doesn't have to be an element.
-
-2009-06-03 21:10:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.h:
-	  API: add GST_MESSAGE_SRC_NAME macro
-	  Add GST_MESSAGE_SRC_NAME macro that always returns a non-NULL string.
-	  Useful for debugging and logging purposes.
-
-2009-06-03 19:06:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstsegment.c:
-	* gst/gstsegment.h:
-	* tests/check/gst/gstsegment.c:
-	* win32/common/libgstreamer.def:
-	  segment: add method for converting to position
-	  Add gst_segment_to_position() that converts a running_time to a position in the
-	  segment. A faulty variant of this function is currently used in inputselector
-	  but we'll need it for frame stepping too.
-	  API: GstSegment::gst_segment_to_position()
-
-2009-06-03 15:39:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink; handle EOS correctly.
-	  Handle EOS and buffers without a timestamp gracefully.
-	  Remove a warning that is not so much a warning now anymore.
-
-2009-06-03 09:45:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* autogen.sh:
-	* common:
-	* configure.ac:
-	  Revert "go back to allowing gettext 0.11.5, but don't mix with libtool 2.2"
-	  This reverts commit 31c09d738ce7f47bff9d292996e9489c275e55a1.
-	  Reverting this, since it breaks autogen.sh for me on debian sid.
-	  Failure is: "libtool 2.2 requires autopoint 0.17 or higher" even though
-	  0.17 was found.
-
-2009-06-03 09:41:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* autogen.sh:
-	  Revert "only update submodule when it is not on a specific branch"
-	  This reverts commit 93b83333aad519c5555156576f0baa3be7b263f3.
-	  Reverting since this fails on a fresh checkout. Also, we shouldn't
-	  depend on possibly translated strings.
-
-2009-06-03 01:56:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manual/highlevel-components.xml:
-	  docs: fix up reference to gst-launch-0.8
-	  Also mention decodebin2, uridecodebin, and playbin2
-
-2009-06-03 10:39:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: forget previous times when stepping
-	  When we start a flushing step operation, forget about the previous stream time
-	  so that the position reporting works correctly.
-
-2009-06-03 01:25:26 +0200  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	* common:
-	* configure.ac:
-	  go back to allowing gettext 0.11.5, but don't mix with libtool 2.2
-
-2009-06-03 01:01:57 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* autogen.sh:
-	  only update submodule when it is not on a specific branch
-
-2009-06-02 13:45:52 -0700  David Schleef <ds@schleef.org>
-
-	* tools/gst-launch.c:
-	  tools: Set pipeline to PAUSED before waiting for main loop idle
-	  When it is shutting down a pipeline after ctrl-c, set pipeline to
-	  paused before waiting for the main loop to complete all pending
-	  transactions.  Fixes #584657.
-	  If some part of the pipeline is generating signals or idle functions
-	  at a fast rate, waiting for a main loop iteration may never return.
-
-2009-06-02 18:36:10 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gst_private.h:
-	* gst/gststructure.c:
-	* gst/gstvalue.c:
-	* tests/check/gst/gststructure.c:
-	  structure: fix serialisation of nested structures.
-	  Use string_warp/unwrap to escape delimiters, otherwise deserialisation fails.
-	  Also move GST_ASCII_IS_STRING to private header to avoid keeping it in sync.
-	  Also use '\0' when terminating a string for better readability.
-
-2009-06-02 15:37:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix regression in unit tests
-	  Store the timestamp of the buffer after prerolling. While we are prerolled we
-	  want to report the position of the segment start value.
-
-2009-06-01 20:26:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: widen log level strings to take into account the new MEMDUMP
-
-2009-06-01 19:37:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: post a warning on excessive framedrops
-	  When we go into emergency rendering, post a warning informing the user about
-	  this fact.
-
-2009-05-31 19:10:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: more stepping in reverse
-	  Fix stepping and position reporting in reverse playback.
-
-2009-05-29 16:06:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: use start_time as the step start
-	  Use the start_time of the element as the point from where the step operation
-	  starts. This fixes stepping in all paused states.
-
-2009-05-19 19:45:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: catch step cases in _wait_preroll()
-	  When a subclass is blocking in _wait_preroll() in the _render method, make sure
-	  we can unlock the subclass and detect this return value from the render method.
-
-2009-05-19 10:50:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: more stepping in reverse fixes
-
-2009-05-18 18:41:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: small cleanups
-
-2009-05-18 15:48:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* libs/gst/base/gstbasesink.c:
-	* tests/examples/stepping/framestep1.c:
-	  framestep: implement backwards framestep
-	  Update framestep document, we want to pass the flush flag in the step-done
-	  message.
-	  Add flush flag to the gstmessage.
-	  Update examples to use the new step-done message api.
-	  Implement framestep with playback rates < 0.0 too.
-
-2009-05-15 15:25:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: add framestepping in time
-
-2009-05-15 15:24:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/stepping/framestep1.c:
-	  examples: step in time as well
-
-2009-05-15 12:02:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/stepping/framestep1.c:
-	  example: print step_done message and sync
-	  Dump the step_done message contents.
-	  Sync against the clock when going to PLAYING.
-
-2009-05-15 12:05:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: keep track of stepped time
-	  Pass running_time around so that the stepping code can calculate the elapsed
-	  time correctly.
-
-2009-05-14 19:29:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: move stuff around, more stepping
-	  Make start and stop_stepping methods and move their invocation in the right
-	  places.
-	  Perform the atual stepping operation where we have full context about the
-	  timestamps.
-
-2009-05-11 18:56:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	* tests/examples/stepping/.gitignore:
-	* tests/examples/stepping/Makefile.am:
-	* tests/examples/stepping/framestep1.c:
-	  Add frame stepping in PAUSED example
-
-2009-05-11 18:56:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: first stab at frame stepping in PAUSED
-	  Unlock the prerolled frame and recheck if we need to step.
-	  Keep a simple counter for the frames we're about to skip while stepping and
-	  preroll/post step_done when stepping finished.
-
-2009-06-01 12:19:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* win32/common/libgstreamer.def:
-	  add new API for framestepping
-	  Add new STEP event and methods for creating/parsing the event
-	  Update design docs.
-	  Add new STEP_DONE message and method to create/parse.
-	  API: GstEvent::gst_event_new_step()
-	  API: GstEvent::gst_event_parse_step()
-	  API: GstMessage::gst_message_new_step_done()
-	  API: GstMessage::gst_message_parse_step_done()
-
-2009-06-01 10:05:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	  structures: don't leak invalid or empty strings when we warn
-	  Fixes minor memory leak in unit tests caused by the recent changes.
-	  Since we're expected to take ownership of the GValue in the structure
-	  field struct here, we need to unset it if we don't use it.
-
-2009-06-01 11:08:31 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/libs/controller.c:
-	  controller: add test for cubic int. and too few control points
-	  Added another tests to check some worries in Bug #582564.
-
-2009-05-28 12:31:08 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstfakesrc.c:
-	  fakesrc: add a FIXME comment for blocksize vs. size-max property issue
-
-2009-05-31 21:27:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	  identity: hack around g_object_notify() bug by protecting it with a lock
-	  Out-of-band events might lead to us calling g_object_notify() from a
-	  non-streaming thread, which can cause crashes if g_object_notify() is
-	  being called from the streaming thread at the same time. See #554460.
-
-2009-05-31 22:37:59 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/controller.c:
-	  controller: use real world number in benchmark
-
-2009-05-31 22:37:03 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistry.c:
-	  registry: fix comment formatting
-
-2009-05-30 20:36:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	* tests/check/Makefile.am:
-	* tests/check/elements/fakesink.c:
-	  fakesink: hack around crasher bug in g_object_notify() for out-of-band events
-	  GObject may crash if two threads do concurrent g_object_notify() on the same
-	  object. This may happen if fakesink receives an out-of-band event such as
-	  FLUSH_START while processing a buffer or serialised event in the streaming
-	  thread. Since this may happen with the default settings during a common
-	  operation like a seek, and there seems to be little chance of a timely fix
-	  in GObject (see #166020), we should hack around this issue by protecting all
-	  of fakesink's direct g_object_notify() calls with a lock.
-	  Also add unit test for the above.
-	  Fixes #554460.
-
-2009-05-31 16:17:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  taglists: make _get_{string|pointer} return FALSE for NULL values
-	  Make gst_tag_list_get_string() return FALSE for NULL strings and
-	  empty strings, and gst_tag_list_get_pointer() return FALSE for
-	  NULL pointers, like we do with dates and buffers.
-	  Fixes #560345.
-
-2009-05-30 20:50:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gststructure.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gsttag.c:
-	  taglists: warn if someone tries to add empty or NULL string tags to a taglist
-	  Also warn if an element or application tries to add a field with an
-	  empty string to a structure (NULL strings are still needed and
-	  allowed though) and do all those checks in the right function.
-	  Fixes #559643.
-
-2009-05-29 18:22:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquery.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* win32/common/libgstreamer.def:
-	  structure: add gst_structure_id_new() convenience function
-	  Add convenience wrapper for gst_structure_id_empty_new() plus
-	  gst_structure_id_set() and use it in a few places.
-	  API: gst_structure_id_new()
-
-2009-05-29 18:00:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstevent.c:
-	* gst/gstmessage.c:
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	* gst/gstquery.c:
-	* gst/gsttaglist.c:
-	  micro-optimisation: use GST_QUARK in more places
-	  Use gst_structure_id_empty_new() in combination with GST_QUARK
-	  rather than gst_structure_id_new() when creating message, event,
-	  query and taglist structures. Mostly just because we can.
-
-2009-05-29 16:04:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: reset start_time in lost state
-
-2009-05-29 13:03:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	* gst/gstpipeline.c:
-	  docs: update element an pipeline docs
-
-2009-05-29 12:48:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-TODO.txt:
-	  docs: remove a TODO item that is fixed now
-
-2009-05-29 12:21:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* tests/check/gst/gstpipeline.c:
-	  pipeline: deprecate old methods, fix test
-	  Deprecate the old _set_stream_time and _get_last_stream_time methods because
-	  they are now equivalent to the better named _set/_get_start_time.
-
-2009-05-28 16:30:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	  pipeline: use START_TIME to keep track of time
-	  Use the element START_TIME to keep track of the running time when the pipeline
-	  paused so that it can be used to restore the base_time.
-	  Take the start_time before setting the children to PAUSED so that we can
-	  distribute the start_time to the children.
-
-2009-05-28 15:40:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: set the base_time and start_time better
-	  Simply set the start_time and base_time on the element instead of calling the
-	  setters.
-
-2009-05-27 11:35:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: make the bin set the start_time on elements
-	  Set the start_time of the bin on the elements when they are added to the
-	  pipeline and when a state change happens.
-
-2009-05-26 11:53:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: add start_time field an methods
-	  Add a start_time field and some methods. The start_time will contain the
-	  running_time of when the element last went to paused. This time can be user to
-	  report the position in PAUSED but also to do more correct clipping and
-	  stepping later.
-
-2009-05-28 22:02:21 +0200  Arnout Vandecappelle <arnout@mind.be>
-
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  adapter: fix _masked_scan_uint32() at boundaries
-	  gst_adapter_masked_scan_uint32 could return values smaller than offset
-	  if the first byte(s) of the mask are 0 and the pattern matches the
-	  beginning of the adapter.
-	  Added examples to documentation of gst_adapter_masked_scan_uint32().
-	  Also added some more masked boundary tests.
-	  Fixes #584118
-
-2009-05-28 16:36:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  pad: add pad private structure
-	  Add pad private structure and move the new chainlistfunc into the private
-	  struct. This avoids ABI breakage and allows us to expand in the future.
-
-2009-05-27 16:34:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  Add missing symbol to the win32 exports
-	  This was accidentially removed by my last commit.
-
-2009-05-27 16:17:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  buffer: avoid memory leaks
-	  Avoid leaking the caps of the dest buffer and avoid doing needless caps
-	  refs.
-	  When the source and target buffers are the same, return immediatly.
-
-2009-05-27 14:32:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstutils.c:
-	* win32/common/libgstbase.def:
-	* win32/common/libgstreamer.def:
-	  API: Add gst_message_{new,parse}_tag_full() to get/set the source pad
-	  Fixes bug #582588.
-
-2009-05-27 14:06:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  Revert "element: Set the originating pad as message source in gst_element_found_tags_for_pad ()"
-	  This reverts commit bebfde75027e975b7e7c74c6358c5be83ea4ac9f.
-	  This change shouldn't be done in a stable release series as
-	  applications are actually expecting the sender to be an
-	  GstElement. One example is totem.
-
-2009-05-26 11:35:49 +0100  Jan Schmidt <jan.schmidt@sun.com>
-
-	* common:
-	  Update common
-
-2009-05-26 10:41:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  Fix 'make distcheck'
-	  The check-enum-gettypes rule didn't work for 'make distcheck' since
-	  it makes assumptions about the location of the source files from the
-	  current working directory which isn't true during distchecking.
-
-2009-05-26 10:38:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/manuals.mak:
-	  manuals.mak: attempt to make 'make distcheck' work with -jN
-	  Attempt to fix the 'cannot create regular file build/image.entitites:
-	  file exists' error I got.
-
-2009-05-25 23:58:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  docs: fix cdparanoia example pipeline in gst-launch man page
-
-2009-05-25 18:44:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix typo in comments
-
-2009-05-25 17:43:32 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/examples/streams/Makefile.am:
-	  dist: Fix the name of the header to dist: testrtpool.h, not rtpool-test.h
-
-2009-05-25 17:03:05 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Update common
-
-2009-05-25 16:54:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	  clock: remove assertion
-	  Remove an assertion, this is not really an error in all cases.
-	  Fixes #582010
-
-2009-05-25 16:21:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  clock: enable monotonic clock when we can
-	  Enable the monotonic clock by default when we can.
-	  Fixes #583554
-
-2009-05-25 14:52:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-klass.txt:
-	  docs: add Image to draft klass documentation
-
-2009-05-25 13:03:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  pad: keep task ref before releasing the lock
-	  Keep a ref to the task on the pad so that a concurrent stop can stop and join
-	  the task.
-
-2009-05-25 11:56:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  gsttask: avoid join to return early
-	  Unset the running flag after we released the lock for posting the stream-status
-	  message. If we set the running flag to FALSE too early, the join method will
-	  just continue without waiting for the message to be posted, leading to potential
-	  crashes.
-
-2009-05-24 23:14:26 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpreset.c:
-	  preset: fix update rule
-	  Only update the preset from system, if we had a preset before and system
-	  version is newer.
-
-2009-05-22 23:47:30 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/.gitignore:
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/controller.c:
-	  controller: add a benchmark to verify the switch to gsequence
-
-2009-05-22 23:50:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/examples/controller/audio-example.c:
-	  controller: add more error handling to example
-
-2009-05-22 23:14:41 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  registry: don't free node-date and deref again. Fixes #580579
-	  When writing a cache chunk fails, we were freeing the node and jump to a final
-	  cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
-	  code in fail_free_list. (sorry for committing wrong fix before).
-
-2009-05-22 23:10:00 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  registry: don't free node-date and deref again. Fixes #580579
-	  When writing a cache chunk fails, we were freeing the node and jump to a final
-	  cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
-	  code in fail_free_list.
-
-2009-05-22 14:17:56 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: add G_LIKELY and join two if for same condition
-	  A G_LIKELY for the sequence!=NULL checks. Join two ifs to an if-else. Add
-	  indent guides to keep indent form breaking the function declaration
-
-2009-05-22 12:57:10 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	  gsttypefindhelper: Fix indentation
-
-2009-05-22 12:24:22 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstclock.c:
-	* gst/gstmessage.c:
-	* gst/gstpad.c:
-	* gst/gstquery.c:
-	* gst/gsttask.c:
-	  docs: fix gtk-doc warnings
-	  Move MT safety to main description (it does not belong to Return: or Since:
-	  statement). Add a few missing return docs. Downgrade a normal comment froma doc
-	  comment. Fix a doc header to only contain symbol name.
-
-2009-05-22 10:19:36 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From d3a8fab to 888e0a2
-
-2009-05-22 09:51:44 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/examples/streams/Makefile.am:
-	  dist: Add rtpool-test.h to the sources list so it gets disted.
-	  Fixes the distcheck
-
-2009-05-22 09:44:25 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/benchmarks/.gitignore:
-	  gitignores: Ignore the clockstress benchmark binary
-
-2009-05-22 09:41:36 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  controller: Silence a warning from the GSequence being NULL.
-	  Fix a warning that occurs when the self->priv->values is NULL and
-	  the code tries to retrieve an iterator from it. The warning was showing
-	  up in the checks for the volume element.
-
-2009-05-22 09:33:02 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstelement.c:
-	* gst/gstmessage.c:
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	* gst/gstutils.h:
-	  docs: Fix up some documentation warnings.
-	  Since: tags should always be the last thing in a doc block, apparently.
-	  Add some Returns: descriptions to some recent functions.
-
-2009-05-21 17:32:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstpipeline.c:
-	  docs: update docs for stream_time->running_time
-	  Change some instances where we wrongly refer to stream time where it should have
-	  been running time.
-
-2009-05-21 10:57:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: don't use G_GUINT32_FORMAT in translatable string
-	  xgettext doesn't handle this very well. Fixes #583419.
-
-2009-05-20 17:07:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* autogen.sh:
-	  autogen.sh: can remove the -Wno-portability from here now
-	  since we added it to configure.ac.
-
-2009-05-20 22:18:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: improve the flush function
-	  Remove a compare and branch from flush.
-
-2009-05-20 17:24:19 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	  controller: fix assertion when freeing the control source
-
-2009-05-20 12:48:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: potentially save a memcpy in _take
-	  Directly use the assembled_data in _take() functions when we can instead of
-	  copying it out.
-
-2009-05-20 11:36:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: micro optimisations
-
-2009-05-20 11:12:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: avoid comparisions in fast path
-	  Small tweaks to reduce the number of useless compares in loops.
-
-2009-05-20 10:28:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/adapter.c:
-	  tests: one more adapter test
-
-2009-05-20 10:27:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: avoid branch in copy code
-
-2009-05-20 10:56:11 +0300  Hannes Bistry <bistry@informatik.uni-hamburg.de>
-
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	  loadsave: fix requestpad handling and serialisation order.
-	  Support request pads when loading. Reverse pad serialisation order to
-	  preserve it when recreating the pipeline.
-
-2009-05-20 00:45:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: add new symbol
-
-2009-05-20 00:44:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  docs: add new symbol to docs
-
-2009-05-20 00:37:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	* tests/check/libs/adapter.c:
-	  adapter: add _masked_scan_uint32
-	  Add a reasonably optimized new gst_adapter_masked_scan_uint32() function
-	  to scan the adapter for a pattern after applying a mask.
-	  Add some unit tests.
-	  API: GstAdapter::gst_adapter_masked_scan_uint32()
-	  Fixes #583187
-
-2009-05-19 22:13:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: more optimisations
-	  Remove duplicate copy code (_peek_into and _copy) and make a unified
-	  optimized copy function.
-
-2009-05-19 17:12:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: pass -Wno-portability to automake to suppress warnings
-	  GNU make is required, no point pretending otherwise.
-
-2009-05-18 01:00:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstformat.h:
-	  docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented
-
-2009-05-17 10:46:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  gstclock: Fix ABI breakage on 32 bit architectures
-	  The padding of GstClock is a GstClockTime and not a
-	  gpointer, so adding a pointer requires the padding
-	  size to be changed depending on the pointer size.
-	  Use an union instead.
-	  Fixes bug #582878.
-
-2009-05-15 15:24:40 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>
-
-	* gst/gstvalue.h:
-	  [gstvalue] adds safety parenthesis to macros missing them.
-
-2009-05-15 14:42:48 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>
-
-	* gst/gstutils.h:
-	  [gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.
-	  Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros.
-	  Fixes #582708.
-
-2009-03-19 11:37:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	  clock: use seqlocks to parallellize readers
-
-2009-04-16 15:53:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/gstclockstress.c:
-	  stress: add a clock stresstest
-	  Add a stresstest for gst_clock_get_time().
-
-2009-05-15 11:00:53 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/design/Makefile.am:
-	* gst/Makefile.am:
-	  Makefile.am: update for added/moved/removed files that weren't dist-ed.
-
-2009-05-12 11:29:21 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/release:
-	  docs: Release script modifications
-
-2009-05-14 22:11:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/gstinterpolationcontrolsource.c:
-	* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	  controller: Use ordered GSequence instead of GList
-	  This makes lookups and insertions O(log n) instead of
-	  always O(n) for insertions and O(n) in worst case for
-	  lookups.
-	  Fixes bug #582564.
-
-2009-05-14 12:30:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-ghostpads.txt:
-	* docs/design/part-latency.txt:
-	* docs/design/part-missing-plugins.txt:
-	* docs/design/part-stream-status.txt:
-	  docs: rename and delete some design docs
-
-2009-05-14 12:30:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  gst-launch: Print the path string for message sources
-	  This reduces confusion if the message source is a pad
-	  and only "src" is printed as source.
-
-2009-05-14 12:25:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  element: Set the originating pad as message source in gst_element_found_tags_for_pad ()
-	  Fixes bug #582588.
-
-2009-05-14 11:36:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* win32/common/libgstreamer.def:
-	  element: add gst_element_lost_state_full()
-	  Add a gst_element_lost_state_full() with an extra argument to control
-	  distribution of a new base_time. We will need this for flushing step
-	  operations.
-	  API: GstElement::gst_element_lost_state_full()
-
-2009-05-13 23:52:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: don't use realloc, it does a memcpy
-	  Don't use realloc to grow the scratch area because we don't want the memcpy the
-	  old useless data into the new area before we write our new stuff in it.
-
-2009-05-13 23:38:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-trickmodes.txt:
-	  docs: update trickmode document
-
-2009-05-13 22:51:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: use g_realloc for resizing the buffer
-	  Use g_realloc for resizing the internal buffer instead of a
-	  less fancy _free/_malloc pair.
-
-2009-05-13 21:35:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: move new member to private struct
-	  Move the new members to a private struct because we don't have enough padding
-	  anymore on 32-bits platforms.
-
-2009-05-13 18:50:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: update some docs
-
-2009-05-13 17:09:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/adapter.c:
-	  tests: add another test for adapter timestamps
-
-2009-05-13 16:48:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/libs/adapter.c:
-	  tests: add new timestamp unit test
-
-2009-05-13 16:26:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstbase.def:
-	  defs: add new symbol
-
-2009-05-13 16:09:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: add method to keep track of timestamps
-	  Keep track of the timestamp and offset associated with the current head of the
-	  adapter.
-	  API: GstAdapter::gst_adapter_prev_timestamp()
-
-2009-05-13 16:20:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  adapter: small cleanups
-
-2009-05-13 11:03:27 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: show more pad-details
-	  Show pad activation mode and pad-flags inside the pad. Write down some ideas
-	  about how we could improve the caps layout.
-
-2009-05-13 00:29:57 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  debugutils: layout improvement
-	  dot does not take the head/tail labels into account. For unfixed caps they get
-	  quite large. Double the padding to make it sort of readable in more cases. Also
-	  make normal font bigger and caps-label font smaller to increase our luck.
-
-2009-05-12 21:00:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* Makefile.am:
-	  checks: check for enum types not class_ref'ed in gst_init() in 'make check'
-
-2009-05-12 20:58:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gst.c:
-	  Initialise some more types in gst_init(), esp. the new enum types
-	  Possibly fixes GObject class creation/unref race conditions when
-	  creating the last-message string in fakesink for events with
-	  structures that have fields with these enum types.
-
-2009-05-12 20:56:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  systemclock: remove duplicate _get_type() function for GstClockType
-	  Remove the static gst_clock_type_get_type() function in the
-	  systemclock code in favour of the public one in gstenumtypes.c.
-
-2009-04-22 10:53:37 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.c:
-	  ghostpad: remove deprecated API
-	  _internal_link_function() is deprecated and _iterate_internal_links_function()
-	  is already provided.
-
-2009-04-21 11:33:43 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/parse/grammar.y:
-	  parse-launch: allow specifying GstElement properties via gst_parse_bin_from_description
-	  If deserializing a property fails, check if the value type is a string and if so
-	  attempt to create a bin from the string value. This allows to e.g. specify
-	  audio-sink/video-sink for playbin on gst-launch commandline.
-
-2009-05-12 17:29:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-bufferlist.txt:
-	  docs: add some docs about buffer lists
-
-2009-05-12 16:18:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  bufferlist: make objects opaque
-
-2009-05-12 15:33:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbufferlist.c:
-	  bufferlist: fix a comment
-
-2009-05-12 13:10:55 +0200  Jonas Holmberg <jonas.holmberg at axis.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: hook up the pad functions
-	  Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
-	  for the simple buffer case, if it does after doing some benchmarks, we can
-	  decouple it later.
-	  Fixes #572285
-
-2009-05-12 12:08:56 +0200  Jonas Holmberg <jonas.holmberg at axis.com>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/.gitignore:
-	* tests/check/gst/gstbufferlist.c:
-	* win32/common/libgstreamer.def:
-	  bufferlist: add docs/build/debug/unittest
-	  See #572285
-
-2009-05-12 11:51:37 +0200  Jonas Holmberg <jonas.holmberg at axis.com>
-
-	* gst/gstbufferlist.c:
-	* gst/gstbufferlist.h:
-	  bufferlist: add bufferlist code
-	  Buffer lists are a means to manage disjoint buffers as one buffer. It's also
-	  possible to put many of those buffers into a list.
-	  The idea is that when support is added to various elements, we will be able to
-	  more efficiently slice and dice buffers, reduce the amount of memcpy and also
-	  reduce data passing overhead.
-	  The implementation is kept simple on purpose, reusing all of the memory
-	  management features we have for miniobjects and buffers.
-	  Access to the bufferlist object is done with an iterator, which allows for
-	  efficient iteration and modification of the list.
-	  See #572285
-
-2009-05-11 07:49:34 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: copy new buffer flags when copying metadata.
-
-2009-04-27 10:13:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstadapter.c:
-	* tests/check/libs/adapter.c:
-	  adapter: optimize taking the headbuffer
-	  When a are requested to take a buffer from the adapter that is exactly the
-	  headbuffer, don't make a subbuffer of it but return that head buffer.
-	  Add a unit-test for this new optimisation.
-
-2009-05-05 17:41:24 +0200  Arnout Vandecappelle <arnout@mind.be>
-
-	* plugins/elements/gsttypefindelement.c:
-	  typefind: don't leak the force-caps property
-	  Fixes #581321
-
-2009-04-28 19:20:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: fix posting of async-start messages
-	  When an element lost its state but was busy doing a state change, still post the
-	  async-start message with the base_time reset flag or else we might end up with
-	  an old base_time.
-	  this can happen when a sink is goin async to paused and then a flushing seek is
-	  performed. This would cause the base_time to remain unmodified because the
-	  async-start message was not sent.
-
-2009-05-10 17:28:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  Add new functions to the win32 exports
-
-2009-05-10 11:17:27 +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 16:37:37 +0200  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	  API: Add gst_plugin_register_static_full()
-	  This is mainly useful for bindings that need to provide
-	  some additional user data to the registration function.
-	  Fixes bug #545787.
-
-2009-05-07 16:01:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* plugins/elements/gstfilesrc.c:
-	  filesrc: Improve debugging a bit on invalid URIs
-
-2009-05-07 10:36:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  docs: Add new functions to the docs
-
-2009-05-07 09:31:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	  tags: API: Add functions to add single tags to GstTagList or GstTagSetter
-	  The new functions are gst_tag_setter_add_tag_value()
-	  and gst_tag_list_add_value()). This fixes bug #581198.
-
-2009-05-07 09:28:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gsturi.c:
-	  GstURIHandler: Use get_type_full() vmethod if specified instead of get_type()
-	  This fixes bug #581281 and makes it easier for bindings to
-	  implement GstURIHandlers. get_protocols_full() was already used
-	  like this.
-
-2009-05-12 01:48:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update .po files for new strings from container-format tag
-
-2009-05-12 01:30:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/random/release:
-	  docs: small update to release docs
-
-2009-05-12 01:13:02 +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 00:47:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  configure: bump the GLib requirement to GLib >= 2.16
-	  as per the New Regime (see wiki).
-
-2009-05-12 00:09:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst_private.h:
-	* gst/gstregistryxml.c:
-	  xmlregistry: remove the old xml registry
-	  No point in keeping it around really. Fixes #577926.
-
-2009-05-07 16:08:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  tags: add a tag for the container format
-	  API: add GST_TAG_CONTAINER_FORMAT
-
-2009-05-08 16:28:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: fix debug message
-	  Make the debug message show what's actually happening (the message
-	  replaced here is not necessarily of the same type as the one that
-	  replaces it).
-
-2009-05-12 00:34:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  GstTask: fix compilation
-
-2009-04-24 19:32:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/rtpool-test.c:
-	  tests: set the latency-time to something low
-
-2009-04-24 13:55:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/rtpool-test.c:
-	* tests/examples/streams/testrtpool.c:
-	  tests: improve the example
-
-2009-04-24 12:35:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	* tests/examples/streams/.gitignore:
-	* tests/examples/streams/testrtpool.c:
-	* win32/common/libgstreamer.def:
-	  TaskPool: remove _set_func()
-	  Remove the static function set on the TaskPool before _prepare() is called and
-	  allow for assigning a function to a Task when we _push().
-	  Update the examples
-
-2009-04-23 19:42:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/Makefile.am:
-	* tests/examples/streams/rtpool-test.c:
-	* tests/examples/streams/testrtpool.c:
-	* tests/examples/streams/testrtpool.h:
-	  tests: add example of custom taskpools
-	  Add an example to demonstrate the use of a custom taskpool and how to configure
-	  it on the task. Currently the taskpool does not do much yet but it'll create
-	  some custom threads later on.
-
-2009-04-23 19:41:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttaskpool.h:
-	  taskpool: fix a comment
-
-2009-04-23 19:41:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/stream-status.c:
-	  tests: cleanup some code
-
-2009-04-23 17:48:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* tests/check/gst/gstbin.c:
-	  Pad: post STREAM_STATUS_TYPE_CREATE
-	  Post a stream-status message indicating that a new task was created so that the
-	  application has a chance to change the properties of the task.
-	  Fix unit test to take into account the new ref of the message.
-
-2009-04-23 17:24:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: add new task methods
-
-2009-04-23 17:19:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  GstTask: add methods for configuring the pool
-	  Add getter and setter for configuring the GstTaskPool to use for a GstTask.
-
-2009-04-23 17:05:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  Task: remember pool
-	  Remember the pool we currently have our task running so that we can use it to
-	  join the task later on.
-	  Fix a leak of the taskpool.
-
-2009-04-23 16:53:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: update .defs file with taskpool methods
-
-2009-04-23 16:53:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  task: fix deadlock due to typo
-
-2009-05-12 00:25:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  GstTask: use GstTaskPool for managing threads
-	  Use the new GstTaskPool to handle streaming threads.
-
-2009-04-23 16:00:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	  taskpool: fix docs, make push/join generic
-	  Fix some more docs.
-	  Make _push() return a generic id (this can be something else than a GThread in
-	  some cases) and make _join() use that generic id.
-
-2009-04-23 15:44:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gsttaskpool.c:
-	* gst/gsttaskpool.h:
-	  taskpool: add new object to manage threads
-	  Add a new object GstTaskPool to manage the streaming threads.
-	  This will allow us to create and use custom configured threads.
-
-2009-04-22 12:04:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/examples/streams/stream-status.c:
-	  examples: set bus handler before state change
-	  We need to set the bus handler before starting the pipeline or we might just
-	  miss the message we are looking for.
-
-2009-04-22 10:16:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* configure.ac:
-	* tests/examples/Makefile.am:
-	* tests/examples/streams/.gitignore:
-	* tests/examples/streams/Makefile.am:
-	* tests/examples/streams/stream-status.c:
-	  tests: add example app for stream-status
-	  Add an example application that adjusts the thread priority of a task using the
-	  stream-status messages.
-
-2009-04-21 19:15:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* win32/common/libgstreamer.def:
-	  Task: add method to set the priority
-	  Add a method to configure a priority for the threads used by GstTask.
-
-2009-04-21 16:30:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstmessage.c:
-	  tests: add a unit-test for the stream-status
-	  Add a unit test for the STREAM_STATUS messages.
-
-2009-05-12 00:05:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  GstTask: improve documentation
-	  Improve the documentation for the callbacks.
-
-2009-04-21 15:25:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tests/check/gst/gstbin.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  tests: fix unit-tests for new stream-status
-	  Fix the unit-tests so that they don't fail on the new stream-status messages
-	  that are emited now.
-
-2009-04-21 14:46:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  GstPad: install thread callbacks of the task
-	  Install thread status callbacks on the task object of a pad and post
-	  STREAM_STATUS messages.
-
-2009-04-22 10:14:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.c:
-	  message: clarify some docs
-
-2009-04-21 14:42:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  Task: call leave_thread before signaling
-	  Call the leave_thread callback before we signal the thread performing the _join
-	  so that we can be sure that the listener still has valid info in the callback.
-
-2009-04-21 13:42:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* win32/common/libgstreamer.def:
-	  GstMessage: Add STREAM_STATUS message methods
-	  Add methods to handle the stream_status message types.
-
-2009-04-21 13:05:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstquark.c:
-	* gst/gstquark.h:
-	  quark: add "object" quark
-	  Add the object quark that will be used for the STREAM_STATUS messages.
-
-2009-05-11 23:44:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.h:
-	  Task: remove create/join methods
-	  Prepare for using the GstTaskPool object. We don't need the create and join
-	  callbacks anymore, they will be handled by the pool.
-
-2009-04-20 17:07:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  GstTask: add private data, fix parent_class
-	  Use the parent class that the glib macro gave us
-	  Actually add the private data to the task.
-
-2009-04-20 17:19:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  GstTask: hook up enter/leave/notify callbacks
-	  Hoop up the notify/enter/leave callbacks.
-
-2009-05-11 23:23:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: add new symbol to defs file
-
-2009-05-11 23:19:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	  GstTask: allow setting callbacks
-	  Allow setting thread callbacks that will allow us to control the threads used by
-	  the task.
-
-2009-04-23 19:40:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: don't ignore pad_start return value
-
-2009-04-21 13:34:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-stream-status.txt:
-	  design: more STREAM_STATUS updates
-	  Pass the thread object in a GValue, which would allow the application to figure
-	  out the type of the object instead of us having to explicitly code it in a
-	  message field.
-
-2009-04-21 09:45:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-stream-status.txt:
-	  design: update stream-status document some more
-
-2009-04-20 15:55:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-stream-status.txt:
-	  design: add first version of stream-status
-	  Add the first version of the STREAM_STATUS message design docs.
-	  This message will be used to give applications more control over the
-	  streaming threads.
-
-2009-04-21 17:53:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttask.c:
-	  GstTask: add some more docs
-
-2009-04-21 17:14:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  GstPad: use new task function
-	  Use the new task_set_state function and actually return its result to
-	  the caller.
-
-2009-05-11 22:59:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* win32/common/libgstreamer.def:
-	  GstTask: unify task state functions
-	  Add new gst_task_set_state() to change the state of the task instead of
-	  duplicating the code in each function.
-	  API: GstTask::gst_task_set_state()
-
-2009-04-21 13:37:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstmessage.h:
-	  Message: small indentation change.
-
-2009-05-02 14:43:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelementfactory.c:
-	* gst/gstobject.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrybinary.c:
-	  Avoid unneeded type checks
-
-2009-05-02 14:39:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: avoid calling _get_name() too much
-	  Avoid calling gst_plugin_get_name() too many times but instead cache
-	  the value.
-
-2009-05-02 14:36:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	* gst/gstregistry.c:
-	* gst/gstsystemclock.c:
-	  Use new _ref_sink when we can
-
-2009-05-02 14:33:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* win32/common/libgstreamer.def:
-	  gstobject: add gst_object_ref_sink
-	  Add the gst_object_ref_sink() method to match the glib one.
-	  API: GstObject::gst_object_ref_sink()
-
-2009-05-02 13:06:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstobject.c:
-	  gstobject: avoid type checks
-
-2009-05-02 13:02:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.c:
-	  gstbuffer: avoid typechecks in finalize
-	  Avoid useless typechecking in the finalize of buffers and subbuffers.
-
-2009-05-02 12:59:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gstfakesink.c:
-	  fakesink: avoid typecheck
-
-2009-04-20 14:01:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  -launch: connect to deep-notify with right name
-	  Connect to the right signal name with - instead of _.
-
-2009-04-24 22:06:19 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* gst/gstinfo.c:
-	  info: Support new printf extensions in glibc 2.10
-	  The printf extension mechanism changed in glibc 2.10, and the older
-	  register_printf_function is deprecated. Detect and use the new
-	  mechanism where available.
-
-2009-04-20 12:25:57 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/release:
-	  docs: Fix a typo in the release script
-
-2009-05-11 21:11:49 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  Back to development -> 0.10.23.1
-
-=== release 0.10.23 ===
-
-2009-05-10 22:41:04 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  Release 0.10.23
-
-2009-05-10 22:38:45 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-
-2009-05-06 16:10:11 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.22.4 pre-release
-
-2009-04-24 19:36:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  GstBin: set PENDING_STATE correctly
-	  Set the pending state correctly when we are going to perform an async
-	  state_continue on the bin.
-	  Fixes #580121
-
-2009-04-21 20:50:55 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	* win32/common/config.h:
-	* win32/common/gstversion.h:
-	  0.10.22.3 pre-release
-
-2009-04-21 22:12:04 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From b3941ea to 6ab11d1
-
-2009-04-17 15:46:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* configure.ac:
-	  win32: define __MSVCRT_VERSION__ when compiling with MingW, for __stat64
-	  Need to define this when using MingW, so that the includes provide
-	  __stat64 and friends. We need at least Windows XP SP2 for this.
-	  Fixes #568632.
-
-2009-04-16 22:26:00 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  gstdebug: compete stubs. Fixes #579177.
-	  Avoid defines when including gstinfo.h ourself and complete stubs. Sync stub
-	  returns with the defines.
-
-2009-04-17 11:44:11 +0100  Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
-	* configure.ac:
-	  configure.ac: fork() during registry scanning is unsafe on Cygwin
-	  Fixes #555978.
-
-2009-04-17 11:39:59 +0100  Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
-	* gst/gst.c:
-	  gst_init: relocatability is unnecessary on Cygwin
-	  See #555978.
-
-2009-04-17 10:11:21 +0100  Brian Cameron <brian.cameron@sun.com>
-
-	* gst/gstinfo.h:
-	  gstinfo: don't assume G_HAVE_ISO_VARARGS implies ISO C99
-	  Makes headers C++ clean, esp. with the Sun compilers.
-	  Fixes #567692.
-
-2009-04-17 09:17:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstplugin.c:
-	  GstPlugin: fix compilation if both HAVE_WIN32 and HAVE_SIGACTION are defined
-	  Move _gst_plugin_fault_handler_is_setup into the ifdef block where it's
-	  used. Fixes #578201.
-
-2009-04-16 12:01:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  -launch: disable CLOCK_LOST message handling
-	  Disable the handling of the CLOCK_LOST messages until we fixed and released the
-	  elements (rtspsrc) that break when we quickly PAUSE/PLAY the pipeline.
-	  Fixes #579127
-
-2009-04-15 22:24:45 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  release: Bump version to 0.10.22.2 for pre-release
-
-2009-04-16 00:08:20 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  win32: Update win32 build files
-
-2009-04-15 23:27:31 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: Update translations from TP
-
-2009-04-15 22:17:10 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* ChangeLog:
-	  ChangeLog: regenerate changelog with the gen-changelog script
-
-2009-04-15 23:26:13 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstutils.c:
-	  docs: remove errant gtk-doc comment marker triggering a warning
-
-2009-04-16 00:02:07 +0100  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	* plugins/elements/gstfilesrc.c:
-	  paramspecs: revert gst_param_spec_is_mutable() for release
-	  Revert the gst_param_spec_is_mutable API for this release so we can
-	  discuss it a bit further first.
-
-2009-04-15 23:33:20 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasetransform.c:
-	  logging: fix unused variable warning when disabling debug logs.
-	  The var was NULL anyway, bacause of the ifdefs there, the message makes no
-	  sense including it.
-
-2009-04-15 23:12:11 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* configure.ac:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  gstdebug: show enabled/disabled in configure and fix build for disabled
-	  When its disabled, we poison some symbols to force a build error if they are
-	  used. Dunno how useful this acually is, but we need to disable the poisoning
-	  when we include this ourself. Also don't define some of the dummies, as they
-	  are getting replaced with defines and that creates code that does not compile.
-
-2009-04-15 19:58:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/Makefile.am:
-	  Use g_once_init_*() instead of GOnce for the enum types
-
-2009-04-15 13:05:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	  staticpadtemplate: Update docs of gst_static_pad_template_get_caps ()
-	  gst_static_pad_template_get_caps () actually returns a reference to the
-	  caps and it's cleaner to unref them after usage. The core will, however,
-	  always hold a reference to the caps so this didn't result in a memory
-	  leak.
-
-2009-04-14 22:32:21 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstclock.h:
-	* gst/gstparamspecs.c:
-	  docs: use real <note> tags as they look nice in new gtk-doc
-
-2009-04-14 12:20:37 -0700  David Schleef <ds@schleef.org>
-
-	* gst/gstparamspecs.c:
-	  Fix locking in gst_param_spec_is_mutable
-
-2009-04-14 22:07:38 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	* tests/check/libs/controller.c:
-	  controller: factor out duplicated code and add a description for it.
-	  Also fix typo in the tests while reviewing them.
-
-2009-04-14 19:12:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.h:
-	  docs: add simple doc blurb
-
-2009-04-14 19:11:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstparamspecs.c:
-	  paramspecs: add note about racyness
-	  Add a note about potential racyness in _is_mutable().
-
-2009-04-14 10:32:07 +0200  LRN <lrn1986 at gmail.com>
-
-	* gst/gstinfo.c:
-	  info: use mutex to do console colors on windows
-	  Use a static mutex to keep the console colors and context together when
-	  debugging with colors on Windows.
-	  Fixes #517231.
-
-2009-04-13 14:27:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	  docs: add Since: tags to gtk-doc chunks for new param spec API
-	  And, for our release manager, the in-commit-message keywords
-	  for the previous commit:
-	  API: GST_PARAM_MUTABLE_READY
-	  API: GST_PARAM_MUTABLE_PAUSED
-	  API: GST_PARAM_MUTABLE_PLAYING
-	  API: gst_param_spec_is_mutable
-
-2009-02-20 11:09:19 -0800  David Schleef <ds@schleef.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstparamspecs.c:
-	* gst/gstparamspecs.h:
-	* plugins/elements/gstfilesrc.c:
-	  Add param spec flags for when a property can be changed
-	  Adds GST_PARAM_MUTABLE* flags to indicate in which states a
-	  property can be changed and take effect.  Fixes #571559
-
-2009-04-10 14:15:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  -launch: handle clock-lost messages
-	  When we receive a clock-lost message, we need to select a new clock in the
-	  pipeline by setting the pipeline to PAUSED and back to PLAYING.
-
-2009-04-09 18:27:21 +0200  Olivier Crete <tester at tester.ca>
-
-	* plugins/elements/gsttee.c:
-	  tee: add property to control the alloc pad
-	  Add a property to control the pad used for proxying the buffer_alloc function on
-	  the sinkpad.
-	  Fixes #577891.
-
-2009-04-09 11:51:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbin.c:
-	  bin: always mark pending_async_done
-	  When we get an ASYNC_DONE message when a state change was busy, set the
-	  pending_async_done flag so that after the state change completes, the bin can
-	  check if all async elements are finished. Don't only do this for the bin itself
-	  but for all elements.
-	  This fixes some bins in bins that simulate async state changes by posting ASYNC
-	  messages (such as sdpparse in uridecodebin/playbin2).
-
-2009-04-09 11:42:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: fix compilation, %08x needs an unsigned int
-	  %08x needs an unsigned int, so give it that.
-
-2009-04-06 01:27:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* tests/check/gst/gstinfo.c:
-	* win32/common/libgstreamer.def:
-	  API: add FIXME and DUMPMEM log levels and convenience macros
-	  Two new log levels to dump FIXMEs into the log and to log data
-	  in form of a hex dump (#578114).
-	  API: GST_CAT_FIXME_OBJECT
-	  API: GST_CAT_MEMDUMP_OBJECT
-	  API: GST_CAT_FIXME
-	  API: GST_CAT_MEMDUMP
-	  API: GST_FIXME_OBJECT
-	  API: GST_MEMDUMP_OBJECT
-	  API: GST_FIXME
-	  API: GST_MEMDUMP
-
-2009-04-08 18:13:42 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	* gst/gstclock.c:
-	  docs: xref more
-
-2009-04-08 17:49:18 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstpad.c:
-	  tests: remove the hacks to workaround the pad-leak
-
-2009-04-08 15:24:58 +0300  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: enable code to fix the leak, now that the deps have been released
-	  Good and ffmpeg are actually multiple releases beyond, so that this is now safe
-	  to do.
-
-2009-04-04 21:18:23 +0300  Felipe Contreras <felipe.contreras@gmail.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From d0ea89e to b3941ea
-
-2009-04-04 14:53:21 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Automatic update of common submodule
-	  From f8b3d91 to d0ea89e
-
-2009-04-04 14:42:04 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* tools/gst-inspect.c:
-	  gst-inspect: remove dead assignment
-	  first_flag will be either:
-	  * rewritten without being read if we loop again (line 284)
-	  * not read again if we don't loop
-
-2009-04-04 14:39:51 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	  basesink: Remove dead assignments.
-	  sstart/sstop/rstart/rstop are all either:
-	  * assigned values later on before being used in 'do_times:' (EOS and buffers)
-	  * not used (non-EOS events)
-
-2009-04-04 14:38:52 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  basesrc: remove dead assignment.
-	  The variable will not be read before it's assigned a value line 942/945
-
-2009-04-04 14:37:13 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsttaglist.c:
-	  gsttaglist: Remove unused variable.
-	  We don't need to allocate a variable if it's the return of a function call
-	  and we only check it once.
-
-2009-04-04 14:35:34 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gststructure.c:
-	  gststructure: Only use methods used in g_* checks if glib checks are disabled
-
-2009-04-04 10:59:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstdataqueue.c:
-	* libs/gst/controller/gstcontroller.c:
-	  gst: Use g_once_init* or G_DEFINE_TYPE
-
-2009-04-04 10:20:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstchildproxy.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstevent.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstinterface.c:
-	* gst/gstmessage.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstpipeline.c:
-	* gst/gstpreset.c:
-	* gst/gstquery.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttask.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gstxml.c:
-	  gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions
-
-2009-04-04 10:18:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstbus.c:
-	* gst/gstclock.c:
-	  gst: Use G_DEFINE_TYPE and don't call g_thread_init() from class_init
-	  class_init is too late for calling g_thread_init() as g_thread_init()
-	  needs to be called before any GObject function.
-
-2009-04-03 13:46:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  Use g_slice_copy instead of g_slice_dup.
-	  A (buggy) glib g_slice_dup macro may cause compiler warnings on e.g. x86_64.
-
-2009-04-03 12:21:55 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/controller/gstcontroller.c:
-	  controller: remove dead assignment.
-	  The value of prop is being overwritten just after without being read.
-
-2009-04-03 12:20:36 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gststructure.c:
-	  gststructure: Remove dead assignment.
-	  'type' is never used until line 1847 where it's overwritten.
-
-2009-04-03 12:19:40 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstadapter.c:
-	  adapter: remove dead assignment.
-	  The value set to to_copy at that line is never used, and is overwritten
-	  further down before being read.
-
-2009-04-03 12:17:33 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbin.c:
-	  gstbin: Remove unused variable.
-	  The return value of gst_element_change_state isn't used after that call.
-
-2009-04-03 12:15:38 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstpipeline.c:
-	  pipeline: remove redundant assignment.
-	  If that block is entered, then start_time becomes GST_CLOCK_TIME_NONE.
-	  Since start_time is invalid, the code will enter the block at line 434 and
-	  new_base_time will be set there.
-
-2009-04-03 12:13:38 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstregistrybinary.c:
-	  gstregistrybinary: remove variable only used for a check.
-	  that variable isn't used anywhere else within that block.
-
-2009-04-03 12:13:00 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink : Remove unused variable.
-	  sync is never used anywhere in that code.
-
-2009-04-03 12:12:08 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  basetransform: move unused variable in the #if 0 block.
-	  That variable is only used by the code which has been if 0'd
-
-2009-04-03 11:56:48 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	  Remove unused increments as detect by LLVM's CLang static analyzer.
-
-2009-04-03 11:52:49 +0200  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbus.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstindexfactory.c:
-	* gst/gstinterface.c:
-	* gst/gstobject.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttask.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstcollectpads.c:
-	* plugins/elements/gstidentity.c:
-	  Remove unused variables detected by LLVM's Clang static analyzer.
-
-2009-04-03 11:19:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstcaps.c:
-	  docs: improve API reference for gst_caps_get_structure()
-
-2009-04-02 13:32:58 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
-
-	* gst/gstbin.h:
-	  docs: explain ref ownership for handle_message implementations
-
-2009-04-02 10:43:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  gstcheck: Call gst_check_init() before creating the suite
-	  This allows using the GStreamer or GObject API in the suite
-	  creation function.
-
-2009-03-31 18:14:08 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>
-
-	* tools/gst-launch.c:
-	  gst-launch: Fixes error when DISABLE_FAULT_HANDLER is defined
-	  When defined, this macro prevented the declaration of 'waiting_eos', causing an error.
-
-2009-03-26 17:25:08 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter. Always calls _suggest, even with NULL caps. Fixes #574805
-
-2009-03-30 15:45:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* tests/check/elements/queue.c:
-	  tests: Don't define global buffers variable, it's already defined by libgstcheck
-
-2009-03-30 10:33:51 +0200  Peter Kjellerstedt <pkj@axis.com>
-
-	* docs/gst/building.xml:
-	  docs: Some grammar and typo corrections.
-
-2009-03-29 13:41:22 +0200  Thomas Vander Stichele <thomas@ana.amantes>
-
-	* docs/gst/building.xml:
-	  Fix typo.
-
-2009-03-27 17:30:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: init variable, that is referenced in error case below the fail: label
-
-2009-03-27 16:15:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  clock: wakeup the async thread a bit more
-	  Also wake up the async thread when it is doing an async wait for an entry.
-
-2009-03-27 16:15:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstelement.c:
-	  element: Fix a little debug message
-
-2009-03-26 13:07:56 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binaryregistry: check for not reading beyond the data area. Fixes #576842
-	  Check all reads against the end of the data region. Roll back registration of
-	  partial reads.
-
-2009-03-25 11:03:22 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/building.xml:
-	* docs/gst/gstreamer-docs.sgml:
-	  docs: add a page about building gstreamer and apps
-
-2009-03-26 13:08:01 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>
-
-	* tools/gst-launch.c:
-	  Adds flag for eos on shutdown in gst-launch. Fixes #575814.
-
-2009-03-26 22:05:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstclock.c:
-	* gst/gstsystemclock.c:
-	  clock: make UNSCHEDULED checks threadsafe
-	  Move the checks for using an unscheduled entry from the unsafe GstClock to the
-	  SystemClock object so that we can perform the correct locking.
-	  fix a leak and potential deadlock then the async thread fails to start.
-	  Sprinkle some G_LIKELY around because we can.
-
-2009-03-26 21:40:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  clock: remove pending async wakeup sooner
-	  Remove a pending async wakeup before we check if the next entry is UNSCHEDULED
-	  because we might leave the control socket busy.
-
-2009-03-26 19:33:41 +0100  Peter Kjellerstedt <pkj@axis.com>
-
-	* gst/gstpoll.c:
-	  gstpoll: Corrected a documentation typo.
-
-2009-03-26 19:13:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  clock: add some more comments.
-
-2009-03-26 18:46:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	  clock: rework the wakeup of entries.
-	  Keep a counter for the amount of outstanding wakeups that we produce and only
-	  perform a write/read to the control socket when 1 or 0 respectively.
-	  don't poll when waiting for the entries to be unblocked and clear their wakeup
-	  counts, just act on the signal when the wakeup count is 0.
-	  unscheduled entries will clear their wakeup count themselves.
-	  Keep track of when we wakeup the async thread because the list of entries has
-	  changed.
-	  don't try to see if the list changed because we can't really know when one entry
-	  is added multiple times.
-	  Only wake up the async thread when we add an async entry to the head of the list
-	  and the old entry was BUSY.
-
-2009-03-25 17:31:16 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstpoll.c:
-	  gstpoll: Fix up documentation strings.
-	  Note the changed behaviour of gst_poll_wait for timer GstPoll's, and
-	  fix a couple of spelling errors.
-
-2009-03-26 15:55:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstsystemclock.c:
-	* tests/check/gst/gstsystemclock.c:
-	  clock: fix 2 wakeup races.
-	  when an entry being waited on in the async thread is unscheduled, clear the
-	  wakeup queue so we can continue waiting on other entries.
-	  When an entry being waited on in the async thread is unlocked because an earlier
-	  entry was added to the list, set the entry to OK again. This makes sure that
-	  only the entries being waited on have the BUSY flag set and wake up the timer
-	  poll when they are unscheduled.
-
-2009-03-26 14:44:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistry.c:
-	  registry: ignore .git directory when recursively scanning plugin paths for plugins
-	  Saves some cycles/pandas for those of us who run uninstalled setups.
-
-2009-03-26 14:16:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	* gst/gstregistryxml.c:
-	  registry: do fsync() before close() and rename()
-	  This helps prevent filesystem/data inconsistencies in certain
-	  circumstances on certain filesystems (like ext4, xfs, ubifs).
-	  Also see bug #562976.
-
-2009-03-26 01:09:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* tests/check/gst/gsttag.c:
-	* win32/common/libgstreamer.def:
-	  API: add gst_tag_list_get_buffer{_index}
-	  Convenience API, mostly for image tags, so people don't have to
-	  figure out the whole GValue/GstValue thing just for this.
-
-2009-03-25 23:03:38 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstsystemclock.c:
-	  systemclock: Clean up the tests a bit.
-	  Add some cleanups to the system clock tests, to free all the memory and
-	  unschedule/unref all clock IDs we allocate.
-	  Use a mutex in one test to avoid potential threading problems on multicore
-	  machines.
-
-2009-03-25 21:37:38 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/gst/gstsystemclock.c:
-	  systemclock: Add a test for sync/async clockid interactions
-	  This test randomly hangs if there are problems with the reliability of
-	  unscheduling sync and async clockID's on the system clock.
-
-2009-03-26 11:17:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstsegment.c:
-	  segment: Use g_slice_dup() now
-
-2009-03-26 11:08:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/glib-compat.h:
-	* gst/gstutils.h:
-	  Remove some compatibility stuff for GLib < 2.14
-
-2009-03-25 00:50:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  API: add GST_TAG_SUBTITLE_CODEC
-	  Yes, 'codec' isn't exactly the best word, but let's be consistent with AUDIO_CODEC
-	  and VIDEO_CODEC (which may be 'raw' formats as well after all). Prerequisite for
-	  bug  #576552.
-
-2009-03-24 21:39:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.1.in:
-	  docs: gst-launch man page fix
-	  The command line option is --gst-debug-disable, not --gst-disable-debug.
-	  Fixes #576556. Spotted by Bogdan Harjoc.
-
-2009-03-24 19:33:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.c:
-	  gstutils: improve property set and convert code
-	  Use string deserialisation instead of custom parsing code to allow for all
-	  supported ways of specifying property values.
-	  fixes #576582.
-
-2009-03-23 15:18:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	* gst/gstinfo.c:
-	  build: define stubs when disabling gst-debug subsystem. Fixes #575922
-	  Running configure with e.g. --disable-dst-debug was compiling out the debug
-	  system (ABI break). Now stubs are added and only if one does e.g.
-	  make CFLAGS="-DGST_REMOVE_DISABLED" the symbols are ommitted.
-
-2009-03-23 12:34:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: fix once-per-second 'emergency rendering' for case where all buffers but the very first are late
-	  Due to a typo basesink didn't do any emergency rendering of late buffers
-	  if the only buffer ever rendered was the first one with timestamp 0. This
-	  means that in cases where the decoder is very very slow, we'd never see
-	  any buffers but the very first one rendered. Fixes #576381.
-
-2009-03-21 02:34:04 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/random/release:
-	  docs: tweak the release procedure script
-
-2009-03-20 14:12:55 +0100  LRN <lrn1986 at gmail dot com>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	  win32: fix seeking in files >4GB
-	  Use 64-bit functions on windows to implement seeking in files bigger
-	  than 4GB.
-	  Fixes #575988
-
-2009-03-20 11:26:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstinterpolation.c:
-	  controller: Fix generation of control-change arrays.
-	  When generating arrays of control changes timestamp variable was used instead
-	  the local ts variable that we increment when stepping through the array.
-	  Pointed out by Martin Pokorny.
-
-2009-03-20 00:42:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  debugging: make GST_PTR_FORMAT work for queries as well
-
-2009-03-20 00:39:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstquery.h:
-	  API: add GST_QUERY_CAST
-	  because we can, and for consistency.
-
-2009-03-19 21:27:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* libs/gst/check/gstcheck.h:
-	  gstcheck: fix for check versions > 0.9.6
-	  A new argument allowed_exit_value was added in SVN recently (#574213).
-
-2009-03-19 17:19:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	  gstpad: fix gst_pad_can_link
-	  We were converting the GstPadLinkReturn to a gboolean, which is not what we want
-	  to do.
-
-2009-03-19 10:44:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: add gst-rtsp-server bits and break up overly long lines
-	  Add some of the bits needed for an uninstalled gst-rtsp-server (so gdb works
-	  on the examples etc.). Python bits are still missing, and we might need an
-	  -uninstalled.pc file as well in the future. Break up very long lines to make
-	  them easier to read and maintain. Also remove gst-plugins paths from the
-	  old days.
-
-2009-03-19 11:46:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/random/wtay/rwlocks:
-	  docs: interesting idea for fast rw locks
-	  --
-
-2009-03-19 11:11:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  defs: add new symbol to windows .def file
-	  Add the new windows cmd.exe coloring method to the .def file.
-
-2009-03-18 16:38:51 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelement.c:
-	  docs: more info about when state changes can be async and when not.
-
-2009-03-18 19:07:00 +0100  Damien Lespiau <damien.lespiau at gmail.com>
-
-	* gst/gstinfo.h:
-	  info: more indentation fixes
-	  Fixes #517231.
-
-2009-03-18 19:06:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.h:
-	  info: indentation fix
-
-2009-03-18 18:57:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstinfo.c:
-	  info: simply some more
-
-2009-03-18 18:45:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstinfo.c:
-	  info: refactor debug colors for win32 and other
-	  Refactor the debug line code to use as much code as possible for the win32 and
-	  other color codings.
-	  Update docs with new symbol.
-
-2009-03-18 17:30:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  windows: initial commit for terminal colors
-
-2009-03-18 17:01:16 +0100  Zeeshan Ali (Khattak) <zeeshanak at gnome dot org>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  gstpad: fix gst_pad_can_link()
-	  Move the gst_pad_can_link() implementation from gstutils to gstpad and use
-	  gst_pad_link_prepare() to make it work correctly and also check the caps.
-	  Make the broken implementation in gstutils static.
-	  Small cleanups in the _get_fixed_caps() function.
-	  Fixes #575682.
-
-2009-03-17 20:41:44 +0000  David Adam <zanchey@ucc.gu.uwa.edu.au>
-
-	* gst/gst.c:
-	  config.h needs to be included first, either directly or via gst_private.h
-	  Fixes build with -Werror caused by '_FILE_OFFSET_BITS redefined' warning on
-	  OpenSolaris where _FILE_OFFSET_BITS may be defined both in our config.h
-	  and via stdio.h (#575695).
-
-2009-03-17 19:02:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/developing.xml:
-	  faq: remove outdated bits from indenting section
-
-2009-03-17 12:05:33 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbin.c:
-	  bin: forward segment-start like segment-done if parent is also a bin, fixes #575598.
-	  Bin collects segment-start messages and segent-done messages. it posts a
-	  segment-done message to its parent, once it has received a segment-done for
-	  each segment-start. Imho it should also send a segment-start if it receives the
-	  first segment start and if parent is !=NULL. This is needed for bins in bins,
-	  so that also higher order bins can group segment-starts and segment-dones.
-	  Right now higher order bins will post a segment-done for each segment-done
-	  received.
-
-2009-03-16 20:12:45 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* docs/faq/git.xml:
-	  faq: fix typo in git command
-
-2009-03-15 23:40:36 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstsystemclock.c:
-	  systemclock: these warnings are serious, give more detail in the message
-
-2009-03-15 23:37:29 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: add debug logging to make it easier to trace it
-
-2009-03-13 10:56:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  Fix indentation of .h files
-	  --
-
-2009-03-12 12:20:25 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaglist.c:
-	  taglists: apply fix for replace all also to gst_tag_list_add_valist_values. Fixes #574241
-
-2009-03-12 10:48:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstbuffer.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstpad.h:
-	* gst/gstquery.h:
-	  docs: Improve some docs
-	  Rename some function variables and add some Return: to make the docs more happy.
-
-2009-03-12 00:41:24 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstiterator.c:
-	  docs: fix linking to constant and functions
-
-2009-03-11 15:20:36 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  dump2dot: ellipsize caps fields, better placement of unnegotiated caps
-	  Long caps fields like enums are ellipsised. If caps are not negotiated, use
-	  head- and taillabel to place them closer to the pads. Use smarter way to indent.
-
-2009-03-11 10:27:16 +0200  Laszlo Pandy <laszlok2@gmail.com>
-
-	* gst/gstdebugutils.c:
-	  dump2dot: make caps in DOT debug graphs more readable. Fixes 574484
-	  Use a monospace font for edge labels and indent.
-
-2009-03-11 14:11:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstpadtemplate.c:
-	  padtemplate: Allow %u as conversion modifier additional to %d and %s
-
-2009-03-11 11:23:05 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstbasesrc.c:
-	  gstbasesrc: unsigned long is "%lu", not "%ul". Fixes build on macosx
-
-2009-03-10 21:08:34 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstcapsfilter.c:
-	  logging: some additional logging for tracing caps negotiation.
-	  Demote one log that can come quite often. Remove one fixme that is done. Apply
-	  gst-indent changes.
-
-2009-03-10 21:03:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstobject.c:
-	  comment: add a fixme-0.11
-
-2009-03-10 21:01:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/design/part-block.txt:
-	  formatting: tabs to spaces
-
-2009-03-09 23:11:24 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 7032163 to f8b3d91
-
-2009-03-09 20:07:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gstreamer.spec.in:
-	  gstreamer.spec: fix stray @GLIB2_REQ@ that didn't get expanded properly
-
-2009-03-09 16:09:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/manual/basics-bus.xml:
-	  docs: reword stuff about custom mainloops
-	  Fixes #574229.
-
-2009-03-09 16:01:20 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  dump2dot: don't use GST_TIME_FORMAT when building filenames. fixes #574623
-
-2009-03-09 11:39:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/gst/gstpad.c:
-	  pad: call new callbacks set in the block callback
-	  Keep track of when a new callback is installed in the callback and call the new
-	  callback in that case.
-	  Add unit test for checking pad blocking.
-	  Fixes #573823.
-
-2009-03-08 17:22:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/config.h:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  win32: update enumtypes and config.h
-
-2009-03-08 17:15:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gsttaglist.c:
-	  docs: improve docs for gst_tag_list_get_date*()
-	  Mention that the date value needs to be freed and how to free it.
-
-2009-03-08 12:02:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From ffa738d to 7032163
-
-2009-03-08 11:17:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 3f13e4e to ffa738d
-
-2009-03-08 00:27:26 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstdebugutils.c:
-	  dump2dot: improve caps logging
-	  Factor out code to describe caps. Improve formating (no \n in caps fields).
-	  Check peer caps too and show both if they differ.
-
-2009-03-07 11:43:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 3c7456b to 3f13e4e
-
-2009-03-07 10:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* common:
-	  Automatic update of common submodule
-	  From 57c83f2 to 3c7456b
-
-2009-03-06 22:10:10 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: revert accidential commit from the queue (me should start using branches)
-
-2009-03-06 21:59:20 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstcaps.c:
-	* gst/gststructure.c:
-	  apidocs: markup example as highlightable example and copy same for structure
-	  structures can be printed like we can do for caps. Mark the example so that
-	  gtk-doc can pretty print and xref it.
-
-2009-03-04 21:21:56 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstcollectpads.c:
-	  collectpads: reliably go to eos. Fixes #574160
-	  Update collectpads status when removing pads.
-
-2009-03-06 12:08:42 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
-
-	* plugins/elements/gstidentity.c:
-	  identity: ignore the return value of gst_pad_event_default when sending out the newsegment event in single-segment mode.
-	  This makes identity single-segment=true ! oggmux work again after a change in
-	  oggmux (commit b0e3d449 in -base).
-
-2009-03-05 17:42:22 +0100  Andy Wingo <wingo@oblong.net>
-
-	  basesink: propagate UPSTREAM events in pull mode too
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_send_event): Propagate
-	  upstream events in pull mode too.
-
-2009-03-05 11:29:48 +0100  Antoine Tremblay <hexa00@gmail.com>
-
-	* gst/gstpad.c:
-	  GstPad: relax failure to deactivate unlinked pads
-	  When de/activating a pad in pull mode the pad needs to de/activate the
-	  peer pad it is connected to, failure to be able to do this in activation mode
-	  is an error.
-	  However if there is no peerpad, we can still deactivate the pad correctly and
-	  assume the application will deactivate the unlinked peer pad eventually.
-	  Fixes #574163.
-
-2009-03-05 11:02:59 +0100  LRN <lrn1986 at gmail dot com>
-
-	* gst/gstpoll.c:
-	  GstPoll: set the return value on windows
-	  Make sure that the return value of the functions _read/_write_control()
-	  return the actual result instead of always FALSE on windows.
-	  Fixes #574211.
-
-2009-03-04 10:46:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/advanced-negotiation.xml:
-	* docs/pwg/building-boiler.xml:
-	  pwg: update for CVS-to-git migration
-	  Fixes #573946.
-
-2009-03-04 09:20:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* libs/gst/base/gstadapter.c:
-	  GstAdapter: Discard empty buffers in _push(). Fixes #574024
-
-2009-03-03 20:01:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* .gitignore:
-	  Update .gitignore
-
-2009-03-03 19:58:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/gst-uninstalled:
-	  gst-uninstalled: add bits for uninstalled checkouts of gst-openmax and totem
-
-2009-03-02 16:17:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* tests/check/gst/gstutils.c:
-	* win32/common/libgstreamer.def:
-	  API: Add gst_util_array_binary_search() for binary searchs on a sorted array
-	  This will be mostly useful in all elements that have some kind of internal
-	  seek/index table. Currently almost all of them (or even all of them)
-	  are using a linear search although the used array is already sorted,
-	  wasting some CPU time without good reason.
-	  Fixes bug #573623.
-
-2009-02-28 11:15:29 -0800  David Schleef <ds@schleef.org>
-
-	* configure.ac:
-	* gst/gstutils.h:
-	  Bump glib requirement to 2.14
-	  Also remove code conditional on < 2.14.
-
-2009-02-28 13:34:08 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
-
-	* win32/MANIFEST:
-	  Remove win32/common/config.h.in from MANIFEST, it no longer exists
-
-2009-02-27 13:35:35 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* plugins/elements/gstcapsfilter.c:
-	  capsfilter: Properly reset the capsfilter when setting caps ANY.
-
-2009-02-27 12:34:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/draft-framestep.txt:
-	  design: update the framestep draft
-	  Update the docs a little.
-	  Add property to allow incremental stepping so that we can reduce excessive
-	  queueing.
-
-2009-02-26 15:40:26 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesink.c:
-	  basesink: move left over handling of the error case to the activate_failed label.
-	  If was left as dead code.
-
-2009-02-25 19:59:57 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	* configure.ac:
-	  build: Update shave init statement for changes in common. Bump common.
-
-2009-02-25 10:51:57 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binary registry: Don't attempt to parse empty caps
-
-2009-02-25 14:19:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  registry: Set typefind factory caps to NULL instead of empty caps if they originally were NULL
-
-2009-02-25 11:31:38 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 9cf8c9b to a6ce5c6
-
-2009-02-24 15:10:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  registrybinary: Check if typefind factory caps are NULL before copying them
-
-2009-02-24 11:40:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	  Remove undeclared symbols from docs
-	  Remove some undeclared symbols from the docs.
-
-2009-02-23 13:01:11 -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.
-
-2009-02-23 10:52:14 -0800  David Flynn <davidf@rd.bbc.co.uk>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	* pkgconfig/gstreamer-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-23 17:36:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesrc.c:
-	  Error out more specifically on empty caps
-	  When we get empty caps from the getcaps function in the default negotiate
-	  function, post a more descriptive error.
-
-2009-02-23 15:24:00 +0100  Andy Wingo <wingo@oblong.net>
-
-	  fix uri handler iteration in gst-inspect
-	  * tools/gst-inspect.c (print_all_uri_handlers): Whoops, fix iteration.
-	  I'm stupid.
-
-2009-02-23 12:33:13 +0100  LRN <lrn1986 at gmail dot com>
-
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	  Fix signed when compiling with MSys/MinGW
-	  fix signed issues when compiling with MSys/MinGW.
-	  Fixes #572591.
-
-2009-02-23 10:53:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  Don't forward LATENCY event when not ready
-	  When we are not ready to handle a latency query (we are not yet prerolled) we
-	  also don't try to forward the latency event because that might cause unexpected
-	  errors when upstream is not yet linked.
-
-2009-02-22 22:09:39 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* tests/check/core:
-	  Remove core file from previous commit
-
-2009-02-22 20:01:05 +0100  Alessandro Decina <alessandro.d@gmail.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* tests/check/core:
-	* tests/check/gst/gstpad.c:
-	* win32/common/libgstreamer.def:
-	  GstPad: Add gst_pad_set_blocked_async_full
-	  This allows connecting a GDestroyNotify for when the callback is removed/replaced.
-	  Partially fixes #514717
-
-2009-02-22 19:05:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstutils.h:
-	  Include floating point write/read functions in the docs by working around a gtk-doc bug
-
-2009-02-22 18:53:10 +0100  Ali Sabil <ali.sabil@gmail.com>
-
-	* plugins/elements/gstqueue.c:
-	  Use the correct unref function
-
-2009-02-22 18:51:08 +0100  Ali Sabil <ali.sabil@gmail.com>
-
-	* gst/gstbuffer.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstquery.h:
-	  Convert unref/copy functions of GstMiniObject subclasses to static inline functions
-	  unref and copy functions are sometimes used as function
-	  pointers for example in the case of g_hash_table_new_full
-	  as a GDestroyNotify function.
-	  Currently GstBuffer, GstEvent, GstMessage and GstQuery
-	  define their respective unref and copy functions as
-	  macros, making use of gst_mini_object_unref/copy.
-	  This approach works very well for most cases, except
-	  for some automatically generated bindings (currently Vala),
-	  where the memory management semantics are defined
-	  declaratively.
-	  The possible solutions would be to either convert all
-	  the macros into static inline function, or change the
-	  signature of gst_mini_object_unref to take a void*
-	  instead of a GstMiniObject*.
-	  Fixes bug #572480.
-
-2009-02-22 15:22:16 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	* docs/plugins/Makefile.am:
-	  Use shave (http://git.lespiau.name/cgit/shave/) to simplify build output
-
-2009-02-22 15:44:35 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* common:
-	  Automatic update of common submodule
-	  From 5d7c9cc to 9cf8c9b
-
-2009-02-21 11:13:30 -0800  David Schleef <ds@schleef.org>
-
-	* common:
-	  Automatic update of common submodule
-	  From 80c627d to 5d7c9cc
-
-2009-02-19 18:05:07 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.h:
-	  GstBufferFlags: Add "Since: 0.10.23" for the newly added flags
-
-2009-02-19 16:04:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* gst/gstbuffer.h:
-	  GstBufferFlags: Add 3 new media-specific buffer flags.
-	  Partially fixes #163577
-
-2009-02-19 12:57:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: print normal output to stdout, and only errors and warnings to stderr in gst-launch
-	  Let's not print everything to stderr. Suppress some more 'normal' messages when --quiet was passed.
-
-2009-02-19 12:45:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* tools/gst-launch.c:
-	  tools: use g_print*() instead of *printf() in gst-launch
-	  We should use GLib's g_print*() functions for printing stuff in gst-launch, not printf and friends, since we're printing
-	  translated strings, which we get in UTF-8 encoding, and GLib's print functions expect UTF-8 encoded strings whereas printf
-	  et al. expect strings in the locale encoding, which may or may not be UTF-8.
-	  Also add a PRINT convenience macro so we don't have to litter the code with if (!quiet) statements.
-
-2009-02-19 11:18:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/random/mimetypes:
-	  docs: fix constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN
-	  We got the constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN the wrong way around in some docs (fixes: #572392). Also mention
-	  G_BYTE_ORDER in the audio types section.
-
-2009-02-19 10:25:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  Add new symbols to def files
-	  Add the new request_message symbols to the windows def file.
-
-2009-02-18 15:31:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/design/part-messages.txt:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* tests/check/gst/gstmessage.c:
-	* tools/gst-launch.c:
-	  Add message to request a state change
-	  Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
-	  like to have the application change the state of the pipeline. the primary use
-	  case is to pause the pipeline when an audio mixer is mixing a higher priority
-	  stream but it can also be used for other purposes.
-	  Add some docs and a unit test.
-	  Implement the REQUEST_STATE message in gst-launch.
-	  API: gst_message_new_request_state()
-	  API: gst_message_parse_request_state()
-	  API: GST_MESSAGE_REQUEST_STATE
-
-2009-02-16 12:58:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  Clear target when the target pad disappears
-	  When the target pad disappears (because it was explicitly unlinked or the
-	  element was removed/unreffed) make sure we receive a notify with the unlink
-	  function on the proxy pad and clear the target. We use a simple flag to not do
-	  this and cause deadlocks when the target was changed explicitly using the
-	  ghostpad functions.
-	  Update the unit test because we now unref the target sooner (and correctly).
-
-2009-02-15 16:37:17 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstelementfactory.c:
-	* gst/gstpluginfeature.c:
-	  docs: format and indent examples.
-
-2009-02-09 22:49:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tools/gst-launch.1.in:
-	* tools/gst-launch.c:
-	  gst-launch: add -q/--quiet option to supress any non error output.
-	  Having no output is nice for scripting. Also update the manpage.
-
-2009-02-14 13:35:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/faq/developing.xml:
-	* docs/faq/faq.xml:
-	* docs/faq/getting.xml:
-	* docs/faq/git.xml:
-	* docs/faq/gst-uninstalled:
-	* docs/faq/start.xml:
-	* docs/faq/troubleshooting.xml:
-	* docs/faq/using.xml:
-	  FAQ: update for git and miscellaneous small fixes and additions
-	  Replace all mentions of CVS with git. Add link to gst-uninstalled script in cgit and to SubmittingPatches page in wiki. Fix some typos. Update indenting rules to what we actually use (#571646).
-
-2009-02-13 16:17:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  po: update *.po files for newly-added translatable strings
-	  The only people who should get conflicts now are people who have cloned and built gstreamer between the time those strings
-	  were added and this commit.
-
-2009-02-12 10:38:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	  taglist: API: Add HOMEPAGE tag
-	  This tag will list a homepage for the media,
-	  i.e. the artist's or movie's homepage.
-	  This is different to GST_TAG_LOCATION as the latter
-	  lists the original location of the media.
-	  Fixes bug #571227.
-
-2009-02-09 12:00:43 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* common:
-	  Bump revision to use for common submodule.
-
-2009-02-08 10:28:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gst.c:
-	* gst/gstversion.h.in:
-	  Replace some mentions of CVS by GIT
-
-2009-02-06 10:51:28 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binary registry: Rewrite sanity check to actualy catch something.
-	  The previous commit was bogus, as was the check before. We just point m to the file data,
-	  so neither it nor its members will be NULL. Better check if we have enough data.
-
-2009-02-05 23:11:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* po/Makevars:
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.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 is likely to 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.
-
-2009-02-05 15:22:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* win32/common/libgstreamer.def:
-	  win32: add new GstPoll API to libgstreamer.def
-
-2009-02-05 17:23:44 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstclock.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	  cleanup: remove unused variables in _class_init() and reindent.
-
-2009-02-05 17:05:56 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstbus.c:
-	  bus: remove unused set/get property functions
-
-2009-02-05 15:56:19 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  binary registry: comparing arrays against NULL is useless
-
-2009-02-05 13:59:48 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* plugins/elements/gstqueue.c:
-	  queue: remove unused code
-	  Skip looping thru a dummy implementation.
-
-2009-02-05 13:57:05 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/check/gst/gstpipeline.c:
-	  tests: GstClockTime is always >= 0
-
-2009-02-05 13:42:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsthelper.c:
-	  controller: remove unused variable
-
-2009-02-04 17:20:21 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstghostpad.c:
-	  cleanup: Either check always for internal being NULL or don't.
-	  IMHO the ghostpad is borked if internal is NULL. So the check can go and it is
-	  used later unchecked anyway.
-
-2009-02-04 16:26:23 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gsttaglist.c:
-	  crash: Don't crash on non existent tags.
-
-2009-02-04 16:17:34 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstregistrybinary.c:
-	  leak: Don't leak type name in failure cases.
-
-2009-02-04 16:07:30 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/check/gstcheck.c:
-	  check: Don't assume gst_pad_get_peer returns non NULL value.
-
-2009-02-04 15:41:24 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  leak: don't return without calling va_end
-
-2009-02-03 18:04:46 +0100  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstclock.c:
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	  Implement the systemclock with gstpoll
-	  Add a property to select the clock type, currently REALTIME and MONOTONIC when
-	  posix timers are available.
-	  Implement the systemclock with GstPoll instead of GCond. This allows us to
-	  schedule timeouts with nanosecond precission on newer kernels and with ppoll
-	  support. It's also resilient to changes to the systemclock because of NTP or
-	  similar.
-
-2009-02-03 17:49:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpoll.c:
-	* gst/gstpoll.h:
-	  GstPoll: add methods to use gstpoll for timeouts
-	  Add a special timer mode in GstPoll that makes it only use the control socket
-	  with a timeout to schedule timeouts. Also add a pair of methods to wakeup the
-	  timeout thread.
-	  API: GstPoll::gst_poll_new_timer()
-	  API: GstPoll::gst_poll_write_control()
-	  API: GstPoll::gst_poll_read_control()
-
-2009-02-03 15:27:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  GstBaseSink: use new variable to schedule preroll
-	  Use a separate variable to keep track if we need to call the preroll method
-	  instead of abusing the commited variable.
-
-2009-02-03 12:52:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	* tests/check/elements/fakesink.c:
-	  GstBaseSink: avoid calling preroll multiple times
-	  Fix a regression introduced by fix for #567725 in commit
-	  1c7ab4ed4f19b63ba046a6f2fe7d09a6c17357c5. We should only call the preroll
-	  function once namely when we did not yet commit the state change.
-	  Add a unit test to check that we call the preroll function when interrupting the
-	  clock_wait (see #567725).
-	  Add a unit test to check that we only call the preroll function once.
-
-2009-01-29 13:30:45 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Force reconfigure of basetransform to recheck alloc request
-	  While reconfiguring a basetransform element we need also to recheck
-	  the alloc request. Because it's possible that due to caps changes
-	  the proxy_alloc state is not correct anymore.
-	  (Re-commit after discusion with Wim on IRC)
-
-2009-02-02 14:19:57 +0100  Peter Kjellerstedt <pkj@axis.com>
-
-	* gst/gstregistrybinary.c:
-	  gstregistrybinary: Make it compile with GST_DISABLE_GST_DEBUG.
-
-2009-01-31 21:34:28 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* docs/.gitignore:
-	* docs/libs/tmpl/.gitignore:
-	* docs/plugins/tmpl/.gitignore:
-	  repo: Rearrange gitignores in docs subdir
-	  tmpl directories are removed by make clean, which deletes the
-	  .gitignore. Use a .gitignore higher up to ignore the tmpl dirs instead.
-
-2009-01-31 21:32:36 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/pipelines/stress.c:
-	  check: Fix comment about the timeout for generic stress test.
-	  Setting the timeout to 0 makes it infinite, so fix the comment
-	  above accordingly.
-
-2009-01-31 21:31:48 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* tests/check/elements/tee.c:
-	  check: Increase timeout for the tee test
-	  The tee stress test keeps timing out for me on one of the slower
-	  machines, so increase the timeout to 3 mins.
-
-2009-01-30 14:56:08 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* win32/common/config.h.in:
-	  Update the win32 config.h.in template from the main config.h.in
-
-2009-01-30 22:18:17 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	  Add releaseinfo with online url.
-
-2009-01-30 18:17:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* gst/gstinterface.h:
-	* gst/gsturi.h:
-	  Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers
-	  Remove class-to-interface-struct cast macros which don't work,
-	  don't make sense, and in some cases wouldn't even compile if
-	  used. Removal should be ok seeing that code which uses any of
-	  these is broken and bound to crash. Fixes #565607.
-	  API: remove GST_IMPLEMENTS_INTERFACE_CLASS
-	  API: remove GST_IS_IMPLEMENTS_INTERFACE_CLASS
-	  API: remove GST_URI_HANDLER_CLASS
-
-2009-01-30 16:28:14 +0000  Jan Schmidt <jan.schmidt@sun.com>
-
-	* docs/gst/tmpl/.gitignore:
-	  Remove gitignore in docs/gst/tmpl.
-	  This gitignore file seems to get deleted by the build, and doesn't
-	  seem to be doing anything useful anyway.
-
-2009-01-30 16:21:55 +0000  Jan Schmidt <jan.schmidt@sun.com>
-
-	* common:
-	  Bump common
-
-2009-01-30 14:59:07 +0000  Jan Schmidt - Sun Microsystems - Dublin Ireland <js212419@flail.(none)>
-
-	* gst/gstghostpad.c:
-	  Fix compilation warning with Forte.
-
-2009-01-30 10:43:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Revert "Check suggested caps for proxy alloc"
-	  This reverts commit 50afd459579191772f42d1a44f3959e530c5c269.
-	  It breaks the interactive test-scale unit test.
-
-2009-01-30 10:42:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Revert "Force reconfigure of basetransform to recheck alloc request"
-	  This reverts commit 3a4602d7719de3c3ef7aece68b5f9489d0780162.
-	  It breaks the interactive test-scale unit test.
-
-2009-01-30 10:29:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
-
-	* gst/gstregistrybinary.c:
-	  Allocate everything that is written to the registry with g_malloc0()
-	  Allocate every structure that is directly written to the binary
-	  registry with g_malloc0(). Otherwise some parts of it will be
-	  uninitialized (struct padding because of alignment, etc) and
-	  valgrind will complain about it.
-
-2009-01-30 08:30:28 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* autogen.sh:
-	* common:
-	  Use a symbolic link for the pre-commit client-side hook
-
-2009-01-29 15:49:24 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* gst/gstregistrybinary.c:
-	  Make sure to take a copy of the strings we're going to free later.
-
-2009-01-26 17:15:15 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasetransform.c:
-	  Add logging in failure case. Add more details to a todo comment.
-
-2009-01-26 17:14:07 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* tests/benchmarks/Makefile.am:
-	* tests/benchmarks/init.c:
-	  Add a trivial source for tracking gst_init time accross versions.
-
-2009-01-26 17:13:09 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gstcontroller.c:
-	  Add todo comments.
-
-2009-01-29 13:39:29 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Check suggested caps for proxy alloc
-	  Because we are trying to resolve a suggestion here we don't need
-	  to check on caps for proxy_alloc but we need to check on the suggested
-	  caps instead.
-
-2009-01-29 13:30:45 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Force reconfigure of basetransform to recheck alloc request
-	  While reconfiguring a basetransform element we need also to recheck
-	  the alloc request. Because it's possible that due to caps changes
-	  the proxy_alloc state is not correct anymore.
-
-2009-01-27 23:14:49 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstclock.c:
-	  Improve the docs for gst_clock_id_wait_async().
-	  Its mentioned in the section docs, but lets repeat at the function docs that the callback can be invoked from any thread.
-
-2009-01-27 17:53:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  docs: don't use ERROR_CFLAGS when building $docmodule-scan.c
-	  We don't want to use -Wall -Werror and friends when building the gtk-doc-generated
-	  $docmodule-scan.c, since we can't easily fix stuff if a certain gtk-doc/compiler
-	  combination breaks the build. Fixes build on ubuntu intrepid.
-
-2009-01-27 17:52:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	* .gitignore:
-	  Make git ignore backup files.
-
-2009-01-26 21:29:02 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* libs/gst/controller/gsthelper.c:
-	  Don't check timestamp here, its done in the called function anyway.
-
-2009-01-26 12:52:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstpoll.c:
-	  Avoid unneeded reads from the control socket
-	  Add a new variable that keeps track of the status of the control socket. This
-	  allows us to avoid doing a read() on the control socket when we did not write
-	  anything to it.
-	  Fixes #568438.
-
-2009-01-25 22:17:31 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstutils.c:
-	  Add more debug logging for failure cases.
-
-2009-01-25 22:11:32 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* gst/gstplugin.h:
-	  Document that GST_PLUGIN_DEFINE macros use PACKAGE define. Fixes #559722.
-	  PACKAGE is defined by autofoo. If people use something different, they might want to define it themself.
-
-2009-01-25 17:58:52 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/base/gstbasetransform.c:
-	  Fix typo
-
-2009-01-24 21:50:08 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* libs/gst/check/gstcheck.c:
-	  Only free list of buffers once
-
-2009-01-24 14:37:14 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	* docs/README:
-	  Fix typo
-
-2009-01-23 23:08:03 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* po/.gitignore:
-	  Ignore another file
-
-2009-01-23 21:44:11 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* win32/common/libgstbase.def:
-	  add gst_type_find_helper_for_extension to the win32 defs file
-
-2009-01-23 16:09:35 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* win32/common/config.h:
-	  Update win32 config.h for 0.10.22.1 dev cycle...
-
-2009-01-23 16:08:09 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* .gitignore:
-	* docs/gst/.gitignore:
-	* docs/libs/.gitignore:
-	* docs/libs/tmpl/.gitignore:
-	* libs/gst/base/.gitignore:
-	* libs/gst/check/.gitignore:
-	* libs/gst/controller/.gitignore:
-	* libs/gst/dataprotocol/.gitignore:
-	* libs/gst/net/.gitignore:
-	* plugins/indexers/.gitignore:
-	* tests/check/libs/.gitignore:
-	  Update a bunch of gitignores to clean up my git status output
-
-2009-01-23 09:54:53 +0100  Brian Cameron <brian.cameron@sun.com>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	  Fix linking failures on Solaris. Fixes bug #568481.
-	  Link libgstreamer with $(LIBM) as it uses math functions.
-	  Add a configure check for socket and nsl library and add
-	  them to LIBS if they're found. This is needed on Solaris
-	  for socket() and gethostbyname().
-
-2009-01-22 18:02:19 +0200  Stefan Kost <ensonic@users.sf.net>
-
-	* common:
-	  Update common snapshot.
-
-2009-01-22 13:58:57 +0100  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* plugins/elements/gstfilesrc.c:
-	  Improve debug output by logging the offsets. Fixes bug #568678.
-	  In create() also log the offsets and not only the
-	  buffer size.
-
-2009-01-22 13:51:02 +0100  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* common:
-	  Fix pre-commit hook
-
-2009-01-22 12:52:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
-
-2009-01-22 11:54:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  Add Doc for new typefind method.
-
-2009-01-22 10:45:59 +0000  Jan Schmidt <thaytan@noraisin.net>
-
-	* configure.ac:
-	  Back to development -> 0.10.22.1
-
-2009-01-22 10:16:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gstreamer
-
-2009-01-22 05:35:02 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* autogen.sh:
-	* common:
-	  Install and use pre-commit indentation hook from common
-
-2009-01-21 12:50:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* plugins/elements/gsttypefindelement.c:
-	  If no type was found using the typefind functions, try doing an upstream URI query to guess the type from the extension. See #566661.
-
-2009-01-21 12:48:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	  Add new typefing helper function to guess the caps based on the file extension. See #566661. API: gst_type_find_helper_for_extension()
-
-2009-01-21 12:45:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	  Allow adding a typefinder without a typefind function so that it can be used to map the caps to the extension. See #566661.
-
-2009-01-21 12:43:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* libs/gst/base/gstbasesink.c:
-	  Update the last_buffer exactly with the buffer that caused the preroll and also call the preroll method with that preroll buffer. Fixes #567725.
-
-2009-01-21 12:21:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
-
-	* gst/gstghostpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  do not call the unlink function on the target pad when the ghostpad is unlinked. Add some unit tests for this behaviour. Fixes #566936.
-
-2009-01-21 04:29:25 +0100  Edward Hervey <bilboed@bilboed.com>
-
-	* autogen.sh:
-	  autogen.sh : Use git submodule
-
-=== release 0.10.22 ===
-
-2009-01-19 22:58:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* po/LINGUAS:
-	* win32/common/config.h:
-	  Release 0.10.22
-	  Original commit message from CVS:
-	  Release 0.10.22
-
-2009-01-19 21:20:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2009-01-17 21:04:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: Fix order of members in GstBusSource structure - the first member must be the parent structure ie. GSou...
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_set_main_context), (gst_bus_create_watch):
-	  Fix order of members in GstBusSource structure - the first member
-	  must be the parent structure ie. GSource. Should make bus sources
-	  attached to non-default main contexts work in all cases now (ie.
-	  primarily in cases where the callback has a non-NULL user data
-	  argument). Fixes #562170.
-	  * tests/check/gst/gstbus.c: (test_custom_main_context):
-	  Add unit test for the above, based on code by
-	  Justin Karneges <justin at affinix com>.
-
-2009-01-15 10:04:37 +0000  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	  gst/gstpad.h: A small documentation fix.
-	  Original commit message from CVS:
-	  Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
-	  * gst/gstpad.h:
-	  A small documentation fix.
-
-2009-01-11 09:46:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.h: Initialize g_once_init* data with 0. Fixes bug #567225.
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Initialize g_once_init* data with 0. Fixes bug #567225.
-
-2009-01-09 23:37:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: pre-release 0.10.21.3
-	  Original commit message from CVS:
-	  * configure.ac:
-	  pre-release 0.10.21.3
-
-2009-01-09 15:43:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.*: Fix documentation for the wait_clock method, rename basesink -> sink for consistency.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_wait_clock):
-	  * libs/gst/base/gstbasesink.h:
-	  Fix documentation for the wait_clock method, rename basesink -> sink
-	  for consistency.
-
-2009-01-08 13:41:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gst.c: Create a registry if there is none also when the option for gst-disable-registry-update has been selected....
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Create a registry if there is none also when the option for
-	  gst-disable-registry-update has been selected. Fixes #567002
-
-2009-01-06 18:10:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Ref new enum type in gst_init.
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  Ref new enum type in gst_init.
-	  * win32/common/libgstreamer.def:
-	  Add recently-added API.
-
-2009-01-06 17:58:59 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt::
-	  * gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
-	  * gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
-	  (gst_plugin_class_init), (gst_plugin_list_free),
-	  (gst_plugin_ext_dep_get_env_vars_hash),
-	  (_priv_plugin_deps_env_vars_changed),
-	  (gst_plugin_ext_dep_extract_env_vars_paths),
-	  (gst_plugin_ext_dep_get_hash_from_stat_entry),
-	  (gst_plugin_ext_dep_direntry_matches),
-	  (gst_plugin_ext_dep_scan_dir_and_match_names),
-	  (gst_plugin_ext_dep_scan_path_with_filenames),
-	  (gst_plugin_ext_dep_get_stat_hash),
-	  (_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
-	  (gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
-	  (gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
-	  * gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
-	  (GST_PLUGIN_DEPENDENCY_FLAG_NONE),
-	  (GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
-	  (GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
-	  (GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
-	  (GstPluginDependencyFlags), (GstPluginFilter):
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
-	  (gst_registry_binary_save_plugin_dep),
-	  (gst_registry_binary_save_plugin),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin_dep_strv),
-	  (gst_registry_binary_load_plugin_dep),
-	  (gst_registry_binary_load_plugin):
-	  * gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
-	  (GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
-	  * gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
-	  Add API for making a GStreamer plugin 'dependent' on external files,
-	  directories or environment variables, so that GStreamer knows when
-	  it needs to re-load GStreamer plugins that wrap other plugin systems.
-	  Fixes bug #350477.
-	  API: add gst_plugin_add_dependency()
-	  API: add gst_plugin_add_dependency_simple()
-
-2009-01-06 13:00:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/faq/gst-uninstalled: Add libgstapp-0.10 from -base to search path and remove the old lib from -bad from the sear...
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  Add libgstapp-0.10 from -base to search path and remove the old
-	  lib from -bad from the search path.
-
-2009-01-05 15:42:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Release the object lock before calling the query convert pad functions to avoid deadlocks.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position_last),
-	  (gst_base_sink_get_position_paused), (gst_base_sink_get_position):
-	  Release the object lock before calling the query convert pad functions
-	  to avoid deadlocks.
-
-2009-01-05 15:41:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: The lock order should be maincontext > OBJECT_LOCK so we need to release the object lock when waking up...
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_wakeup_main_context):
-	  The lock order should be maincontext > OBJECT_LOCK so we need to release
-	  the object lock when waking up the mainloop to avoid deadlocks.
-
-2009-01-05 10:14:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Use an iterator to set the clock and the index so that we can release the object lock appropriately. Fi...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
-	  (gst_bin_change_state_func):
-	  Use an iterator to set the clock and the index so that we can release
-	  the object lock appropriately. Fixes #566393.
-
-2009-01-03 18:39:38 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstcollectpads.c: Use the name of the pads instead of a pointer, helps in debugging.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_available):
-	  Use the name of the pads instead of a pointer, helps in debugging.
-
-2009-01-03 18:16:54 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstindex.c: Add a debugging category for GstIndex, first little step in making indexing top-notch.
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_get_type):
-	  Add a debugging category for GstIndex, first little step in making
-	  indexing top-notch.
-
-2009-01-03 18:10:08 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/: Assign debug statements to relevant categories instead of the 'default' category so they don't get lost in debu...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_message_full),
-	  (gst_element_pads_activate):
-	  * gst/gstobject.c: (gst_object_dispatch_properties_changed):
-	  * gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
-	  (gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
-	  (gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
-	  (gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
-	  Assign debug statements to relevant categories instead of the 'default'
-	  category so they don't get lost in debugging.
-
-2009-01-01 21:27:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Add some ideas, how to make the graph smaller.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Add some ideas, how to make the graph smaller.
-	  * gst/gstutils.c:
-	  Add a comment from a debug session.
-	  * libs/gst/base/gstbasetransform.c:
-	  Log more context.
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  Indet.
-	  * plugins/elements/gstcapsfilter.c:
-	  Fix typo in docs.
-
-2008-12-27 17:41:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: Make GstBusSource work with non-default main contexts (#562170).
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
-	  (gst_bus_wakeup_main_context), (gst_bus_set_main_context),
-	  (gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
-	  (gst_bus_create_watch):
-	  Make GstBusSource work with non-default main contexts (#562170).
-	  * tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
-	  (test_watch), (test_watch_with_custom_context), (gst_bus_suite):
-	  Add test case for GstBusSource with a non-default main context.
-	  * tests/check/libs/.cvsignore:
-	  Ignore more.
-
-2008-12-27 16:23:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistrybinary.c: Wrap multi-line macros in G_STMT_{START|END}.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
-	  (unpack_string)::
-	  Wrap multi-line macros in G_STMT_{START|END}.
-
-2008-12-20 17:33:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that ne...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstquark.c:
-	  * gst/gstquark.h:
-	  * gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
-	  (gst_query_parse_uri):
-	  * gst/gstquery.h:
-	  API: Add URI query type. This is useful to query the URI
-	  of a sink/source element and can be used by demuxers that
-	  need to get data from other files.
-	  This query should go upstream by default.
-	  Fixes bug #562949.
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_query):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
-	  (gst_fd_src_query):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_query):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
-	  (gst_file_src_query):
-	  Implement URI query.
-
-2008-12-19 15:11:06 +0000  Alessandro Decina <alessandro.d@gmail.com>
-
-	  Don't forward gst_pad_set_caps() on a source ghostpad to its target.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c:
-	  * tests/check/gst/gstghostpad.c:
-	  Don't forward gst_pad_set_caps() on a source ghostpad to its target.
-	  That would cause the ghostpad to emit notify::caps two times (fist
-	  from gst_pad_set_caps() and after from on_src_target_notify()).
-
-2008-12-19 11:24:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstghostpad.c: Add some more unit-tests for the ghostpad notify signal, one of which currently fails.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstghostpad.c: (ghost_notify_caps),
-	  (GST_START_TEST):
-	  Add some more unit-tests for the ghostpad notify signal, one of which
-	  currently fails.
-
-2008-12-19 09:44:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  win32/common/libgstreamer.def: Add gst_tag_setter_reset_tags to the list of exported symbols.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add gst_tag_setter_reset_tags to the list of exported symbols.
-
-2008-12-17 16:16:45 +0000  Alessandro Decina <alessandro.d@gmail.com>
-
-	  In a source ghostpad, when caps are changed in the target pad, the change needs to be reflected in the ghostpad.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c:
-	  * tests/check/gst/gstghostpad.c:
-	  In a source ghostpad, when caps are changed in the target pad, the
-	  change needs to be reflected in the ghostpad.
-	  Fixes #564863.
-
-2008-12-17 09:37:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.c: Add FIXME for 0.11 to set the pad as message source and not the element. Otherwise it's impossible to...
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_found_tags_for_pad):
-	  Add FIXME for 0.11 to set the pad as message source and not
-	  the element. Otherwise it's impossible to detect for which
-	  pad the tags were found without adding an event probe
-	  or something similar to the pad.
-
-2008-12-16 21:33:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/faq/general.xml: Update the faq.
-	  Original commit message from CVS:
-	  * docs/faq/general.xml:
-	  Update the faq.
-
-2008-12-16 15:51:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Rename api added in previous commit and add since tag to docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttagsetter.c:
-	  * gst/gsttagsetter.h:
-	  Rename api added in previous commit and add since tag to docs.
-	  API: gst_tag_setter_reset_tags()
-
-2008-12-16 14:05:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add function to reset tagsetter for element reuse.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttagsetter.c:
-	  * gst/gsttagsetter.h:
-	  Add function to reset tagsetter for element reuse.
-	  API: gst_tag_setter_flush()
-
-2008-12-16 09:37:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.c: Avoid copy of empty taglist.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  Avoid copy of empty taglist.
-
-2008-12-16 09:23:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  More complete unit tests. Fix handling of empty taglists (they were not merged before).
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  * tests/check/gst/gsttag.c:
-	  More complete unit tests. Fix handling of empty taglists (they were
-	  not merged before).
-
-2008-12-16 07:07:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Update GstTagSetter and GstTagMergeMode documentation. Mention that tags can come from events and from applicat...
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  * gst/gsttagsetter.c:
-	  Update GstTagSetter and GstTagMergeMode documentation. Mention
-	  that tags can come from events and from application. Fix example.
-
-2008-12-15 15:27:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Remove the seqnum entry that we implemented in 0.10 already.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Remove the seqnum entry that we implemented in 0.10 already.
-	  Add entry about removing the format return value for queries.
-
-2008-12-15 12:47:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Expose the render-delay as a property so things like appsink can use it to tweak the syn...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property):
-	  Expose the render-delay as a property so things like appsink can use it
-	  to tweak the synchronisation.
-
-2008-12-10 15:19:45 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  libs/gst/check/gstcheck.h: Allow check tests to use
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.h: Allow check tests to use
-	  MAIN_START_THREADS()/MAIN_STOP_THREADS() multiple times. Also allows
-	  CK_FORK=no to be used with multiple check test that use threads.
-
-2008-12-09 16:23:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.c: Fix a caps memory leak introduced by the last change.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_get_compatible_pad):
-	  Fix a caps memory leak introduced by the last change.
-
-2008-12-09 15:45:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.c: Check if the caps of the pads are compatible before returning a pad and claiming it is compatible. Th...
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_get_compatible_pad):
-	  Check if the caps of the pads are compatible before returning
-	  a pad and claiming it is compatible. This, among other things,
-	  fixes a bug with gst-launch where an incompatible pad is chosen
-	  and linking fails. Fixes bug #544003.
-
-2008-12-09 14:46:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/check/gstcheck.c: Revert accidentially commited patch for bug #404631 which tries to print a backtrace if a ...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_init):
-	  Revert accidentially commited patch for bug #404631 which
-	  tries to print a backtrace if a testcase is terminated by
-	  a signal. This code was never activated as the corresponding
-	  configure.ac change wasn't committed.
-
-2008-12-09 10:58:01 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/libs/controller.c: This test should return TRUE now as syncing an uncontrolled object will succeed now (t...
-	  Original commit message from CVS:
-	  * tests/check/libs/controller.c: (GST_START_TEST):
-	  This test should return TRUE now as syncing an uncontrolled
-	  object will succeed now (there's nothing to sync).
-
-2008-12-09 09:56:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Aggregate return value for gst_controller_sync_values(). More info in logging. A...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  Aggregate return value for gst_controller_sync_values(). More info in
-	  logging. Always set values on first sync-call.
-	  * libs/gst/controller/gstcontrolsource.c:
-	  Microoptimizations.
-	  * libs/gst/controller/gsthelper.c:
-	  Fix return code and comment.
-
-2008-12-09 09:00:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-launch.1.in: Fix description of how to specify a type in caps. Fixes #553873.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Fix description of how to specify a type in caps. Fixes #553873.
-	  Also ranges and list contain values and not property-assignments.
-
-2008-12-08 22:28:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gsttee.c: Check for changed pads-list before checking the last returned
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
-	  Check for changed pads-list before checking the last returned
-	  GstFlowReturn because the pad could have been removed and we
-	  need to ignore the value in that case.
-
-2008-12-08 18:35:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.*: Add vmethod that is called before we start the transform and which can be used to c...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_getrange), (gst_base_transform_chain):
-	  * libs/gst/base/gstbasetransform.h:
-	  Add vmethod that is called before we start the transform and which can
-	  be used to configure the transform, such as dynamic properties.
-
-2008-12-05 20:32:03 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gst.c: Search for plugins on win32 based on the location of the gstreamer DLL.  Fixes #548786
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Search for plugins on win32 based on the location of the
-	  gstreamer DLL.  Fixes #548786
-
-2008-12-04 20:10:42 +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:45:05 +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-11-29 13:29:14 +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-27 11:12:30 +0000  이문형 <iwings@gmail.com>
-
-	  gst/gstpoll.c: Adds support for FD_CONNECT event (win32). See #562258.
-	  Original commit message from CVS:
-	  Patch by: 이문형 <iwings at gmail dot com>
-	  * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
-	  Adds support for FD_CONNECT event (win32). See #562258.
-
-2008-11-24 20:02:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesink.c: Turn comment into gtk-doc comment.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  Turn comment into gtk-doc comment.
-
-2008-11-24 15:27:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Revert quick accepcaps attempt, it's not fully equivalent to the old behaviour and ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_acceptcaps):
-	  Revert quick accepcaps attempt, it's not fully equivalent to the old
-	  behaviour and thus causes regressions.
-
-2008-11-24 11:56:44 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstfilesrc.c: Fix memory leak.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
-	  Fix memory leak.
-
-2008-11-24 09:59:07 +0000  Simon Holm Thøgersen <odie@cs.aau.dk>
-
-	  gst/gstregistry.c: Reduce the number of stat() calls for every file from three times to one time. Fixes bug #560360.
-	  Original commit message from CVS:
-	  Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Reduce the number of stat() calls for every file from three times
-	  to one time. Fixes bug #560360.
-
-2008-11-22 15:09:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Rename a variable to make the code clearer.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_acceptcaps):
-	  Rename a variable to make the code clearer.
-
-2008-11-21 20:57:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstidentity.c: Don't warning on offset==-1. Taken from _check_imperfect_offset().
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c:
-	  Don't warning on offset==-1. Taken from _check_imperfect_offset().
-
-2008-11-21 18:26:14 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstfilesrc.c: Check for localhost in URI was backwards, fix it. Fixes unit test.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c:
-	  Check for localhost in URI was backwards, fix it. Fixes unit test.
-
-2008-11-21 17:14:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Add beginnings of a more optimized acceptcaps function than the default core one.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_getcaps), (gst_base_transform_find_transform),
-	  (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
-	  Add beginnings of a more optimized acceptcaps function than the default
-	  core one.
-
-2008-11-21 16:48:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Avoid getting the acceptcaps function too early.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_accept_caps):
-	  Avoid getting the acceptcaps function too early.
-
-2008-11-21 08:09:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Make gst-launch handle LATENCY messages and make it recalculate the latency.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Make gst-launch handle LATENCY messages and make it recalculate the
-	  latency.
-
-2008-11-20 21:05:14 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstfilesrc.c: Use g_filename_from_uri() for URI parsing in filesrc rather than rolling out own sligh...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c:
-	  Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
-	  out own slightly incorrect version. Fixes use of some paths on
-	  win32.
-
-2008-11-20 20:44:56 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstregistrybinary.c: In win32 codepath, if we fail to write the registry, create the directory for it and try aga...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  In win32 codepath, if we fail to write the registry, create the
-	  directory for it and try again, matching the behaviour in non-win32
-	  codepaths.
-
-2008-11-20 14:23:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Changing the render delay changes the latency and so we must post a latency message.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
-	  Changing the render delay changes the latency and so we must post a
-	  latency message.
-
-2008-11-20 10:35:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquery.*: Add GstQueryType for custom queries instead of having to use the not-so-very-convenient registration ...
-	  Original commit message from CVS:
-	  * gst/gstquery.c:
-	  * gst/gstquery.h:
-	  Add GstQueryType for custom queries instead of having to use the
-	  not-so-very-convenient registration infrastructure to register new
-	  types.
-
-2008-11-19 12:20:03 +0000  Andrew Feren <acferen@yahoo.com>
-
-	  gst/gstobject.c: Unref the GEnumClass after usage again. Fixes bug #561501.
-	  Original commit message from CVS:
-	  Patch by: Andrew Feren <acferen at yahoo dot com>
-	  * gst/gstobject.c: (gst_object_default_deep_notify):
-	  Unref the GEnumClass after usage again. Fixes bug #561501.
-
-2008-11-19 12:06:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.*: Add do-latency signal with the old default fallback implementation. This allows for custom latency calc...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
-	  (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
-	  (gst_bin_change_state_func):
-	  * gst/gstbin.h:
-	  Add do-latency signal with the old default fallback implementation. This
-	  allows for custom latency calculations for when the default is not
-	  sufficient.
-	  API: GstBin::do-latency signal.
-
-2008-11-18 13:36:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  win32/common/libgstreamer.def: Add new symbols to .def file.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add new symbols to .def file.
-
-2008-11-18 09:58:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add method to recalculate and redistribute the latency on a bin.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbin.c: (gst_bin_recalculate_latency),
-	  (gst_bin_change_state_func):
-	  * gst/gstbin.h:
-	  Add method to recalculate and redistribute the latency on a bin.
-	  API: gst_bin_recalculate_latency().
-
-2008-11-18 09:52:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.h: Document the free_func.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Document the free_func.
-
-2008-11-17 21:43:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble as it is mapped to a cast on ...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  * libs/gst/controller/gstlfocontrolsource.c:
-	  Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
-	  as it is mapped to a cast on non-win32 platforms.
-
-2008-11-17 21:41:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/: Keep last-value and only call set_property if value has changed. This supresses all the g_objec...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  Keep last-value and only call set_property if value has changed. This
-	  supresses all the g_object_notifies we would trigger otherwise. It
-	  also allows the user to chage the value while there is no controller
-	  change.
-
-2008-11-17 21:25:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstvalue.c: Don't crash if either of the string GValues is empty.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Don't crash if either of the string GValues is empty.
-
-2008-11-17 15:48:14 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tools/gst-inspect.c (print_all_uri_handlers): New function, prints a summary of what URI schemes are supported by wha...
-	  Original commit message from CVS:
-	  2008-11-17  Andy Wingo  <wingo@pobox.com>
-	  * tools/gst-inspect.c (print_all_uri_handlers): New function,
-	  prints a summary of what URI schemes are supported by what
-	  elements.
-	  (main): Plumb in support for --uri-handlers or -u, and fix the
-	  argc check for -a and -u.
-
-2008-11-17 04:49:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.h: Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64 conversion functions.
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
-	  conversion functions.
-
-2008-11-13 18:09:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Avoid costly typechecking for trivially correct pointers.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_finalize):
-	  Avoid costly typechecking for trivially correct pointers.
-	  * gst/gstpoll.c: (gst_poll_wait):
-	  Add some G_LIKELY here and there.
-	  * libs/gst/base/gstadapter.c: (gst_adapter_push):
-	  Add some debug info.
-
-2008-11-13 18:05:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/wtay/poll-timeout: Small tweaks.
-	  Original commit message from CVS:
-	  * docs/random/wtay/poll-timeout:
-	  Small tweaks.
-
-2008-11-13 18:03:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/old/testsuite/: Remove references to deprecated API g_mem_chunk*.
-	  Original commit message from CVS:
-	  * tests/old/testsuite/caps/intersection.c: (main):
-	  * tests/old/testsuite/plugin/loading.c: (main):
-	  Remove references to deprecated API g_mem_chunk*.
-	  Fixes #560442.
-
-2008-11-12 16:55:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-inspect.c: Add --plugin option. Fixes #560301.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (main):
-	  Add --plugin option. Fixes #560301.
-
-2008-11-12 12:45:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/wtay/poll-timeout: Quick braindump for a possible (not totally verified) atomic case.
-	  Original commit message from CVS:
-	  * docs/random/wtay/poll-timeout:
-	  Quick braindump for a possible (not totally verified) atomic case.
-
-2008-11-12 10:39:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.*: Don't write and check a CRC for the binary registry file. It's guaranteed that the registry ...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
-	  (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_write_cache),
-	  (gst_registry_binary_check_magic):
-	  * gst/gstregistrybinary.h:
-	  Don't write and check a CRC for the binary registry file. It's
-	  guaranteed that the registry is completely written (it's first written
-	  to a temporary file and then moved) and if the registry was corrupted
-	  by some hardware failure we would have bigger problems.
-	  Bump binary registry version to 0.10.21.1 for this as it's an
-	  incompatible change and to ensure that the registry gets rebuild
-	  after the update.
-	  This saves some milliseconds for reading/writing the registry.
-	  Fixes bug #560399.
-
-2008-11-11 14:50:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/wtay/poll-timeout: Some pseudo code for how we could implement clock timeouts with GstPoll.
-	  Original commit message from CVS:
-	  * docs/random/wtay/poll-timeout:
-	  Some pseudo code for how we could implement clock timeouts with GstPoll.
-
-2008-11-10 13:56:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/elements/gstfilesink.c: Update Author string to match others.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c:
-	  Update Author string to match others.
-
-2008-11-06 15:37:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstvalue.c: Reorganize some more, be more conservative with the GST_TYPE_ARRAY not being fixed and inline the tri...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
-	  Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
-	  being fixed and inline the trivial check.
-
-2008-11-06 15:09:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Callgrind micro optimisations.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
-	  (gst_caps_merge_structure), (gst_caps_get_structure),
-	  (gst_caps_copy_nth), (gst_caps_set_simple),
-	  (gst_caps_set_simple_valist), (gst_caps_is_fixed),
-	  (gst_caps_is_equal_fixed), (gst_caps_intersect),
-	  (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
-	  (gst_caps_to_string):
-	  Callgrind micro optimisations.
-	  Avoid array bounds checks and force inline of trivial function.
-	  * gst/gstobject.c: (gst_object_set_name_default):
-	  -1 is equivalent to letting glib to the strlen but then there is more
-	  room for optimisations and it's not our fault.
-	  * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
-	  no need to clear the array, we're cool.
-	  * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
-	  The most common _is_fixed() check is done on fundamental glib base
-	  types so we check this first instead of doing a huge amount of
-	  useless GST_TYPE_ARRAY calls.
-
-2008-11-06 12:03:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes.
-	  Original commit message from CVS:
-	  * gst/gstevent.h:
-	  Add a SKIP seek flag for use with advanced trickmodes.
-	  API: GstSeekFlags::GST_SEEK_FLAG_SKIP
-
-2008-11-05 16:57:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gststructure.c: No need to memset, we can clear the value ourselves.
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
-	  No need to memset, we can clear the value ourselves.
-	  * gst/gstvalue.c: (gst_type_is_fixed),
-	  (gst_value_get_compare_func):
-	  Some optimisations from a few callgrind sessions:
-	  When checking if a type is fixed, check for trivial fundamental types
-	  first before checking types for which we need to get the type followed
-	  by the heavy duty type checks, this reduces the amount of
-	  g_type_fundamental() calls a lot.
-	  When getting the compare function, first check for our registered types.
-	  If that fails, do the heavy duty g_type_is_a() checks, reduces the
-	  amount of g_type_is_a() considerably.
-
-2008-11-05 11:17:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Mumble something about removing GstXML.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Mumble something about removing GstXML.
-
-2008-11-04 18:10:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Get the seqnum before we dispose the message.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_handle_message_func):
-	  Get the seqnum before we dispose the message.
-
-2008-11-04 16:10:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Refer to the framestepping document.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Refer to the framestepping document.
-
-2008-11-04 15:56:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Copy seqnums from events to messages so that they can all be related back to eachother.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_handle_async_start),
-	  (gst_bin_handle_message_func), (gst_bin_query):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
-	  (gst_base_sink_event), (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_loop), (gst_base_src_change_state):
-	  Copy seqnums from events to messages so that they can all be related
-	  back to eachother.
-
-2008-11-04 15:52:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Print the message seqnums.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Print the message seqnums.
-
-2008-11-04 13:56:37 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
-	  Original commit message from CVS:
-	  2008-11-04  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
-	  Also add API: to previous changelog entry.
-
-2008-11-04 12:22:53 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Add sequence numbers to events and messages. See #559250.
-	  Original commit message from CVS:
-	  2008-11-04  Andy Wingo  <wingo@pobox.com>
-	  Add sequence numbers to events and messages. See #559250.
-	  * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
-	  New functions.
-	  * gst/gstevent.h:
-	  * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
-	  events with a new sequence number, and copy it when copying.
-	  (gst_event_get_seqnum, gst_event_set_seqnum): Accessors for an
-	  event's sequence number.
-	  * gst/gstmessage.h:
-	  * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
-	  (gst_event_get_seqnum, gst_event_set_seqnum): As with events, so
-	  with messages.
-	  * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
-
-2008-11-04 11:55:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/manual/: Some Application Development Manual fixes thanks to
-	  Original commit message from CVS:
-	  * docs/manual/advanced-position.xml:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-bus.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/manual/intro-gstreamer.xml:
-	  * docs/manual/intro-preface.xml:
-	  Some Application Development Manual fixes thanks to
-	  Andrew Feren. Fixes #558459.
-
-2008-11-03 12:29:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.c: Don't bother with the GTimer if we don't output the results.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  Don't bother with the GTimer if we don't output the results.
-
-2008-11-03 10:59:49 +0000  David Schleef <ds@schleef.org>
-
-	  libs/gst/net/Makefile.am: Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
-	  Original commit message from CVS:
-	  Patch by: David Schleef  <ds@schleef.org>
-	  * libs/gst/net/Makefile.am:
-	  Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
-
-2008-10-31 15:54:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.c: Oh my, studip, stupid me. Remove double stat() call.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  Oh my, studip, stupid me. Remove double stat() call.
-
-2008-10-31 14:24:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: Use g_unlink instead of unlink.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  Use g_unlink instead of unlink.
-	  * gst/gststructure.c:
-	  Use glib type.
-	  * gst/gstutils.c:
-	  Add a FIXME:.
-	  * gst/gsttaglist.c:
-	  * gst/gsttypefind.c:
-	  * gst/gstvalue.c:
-	  Formatting & whitespaces.
-
-2008-10-31 08:53:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event.
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c:
-	  Doc typo. Use return value of parent_class->event.
-	  * plugins/elements/gsttypefindelement.c:
-	  Chain up at the end for consistency.
-
-2008-10-30 15:29:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Change to xinclude based build - its faster and easier to maintain.
-	  Original commit message from CVS:
-	  * docs/Makefile.am:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/running.xml:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  Change to xinclude based build - its faster and easier to maintain.
-
-2008-10-30 14:15:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Use g_unlink() as none of these are directories.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  * gst/gstregistryxml.c:
-	  Use g_unlink() as none of these are directories.
-
-2008-10-29 17:04:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Some more comments.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
-	  Some more comments.
-
-2008-10-27 15:02:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: If we have a fixate function, call it even if we already have fixed caps because th...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_find_transform), (gst_base_transform_getrange):
-	  If we have a fixate function, call it even if we already have fixed caps
-	  because the subclass might add some caps. Makes audioconvert add a
-	  default channel layout.
-
-2008-10-24 09:41:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Clear the output buffer variable.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_getrange):
-	  Clear the output buffer variable.
-	  Cleanups to the error path in the getrange function.
-	  Fixes #557649.
-
-2008-10-23 12:52:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Use gst_buffer_try_new_and_alloc() and handle errors instead of using gst_buffer_new_and_alloc() w...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  Use gst_buffer_try_new_and_alloc() and handle errors instead of
-	  using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
-	  be allocated.
-
-2008-10-23 09:49:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of...
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_newsegment_full):
-	  Set the last_stop to a more meaningful position when configuring the
-	  segment. ie. the start/stop of the segment or clipped against the
-	  updated segment boundaries.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  Add some unit tests for the last_stop.
-
-2008-10-23 07:11:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbytereader.c:
-	  Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
-	  copies of them.
-
-2008-10-23 07:09:21 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fi...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.h:
-	  API: Move float endianness conversion macros from libgstfloatcast
-	  to core as it's useful in general, even in core. Fixes bug #555196.
-	  This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
-	  GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
-	  GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
-	  Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
-	  GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
-	  GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
-	  GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
-
-2008-10-22 14:47:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
-	  (gst_byte_reader_peek_data):
-	  * libs/gst/base/gstbytereader.h:
-	  * win32/common/libgstbase.def:
-	  API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
-	  to get a pointer to the data at the current position and have
-	  a guaranteed size.
-
-2008-10-22 14:25:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Fix a bug in the output of the configure script summary when --gst-disable-registry is supplied
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Fix a bug in the output of the configure script summary
-	  when --gst-disable-registry is supplied
-
-2008-10-22 13:47:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/: Fix the names of 2 functions in the docs strings.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbitreader.c:
-	  * libs/gst/base/gstbytereader.c:
-	  Fix the names of 2 functions in the docs strings.
-
-2008-10-21 16:30:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Protect sink_alloc caps with the sinkpad lock to avoid nasty caps refcount problems...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
-	  Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
-	  refcount problems as seen in banshee and maybe also in farsight2.
-	  Remove atomic int now that we need to take the lock anyways.
-
-2008-10-20 15:18:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Implement more seeking in pull mode.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
-	  (gst_base_sink_default_prepare_seek_segment),
-	  (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
-	  (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
-	  (gst_base_sink_query):
-	  Implement more seeking in pull mode.
-	  Use pad convert functions to convert position to the requested format.
-	  Fix position/duration reporting in pull mode.
-	  Implement position and duration reporting in other formats than time.
-	  * libs/gst/base/gstbasesink.h:
-	  Add member to keep track of when the segment is playing.
-
-2008-10-20 13:32:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: When we use gst_pad_alloc_buffer() without wanting to set the caps we also don't need to check if the c...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_configure_src):
-	  When we use gst_pad_alloc_buffer() without wanting to set the caps we
-	  also don't need to check if the caps are compatible because the caller
-	  presumably is going to perform its own custom checks. Fixes some cases
-	  where basetransform elements would error out when it was not needed.
-
-2008-10-20 13:29:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Update comment.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
-	  Update comment.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_handle_buffer),
-	  (gst_base_transform_reconfigure):
-	  Add some debug info.
-	  * win32/common/libgstbase.def:
-	  Add new method.
-
-2008-10-19 19:57:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
-	  Remove duplicated assignment and log a message in failure case.
-
-2008-10-19 10:13:39 +0000  Dig Ge <dig.ge.cn@gmail.com>
-
-	  tests/examples/helloworld/helloworld.c: Fix copy'n'paste bug in hello world example (#556900).
-	  Original commit message from CVS:
-	  Patch by: Dig Ge <dig.ge.cn at gmail com>
-	  * tests/examples/helloworld/helloworld.c: (main):
-	  Fix copy'n'paste bug in hello world example (#556900).
-
-2008-10-17 13:27:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Query the total number of bytes when activating the pad in pull mode.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
-	  (gst_base_sink_query):
-	  Query the total number of bytes when activating the pad in pull mode.
-	  Implement duration query in pull mode by using the installed pad convert
-	  function to convert from bytes to the requested format.
-
-2008-10-16 14:09:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add method to commit the state in subclasses.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
-	  (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
-	  (gst_base_sink_event), (gst_base_sink_perform_seek),
-	  (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
-	  (gst_base_sink_send_event), (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  Add method to commit the state in subclasses.
-	  Refactor the flush_start and flush_stop code because we need it for
-	  flushing while seeking too.
-	  Implement the beginnings of seeking in pull mode.
-	  Use the segment last_stop field for the pulling offset.
-	  Fix the pause method in pull mode.
-	  Configure the segment to BYTES for pull mode.
-	  API: GstBaseSink::gst_base_sink_do_preroll()
-
-2008-10-16 13:56:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Update some docs.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
-	  Update some docs.
-
-2008-10-14 17:10:43 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstquark.c: Fix printf format warning.
-	  Original commit message from CVS:
-	  * gst/gstquark.c: (_priv_gst_quarks_initialize):
-	  Fix printf format warning.
-
-2008-10-14 12:34:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/gsttee.c: Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
-	  Fix flow aggregation of tee. Error out immediately for all flow returns
-	  except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
-	  and return OK if at least one pad is linked.
-	  Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
-	  and otherwise returned the flow return of the last pad, which is wrong.
-	  * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
-	  (GST_START_TEST), (tee_suite):
-	  Add unit tests for the flow aggregation.
-
-2008-10-13 17:19:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Remove item from the todo list because it was fixed with the latency
-	  state change rewrites.
-	  * docs/design/part-seeking.txt:
-	  * docs/design/part-segments.txt:
-	  Update some docs.
-	  * gst/gstevent.c: (gst_event_new_new_segment_full),
-	  (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
-	  (gst_event_parse_buffer_size), (gst_event_new_qos),
-	  (gst_event_parse_qos), (gst_event_new_seek),
-	  (gst_event_parse_seek), (gst_event_new_latency),
-	  (gst_event_parse_latency):
-	  Use quarks to construct and parse events.
-	  * gst/gstquark.c: (_priv_gst_quarks_initialize):
-	  * gst/gstquark.h:
-	  Add some more quarks to the table.
-	  Emit a warning when the quark tables are not in sync.
-	  * tests/check/gst/gstbus.c: (GST_START_TEST):
-	  Add an assert.
-
-2008-10-13 16:47:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/: Don't install static libs for plugins. Fixes #550851 for core.
-	  Original commit message from CVS:
-	  * plugins/elements/Makefile.am:
-	  * plugins/indexers/Makefile.am:
-	  Don't install static libs for plugins. Fixes #550851 for core.
-
-2008-10-13 10:50:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_source_finalize),
-	  (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
-	  (gst_bus_enable_sync_message_emission),
-	  (gst_bus_disable_sync_message_emission),
-	  (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
-	  Fix deadlock, g_source_get_id() cannot be called in finalize.
-	  Keep track of the watch source by keeping a pointer to the source object
-	  instead.
-	  Use the bus lock to protect access to the pointer to the current
-	  watch source.
-
-2008-10-13 09:22:22 +0000  Olivier Crete <tester@tester.ca>
-
-	  gst/gstbus.c: Only allow one bus watch to be set at a time. This is necessary because the dispatcher pops the message...
-	  Original commit message from CVS:
-	  Base on Patch by: Olivier Crete <tester at tester dot ca>
-	  * gst/gstbus.c: (gst_bus_source_finalize),
-	  (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
-	  Only allow one bus watch to be set at a time. This is necessary
-	  because the dispatcher pops the message from the bus and the second
-	  watcher will then get NULL or the next message (and the first won't
-	  get this next message then, etc). If more than one "watcher" is
-	  required signal watches should be used. Fixes bug #526044.
-
-2008-10-12 22:16:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tools/gst-launch.c: Change the printing of the 'buffering...' output to avoid putting a \r in a translateable string ...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c:
-	  Change the printing of the 'buffering...' output to avoid putting
-	  a \r in a translateable string (flagged by the TP).
-
-2008-10-10 15:38:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstxml.c: Clarify that the save_thyself() and restore_thyself() virtual functions of GstObject need to be overrid...
-	  Original commit message from CVS:
-	  * gst/gstxml.c:
-	  Clarify that the save_thyself() and restore_thyself() virtual
-	  functions of GstObject need to be overriden, not
-	  gst_object_(save|restore)_thyself() which is impossible.
-	  Fixes bug #555700.
-
-2008-10-10 15:27:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Revert a patch from 21 months ago that broke caps negotiation in pull mode. Basically, having a buffer ...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
-	  Revert a patch from 21 months ago that broke caps negotiation in pull
-	  mode. Basically, having a buffer pass over a pad will trigger the
-	  setcaps function when caps change, just like in push mode.
-
-2008-10-10 15:12:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-negotiation.txt: Update the docs some more.
-	  Original commit message from CVS:
-	  * docs/design/part-negotiation.txt:
-	  Update the docs some more.
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
-	  If we pull a buffer with non-trivial caps, suggest those caps with the
-	  max probability.
-
-2008-10-10 14:31:03 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Add another limitation of pad-blocking with segment seeks not pushing
-	  EOS events.
-
-2008-10-10 13:24:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  win32/common/: Add new symbols to the win32 defs files
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  Add new symbols to the win32 defs files
-
-2008-10-10 10:38:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
-	  (gst_bin_handle_message_func):
-	  The message src can be NULL, don't try to print the object names in that
-	  case.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
-	  Add some more debug info.
-	  * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
-	  (GST_START_TEST):
-	  Add some debug.
-	  Fix the test, pull based sinks go ASYNC to PAUSED, just like other
-	  scheduling modes.
-
-2008-10-10 10:01:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-negotiation.txt: Small doc update.
-	  Original commit message from CVS:
-	  * docs/design/part-negotiation.txt:
-	  Small doc update.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
-	  (gst_base_sink_init), (gst_base_sink_set_blocksize),
-	  (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
-	  (gst_base_sink_loop), (gst_base_sink_pad_activate),
-	  (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
-	  (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  Add blocksize property and methods to control the amount of data
-	  to pull.
-	  Negotiate first before activating upstream in pull mode so that they can
-	  negotiate themselves.
-	  When we operate in pull mode, we only accept the caps that we
-	  negotiated.
-	  Make the sink go ASYNC to PAUSED, like all other sinks.
-	  API: GstBaseSink::gst_base_sink_set_blocksize()
-	  API: GstBaseSink::gst_base_sink_get_blocksize()
-	  API: GstBaseSink::blocksize
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
-	  (gst_base_src_set_live), (gst_base_src_is_live),
-	  (gst_base_src_set_format), (gst_base_src_query_latency),
-	  (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
-	  (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
-	  (gst_base_src_set_property), (gst_base_src_get_property):
-	  * libs/gst/base/gstbasesrc.h:
-	  Add typechecking in public API functions.
-	  Add methods to control the blocksize in subclasses.
-	  API: GstBaseSrc::gst_base_src_set_blocksize()
-	  API: GstBaseSrc::gst_base_src_get_blocksize()
-
-2008-10-10 09:11:10 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/gst/gstutils.c: We now see 3 events go through our pad, since basesink now sends upstream latency events.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
-	  (buffer_probe), (event_probe), (GST_START_TEST):
-	  We now see 3 events go through our pad, since basesink now sends
-	  upstream latency events.
-
-2008-10-08 15:21:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Release the object lock before trying to flush the bus.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Release the object lock before trying to flush the bus.
-
-2008-10-08 14:21:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Forward LATENCY events upstreams so that elements know about the total pipeline latency....
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
-	  Forward LATENCY events upstreams so that elements know about the total
-	  pipeline latency. Fixes #555307.
-
-2008-10-08 11:20:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstqueue.c: Allow through queries when we don't know how as otherwise it's not possible to query the...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c:
-	  Allow through queries when we don't know how
-	  to adjust them (not TIME or BYTES), as otherwise it's
-	  not possible to query the current position in order
-	  to seek in other formats at all.
-
-2008-10-08 11:12:15 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2008-10-08 11:11:25 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/gst/gstreamer-sections.txt: Placate doc pendants.
-	  Original commit message from CVS:
-	  2008-10-08  Andy Wingo  <wingo@pobox.com>
-	  * docs/gst/gstreamer-sections.txt: Placate doc pendants.
-
-2008-10-08 10:39:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.*: Unbreak -good build, private is a reserved c++ keyword.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c:
-	  * gst/gstghostpad.h:
-	  Unbreak -good build, private is a reserved c++ keyword.
-
-2008-10-08 10:19:11 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.*: Fix unintended API removal: re-add GST_GHOST_PAD_CAST to the header.
-	  Original commit message from CVS:
-	  2008-10-08  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
-	  * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
-	  removal: re-add GST_GHOST_PAD_CAST to the header.
-
-2008-10-08 10:12:45 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
-	  Original commit message from CVS:
-	  2008-10-08  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
-	  (GstGhostPadClass): Publically expose these structures so as to
-	  allow easy subclassing from C. Hide the member data behind a
-	  private opaque data pointer.
-	  * gst/gstghostpad.c: Adapt to store instance data in the type
-	  instance's private data region, not in the public struct.
-
-2008-10-08 10:07:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: If we can't get a cache file don't try to save something to it.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
-	  If we can't get a cache file don't try to save something to it.
-	  Dereferencing NULL pointers usually isn't a good idea.
-
-2008-10-08 08:54:55 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.c (gst_ghost_pad_construct): If we got a template via g_object_get(), be sure to unref it.
-	  Original commit message from CVS:
-	  2008-10-08  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
-	  template via g_object_get(), be sure to unref it.
-	  * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
-
-2008-10-07 15:12:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/: Add Sparc ABI checks
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_sparc.h:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_sparc.h:
-	  Add Sparc ABI checks
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Cast signed integer to unsigned to avoid a compiler warning.
-
-2008-10-07 12:26:40 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gstbytereader.c: Use new GST_READ_UINT24_(LE|BE) macros.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
-	  (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
-	  (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
-	  (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
-	  (gst_byte_reader_peek_int24_be):
-	  Use new GST_READ_UINT24_(LE|BE) macros.
-
-2008-10-07 12:00:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict al...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.h:
-	  Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
-	  as it's too easy to break the ISO C strict aliasing rules with simple
-	  casts to the corresponding type and this would introduce hard to debug
-	  bugs. Fixes bug #545714.
-	  API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
-
-2008-10-07 06:56:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Add 'Since' bits to gtk-doc chunks for new API.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
-	  * gst/gstghostpad.c: (gst_ghost_pad_construct):
-	  Add 'Since' bits to gtk-doc chunks for new API.
-
-2008-10-06 21:52:57 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Fix documentation
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Fix documentation
-
-2008-10-06 18:03:58 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog, doh
-	  Original commit message from CVS:
-	  changelog, doh
-
-2008-10-06 18:01:42 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function that will be called on the malloc_data to free it. B...
-	  Original commit message from CVS:
-	  2008-10-06  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
-	  that will be called on the malloc_data to free it. Basically a way
-	  to avoid subclassing when all you need is a different free
-	  function, i.e. free() instead of g_free().
-	  * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
-	  calling the free function.
-	  (gst_buffer_init): Initialize the free function to g_free.
-
-2008-10-06 17:57:25 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.*: New function, finishes the initialization of ghost pad. Useful for language bindings and subclasse...
-	  Original commit message from CVS:
-	  2008-10-06  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.h:
-	  * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
-	  finishes the initialization of ghost pad. Useful for language
-	  bindings and subclassers of GstGhostPad. Fixes #539108.
-	  (gst_ghost_pad_new_full): Use the new constructor.
-
-2008-10-06 16:15:02 +0000  Olivier Crete <tester@tester.ca>
-
-	  gst/gstbin.c: Keep track of pads that are being linked/unlinked and resync the state changes.
-	  Original commit message from CVS:
-	  Base on Patch by: Olivier Crete <tester at tester dot ca>
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
-	  (gst_bin_remove_func), (update_degree),
-	  (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
-	  Keep track of pads that are being linked/unlinked and resync the state
-	  changes.
-	  * gst/gstpad.c: (gst_pad_get_direction),
-	  (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
-	  (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
-	  (gst_pad_link_prepare), (gst_pad_link),
-	  (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
-	  (gst_pad_check_pull_range), (gst_pad_get_range),
-	  (gst_pad_pull_range):
-	  Some code cleanups, use macros to check pad direction.
-	  Don't need to take the lock on the pad direction.
-	  Post structure change when pads are linked/unlinked.
-	  Change some checks into _return_if_fail().
-	  * tests/check/gst/gstbin.c:
-	  (test_link_structure_change_state_changed_sync_cb),
-	  (GST_START_TEST), (gst_bin_suite):
-	  Add testcase for pad link/unlinke resync during a state change.
-	  Fixes #510354.
-
-2008-10-06 15:31:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations ...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.c: (gst_message_new_structure_change),
-	  (gst_message_parse_structure_change):
-	  * gst/gstmessage.h:
-	  Implement STRUCTURE_CHANGED messages. These messages will be used to
-	  signal the parent bin of link/unlink operations that could require a
-	  resync when doing a state change. See ##510354.
-	  API: gst_message_new_structure_change()
-	  API: gst_message_parse_structure_change()
-
-2008-10-06 15:21:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquark.*: Add some more quarks for new message. See #510354.
-	  Original commit message from CVS:
-	  * gst/gstquark.c:
-	  * gst/gstquark.h:
-	  Add some more quarks for new message. See #510354.
-
-2008-10-06 12:57:39 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	  ChangeLog surgery: add API tag
-	  Original commit message from CVS:
-	  ChangeLog surgery: add API tag
-
-2008-10-06 12:41:53 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/Makefile.am:
-	  * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
-	  (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
-	  (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
-	  (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
-	  (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
-	  (gst_bit_reader_skip_to_byte):
-	  * libs/gst/base/gstbitreader.h:
-	  * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
-	  (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
-	  (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
-	  (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
-	  (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
-	  (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
-	  (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
-	  (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
-	  (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
-	  (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
-	  (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
-	  (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
-	  * libs/gst/base/gstbytereader.h:
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/bitreader.c: (GST_START_TEST),
-	  (gst_bit_reader_suite):
-	  * tests/check/libs/bytereader.c: (GST_START_TEST),
-	  (gst_byte_reader_suite):
-	  Add bit reader and byte reader classes, including documentation
-	  and an extensive unit test suite. Fixes bug #553554.
-
-2008-10-06 08:58:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Improve position reporting while flushing and other intermediate state changes. Fixes #5...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
-	  (gst_base_sink_query):
-	  Improve position reporting while flushing and other intermediate state
-	  changes. Fixes #553874.
-
-2008-10-06 08:45:42 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	  gst/gstpad.c: Fix small refount leak in caps compatibility check.
-	  Original commit message from CVS:
-	  Patch by: Antoine Tremblay <hexa00 at gmail dot com>
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
-	  Original patch by : Simon Descaries
-	  Fix small refount leak in caps compatibility check.
-	  Fixes #551676.
-
-2008-10-06 07:30:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/pwg/advanced-request.xml: Fix 0.8 api usage in example. Fixes #554561
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-request.xml:
-	  Fix 0.8 api usage in example. Fixes #554561
-	  * docs/pwg/appendix-porting.xml:
-	  Change 0.9 to 0.10 here.
-
-2008-10-06 07:13:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/manual/basics-data.xml: Change "event-event interaction" to "element-element interaction".
-	  Original commit message from CVS:
-	  * docs/manual/basics-data.xml:
-	  Change "event-event interaction" to "element-element interaction".
-	  Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
-	  updates.
-
-2008-10-05 10:01:50 +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
-
-=== release 0.10.21 ===
-
-2008-10-02 23:59:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.10.21
-	  Original commit message from CVS:
-	  Release 0.10.21
-
-2008-10-02 22:42:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/pt_BR.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2008-09-28 22:49:56 +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-28 21:19:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  * plugins/elements/gstcapsfilter.c:
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/.cvsignore:
-	  * tests/check/elements/capsfilter.c:
-	  Fix assertion in basetransform when the subclass chooses not to
-	  allocate a buffer in prepare_buffer(), and make capsfilter error out
-	  cleanly if requested to apply caps that don't completely specify the
-	  buffer. Fixes #551509
-
-2008-09-24 15:03:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Take new caps ref because our old one might have been gone when the subclass perfor...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer):
-	  Take new caps ref because our old one might have been gone when the
-	  subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
-
-2008-09-16 15:35:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Also commit ChangeLog
-	  Original commit message from CVS:
-	  Also commit ChangeLog
-
-2008-09-16 15:24:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Gah. Commit pre-release info that should have gone in last week already.
-	  Original commit message from CVS:
-	  Gah. Commit pre-release info that should have gone in last week already.
-	  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:18:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: Do not probe availability of check unit test library when cross compiling, as test would not work anywa...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Do not probe availability of check unit test library when cross
-	  compiling, as test would not work anyway. Also cleanup verbose output
-	  of the check test. Fixes #551952.
-
-2008-09-14 22:01:30 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	  gst/gstelement.c: Avoid leaking the parent ref when we fail changing the state of the element using gst_element_sync_...
-	  Original commit message from CVS:
-	  Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
-	  * gst/gstelement.c: (gst_element_sync_state_with_parent):
-	  Avoid leaking the parent ref when we fail changing the state of the
-	  element using gst_element_sync_state_with_parent(). Fixes #551978.
-
-2008-09-11 16:56:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/intro-motivation.xml: Remove some bits that no longer apply, update others (#551642).
-	  Original commit message from CVS:
-	  * docs/manual/intro-motivation.xml::
-	  Remove some bits that no longer apply, update others (#551642).
-
-2008-09-09 18:47:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/config.h.in: Add GST_DATADIR, hard-code cpu to x86.
-	  Original commit message from CVS:
-	  * win32/common/config.h.in:
-	  Add GST_DATADIR, hard-code cpu to x86.
-	  * win32/common/libgstreamer.def:
-	  Spaces to tabs.
-
-2008-09-03 05:52:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.h: Fix Since: markers for new geo tags.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  Fix Since: markers for new geo tags.
-
-2008-09-02 20:00:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.h: Fix actual tag name define after renaming from altitude to elevation.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  Fix actual tag name define after renaming from altitude to elevation.
-
-2008-09-01 14:05:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Add fallback when calling the deprecated function on an element that implements the new internal_link h...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (add_unref_pad_to_list),
-	  (gst_pad_get_internal_links_default):
-	  Add fallback when calling the deprecated function on an element that
-	  implements the new internal_link handler.
-
-2008-09-01 13:35:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  Add new tags for geo location and clarify purpose of existing location
-	  tag. Fixes #481169
-
-2008-09-01 11:27:45 +0000  Olivier Crete <tester@tester.ca>
-
-	  gst/gstpad.c: Use thread-safe internal links iterator. Fixes #549504.
-	  Original commit message from CVS:
-	  Patch by: Olivier Crete <tester at tester dot ca>
-	  * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
-	  (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
-	  Use thread-safe internal links iterator. Fixes #549504.
-
-2008-09-01 10:42:04 +0000  Olivier Crete <tester@tester.ca>
-
-	  Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct...
-	  Original commit message from CVS:
-	  Based on patch by: Olivier Crete <tester at tester dot ca>
-	  * docs/gst/gstreamer-sections.txt:
-	  * win32/common/libgstreamer.def:
-	  * gst/gstpad.c: (gst_pad_init),
-	  (gst_pad_set_iterate_internal_links_function),
-	  (int_link_iter_data_free), (iterate_pad),
-	  (gst_pad_iterate_internal_links_default),
-	  (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
-	  * gst/gstpad.h:
-	  Add threadsafe replacement functions for getting internal links of an
-	  element. Deprecate the old internal links functions.
-	  API:GstPad::gst_pad_set_iterate_internal_links_function()
-	  API:GstPad::GstPadIterIntLinkFunction
-	  API:GstPad::gst_pad_iterate_internal_links()
-	  API:GstPad::gst_pad_iterate_internal_links_default()
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
-	  (gst_proxy_pad_init):
-	  Implement threadsafe internal links.
-	  * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
-	  Unit test for internal links on tee. See #549504.
-
-2008-08-30 12:57:47 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/Makefile.am: libs/transform1 test requires libs/test_transform.c
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  libs/transform1 test requires libs/test_transform.c
-
-2008-08-30 12:07:41 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpad.c: Die evil deadlock, die !
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_internal_links_default):
-	  Die evil deadlock, die !
-
-2008-08-30 11:55:59 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Fix all leaks due to the bug in gst_pad_template_new() by which it does not steal the refcount of the given caps as s...
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_get_compatible_pad):
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
-	  Fix all leaks due to the bug in gst_pad_template_new() by which it does
-	  not steal the refcount of the given caps as stated.
-	  REVERT THIS COMMIT ONCE FIXED !
-	  REVERT THIS COMMIT ONCE FIXED !
-	  REVERT THIS COMMIT ONCE FIXED !
-	  REVERT THIS COMMIT ONCE FIXED !
-	  REVERT THIS COMMIT ONCE FIXED !
-	  REVERT THIS COMMIT ONCE FIXED !
-
-2008-08-29 17:58:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstiterator.*: After 3 years it's about time to revise the documentation of the iterator objects.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c:
-	  * gst/gstiterator.h:
-	  After 3 years it's about time to revise the documentation of the
-	  iterator objects.
-
-2008-08-29 16:10:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Make the internal links function less thread-unsafe and add some comments, dunno why.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_internal_links_default):
-	  Make the internal links function less thread-unsafe and add some
-	  comments, dunno why.
-
-2008-08-29 14:12:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst_private.h: Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes build with --disable-gst-debug.
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
-	  build with --disable-gst-debug.
-
-2008-08-29 00:34:58 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstpadtemplate.c: Revert last change, since it breaks a few plugins, ffmpeg, alaw, and mulaw.  Code is correct, b...
-	  Original commit message from CVS:
-	  * gst/gstpadtemplate.c: Revert last change, since it breaks
-	  a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
-	  but shouldn't be enabled until we've released fixed versions
-	  of -good and -ffmpeg.
-
-2008-08-28 20:12:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstobject.c: Put the gst_object_get_name() back in.
-	  Original commit message from CVS:
-	  * gst/gstobject.c:
-	  Put the gst_object_get_name() back in.
-
-2008-08-28 12:32:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpadtemplate.c: The old behaviour was that gst_pad_template_new() takes ownership of the caps. As we now call g...
-	  Original commit message from CVS:
-	  * gst/gstpadtemplate.c:
-	  The old behaviour was that gst_pad_template_new() takes ownership of
-	  the caps. As we now call g_object_new() which calls g_object_set() and
-	  which copies the caps, we have to unref them to not leak them. Fixes
-	  make valgrid for me.
-
-2008-08-28 10:45:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsturi.c: Don't segfault on input like "tel:+1-123-555-1234".
-	  Original commit message from CVS:
-	  * gst/gsturi.c:
-	  Don't segfault on input like "tel:+1-123-555-1234".
-
-2008-08-27 07:18:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstobject.c: Due to popular request also include ObjectType in gst_object_get_path_string(). Makes gst-launch -v ...
-	  Original commit message from CVS:
-	  * gst/gstobject.c:
-	  Due to popular request also include ObjectType in
-	  gst_object_get_path_string(). Makes gst-launch -v bit more useful.
-
-2008-08-27 03:04:23 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: Remove check in gst_pad_query_convert() that
-	  src_val must be positive, because that's not a requirement.
-	  This causes problems with converting negative granulepos
-	  values for Dirac.
-	  * gst/gstquery.c: Same, gst_query_new_convert().
-
-2008-08-27 02:59:59 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: Remove check in gst_pad_query_convert() that
-	  src_val must be positive, because that's not a requirement.
-	  This causes problems with converting negative granulepos
-	  values for Dirac.
-
-2008-08-25 11:06:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.c: Add some more debugging to the clock slaving code.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_add_observation):
-	  Add some more debugging to the clock slaving code.
-	  * win32/common/libgstbase.def:
-	  Add new basetransform method.
-
-2008-08-25 11:00:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Take the (recursive) state lock between getting the locked state of an element and changing the element...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_element_set_state):
-	  Take the (recursive) state lock between getting the locked state of an
-	  element and changing the element state. This allows the application to
-	  lock an element's state and then change its state without races.
-
-2008-08-25 10:52:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: When an element is in the locked state we still want to update the base_time of the element.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_element_set_state):
-	  When an element is in the locked state we still want to update the
-	  base_time of the element.
-
-2008-08-21 11:17:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Use the result from gst_pad_set_caps() instead of assuming the element always accepted th...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
-	  Use the result from gst_pad_set_caps() instead of assuming the element
-	  always accepted the caps computed by the default negotiate function.
-
-2008-08-20 10:52:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Implement method for reconfiguring basetransform.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
-	  (gst_base_transform_chain), (gst_base_transform_suggest),
-	  (gst_base_transform_reconfigure):
-	  * libs/gst/base/gstbasetransform.h:
-	  Implement method for reconfiguring basetransform.
-	  API: GstBaseTransform::gst_base_transform_reconfigure()
-
-2008-08-20 07:22:11 +0000  Murray Cumming <murrayc@murrayc.com>
-
-	  gst/gstutils.c: Mention that this is just like gst_buffer_merge() but with extra unreffing for C coders. Advise langu...
-	  Original commit message from CVS:
-	  patch by: Murray Cumming <murrayc@murrayc.com>
-	  * gst/gstutils.c:
-	  Mention that this is just like gst_buffer_merge() but with extra
-	  unreffing for C coders. Advise language bindings not to wrap it.
-	  Fixes Bug #533856.
-	  Also fix file comment.
-
-2008-08-20 07:03:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/: Call super::event() when not handling it. Fixes #544855.
-	  Original commit message from CVS:
-	  reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
-	  * plugins/elements/gstfakesink.c:
-	  * plugins/elements/gstfakesrc.c:
-	  Call super::event() when not handling it. Fixes #544855.
-
-2008-08-19 17:23:18 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  plugins/elements/gstfilesrc.c: Use 64 bit variants of stat functions on win32, to enable support of large files there.
-	  Original commit message from CVS:
-	  Patch by: Alessandro Decina <alessandro@nnva.org>
-	  * plugins/elements/gstfilesrc.c:
-	  Use 64 bit variants of stat functions on win32, to enable support
-	  of large files there.
-	  Fixes #547277.
-
-2008-08-19 16:47:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Improve position reporting in the flushing state.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
-	  (gst_base_sink_event), (gst_base_sink_chain_unlocked),
-	  (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
-	  (gst_base_sink_get_position), (gst_base_sink_change_state):
-	  Improve position reporting in the flushing state.
-	  Also report the position when we are not yet prerolled but we
-	  have a newsegment event. Fixes #543444.
-	  Improve the pull-based negotiation code.
-	  * tests/check/elements/fakesink.c: (GST_START_TEST),
-	  (fakesink_suite):
-	  Add testcase for position reporting while flushing in PAUSED and
-	  PLAYING.
-	  * tests/check/generic/sinks.c: (GST_START_TEST):
-	  Update unit-test, we can now query the position as soon as we receive a
-	  NEWSEGMENT event.
-
-2008-08-19 08:52:05 +0000  Jason Zhao <e3423c@motorola.com>
-
-	  libs/gst/base/gstbasesink.c: When the subclass event handler releases the PREROLL_LOCK, we could be in the flushing s...
-	  Original commit message from CVS:
-	  Based on patch by: Jason Zhao <e3423c at motorola dot com>
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
-	  When the subclass event handler releases the PREROLL_LOCK, we could be
-	  in the flushing state and we have to ignore the event. Fixes #548394.
-
-2008-08-18 11:28:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.1.in: Document GST_REGISTRY_UPDATE environment variable.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Document GST_REGISTRY_UPDATE environment variable.
-
-2008-08-18 09:59:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: If the element is configured in passthrough mode but the prepare_output_buffer gave...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer):
-	  If the element is configured in passthrough mode but the
-	  prepare_output_buffer gave us a new output buffer, discard that buffer
-	  and reuse the input buffer.
-
-2008-08-15 17:01:07 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  plugins/elements/gsttee.*: Protect pad_alloc with a new lock so that we can be sure that nothing is performing a pad_...
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
-	  * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
-	  (gst_tee_request_new_pad), (gst_tee_release_pad),
-	  (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
-	  * plugins/elements/gsttee.h:
-	  Protect pad_alloc with a new lock so that we can be sure that nothing is
-	  performing a pad_alloc when removing the pad. Fixes #547835.
-	  * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
-	  (buffer_alloc_harness_teardown), (app_thread_func),
-	  (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
-	  Added testcase for shutdown race.
-
-2008-08-14 20:05:33 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstpad.h: Add doc
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  Add doc
-
-2008-08-14 16:37:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Go over the buffer_alloc function again and make sure we always end up allocating a...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_buffer_alloc):
-	  Go over the buffer_alloc function again and make sure we always end up
-	  allocating a buffer.
-	  Add some more docs.
-	  Avoid doing pad alloc when we have a pending suggestion because we
-	  cannot yet deal with changing caps in that case. Fixes #547728
-
-2008-08-14 14:26:20 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/: Add one more image showing different times together with a describing paragraph. Fixes #547729.
-	  Original commit message from CVS:
-	  patch by: Luc Pionchon <luc.pionchon@nokia.com>
-	  * docs/manual/advanced-clocks.xml:
-	  * docs/manual/clocks.png:
-	  * docs/manual/diagrams-clocks.svg:
-	  Add one more image showing different times together with a describing
-	  paragraph. Fixes #547729.
-
-2008-08-14 14:04:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  win32/common/libgstbase.def: Add new method.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  Add new method.
-
-2008-08-14 13:57:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Don't overwrite the outsize when calculating the expected size of a new buffer beca...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps),
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
-	  Don't overwrite the outsize when calculating the expected size of a new
-	  buffer because we still need it in case we cannot process the new
-	  buffer.
-	  When converting the size of the new buffer to an upstream size, actually
-	  use the expected size of the buffer, not some other random value.
-	  Use an atomic int to signal that a new upstream caps suggestion is
-	  available.
-	  When we can convert the current buffer to a new format, check if the
-	  buffer size is of the expected size and allocate a new buffer of the
-	  expected size when this is not the case.
-	  * tests/check/libs/transform1.c: (GST_START_TEST):
-	  remove ifdeffed code from the unit test.
-
-2008-08-12 18:48:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  pkgconfig/: Remove -lgstcontrol-0.10 which never worked anyway as the lib is called gstcontroller-0.10.
-	  Original commit message from CVS:
-	  * pkgconfig/gstreamer-uninstalled.pc.in:
-	  * pkgconfig/gstreamer.pc.in:
-	  Remove -lgstcontrol-0.10 which never worked anyway as the lib is
-	  called gstcontroller-0.10.
-
-2008-08-12 06:27:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Remove double interface from doc-string.
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.h:
-	  * gst/gstpreset.h:
-	  Remove double interface from doc-string.
-
-2008-08-12 06:16:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/: Fix headings in docs and gtk-doc warnings.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c:
-	  * libs/gst/base/gstbasetransform.c:
-	  Fix headings in docs and gtk-doc warnings.
-
-2008-08-11 19:04:04 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstregistrybinary.c: Don't use g_mkstmp() on win32, it's unsafe if glib is using a different libc.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
-	  libc.
-	  Fixes #544776.
-
-2008-08-11 15:14:28 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Fix a "may be used unitialized" warning.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Fix a "may be used unitialized" warning.
-
-2008-08-11 08:06:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Document preset-iface vmethods.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpreset.h:
-	  Document preset-iface vmethods.
-
-2008-08-11 07:07:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/manual/advanced-interfaces.xml: Turn thoughts about HAL into a note-tag. Remove mentioning that is only used to ...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-interfaces.xml:
-	  Turn thoughts about HAL into a note-tag. Remove mentioning that is
-	  only used to discover devices.
-
-2008-08-07 15:49:00 +0000  Frederic Crozat <fcrozat@mandriva.org>
-
-	  gst/gst.c: Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#5468...
-	  Original commit message from CVS:
-	  Patch by: Frederic Crozat <fcrozat@mandriva.org>
-	  * gst/gst.c: (init_pre):
-	  Make sure gettext returns translations in UTF-8 encoding rather
-	  than in the current locale encoding (#546822).
-
-2008-08-07 12:28:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Fix subset test.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
-	  Fix subset test.
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST):
-	  Improve unit test subset tests and add a testcase for the subset failure
-	  cases.
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Improve subtraction unit test.
-
-2008-08-07 07:01:15 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gsttee.c: Unlock, instead of locking again.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c:
-	  Unlock, instead of locking again.
-
-2008-08-05 16:50:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.h: Clarify the docs a bit more.
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  Clarify the docs a bit more.
-
-2008-08-05 15:42:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/examples/metadata/read-metadata.c: Don't leak old taglist.
-	  Original commit message from CVS:
-	  * tests/examples/metadata/read-metadata.c:
-	  Don't leak old taglist.
-
-2008-08-05 15:03:27 +0000  Olivier Crete <tester@tester.ca>
-
-	  gst/gststructure.c: Avoid overflows in fixation code when dealing with MAXINT values, which v4l2src seems to do.
-	  Original commit message from CVS:
-	  Patch by: Olivier Crete <tester at tester dot ca>
-	  * gst/gststructure.c:
-	  (gst_structure_fixate_field_nearest_fraction):
-	  Avoid overflows in fixation code when dealing with MAXINT values, which
-	  v4l2src seems to do.
-	  Fixes #546328.
-	  * tests/check/gst/gststructure.c: (GST_START_TEST):
-	  Make a unit test to check the fix.
-
-2008-08-05 11:12:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstcapsfilter.c: Use new caps suggestion feature of basetransform to request a caps negotiation upst...
-	  Original commit message from CVS:
-	  * plugins/elements/gstcapsfilter.c: (copy_func),
-	  (gst_capsfilter_set_property):
-	  Use new caps suggestion feature of basetransform to request a caps
-	  negotiation upstream.
-
-2008-08-05 11:11:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add new function:
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add new function:
-	  API: GstBaseTransform::gst_base_transform_suggest()
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
-	  (gst_base_transform_init), (gst_base_transform_transform_caps),
-	  (gst_base_transform_transform_size),
-	  (gst_base_transform_configure_caps),
-	  (gst_base_transform_can_transform),
-	  (gst_base_transform_find_transform), (gst_base_transform_setcaps),
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
-	  (gst_base_transform_chain), (gst_base_transform_activate),
-	  (gst_base_transform_set_passthrough),
-	  (gst_base_transform_is_passthrough),
-	  (gst_base_transform_set_in_place),
-	  (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
-	  (gst_base_transform_set_qos_enabled),
-	  (gst_base_transform_is_qos_enabled),
-	  (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
-	  (gst_base_transform_reconfigure):
-	  * libs/gst/base/gstbasetransform.h:
-	  Rewrite of basetransform to perform negotiation outside of the
-	  buffer_alloc functions.  Fixes #545853.
-	  * tests/check/libs/transform1.c: (GST_START_TEST),
-	  (buffer_alloc_ct2):
-	  Update unit test.
-
-2008-08-05 05:44:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstpreset.c: Only run preset tests when $HOME is writable. Preliminary fix for #545433.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpreset.c:
-	  Only run preset tests when $HOME is writable. Preliminary fix for
-	  #545433.
-
-2008-08-04 15:49:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	  (gst_bin_change_state_func), (bin_handle_async_done),
-	  (gst_bin_handle_message_func):
-	  Fix race for bins that simulate ASYNC state changes by inserting
-	  ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
-	  pending ASYNC messages even when the bin does not have ASYNC children.
-	  We note detect this behaviour because we will receive an ASYNC message
-	  that is originating from the bin itself.
-	  Fixes races with decodebin2 state changes.
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  Add some more debug.
-
-2008-08-04 13:01:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.c: Fix typo.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  Fix typo.
-
-2008-08-04 12:46:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.c: Argh. actually save the text before committing. Now adds gst_tag_merge_strings_with_comma() to gst_...
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  Argh. actually save the text before committing. Now adds
-	  gst_tag_merge_strings_with_comma() to gst_tag_register().
-
-2008-08-04 12:30:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.*: Do as tim pointed out and actually register the new tag. Also improve te docs and use gst_tag_merge...
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  Do as tim pointed out and actually register the new tag. Also improve
-	  te docs and use gst_tag_merge_strings_with_comma() method to allow
-	  retriving all keywords merged in one list.
-
-2008-08-01 11:57:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Revert 'accidential' change of the configure option removal. We still need to generate the types file in configure --...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer.types:
-	  Revert 'accidential' change of the configure option removal. We still
-	  need to generate the types file in configure --disable-load-save.
-
-2008-08-01 11:34:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.h:
-	  Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
-
-2008-08-01 10:02:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpadtemplate.c: Add "name-template", "direction", "presence" and "caps" properties, so that gst_pad_template_ne...
-	  Original commit message from CVS:
-	  * gst/gstpadtemplate.c:
-	  (gst_pad_template_class_init), (gst_static_pad_template_get),
-	  (gst_pad_template_new), (gst_pad_template_pad_created),
-	  (gst_pad_template_set_property), (gst_pad_template_get_property):
-	  Add "name-template", "direction", "presence" and "caps" properties,
-	  so that gst_pad_template_new() is just a thin wrapper around
-	  g_object_new(), which is better for bindings. (Fixes: #539772)
-
-2008-07-31 17:16:50 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gsturi.c: Be more liberal in what URIs we accept.
-	  Original commit message from CVS:
-	  * gst/gsturi.c:
-	  Be more liberal in what URIs we accept.
-	  Do not unescape bits of the URI for no apparent reason before passing to
-	  the element. Fixes #545352.
-
-2008-07-31 15:24:21 +0000  Robert Schwebel <r.schwebel@pengutronix.de>
-
-	  gst/gst.c: Include gstconfig.h as macros from it are used. Fixes bug #545607.
-	  Original commit message from CVS:
-	  Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
-	  * gst/gst.c:
-	  Include gstconfig.h as macros from it are used. Fixes bug #545607.
-
-2008-07-31 15:20:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types:
-	  * docs/gst/gstreamer.types.in:
-	  * gst/Makefile.am:
-	  * gst/gst.c:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
-	  * gst/gstconfig.h.in:
-	  * gst/gstelement.c: (gst_element_get_index):
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistryxml.c: (load_feature),
-	  (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
-	  * plugins/Makefile.am:
-	  * tools/gst-indent:
-	  * tools/gst-inspect.c: (print_index_info), (print_element_list),
-	  (print_plugin_features), (print_element_features):
-	  * tools/gst-xmlinspect.c: (print_event_masks),
-	  (print_element_info):
-	  * win32/common/gstconfig.h:
-	  Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
-	  Disabling the indexers and URI handler code will only reduce the
-	  required amount of memory by a very small amount but on the other hand
-	  requires much more maintaince work. Apart from that many places of
-	  code are broken when disabling them.
-	  Disabling the enum types doesn't reduce the required amount of memory
-	  by more than a few bytes and makes it hard to fix bugs like #539772,
-	  i.e. use the enums as GObject properties.
-
-2008-07-31 13:06:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Add some thoughts and problems with upstream renegotiation.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Add some thoughts and problems with upstream renegotiation.
-
-2008-07-31 12:50:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Remove silly redundant debug.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_acceptcaps_default),
-	  (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
-	  Remove silly redundant debug.
-	  Add some more debug info.
-	  Clarify the docs regarding new caps received from pad_alloc.
-
-2008-07-31 09:55:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstcapsfilter.c: Make setting the caps more threadsafe.
-	  Original commit message from CVS:
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
-	  (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
-	  Make setting the caps more threadsafe.
-
-2008-07-31 08:39:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-element-transform.txt: Update docs.
-	  Original commit message from CVS:
-	  * docs/design/part-element-transform.txt:
-	  Update docs.
-
-2008-07-31 08:37:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Add and use a custom acceptcaps function instead of falling back to the potentially less...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_init),
-	  (gst_queue_acceptcaps):
-	  Add and use a custom acceptcaps function instead of falling back to the
-	  potentially less optimized default implementation.
-
-2008-07-29 15:32:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Only sanity-check the buffer size if requested_caps == buffer_caps (ie. don't take pad caps into accoun...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer_full):
-	  Only sanity-check the buffer size if requested_caps == buffer_caps
-	  (ie. don't take pad caps into account, they're not relevant here)
-
-2008-07-29 14:32:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gsttee.*: Reverting as not everything is clear yet. Needs some general design work.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttee.h:
-	  Reverting as not everything is clear yet. Needs some general design
-	  work.
-
-2008-07-29 13:36:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ChangeLog: ChangeLog surgery for tee commit.
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  ChangeLog surgery for tee commit.
-
-2008-07-29 13:30:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: Cleanup section-file.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Cleanup section-file.
-
-2008-07-29 11:57:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gsttee.*: Relay tag events in tee. Fixes parts of #474016.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttee.h:
-	  Relay tag events in tee. Fixes parts of #474016.
-
-2008-07-29 00:45:29 +0000  Michael Smith <msmith@xiph.org>
-
-	  Build the net library if we have winsock2.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * libs/gst/Makefile.am:
-	  Build the net library if we have winsock2.
-
-2008-07-26 12:00:36 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/: Replace one diagram with two separate ones and updates others.
-	  Original commit message from CVS:
-	  patch by: Luc Pionchon <luc.pionchon@nokia.com>
-	  * docs/manual/advanced-threads.xml:
-	  * docs/manual/diagrams-pipelines.svg:
-	  * docs/manual/hello-world.png:
-	  * docs/manual/linked-elements.png:
-	  * docs/manual/mime-world.png:
-	  * docs/manual/queue.png:
-	  * docs/manual/thread-buffering.png:
-	  * docs/manual/thread-synchronizing.png:
-	  Replace one diagram with two separate ones and updates others.
-	  Fixes #542401.
-
-2008-07-25 10:24:43 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstelement.h: Fix link in documentation.
-	  Original commit message from CVS:
-	  * gst/gstelement.h:
-	  Fix link in documentation.
-
-2008-07-24 17:38:43 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstmessage.c: Fix confusing documentation.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c:
-	  Fix confusing documentation.
-
-2008-07-24 15:13:24 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  libs/gst/base/gstbasesrc.h: revert the changes to the header file for the ABI.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.h:
-	  revert the changes to the header file for the ABI.
-
-2008-07-24 14:47:58 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  libs/gst/base/gstbasesrc.*: Don't cache the seekable status.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c:
-	  * libs/gst/base/gstbasesrc.h:
-	  Don't cache the seekable status.
-	  Fixes bug #544174
-
-2008-07-24 12:36:20 +0000  Rene Stadler <mail@renestadler.de>
-
-	  docs/manual/advanced-autoplugging.xml: Add fakesink to example code to close the pipeline graph.  This prevents the p...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml: Add fakesink to example
-	  code to close the pipeline graph.  This prevents the program from
-	  printing internal data flow errors.
-
-2008-07-23 15:44:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/manual/basics-bus.xml: Correct typo. Fixes bug #544320.
-	  Original commit message from CVS:
-	  * docs/manual/basics-bus.xml:
-	  Correct typo. Fixes bug #544320.
-
-2008-07-22 18:12:54 +0000  Michael Smith <msmith@xiph.org>
-
-	  configure.ac: Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
-	  Add check (taken from -base) for winsock, adds WIN32_LIBS
-	  * gst/Makefile.am:
-	  Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
-	  winsock.
-	  Define GST_EXPORTS when building libgstreamer (only used on win32)
-	  * gst/gst_private.h:
-	  * gst/gstinfo.h:
-	  Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
-	  for symbols that we need to export in both these files.
-	  * gst/gstpoll.c:
-	  Include gst_private.h higher up to avoid some compile problems on win32.
-
-2008-07-22 09:24:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstvalue.c: Fix typos.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Fix typos.
-
-2008-07-22 00:29:55 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstcaps.c: Previous commit was wrong NULL caps does not exist and indicate an error, so also add a FIXME to gst_c...
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  Previous commit was wrong NULL caps does not exist
-	  and indicate an error, so also add a FIXME to
-	  gst_caps_is_equal where NULL caps are accepted.
-
-2008-07-21 23:02:40 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstcaps.c: Allow passing of NULL to gst_caps_union
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  Allow passing of NULL to gst_caps_union
-
-2008-07-21 21:32:06 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstghostpad.c: Add in doc that gst_ghost_pad_set_target can accept
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c:
-	  Add in doc that gst_ghost_pad_set_target can accept
-	  NULL to clear target
-
-2008-07-15 22:53:00 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/: GstRegistryPool doesn't exist; don't refer to it in docs.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  * gst/gstregistry.c:
-	  GstRegistryPool doesn't exist; don't refer to it in docs.
-	  Don't refer to functions that don't exist in docs, it's
-	  unhelpful.
-
-2008-07-12 17:51:16 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gst.c: Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
-
-2008-07-12 17:43:15 +0000  tmatth <le.businessman@gmail.com>
-
-	  docs/pwg/building-testapp.xml: Don't use an undeclared variable in the example program.
-	  Original commit message from CVS:
-	  Patch by: tmatth <le dot businessman at gmail dot com>
-	  * docs/pwg/building-testapp.xml:
-	  Don't use an undeclared variable in the example program.
-	  Fixes bug #542573.
-
-2008-07-12 09:59:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Squeeze ghost-pad links and remove <> from classname labels to save more horizontal space.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Squeeze ghost-pad links and remove <> from classname labels to save
-	  more horizontal space.
-
-2008-07-11 19:30:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Give request and sometimes pads a different shpe style. Condense the graphs a little more.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Give request and sometimes pads a different shpe style. Condense the
-	  graphs a little more.
-
-2008-07-10 00:30:02 +0000  Michael Smith <msmith@xiph.org>
-
-	  configure.ac: Don't require flex and bison if the parser is disabled.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Don't require flex and bison if the parser is disabled.
-
-2008-07-08 11:20:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolationcontrolsource.c: Don't use declarations after statements.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  (_list_find_sorted_custom):
-	  Don't use declarations after statements.
-
-2008-07-08 09:04:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstchildproxy.c: Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature of the the child-added / -removed si...
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.c: (gst_child_proxy_base_init):
-	  Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
-	  of the the child-added / -removed signals as GstChildProxy
-	  only supports GstObjects.
-
-2008-07-07 11:01:26 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstdebugutils.c: Fix memleak
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Fix memleak
-
-2008-07-06 12:49:43 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  gst/gstpoll.c: Fix "ignored return value" compiler warning with newer glibc.
-	  Original commit message from CVS:
-	  Patch by: Alessandro Decina <alessandro at nnva dot org>
-	  * gst/gstpoll.c:
-	  Fix "ignored return value" compiler warning with newer glibc.
-
-2008-07-05 16:28:28 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstchildproxy.c: Fix copy&paste error in gst_child_proxy_removed() documentation.
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.c:
-	  Fix copy&paste error in gst_child_proxy_removed() documentation.
-
-2008-07-02 14:43:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstplugin.c: Print error debug message if plugin description fields that should be set are NULL.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
-	  Print error debug message if plugin description fields that should
-	  be set are NULL.
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
-	  Don't crash if the string to serialise is NULL (it really should
-	  not be, but apparently this used to work with the xml registry ...).
-
-2008-07-02 12:23:12 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  tools/gst-plot-timeline.py: Fix parsing of log messages
-	  Original commit message from CVS:
-	  * tools/gst-plot-timeline.py:
-	  Fix parsing of log messages
-
-2008-07-01 09:27:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/libgstbase.def: Sort alphabetically so make check-exports doesn't barf.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def::
-	  Sort alphabetically so make check-exports doesn't barf.
-
-2008-07-01 05:53:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstevent.c: Use gst_format_get_name() to improve debug output.
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  Use gst_format_get_name() to improve debug output.
-	  * gst/gstpreset.c:
-	  Remove #ifdef'ed code. Add TODO comment.
-	  * gst/gstsegment.c:
-	  Add debug output to ease spotting format != segment.format assertions.
-
-2008-06-30 09:42:43 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/libs/gdp.c: Also enable the GDP unit test again on PPC now that the bug is fixed.
-	  Original commit message from CVS:
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  Also enable the GDP unit test again on PPC now that the bug
-	  is fixed.
-
-2008-06-30 09:38:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-06-29 16:11:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstinterpolationcontrolsource.c: Optimize list handling. Use own find function. Exploit that fact...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  Optimize list handling. Use own find function. Exploit that fact that
-	  the list is sorted. Also pass back the node before, so that we can
-	  insert quickly. Have a fast path for append.
-
-2008-06-29 15:00:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/: Fix two typos.
-	  Original commit message from CVS:
-	  * docs/design/draft-framestep.txt:
-	  * docs/design/part-negotiation.txt:
-	  Fix two typos.
-
-2008-06-27 09:02:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac:
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Show configuration sumary after configure run. Based on patch by
-	  Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
-
-2008-06-27 07:03:05 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/: Add scale factor for pdf output.
-	  Original commit message from CVS:
-	  patch by: Luc Pionchon  <luc.pionchon@nokia.com>
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/advanced-threads.xml:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-elements.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/basics-pads.xml:
-	  Add scale factor for pdf output.
-	  * docs/manual/intro-basics.xml:
-	  Switched sections "pads" and "bins" and added a pipeline diagram.
-	  * docs/manual/intro-gstreamer.xml:
-	  Added more info on gstreamer.
-	  * docs/manual/intro-motivation.xml:
-	  Commented out the whole section "current problem", which sounds
-	  historical and somehow osolete; it could be turned in a positive
-	  way and reused to improve the design principles.
-	  * docs/manual/intro-preface.xml:
-	  - Update URLs to library.gnome.org.
-	  - Do not mention GTK+ in preliminary reading (irrelevant).
-	  - Mention Plugin Writer's Manual and further reading only in the
-	  previous section.
-	  - Added a list of most relevant GObject/glib topics.
-	  * docs/manual/Makefile.am:
-	  * docs/manual/bin-element-ghost.fig:
-	  * docs/manual/bin-element-ghost.png:
-	  * docs/manual/bin-element-noghost.fig:
-	  * docs/manual/bin-element-noghost.png:
-	  * docs/manual/bin-element.fig:
-	  * docs/manual/bin-element.png:
-	  * docs/manual/filter-element-multi.fig:
-	  * docs/manual/filter-element-multi.png:
-	  * docs/manual/filter-element.fig:
-	  * docs/manual/filter-element.png:
-	  * docs/manual/gstreamer-overview.png:
-	  * docs/manual/hello-world.fig:
-	  * docs/manual/hello-world.png:
-	  * docs/manual/linked-elements.fig:
-	  * docs/manual/linked-elements.png:
-	  * docs/manual/mime-world.fig:
-	  * docs/manual/mime-world.png:
-	  * docs/manual/queue.fig:
-	  * docs/manual/queue.png:
-	  * docs/manual/simple-player.png:
-	  * docs/manual/sink-element.fig:
-	  * docs/manual/sink-element.png:
-	  * docs/manual/src-element.fig:
-	  * docs/manual/src-element.png:
-	  * docs/manual/diagrams-general.svg:
-	  * docs/manual/diagrams-pipelines.svg:
-	  Removed .fig, added .png counterpart.
-	  Fixes: #539137
-
-2008-06-26 20:27:00 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  plugins/elements/gstmultiqueue.*: revert extra-size-buffers stuff, caused some race conditions and extra-size-buffers...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  * plugins/elements/gstmultiqueue.h:
-	  revert extra-size-buffers stuff, caused some race conditions
-	  and extra-size-buffers is not used anymore. Docs needs some updates
-
-2008-06-26 12:52:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/: Update win32 files.
-	  Original commit message from CVS:
-	  * win32/common/config.h:
-	  * win32/common/gstenumtypes.c:
-	  * win32/common/gstenumtypes.h:
-	  * win32/common/gstversion.h:
-	  Update win32 files.
-
-2008-06-26 12:24:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstdebugutils.h: Add missing Since' markers to gtk-doc blurbs.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.h: (GstDebugGraphDetails),
-	  (GST_DEBUG_BIN_TO_DOT_FILE):
-	  Add missing Since' markers to gtk-doc blurbs.
-
-2008-06-26 11:59:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/libs/transform1.c: Add some more tests with switching caps in buffer_alloc.
-	  Original commit message from CVS:
-	  * tests/check/libs/transform1.c: (buffer_alloc_pt1),
-	  (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
-	  (set_caps_1), (set_caps_ct1), (transform_ct1),
-	  (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
-	  (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
-	  (transform_size_ct2), (buffer_alloc_ct2):
-	  Add some more tests with switching caps in buffer_alloc.
-
-2008-06-25 17:27:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/libs/: More tests, prepare for tests with switching caps in buffer_alloc.
-	  Original commit message from CVS:
-	  * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
-	  (gst_test_trans_class_init), (result_sink_chain),
-	  (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
-	  (gst_test_trans_push), (gst_test_trans_pop):
-	  * tests/check/libs/transform1.c: (buffer_alloc_pt1),
-	  (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
-	  (set_caps_1), (set_caps_ct1), (transform_ct1),
-	  (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
-	  (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
-	  (transform_size_ct2), (buffer_alloc_ct2),
-	  (gst_basetransform_suite):
-	  More tests, prepare for tests with switching caps in buffer_alloc.
-
-2008-06-25 15:39:02 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  plugins/elements/gstmultiqueue.*: Fix dead-lock in underrun_cb
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  * plugins/elements/gstmultiqueue.h:
-	  Fix dead-lock in underrun_cb
-
-2008-06-25 14:49:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-states.txt: Fix device open/close docs.
-	  Original commit message from CVS:
-	  * docs/design/part-states.txt:
-	  Fix device open/close docs.
-
-2008-06-25 14:47:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ChangeLog: Mention bugnumber for last commit.
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  Mention bugnumber for last commit.
-
-2008-06-25 14:44:52 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/manual.xml: - Reorganised the previous "introduction" bundle into Foreword,
-	  Original commit message from CVS:
-	  patch by: Luc Pionchon  <luc.pionchon@nokia.com>
-	  * docs/manual/manual.xml:
-	  - Reorganised the previous "introduction" bundle into Foreword,
-	  Introduction, and About GStreamer. The two first are <preface>
-	  docbook elements. The later is the first part of the book.
-	  - added intro-gstreamer.xml (content partially from
-	  intro-preface.xml)
-	  - moved appendix-win32.xml into appendix-integration.xml
-	  * docs/manual/intro-preface.xml: gstreamer section moved...
-	  * docs/manual/intro-gstreamer.xml: ...here. new file.
-	  * docs/manual/appendix-win32.xml: removed file. Content moved...
-	  * docs/manual/appendix-integration.xml: ...here.
-	  * docs/manual/highlevel-components.xml: section about GstEditor moved...
-	  * docs/manual/appendix-checklist.xml: ...here.
-
-2008-06-25 14:32:53 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/: - Explicitely include glib.h.
-	  Original commit message from CVS:
-	  patch by: Luc Pionchon  <luc.pionchon@nokia.com>
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/hello-world.fig:
-	  - Explicitely include glib.h.
-	  - Do not use global variables.
-	  - Use g_printerr() instead of g_print().
-	  - Minor formating/renaming to increase readibility.
-	  - Renamed new_pad() to on_pad_added()
-	  - Improved explenatory comments.
-	  - renamed ogg parser to ogg demuxer
-	  - Use "autoaudiosink" instead of "alsasink".
-	  Fixes: #538619
-
-2008-06-25 14:27:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ChangeLog: Remove cvs conflict marker.
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  Remove cvs conflict marker.
-
-2008-06-25 14:25:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/README: Document that for plgin-docs we extraxt he short-desc from the element details.
-	  Original commit message from CVS:
-	  * docs/README:
-	  Document that for plgin-docs we extraxt he short-desc from the element
-	  details.
-	  * docs/design/part-states.txt:
-	  Tell that devices should be closed in PAUSED -> READY.
-	  * docs/manual/README:
-	  Document how tests in the manual are handled.
-	  * docs/manuals.mak:
-	  Typo in comment.
-
-2008-06-25 11:50:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Only care about latency min and max when the sink is actually a live sink.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_query_latency_fold):
-	  Only care about latency min and max when the sink is actually a live
-	  sink.
-
-2008-06-25 10:53:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-block.txt: Fix typo.
-	  Original commit message from CVS:
-	  * docs/design/part-block.txt:
-	  Fix typo.
-	  * docs/design/part-element-transform.txt:
-	  Add notes about why transform needs to know input/output sizes.
-	  Add some issues that need to be solved.
-	  Add some more use cases.
-	  * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
-	  (gst_test_trans_class_init), (result_sink_chain),
-	  (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
-	  (gst_test_trans_push), (gst_test_trans_pop):
-	  * tests/check/libs/transform1.c: (buffer_alloc_pt1),
-	  (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
-	  (set_caps_1), (set_caps_ct1), (transform_ct1),
-	  (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
-	  (gst_basetransform_suite):
-	  Add suport for different pad templates and buffer-alloc.
-	  Add more checks for caps and buffer-alloc.
-	  Add checks for proxy buffer alloc.
-	  Add unit test for copy transform.
-
-2008-06-24 19:56:51 +0000  Luc Pionchon <luc.pionchon@nokia.com>
-
-	  docs/manual/: Typo and formatting fixes (#538594).
-	  Original commit message from CVS:
-	  Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
-	  * docs/manual/appendix-integration.xml:
-	  * docs/manual/appendix-licensing.xml:
-	  * docs/manual/basics-elements.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/manual/highlevel-components.xml:
-	  * docs/manual/highlevel-xml.xml:
-	  * docs/manual/intro-basics.xml:
-	  * docs/manual/intro-preface.xml:
-	  Typo and formatting fixes (#538594).
-
-2008-06-24 07:49:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/gst/gstghostpad.c: Fix some memory leaks and uses of object instances that we don't actually own.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  Fix some memory leaks and uses of object instances that we don't
-	  actually own.
-
-2008-06-22 19:19:35 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Add functionality to extra-size-buffers property.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  Add functionality to extra-size-buffers property.
-
-2008-06-22 14:35:13 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't activate the p...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
-	  activate the pads if they are added in STATE_NULL.
-
-2008-06-21 21:20:13 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add new API to doc
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add new API to doc
-	  * libs/gst/check/gstcheck.c:
-	  * libs/gst/check/gstcheck.h:
-	  API: gst_check_teardown_pad_by_name
-
-2008-06-21 19:48:53 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  libs/gst/check/gstcheck.*: Also setup request pads and allow setup pads by name (#537812)
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c:
-	  * libs/gst/check/gstcheck.h:
-	  Also setup request pads and allow setup pads by name (#537812)
-	  API: gst_check_setup_src_pad_by_name
-	  API: gst_check_setup_sink_pad_by_name
-
-2008-06-20 21:08:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/: Use HAVE_VALGRIND_H some more.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbuffer.c:
-	  * tests/check/pipelines/parse-launch.c:
-	  Use HAVE_VALGRIND_H some more.
-
-2008-06-20 16:29:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  scripts/cvs-update.sh: Pass arguments to make.
-	  Original commit message from CVS:
-	  * scripts/cvs-update.sh:
-	  Pass arguments to make.
-	  Run autoregen.sh if Makefile is not there.
-
-2008-06-20 15:54:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Don't assume that <valgrind/valgrind.h> exists just because the binary is there.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gstinfo.c:
-	  Don't assume that <valgrind/valgrind.h> exists just because
-	  the binary is there.
-
-2008-06-20 12:06:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/: Add some test basetransform element and the beginnings of various unit tests for it.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
-	  (gst_test_trans_class_init), (gst_test_trans_init),
-	  (gst_test_trans_set_data), (result_sink_chain),
-	  (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
-	  (gst_test_trans_pop):
-	  * tests/check/libs/transform1.c: (GST_START_TEST),
-	  (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
-	  Add some test basetransform element and the beginnings of various
-	  unit tests for it.
-
-2008-06-20 11:24:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gsttypefindhelper.c: Increase code readability.
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
-	  Increase code readability.
-	  Don't try to compare buffer offsets when ther are invalid.
-
-2008-06-20 11:07:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/design/Makefile.am: Dist some more design docs.
-	  Original commit message from CVS:
-	  * docs/design/Makefile.am:
-	  Dist some more design docs.
-	  * docs/random/moving-plugins:
-	  Small addition: good plugins mustn't have functional code
-	  within assertion macros.
-
-2008-06-20 10:32:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-framestep.txt: Some ideas about a framestep API
-	  Original commit message from CVS:
-	  * docs/design/draft-framestep.txt:
-	  Some ideas about a framestep API
-	  * docs/design/part-element-transform.txt:
-	  Start design and use cases for basetransform in order to get it
-	  fixed soon.
-
-2008-06-20 10:20:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: Make it known that gst_bus_poll() is pure evil (fixes #538810).
-	  Original commit message from CVS:
-	  * gst/gstbus.c:
-	  Make it known that gst_bus_poll() is pure evil (fixes #538810).
-
-2008-06-20 10:14:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/: Remove short_description. Add basic docs for gsttypefindelement.
-	  Original commit message from CVS:
-	  * plugins/elements/gstcapsfilter.c:
-	  * plugins/elements/gstfakesink.c:
-	  * plugins/elements/gstfakesrc.c:
-	  * plugins/elements/gstfdsink.c:
-	  * plugins/elements/gstfdsrc.c:
-	  * plugins/elements/gstfilesink.c:
-	  * plugins/elements/gstfilesrc.c:
-	  * plugins/elements/gstidentity.c:
-	  * plugins/elements/gstmultiqueue.c:
-	  * plugins/elements/gstqueue.c:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttypefindelement.c:
-	  Remove short_description. Add basic docs for gsttypefindelement.
-	  Simplify markup for fakesrc/fdsrc.
-
-2008-06-20 10:07:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfdsrc.c: Added Since doc.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
-	  Added Since doc.
-
-2008-06-20 10:02:14 +0000  joel larsson <tilljoel@gmail.com>
-
-	  Add timeout property like udpsrc. Fixes #538628.
-	  Original commit message from CVS:
-	  Patch by: joel larsson <tilljoel at gmail dot com>
-	  * docs/plugins/gstreamer-plugins.args:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
-	  (gst_fd_src_init), (gst_fd_src_update_fd),
-	  (gst_fd_src_set_property), (gst_fd_src_get_property),
-	  (gst_fd_src_create):
-	  * plugins/elements/gstfdsrc.h:
-	  Add timeout property like udpsrc. Fixes #538628.
-	  Add some more docs and example pipelines.
-
-2008-06-20 08:54:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add method to allow sinks to specify additional delay between the sync times and the actual rendering of the data.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
-	  (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
-	  (gst_base_sink_do_sync):
-	  * libs/gst/base/gstbasesink.h:
-	  * win32/common/libgstbase.def:
-	  Add method to allow sinks to specify additional delay between the sync
-	  times and the actual rendering of the data.
-	  API: gst_base_sink_set_render_delay()
-	  API: gst_base_sink_get_render_delay()
-
-2008-06-20 08:45:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Bump version number back to dev -> 0.10.20.1
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Bump version number back to dev -> 0.10.20.1
-
-2008-06-20 08:39:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
-	  Fixes bug #538568.
-
-2008-06-20 08:36:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Revert one change, that make ret value possible uninitialized.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  Revert one change, that make ret value possible uninitialized.
-
-2008-06-20 08:32:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Use freeze/thaw notify to sync notify emission a bit (its also more efficient). ...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  Use freeze/thaw notify to sync notify emission a bit (its also more
-	  efficient). Move debug output to LOG (is called a lot in a loop).
-	  Always unset g_values if the have been initialized.
-
-2008-06-20 08:28:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: If we have not seen a buffer before EOS, use the segment values to report the current po...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_wait_eos), (gst_base_sink_event):
-	  If we have not seen a buffer before EOS, use the segment values to
-	  report the current position instead of invalid positions.
-
-2008-06-20 08:21:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Ignore more.
-	  Original commit message from CVS:
-	  * docs/plugins/tmpl/.cvsignore:
-	  * tests/check/gst/.cvsignore:
-	  Ignore more.
-
-2008-06-20 08:17:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Rewrite handling of default values. Fix overflow with unsigned types in linear interpolation. Remove now obsolete _fi...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  * tests/check/libs/controller.c:
-	  Rewrite handling of default values. Fix overflow with unsigned types
-	  in linear interpolation. Remove now obsolete _first_value() function.
-	  Add more tests. Fixes #538201.
-
-2008-06-20 08:14:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Add debug info.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_class_init), (gst_base_transform_init),
-	  (gst_base_transform_transform_caps),
-	  (gst_base_transform_prepare_output_buffer):
-	  Add debug info.
-	  When a buffer is writable, its metadata is also writable so we don't
-	  need to subbuffer (which then makes the buffer not-writable anymore).
-
-=== release 0.10.20 ===
-
-2008-06-18 10:58:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.10.20
-	  Original commit message from CVS:
-	  Release 0.10.20
-
-2008-06-18 10:56:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2008-06-11 21:14:17 +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:07:31 +0000  David Schleef <ds@schleef.org>
-
-	  Rename DATADIR to GST_DATADIR to avoid build problems
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gstpreset.c:
-	  Rename DATADIR to GST_DATADIR to avoid build problems
-	  on win32. Patch By: David Schleef <ds@schleef.org>
-	  Fixes: #536857
-
-2008-06-05 10:13:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  configure.ac: Explicitely link with -ldl if dladdr() is found there. Before it was implicitely linked by the gmodule ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Explicitely link with -ldl if dladdr() is found there. Before it was
-	  implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
-	  -ldl has moved from Libs to Libs.private. Fixes bug #536744.
-
-2008-06-05 09:42:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Put pre-release chaneglog entry where it actually happened
-	  Original commit message from CVS:
-	  Put pre-release chaneglog entry where it actually happened
-
-2008-06-05 09:41:25 +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-05 08:55:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsterror.c: Fix typo (spotted by Fabricio Godoy, #536723).
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_stream_errors_init):
-	  Fix typo (spotted by Fabricio Godoy, #536723).
-
-2008-06-04 11:47:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Add some debug.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
-	  (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
-	  Add some debug.
-	  Make sure we don't generate invalid QoS messages.
-
-2008-06-04 11:31:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.c: Add some assert and docs for invalid input to the qos function.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_new_qos):
-	  Add some assert and docs for invalid input to the qos function.
-
-2008-05-30 15:48:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: The reported position must always be smaller than the last seen timestamps (or timestamp...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_get_position):
-	  The reported position must always be smaller than the last seen
-	  timestamps (or timestamp + duration for reverse).
-
-2008-05-30 07:36:17 +0000  Rob Bradford <rob@robster.org.uk>
-
-	  gst/gstregistry.c: Don't recurse into .debug directories as some distros install the debugging symbols next to the pl...
-	  Original commit message from CVS:
-	  Patch by: Rob Bradford <rob at robster dot org dot uk>
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Don't recurse into .debug directories as some distros install
-	  the debugging symbols next to the plugins in .debug directories
-	  and dlopen() crashes on them sometimes. Fixes bug #508070.
-	  Add FIXME for 0.11 to not recurse into directories at all because
-	  it's very inconsistent to the behaviour of other PATH environment
-	  variables.
-
-2008-05-29 16:34:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Fix position query range checks in reverse playback.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_get_position_last), (gst_base_sink_get_position):
-	  Fix position query range checks in reverse playback.
-
-2008-05-29 07:19:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstelement.*: Deprecated gst_element_get_pad() as it can't be used sanely. It's not clear of the reference to the...
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  * gst/gstelement.h:
-	  Deprecated gst_element_get_pad() as it can't be used sanely. It's not
-	  clear of the reference to the resulting pad must be released later
-	  or not, resulting in possible leaks. Fixes bug #533865.
-
-2008-05-28 16:46:07 +0000  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	  gst/gstelementfactory.c: Small doc fix. Fixes #535285.
-	  Original commit message from CVS:
-	  Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
-	  * gst/gstelementfactory.c:
-	  Small doc fix. Fixes #535285.
-
-2008-05-28 13:48:17 +0000  Bjarne Rosengren <bjarne@axis.com>
-
-	  libs/gst/base/gstbasesrc.c: Make sending an EOS event to the basesrc non-blocking even if the implementation does blo...
-	  Original commit message from CVS:
-	  Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
-	  (gst_base_src_get_range), (gst_base_src_pad_get_range),
-	  (gst_base_src_loop), (gst_base_src_set_flushing),
-	  (gst_base_src_change_state):
-	  Make sending an EOS event to the basesrc non-blocking even if the
-	  implementation does blocking waits in the create function. This is done
-	  by unlocking the create function when EOS is sent.
-	  Fixes #535218.
-
-2008-05-28 10:44:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: If possible print the element type of GValueArray properties.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  If possible print the element type of GValueArray properties.
-
-2008-05-28 07:47:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstiterator.c: Remove an unused field from the private GstListIterator struct.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c:
-	  Remove an unused field from the private GstListIterator struct.
-
-2008-05-27 20:19:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Add parameter guards.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  Add parameter guards.
-
-2008-05-27 19:47:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstpipeline.c: Revert test change and add comment why it should not work.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpipeline.c:
-	  Revert test change and add comment why it should not work.
-
-2008-05-27 18:31:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstpipeline.c: Extending the test a little to verify that we also get the NULL state- change message.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpipeline.c:
-	  Extending the test a little to verify that we also get the NULL state-
-	  change message.
-
-2008-05-27 16:37:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpreset.c: Add Since: markers to docs blurbs.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c: (gst_preset_default_get_meta),
-	  (gst_preset_get_preset_names), (gst_preset_get_property_names),
-	  (gst_preset_load_preset), (gst_preset_save_preset),
-	  (gst_preset_rename_preset), (gst_preset_delete_preset),
-	  (gst_preset_set_meta):
-	  Add Since: markers to docs blurbs.
-	  * win32/common/libgstreamer.def:
-	  Add recently-added API.
-
-2008-05-27 15:11:35 +0000  Stefan Kost <ensonic@users.sf.net>
-
-	  configure.ac: Add DATADIR for storing presets.
-	  Original commit message from CVS:
-	  Patch by: Stefan Kost  <ensonic@users.sf.net>
-	  * configure.ac:
-	  Add DATADIR for storing presets.
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types.in:
-	  Add GstPreset to docs.
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
-	  (preset_open_and_parse_header), (preset_parse_version),
-	  (preset_merge), (preset_get_keyfile),
-	  (gst_preset_default_get_preset_names),
-	  (gst_preset_default_get_property_names),
-	  (gst_preset_default_load_preset),
-	  (gst_preset_default_save_presets_file),
-	  (gst_preset_default_save_preset),
-	  (gst_preset_default_rename_preset),
-	  (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
-	  (gst_preset_default_get_meta), (gst_preset_default_randomize),
-	  (gst_preset_default_reset), (gst_preset_get_preset_names),
-	  (gst_preset_get_property_names), (gst_preset_load_preset),
-	  (gst_preset_save_preset), (gst_preset_rename_preset),
-	  (gst_preset_delete_preset), (gst_preset_set_meta),
-	  (gst_preset_get_meta), (gst_preset_class_init),
-	  (gst_preset_base_init), (gst_preset_get_type):
-	  * gst/gstpreset.h:
-	  Add GstPreset to core. Fixes #396779
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
-	  (gst_preset_test_set_property), (gst_preset_test_class_init),
-	  (gst_preset_test_base_init), (gst_preset_test_get_type),
-	  (gst_preset_test_plugin_init), (GST_START_TEST),
-	  (remove_preset_file), (test_setup), (test_teardown),
-	  (gst_preset_suite):
-	  Add GstPreset unit tests.
-
-2008-05-27 10:59:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: The default event function on a sinkpad should return TRUE when there are no internal links but should ...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_event_default_dispatch):
-	  The default event function on a sinkpad should return TRUE when
-	  there are no internal links but should collect the return values from
-	  the internal links otherwise.
-
-2008-05-27 10:57:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gsttypefindelement.c: Use faster and safer _pad_push_event().
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_src_event),
-	  (gst_type_find_element_handle_event):
-	  Use faster and safer _pad_push_event().
-
-2008-05-27 10:50:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_bin_find_unlinked_pad()
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.c: (element_find_unlinked_pad),
-	  (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
-	  * gst/gstutils.h:
-	  API: add gst_bin_find_unlinked_pad()
-	  API: deprecate gst_bin_find_unconnected_pad() (#401456)
-
-2008-05-26 10:07:09 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/: Fixed a bunch of typos.
-	  Original commit message from CVS:
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  * gst/gsttask.c:
-	  * gst/gsttask.h:
-	  Fixed a bunch of typos.
-
-2008-05-25 16:34:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
-	  (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
-	  (gst_parse_bin_from_description_full):
-	  * gst/gstutils.h:
-	  'unconnected pad' -> 'unlinked pad' for consistency (#401456).
-
-2008-05-25 16:13:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/advanced-tagging.xml: Small docs update, can't be bothered to rewrite the nonsensical examples right now.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-tagging.xml:
-	  Small docs update, can't be bothered to rewrite the nonsensical
-	  examples right now.
-
-2008-05-25 14:44:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstevent.h: Clarify docs for GST_SEEK_TYPE_CUR (#534505).
-	  Original commit message from CVS:
-	  * gst/gstevent.h:
-	  Clarify docs for GST_SEEK_TYPE_CUR (#534505).
-
-2008-05-25 14:13:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/parse/grammar.y: Remove unneeded casts.
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  Remove unneeded casts.
-
-2008-05-25 13:56:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Get all missing elements from a parse launch string if possible (ie. if the FATAL_ERRORS flag has been specified). Fi...
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  * tests/check/pipelines/parse-launch.c:
-	  Get all missing elements from a parse launch string if possible
-	  (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
-
-2008-05-24 16:38:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: Add some unit tests for the new gst_parse_launch*_full() API. (Exposes a previously-existing memory lea...
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/pipelines/parse-launch.c:
-	  Add some unit tests for the new gst_parse_launch*_full() API.
-	  (Exposes a previously-existing memory leak in the error code
-	  path, so adding to VALGRIND_TO_FIX for now).
-
-2008-05-24 15:33:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: gst_parse_launch_full()
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c: (init_post):
-	  * gst/gst_private.h: (_GstParseContext):
-	  * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
-	  (gst_parse_context_free), (gst_parse_context_get_missing_elements),
-	  (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
-	  (gst_parse_launch_full):
-	  * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
-	  (GstParseFlags), (GstParseContext):
-	  * gst/gstutils.c: (gst_parse_bin_from_description),
-	  (gst_parse_bin_from_description_full):
-	  * gst/gstutils.h:
-	  * gst/parse/grammar.y:
-	  * gst/parse/types.h:
-	  * win32/common/libgstreamer.def:
-	  Add new gst_parse_*_full API (#528178):
-	  API: gst_parse_launch_full()
-	  API: gst_parse_launchv_full()
-	  API: gst_parse_bin_from_description_full()
-	  API: gst_parse_context_new()
-	  API: gst_parse_context_free()
-	  API: gst_parse_context_get_missing_elements()
-
-2008-05-23 06:50:10 +0000  Suresh Kumar P <sureshkumar.pp@gmail.com>
-
-	  docs/faq/gst-uninstalled: Also support ffmpeg in gst-uninstalled.
-	  Original commit message from CVS:
-	  patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
-	  * docs/faq/gst-uninstalled:
-	  Also support ffmpeg in gst-uninstalled.
-
-2008-05-22 20:29:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  configure.ac: After discussion on IRC use the binary registry as default but allow to disable it with --disable-binar...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  After discussion on IRC use the binary registry as default
-	  but allow to disable it with --disable-binary-registry.
-	  * win32/common/libgstreamer.def:
-	  Add the two new symbols for the binary registry.
-
-2008-05-22 15:38:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: More guards against bad input; typo fix; some minor clean-ups.
-	  Original commit message from CVS:
-	  * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
-	  * gst/gstutils.c: (gst_parse_bin_from_description):
-	  * gst/parse/grammar.y: (graph):
-	  More guards against bad input; typo fix; some minor clean-ups.
-
-2008-05-22 08:33:27 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  libs/gst/base/gstbasesink.c: If nothing else can be used, use the last buffer's start time as the segment's last stop...
-	  Original commit message from CVS:
-	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  If nothing else can be used, use the last buffer's start time as
-	  the segment's last stop. Fixes bug #534258.
-
-2008-05-21 18:33:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Move size sanity check to the right place: downstream may return a buffer with a smaller size if the bu...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer_full):
-	  Move size sanity check to the right place: downstream may return
-	  a buffer with a smaller size if the buffer caps are different than
-	  the requested ones, as may happen when doing reverse negotiation.
-
-2008-05-21 16:06:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/: Small cleanups. Add note adbout g_fopen() on windows and why we don't use it yet.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
-	  (gst_file_sink_render):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
-	  (gst_file_src_start):
-	  Small cleanups. Add note adbout g_fopen() on windows and why we don't
-	  use it yet.
-
-2008-05-21 15:57:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Don't use gst_element_get_pad().
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_load_and_link):
-	  * gst/gstutils.c: (gst_element_link_pads),
-	  (gst_element_unlink_pads):
-	  * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
-	  (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
-	  (gst_check_teardown_sink_pad),
-	  (gst_check_element_push_buffer_list):
-	  * tests/check/elements/fakesink.c: (GST_START_TEST):
-	  * tests/check/elements/filesink.c:
-	  * tests/check/elements/filesrc.c: (GST_START_TEST):
-	  * tests/check/elements/multiqueue.c: (setup_multiqueue),
-	  (mq_sinkpad_to_srcpad):
-	  * tests/check/elements/tee.c: (GST_START_TEST):
-	  * tests/check/generic/sinks.c: (GST_START_TEST):
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  * tests/check/gst/gstevent.c: (GST_START_TEST):
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  * tests/check/gst/gstpipeline.c: (GST_START_TEST):
-	  * tests/check/gst/gstquery.c: (GST_START_TEST):
-	  * tests/check/gst/gstutils.c: (GST_START_TEST):
-	  * tests/check/libs/basesrc.c: (GST_START_TEST):
-	  * tests/check/pipelines/parse-launch.c: (run_delayed_test),
-	  (gst_parse_test_element_change_state):
-	  Don't use gst_element_get_pad().
-
-2008-05-21 15:54:28 +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 15:51:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/manual/: Avoid using a bad function in the example code.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/manual/highlevel-components.xml:
-	  Avoid using a bad function in the example code.
-
-2008-05-21 15:49:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.c: Fix debug of the new clock rate.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_set_calibration):
-	  Fix debug of the new clock rate.
-
-2008-05-21 11:10:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  win32/common/libgstbase.def: Add gst_base_sink_wait_clock() to the exported symbols.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  Add gst_base_sink_wait_clock() to the exported symbols.
-
-2008-05-20 08:28:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
-
-	  libs/gst/base/gstbasetransform.c: Unref events that the GstBaseTransform::event vfunc didn't want to have forwarded b...
-	  Original commit message from CVS:
-	  Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_event):
-	  Unref events that the GstBaseTransform::event vfunc didn't want to
-	  have forwarded by the base class. Closes a leak in identity.
-	  Fixes bug #446763.
-
-2008-05-19 16:36:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Expose a method that was previously used internally to synchronize against the clock because it can be useful for sub...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
-	  * libs/gst/base/gstbasesink.h:
-	  Expose a method that was previously used internally to synchronize
-	  against the clock because it can be useful for subclasses too.
-	  GstBaseSink::gst_base_sink_wait_clock()
-
-2008-05-19 11:59:34 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Add sanity check to make sure we don't get smaller buffers than requested (and fallback to normal buffe...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
-	  Add sanity check to make sure we don't get smaller buffers
-	  than requested (and fallback to normal buffer alloc if we do).
-
-2008-05-19 11:11:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Refactor adjusting the running_time with latency and offset into a separate method.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
-	  (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
-	  (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
-	  Refactor adjusting the running_time with latency and offset into a
-	  separate method.
-	  When doing clipping, we still want to use the subclass get_times method,
-	  just in case the DURATION or TIMESTAMP are not set.
-
-2008-05-19 10:46:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_type_find_suggest_simple(), #533740.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttypefind.c: (gst_type_find_suggest_simple):
-	  * gst/gsttypefind.h:
-	  * win32/common/libgstreamer.def:
-	  API: add gst_type_find_suggest_simple(), #533740.
-
-2008-05-19 10:29:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.c: Use right error code when typefinding fails, so we can use the default (translated) error...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
-	  Use right error code when typefinding fails, so we can use
-	  the default (translated) error messages.
-
-2008-05-19 10:03:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: When the subclass did not set caps on outgoing buffers, configure the caps we negotiated ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
-	  (gst_base_src_start):
-	  When the subclass did not set caps on outgoing buffers, configure the
-	  caps we negotiated on the source pad.
-	  When the typefind helper does not find caps, error out properly instead
-	  of doing things with NULL caps.
-
-2008-05-18 18:53:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttypefind.h: Tabs to spaces, oh yes!
-	  Original commit message from CVS:
-	  * gst/gsttypefind.h:
-	  Tabs to spaces, oh yes!
-
-2008-05-18 12:13:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	  ChangeLog surgery
-	  Original commit message from CVS:
-	  ChangeLog surgery
-
-2008-05-18 11:52:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstcaps.c: Add David's and Benjamin's tests for array subtraction to the unit test suite, which sugge...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
-	  Add David's and Benjamin's tests for array subtraction to the
-	  unit test suite, which suggests that #147931 is fixed these days.
-
-2008-05-18 11:35:43 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstevent.c: Document that gst_event_new_tag() and gst_event_new_navigation() take ownership of the taglist/struct...
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  Document that gst_event_new_tag() and gst_event_new_navigation()
-	  take ownership of the taglist/structure passed to them. (#533635).
-
-2008-05-17 17:20:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/Makefile.am: Don't descend into the plugins dir if plugin docs building is disabled.
-	  Original commit message from CVS:
-	  * docs/Makefile.am:
-	  Don't descend into the plugins dir if plugin docs building
-	  is disabled.
-	  * docs/README:
-	  Add a note about the new type:GTypeName syntax for the plugin
-	  documentation .types file.
-
-2008-05-17 13:54:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstmessage.*: Mark the debug string parameters as const. Fixes bug #533490.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_info):
-	  * gst/gstmessage.h:
-	  Mark the debug string parameters as const. Fixes bug #533490.
-
-2008-05-16 21:09:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gsttypefindhelper.c: Sort buffer cache list by end offsets. This makes sure that we don't stop to searc...
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
-	  Sort buffer cache list by end offsets. This makes sure that we don't
-	  stop to search for a cached buffer that contains the requested data
-	  too early.
-	  Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
-	  more efficient. Fixes bug #459862.
-
-2008-05-14 18:17:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstinfo.c: Explain why we copy the list.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  Explain why we copy the list.
-	  * gst/gstpipeline.c:
-	  Improve docs.
-	  * gst/gstutils.c:
-	  Add one debug-log statement to help tracing probelms with linking pads.
-
-2008-05-14 18:09:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstinfo.c: Add a test for removing the default log handler. Seems to fail under windows.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstinfo.c:
-	  Add a test for removing the default log handler. Seems to fail under
-	  windows.
-
-2008-05-14 13:52:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Release pad lock before calling out to avoid a possible deadlock.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_peer_accept_caps):
-	  Release pad lock before calling out to avoid a possible deadlock.
-
-2008-05-14 10:22:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/parse/grammar.y: Remove unneeded value unset.
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  Remove unneeded value unset.
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Add unit test for de/serialization of caps.
-
-2008-05-13 12:54:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Use custom marshalers that take GstMiniObject as first parameter.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesink.c:
-	  (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
-	  (gst_fake_src_class_init):
-	  Use custom marshalers that take GstMiniObject as first parameter.
-	  Using OBJECT as parameter while a GstMiniObject is given will lead
-	  to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
-
-2008-05-13 12:38:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/gsttypefindelement.c: Clean up on FLUSH_STOP and not FLUSH_START. Forward both events immediately.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event),
-	  (gst_type_find_element_send_cached_events),
-	  (gst_type_find_element_change_state):
-	  Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
-	  immediately.
-
-2008-05-13 11:45:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/gsttypefindelement.c: Forward FLUSH_START events immediately and clean up instead of caching them.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_handle_src_query), (stop_typefinding),
-	  (gst_type_find_element_handle_event),
-	  (gst_type_find_element_send_cached_events),
-	  (gst_type_find_element_change_state):
-	  Forward FLUSH_START events immediately and clean up instead of
-	  caching them.
-
-2008-05-13 07:11:05 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  libs/gst/base/gstbasetransform.c: Check the caps of the buffer returned by gst_pad_alloc_buffer() and fall back to de...
-	  Original commit message from CVS:
-	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Check the caps of the buffer returned by gst_pad_alloc_buffer() and
-	  fall back to default negotiation in the chain function if the caps
-	  are different from what was requested. Fixes bug #526768.
-
-2008-05-09 20:48:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  No, let's not use g_slice_{dup|copy} here, since they only exist since GLib 2.14 and we still depend only on >= 2.12....
-	  Original commit message from CVS:
-	  * gst/gstsegment.c:
-	  * tests/check/gst/gstsegment.c:
-	  No, let's not use g_slice_{dup|copy} here, since they only exist
-	  since GLib 2.14 and we still depend only on >= 2.12. Also add
-	  unit test for gst_segment_copy().
-
-2008-05-09 18:25:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.h: Try to fix 'dereferencing type-punned pointer will break strict aliasing rules' warnings with C++ com...
-	  Original commit message from CVS:
-	  * gst/gstutils.h: (GST_BOILERPLATE_FULL):
-	  Try to fix 'dereferencing type-punned pointer will break strict
-	  aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
-	  changed the default GType typedef from gulong to gsize at some point,
-	  but kept GType typedef'ed to gulong for C++ for ABI reasons; the
-	  g_once_* functions all take a gsize * though, so work around the type
-	  mismatch for C++ by doing everything in gsize and casting to GType
-	  later.
-
-2008-05-09 14:02:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstmultiqueue.c: Add documentation for the signals to push our core plugin docs coverage back up to ...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  Add documentation for the signals to push our core plugin docs
-	  coverage back up to 100%.
-
-2008-05-08 14:23:16 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  gst/gstinfo.h (GST_FUNCTION): Reverted GST_FUNCTION to the old version as we don't want the full signature in C++ cod...
-	  Original commit message from CVS:
-	  * gst/gstinfo.h (GST_FUNCTION):
-	  Reverted GST_FUNCTION to the old version as we don't want the
-	  full signature in C++ code. Also added support for MSVC.
-
-2008-05-08 11:37:03 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.h: Intern the type name string, similar to what G_DEFINE_TYPE does.
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Intern the type name string, similar to what G_DEFINE_TYPE does.
-
-2008-05-08 11:27:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.h: Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
-
-2008-05-08 05:55:34 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  libs/gst/base/gstbasetransform.c: Don't passthrough buffer allocation too easily if the caps change.
-	  Original commit message from CVS:
-	  Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Don't passthrough buffer allocation too easily if the caps change.
-	  This breaks when working in passthrough mode and upstream changes
-	  it's caps. Fixes bug #526768.
-
-2008-05-07 19:24:44 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  gst/gstinfo.c (gst_debug_log_valist): Improved the __FILE__ part of debug output for MSVC.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c (gst_debug_log_valist):
-	  Improved the __FILE__ part of debug output for MSVC.
-
-2008-05-07 19:15:14 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  libs/gst/base/gstbasesrc.c (gst_base_src_default_query): Declaration after statement fix for compilers like MSVC.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
-	  Declaration after statement fix for compilers like MSVC.
-
-2008-05-07 19:09:08 +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 18:51:22 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  gst/gstinfo.h (GST_FUNCTION): Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
-	  Original commit message from CVS:
-	  * gst/gstinfo.h (GST_FUNCTION):
-	  Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
-
-2008-05-07 09:47:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstadapter.c: Small code cleanup.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
-	  Small code cleanup.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
-	  (gst_base_sink_set_flushing):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
-	  Fix some comments.
-
-2008-05-07 09:34:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfakesrc.*: Added format property to control the format of the newsegment events.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_init), (gst_fake_src_set_property),
-	  (gst_fake_src_get_property), (gst_fake_src_start):
-	  * plugins/elements/gstfakesrc.h:
-	  Added format property to control the format of the newsegment events.
-	  API: GstFakeSrc:format
-
-2008-05-06 08:45:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  win32/common/libgstreamer.def: Add gst_pad_has_name() to the exported symbols.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add gst_pad_has_name() to the exported symbols.
-
-2008-05-06 08:43:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Don't allow negative sizes when allocating new buffers.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer_full):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer):
-	  Don't allow negative sizes when allocating new buffers.
-	  Fixes bug #461253.
-
-2008-05-05 16:47:29 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  gst/gstbus.c: Don't print a warning if the queue is empty when we try to pop here. That could happen if another threa...
-	  Original commit message from CVS:
-	  Patch by: Sjoerd Simons <sjoerd at luon net>
-	  * gst/gstbus.c: (gst_bus_source_dispatch):
-	  Don't print a warning if the queue is empty when we try to pop
-	  here. That could happen if another thread or callback set the
-	  bus to flushing between the source's check/prepare and the
-	  dispatch being called (#531538).
-
-2008-05-05 16:25:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstmultiqueue.c: Small docs fix.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  Small docs fix.
-
-2008-05-05 15:50:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/gst/gstvalue.c: Add unit test for deserializing uint64s and check some really large numbers in the int64 ...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Add unit test for deserializing uint64s and check some really large
-	  numbers in the int64 test.
-
-2008-05-04 19:07:21 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: Use "%s" as format string instead of printing strings directly.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (n_print), (print_hierarchy),
-	  (print_interfaces), (print_element_properties_info),
-	  (print_signal_info):
-	  Use "%s" as format string instead of printing strings directly.
-
-2008-05-04 14:25:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstclock.c: Make some checks actually useful.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_set_calibration):
-	  Make some checks actually useful.
-	  * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
-	  Remove some unused code. Unsigned integers tend to be >= 0.
-
-2008-05-03 19:23:43 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstminiobject.c: Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this function was not in the uns...
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_value_get_mini_object):
-	  Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
-	  function was not in the unscheduled 0.10.19 release.
-
-2008-05-03 19:13:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistry.c: Only print one log message per non-plugin file.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Only print one log message per non-plugin file.
-
-2008-05-03 19:08:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Fix alignment of debug log columns on 64-bit.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (gst_debug_log_default):
-	  Fix alignment of debug log columns on 64-bit.
-
-2008-05-03 16:52:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/libs/: Ignore private controller headers for docs.
-	  Original commit message from CVS:
-	  * docs/libs/Makefile.am:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Ignore private controller headers for docs.
-
-2008-05-03 15:25:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Move some private declarations into private headers.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gsthelper.c:
-	  * libs/gst/controller/gstinterpolation.c:
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  (gst_interpolation_control_source_set_interpolation_mode):
-	  * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	  * libs/gst/controller/lib.c:
-	  Move some private declarations into private headers.
-
-2008-05-02 10:12:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstdebugutils.c: Remove some code that is unused after Stefan's refactoring and uses uninitialized variables now,...
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c: (debug_dump_element_pad):
-	  Remove some code that is unused after Stefan's refactoring and uses
-	  uninitialized variables now, resulting in a compiler warning.
-
-2008-05-01 13:03:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistry.c: Run g_str_has_suffix() only on the file name, not the entire file path.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Run g_str_has_suffix() only on the file name, not the
-	  entire file path.
-
-2008-04-30 14:20:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstqueue.c: Since we're not called only from the chain function any longer, we can't assume that the...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
-	  Since we're not called only from the chain function any longer,
-	  we can't assume that there's always data in the queue, so move
-	  the is_full check to the beginning of the loop (otherwise we'd
-	  hit the assert when changing the limit properties while the
-	  queue is empty or not running yet).
-	  Also, only set a discont if items were actually removed from
-	  the queue.
-	  * tests/check/elements/queue.c: (test_leaky_downstream):
-	  Test case for the above.
-
-2008-04-30 09:35:43 +0000  Jonas Holmberg <jonas.holmberg@axis.com>
-
-	  plugins/elements/gstqueue.c: When changing thr max capacity of a leaky queue, immediatly drop buffers instead of wait...
-	  Original commit message from CVS:
-	  Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
-	  * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
-	  (gst_queue_chain), (queue_capacity_change),
-	  (gst_queue_set_property):
-	  When changing thr max capacity of a leaky queue, immediatly drop buffers
-	  instead of waiting for a push on the sinkpad. Fixes #530637.
-
-2008-04-30 07:56:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Refactor code and fix handling of ghostpads and their proxypads.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Refactor code and fix handling of ghostpads and their proxypads.
-
-2008-04-29 11:23:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add method to conveniently check the name of a custom event with gst_event_has_name().
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstevent.c: (gst_event_has_name):
-	  * gst/gstevent.h:
-	  * tests/check/gst/gstevent.c: (GST_START_TEST):
-	  Add method to conveniently check the name of a custom event with
-	  gst_event_has_name().
-	  Reformat the event docs so that related methods are put together instead
-	  of the default alphabetical sort.
-	  Update unit test with new method.
-	  API: GstEvent::gst_event_has_name()
-
-2008-04-28 18:44:48 +0000  Michael Smith <msmith@xiph.org>
-
-	  libs/gst/check/Makefile.am: Don't add an explicit link to libgstreamer-0.10.la; it's already included in GST_OBJ_LIBS.
-	  Original commit message from CVS:
-	  * libs/gst/check/Makefile.am:
-	  Don't add an explicit link to libgstreamer-0.10.la; it's already
-	  included in GST_OBJ_LIBS.
-
-2008-04-28 09:21:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gst.c: Register GstClock type from a type-safe context. Fixes bug #530317.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Register GstClock type from a type-safe context. Fixes bug #530317.
-
-2008-04-26 00:13:03 +0000  Edward Hervey <edward.hervey@collabora.co.uk>
-
-	  tools/gst-run.c: Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
-	  Original commit message from CVS:
-	  Patch by Edward Hervey <edward.hervey@collabora.co.uk>
-	  * tools/gst-run.c:
-	  Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
-
-2008-04-25 17:54:28 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	  gst/gstbin.c: Use the GLib stuff to create a private structure.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
-	  (gst_bin_dispose):
-	  Use the GLib stuff to create a private structure.
-	  Add some locking around some dispose methods to make them a little
-	  safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
-
-2008-04-25 13:22:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/: Fix doc typos and unify caps a bit.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.h:
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasetransform.h:
-	  * libs/gst/base/gstcollectpads.h:
-	  Fix doc typos and unify caps a bit.
-
-2008-04-25 13:09:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-launch.1.in: Forgot to also add the envvar docs here.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Forgot to also add the envvar docs here.
-
-2008-04-25 10:01:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Ref some more classes in gst_init() to work around thread-safety issues in pre-2.16 GLibs, and add basic unit test.
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post), (gst_deinit):
-	  * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
-	  (test_concurrent_create), (gst_pipeline_suite):
-	  Ref some more classes in gst_init() to work around thread-safety
-	  issues in pre-2.16 GLibs, and add basic unit test.
-
-2008-04-25 07:22:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Rearrange the latency query code. We always want to do the upstream query, even if we ar...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
-	  (gst_base_sink_send_event):
-	  Rearrange the latency query code. We always want to do the upstream
-	  query, even if we are not live so that the upstream elements can get the
-	  latency results too. If we fail doing the query and we are live, we
-	  return TRUE afterwards.
-
-2008-04-24 15:14:54 +0000  Jason Zhao <e3423c@motorola.com>
-
-	  Enable/disable scan_and_update_registry() based on commandline switch or environment variable. Fixes #520468.
-	  Original commit message from CVS:
-	  patch by: Jason Zhao <e3423c@motorola.com>
-	  * docs/gst/running.xml:
-	  * gst/gst.c:
-	  Enable/disable scan_and_update_registry() based on commandline switch
-	  or environment variable. Fixes #520468.
-	  * ChangeLog:
-	  Fix typo in my previous commit.
-
-2008-04-24 08:27:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.c: Add a warning of we hit unhandled factories when saving.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c:
-	  Add a warning of we hit unhandled factories when saving.
-	  More debug logging detail, but move to LOG category.
-
-2008-04-24 06:46:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistry.c: Tell the *truth* when improving the documentation.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c:
-	  Tell the *truth* when improving the documentation.
-
-2008-04-23 14:54:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstelementfactory.c: Unref the factory after it was used the last time, not before.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_make):
-	  Unref the factory after it was used the last time, not before.
-	  * gst/gstindexfactory.c: (gst_index_factory_make):
-	  Improve debugging a bit and don't leak a ref to the index factory with
-	  each call.
-
-2008-04-23 13:55:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistry.c: Improve the documentation.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c:
-	  Improve the documentation.
-
-2008-04-23 10:14:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstsegment.c: The glib macro seems to be borked. Use g_slice_copy directly and cast in the hope that this fixes t...
-	  Original commit message from CVS:
-	  * gst/gstsegment.c:
-	  The glib macro seems to be borked. Use g_slice_copy directly and cast
-	  in the hope that this fixes the warning on 64bit.
-
-2008-04-23 07:08:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstsegment.c: Document the new function. Use g_slice_dup() (no need for gst_segment_init()).
-	  Original commit message from CVS:
-	  * gst/gstsegment.c:
-	  Document the new function. Use g_slice_dup() (no need for
-	  gst_segment_init()).
-
-2008-04-23 06:57:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Move GParamSepc macros to standart section.
-	  * gst/gstbin.c:
-	  Dn't document _get_type - its in private section in docs anyway and
-	  this doc-blob was incomplete.
-	  * gst/gstclock.h:
-	  Fix wrong symbol names in docs.
-	  * gst/gstmacros.h:
-	  Add once doc sentence.
-	  * tests/check/gst/.cvsignore:
-	  Ignore more.
-
-2008-04-21 10:25:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/Makefile.am: And remove those libs here.
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  And remove those libs here.
-
-2008-04-21 09:29:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/libs/Makefile.am: Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
-	  Original commit message from CVS:
-	  * docs/libs/Makefile.am:
-	  Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
-
-2008-04-21 08:34:09 +0000  Olivier Crete <tester@tester.ca>
-
-	  plugins/elements/gstqueue.c: Add the min-threshold to the min latency if possible. Fixes #529148.
-	  Original commit message from CVS:
-	  Patch by: Olivier Crete <tester at tester dot ca>
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
-	  Add the min-threshold to the min latency if possible. Fixes #529148.
-
-2008-04-21 07:45:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer.types.in: Stupid editor, I removed that line as it should go in yet.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types.in:
-	  Stupid editor, I removed that line as it should go in yet.
-
-2008-04-21 07:42:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Remove library types fro core docs and have them in libs docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types.in:
-	  * docs/libs/gstreamer-libs.types:
-	  Remove library types fro core docs and have them in libs docs.
-	  Reformat and cleanup. Add comment for miniobject types.
-
-2008-04-20 16:32:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsturi.c: Fix leak: g_strdown operates on the string in place, while g_ascii_strdown() returns a newly-allocated ...
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_uri_get_protocol):
-	  Fix leak: g_strdown operates on the string in place, while
-	  g_ascii_strdown() returns a newly-allocated string.
-
-2008-04-20 09:55:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: Print the URI protocols and the URI type supported by the element.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_uri_handler_info),
-	  (print_element_info):
-	  Print the URI protocols and the URI type supported by the element.
-
-2008-04-19 16:05:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gsttaglist.c: Use g_value_take_string() instead of the deprecated g_value_set_string_take_ownership().
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
-	  Use g_value_take_string() instead of the deprecated
-	  g_value_set_string_take_ownership().
-
-2008-04-19 15:42:19 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Return the old CRC instead of 0 if we give a NULL buffer or a buffer with a length of 0.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (_gst_crc32):
-	  Return the old CRC instead of 0 if we give a NULL buffer
-	  or a buffer with a length of 0.
-
-2008-04-19 15:36:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gsturi.c: A valid URI scheme can also include '+', '-' and '.' additional to alphanumeric characters as per RFC 3...
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_uri_protocol_check_internal),
-	  (gst_uri_get_protocol), (gst_uri_has_protocol),
-	  (gst_uri_construct), (gst_uri_handler_set_uri):
-	  A valid URI scheme can also include '+', '-' and '.' additional
-	  to alphanumeric characters as per RFC 3986 Section 3.1.
-	  Handle URI schemes case insensitive in all places and convert
-	  to lower-case when constructing an URI or setting an URI with
-	  the GstURIHandler interface. Fixes bug #528868.
-	  All elements can still assume (as before) that they will
-	  get passed URIs with a lower-case URI scheme by the GstURIHandler
-	  interface.
-
-2008-04-17 10:09:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Don't use g_atomic_set_int where it's not needed.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_static_caps_get):
-	  * gst/gstclock.c: (gst_clock_entry_new):
-	  Don't use g_atomic_set_int where it's not needed.
-
-2008-04-17 08:45:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Fix 2 caps leaks.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_deserialize_caps):
-	  * gst/parse/grammar.y:
-	  Fix 2 caps leaks.
-
-2008-04-17 08:34:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.c: Use g_atomic_int_set() here too instead of assignment + g_atomic_int_get().
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_atomic_int_set):
-	  Use g_atomic_int_set() here too instead of assignment +
-	  g_atomic_int_get().
-
-2008-04-17 07:14:46 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstutils.*: API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used now that we depend on new enou...
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
-	  now that we depend on new enough GLib.
-	  * gst/gstcaps.c: (gst_static_caps_get):
-	  * gst/gstclock.c: (gst_clock_entry_new):
-	  * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
-	  (gst_debug_set_default_threshold), (_gst_debug_category_new),
-	  (gst_debug_category_set_threshold):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_set_qos_enabled):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_set_property):
-	  Use g_atomic_int_set() instead of gst_atomic_int_set().
-
-2008-04-16 18:48:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstquery.c: Also use G_GINT64_CONSTANT for the queries.
-	  Original commit message from CVS:
-	  * gst/gstquery.c:
-	  Also use G_GINT64_CONSTANT for the queries.
-
-2008-04-16 18:38:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstmessage.c: Use G_GINT64_CONSTANT in varargs function.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c:
-	  Use G_GINT64_CONSTANT in varargs function.
-
-2008-04-16 15:51:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Initialize the registry magic with zeroes.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
-	  Initialize the registry magic with zeroes.
-
-2008-04-16 14:18:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.*: Add crc32 checksum to the binary registry file and check this before accepting a registry file.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (_gst_crc32),
-	  (gst_registry_binary_write),
-	  (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_write_cache),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  Add crc32 checksum to the binary registry file and check this before
-	  accepting a registry file.
-	  Also free the data list when writing to the registry file fails.
-
-2008-04-16 13:16:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: If an element supports the Uri interface, returns a valid pointer to the supported URI proto...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin):
-	  If an element supports the Uri interface, returns a valid pointer
-	  to the supported URI protocols but this pointer contains nothing
-	  don't try to save that as it will corrupt the registry.
-	  Don't unref the plugin if we added it to the registry already but
-	  fail to load a feature as gst_registry_add_plugin() takes ownership
-	  of the plugin.
-	  Improve debugging a bit.
-
-2008-04-16 08:30:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.h: Clarify some tag item docs after discussion on irc.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  Clarify some tag item docs after discussion on irc.
-
-2008-04-15 06:23:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-docs.sgml: Remove commented out plugins (they have their own docs). Update comments.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  Remove commented out plugins (they have their own docs). Update
-	  comments.
-
-2008-04-15 06:16:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec docs to own section.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstparamspecs.c:
-	  * gst/gstparamspecs.h:
-	  Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
-	  docs to own section.
-	  * gst/gstvalue.c:
-	  This now only documents GValue.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/controller/gstcontroller.h:
-	  Remove GST_PARAM_CONTROLLABLE.
-
-2008-04-15 05:54:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/README: Correct file path. Tell about how to use -overrides.txt.
-	  Original commit message from CVS:
-	  * docs/README:
-	  Correct file path. Tell about how to use -overrides.txt.
-	  * docs/design/draft-tagreading.txt:
-	  Small design update.
-
-2008-04-14 12:12:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() ...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin):
-	  Fix a typo in a debug message and revert change from yesterday as
-	  gst_registry_add_plugin() will only fail if something is really wrong
-	  already and we can't survive it anyway.
-
-2008-04-14 08:48:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Pre-register GstGError GType from a thread-safe context (fixes #527967); unref enum type classes in deinit.
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post), (gst_deinit):
-	  Pre-register GstGError GType from a thread-safe context
-	  (fixes #527967); unref enum type classes in deinit.
-
-2008-04-13 19:58:43 +0000  Rene Stadler <mail@renestadler.de>
-
-	  gst/gsttagsetter.c: Merging an empty list with another list in KEEP_ALL mode should yield an empty list as result and...
-	  Original commit message from CVS:
-	  Patch by: Rene Stadler <mail at renestadler de>
-	  * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
-	  Merging an empty list with another list in KEEP_ALL mode should
-	  yield an empty list as result and not the second list (#512578).
-	  * tests/check/gst/gsttagsetter.c:
-	  Add unit test for tag merge modes and the aforementioned bug.
-
-2008-04-13 18:50:05 +0000  Rene Stadler <mail@renestadler.de>
-
-	  gst/gsttaglist.h: Fix description to match the order in the table (#512577).
-	  Original commit message from CVS:
-	  Patch by: Rene Stadler <mail at renestadler de>
-	  * gst/gsttaglist.h:
-	  Fix description to match the order in the table (#512577).
-
-2008-04-13 17:51:02 +0000  Kwang Yul Seo <kwangyul.seo.gmail.com>
-
-	  Define socklen_t as int if it's not defined yet. Fixes compilation with MSVC6 and other versions where socklen_t is n...
-	  Original commit message from CVS:
-	  Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
-	  * libs/gst/net/gstnettimepacket.h:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Define socklen_t as int if it's not defined yet. Fixes compilation
-	  with MSVC6 and other versions where socklen_t is not defined in
-	  the windows headers (#518022).
-
-2008-04-13 13:54:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to us...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
-	  If gst_registry_add_plugin() fails our reference to the plugin is
-	  invalid so don't try to use it anymore and instead error out.
-
-2008-04-12 20:52:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-xmlinspect.c: De-cruft a bit. If no argument is specified, print all elements in
-	  Original commit message from CVS:
-	  * tools/gst-xmlinspect.c: (print_element_info), (main):
-	  De-cruft a bit. If no argument is specified, print all elements in
-	  XML syntax rather than a freestyle list of elements like gst-inspect.
-	  Also, don't print XML header chunk unless we actually have something
-	  to print (ie. don't print it before an error message); print error
-	  message to stderr not stdout. Remove support for printing plugin
-	  info (it would just output something freestyle along the lines of
-	  gst-inspect so far), which fixes #514507. Also add license header.
-
-2008-04-11 09:27:44 +0000  Julien Moutte <julien@moutte.net>
-
-	  Mac OS X love...
-	  Original commit message from CVS:
-	  2008-04-11  Julien Moutte  <julien@fluendo.com>
-	  Mac OS X love...
-	  * configure.ac: Merge platform specific defines, introduce a new
-	  define on OS X to remember that forking when updating registry is
-	  unsafe.
-	  * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
-	  module.
-	  * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
-	  is defined.
-	  * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
-	  condition that leads to absolutely no plugins being registered on
-	  OS X.
-
-2008-04-10 20:46:51 +0000  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	  Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the p...
-	  Original commit message from CVS:
-	  Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
-	  * gst/gstutils.c: (gst_pad_add_data_probe),
-	  (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
-	  (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
-	  (gst_pad_add_buffer_probe_full):
-	  * gst/gstutils.h:
-	  * docs/gst/gstreamer-sections.txt:
-	  * win32/common/libgstreamer.def:
-	  Add gst_pad_add_*_probe_full() functions with a notify callback that
-	  lets the caller free the data it passes to the probe functions. This
-	  is useful for bindings such as gst-python or gstreamermm (#526814).
-	  API: gst_pad_add_data_probe_full
-	  API: gst_pad_add_buffer_probe_full
-	  API: gst_pad_add_event_probe_full
-	  * tests/check/gst/gstutils.c:
-	  Add minimal unit test to make sure freeing the data actually works
-	  as expected.
-	  * tests/benchmarks/.cvsignore:
-	  Random cvsignore addendum.
-
-2008-04-10 19:13:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstdebugutils.h: Mention GstDebugGraphDetails enum type in doc blurb so we get a link to it in the docs (since th...
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
-	  (GST_DEBUG_BIN_TO_DOT_FILE):
-	  Mention GstDebugGraphDetails enum type in doc blurb so we get a link
-	  to it in the docs (since these are macros the types of the arguments
-	  won't be shown in the docs otherwise).
-
-2008-04-10 14:10:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpad.c: Do not abort on out of memory for pad_alloc_buffer.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Do not abort on out of memory for pad_alloc_buffer.
-
-2008-04-10 13:59:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/check/gstcheck.c: Remove blank line between symbol name ad parameters to fix gtkdoc warning.
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c:
-	  Remove blank line between symbol name ad parameters to fix gtkdoc
-	  warning.
-
-2008-04-09 22:37:22 +0000  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	  Expose gst_segment_copy() to make things easier for the c++ bindings.
-	  Original commit message from CVS:
-	  Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstsegment.c:
-	  * gst/gstsegment.h:
-	  * win32/common/libgstreamer.def:
-	  Expose gst_segment_copy() to make things easier for the c++ bindings.
-	  Fixes #518932.
-	  API: gst_segment_copy()
-
-2008-04-09 21:27:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Fix const position; ref GType classes for enum types to work around thread-safety issues in GLib versions ...
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_get_option_group), (init_post):
-	  Fix const position; ref GType classes for enum types to work
-	  around thread-safety issues in GLib versions < 2.16.
-
-2008-04-09 18:26:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1.
-	  Original commit message from CVS:
-	  * docs/design/part-buffering.txt:
-	  Fix some typos and set the estimated total for push mode to -1.
-	  * gst/gstquery.c: (gst_query_new_buffering):
-	  Set buffering-left to 0 as we're not buffering by default.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
-	  Implement BUFFERING query.
-
-2008-04-09 17:34:54 +0000  Milosz Derezynski <internalerror@gmail.com>
-
-	  gst/gsterror.*: Add two new error codes for encrypted content. Fixes #524659.
-	  Original commit message from CVS:
-	  Based on patch by: Milosz Derezynski <internalerror gmail com>
-	  * gst/gsterror.c: (_gst_stream_errors_init):
-	  * gst/gsterror.h:
-	  Add two new error codes for encrypted content. Fixes #524659.
-	  API: GST_STREAM_ERROR_DECRYPT
-	  API: GST_STREAM_ERROR_DECRYPT_NOKEY
-
-2008-04-09 13:15:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstquery.h: Fix typo.
-	  Original commit message from CVS:
-	  * gst/gstquery.h:
-	  Fix typo.
-	  * win32/common/libgstreamer.def:
-	  Add new functions.
-
-2008-04-09 08:19:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/gstidentity.c: Fix imperfect timestamp/offset checks when we get another NEWSEGMENT event after proc...
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_event),
-	  (gst_identity_start):
-	  Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
-	  event after processing some data. Fixes bug #526042.
-
-2008-04-08 20:28:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Rename _avail -> _range
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstquery.c: (gst_query_parse_latency),
-	  (gst_query_set_buffering_percent),
-	  (gst_query_parse_buffering_percent),
-	  (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
-	  * gst/gstquery.h:
-	  Rename _avail -> _range
-	  API: gst_query_set_buffering_range
-	  API: gst_query_parse_buffering_range
-
-2008-04-08 20:17:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add busy field and quark for the buffering query so that the app can only use the query to see if buffering is in pro...
-	  Original commit message from CVS:
-	  * docs/design/part-buffering.txt:
-	  * gst/gstquark.c:
-	  * gst/gstquark.h:
-	  * gst/gstquery.c: (gst_query_parse_latency),
-	  (gst_query_new_buffering), (gst_query_set_buffering_percent),
-	  (gst_query_parse_buffering_percent):
-	  * gst/gstquery.h:
-	  Add busy field and quark for the buffering query so that the app can
-	  only use the query to see if buffering is in progress.
-
-2008-04-08 19:59:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Reorder the message docs and headers for clarity.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.c: (gst_message_set_buffering_stats),
-	  (gst_message_parse_buffering_stats):
-	  * gst/gstmessage.h:
-	  * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
-	  (gst_query_parse_latency), (gst_query_new_buffering),
-	  (gst_query_set_buffering_percent),
-	  (gst_query_parse_buffering_percent),
-	  (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
-	  (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
-	  * gst/gstquery.h:
-	  Reorder the message docs and headers for clarity.
-	  Add aditional buffering stats API for messages.
-	  Add buffering query.
-	  Convert some leftover queries to use GstQuark.
-	  API: gst_message_set_buffering_stats
-	  API: gst_message_parse_buffering_stats
-	  API: GST_QUERY_BUFFERING
-	  API: GstBufferingMode
-	  API: gst_query_new_buffering
-	  API: gst_query_set_buffering_percent
-	  API: gst_query_parse_buffering_percent
-	  API: gst_query_set_buffering_stats
-	  API: gst_query_parse_buffering_stats
-	  API: gst_query_set_buffering_avail
-	  API: gst_query_parse_buffering_avail
-
-2008-04-08 19:52:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.c: Use GstQuark for messages.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_info),
-	  (gst_message_new_buffering), (gst_message_new_state_changed),
-	  (gst_message_new_clock_provide), (gst_message_new_clock_lost),
-	  (gst_message_new_new_clock), (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_new_duration),
-	  (gst_message_new_async_start), (gst_message_parse_buffering),
-	  (gst_message_parse_state_changed),
-	  (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
-	  (gst_message_parse_new_clock), (gst_message_parse_error),
-	  (gst_message_parse_warning), (gst_message_parse_info),
-	  (gst_message_parse_segment_start),
-	  (gst_message_parse_segment_done), (gst_message_parse_duration),
-	  (gst_message_parse_async_start):
-	  Use GstQuark for messages.
-
-2008-04-08 19:39:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquark.*: Add some more quarks needed for messages and queries.
-	  Original commit message from CVS:
-	  * gst/gstquark.c: (_priv_gst_quarks_initialize):
-	  * gst/gstquark.h:
-	  Add some more quarks needed for messages and queries.
-
-2008-04-08 19:14:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-buffering.txt: Remove the "none" buffering mode, STREAM is a good default.
-	  Original commit message from CVS:
-	  * docs/design/part-buffering.txt:
-	  Remove the "none" buffering mode, STREAM is a good default.
-	  Move estimated-time to the avail query, that's when it will be needed.
-	  Other small typo fixes and updates.
-
-2008-04-07 13:27:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstindex.c: Don't put descriptions into the nick field of a GEnumValue: it's not meant for that and some language...
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_resolver_get_type):
-	  Don't put descriptions into the nick field of a GEnumValue: it's not
-	  meant for that and some language bindings rely on the nick field to
-	  construct constants and the like. Fixes #526705.
-
-2008-04-07 10:48:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Merge other changes from 0.10.19 release branch.
-	  Original commit message from CVS:
-	  * NEWS:
-	  * RELEASE:
-	  * gstreamer.doap:
-	  Merge other changes from 0.10.19 release branch.
-
-2008-04-06 08:54:47 +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-05 10:58:11 +0000  Damien Lespiau <damien.lespiau@gmail.com>
-
-	  gst/gstpoll.c: Fix compilation of GstPoll with mingw32. Fixes bug #526236.
-	  Original commit message from CVS:
-	  Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
-	  * gst/gstpoll.c:
-	  Fix compilation of GstPoll with mingw32. Fixes bug #526236.
-
-2008-04-04 13:43:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Fix typo.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Fix typo.
-	  * docs/design/part-buffering.txt:
-	  Update design docs with more buffering ideas.
-
-2008-04-03 21:15:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
-
-2008-04-03 16:45:02 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update spec to work with docs
-	  Original commit message from CVS:
-	  update spec to work with docs
-
-2008-04-03 14:49:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: Revert part that belongs to the preset patch.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Revert part that belongs to the preset patch.
-
-2008-04-03 14:26:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: Add qoutes to the define. Fixes # 525961.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Add qoutes to the define. Fixes # 525961.
-
-2008-04-03 07:52:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/indexers/: Use GSlice when possible.
-	  Original commit message from CVS:
-	  * plugins/indexers/gstfileindex.c: (_file_index_id_free),
-	  (gst_file_index_load), (gst_file_index_add_id),
-	  (gst_file_index_get_assoc_entry):
-	  * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
-	  (gst_mem_index_free_id), (gst_mem_index_add_id),
-	  (gst_mem_index_index_format):
-	  Use GSlice when possible.
-
-2008-04-02 17:45:08 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolationcontrolsource.c: Use GSlice for allocating the control points.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  (gst_control_point_free),
-	  (gst_interpolation_control_source_set_internal):
-	  Use GSlice for allocating the control points.
-
-2008-04-02 17:21:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gsttypefindelement.*: Cleanup properties.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_class_init),
-	  (gst_type_find_element_set_property),
-	  (gst_type_find_element_get_property),
-	  (gst_type_find_element_activate):
-	  * plugins/elements/gsttypefindelement.h:
-	  Cleanup properties.
-	  Fix pad leak when peer query fails.
-	  We can still typefind when the peer returns -1.
-	  Add property to force caps and bypass typefinding. This will be used in
-	  uridecodebin.
-	  API::force-caps
-
-2008-04-01 13:55:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  configure.ac: Require GLib 2.12.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Require GLib 2.12.
-	  * gst/glib-compat-private.h:
-	  * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
-	  * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
-	  Unconditionally use GSlice for allocation.
-	  * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
-	  * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
-	  * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
-	  (gst_structure_free):
-	  Use GSlice for allocation.
-
-2008-04-01 13:48:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version.
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  * gst/parse/grammar.tab.pre.c:
-	  * gst/parse/grammar.tab.pre.h:
-	  * gst/parse/lex._gst_parse_yy.pre.c:
-	  Require a new enough flex and bison and remove the parser hacks to use
-	  a pre-regenerated version.
-
-2008-04-01 10:25:35 +0000  Jason Zhao <E3423C@motorola.com>
-
-	  configure.ac: Add a configure switch to disable option parsing in gst_init.
-	  Original commit message from CVS:
-	  2008-04-01  Julien Moutte  <julien@fluendo.com>
-	  patch by: Jason Zhao <E3423C@motorola.com>
-	  * configure.ac: Add a configure switch to disable option parsing
-	  in gst_init.
-	  Fixes #522882.
-
-2008-03-31 13:47:22 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  MacOS has plugins under .so or under .dylib. Add detection for MacOS and handle this case.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gstregistry.c:
-	  MacOS has plugins under .so or under .dylib. Add detection for MacOS
-	  and handle this case.
-	  * gst/gst.c:
-	  Add a comment here describing, why we stat each plugin and not try to
-	  be smart.
-
-2008-03-31 10:21:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gstbasetransform.c: Also unset the GAP flag on buffers if we're working inplace but the element is not ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer):
-	  Also unset the GAP flag on buffers if we're working inplace but
-	  the element is not GAP-aware.
-	  Mark a comment as FIXME 0.11.
-
-2008-03-31 08:32:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gst.c: Fix type in log message and add one to ease seeing how long registry cache verification takes.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Fix type in log message and add one to ease seeing how long registry
-	  cache verification takes.
-	  * gst/gstregistry.c:
-	  Only test plugin filenames against G_MODULE_SUFFIX.
-
-2008-03-31 07:49:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Improve handling ghost/proxy pads.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Improve handling ghost/proxy pads.
-
-2008-03-27 19:13:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Expose macro to docs and fix link to it.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpad.c:
-	  * gst/gstpad.h:
-	  Expose macro to docs and fix link to it.
-
-2008-03-27 15:23:55 +0000  Michael Smith <msmith@xiph.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-03-24 16:56:36 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  plugins/elements/gstidentity.c: Identity is not always a passthrough element, it can modify the buffer timestamps whe...
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet be>
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_init), (gst_identity_prepare_output_buffer):
-	  Identity is not always a passthrough element, it can modify the buffer
-	  timestamps when it has a datarate and operates in single-segment mode.
-	  We therefore make it an in_place filter with a custom buffer prepare
-	  function that conditionally makes the input buffer metadata writable
-	  when needed.  Fixes #523985.
-
-2008-03-24 16:44:25 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  Small documentation fixes. Fixes #523978.
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet be>
-	  * gst/gstclock.h:
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasetransform.c:
-	  * libs/gst/check/gstcheck.c:
-	  Small documentation fixes. Fixes #523978.
-
-2008-03-24 16:31:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/: Also retry our poll_wait when we get EAGAIN. Fixes #524041.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
-	  Also retry our poll_wait when we get EAGAIN. Fixes #524041.
-
-2008-03-24 10:38:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: When trying to make room in the queue, bump the max allowed buffers bigger than the...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
-	  (single_queue_underrun_cb):
-	  When trying to make room in the queue, bump the max allowed buffers
-	  bigger than the current amount of buffers in the queue. this fixes some
-	  nasty deadlocks in multiqueue when dynamically changing the limits of
-	  the queue.
-
-2008-03-24 10:33:41 +0000  José Alburquerque <jaalburqu@svn.gnome.org>
-
-	  gst/gstcaps.*: Constify the field gchar * params in set_simple and friends.
-	  Original commit message from CVS:
-	  Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
-	  * gst/gstcaps.c: (gst_caps_set_simple),
-	  (gst_caps_set_simple_valist), (gst_caps_intersect):
-	  * gst/gstcaps.h:
-	  Constify the field gchar * params in set_simple and friends.
-	  Fixes #522326.
-
-2008-03-24 10:29:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstvalue.c: Transform a GstObject to a more meaningfull string that includes the object type in addition to its n...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_transform_object_string):
-	  Transform a GstObject to a more meaningfull string that includes the
-	  object type in addition to its name.
-
-2008-03-23 15:17:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ChangeLog: ChangeLog surgery to add bugnumber to commit.
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  ChangeLog surgery to add bugnumber to commit.
-
-2008-03-23 14:24:48 +0000  Rene Stadler <mail@renestadler.de>
-
-	  libs/gst/base/gstbasetransform.c: Fix confusing documentation.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_set_gap_aware): Fix confusing documentation.
-
-2008-03-23 11:40:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Rename constant everywhere and don't forget one occurence.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write):
-	  Rename constant everywhere and don't forget one occurence.
-
-2008-03-23 11:29:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Align memory to the pointer size even if the architecture allows unaligned memory access. Un...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write):
-	  Align memory to the pointer size even if the architecture allows
-	  unaligned memory access. Unaligned memory access usually comes with
-	  performance penality.
-
-2008-03-23 11:23:30 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses o...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_load_pad_template),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin):
-	  Align memory to the pointer size instead of always 32 bit. Fixes
-	  unaligned memory accesses on ia64 and friends.
-	  * gst/gstregistrybinary.h:
-	  Bump binary registry format version for this as it changes the
-	  format on those architectures that don't have unaligned access
-	  and 64 bit pointers.
-
-2008-03-22 14:56:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static...
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-dparams.xml:
-	  * docs/pwg/building-props.xml:
-	  * docs/pwg/other-source.xml:
-	  * gst/glib-compat.h:
-	  * gst/gstbin.c: (gst_bin_class_init):
-	  * gst/gstclock.c: (gst_clock_class_init):
-	  * gst/gstindex.c: (gst_index_class_init):
-	  * gst/gstobject.c: (gst_object_class_init):
-	  * gst/gstpad.c: (gst_pad_class_init):
-	  * gst/gstpipeline.c: (gst_pipeline_class_init):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_class_init):
-	  * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
-	  * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
-	  (_gst_check_fault_handler_sighandler),
-	  (_gst_check_fault_handler_setup), (gst_check_init):
-	  * libs/gst/controller/gstcontroller.c:
-	  (_gst_controller_class_init):
-	  * libs/gst/controller/gstlfocontrolsource.c:
-	  (gst_lfo_control_source_class_init):
-	  * libs/gst/net/gstnetclientclock.c:
-	  (gst_net_client_clock_class_init):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_class_init):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init):
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
-	  * plugins/elements/gstqueue.c: (gst_queue_class_init):
-	  * plugins/elements/gsttee.c: (gst_tee_class_init):
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_class_init):
-	  * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
-	  Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
-	  use it everywhere for GParamSpecs that use static strings (i.e. all).
-	  This gives us less memory usage, fewer allocations and thus less
-	  memory defragmentation. Fixes bug #523806.
-
-2008-03-22 14:51:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_value_dup_mini_object),
-	  (gst_param_spec_mini_object):
-	  * gst/gstminiobject.h:
-	  * win32/common/libgstreamer.def:
-	  * docs/gst/gstreamer-sections.txt:
-	  API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
-	  GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
-	  GstParamSpecMiniObject into a public header for this.
-	  This make GstMiniObject a bit more consistent with GObject and makes
-	  it possible to extend the param specs.
-	  gst_value_dup_mini_object is mainly useful for set_property methods.
-	  Fixes bug #523798.
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Print something useful for GstMiniObject properties and not just
-	  "unknown type".
-
-2008-03-21 16:11:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to f...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_check_magic):
-	  * gst/gstregistrybinary.h:
-	  Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
-	  and add it to the (private part) of the docs to fix the build.
-
-2008-03-21 15:52:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.*: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  Don't use GST_MAJORMINOR for the binary registry version. Instead
-	  hardcode a value that must be changed whenever the format changes
-	  in an incompatible way.
-	  Also don't GST_ERROR when there is a version mismatch, just
-	  regenerate the registry silently.
-
-2008-03-21 00:35:10 +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:20:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.10.18
-	  Original commit message from CVS:
-	  Release 0.10.18
-
-2008-03-20 23:26:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2008-03-18 12:17:58 +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 10:54:52 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  Add new function gst_poll_fd_ignored() for improved Windows compatibility.
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås
-	  <ole dot andre dot ravnas at tandberg dot com>
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
-	  (gst_poll_update_winsock_event_mask),
-	  (gst_poll_prepare_winsock_active_sets),
-	  (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
-	  (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
-	  (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
-	  (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
-	  (gst_poll_check_ctrl_commands), (gst_poll_wait):
-	  * gst/gstpoll.h:
-	  * win32/common/libgstreamer.def:
-	  Add new function gst_poll_fd_ignored() for improved Windows
-	  compatibility.
-	  Various minor fixes and cleanups. See #520808.
-
-2008-03-17 10:21:59 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstindex.*: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741).
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_entry_free):
-	  * gst/gstindex.h:
-	  Don't free key strings which we don't own. Fixes crash in
-	  gst_index_entry_free() (#522741).
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gstindex.c: (test_index_entries),
-	  (gst_index_suite), (gst_index):
-	  Add unit test for the above.
-
-2008-03-11 14:09:46 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  win32/common/libgstreamer.def: Remove symbols that were removed recently. Fixes bug #521740.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Remove symbols that were removed recently. Fixes bug #521740.
-
-2008-03-11 00:24:18 +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-11 00:23:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Release 0.10.17.3
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Release 0.10.17.3
-
-2008-03-07 15:39:45 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  Remove GstPollMode from the API, it does not make sense to let the application control this.
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås
-	  <ole dot andre dot ravnas at tandberg dot com>
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
-	  (gst_poll_update_winsock_event_mask), (gst_poll_new),
-	  (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
-	  (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
-	  (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
-	  (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
-	  (gst_poll_fd_can_write), (gst_poll_wait),
-	  (gst_poll_set_controllable), (gst_poll_restart),
-	  (gst_poll_set_flushing):
-	  * gst/gstpoll.h:
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
-	  * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
-	  (gst_net_time_provider_new):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
-	  * tests/benchmarks/gstpollstress.c: (main):
-	  * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
-	  Remove GstPollMode from the API, it does not make sense to let the
-	  application control this.
-	  Add support for Win32.
-	  Fix the testsuite. Fixes #520671.
-
-2008-03-07 13:19:12 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877.
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås
-	  <ole dot andre dot ravnas at tandberg dot com>
-	  * gst/gstregistrybinary.c:
-	  Include io.h for write() and close() when building with MSVC. Fixes
-	  bug #520877.
-
-2008-03-07 11:12:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gst_private.h:
-	  * gst/gstconfig.h.in:
-	  * gst/gstregistry.h:
-	  * gst/gstregistrybinary.c:
-	  * win32/common/gstconfig.h:
-	  Move registry backend API to private headers where we can. Add
-	  fixme-0.11 comments for the others. Add stubs for the xml backend when
-	  using the binary to ensure they functions exists (they should not be
-	  used though). Fixes #520756.
-
-2008-03-04 00:14:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  0.10.17.2 prelease
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * win32/common/config.h:
-	  0.10.17.2 prelease
-
-2008-03-03 18:42:04 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Switch to using portabl gsize/gssize instead of size_t/ssize_t
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistryxml.c: (gst_registry_save):
-	  * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
-	  (gst_file_src_map_small_region), (gst_file_src_create_mmap):
-	  Switch to using portabl gsize/gssize instead of size_t/ssize_t
-	  Fixes #520152
-
-2008-03-03 18:14:33 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstminiobject.c: Import gst_private.h before any other header that might include other glib headers. This fixes t...
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c:
-	  Import gst_private.h before any other header that might include other
-	  glib headers. This fixes the build on windows using native compilers.
-
-2008-03-03 14:48:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/gstconfig.h: Add here too, just for completeness.
-	  Original commit message from CVS:
-	  * win32/common/gstconfig.h:
-	  Add here too, just for completeness.
-
-2008-03-03 14:43:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Fix broken use of config.h-defined preprocessor directive in a public header file. Add a corresponding define to gstc...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gstconfig.h.in:
-	  * gst/gstregistry.h:
-	  Fix broken use of config.h-defined preprocessor directive in a public
-	  header file. Add a corresponding define to gstconfig.h, since we can't
-	  really remove those function declarations from the header file now
-	  (or can we? and why are they there in the first place?).
-
-2008-03-03 10:07:21 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning.
-	  Original commit message from CVS:
-	  2008-03-03  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
-	  the new warning.
-	  * gst/gststructure.c (gst_structure_from_string): Warn if
-	  structure_from_string didn't consume the whole string, but the
-	  caller did not provide an end pointer.
-
-2008-03-01 11:21:30 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>
-
-	  gst/gstregistryxml.c: Strings allocated by libxml2 should be freed with xmlFree(), not with g_free(). Fixes issues on...
-	  Original commit message from CVS:
-	  Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
-	  * gst/gstregistryxml.c: (read_string), (load_feature):
-	  Strings allocated by libxml2 should be freed with xmlFree(), not
-	  with g_free(). Fixes issues on windows in certain contexts (#519698).
-
-2008-02-29 18:38:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinterface.c: Don't crash if the element supports the interface queried, but does not implement GstImplementsIn...
-	  Original commit message from CVS:
-	  * gst/gstinterface.c: (gst_element_implements_interface):
-	  Don't crash if the element supports the interface queried, but does
-	  not implement GstImplementsInterface. Fixes #519584.
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gstinterface.c:
-	  Add unit test for the above.
-
-2008-02-29 15:39:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Small doc update.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
-	  Small doc update.
-
-2008-02-29 15:22:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Improve some comment.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_seek),
-	  (gst_segment_to_stream_time):
-	  Improve some comment.
-	  Update variables where it makes more sense.
-
-2008-02-29 14:23:17 +0000  Rene Stadler <mail@renestadler.de>
-
-	  gst/gsturi.c: Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_uri_handler_get_protocols):
-	  Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
-	  URIHandlers implemented using language bindings.
-
-2008-02-29 13:59:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  And correct even more valid sparse warnings.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.h:
-	  * tests/check/elements/fakesink.c:
-	  * tests/check/elements/fakesrc.c: (setup_fakesrc):
-	  * tests/check/elements/fdsrc.c: (setup_fdsrc):
-	  * tests/check/elements/filesink.c: (setup_filesink):
-	  * tests/check/elements/filesrc.c: (setup_filesrc):
-	  * tests/check/elements/identity.c: (setup_identity):
-	  * tests/check/elements/tee.c:
-	  * tests/check/generic/sinks.c:
-	  * tests/check/generic/states.c: (setup), (teardown):
-	  * tests/check/gst/gst.c:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/gstbin.c:
-	  * tests/check/gst/gstbus.c: (pull_messages):
-	  * tests/check/gst/gstcaps.c:
-	  * tests/check/gst/gstelement.c:
-	  * tests/check/gst/gstevent.c:
-	  * tests/check/gst/gstghostpad.c:
-	  * tests/check/gst/gstiterator.c:
-	  * tests/check/gst/gstmessage.c:
-	  * tests/check/gst/gstminiobject.c: (my_foo_init):
-	  * tests/check/gst/gstobject.c: (thread_name_object),
-	  (gst_object_suite):
-	  * tests/check/gst/gstpad.c:
-	  * tests/check/gst/gstplugin.c:
-	  * tests/check/gst/gstpoll.c:
-	  * tests/check/gst/gstquery.c:
-	  * tests/check/gst/gstsegment.c:
-	  * tests/check/gst/gststructure.c:
-	  * tests/check/gst/gstsystemclock.c:
-	  * tests/check/gst/gsttask.c:
-	  * tests/check/gst/gstutils.c:
-	  * tests/check/gst/gstvalue.c:
-	  * tests/check/gst/struct_hppa.h:
-	  * tests/check/gst/struct_i386.h:
-	  * tests/check/gst/struct_ppc32.h:
-	  * tests/check/gst/struct_ppc64.h:
-	  * tests/check/gst/struct_x86_64.h:
-	  * tests/check/libs/adapter.c: (create_and_fill_adapter):
-	  * tests/check/libs/basesrc.c:
-	  * tests/check/libs/controller.c: (GST_START_TEST):
-	  * tests/check/libs/gdp.c:
-	  * tests/check/libs/gstnetclientclock.c:
-	  * tests/check/libs/gstnettimeprovider.c:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_hppa.h:
-	  * tests/check/libs/struct_i386.h:
-	  * tests/check/libs/struct_ppc32.h:
-	  * tests/check/libs/struct_ppc64.h:
-	  * tests/check/libs/struct_x86_64.h:
-	  * tests/check/pipelines/cleanup.c:
-	  * tests/check/pipelines/simple-launch-lines.c:
-	  * tests/check/pipelines/stress.c:
-	  And correct even more valid sparse warnings.
-	  * win32/common/libgstreamer.def:
-	  Add gst_poll_fd_init to the list of symbols.
-
-2008-02-29 12:41:33 +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:
-	  * 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-02-29 12:05:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Don't reset GstPollFDs, this is not necessary at all.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
-	  Don't reset GstPollFDs, this is not necessary at all.
-	  * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
-	  (delayed_restart), (delayed_control):
-	  Use GST_POLL_FD_INIT.
-
-2008-02-29 11:57:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpoll.*: Added Since tags.
-	  Original commit message from CVS:
-	  * gst/gstpoll.c: (gst_poll_fd_init):
-	  * gst/gstpoll.h:
-	  Added Since tags.
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
-	  Use some more init macros.
-
-2008-02-29 11:20:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/: Use init macros and functions.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
-	  Use init macros and functions.
-
-2008-02-29 11:00:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add INIT macro and _init method for initializing the GstPollFD.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpoll.c: (gst_poll_fd_init):
-	  * gst/gstpoll.h:
-	  Add INIT macro and _init method for initializing the GstPollFD.
-
-2008-02-28 19:58:26 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Initialize some uninitialized variables as spotted by valgrind.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
-	  (gst_fd_sink_update_fd):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
-	  * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
-	  (delayed_restart), (delayed_control):
-	  Initialize some uninitialized variables as spotted by valgrind.
-
-2008-02-28 15:25:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/benchmarks/: Add poll stress test.
-	  Original commit message from CVS:
-	  * tests/benchmarks/Makefile.am:
-	  * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
-	  (main):
-	  Add poll stress test.
-
-2008-02-28 10:18:02 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  plugins/elements/: Port to GstPoll. See #505417.
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis dot com>
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
-	  (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
-	  (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
-	  * plugins/elements/gstfdsink.h:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
-	  (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
-	  (gst_fd_src_unlock_stop), (gst_fd_src_create),
-	  (gst_fd_src_uri_set_uri):
-	  * plugins/elements/gstfdsrc.h:
-	  Port to GstPoll. See #505417.
-
-2008-02-27 21:18:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  win32/common/libgstreamer.def: Add new gst_poll_ symbols to win32 defs.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add new gst_poll_ symbols to win32 defs.
-
-2008-02-27 19:01:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Use a private stuct to not break ABI.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/net/gstnetclientclock.c:
-	  (gst_net_client_clock_class_init), (gst_net_client_clock_init),
-	  (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
-	  (gst_net_client_clock_thread), (gst_net_client_clock_start),
-	  (gst_net_client_clock_stop), (gst_net_client_clock_new):
-	  * libs/gst/net/gstnetclientclock.h:
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_class_init), (gst_net_time_provider_init),
-	  (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
-	  (gst_net_time_provider_start), (gst_net_time_provider_stop),
-	  (gst_net_time_provider_new):
-	  * libs/gst/net/gstnettimeprovider.h:
-	  Use a private stuct to not break ABI.
-
-2008-02-27 18:27:59 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  libs/gst/net/: Massive code removal and cleanups because of GstPoll.
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis dot com>
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
-	  (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
-	  (gst_net_client_clock_thread), (gst_net_client_clock_start),
-	  (gst_net_client_clock_stop), (gst_net_client_clock_new):
-	  * libs/gst/net/gstnetclientclock.h:
-	  * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
-	  (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
-	  (gst_net_time_provider_start), (gst_net_time_provider_stop),
-	  (gst_net_time_provider_new):
-	  * libs/gst/net/gstnettimeprovider.h:
-	  Massive code removal and cleanups because of GstPoll.
-	  Fixes #505417.
-
-2008-02-27 18:00:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  configure.ac: Add checks for poll, ppoll and pselect.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Add checks for poll, ppoll and pselect.
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add docs for GstPoll.
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstpoll.c: (find_index), (selectable_fds),
-	  (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
-	  (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
-	  (gst_poll_set_mode), (gst_poll_get_mode),
-	  (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
-	  (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
-	  (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
-	  (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
-	  (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
-	  (gst_poll_fd_can_write), (gst_poll_wait),
-	  (gst_poll_set_controllable), (gst_poll_restart),
-	  (gst_poll_set_flushing):
-	  * gst/gstpoll.h:
-	  Add generic poll abstraction. We ideally don't want to have this in core
-	  here but in glib intead...
-	  This code will be used in various network elements and ultimately for
-	  the nanosecond precision monotonic clock (that's why it's here in core).
-	  It'll allow us to implement cancelable socket operations for windows too.
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
-	  (delayed_stop), (delayed_restart), (delayed_flush),
-	  (delayed_control), (gst_poll_suite):
-	  Add GstPoll unit test.
-
-2008-02-25 15:37:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627.
-	  Original commit message from CVS:
-	  * gst/gstfilter.c:
-	  Improve documentation of gst_filter_run(). Fixes #518627.
-
-2008-02-23 16:03:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/README: Add a few lines about the new 'check-inspected-versions' target.
-	  Original commit message from CVS:
-	  * docs/README:
-	  Add a few lines about the new 'check-inspected-versions' target.
-
-2008-02-21 10:30:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstevent.c: Add qos to the event test. Rename tcase/tsuite; is not only about custom events.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstevent.c:
-	  Add qos to the event test. Rename tcase/tsuite; is not only about
-	  custom events.
-
-2008-02-21 10:22:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstqueue.c: Ensure that buffer metadata is writeable, before modifying. Spotted by
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c:
-	  Ensure that buffer metadata is writeable, before modifying. Spotted by
-	  Mike.
-
-2008-02-20 15:44:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstqueue.*: When dropping buffers in leaky modes, mark next buffers we sent as
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c:
-	  * plugins/elements/gstqueue.h:
-	  When dropping buffers in leaky modes, mark next buffers we sent as
-	  DISCONT.
-
-2008-02-20 12:31:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesrc.c: Also, if mmap() fails that would be a READ error, not OPEN_READ.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
-	  Also, if mmap() fails that would be a READ error, not OPEN_READ.
-
-2008-02-20 12:26:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/: Remove GstBufferStore, no idea why we were still building it.
-	  Original commit message from CVS:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstbufferstore.c:
-	  * plugins/elements/gstbufferstore.h:
-	  * plugins/elements/gsttypefindelement.h:
-	  Remove GstBufferStore, no idea why we were still building it.
-	  It's not used anywhere and superseded by GstAdapter.
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
-	  (gst_file_src_create_mmap):
-	  * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
-	  Printf format fixes for 64-bit integers.
-
-2008-02-19 13:00:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  configure.ac: Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
-	  We're not in 0.8 times anymore.
-
-2008-02-19 12:56:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/check/gstcheck.*: Make the declaration in the header for gst_check_element_push_buffer_list match the implem...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
-	  (gst_check_element_push_buffer_list):
-	  * libs/gst/check/gstcheck.h:
-	  Make the declaration in the header for
-	  gst_check_element_push_buffer_list match the implementation.
-	  Fix up spelling, grammar and wording of the documentation in a few
-	  places, and add the Since keyword to new API functions.
-	  Use g_list_delete_link instead of g_list_remove in
-	  gst_check_drop_buffers, since it's immeasurably more efficient.
-	  * tests/check/elements/fakesrc.c: (GST_START_TEST):
-	  Use new gst_check_drop_buffers function where appropriate.
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  Add new symbols gst_collect_pads_take_buffer,
-	  gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
-	  exports
-	  Changelog surgery to add API keyword to new gst_check API.
-
-2008-02-19 08:05:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/lex._gst_parse_yy.pre.c: Update pre-generated flex files with flex 2.3.34.
-	  Original commit message from CVS:
-	  * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
-	  (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
-	  Update pre-generated flex files with flex 2.3.34.
-
-2008-02-19 05:49:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not ...
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c:
-	  Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
-	  friendly to subclasses and not require them to know all internals
-	  of their parent class.
-
-2008-02-15 13:15:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add sub-buffer functions to collectpads. Fixes #516187.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstcollectpads.c:
-	  * libs/gst/base/gstcollectpads.h:
-	  Add sub-buffer functions to collectpads. Fixes #516187.
-	  API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
-
-2008-02-15 12:33:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  Copy selected buffer-flags when creating subbuffers.
-	  Fixes #516395.
-
-2008-02-12 12:04:43 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Properly chain up finalize functions to the parent class.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
-	  * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
-	  * gst/gstmessage.c: (gst_message_class_init),
-	  (gst_message_finalize):
-	  * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
-	  * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
-	  (gst_mmap_buffer_finalize):
-	  Properly chain up finalize functions to the parent class.
-
-2008-02-11 17:53:57 +0000  Siavash Safi <siavash.safi@gmail.com>
-
-	  gst/gstindex.*: Add new function with option to dispose of user_data in resolver.
-	  Original commit message from CVS:
-	  Patch by: Siavash Safi <siavash dot safi at gmail dot com>
-	  * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
-	  (gst_index_set_resolver_full):
-	  * gst/gstindex.h:
-	  Add new function with option to dispose of user_data in resolver.
-	  Actually call the dispose function when finalizing the object and not
-	  just when changing the resolver/filter.
-	  API: GstIndex::gst_index_set_resolver_full()
-	  * docs/gst/gstreamer-sections.txt:
-	  Add new function to docs. Fixes #515469.
-
-2008-02-11 08:53:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstindex.c: Chain up finalize to the parent class. Fixes leaking the GstObject name and other things.
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_finalize):
-	  Chain up finalize to the parent class. Fixes leaking the GstObject
-	  name and other things.
-
-2008-02-10 19:48:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* common:
-	  ChangeLog surgery: Fix Josep's surname in previous commits
-	  Original commit message from CVS:
-	  ChangeLog surgery: Fix Josep's surname in previous commits
-
-2008-02-08 00:54:28 +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.
-	  * docs/faq/gst-uninstalled:
-	  Add gst-plugins-gl
-	  * docs/random/release:
-	  Change one of the steps - we only upload core & base to Gnome FTP
-
-2008-02-06 12:21:05 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstconfig.h.in: Add 'id' for example.
-	  Original commit message from CVS:
-	  * gst/gstconfig.h.in:
-	  Add 'id' for example.
-	  * gst/gstpad.c:
-	  * gst/gstutils.c:
-	  * plugins/elements/gstfdsink.c:
-	  Link to signals. Doc and comment fixes.
-
-2008-02-05 21:22:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi...
-	  Original commit message from CVS:
-	  * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
-	  * gst/gstpluginfeature.h: (GstPluginFeatureClass):
-	  Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
-	  unused and unimplemented; finally, it is plugin features, not
-	  plugins, that have ranks.
-
-2008-02-05 19:42:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpluginfeature.h: Clarify GstRank range docs.
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.h:
-	  Clarify GstRank range docs.
-
-2008-02-05 18:37:08 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit().  Fixes #50...
-	  Original commit message from CVS:
-	  * gst/gst.c: Add a separate gst_deinitialized that prevents
-	  gst_init() from being called after gst_deinit().  Fixes #509559
-
-2008-02-05 14:15:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
-	  (gst_bin_class_init):
-	  * gst/gstelement.c: (gst_element_base_class_init),
-	  (gst_element_class_add_pad_template):
-	  * gst/gstpadtemplate.c: (gst_pad_template_init):
-	  * gst/gstpipeline.c: (gst_pipeline_get_type),
-	  (gst_pipeline_base_init), (gst_pipeline_class_init):
-	  * libs/gst/base/gstbasesink.c:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
-	  (gst_base_src_base_init), (gst_base_src_class_init):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
-	  (gst_capsfilter_class_init):
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
-	  (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
-	  (gst_fake_src_class_init):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
-	  (gst_fd_sink_class_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
-	  (gst_fd_src_class_init):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
-	  (gst_file_sink_class_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
-	  (gst_file_src_class_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_base_init),
-	  (gst_identity_class_init):
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
-	  (gst_multi_queue_class_init):
-	  * plugins/elements/gstqueue.c: (gst_queue_base_init),
-	  (gst_queue_class_init):
-	  * plugins/elements/gsttee.c: (gst_tee_base_init),
-	  (gst_tee_class_init):
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_base_init),
-	  (gst_type_find_element_class_init):
-	  * tests/check/gst/gstelement.c: (gst_element_suite):
-	  Revert previous changes to the behaviour of GstPadTemplates, etc
-	  and the possiblity to call them in class_init as it breaks too
-	  many elements. Reopens bug #491501.
-	  Should be applied again for 0.11, thus added a few FIXME 0.11 at
-	  several places.
-
-2008-02-05 09:24:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-launch.c: Dump one graph per pipeline state-change and state change name (if GST_DEBUG_DUMP_DOT_DIR is set).
-	  Original commit message from CVS:
-	  * tools/gst-launch.c:
-	  Dump one graph per pipeline state-change and state change name
-	  (if GST_DEBUG_DUMP_DOT_DIR is set).
-
-2008-02-04 14:14:42 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  Be sure that we have a new copy of the caps and not reffed caps from a template
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  * tests/check/gst/gstpad.c:
-	  Be sure that we have a new copy of the caps and not
-	  reffed caps from a template
-
-2008-02-03 12:04:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
-	  * gst/gstpipeline.c: (gst_pipeline_get_type),
-	  (gst_pipeline_class_init):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
-	  (gst_base_sink_class_init):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
-	  (gst_base_src_class_init):
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
-	  (gst_base_transform_class_init):
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
-	  (gst_collect_pads_class_init):
-	  * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_base_init),
-	  (gst_net_time_provider_class_init):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
-	  (gst_capsfilter_class_init):
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
-	  (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
-	  (gst_fake_src_class_init):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
-	  (gst_fd_sink_class_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
-	  (gst_fd_src_class_init):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
-	  (gst_file_sink_class_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
-	  (gst_file_src_class_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_base_init),
-	  (gst_identity_class_init):
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
-	  (gst_multi_queue_class_init):
-	  * plugins/elements/gstqueue.c: (gst_queue_base_init),
-	  (gst_queue_class_init):
-	  * plugins/elements/gsttee.c: (gst_tee_base_init),
-	  (gst_tee_class_init):
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_base_init),
-	  (gst_type_find_element_class_init):
-	  Don't use base_init where not absolutely necessary. For example it's
-	  not necessary anymore for adding pad templates or setting element
-	  details.
-	  Leave empty base_init functions in several places as GST_BOILERPLATE
-	  still defines and uses them.
-
-2008-02-03 10:48:01 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by ...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_base_class_init),
-	  (gst_element_class_add_pad_template):
-	  * gst/gstpadtemplate.c:
-	  Make it possible (and recommended) to set element details and add
-	  pad templates in the class_init functions by copying the details/pad
-	  templates in GstElement's base_init.
-	  Also make it possible to replace existing pad templates by adding
-	  a new one with the same name. This was done in a hackish fashion
-	  in same elements before already.
-	  Don't reference pad templates that are added a second time. A
-	  new pad template has a refcount of one and is not floating anymore
-	  and to be owned by the element's class. Make this more explicit by
-	  mentioning it in the docs of gst_element_class_add_pad_template().
-	  These changes are backwards compatible. Fixes bug #491501.
-	  * tests/check/gst/gstelement.c:
-	  Add unit test for setting element details, adding pad templates and
-	  replacing them in a subclass.
-
-2008-02-02 06:48:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: Fix a few memory leaks.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_interfaces),
-	  (print_element_properties_info), (print_pad_info),
-	  (print_signal_info), (print_element_info):
-	  Fix a few memory leaks.
-
-2008-02-01 17:16:26 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  Add more functions for unit testing: gst_check_drop_buffers, gst_check_caps_equal, gst_check_element_push_buffer_list...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/check/gstcheck.c:
-	  * libs/gst/check/gstcheck.h:
-	  Add more functions for unit testing: gst_check_drop_buffers,
-	  gst_check_caps_equal, gst_check_element_push_buffer_list,
-	  gst_check_element_push_buffer
-
-2008-02-01 16:37:22 +0000  Julien Moutte <julien@moutte.net>
-
-	  docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
-	  Original commit message from CVS:
-	  2008-02-01  Julien Moutte  <julien@fluendo.com>
-	  * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the
-	  docs
-	  * gst/gstindex.c: (gst_index_class_init),
-	  (gst_index_free_writer),
-	  (gst_index_finalize), (gst_index_entry_free),
-	  (gst_index_add_association): Fix memory leaks.
-	  * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
-	  * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
-	  (gst_mem_index_free_format), (gst_mem_index_free_id),
-	  (gst_mem_index_finalize): Fix memory leaks.
-	  * win32/common/config.h: Updated to CVS HEAD.
-
-2008-02-01 12:25:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/README: Some more details about how the plugin docs works.
-	  Original commit message from CVS:
-	  * docs/README:
-	  Some more details about how the plugin docs works.
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  Whitespace cleanup.
-
-2008-02-01 12:10:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/parse/: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer).
-	  Original commit message from CVS:
-	  * gst/parse/grammar.tab.pre.c:
-	  * gst/parse/grammar.tab.pre.h:
-	  * gst/parse/grammar.y:
-	  * gst/parse/lex._gst_parse_yy.pre.c:
-	  Add delayed set-property. This allows to set properties on dynamicaly
-	  created objects (pads in videomxer).
-
-2008-02-01 11:27:32 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Check if caps are not NULL (fix bug #510194)
-
-2008-02-01 10:27:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Add fixme regarding EOS in pull mode.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
-	  (gst_base_sink_get_position_paused):
-	  Add fixme regarding EOS in pull mode.
-	  Fix position reporting in PAUSED for negative rates.
-
-2008-02-01 10:23:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstminiobject.c: When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_mini_object_replace):
-	  When replacing a miniobject, do a quick equality check first so that we
-	  can avoid a ref/unref pair.
-
-2008-02-01 10:17:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-synchronisation.txt: Update some docs.
-	  Original commit message from CVS:
-	  * docs/design/part-synchronisation.txt:
-	  Update some docs.
-	  * docs/plugins/Makefile.am:
-	  * docs/plugins/gstreamer-plugins-docs.sgml:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  * plugins/elements/gstmultiqueue.c:
-	  Add multiqueue to the docs.
-
-2008-01-30 14:38:43 +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:05:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.10.17
-	  Original commit message from CVS:
-	  Release 0.10.17
-
-2008-01-30 13:13:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  add ChangeLog entry for previous commit
-	  Original commit message from CVS:
-	  add ChangeLog entry for previous commit
-
-2008-01-30 13:12:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Check if caps are not NULL (fix bug #510194)
-
-2008-01-30 12:55:42 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Check if caps are not NULL (fix bug #510194)
-
-2008-01-30 12:44:13 +0000  Cygwin Ports maintainer <yselkowitz@users.sourceforge>
-
-	  gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Fix compilation on systems that have posix timers but no
-	  monotonic clock.
-	  Fixes: #512715
-	  Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
-	  dot net>
-
-2008-01-30 12:39:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tools/gst-inspect.c: Revert previous commit in preparation for an impromptu 0.10.17 release
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  Revert previous commit in preparation for an impromptu 0.10.17 release
-
-2008-01-29 09:43:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: Fix a few memory leaks.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_interfaces),
-	  (print_element_properties_info), (print_pad_info),
-	  (print_signal_info), (print_element_info):
-	  Fix a few memory leaks.
-
-2008-01-28 23:30:45 +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:27:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.interfaces:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* po/LINGUAS:
-	* win32/common/config.h:
-	  Release 0.10.16
-	  Original commit message from CVS:
-	  Release 0.10.16
-
-2008-01-28 21:20:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2008-01-24 23:28:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
-	  _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
-	  not fail when trying to crosscompile on OpenEmbedded (#511750).
-
-2008-01-20 17:08:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/manuals.mak: Use $(MAKE) instead of make to fix the build if GNU make is called different. Fixes bug #510747.
-	  Original commit message from CVS:
-	  * docs/manuals.mak:
-	  Use $(MAKE) instead of make to fix the build if GNU make is
-	  called different. Fixes bug #510747.
-
-2008-01-20 15:04:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstplugin.c: Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when ...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (_gst_plugin_initialize):
-	  Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
-	  again, which I broke two commits ago when changing the API
-	  of gst_plugin_register_static(): the g_list_foreach() in
-	  _gst_plugin_register_static still assumed the old function
-	  signature and would therefore fail (re-fixes #510187).
-	  * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
-	  (_gst_plugin_register_static), (gst_plugin_register_static):
-	  Revert the (technically correct) change to call g_thread_init() from
-	  the pre-main() constructor. This will break programs which call
-	  g_thread_init() without an if (!g_thread_supported()) guard in their
-	  main function. We could just blame it on GLib or the application, but
-	  it's probably best to just avoid this altogether and simply not use
-	  any GLib functions here and use plain old malloc() with a simple
-	  array to store the plugins to register later when gst_init() is
-	  finally called (re-fixes #510187).
-	  * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
-	  (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
-	  (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
-	  (GST_START_TEST), (gst_plugin_suite):
-	  Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
-	  works.
-
-2008-01-17 22:22:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstplugin.h: Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
-	  Original commit message from CVS:
-	  * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
-	  Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
-	  This makes gtk-doc complain, but results in slightly better
-	  compiler errors. The old _gst_plugin_register_static() is
-	  still guarded, so there'll be a compiler warning about that
-	  instead. Fixes #510187 too.
-
-2008-01-17 22:17:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments ...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  * gst/gstplugin.c: (_gst_plugin_register_static),
-	  (gst_plugin_register_static), (_gst_plugin_initialize):
-	  * gst/gstplugin.h: (GstPluginFilter):
-	  Change API of gst_plugin_register_static() to not take
-	  a GstPluginDesc, but rather just take all the arguments
-	  in a GstPluginDesc directly. This is more intuitive and
-	  avoids certain mistakes when porting code from
-	  GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
-	  Fixes #510187.
-	  * tests/check/gst/gstplugin.c:
-	  Fix up for changed API.
-
-2008-01-17 18:50:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/faq/legal.xml: Update FAQ, Totem actually has an exception these days.
-	  Original commit message from CVS:
-	  * docs/faq/legal.xml:
-	  Update FAQ, Totem actually has an exception these days.
-
-2008-01-14 22:20:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  win32/common/libgstreamer.def: Add new API declarations
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add new API declarations
-
-2008-01-14 13:18:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstminiobject.c: Spelling fixes for the API docs.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c:
-	  Spelling fixes for the API docs.
-
-2008-01-14 11:47:32 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Add API keyword for gst_util_get_timestamp, and remove the tag for GST_GET_TIMESTMAP which didn't survive.
-	  Original commit message from CVS:
-	  Add API keyword for gst_util_get_timestamp, and remove the tag for GST_GET_TIMESTMAP which didn't survive.
-
-2008-01-14 11:40:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasetransform.c: Fix long property description for QoS.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  Fix long property description for QoS.
-
-2008-01-12 20:22:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  _gst_trace_on is already provided by gsttrace.h, no need to declare
-	  it ourselves.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
-	  and remove strange tcase_add_test which is outputting a warning.
-	  * libs/gst/check/gstcheck.c:
-	  * libs/gst/check/gstcheck.h:
-	  Properly declare 'buffers', 'check_cond', 'check_mutex' extern
-	  and define them in gstcheck.c instead of having every .c file whcih
-	  includes gstcheck.h be defining its own copy and relying on symbol
-	  interposing to marry them all, which doesn't work on Solaris.
-	  * tests/check/elements/identity.c: (GST_START_TEST):
-	  Don't define 'buffers' locally, it comes from libgstcheck.
-	  * tests/check/generic/sinks.c: (send_buffer):
-	  Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
-	  * tests/check/gst/gststructure.c: (GST_START_TEST):
-	  * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
-	  * tests/check/gst/gstutils.c: (GST_START_TEST):
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Add a bunch of casts to make various constants fit the types
-	  they're being assigned to.
-
-2008-01-10 21:06:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose.
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.c:
-	  Improve docs and add some ideas for making this more general-purpose.
-
-2008-01-10 15:55:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst_private.h: Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. S...
-	  Original commit message from CVS:
-	  * gst/gst_private.h: (GST_CAT_TYPES):
-	  Add GST_CAT_TYPES, for consistency, and so that the other
-	  debug categories don't make fun of it. Spotted by Saur on IRC.
-
-2008-01-10 13:03:35 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS.
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Move types.h from EXTRA_DIST to noinst_HEADERS.
-
-2008-01-10 12:14:04 +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-09 18:23:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_plugin_register_static() and deprecate
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c: (init_post):
-	  * gst/gstplugin.c: (_gst_plugin_register_static),
-	  (gst_plugin_register_static), (_gst_plugin_initialize),
-	  (gst_plugin_register_func):
-	  * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
-	  API: add gst_plugin_register_static() and deprecate
-	  GST_PLUGIN_DEFINE_STATIC, since it's not portable
-	  (#498924).
-	  Also, in _gst_plugin_register_static(), make sure to call
-	  g_thread_init() before calling GLib functions such as
-	  g_list_append() if we're not initialised yet, since that
-	  may lead to random crashes with older GSlice/GLib versions.
-	  * tests/check/gst/gstplugin.c:
-	  Adapt unit test to above changes.
-
-2008-01-09 16:36:34 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appendi...
-	  Original commit message from CVS:
-	  * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
-	  * gst/gstcaps.c: (gst_caps_to_string):
-	  * gst/gststructure.c: (GST_ASCII_IS_STRING),
-	  (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
-	  Yet another gratuitous GString micro-optimisation: add a (private)
-	  function that serialises a structure appending to an existing
-	  GString, so that when we serialise caps we don't need to alloc+free
-	  a throwaway GString for each structure (each of which also entailing
-	  multiple reallocs on the way); also use g_string_sized_new() in
-	  various places with an approximate string length to avoid reallocs
-	  within GString. See #500143.
-
-2008-01-09 15:05:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Always check UTF-8 conformance of structure strings and not only if the debugging system is enabl...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_id_set_value):
-	  Always check UTF-8 conformance of structure strings and not only
-	  if the debugging system is enabled; reasoning: the behaviour of
-	  the actual code shouldn't really change depending on whether the
-	  debugging system is enabled or not (#508291).
-
-2008-01-09 13:48:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Makefile.am: Remove old coverage target in favour of "make lcov".
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  Remove old coverage target in favour of "make lcov".
-
-2008-01-09 12:25:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: The start segment for reverse playback goes from start to last_stop.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_loop):
-	  The start segment for reverse playback goes from start to last_stop.
-
-2008-01-09 12:22:22 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTim...
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj axis com>
-	  * gst/gstclock.h:
-	  Cast the results from the timeval/spec_to_time macros to what the
-	  docs say it casts to, a GstClockTime. fixes #508175.
-
-2008-01-09 12:19:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Update some comments.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  Update some comments.
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Improve printing of flags.
-
-2008-01-08 21:13:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasetransform.c: Print element name with g_warning() if there's a problem with the unit size.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_size):
-	  Print element name with g_warning() if there's a problem
-	  with the unit size.
-
-2008-01-08 02:07:38 +0000  Damien Lespiau <damien.lespiau@gmail.com>
-
-	  libs/gst/: 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.
-
-2008-01-08 02:01:34 +0000  David Schleef <ds@schleef.org>
-
-	  docs/faq/dependencies.xml: Fix typo.
-	  Original commit message from CVS:
-	  * docs/faq/dependencies.xml: Fix typo.
-
-2008-01-07 11:23:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Don't update the last_stop position in do_seek, that's the position we did a seek to.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
-	  (gst_base_src_loop):
-	  Don't update the last_stop position in do_seek, that's the position we
-	  did a seek to.
-	  Read backwards when we have a negative rate.
-	  * tests/check/elements/filesrc.c: (event_func), (wait_eos),
-	  (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
-	  (filesrc_suite):
-	  Add check for reverse reading.
-
-2008-01-07 09:47:49 +0000  Alexis Ballier <aballier@gentoo.org>
-
-	  tests/check/: Decide which header to include based on the userland ABI target and not the kernel/cpu. Fix up structur...
-	  Original commit message from CVS:
-	  Patch by: Alexis Ballier <aballier at gentoo org>
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_ppc64.h:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_ppc64.h:
-	  Decide which header to include based on the userland ABI target
-	  and not the kernel/cpu. Fix up structure sizes of ppc64 header
-	  for 64-bit userland (#503590).  Might need something similar for
-	  x86 too.
-
-2008-01-05 13:45:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstdebugutils.c: Log the reason why fopen fails in addition to the fact that it failed.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
-	  Log the reason why fopen fails in addition to the fact that it failed.
-
-2008-01-04 18:44:03 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. ...
-	  Original commit message from CVS:
-	  * gst/parse/parse.l:
-	  Use "%option never-interactive" to prevent useless calls to isatty()
-	  on every input when parsing. Also use "%option noinput" to not define
-	  the static input/yyinput functions which we don't use anyway. This
-	  removes a compiler warning with gcc 4.3 and saves some bytes in the
-	  library.
-	  * gst/parse/lex._gst_parse_yy.pre.c:
-	  Regenerated for the above change.
-
-2008-01-04 18:39:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Don't crash when trying to fixate and empty list.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (fixate_value):
-	  Don't crash when trying to fixate and empty list.
-	  Fixes #506643.
-
-2008-01-03 09:43:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/faq/gst-uninstalled: Clarify the comments to make the usage of this script and what it does easier to understand.
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  Clarify the comments to make the usage of this script and what it
-	  does easier to understand.
-
-2008-01-01 17:10:32 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  tools/gst-plot-timeline.py: Add more options to gst-plot-timeline
-	  Original commit message from CVS:
-	  * tools/gst-plot-timeline.py:
-	  Add more options to gst-plot-timeline
-
-2007-12-31 19:11:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-synchronisation.txt: Some more info on how the stream_time in GstBaseSink is done.
-	  Original commit message from CVS:
-	  * docs/design/part-synchronisation.txt:
-	  Some more info on how the stream_time in GstBaseSink is done.
-
-2007-12-30 13:36:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	  ChangeLog surgery: remove bogus changelog entry
-	  Original commit message from CVS:
-	  ChangeLog surgery: remove bogus changelog entry
-
-2007-12-30 13:31:17 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/generic/sinks.c: Put back the tcase_set_timeout(), apparently it's needed after all; fix it up in a way t...
-	  Original commit message from CVS:
-	  * tests/check/generic/sinks.c: (gst_sinks_suite):
-	  Put back the tcase_set_timeout(), apparently it's needed after
-	  all; fix it up in a way that makes things work with valgrind too.
-
-2007-12-30 12:22:49 +0000  Thijs Vermeir <thijsvermeir@gmail.com>
-
-	  gst/gstdebugutils.c: add warning when failed to open file for writing
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  add warning when failed to open file for writing
-
-2007-12-28 14:34:34 +0000  Laurent Glayal <spglegle@yahoo.fr>
-
-	  gst/gstvalue.c: Optimisation: bail out of the loop as early as possible (#500143).
-	  Original commit message from CVS:
-	  Based on patch by: Laurent Glayal  <spglegle yahoo fr>
-	  * gst/gstvalue.c: (gst_value_is_fixed):
-	  Optimisation: bail out of the loop as early as possible (#500143).
-
-2007-12-28 14:15:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Bunch of gratuitous nano-optimisations.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_to_string):
-	  * gst/gstinfo.c: (gst_debug_construct_term_color):
-	  * gst/gstparse.c: (gst_parse_launchv):
-	  * gst/gstutils.c: (gst_util_dump_mem):
-	  * gst/gstvalue.c: (gst_value_serialize_any_list),
-	  (gst_value_transform_any_list_string):
-	  Bunch of gratuitous nano-optimisations.
-
-2007-12-28 13:57:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/generic/sinks.c: Fix leak in unit test (bus sync handler must unref the message if it returns GST_BUS_DRO...
-	  Original commit message from CVS:
-	  * tests/check/generic/sinks.c: (async_done_func),
-	  (async_done_eos_func):
-	  Fix leak in unit test (bus sync handler must unref the message
-	  if it returns GST_BUS_DROP). Don't fiddle with the default test
-	  timeout, this is smaller than the current preconfigured value
-	  via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
-	  because it overrides the value specified in CK_DEFAULT_TIMEOUT.
-
-2007-12-24 19:21:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Add bug that was fixed with last commit.
-	  Original commit message from CVS:
-	  Add bug that was fixed with last commit.
-
-2007-12-24 19:11:29 +0000  Laurent Glayal <spglegle@yahoo.fr>
-
-	  configure.ac: Check for stdio_ext.h for the filesink changes.
-	  Original commit message from CVS:
-	  Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
-	  * configure.ac:
-	  Check for stdio_ext.h for the filesink changes.
-	  * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
-	  (gst_file_sink_class_init), (gst_file_sink_init),
-	  (gst_file_sink_dispose), (gst_file_sink_set_property),
-	  (gst_file_sink_get_property), (gst_file_sink_open_file),
-	  (gst_file_sink_close_file):
-	  * plugins/elements/gstfilesink.h:
-	  Add two properties to control the buffering mode and size.
-	  API: GstFileSink::buffer-mode
-	  API: GstFileSink::buffer-size
-
-2007-12-24 14:35:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsystemclock.c: Add some more docs to explain why a FIXME was wrongly added.
-	  Original commit message from CVS:
-	  * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
-	  Add some more docs to explain why a FIXME was wrongly added.
-
-2007-12-22 12:48:26 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstobject.c: Fix typo in the gst_object_{ref,unref} documentation.
-	  Original commit message from CVS:
-	  * gst/gstobject.c:
-	  Fix typo in the gst_object_{ref,unref} documentation.
-
-2007-12-21 21:17:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is going to be deprecated (see #498924).
-	  Original commit message from CVS:
-	  * tests/check/libs/controller.c:
-	  * tests/check/libs/typefindhelper.c:
-	  * tests/check/pipelines/parse-launch.c:
-	  Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
-	  going to be deprecated (see #498924).
-
-2007-12-21 20:58:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttypefind.c: Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (...
-	  Original commit message from CVS:
-	  * gst/gsttypefind.c: (gst_type_find_register):
-	  Make gst_type_find_register work for static typefind functions,
-	  ie. allow passing plugin == NULL (prerequisite for #498924).
-	  * gst/gstelementfactory.c: (gst_element_register):
-	  Small docs addition.
-
-2007-12-21 13:54:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Really unlink the peer pad instead of setting the peer pointer to NULL when we dispose the pad.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_dispose):
-	  Really unlink the peer pad instead of setting the peer pointer to NULL
-	  when we dispose the pad.
-	  This correctly calls the unlink functions and makes sure that the peer
-	  does not have a handle to invalid memory. See #504671.
-	  * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
-	  Add testsuite for above case.
-
-2007-12-20 09:20:27 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  libs/gst/check/gstcheck.h: Fix detection of the check version we're compiling against (would otherwise break if check...
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj axis com>
-	  * libs/gst/check/gstcheck.h:
-	  Fix detection of the check version we're compiling against (would
-	  otherwise break if check goes v0.10.0); correctly report the
-	  name of the failed test again in case of failure, instead of
-	  just 'tf' (fixes #504499).
-
-2007-12-19 17:49:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Allow sending EOS to the source to make it send out an EOS event from the streaming thread.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
-	  (gst_base_src_get_range), (gst_base_src_pad_get_range),
-	  (gst_base_src_loop), (gst_base_src_set_flushing),
-	  (gst_base_src_change_state):
-	  Allow sending EOS to the source to make it send out an EOS event from
-	  the streaming thread.
-	  Update docs and deprecate the old NULL/READY shutdown method.
-	  * tests/check/libs/basesrc.c: (GST_START_TEST),
-	  (gst_basesrc_suite):
-	  Add unit test for controlled shutdown.
-
-2007-12-19 12:48:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-synchronisation.txt: Small updates.
-	  Original commit message from CVS:
-	  * docs/design/part-synchronisation.txt:
-	  Small updates.
-	  * gst/gstsegment.c: (gst_segment_set_seek),
-	  (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time):
-	  The seek format can be different from the segment format when the start
-	  and stop values are not to be updated, when we only do a rate change for
-	  example.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST),
-	  (gst_segment_suite):
-	  Add a testcase for the rate-only seeks, checking that the format is
-	  correctly ignored when start and stop are not updated.
-
-2007-12-18 13:38:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	* ChangeLog:
-	  ChangeLog surgery, gstenumtypes.c changes were not committed because there were none
-	  Original commit message from CVS:
-	  * ChangeLog surgery, gstenumtypes.c changes were not committed because there were none
-
-2007-12-18 13:18:35 +0000  Matthias Bolte <photon@mail.upb.de>
-
-	  win32/common/gstenumtypes.c: Some indention fixes by gst-indent.
-	  Original commit message from CVS:
-	  * win32/common/gstenumtypes.c: (register_gst_buffer_flag),
-	  (register_gst_buffer_copy_flags), (register_gst_clock_flags),
-	  (register_gst_debug_graph_details),
-	  (register_gst_state_change_return), (register_gst_state_change),
-	  (register_gst_element_flags), (register_gst_core_error),
-	  (register_gst_library_error), (register_gst_resource_error),
-	  (register_gst_stream_error), (register_gst_event_type_flags),
-	  (register_gst_event_type), (register_gst_index_entry_type),
-	  (register_gst_assoc_flags), (register_gst_message_type),
-	  (register_gst_mini_object_flags), (register_gst_pad_link_return),
-	  (register_gst_flow_return), (register_gst_pad_template_flags),
-	  (register_gst_pipeline_flags), (register_gst_plugin_error),
-	  (register_gst_tag_merge_mode), (register_gst_alloc_trace_flags),
-	  (register_gst_type_find_probability), (register_gst_parse_error):
-	  Some indention fixes by gst-indent.
-	  Patch by: Matthias Bolte <photon at mail dot upb dot de>
-	  * win32/vs8/grammar.vcproj:
-	  * win32/vs8/libgstcontroller.vcproj:
-	  * win32/vs8/libgstreamer.vcproj:
-	  Fix compilation with VS8 and include some missing files.
-
-2007-12-18 12:03:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.c: Small docs addition: mention that the strings returned by gst_tag_list_get_string*() are in UTF-8 e...
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  Small docs addition: mention that the strings returned by
-	  gst_tag_list_get_string*() are in UTF-8 encoding.
-
-2007-12-17 19:59:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Makefile.am: The check-exports stuff moved to common/win32.mak, so include that.
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  The check-exports stuff moved to common/win32.mak, so include that.
-
-2007-12-17 16:38:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Make _wait_playing() not check any variables so that we can call this function from subcl...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
-	  (gst_base_src_perform_seek), (gst_base_src_get_range),
-	  (gst_base_src_set_playing), (gst_base_src_change_state):
-	  Make _wait_playing() not check any variables so that we can call this
-	  function from subclasses. Move the checks elsewhere similar to
-	  _wait_preroll() in basesink.
-	  Add some debugging.
-	  Only signal the LIVE cond when we are going back to PLAYING.
-
-2007-12-16 18:29:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistrybinary.c: Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file desc...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
-	  Use g_remove() and g_rename(). Check result of g_rename(), and
-	  don't leak the open file descriptor if we error out when writing.
-	  * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
-	  Must check the return value of close() after writing out the new
-	  registry file.  Sometimes write problems such as out-of-diskspace
-	  are only reported when the file is closed and not already during
-	  the write.  This may have caused partial/broken registry files in
-	  some rare circumstances. Should fix #503675.
-
-2007-12-16 17:37:11 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/: Ignore files generated by new common/* modifications
-	  Original commit message from CVS:
-	  * docs/gst/.cvsignore:
-	  * docs/libs/.cvsignore:
-	  * docs/plugins/.cvsignore:
-	  Ignore files generated by new common/* modifications
-
-2007-12-15 15:19:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  win32/common/libgstbase.def: Yes, you can also have a <TAB> if you want.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  Yes, you can also have a <TAB> if you want.
-
-2007-12-15 14:58:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  win32/common/libgstbase.def: Add new basetransform API to win export file.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  Add new basetransform API to win export file.
-
-2007-12-15 14:42:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstbin.c: Adjust the test to the refcount change two days ago.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c:
-	  Adjust the test to the refcount change two days ago.
-
-2007-12-14 21:36:50 +0000  David Schleef <ds@schleef.org>
-
-	  docs/faq/getting.xml: Fix typo.
-	  Original commit message from CVS:
-	  * docs/faq/getting.xml: Fix typo.
-
-2007-12-14 16:52:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add gst_base_transform_set_gap_aware() to control whether the element correctly handles GST_BUFFER_FLAG_GAP or s...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_set_gap_aware):
-	  * libs/gst/base/gstbasetransform.h:
-	  API: Add gst_base_transform_set_gap_aware() to control whether
-	  the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
-	  get buffers with this flag at all. Fixes #503231.
-
-2007-12-13 16:49:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/: Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming thread. Correct log message in gstba...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  * libs/gst/base/gstbasesrc.c:
-	  * libs/gst/base/gstbasetransform.c:
-	  Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
-	  thread. Correct log message in gstbasesrc.c.
-
-2007-12-13 13:59:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.c: Fix possible compiler warning (#503417).
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (element_find_unconnected_pad):
-	  Fix possible compiler warning (#503417).
-
-2007-12-13 11:41:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstobject.c: Don't use GST_CAT_EVENT here for logging, it makes no sense.
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_dispatch_properties_changed):
-	  Don't use GST_CAT_EVENT here for logging, it makes no sense.
-
-2007-12-13 10:31:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tools/gst-inspect.c: Add support for GstFraction properties.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Add support for GstFraction properties.
-
-2007-12-12 23:20:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983).
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  Add check-exports target and run it as part of 'make check'
-	  (see #499140 and #493983).
-	  * gst/gst_private.h:
-	  * gst/gstelementfactory.h:
-	  * gst/gstghostpad.c: (gst_proxy_pad_class_init):
-	  * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
-	  (_priv_gst_in_valgrind):
-	  * gst/gstinfo.h: (GstLogFunction):
-	  * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
-	  (gst_type_find_register):
-	  * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
-	  (gst_type_find_factory_get_type):
-	  * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
-	  (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
-	  (gst_controller_new_valist), (gst_controller_new_list),
-	  (_gst_controller_dispose), (_gst_controller_class_init):
-	  * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
-	  * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
-	  (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
-	  (gst_object_get_controller), (gst_object_set_controller),
-	  (gst_object_suggest_next_sync), (gst_object_sync_values),
-	  (gst_object_set_control_source), (gst_object_get_control_source),
-	  (gst_object_get_value_arrays), (gst_object_get_value_array),
-	  (gst_object_get_control_rate), (gst_object_set_control_rate):
-	  * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
-	  * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
-	  Make some functions that should be static static; rename some
-	  private symbols so that they don't get exported; add some FIXME
-	  comments so we can move accidentally exported functions into
-	  our private section in 0.11.
-	  * win32/common/libgstreamer.def:
-	  Add gst_utils_get_timestamp().
-
-2007-12-12 14:04:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstvalue.*: Add more missing "Since:" tags to docs.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  * gst/gstvalue.h:
-	  Add more missing "Since:" tags to docs.
-
-2007-12-12 06:58:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstutils.c: Add mising "Since:" to docs.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Add mising "Since:" to docs.
-
-2007-12-11 22:03:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstplugin.c: Include "glib-compat-private.h" to fix the build on system with glib < 2.10. Fixes #503131.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  Include "glib-compat-private.h" to fix the build on system with
-	  glib < 2.10. Fixes #503131.
-
-2007-12-11 20:32:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstutils.*: Actually its not PURE as it gets the time from elsewhere.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  Actually its not PURE as it gets the time from elsewhere.
-
-2007-12-11 20:23:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in publi...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.h:
-	  * gst/gstdebugutils.c:
-	  * gst/gstinfo.c:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  * libs/gst/base/gstbasesink.c:
-	  * tools/gst-launch.c:
-	  Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
-	  uses as we don't have HAVE_POSIX_TIMERS in public headers.
-	  Thanks Tim for spotting.
-
-2007-12-11 15:29:26 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update spec file by mirroring latest Fedora one
-	  Original commit message from CVS:
-	  update spec file by mirroring latest Fedora one
-
-2007-12-09 04:28:03 +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 12:54:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Don't crash in _from_string() if the structure name is not valid (fixes #501560).  Allow structur...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_validate_name),
-	  (gst_structure_new_valist), (gst_structure_parse_value),
-	  (gst_structure_from_string):
-	  Don't crash in _from_string() if the structure name is not valid
-	  (fixes #501560).  Allow structure names to start with a number
-	  again (this apparently broke the ubuntu codec installer).
-	  * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
-	  (GST_START_TEST):
-	  Add unit test for the crash; update unit tests for new behaviour.
-
-2007-12-03 11:04:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Clarify gst_element_get_compatible_pad() documentation.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Clarify gst_element_get_compatible_pad() documentation.
-	  Fixes #500919.
-
-2007-12-02 20:33:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/Makefile.am: Don't forget to dist {gst,libs}/struct_hppa.h.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  Don't forget to dist {gst,libs}/struct_hppa.h.
-
-2007-11-28 13:02:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesink.c: Use new API to get elapsed time.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  Use new API to get elapsed time.
-
-2007-11-28 12:52:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Fix wrong order of args in GST_CLOCK_DIFF() usage.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  * gst/gstinfo.c:
-	  Fix wrong order of args in GST_CLOCK_DIFF() usage.
-	  * tools/gst-launch.c:
-	  Use new API to get elapsed time.
-
-2007-11-28 12:35:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Rename new API + ChangeLog surgery to remove old name from last entry..
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.h:
-	  * gst/gstdebugutils.c:
-	  * gst/gstinfo.c:
-	  Rename new API + ChangeLog surgery to remove old name from last entry..
-	  API: GST_GET_TIMESTAMP
-
-2007-11-28 12:11:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Now hide the different clock stuff behind a macro.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.h:
-	  * gst/gstdebugutils.c:
-	  * gst/gstinfo.c:
-	  Now hide the different clock stuff behind a macro.
-	  API: GST_GET_CURRENT_TIME
-
-2007-11-28 11:39:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Apply the posix-timer check from #361155. Conditionally use the posix timer for logging. This gives better timestamp ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gstdebugutils.c:
-	  * gst/gstinfo.c:
-	  Apply the posix-timer check from #361155. Conditionally use the posix
-	  timer for logging. This gives better timestamp precission, less
-	  overhead and no ntp jitter.
-
-2007-11-28 11:11:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstminiobject.c: Some cleanup and checking against invalid function parameters.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_mini_object_get_type),
-	  (gst_mini_object_class_init), (gst_mini_object_copy_default),
-	  (gst_mini_object_finalize), (gst_mini_object_copy),
-	  (gst_mini_object_is_writable), (gst_mini_object_make_writable),
-	  (gst_mini_object_replace), (param_mini_object_validate),
-	  (gst_param_spec_mini_object_get_type):
-	  Some cleanup and checking against invalid function parameters.
-
-2007-11-28 10:58:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Start merging in the easy bits of #361155, the monotonic clock patch.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.h:
-	  * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
-	  (gst_systemclock_suite):
-	  Start merging in the easy bits of #361155, the monotonic clock patch.
-	  This one adds a few handy macros with docs and a testsuite.
-
-2007-11-27 18:45:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfilesink.c: Be a bit smarter when seeking, like, don't try to do a seek when it's not needed. Thi...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_event):
-	  Be a bit smarter when seeking, like, don't try to do a seek when it's
-	  not needed. This avoids errors when the file is not seekable.
-	  Fixes #499771.
-
-2007-11-26 13:16:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Due to popular request remove preset interface again. :-(.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types.in:
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstpreset.c:
-	  * gst/gstpreset.h:
-	  * plugins/elements/gstqueue.c:
-	  Due to popular request remove preset interface again. :-(.
-
-2007-11-22 21:32:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-inspect.c: Print 'default value' for enums and flags too.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  Print 'default value' for enums and flags too.
-
-2007-11-22 15:59:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/profiling.txt: More ideas.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/profiling.txt:
-	  More ideas.
-	  * gst/gstbin.c:
-	  Fix typo and give better log output.
-	  * gst/gstdebugutils.c:
-	  * gst/gstdebugutils.h:
-	  More ideas, make graphs a bit smaller and fix param name in macro.
-
-2007-11-22 13:56:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: Try harder to use the return value from fgets().
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  Try harder to use the return value from fgets().
-
-2007-11-21 16:08:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: For theses two fgets we handle the error below.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  For theses two fgets we handle the error below.
-
-2007-11-21 13:47:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Only send upstream events upstream. Fixes #498746.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
-	  Only send upstream events upstream. Fixes #498746.
-
-2007-11-21 13:27:50 +0000  Laurent Glayal <spglegle@yahoo.fr>
-
-	  plugins/elements/gstidentity.*: Add property to disable handoff signal emission. Fixes #498694.
-	  Original commit message from CVS:
-	  Patch by: Laurent Glayal <spglegle at yahoo dot fr>
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_init), (gst_identity_transform_ip),
-	  (gst_identity_set_property), (gst_identity_get_property):
-	  * plugins/elements/gstidentity.h:
-	  Add property to disable handoff signal emission. Fixes #498694.
-	  API: GstIdentity::signal-handoffs
-
-2007-11-21 09:46:50 +0000  Julien Moutte <julien@moutte.net>
-
-	  docs/faq/gst-uninstalled: Yet another missing library for the uninstalled script (fft)
-	  Original commit message from CVS:
-	  2007-11-21  Julien Moutte  <julien@fluendo.com>
-	  * docs/faq/gst-uninstalled: Yet another missing library for the
-	  uninstalled script (fft)
-
-2007-11-21 00:24:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/faq/developing.xml: Add a question about how to submit new translations.
-	  Original commit message from CVS:
-	  * docs/faq/developing.xml:
-	  Add a question about how to submit new translations.
-	  * docs/random/release:
-	  Update the contact email address for the Translation Project
-	  * plugins/elements/gstfdsrc.c:
-	  The parent_class for fdsrc is pushsrc, not GstElement.
-
-2007-11-20 16:34:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: Plug a leak and fix saving.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  Plug a leak and fix saving.
-
-2007-11-20 16:10:21 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/gst/gstreamer-sections.txt: Add new gst_preset__get_property_names() function to the docs to fix the build.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add new gst_preset__get_property_names() function to the docs
-	  to fix the build.
-
-2007-11-20 15:46:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.*: Change _get_preset_names API to return a strv with copies. Add _get_property_names to allow implemen...
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  * gst/gstpreset.h:
-	  Change _get_preset_names API to return a strv with copies. Add
-	  _get_property_names to allow implementations to filter and provide
-	  good default implementation.
-
-2007-11-20 11:46:35 +0000  Julien Moutte <julien@moutte.net>
-
-	  docs/faq/gst-uninstalled: Add another library to the uninstalled script (sdp).
-	  Original commit message from CVS:
-	  2007-11-20  Julien MOUTTE  <julien@moutte.net>
-	  * docs/faq/gst-uninstalled: Add another library to the uninstalled
-	  script (sdp).
-
-2007-11-19 15:23:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: More cleanups, docs, and TODOs from comments that now slowly come in.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  More cleanups, docs, and TODOs from comments that now slowly come in.
-
-2007-11-19 14:38:49 +0000  Julien Moutte <julien@moutte.net>
-
-	  docs/faq/gst-uninstalled: Add new base libraries in the LD search path.
-	  Original commit message from CVS:
-	  2007-11-19  Julien MOUTTE  <julien@moutte.net>
-	  * docs/faq/gst-uninstalled: Add new base libraries in the LD
-	  search path.
-
-2007-11-19 11:54:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  Fix bogus warning and make the property type specific code more
-	  similar.
-
-2007-11-19 09:33:05 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstpreset.c: Make it build on OS X.
-	  Original commit message from CVS:
-	  2007-11-19  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstpreset.c: (gst_preset_default_create_preset): Make
-	  it build on OS X.
-
-2007-11-19 08:50:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Change email, cleanups add some more debug and comments.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
-	  (gst_bin_add_func), (gst_bin_remove_func),
-	  (gst_bin_change_state_func), (gst_bin_continue_func):
-	  Change email, cleanups add some more debug and comments.
-	  Also set bus and clock on new elements when the pipeline was in error.
-
-2007-11-18 19:30:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Fix build with --disable-gst-debug. Fixes #497859.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  * gst/gstdebugutils.c:
-	  Fix build with --disable-gst-debug. Fixes #497859.
-	  Spotted by Sameer Naik.
-
-2007-11-17 17:50:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstevent.c: Little documentation improvment.
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  Little documentation improvment.
-	  * gst/gstpreset.c:
-	  More TODO cleanups. Remove c++ comments.
-	  * libs/gst/controller/gstcontroller.c:
-	  Add TODO and use quark from static string.
-	  * tests/check/gst/gstmessage.c:
-	  * tests/check/gst/gststructure.c:
-	  Use quark from static string.
-
-2007-11-17 17:24:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpreset.c: Add some comments and TODOs.
-	  Original commit message from CVS:
-	  * gst/gstpreset.c:
-	  Add some comments and TODOs.
-	  * gst/gstpreset.h:
-	  Add padding for future changes.
-	  * plugins/elements/gstqueue.c:
-	  Implement the iface.
-
-2007-11-17 16:43:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add the preset interface (Fixes #396779). Do some doc cleanups along.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types.in:
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstpreset.c:
-	  * gst/gstpreset.h:
-	  Add the preset interface (Fixes #396779). Do some doc cleanups along.
-
-2007-11-16 00:23: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.15 ===
-
-2007-11-16 00:07:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: releasing 0.10.15, "October"
-	  Original commit message from CVS:
-	  === release 0.10.15 ===
-	  2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
-	  * configure.ac:
-	  releasing 0.10.15, "October"
-
-2007-11-15 23:31:11 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/be.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/nb.po:
-	* po/nl.po:
-	* po/pl.po:
-	* po/ru.po:
-	* po/rw.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/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2007-11-14 12:24:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  win32/vs6/libgstreamer.dsp: Convert line endings back to DOS.
-	  Original commit message from CVS:
-	  * win32/vs6/libgstreamer.dsp:
-	  Convert line endings back to DOS.
-
-2007-11-13 11:30:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Update fast tagreading draft and performance profiling ideas.
-	  Original commit message from CVS:
-	  * docs/design/draft-tagreading.txt:
-	  * docs/random/ensonic/profiling.txt:
-	  Update fast tagreading draft and performance profiling ideas.
-
-2007-11-09 14:05:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't hold the object lock when unreffing a buffer because it could cause a deadlock whe...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
-	  Don't hold the object lock when unreffing a buffer because it could
-	  cause a deadlock when the finalize function wants to grab the object
-	  lock too. Fixes #495133.
-
-2007-11-09 11:56:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Also accumulate time correctly when doing reverse playback. Fixes #488201,
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_newsegment_full),
-	  (gst_segment_to_stream_time), (gst_segment_to_running_time):
-	  Also accumulate time correctly when doing reverse playback. Fixes
-	  #488201,
-	  When converting to running and stream time, use default values for
-	  start/stop/time/accum when comparing different formats. Fixes #494245.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Do running/stream time in TIME format.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST),
-	  (gst_segment_suite):
-	  2 new unit tests for segment accumulation.
-
-2007-11-07 15:53:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Move getenv() back into gst_init, so everyone can live happily ever after. Make sure the symbol isn't exported ...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre):
-	  * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
-	  (_gst_debug_bin_to_dot_file):
-	  Move getenv() back into gst_init, so everyone can live happily
-	  ever after. Make sure the symbol isn't exported though.
-
-2007-11-06 23:17:09 +0000  Sebastien Moutte <sebastien@moutte.net>
-
-	  win32/common/gstenumtypes.*: Update enum types.
-	  Original commit message from CVS:
-	  Patch by: Sebastien Moutte  <sebastien moutte net>
-	  * win32/common/gstenumtypes.c:
-	  * win32/common/gstenumtypes.h:
-	  Update enum types.
-	  * win32/vs6/libgstreamer.dsp:
-	  Update vs6 project files (#494343).
-
-2007-11-06 17:18:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Unify flushing code, remove some old unlock code that is no longer used.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
-	  (gst_base_src_perform_seek), (gst_base_src_default_event),
-	  (gst_base_src_set_flushing), (gst_base_src_activate_push),
-	  (gst_base_src_activate_pull):
-	  Unify flushing code, remove some old unlock code that is no longer used.
-	  Take the streaming lock when seeking to avoid races. Fixes #492729.
-	  Added some more comments.
-
-2007-11-06 15:10:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Make  _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() t...
-	  Original commit message from CVS:
-	  * gst/gst.c: (_gst_disable_segtrap):
-	  Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
-	  we can use gst_segtrap_is_enabled() there now that we have that API.
-	  Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
-	  to do the getenv here (and export the variable).
-	  * gst/gstdebugutils.c: (debug_dump_element),
-	  (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
-	  Don't use VLAs which is a C99ism and throws off MSVC (#493983).
-	  * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
-	  (gst_debug_log_default):
-	  Rename _gst_info_start_time to priv_gst_info_start_time so it
-	  doesn't get exported (was never in any header).
-	  * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
-	  (gst_plugin_loading_mutex):
-	  Make static mutex gst_plugin_loading_mutex really static (was never
-	  in any header), and use gst_segtrap_is_enabled() instead of
-	  _gst_disable_segtrap.
-	  * gst/gsttrace.c: (_gst_trace_default):
-	  Make local _gst_trace_default static (was never in any header).
-
-2007-11-06 14:43:14 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  win32/common/: Add more missing symbols, remove some duplicates, and sort as the 'sort' command sorts it (partially f...
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstcontroller.def:
-	  * win32/common/libgstdataprotocol.def:
-	  * win32/common/libgstnet.def:
-	  * win32/common/libgstreamer.def:
-	  Add more missing symbols, remove some duplicates, and sort
-	  as the 'sort' command sorts it (partially fixes #493983).
-
-2007-11-06 12:28:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Only change the state cookie if a different state was set on the element. See #492729.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_set_state_func):
-	  Only change the state cookie if a different state was set on the
-	  element. See #492729.
-
-2007-11-06 11:41:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Remove unused and uninitialised type variables that were still exported for some reason (they were ne...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Remove unused and uninitialised type variables that were still
-	  exported for some reason (they were never in any header files
-	  though).
-
-2007-11-06 10:33:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't try to report a 0 position when we don't know, return -1 and FALSE instead. This m...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
-	  (gst_base_sink_event), (gst_base_sink_get_position_last),
-	  (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
-	  (gst_base_sink_change_state):
-	  Don't try to report a 0 position when we don't know, return -1 and FALSE
-	  instead. This mostly happens when we are prerolling.
-	  Make sure we can report the right position before we post the ASYNC_DONE
-	  message so that a message handler can query position without races.
-	  * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
-	  (async_done_handoff), (async_done_func), (send_buffer),
-	  (async_done_eos_func), (gst_sinks_suite):
-	  Add two tests for the above.
-
-2007-11-06 10:21:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  MAINTAINERS: Update with new email address.
-	  Original commit message from CVS:
-	  * MAINTAINERS:
-	  Update with new email address.
-	  * docs/design/part-TODO.txt:
-	  Add some more info about future pad-block and negotiation changes.
-	  * docs/design/part-buffering.txt:
-	  Add some ideas about buffering reporting.
-
-2007-11-06 10:01:07 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* Makefile.am:
-	* common:
-	* gstreamer.spec.in:
-	  update SPEC file with latest changes, also add MAINTAINERS file to EXTRA_DIST, the ommission of this cause a weird RP...
-	  Original commit message from CVS:
-	  update SPEC file with latest changes, also add MAINTAINERS file to EXTRA_DIST, the ommission of this cause a weird RPM build error on FC8
-
-2007-11-06 00:59:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/gst/gstobject.c: Disable silly racy test that always fails on this combination of CPU and kernel.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstobject.c:
-	  Disable silly racy test that always fails on this combination of CPU
-	  and kernel.
-
-2007-11-04 10:16:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	  ChangeLog surgery: mention bug number
-	  Original commit message from CVS:
-	  ChangeLog surgery: mention bug number
-
-2007-11-04 10:13:33 +0000  Murray Cumming <murrayc@murrayc.com>
-
-	  gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signals: The parameter is a GstObject,...
-	  Original commit message from CVS:
-	  Patch by: Murray Cumming  <murrayc@murrayc.com>
-	  * gst/gstobject.c:
-	  Corrected the registration of the parent-set and parent-unset
-	  signals: The parameter is a GstObject, not a GObject.
-
-2007-11-02 18:35:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have...
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  * gst/gstbuffer.h:
-	  * gst/gstevent.h:
-	  * gst/gstformat.h:
-	  * gst/gstmessage.h:
-	  * gst/gstplugin.h:
-	  * gst/gstquery.h:
-	  * gst/gsttaglist.h:
-	  * gst/gstvalue.h:
-	  Move declaration of private _gst_foo_initialize() functions into
-	  our private header file where they should have been all along.
-
-2007-11-02 17:43:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gtk-doc fixes; trailing-comma-in-enum fix.
-	  Original commit message from CVS:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  * gst/gstdebugutils.h:
-	  * gst/gstxml.h:
-	  * plugins/elements/gstqueue.c:
-	  gtk-doc fixes; trailing-comma-in-enum fix.
-
-2007-11-02 16:27:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Clean up on deinit (not the external ones though, doesn't seem to be needed for some reason).
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_deinit):
-	  Clean up on deinit (not the external ones though, doesn't seem to be
-	  needed for some reason).
-
-2007-11-01 23:51:55 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.h: Remove __declspec(dllimport) for MSVC that was copied over into core from a plugin, obviously without ...
-	  Original commit message from CVS:
-	  * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
-	  Remove __declspec(dllimport) for MSVC that was copied over into core
-	  from a plugin, obviously without ever having been tested (note the
-	  single underscore in _declspec in the initial commit), and that doesn't
-	  really make sense.  See #492077.
-
-2007-11-01 21:50:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  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().
-
-2007-11-01 20:10:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT...
-	  Original commit message from CVS:
-	  * gst/gstformat.c: (_gst_format_initialize):
-	  g_type_class_ref() our GstFormat type to make sure we avoid the
-	  thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
-	  bug #64764. Should fix intermittent tee unit test failures (#474823).
-
-2007-11-01 19:19:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/elements/tee.c: Simplify, simplify, simplify - or not.  Rewrite unit test not to use gst_parse_launch(); ...
-	  Original commit message from CVS:
-	  * tests/check/elements/tee.c: (test_num_buffers):
-	  Simplify, simplify, simplify - or not.  Rewrite unit test
-	  not to use gst_parse_launch(); allow N sub-streams. Increasing
-	  the number of sub-streams seems to reproduce #474823 more easily.
-
-2007-10-31 22:01:03 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
-
-	  Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe(...
-	  Original commit message from CVS:
-	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
-	  * gst/gsttrace.c:
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
-	  * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
-	  * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
-	  Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
-	  starting with 2.14.0, GLib won't provide a pipe() macro any longer,
-	  so use _pipe() directly (#492077).
-	  * win32/common/dirent.c: (_treaddir):
-	  Add a couple of casts to make it build without warnings with MSVC.
-	  * win32/common/libgstreamer.def:
-	  Add some more symbols that need to be exported.
-
-2007-10-31 18:08:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/examples/metadata/read-metadata.c: Use _KEEP as merge mode rather than _KEEP_ALL, so tags arriving in a second ...
-	  Original commit message from CVS:
-	  * tests/examples/metadata/read-metadata.c: (message_loop):
-	  Use _KEEP as merge mode rather than _KEEP_ALL, so tags
-	  arriving in a second or third tag message are added to
-	  the tag list as well.
-
-2007-10-31 13:01:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesrc.c: Its "Since:" and not "@Since:". And remove an superflous cast.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c:
-	  Its "Since:" and not "@Since:". And remove an superflous cast.
-
-2007-10-30 18:30:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add a new last-buffer property that contains the last buffer used in basesink for preroll or rendering. useful for ma...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
-	  (gst_base_sink_get_property), (gst_base_sink_render_object),
-	  (gst_base_sink_preroll_object),
-	  (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
-	  (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  Add a new last-buffer property that contains the last buffer used in
-	  basesink for preroll or rendering. useful for making snapshots.
-	  API: gst_base_sink_get_last_buffer()
-	  API: GstBaseSink::last-buffer
-
-2007-10-29 13:46:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Improve bin graph dumping, by using the envvar to specify a path.
-	  Original commit message from CVS:
-	  * docs/gst/running.xml:
-	  * gst/gst.c:
-	  * gst/gstdebugutils.c:
-	  * gst/gstdebugutils.h:
-	  * tools/gst-launch.c:
-	  Improve bin graph dumping, by using the envvar to specify a path.
-	  Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
-
-2007-10-29 13:10:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Post special error message if we can't determine the type of a stream because ...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event),
-	  (gst_type_find_element_activate):
-	  Post special error message if we can't determine the type of a stream
-	  because it's empty.
-
-2007-10-29 10:05:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Document new env-var. Add one log-line after dumpng a graph.
-	  Original commit message from CVS:
-	  * docs/gst/running.xml:
-	  * gst/gstdebugutils.c:
-	  Document new env-var. Add one log-line after dumpng a graph.
-
-2007-10-26 18:39:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Ugly hack to put the (recently removed and non-portable, apparently)
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Ugly hack to put the (recently removed and non-portable, apparently)
-	  -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
-	  GNU ld, because without that 'make check' fails miserably on my debian
-	  stable box.  Someone with more knowledge of linker intricacies and
-	  portability issues than me fix this properly please.
-
-2007-10-25 17:20:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Reset last seen position after flushing so that we don't report the old position anymore.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
-	  Reset last seen position after flushing so that we don't report the old
-	  position anymore.
-
-2007-10-25 16:19:05 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  gst/: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler inter...
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_register):
-	  * gst/gsturi.h:
-	  Patch from Alessandro Decina adding get_type_full and
-	  get_protocols_full private vfuncs to the URIHandler interface
-	  to allow bindings to support creating URI handlers.
-	  Partially fixes: #339279
-	  API: GstURIHandlerInterface::get_type_full
-	  API: GstURIHandlerInterface::get_protocols_full
-
-2007-10-25 15:14:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstmultiqueue.c: Make it so that pads are considered linked until a buffer is pushed and discovered ...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
-	  (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
-	  (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
-	  Make it so that pads are considered linked until a buffer is pushed
-	  and discovered otherwise. This avoids problems with decodebin2 hanging
-	  after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
-	  case.
-	  Make sure we lock the multiqueue when updating the max-size properties.
-	  Fix a crash on Solaris in a debug statement in get_request_pad that
-	  passes a NULL string to GST_DEBUG.
-	  * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
-	  (run_output_order_test):
-	  Fix the test to allow the first buffer on not-linked pads to come out
-	  of sequence while multiqueue discovers that they are not-linked.
-
-2007-10-25 14:50:48 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Use a custom export symbol regex for libgstcheck, as it needs to export symbols that don't match the standard GStream...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * libs/gst/check/Makefile.am:
-	  Use a custom export symbol regex for libgstcheck, as it needs
-	  to export symbols that don't match the standard GStreamer gst_*
-	  pattern, and  --export-dynamic is not portable (only works on
-	  GNU ld)
-	  * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
-	  (gst_check_setup_sink_pad):
-	  Make sure to pass a message parameter to the fail_* macros.
-	  * tests/check/gst/gstinfo.c: (GST_START_TEST):
-	  Fix some compiler warnings.
-
-2007-10-25 14:41:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gststructure.c: Disable test that checks that white spaces are not allowed in structure names or fiel...
-	  Original commit message from CVS:
-	  * tests/check/gst/gststructure.c: (test_to_string):
-	  Disable test that checks that white spaces are not allowed
-	  in structure names or field names, since we need to
-	  support that for now for backwards compatibility reasons.
-
-2007-10-24 13:13:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_TAG_ARTIST_SORTNAME
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_ARTIST_SORTNAME
-	  API: add GST_TAG_ALBUM_SORTNAME
-	  API: add GST_TAG_TITLE_SORTNAME
-	  Add tag variants for sorting (#414539).
-
-2007-10-24 13:00:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  Also allow white space for names so we don't break
-	  backwards compatibility.
-
-2007-10-22 15:37:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Small updates.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-segments.txt:
-	  * docs/design/part-streams.txt:
-	  Small updates.
-
-2007-10-22 11:32:14 +0000  Edgard Lima <edgard.lima@indt.org.br>
-
-	  docs/gst/gstreamer-sections.txt: Fixed documentation from my previous commit (added new API add gst_value_set_structu...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Fixed documentation from my previous commit (added new API add
-	  gst_value_set_structure(), add gst_value_get_structure() and
-	  GST_VALUE_HOLDS_STRUCTURE).
-
-2007-10-22 11:10:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning.
-	  Original commit message from CVS:
-	  * gst/gstdebugutils.c:
-	  Reflow code to fix uninitialized variable warning.
-
-2007-10-22 08:53:26 +0000  Edgard Lima <edgard.lima@indt.org.br>
-
-	  Added GstStructure to gst_value_table and its related functions.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_to_string),
-	  (gst_caps_from_string_inplace):
-	  * gst/gststructure.c: (gst_structure_get_abbrs),
-	  (gst_structure_to_string), (gst_structure_from_string):
-	  * gst/gstvalue.c: (gst_value_set_structure),
-	  (gst_value_get_structure), (gst_value_serialize_structure),
-	  (gst_value_deserialize_structure), (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Added GstStructure to gst_value_table and its related functions.
-	  Changed gst_structure_to_string to print ';' in the end.
-	  Changed gst_caps_to_string to not print ';' beteween its
-	  fields (structures) anymore and remove the lastes ';' from latest
-	  structure. Now it is possible to have nested structures.
-	  In addition, backward compatibilty is assured by accepting '\0' as
-	  end delimiter. Fixes: #487969.
-	  API: add gst_value_set_structure()
-	  API: add gst_value_get_structure()
-
-2007-10-19 09:48:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists.
-	  Original commit message from CVS:
-	  * gst/gstbus.c:
-	  When no GSource callback has been set up, tell developer
-	  to use a function that actually exists.
-
-2007-10-17 12:58:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Allow dumping pipelines as dot graphs. Fixes #456573.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gst.c:
-	  * gst/gst.h:
-	  * gst/gstdebugutils.c:
-	  * gst/gstdebugutils.h:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  * tools/gst-launch.c:
-	  Allow dumping pipelines as dot graphs. Fixes #456573.
-
-2007-10-16 21:48:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  Allow '+' as well, it can be part of media or mime types
-	  such as image/svg+xml.
-
-2007-10-16 20:30:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_bus_pop_filtered
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbus.c:
-	  * gst/gstbus.h:
-	  API: add gst_bus_pop_filtered
-	  API: add gst_bus_timed_pop_filtered
-	  Two new functions for waiting for specific message types on the
-	  bus for a specified amount of time without iterating any main
-	  loops or main contexts.
-	  * tests/check/gst/gstbus.c:
-	  Some tests for the new functions.
-
-2007-10-16 17:21:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/libs/gstreamer-libs-sections.txt: Make gtk-doc ignore stuff it should ignore.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Make gtk-doc ignore stuff it should ignore.
-
-2007-10-16 16:12:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/gstcheck.*: Allow runtime selection of unit tests to run via the GST_CHECKS environment variable (test...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c:
-	  * libs/gst/check/gstcheck.h:
-	  Allow runtime selection of unit tests to run via the GST_CHECKS
-	  environment variable (test case function names, comma-separated).
-
-2007-10-16 13:58:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect...
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  * tests/check/gst/gststructure.c:
-	  Revert serialisation change and constrain structure-names after
-	  consensus on irc. Update api documentation to reflect the change.
-
-2007-10-16 06:32:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gststructure.c: Improve serialization and fix tests.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  Improve serialization and fix tests.
-	  * tests/check/gst/gststructure.c:
-	  Add another test that covers why I actually did the previous structure
-	  change.
-
-2007-10-15 14:33:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-inspect.c: Don't crash when inspecting an element.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_info):
-	  Don't crash when inspecting an element.
-
-2007-10-15 11:58:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gststructure.c: Add unit test for escaping of structure name when serialising and deserialising to/fr...
-	  Original commit message from CVS:
-	  * tests/check/gst/gststructure.c:
-	  Add unit test for escaping of structure name when serialising
-	  and deserialising to/from strings.
-
-2007-10-15 11:36:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/: Fix queue negotiation. If acceptcaps unconditionally returns TRUE, upstream is tricked into thinki...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
-	  (gst_single_queue_new):
-	  * plugins/elements/gstqueue.c: (gst_queue_init),
-	  (gst_queue_push_one):
-	  Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
-	  upstream is tricked into thinking it can suggest a format downstream
-	  while downstream does not support that format. The real problem is that
-	  core calls acceptcaps when pushing a buffer with new caps, for which we
-	  do a little workaround by setting the caps on the srcpad ourselves
-	  before pushing the buffer (until this is figured out). Fixes #486758.
-
-2007-10-15 11:19:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  * gst/gstvalue.c:
-	  Add some more comments and debug output. Quote structure name to fix
-	  deserialisation of some strings.
-
-2007-10-15 07:37:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFE...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
-	  on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
-
-2007-10-15 07:11:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-inspect.c: Save approx. 400 1 byte allocs when printing. Use API to acces element details.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  Save approx. 400 1 byte allocs when printing. Use API to acces element
-	  details.
-	  * tools/gst-run.c:
-	  Avoid a strdup.
-	  * tools/gst-xmlinspect.c:
-	  Use API to acces element details.
-
-2007-10-15 06:52:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstinfo.c: Fix some spelling errors.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  Fix some spelling errors.
-
-2007-10-14 15:54:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Correctly set the next state if all of our async children commited their state. This makes sure we can ...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_handle_async_done):
-	  Correctly set the next state if all of our async children commited their
-	  state. This makes sure we can actually cancel the state change in
-	  progress. Fixes a regression in Rhythmbox when seeking.
-
-2007-10-13 17:43:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.c: Don't shadow local variable.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  Don't shadow local variable.
-	  * gst/gstinfo.c:
-	  Don't shadow global function name.
-
-2007-10-13 17:20:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstpluginfeature.h:
-	  * gst/gstregistrybinary.c:
-	  * gst/gstregistryxml.c:
-	  * gst/gsttypefind.c:
-	  Use already-interned string for the private GstPluginFeature
-	  plugin_name field.
-
-2007-10-10 22:43:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add new API to docs; fixes the build.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add new API to docs; fixes the build.
-
-2007-10-10 15:18:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.*: Add function to wait for EOS, subclasses can use this to correctly wait for devices to d...
-	  Original commit message from CVS:
-	  Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
-	  (gst_base_sink_event):
-	  * libs/gst/base/gstbasesink.h:
-	  Add function to wait for EOS, subclasses can use this to correctly wait
-	  for devices to drain before performing the EOS logic. Fixes #485343.
-	  API: gst_base_sink_wait_eos()
-
-2007-10-10 10:53:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using t...
-	  Original commit message from CVS:
-	  * gst/gstplugin.h:
-	  Cast description string constants in GST_PLUGIN_DEFINE macros
-	  to a (gchar*) to make C++ code using these macros compile
-	  without warning with g++-4.2 (see #462737).  Even if slightly
-	  ugly, this seems preferable to putting the description strings
-	  into the GLib quark table or making the structure member a
-	  const gchar * and doing casts in core code that allocs and
-	  frees these strings, or requiring a cast in the C++ code.
-
-2007-10-09 20:45:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signatu...
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
-	  to print the entire class/function signature into the log
-	  file for C++ code.  This only affects C++ code, for C code
-	  everything remains the same.
-
-2007-10-09 16:20:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution i...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (remove_from_queue):
-	  Work around a problem with pipelines containing (semi)loops until a
-	  proper, more complicated solution is ready. See #475455.
-
-2007-10-09 14:18:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  * gst/gstplugin.h:
-	  * gst/gstregistrybinary.c:
-	  * gst/gstregistryxml.c:
-	  Put more strings into the GLib quark table. No need to keep
-	  a hundred-something copies of identical version strings,
-	  license strings, package name strings and package origin
-	  strings around.
-
-2007-10-09 10:41:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-dataaccess.xml: Don't imply that it's okay to unconditionally change buffer data or buffer metad...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  Don't imply that it's okay to unconditionally change
-	  buffer data or buffer metadata in a pad probe callback,
-	  and a bunch of other comments. Fixes #430031.
-
-2007-10-08 20:45:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/: Update generated files.
-	  Original commit message from CVS:
-	  * win32/common/gstenumtypes.c:
-	  * win32/common/gstenumtypes.h:
-	  * win32/common/gstversion.h:
-	  Update generated files.
-
-2007-10-08 17:59:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-autoplugging.xml: Prefix section with broken code with a warning (see #342432).
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  Prefix section with broken code with a warning (see #342432).
-
-2007-10-08 17:26:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Call g_thread_init() before g_option_context_new() to avoid warnings. Spotted by Ritesh Khadgaray. Fixe...
-	  Original commit message from CVS:
-	  * docs/manual/appendix-integration.xml:
-	  * docs/manual/basics-init.xml:
-	  Call g_thread_init() before g_option_context_new() to
-	  avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
-
-2007-10-08 17:05:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: When we received EOS and are waiting for when to post the EOS message, our state is prer...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
-	  (gst_base_sink_queue_object_unlocked),
-	  (gst_base_sink_queue_object), (gst_base_sink_event),
-	  (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
-	  When we received EOS and are waiting for when to post the EOS message,
-	  our state is prerolled and we should not return ASYNC.
-	  Reorganize some code paths to implement this behavior.
-	  * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
-	  (gst_sinks_suite):
-	  Add unit test to verify above EOS fix.
-
-2007-10-08 10:28:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gsttypefindelement.c: Move detecting the input caps of the sinkpad to the setcaps function.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_have_type), (gst_type_find_element_init),
-	  (gst_type_find_element_setcaps), (gst_type_find_element_chain):
-	  Move detecting the input caps of the sinkpad to the setcaps function.
-	  This allows us to update the output caps when we receive new input caps
-	  instead of always using the first detected caps.
-
-2007-10-08 10:21:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't try to preroll non-async elements after a flush.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
-	  (gst_base_sink_get_position):
-	  Don't try to preroll non-async elements after a flush.
-	  Subtract latency form clock times when reporting position.
-
-2007-10-05 14:44:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Small comment and documentation update.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_pause_task):
-	  * gst/gstutils.c:
-	  Small comment and documentation update.
-
-2007-10-05 14:40:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Rework the locking of basesrc in a similar fashion to basesink. We basically have one loc...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
-	  (gst_base_src_set_live), (gst_base_src_is_live),
-	  (gst_base_src_query_latency), (gst_base_src_perform_seek),
-	  (gst_base_src_default_event), (gst_base_src_wait),
-	  (gst_base_src_do_sync), (gst_base_src_get_range),
-	  (gst_base_src_pad_get_range), (gst_base_src_loop),
-	  (gst_base_src_unlock), (gst_base_src_unlock_stop),
-	  (gst_base_src_set_flushing), (gst_base_src_set_playing),
-	  (gst_base_src_activate_push), (gst_base_src_activate_pull),
-	  (gst_base_src_change_state):
-	  Rework the locking of basesrc in a similar fashion to basesink. We
-	  basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
-	  us to handle live sources and semi live ones much better.
-	  Simplify flushing.
-	  Fix unlocking when seeking, shutting down and pausing in live sources.
-
-2007-10-05 11:52:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/pipelines/simple-launch-lines.c: Fix compilation again.
-	  Original commit message from CVS:
-	  * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
-	  Fix compilation again.
-
-2007-10-03 15:27:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelement.c: Use meaningful categories for the logs to clean the default one.
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  Use meaningful categories for the logs to clean the default one.
-
-2007-10-03 15:05:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/pipelines/cleanup.c: Print message name and not just number.
-	  Original commit message from CVS:
-	  * tests/check/pipelines/cleanup.c:
-	  Print message name and not just number.
-
-2007-10-03 15:02:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-tagreading.txt: Add some more thoughts.
-	  Original commit message from CVS:
-	  * docs/design/draft-tagreading.txt:
-	  Add some more thoughts.
-
-2007-10-03 14:51:03 +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-03 12:05:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gsttypefindhelper.c: Speedup typefinding. This is work in progress (see #459862).
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c:
-	  Speedup typefinding. This is work in progress (see #459862).
-
-2007-10-03 11:36:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
-	  Spotted by Josep Torra Valles <josep@fluendo.com>.
-
-2007-10-03 11:16:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject.
-	  Original commit message from CVS:
-	  * gst/gstclock.h:
-	  Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
-	  field has moved to GstObject.
-
-2007-10-02 15:20:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Call unlock for live sources so that they can't get stuck in _create and produce a buffer...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
-	  (gst_base_src_get_range), (gst_base_src_change_state):
-	  Call unlock for live sources so that they can't get stuck in _create and
-	  produce a buffer before they are set back to PLAYING.
-
-2007-10-02 09:21:48 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: Comment the segment-related code... in the PROPER function.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
-	  (gst_queue_locked_dequeue):
-	  Comment the segment-related code... in the PROPER function.
-	  See #482147 and my commit from yesterday.
-
-2007-10-01 17:59:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Also initialize the counter that calculates the first timestamp on a buffer correctly for...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
-	  Also initialize the counter that calculates the first timestamp on a
-	  buffer correctly for non-live sources.
-
-2007-10-01 12:31:28 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: Disable code that's breaking the current-time-level reporting.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
-	  Disable code that's breaking the current-time-level reporting.
-	  See #482147
-
-2007-09-30 18:16:34 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/gst/gstreamer-sections.txt: Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section as they should...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
-	  as they shouldn't show up. Fixes the docs build.
-
-2007-09-29 11:46:31 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER)
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  Add an explicit variable importation needed on VS6 (only for MSC_VER)
-	  Define M_PI which is used in files which are including gstinfo.h.
-	  VS6 includes doesn't define it.
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstcontroller.def:
-	  * win32/common/libgstreamer.def:
-	  Add new exported functions and variables.
-	  * win32/vs6/libgstcontroller.dsp:
-	  * win32/vs6/libgstreamer.dsp:
-	  Update the list of files to build.
-
-2007-09-28 10:22:40 +0000  Felipe Contreras <felipe.contreras@gmail.com>
-
-	  plugins/elements/gstqueue.c: Improve debugging. Fixes #480858.
-	  Original commit message from CVS:
-	  Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
-	  * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
-	  (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
-	  (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
-	  Improve debugging. Fixes #480858.
-
-2007-09-28 10:15:23 +0000  Felipe Contreras <felipe.contreras@gmail.com>
-
-	  plugins/elements/gstqueue.c: First patch of code cleanups, use the macros and right arguments in the macros to signal...
-	  Original commit message from CVS:
-	  Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
-	  First patch of code cleanups, use the macros and right arguments in the
-	  macros to signal and lock the queue. See #480858.
-
-2007-09-26 18:06:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Improve debugging when dealing with _poll().
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (poll_func):
-	  Improve debugging when dealing with _poll().
-
-2007-09-26 18:04:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistryxml.c: Fix memory leak I introduced a few days ago.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c:
-	  Fix memory leak I introduced a few days ago.
-
-2007-09-26 17:00:22 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstbuffer.c: Make it once again possible to free GstBuffers in the default build.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_finalize):
-	  Make it once again possible to free GstBuffers in the default
-	  build.
-	  The poisoning scribbles on parts of the miniobject we need in
-	  order to free it.
-	  Fixes #480341
-
-2007-09-25 18:35:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_TAG_COMPOSER, fixes #459809.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_COMPOSER, fixes #459809.
-
-2007-09-24 17:41:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstplugin.*: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  * gst/gstplugin.h:
-	  Add the 3-clause BSD license and the MIT/X11 license to the license
-	  list. Fixes #479784.
-
-2007-09-24 17:22:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/faq/getting.xml: Add Q+A about different GStreamer versions (#364056).
-	  Original commit message from CVS:
-	  * docs/faq/getting.xml:
-	  Add Q+A about different GStreamer versions (#364056).
-
-2007-09-24 12:46:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Return correct gboolean from query function.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
-	  (gst_base_sink_event), (gst_base_sink_change_state):
-	  Return correct gboolean from query function.
-
-2007-09-24 12:29:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Simplify latency query.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
-	  (gst_base_sink_event), (gst_base_sink_query),
-	  (gst_base_sink_change_state):
-	  Simplify latency query.
-	  When not synchronizing, we can report latency without querying the peer
-	  element.
-
-2007-09-24 11:46:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Fix small typos in the docs.
-	  Original commit message from CVS:
-	  * gst/gstobject.h:
-	  * gst/gstvalue.c:
-	  Fix small typos in the docs.
-
-2007-09-24 11:22:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Documentation updates and typo fixes.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/draft-tagreading.txt:
-	  * docs/design/part-MT-refcounting.txt:
-	  * docs/design/part-activation.txt:
-	  * docs/design/part-block.txt:
-	  * docs/design/part-element-source.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstelement.txt:
-	  * docs/design/part-gstobject.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-preroll.txt:
-	  * docs/design/part-push-pull.txt:
-	  * docs/design/part-qos.txt:
-	  * docs/design/part-query.txt:
-	  * docs/design/part-scheduling.txt:
-	  * docs/design/part-seeking.txt:
-	  * docs/design/part-segments.txt:
-	  * docs/design/part-states.txt:
-	  Documentation updates and typo fixes.
-
-2007-09-23 10:16:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfakesink.c: Add some debug text to error message to indicate that we errored out on request.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesink.c:
-	  Add some debug text to error message to indicate that
-	  we errored out on request.
-	  * tools/gst-launch.c:
-	  When the state change to PLAYING fails, check for an
-	  error message on the bus and print it.
-
-2007-09-22 17:22:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/cs.po:
-	* po/hu.po:
-	* po/uk.po:
-	  updated translations
-	  Original commit message from CVS:
-	  updated translations
-
-2007-09-22 17:18:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Added Spanish translation.
-	  Original commit message from CVS:
-	  translated by: Jorge González González <aloriel@gmail.com>
-	  * po/LINGUAS:
-	  * po/es.po:
-	  Added Spanish translation.
-
-2007-09-21 14:37:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Fix printf arguments.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_push_one):
-	  Fix printf arguments.
-
-2007-09-20 10:36:23 +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-20 07:42:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstbin.h: Move priv to the right place.
-	  Original commit message from CVS:
-	  * gst/gstbin.h:
-	  Move priv to the right place.
-	  * gst/gstsystemclock.c:
-	  Add FIXME: and improve log.
-	  * tests/check/Makefile.am:
-	  * tests/examples/manual/Makefile.am:
-	  Work with all types of registries.
-
-2007-09-19 20:39:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Don't unref the event after pushing it. Fixes #478401.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
-	  Don't unref the event after pushing it. Fixes #478401.
-
-2007-09-19 18:07:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Ignore registries in any format.
-	  Original commit message from CVS:
-	  * .cvsignore:
-	  * tests/examples/manual/.cvsignore:
-	  Ignore registries in any format.
-
-2007-09-19 13:28:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for
-	  Original commit message from CVS:
-	  * gst/glib-compat-private.h:
-	  Add compatibility macro for g_intern_string() for
-	  GLib-2.8 (any reason we can't just bump the
-	  requirement to at least 2.10?)
-	  * gst/gstpadtemplate.h:
-	  * gst/gstelementfactory.c:
-	  * gst/gstregistryxml.c:
-	  * gst/gstregistrybinary.c:
-	  Make GstStaticPadTemplate's templ_name field a const gchar * and fix
-	  up the internal code accordingly.  This shouldn't be a problem, since
-	  there is no reason external code could ever assume the string in such
-	  a structure is dynamically allocated unless it did that itself;  the
-	  use of g_strdup() is private to element factories.  The new code also
-	  saves some memory by putting pad template name strings into the GLib
-	  quark table instead of allocating them dynamically.
-	  Declaring this field constant fixes warnings with g++-4.2 when using
-	  the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
-
-2007-09-19 12:31:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelementfactory.c: Release static caps. Fixes #475723.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c:
-	  Release static caps. Fixes #475723.
-
-2007-09-18 22:13:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.*: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-...
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  Make some internal API take const gchar * instead of just
-	  gchar * to avoid compiler warnings with g++-4.2.2 when
-	  passing string constants (partially fixes #478092).
-
-2007-09-17 20:55:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: A latency query fails when one of the sinks fail.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
-	  A latency query fails when one of the sinks fail.
-	  * gst/gstelement.c: (gst_element_set_base_time):
-	  Improve debugging.
-
-2007-09-17 17:17:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Fix minor compilation warnings shown with Forte.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_continue_func):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
-	  Fix minor compilation warnings shown with Forte.
-
-2007-09-17 06:01:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Measure queue level based on the diff between head and tail timestamps even when pushing...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (apply_buffer),
-	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
-	  Measure queue level based on the diff between head and tail timestamps
-	  even when pushing the first buffer.
-
-2007-09-14 23:06:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Sinks that don't preroll can always be queried for the latency.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
-	  (gst_base_sink_event), (gst_base_sink_change_state):
-	  Sinks that don't preroll can always be queried for the latency.
-	  Don't post ASYNC start when we are not async.
-
-2007-09-14 20:24:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.*: When downstream returns UNEXPECTED from pushing a buffer, don't try to push more buffers...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
-	  (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_push_one), (gst_queue_handle_src_query),
-	  (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
-	  * plugins/elements/gstqueue.h:
-	  When downstream returns UNEXPECTED from pushing a buffer, don't try to
-	  push more buffers but allow pushing of EOS and NEWSEGMENT.
-	  Add some more debug info here and there. Fixes #476514.
-
-2007-09-14 15:52:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Latency query is allowed after we are prerolled. Introduce a new flag for this and stop ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
-	  (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
-	  (gst_base_sink_set_flushing), (gst_base_sink_query),
-	  (gst_base_sink_change_state):
-	  Latency query is allowed after we are prerolled. Introduce a new flag
-	  for this and stop abusing other variables.
-
-2007-09-13 23:53:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Push OOB events downstream when we get them in send_event. This allows the application to...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
-	  Push OOB events downstream when we get them in send_event. This allows
-	  the application to insert events in the pipeline.
-	  Add some more comments.
-
-2007-09-13 21:27:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
-	  (do_bin_latency), (gst_bin_change_state_func):
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Move latency query from GstPipeline to GstBin so that we can also
-	  use it when async-handling is enabled on bins.
-
-2007-09-13 21:19:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Update docs.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
-	  (gst_base_src_do_sync), (gst_base_src_change_state):
-	  Update docs.
-	  Clean up the timestamping and syncing code for pseudo live sources.
-
-2007-09-13 19:27:53 +0000  Steve Fink <sphink@gmail.com>
-
-	  docs/manual/appendix-checklist.xml: Mention less -R switch in the section about debug output (#474055).
-	  Original commit message from CVS:
-	  Patch by: Steve Fink  <sphink gmail com>
-	  * docs/manual/appendix-checklist.xml:
-	  Mention less -R switch in the section about debug output (#474055).
-
-2007-09-13 17:15:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Queue can latency to the pipeline up to the configured max size in time.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
-	  Queue can latency to the pipeline up to the configured max size in time.
-	  Report this fact in the latency query.
-
-2007-09-13 09:08:23 +0000  Sebastien Moutte <sebastien@moutte.net>
-
-	  libs/gst/controller/: Use gst_guint64_to_gdouble() when converting from a uint64 or
-	  Original commit message from CVS:
-	  Patch by: Sebastien Moutte <sebastien at moutte dot net>
-	  * libs/gst/controller/gstinterpolation.c:
-	  * libs/gst/controller/gstlfocontrolsource.c:
-	  Use gst_guint64_to_gdouble() when converting from a uint64 or
-	  GstClockTime to double to fix the build on win32. Fixes #474371.
-
-2007-09-13 08:42:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstbuffer.c: Implement poisoning for GstBuffer if --enable-poisoning is specified.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_finalize):
-	  Implement poisoning for GstBuffer if --enable-poisoning is specified.
-	  When finalizing a buffer the complete struct is filled with 0xff,
-	  thus making a use of the buffer after the final unref impossible.
-
-2007-09-13 08:36:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/libs/controller.c: Use fail_unless_equals_int(a, b) instead of fail_unless_equals (a == b) to get better ...
-	  Original commit message from CVS:
-	  * tests/check/libs/controller.c: (GST_START_TEST):
-	  Use fail_unless_equals_int(a, b) instead of
-	  fail_unless_equals (a == b) to get better output on failures.
-
-2007-09-12 16:35:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gsturi.c: Also check for the other file URI variant on win32.
-	  Original commit message from CVS:
-	  * tests/check/gst/gsturi.c:
-	  Also check for the other file URI variant on win32.
-
-2007-09-12 12:36:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsturi.c: If there's no hostname, we want to return 'c:/foo/bar.txt' and not '/c:/foo/bar.txt' on Windows. Fixes ...
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_uri_get_location):
-	  If there's no hostname, we want to return 'c:/foo/bar.txt'
-	  and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
-	  * tests/check/gst/gsturi.c:
-	  Unit test for the above and a few more things.
-
-2007-09-11 23:27:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-live-source.txt: Add docs on how live sources should timestamp.
-	  Original commit message from CVS:
-	  * docs/design/part-live-source.txt:
-	  Add docs on how live sources should timestamp.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
-	  Add some more debug info.
-	  For subclasses that are live and like to sync, add aditional startup
-	  latency to sync time and timestamps so that we timstamp according to the
-	  design doc.
-
-2007-09-11 18:59:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbuffer.c: Also do a g_type_class_ref() for the subbuffer type in the init function.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  Also do a g_type_class_ref() for the subbuffer type in
-	  the init function.
-
-2007-09-11 15:55:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add function to perform a query on the peer of a pad.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpad.c: (gst_pad_peer_query):
-	  * gst/gstpad.h:
-	  Add function to perform a query on the peer of a pad.
-	  API: gst_pad_peer_query()
-
-2007-09-11 13:43:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gstsystemclock.c: Cleanup the test a little (use gst-logging and not g_message). Improve test to chec...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstsystemclock.c:
-	  Cleanup the test a little (use gst-logging and not g_message). Improve
-	  test to check if a wait reached the target.
-
-2007-09-11 10:33:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add new API to docs and fix the build.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add new API to docs and fix the build.
-
-2007-09-10 16:50:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.*: Add property to make the basesrc timestamp buffers based on the current running time.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_set_do_timestamp),
-	  (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
-	  (gst_base_src_get_property), (gst_base_src_do_sync):
-	  * libs/gst/base/gstbasesrc.h:
-	  Add property to make the basesrc timestamp buffers based on the current
-	  running time.
-	  API: GstBaseSrc::do-timestamp
-	  API: gst_base_src_set_do_timestamp()
-	  API: gst_base_src_get_do_timestamp()
-
-2007-09-08 20:25:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/release: Really make sure translations are up-to-date before a release (#465010).
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  Really make sure translations are up-to-date before
-	  a release (#465010).
-
-2007-09-07 14:46:52 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  add latest header files
-	  Original commit message from CVS:
-	  add latest header files
-
-2007-09-07 04:50:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstregistrybinary.c: Always destroy the timer, also in error cases.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
-	  Always destroy the timer, also in error cases.
-
-2007-09-05 22:29:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/manual/highlevel-xml.xml: Fix XML example code. Fixes #472714.
-	  Original commit message from CVS:
-	  * docs/manual/highlevel-xml.xml:
-	  Fix XML example code. Fixes #472714.
-
-2007-09-05 22:12:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Protect eos and have_preroll with the OBJECT lock so we don't need to take the PREROLL l...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
-	  (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
-	  (gst_base_sink_query):
-	  Protect eos and have_preroll with the OBJECT lock so we don't need to
-	  take the PREROLL lock when querying the latency. Fixes #473846.
-
-2007-09-05 13:24:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelement.c: Give some log-messages a category.
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  Give some log-messages a category.
-
-2007-09-05 01:00:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gststructure.c: Fix fraction list fixation code. Take the fraction with the smallest difference with the target i...
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  (gst_structure_fixate_field_nearest_fraction):
-	  Fix fraction list fixation code. Take the fraction with the smallest
-	  difference with the target instead of the first one in the list.
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  Added test to verify correct fraction list fixation behaviour.
-
-2007-09-02 20:30:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/libgstreamer.def: Export gst_bus_add_signal_watch too.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Export gst_bus_add_signal_watch too.
-
-2007-08-30 17:50:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add new methods to docs.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add new methods to docs.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init), (gst_base_sink_set_ts_offset),
-	  (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_wait_clock):
-	  * libs/gst/base/gstbasesink.h:
-	  Add ts-offset property to fine-tune the synchronisation.
-	  API: GstBaseSink::ts-offset property
-	  API: gst_base_sink_set_ts_offset()
-	  API: gst_base_sink_get_ts_offset()
-
-2007-08-29 20:57:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.*: Add async property to instruct the sink never to inform the parent about
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init), (gst_base_sink_set_sync),
-	  (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
-	  (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
-	  (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
-	  (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  Add async property to instruct the sink never to inform the parent about
-	  ASYNC state changes, update docs.
-	  Check argument with g_return_* for the public functions.
-	  API: GstBaseSink::async property
-	  API: gst_base_sink_set_async_enabled()
-	  API: gst_base_sink_is_async_enabled()
-
-2007-08-28 15:02:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Improve debugging.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
-	  Improve debugging.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
-	  (gst_base_src_default_query), (gst_base_src_wait),
-	  (gst_base_src_do_sync), (gst_base_src_change_state):
-	  Rearrange some code so that we can add support for measuring the
-	  startup latency.
-
-2007-08-27 20:00:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/dynlink.txt: More thoughs on this.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/dynlink.txt:
-	  More thoughs on this.
-	  * plugins/elements/gstcapsfilter.c:
-	  Add bugzilla ticket number to FIXME comment.
-
-2007-08-26 18:30:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* MAINTAINERS:
-	  remove temp files again
-	  Original commit message from CVS:
-	  remove temp files again
-
-2007-08-26 16:42:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* MAINTAINERS:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-08-26 15:58:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* AUTHORS:
-	* MAINTAINERS:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-08-24 21:53:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Update some docs.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-block.txt:
-	  Update some docs.
-
-2007-08-24 16:39:06 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/Makefile.am: Revert patch which uses $(gst_headers) instead of $^ because it breaks make dist.
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  Revert patch which uses $(gst_headers) instead of $^ because it
-	  breaks make dist.
-
-2007-08-24 14:55:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/gst/gstbin.c: Fix leaks in the new unit test.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  Fix leaks in the new unit test.
-
-2007-08-23 20:41:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Don't use GST_INFO before the debug system is actually initialised (shouldn't do any harm, but won't print...
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Don't use GST_INFO before the debug system is actually initialised
-	  (shouldn't do any harm, but won't print anything either, so we can
-	  just as well remove it).
-	  * gst/gstinfo.h:
-	  GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
-	  compilers that don't support variadic macros (such as MSVC), should
-	  check for debug_level <= __gst_debug_min as well, since that's the
-	  function called from all the level-specific GST_CAT_*_LOG_OBJECT()
-	  inline helper functions. Should improve performance a bit, but also
-	  makes sure uses of GST_INFO et.al are ignored if the debugging
-	  system isn't initialised yet (instead of printing an assertion
-	  failure).
-
-2007-08-23 07:10:33 +0000  David Nečas <yeti@physics.muni.cz>
-
-	  gst/Makefile.am: Replace some non portable makefile constructs.
-	  Original commit message from CVS:
-	  patch by: David Nečas <yeti@physics.muni.cz>
-	  * gst/Makefile.am:
-	  Replace some non portable makefile constructs.
-
-2007-08-21 14:10:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  common/gtk-doc-plugins.mak: Grrrrr. Don't remove the types file on make clean.
-	  Original commit message from CVS:
-	  * common/gtk-doc-plugins.mak:
-	  Grrrrr. Don't remove the types file on make clean.
-
-2007-08-20 17:51:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.1.in: Add colorspace to example pipeline. Fixes #458274.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Add colorspace to example pipeline. Fixes #458274.
-
-2007-08-20 12:31:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/release: The release manager should run 'make download-po' before making a release to make sure translati...
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  The release manager should run 'make download-po' before making a
-	  release to make sure translations are up-to-date.
-	  * po/LINGUAS:
-	  * po/be.po:
-	  * po/pl.po:
-	  * po/rw.po:
-	  Add some new translations.
-
-2007-08-17 13:48:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Don´t try to do any state management when a live pipeline posts buffering messages.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop), (main):
-	  Don´t try to do any state management when a live pipeline posts
-	  buffering messages.
-	  Also make the buffering string translatable.
-
-2007-08-16 11:04:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Improve debugging.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (is_eos), (gst_bin_add_func),
-	  (bin_handle_async_start), (gst_bin_handle_message_func):
-	  Improve debugging.
-	  When adding elements, insert messages into the bus of the newly added
-	  element and make sure the element is the source of the message. This
-	  allows the parent bin to intercept the message and do the
-	  right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
-	  messages to the app (which is not allowed).
-	  Update some docs.
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  Fix testsuite so that is does not work around messages that should not
-	  have been posted in the first place.
-
-2007-08-16 10:27:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix annoying bug in the sorted iterator where a sink that is not really a sink (when it has downstream ...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
-	  (update_degree), (gst_bin_sort_iterator_next):
-	  Fix annoying bug in the sorted iterator where a sink that is not really
-	  a sink (when it has downstream links) screwed up the iterator.
-	  * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
-	  Unit test to verify the fix.
-
-2007-08-16 10:07:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.h: Add some more docs for the messages.
-	  Original commit message from CVS:
-	  * gst/gstmessage.h:
-	  Add some more docs for the messages.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_query):
-	  Add some more debugging.
-	  * tools/gst-launch.c: (event_loop):
-	  When interrupting, don't try to set pipeline to PAUSED twice.
-
-2007-08-14 14:10:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Move ASYNC_START message posting to where it belongs, similar to async_done.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
-	  (bin_handle_async_start), (gst_bin_handle_message_func):
-	  Move ASYNC_START message posting to where it belongs, similar to
-	  async_done.
-	  Don't post ASYNC_START when we are in error.
-	  Post ASYNC_START when we added an async element to a bin.
-
-2007-08-14 13:43:44 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstindex.c: Fix index entry generation from vargs. Fixes #466595.
-	  Original commit message from CVS:
-	  2007-08-14  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstindex.c: (gst_index_add_association): Fix index entry
-	  generation from vargs. Fixes #466595.
-
-2007-08-14 13:37:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Always change the state of a NO_PREROLL element even if it has ASYNC elements inside (in case of a bin).
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_element_set_state):
-	  Always change the state of a NO_PREROLL element even if it has ASYNC
-	  elements inside (in case of a bin).
-	  * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
-	  Unit test for this case.
-
-2007-08-13 13:33:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add more missing docs.
-	  Original commit message from CVS:
-	  * libs/gst/check/gstbufferstraw.c:
-	  * libs/gst/check/gstcheck.h:
-	  * libs/gst/controller/gstcontroller.c:
-	  * libs/gst/controller/gstcontrolsource.h:
-	  * libs/gst/controller/gstlfocontrolsource.h:
-	  * plugins/elements/gstcapsfilter.h:
-	  * plugins/elements/gstfdsink.h:
-	  * plugins/elements/gstfdsrc.h:
-	  Add more missing docs.
-
-2007-08-12 16:44:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gststructure.c: Add Since tag to docs.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  Add Since tag to docs.
-
-2007-08-12 16:40:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add function to get uint from a structure.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gststructure.c: (gst_structure_get_uint):
-	  * gst/gststructure.h:
-	  Add function to get uint from a structure.
-	  API: gst_structure_get_uint()
-
-2007-08-12 16:38:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Fix proper check for simple caps.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_set_simple_valist),
-	  (gst_caps_intersect):
-	  Fix proper check for simple caps.
-
-2007-08-10 17:35:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Remove cruft and do some cleanups.
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  Remove cruft and do some cleanups.
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  Prepare for comming gtkdoc features (rebase against online docs).
-
-2007-08-10 14:52:41 +0000  Michael Smith <msmith@xiph.org>
-
-	  docs/gst/gstreamer-sections.txt: Add gst_registry_add_path to docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add gst_registry_add_path to docs.
-	  Also fix formatting of an older changelog entry
-
-2007-08-10 14:40:26 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstregistry.h: Add gst_registry_add_path, which was missing from this header.
-	  Original commit message from CVS:
-	  * gst/gstregistry.h:
-	  Add gst_registry_add_path, which was missing from this header.
-
-2007-08-10 10:30:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/controller/gstlfocontrolsource.c: Printf format fix.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstlfocontrolsource.c:
-	  Printf format fix.
-
-2007-08-09 21:50:19 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
-
-	  libs/gst/base/gstbasesink.c: Don't send an async_start message during downwards state change if target state is less ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  Don't send an async_start message during downwards state change if target
-	  state is less than READY
-
-2007-08-09 10:50:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Added Hungarian translation.
-	  Original commit message from CVS:
-	  translated by: Gabor Kelemen <kelemeng@gnome.hu>
-	  * po/LINGUAS:
-	  * po/hu.po:
-	  Added Hungarian translation.
-
-2007-08-09 10:48:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Updated translations.
-	  Original commit message from CVS:
-	  * po/fi.po:
-	  * po/it.po:
-	  * po/nl.po:
-	  * po/sv.po:
-	  * po/uk.po:
-	  Updated translations.
-
-2007-08-07 16:06:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/controller/Makefile.am: Dist gstlfocontrolsourceprivate.h
-	  Original commit message from CVS:
-	  * libs/gst/controller/Makefile.am:
-	  Dist gstlfocontrolsourceprivate.h
-
-2007-08-07 15:15:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/libs/gstreamer-libs.types: Don't register the enum type gst_lfo_waveform_get_type() in the .types file - only GO...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs.types:
-	  Don't register the enum type gst_lfo_waveform_get_type() in the
-	  .types file - only GObject derived types belong.
-
-2007-08-07 14:04:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.h: Remove comma from last element in enum to avoid compile errors when using -pendantic. Fixes #464366.
-	  Original commit message from CVS:
-	  Patch by: <arenevier at fdn dot fr>
-	  * gst/gstbuffer.h:
-	  Remove comma from last element in enum to avoid compile errors when
-	  using -pendantic. Fixes #464366.
-
-2007-08-07 09:56:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Add some more TODO items
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Add some more TODO items
-	  * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
-	  Improve debugging.
-	  * gst/gstcaps.c: (gst_caps_intersect):
-	  Optimize trivial intersection case between identical caps pointers.
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_set_state_func):
-	  * gst/gstpad.c:
-	  Fix spelling and grammar mistakes.
-
-2007-08-05 14:48:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  po/POTFILES.*: Update POTFILES. Fixes #461599.
-	  Original commit message from CVS:
-	  * po/POTFILES.in:
-	  * po/POTFILES.skip:
-	  Update POTFILES. Fixes #461599.
-
-2007-08-03 19:25:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gst.c: Fix confusing typo in debug output.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Fix confusing typo in debug output.
-
-2007-08-03 15:47:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: API: Add GstLFOControlSource, a control source that gives values for specific timestamps based ...
-	  Original commit message from CVS:
-	  reviewed by: Stefan Kost <ensonic@users.sf.net>
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
-	  (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
-	  (gst_lfo_control_source_new),
-	  (gst_lfo_control_source_set_waveform),
-	  (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
-	  (gst_lfo_control_source_finalize),
-	  (gst_lfo_control_source_dispose),
-	  (gst_lfo_control_source_set_property),
-	  (gst_lfo_control_source_get_property),
-	  (gst_lfo_control_source_class_init):
-	  * libs/gst/controller/gstlfocontrolsource.h:
-	  * libs/gst/controller/gstlfocontrolsourceprivate.h:
-	  API: Add GstLFOControlSource, a control source that gives values
-	  for specific timestamps based on several periodic waveforms.
-	  Fixes #459717.
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * docs/libs/gstreamer-libs.types:
-	  Add documentation and unit tests for GstLFOControlSource.
-
-2007-08-03 14:40:22 +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:39:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* docs/random/release:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	  Release 0.10.14
-	  Original commit message from CVS:
-	  Release 0.10.14
-
-2007-08-03 13:20:50 +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/fi.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2007-08-02 11:51:17 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelement.*: Make strings passed to gst_element_class_set_details_simple() constant, as they should be (#462752).
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_class_set_details_simple):
-	  * gst/gstelement.h:
-	  Make strings passed to gst_element_class_set_details_simple()
-	  constant, as they should be (#462752).
-
-2007-08-02 11:15:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Don't forget about the fact that some element went ASYNC even after a resync. This makes us post the AS...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_change_state_func),
-	  (bin_handle_async_done), (gst_bin_handle_message_func):
-	  Don't forget about the fact that some element went ASYNC even after a
-	  resync. This makes us post the ASYNC_DONE message correctly.
-	  Fixes #462558.
-
-2007-07-31 11:51:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstregistry.c: When replacing an existing feature in the registry, make sure to continue holding a reference unti...
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_add_feature):
-	  When replacing an existing feature in the registry, make sure to
-	  continue holding a reference until we've replaced the name string
-	  within our feature hash table. Make sure to use g_hash_table_replace
-	  instead of g_hash_table_insert to ensure the new name string is used
-	  as a key instead of the old one that we're about to free.
-	  Fixes: #462085
-
-2007-07-31 10:10:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpluginfeature.c: Revert patch from #459466 until after the release and we can work out exactly what the proble...
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
-	  (gst_plugin_feature_set_name):
-	  Revert patch from #459466 until after the release and we can work
-	  out exactly what the problem is (if any).
-
-2007-07-26 15:48:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
-
-2007-07-26 14:05:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/libs/Makefile.am: Include our build-prefix libs and includes before the generic ones to avoid linking against th...
-	  Original commit message from CVS:
-	  * docs/libs/Makefile.am:
-	  Include our build-prefix libs and includes before the generic ones to
-	  avoid linking against the installed libs when we want the build-tree
-	  ones.
-
-2007-07-26 08:46:46 +0000  Steve Fink <sphink@gmail.com>
-
-	  docs/pwg/building-testapp.xml: Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed if people try to bui...
-	  Original commit message from CVS:
-	  Patch by: Steve Fink  <sphink gmail com>
-	  * docs/pwg/building-testapp.xml:
-	  Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
-	  if people try to build or install the example from the plugin
-	  template against a GStreamer from package using the configure
-	  defaults.
-
-2007-07-25 22:29:57 +0000  Steve Fink <sphink@gmail.com>
-
-	  tools/gst-inspect.1.in: Document --print-all and --print-plugin-auto-install-info command line options in man page.
-	  Original commit message from CVS:
-	  Patch by: Steve Fink  <sphink gmail com>
-	  * tools/gst-inspect.1.in:
-	  Document --print-all and --print-plugin-auto-install-info command
-	  line options in man page.
-
-2007-07-25 18:46:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Add docs for new api function.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add docs for new api function.
-
-2007-07-25 18:37:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelementfactory.*: API: gst_element_factory_has_interface()
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_has_interface):
-	  * gst/gstelementfactory.h:
-	  API: gst_element_factory_has_interface()
-	  Added method to check if an element factory implements a named
-	  interface.
-
-2007-07-25 13:00:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Another conditional doc check.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer.types.in:
-	  Another conditional doc check.
-	  * gst/gstmessage.c:
-	  * gst/gstparamspecs.h:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
-	  * gst/gstvalue.c:
-	  * gst/gstxml.h:
-	  API-doc fixes.
-
-2007-07-24 13:44:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.c: Print error just once and with additional info.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  Print error just once and with additional info.
-
-2007-07-24 13:38:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gsttypefindhelper.c: Cleanup the typefindhelper code and add private doc comments.
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
-	  (helper_find_suggest), (helper_find_get_length),
-	  (gst_type_find_helper_get_range), (buf_helper_find_suggest),
-	  (gst_type_find_helper_for_buffer):
-	  Cleanup the typefindhelper code and add private doc comments.
-
-2007-07-24 12:32:31 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstcapsfilter.c: Fix capsfilter for cases where the caps set on capsfilter will provide additional i...
-	  Original commit message from CVS:
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
-	  (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
-	  Fix capsfilter for cases where the caps set on capsfilter will provide
-	  additional information.
-	  Fixes #449197
-
-2007-07-24 11:31:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttypefindfactory.c: Fix docs that recommened wrong function to use.
-	  Original commit message from CVS:
-	  * gst/gsttypefindfactory.c:
-	  Fix docs that recommened wrong function to use.
-
-2007-07-23 13:03:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-inspect.c: Also give media-type for typefinders in element output.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_plugin_features):
-	  Also give media-type for typefinders in element output.
-
-2007-07-23 11:42:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistry.*: Speed up gst_registry_lookup_feature_locked() by using a hashmap.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
-	  (gst_registry_remove_features_for_plugin_unlocked),
-	  (gst_registry_add_feature), (gst_registry_remove_feature),
-	  (gst_registry_lookup_feature_locked):
-	  * gst/gstregistry.h:
-	  Speed up gst_registry_lookup_feature_locked() by using a hashmap.
-	  Fixes #459501.
-
-2007-07-23 10:39:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpluginfeature.c: Avoid double memory usage for pluginfeature names. Fixes #459466.
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
-	  (gst_plugin_feature_set_name):
-	  Avoid double memory usage for pluginfeature names. Fixes #459466.
-
-2007-07-22 18:26:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.h: Small addition to GST_FLOW_IS_FATAL() docs: mention that elements driving the pipeline may need to expl...
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
-	  driving the pipeline may need to explicitly check for NOT_LINKED as
-	  well, since IS_FATAL doesn't cover that.
-
-2007-07-22 18:16:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/advanced-types.xml: Fix typo and duplicate entry in video formats list.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Fix typo and duplicate entry in video formats list.
-
-2007-07-22 12:18:46 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolation.c: Also round to the nearest int when using cubic interpolation.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  Also round to the nearest int when using cubic interpolation.
-
-2007-07-21 21:20:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/controller/gstinterpolation.c: When linearly interpolating integer types, round to the nearest int by adding...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  When linearly interpolating integer types, round to the nearest int
-	  by adding 0.5. Don't do it for float/double types.
-	  Fixes the failing controller test on my machine, which is somehow
-	  rounding differently than on the buildbots.
-
-2007-07-20 07:36:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-plot-timeline.py: Better log parsing (categories can have -). Adjust text vs. lines, so that they span the ...
-	  Original commit message from CVS:
-	  * tools/gst-plot-timeline.py:
-	  Better log parsing (categories can have -). Adjust text vs. lines, so
-	  that they span the same y-range.
-
-2007-07-20 07:26:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/: Save my thoughts.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/audiobaseclasses.txt:
-	  * docs/random/ensonic/dynlink.txt:
-	  * docs/random/ensonic/profiling.txt:
-	  Save my thoughts.
-	  * docs/random/moving-plugins:
-	  Add note to use g_assert type macros.
-
-2007-07-20 07:09:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add libm check as we use in for plugins.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * libs/gst/check/Makefile.am:
-	  Add libm check as we use in for plugins.
-
-2007-07-18 14:31:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbin.c: Check that the state_cookie hasn't changed since the continue_func was scheduled. Avoids problems where...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_continue_func):
-	  Check that the state_cookie hasn't changed since the continue_func
-	  was scheduled. Avoids problems where the state changes back to
-	  something it shouldn't be because it was changed in the meantime.
-
-2007-07-17 09:44:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.c: Fix memory leak. Be less verbose in the log.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
-	  (gst_registry_binary_save_string),
-	  (gst_registry_binary_save_pad_template),
-	  (gst_registry_binary_save_feature),
-	  (gst_registry_binary_save_plugin),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  Fix memory leak. Be less verbose in the log.
-
-2007-07-16 16:44:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/elements/.cvsignore: Add file to cvsignore as commanded.
-	  Original commit message from CVS:
-	  * tests/check/elements/.cvsignore:
-	  Add file to cvsignore as commanded.
-
-2007-07-16 16:04:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/elements/multiqueue.c: Use a GStaticMutex to protect all cases where libcheck fail_if/fail_unless macros ...
-	  Original commit message from CVS:
-	  * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
-	  (mq_dummypad_event), (run_output_order_test):
-	  Use a GStaticMutex to protect all cases where libcheck
-	  fail_if/fail_unless macros might be called from multiple threads
-	  simultaneously to avoid errors like:
-	  "check_pack.c:107: :-1081725400:Bad message type arg"
-
-2007-07-16 15:19:06 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/pipelines/stress.c: Make sure we set the pipeline back to the NULL state before dropping our final refere...
-	  Original commit message from CVS:
-	  * tests/check/pipelines/stress.c: (GST_START_TEST):
-	  Make sure we set the pipeline back to the NULL state before
-	  dropping our final reference.
-
-2007-07-16 14:55:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/elements/tee.c: Make the tee stress-test a little less stressful so it doesn't just time out on slow-mach...
-	  Original commit message from CVS:
-	  * tests/check/elements/tee.c: (GST_START_TEST):
-	  Make the tee stress-test a little less stressful so it doesn't just
-	  time out on slow-machines, and remove a small race when it's starting
-	  up by adding a get_state() call.
-
-2007-07-16 12:36:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gst.c: Avoid reading registry twice on startup. Fixes #457322.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Avoid reading registry twice on startup. Fixes #457322.
-
-2007-07-13 14:11:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  pkgconfig/: Substitute the CFLAGS for libcheck into our .pc file too so that dependent modules will pick it up proper...
-	  Original commit message from CVS:
-	  * pkgconfig/gstreamer-check-uninstalled.pc.in:
-	  * pkgconfig/gstreamer-check.pc.in:
-	  Substitute the CFLAGS for libcheck into our .pc file too so that
-	  dependent modules will pick it up properly if libcheck is installed
-	  into some other prefix.
-
-2007-07-13 13:49:14 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Revert the pkg-config check for libcheck, since it pulls in the wrong non-PIC libcheck.a on Ubuntu and ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Revert the pkg-config check for libcheck, since it pulls in the
-	  wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
-	  a proper solution, either from the check project, or something else.
-
-2007-07-12 11:10:22 +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-10 20:10:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.c: Fix doc syntax.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  Fix doc syntax.
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  Add deprecation guards.
-	  * libs/gst/base/gstcollectpads.h:
-	  Don't document object (this is implicitly private).
-
-2007-07-08 14:11:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: When deserialising foo=bar without a type cast, check if it's a boolean before falling back to a ...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_parse_value):
-	  When deserialising foo=bar without a type cast, check if it's a
-	  boolean before falling back to a string type, otherwise things like
-	  audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
-	  because the filtercaps end up having a signed=(string)true field,
-	  which causes problems later when intersection caps.
-	  * tests/check/gst/gststructure.c: (GST_START_TEST):
-	  Add a unit test for this.
-
-2007-07-06 21:50:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: API: Refactor GstController into the core controller which can take a GstControlSource for prov...
-	  Original commit message from CVS:
-	  Reviewed by: Stefan Kost <ensonic@users.sf.net>
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_add_interpolation_control_source),
-	  (gst_controlled_property_new), (gst_controlled_property_free),
-	  (gst_controller_find_controlled_property),
-	  (gst_controller_new_valist), (gst_controller_new_list),
-	  (gst_controller_new), (gst_controller_remove_properties_valist),
-	  (gst_controller_remove_properties_list),
-	  (gst_controller_remove_properties),
-	  (gst_controller_set_property_disabled),
-	  (gst_controller_set_disabled), (gst_controller_set_control_source),
-	  (gst_controller_get_control_source), (gst_controller_get),
-	  (gst_controller_sync_values), (gst_controller_get_value_array),
-	  (_gst_controller_dispose), (gst_controller_get_type),
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controller_set), (gst_controller_set_from_list),
-	  (gst_controller_unset), (gst_controller_unset_all),
-	  (gst_controller_get_all), (gst_controller_set_interpolation_mode):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gstcontrolsource.c:
-	  (gst_control_source_class_init), (gst_control_source_init),
-	  (gst_control_source_get_value),
-	  (gst_control_source_get_value_array), (gst_control_source_bind):
-	  * libs/gst/controller/gstcontrolsource.h:
-	  * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
-	  (gst_object_get_control_source):
-	  * libs/gst/controller/gstinterpolation.c:
-	  (gst_interpolation_control_source_find_control_point_node),
-	  (gst_interpolation_control_source_get_first_value),
-	  (_interpolate_none_get), (interpolate_none_get),
-	  (interpolate_none_get_boolean_value_array),
-	  (interpolate_none_get_enum_value_array),
-	  (interpolate_none_get_string_value_array),
-	  (_interpolate_trigger_get), (interpolate_trigger_get),
-	  (interpolate_trigger_get_boolean_value_array),
-	  (interpolate_trigger_get_enum_value_array),
-	  (interpolate_trigger_get_string_value_array):
-	  * libs/gst/controller/gstinterpolationcontrolsource.c:
-	  (gst_control_point_free), (gst_interpolation_control_source_reset),
-	  (gst_interpolation_control_source_new),
-	  (gst_interpolation_control_source_set_interpolation_mode),
-	  (gst_interpolation_control_source_bind),
-	  (gst_control_point_compare), (gst_control_point_find),
-	  (gst_interpolation_control_source_set_internal),
-	  (gst_interpolation_control_source_set),
-	  (gst_interpolation_control_source_set_from_list),
-	  (gst_interpolation_control_source_unset),
-	  (gst_interpolation_control_source_unset_all),
-	  (gst_interpolation_control_source_get_all),
-	  (gst_interpolation_control_source_get_count),
-	  (gst_interpolation_control_source_init),
-	  (gst_interpolation_control_source_finalize),
-	  (gst_interpolation_control_source_dispose),
-	  (gst_interpolation_control_source_class_init):
-	  * libs/gst/controller/gstinterpolationcontrolsource.h:
-	  * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
-	  API: Refactor GstController into the core controller which can take
-	  a GstControlSource for providing actual values for timestamps.
-	  Implement a interpolation control source and use this for backward
-	  compatibility, deprecate a bunch of functions that are now handled
-	  by GstControlSource or GstInterpolationControlSource.
-	  Make it possible to disable the controller completely or only for
-	  specific properties. Fixes #450711.
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * docs/libs/gstreamer-libs.types:
-	  Add new functions and classes to the docs.
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  * tests/examples/controller/audio-example.c: (main):
-	  Port unit test and example to the new API and add some new
-	  unit tests.
-
-2007-07-05 09:06:02 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  plugins/elements/gstmultiqueue.c: Implement non-default GstPadIntLinkFunction for multiqueue pads so that the pipelin...
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet be>
-	  * plugins/elements/gstmultiqueue.c:
-	  (gst_multi_queue_get_internal_links), (apply_buffer),
-	  (single_queue_overrun_cb), (gst_single_queue_new):
-	  Implement non-default GstPadIntLinkFunction for multiqueue pads so that
-	  the pipeline layout can be tracked correctly. Fixes #453732.
-
-2007-07-05 08:42:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Simplity --extra-dir as gtkdoc scans recursively.
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  * docs/plugins/Makefile.am:
-	  Simplity --extra-dir as gtkdoc scans recursively.
-
-2007-07-03 17:01:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: When we got an error, there is no point in waiting for preroll when shutting down.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  When we got an error, there is no point in waiting for preroll when
-	  shutting down.
-
-2007-07-03 16:26:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gsttee.c: Be a lot smarter when deciding what srcpad to use for proxying the buffer_alloc. Also hand...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c: (gst_tee_base_init),
-	  (gst_tee_request_new_pad), (gst_tee_release_pad),
-	  (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
-	  (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
-	  (gst_tee_chain):
-	  Be a lot smarter when deciding what srcpad to use for proxying
-	  the buffer_alloc. Also handle pad added/removed when doing so.
-	  Fixes #357959.
-	  Keep track of what pads we already pushed on in case we have pads
-	  added/removed while pushing. Fixes #374639
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
-	  (tee_suite):
-	  Added unit test for pad resync.
-
-2007-07-01 21:31:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Updated translations.
-	  Original commit message from CVS:
-	  * po/nl.po:
-	  * po/sv.po:
-	  Updated translations.
-
-2007-07-01 21:30:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Added new Finnish translation.
-	  Original commit message from CVS:
-	  translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
-	  * po/LINGUAS:
-	  * po/fi.po:
-	  Added new Finnish translation.
-
-2007-06-28 11:25:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: When figuring out when a queue is filled, use our internal time estimate based on s...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (apply_buffer),
-	  (single_queue_overrun_cb):
-	  When figuring out when a queue is filled, use our internal time estimate
-	  based on segments, just like check_full does.
-
-2007-06-27 11:47:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Mention bug 430682 closed by previous commit.
-	  Original commit message from CVS:
-	  Mention bug 430682 closed by previous commit.
-
-2007-06-27 11:43:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstminiobject.c: Remove 3 do-nothing methods.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_mini_object_get_type):
-	  Remove 3 do-nothing methods.
-
-2007-06-27 11:24:08 +0000  Tim Angus <tim@ngus.net>
-
-	  plugins/elements/gstcapsfilter.c: Take a reference instead of a copy when setting "caps".
-	  Original commit message from CVS:
-	  Patch by: Tim Angus <tim at ngus dot net>
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
-	  (gst_capsfilter_set_property):
-	  Take a reference instead of a copy when setting "caps".
-	  Fix documentation to clarify this behaviour. Fixes #449414.
-
-2007-06-27 10:12:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Remove empty instance_init() functions to save relocs and lessen the noise. Remove some of the function prototy...
-	  Original commit message from CVS:
-	  * gst/gstindexfactory.c: (gst_index_factory_get_type):
-	  * gst/gstplugin.c: (gst_plugin_init):
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_init):
-	  * gst/gstquery.c: (gst_query_get_type):
-	  * gst/gstregistry.c: (gst_registry_init):
-	  * gst/gsturi.c: (gst_uri_handler_base_init):
-	  Remove empty instance_init() functions to save relocs and lessen the
-	  noise. Remove some of the function prototypes that are doubled by
-	  G_DEFINE_TYPE.
-
-2007-06-27 09:34:01 +0000  Étienne Noreau-Hébert <etienne@deepunder.org>
-
-	  gst/gstghostpad.c: Add peer and direction in the XML serialisation of ghostpads.
-	  Original commit message from CVS:
-	  Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
-	  * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
-	  Add peer and direction in the XML serialisation of ghostpads.
-	  Fixes #449226.
-
-2007-06-26 16:24:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: Preserve useful information, thanks Tim.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Preserve useful information, thanks Tim.
-
-2007-06-26 14:45:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstmultiqueue.*: Take the multiqueue lock when updating the fill level so we don't get confused.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
-	  (gst_single_queue_flush), (apply_segment), (apply_buffer),
-	  (gst_single_queue_push_one), (gst_multi_queue_loop),
-	  (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
-	  (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
-	  (compute_high_id), (gst_single_queue_new):
-	  * plugins/elements/gstmultiqueue.h:
-	  Take the multiqueue lock when updating the fill level so we don't get
-	  confused.
-	  After applying a buffer or event on the src pad segment, make sure to
-	  call gst_data_queue_limits_changed() to get the data queue to unblock
-	  and check the filled state again.
-	  Rework the not-linked pad handling so the logic is that not-linked
-	  pads can push as fast as they like, but only so they never get
-	  ahead of any linked pads.
-	  * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
-	  (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
-	  (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
-	  Add a test to check that not-linked pads always stay behind
-	  linked pads.
-
-2007-06-26 11:57:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/random/release: Some updates to the release procedure.
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  Some updates to the release procedure.
-
-2007-06-26 08:26:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelementfactory.c: Microoptimization that saves stunning 80 bytes.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (__gst_element_details_clear):
-	  Microoptimization that saves stunning 80 bytes.
-
-2007-06-25 12:35:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/plugins/: Update docs with caps info.
-	  Original commit message from CVS:
-	  * docs/plugins/gstreamer-plugins.args:
-	  * docs/plugins/inspect/plugin-coreelements.xml:
-	  * docs/plugins/inspect/plugin-coreindexers.xml:
-	  Update docs with caps info.
-
-2007-06-23 22:56:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/it.po: Updated Italian translation.
-	  Original commit message from CVS:
-	  * po/it.po:
-	  Updated Italian translation.
-
-2007-06-23 11:19:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  fix win32 arch
-	  Original commit message from CVS:
-	  fix win32 arch
-
-2007-06-23 11:18:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.h:
-	  80 line fix
-	  Original commit message from CVS:
-	  80 line fix
-
-2007-06-23 11:15:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Update Vietnamese translations.
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  * po/vi.po:
-	  Update Vietnamese translations.
-
-2007-06-21 22:37:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesink.c: Remove unused signal enum.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  Remove unused signal enum.
-
-2007-06-21 18:00:58 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* MAINTAINERS:
-	  update MAINTAINERS file to reflect current realities better
-	  Original commit message from CVS:
-	  update MAINTAINERS file to reflect current realities better
-
-2007-06-21 16:39:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Beef up and include the docs for gst_type_register_static_full and gst_element_class_set_details_simple and add the A...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.c:
-	  * gst/gstutils.c: (gst_type_register_static_full):
-	  Beef up and include the docs for gst_type_register_static_full and
-	  gst_element_class_set_details_simple and add the API keyword
-	  in the ChangeLog.
-
-2007-06-21 14:35:03 +0000  Wim Taymans <wim@fluendo.com>
-
-	  plugins/elements/gstmultiqueue.c: Fix setting max-* properties after adding queues.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
-	  (update_time_level), (gst_single_queue_push_one),
-	  (gst_multi_queue_chain), (gst_multi_queue_sink_event),
-	  (single_queue_overrun_cb), (single_queue_underrun_cb),
-	  (single_queue_check_full):
-	  Fix setting max-* properties after adding queues.
-	  Use IS_FILLED for checking visible items.
-	  Signal overrun if multiple queues overrun.
-	  Add extra debug output.
-	  Patch by: Wim Taymans <wim@fluendo.com>
-
-2007-06-21 14:29:05 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_class_set_details_simple):
-	  * gst/gstelement.h:
-	  * gst/gstutils.c: (gst_type_register_static_full):
-	  * gst/gstutils.h:
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_base_init):
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
-	  * plugins/elements/gstqueue.c: (gst_queue_base_init),
-	  (apply_buffer), (gst_queue_chain):
-	  * plugins/elements/gsttee.c: (gst_tee_base_init):
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_base_init),
-	  (gst_type_find_element_class_init):
-	  Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
-
-2007-06-21 09:46:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/advanced-types.xml: Fix typo in iana.org URI.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Fix typo in iana.org URI.
-
-2007-06-19 21:58:30 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/check/pipelines/simple-launch-lines.c
-	  Original commit message from CVS:
-	  2007-06-19  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/pipelines/simple-launch-lines.c
-	  (test_state_change_returns): Enable pull-mode tests now that
-	  basesink has been fixed.
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
-	  Changed from gst_base_sink_is_prerolled, reversing the sense of
-	  the return value. Returns FALSE also if the sink is in pull mode,
-	  in which case it needs no preroll.
-	  (gst_base_sink_query, gst_base_sink_change_state): Update for
-	  needs_preroll change.
-	  (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
-	  chaining up, in which we return SUCCESS directly if we activated
-	  in pull mode instead of ASYNC. Involves countering an async_start
-	  message sent before chaining up; not sure if this is correct, in
-	  an ideal world we only send async-start when activating in push
-	  mode.
-
-2007-06-19 21:28:54 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* tests/check/pipelines/simple-launch-lines.c:
-	* win32/common/config.h:
-	  tests/check/pipelines/simple-launch-lines.c
-	  Original commit message from CVS:
-	  2007-06-19  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/pipelines/simple-launch-lines.c
-	  (test_state_change_returns): New test, partially disabled until
-	  basesink is fixed.
-
-2007-06-19 16:05:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Fix event leak.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (apply_buffer),
-	  (gst_multi_queue_sink_event):
-	  Fix event leak.
-
-2007-06-19 10:41:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Move the common code for posting state-change messages into one function.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	  (gst_bin_change_state_func), (bin_push_state_continue),
-	  (bin_handle_async_start), (bin_handle_async_done),
-	  (gst_bin_handle_message_func):
-	  Move the common code for posting state-change messages into
-	  one function.
-	  Broadcast the state signal after we posted the messages.
-	  Mark the bin as busy when it's doing a state-change.
-	  Make sure async-start/done messages don't interfere with the bin's
-	  state when it's busy.
-	  After the state change, let the bin check which elements completed the
-	  state change while it was busy so that it can update its state.
-
-2007-06-19 10:38:39 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/random/release: Add a note about updating the doap file to the release checklist
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  Add a note about updating the doap file to the release checklist
-
-2007-06-18 16:44:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Make sure we don't reference the buffer/event after we have given away ownership in...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (apply_buffer),
-	  (gst_single_queue_push_one), (gst_multi_queue_chain),
-	  (gst_multi_queue_sink_event):
-	  Make sure we don't reference the buffer/event after we have given away
-	  ownership in the queue.
-
-2007-06-18 15:15:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Update queue state _after_ adding the item in the queue because else we could end u...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
-	  (gst_multi_queue_chain), (gst_multi_queue_sink_event):
-	  Update queue state _after_ adding the item in the queue because else we
-	  could end up being full without the element added yet.
-
-2007-06-18 15:12:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
-	  (gst_bin_remove_func), (gst_bin_get_state_func),
-	  (gst_bin_element_set_state), (gst_bin_continue_func),
-	  (bin_push_state_continue), (bin_handle_async_start),
-	  (bin_handle_async_done), (gst_bin_handle_message_func):
-	  * gst/gstbin.h:
-	  Immediatly commit the toplevel bin state when receiving an async-done
-	  message. This enables us to avoid spawning a thread to commit the state
-	  in some common cases and it also avoids some races.
-	  Avoid spawning a state thread when adding/removing async elements to a
-	  toplevel bin. Instead we immediatly update the bin state.
-	  Get rid of iterating all the children when getting the state in the bin
-	  because it is now always up-to-date.
-	  Fix bug where locked elements would always return _SUCCESS even it they
-	  returned NO_PREROLL before being locked.
-	  Fix the order of the state_change, async-start/done messages that was
-	  sometimes incorrect.
-	  Mark the state_dirty field as deprecated, we don't need it anymore as we
-	  are always up-to-date.
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_continue_state):
-	  Small debug inprovements.
-	  Return the previous element state return when nothing is pending instead
-	  of blindly returning SUCCESS.
-	  * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
-	  (gst_sinks_suite):
-	  Add a whole bunch of new testcases.
-
-2007-06-17 17:26:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Update translations.
-	  Original commit message from CVS:
-	  * po/uk.po:
-	  * po/vi.po:
-	  Update translations.
-
-2007-06-15 14:37:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Fix typo in the docs.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Fix typo in the docs.
-
-2007-06-15 11:49:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add docs for new methods.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add docs for new methods.
-
-2007-06-15 11:35:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Don't use GSlice because we don't depend on >= 2.10 yet.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
-	  (gst_multi_queue_item_new):
-	  Don't use GSlice because we don't depend on >= 2.10 yet.
-
-2007-06-15 11:09:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstmultiqueue.c: Remove debug printf.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
-	  (update_time_level), (apply_segment), (apply_buffer),
-	  (gst_single_queue_push_one), (gst_multi_queue_item_new),
-	  (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
-	  (gst_multi_queue_sink_event), (single_queue_overrun_cb),
-	  (single_queue_underrun_cb), (single_queue_check_full):
-	  Remove debug printf.
-
-2007-06-15 11:00:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstdataqueue.*: Various cleanups.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
-	  (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
-	  (gst_data_queue_set_flushing), (gst_data_queue_push),
-	  (gst_data_queue_pop), (gst_data_queue_drop_head),
-	  (gst_data_queue_limits_changed), (gst_data_queue_get_level):
-	  * libs/gst/base/gstdataqueue.h:
-	  Various cleanups.
-	  Added methods to get the current levels and to inform the queue that the
-	  'full' limits changed.
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
-	  (gst_multi_queue_finalize), (gst_multi_queue_set_property),
-	  (gst_single_queue_flush), (update_time_level), (apply_segment),
-	  (apply_buffer), (gst_single_queue_push_one),
-	  (gst_multi_queue_item_steal_object),
-	  (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
-	  (gst_multi_queue_loop), (gst_multi_queue_chain),
-	  (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
-	  (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
-	  (gst_multi_queue_src_query), (single_queue_overrun_cb),
-	  (single_queue_underrun_cb), (single_queue_check_full),
-	  (gst_single_queue_new):
-	  Keep track of time in the queue by measuring the difference between
-	  running_time on input and output. This gives more accurate results and
-	  can compensate for segments correctly.
-	  Make a queue by default only 5 buffers deep. We will now increase the
-	  buffer size depending on the filledness of the other queues.
-	  Factor out commong flush code.
-	  Make sure we don't add additional refcounts to buffers when we can avoid
-	  it.
-	  Propagate GstFlowReturn differently.
-	  Use GSlice for intermediate GstMultiQueueItems.
-	  Keep track of EOS.
-	  Resize queues on over and underruns based on filled level of other
-	  queues.
-	  When checking if the queue is filled, prefer to measure in time if we
-	  can and fall back to bytes when no time is known.
-	  * plugins/elements/gstqueue.c:
-	  Fix return value.
-
-2007-06-15 10:48:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Work around the brokenness of the event vmethod in basetransform. Prefer to return ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_event):
-	  Work around the brokenness of the event vmethod in basetransform. Prefer
-	  to return TRUE when the subclass returned FALSE (meaning don't forward
-	  the event).
-	  * libs/gst/base/gstbasetransform.h:
-	  Clarify the docs.
-
-2007-06-15 10:43:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Improve debugging.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
-	  (gst_base_src_default_query), (gst_base_src_get_range),
-	  (gst_base_src_start):
-	  * tests/check/pipelines/parse-launch.c: (setup_pipeline):
-	  Improve debugging.
-
-2007-06-15 07:27:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/pwg/advanced-types.xml: Added more formats to caps table.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Added more formats to caps table.
-
-2007-06-15 07:02:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-launch.c: Remove crufy code. GOption does not need this workaround.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  Remove crufy code. GOption does not need this workaround.
-
-2007-06-14 20:29:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Fix wrong getter for enums in controller.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode):
-	  Fix wrong getter for enums in controller.
-
-2007-06-14 17:36:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/gstcheck.c: Intercept criticals and warnings in the Gst-Phonon log domain, so
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_init):
-	  Intercept criticals and warnings in the Gst-Phonon log domain, so
-	  ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
-	  well.
-
-2007-06-14 16:07:09 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstparamspecs.c: Since this file doesn't include "gst.h" it will not go through the macros that disable GST_LOG i...
-	  Original commit message from CVS:
-	  * gst/gstparamspecs.c: (_gst_param_fraction_validate):
-	  Since this file doesn't include "gst.h" it will not go through the
-	  macros that disable GST_LOG if debugging was disabled.
-
-2007-06-14 15:56:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Ugly 'fix' for the controller unit test on the p5 bot: in fail_unless_equals_float() check whether the values are 'al...
-	  Original commit message from CVS:
-	  * libs/gst/check/Makefile.am:
-	  * libs/gst/check/gstcheck.h:
-	  * pkgconfig/gstreamer-check-uninstalled.pc.in:
-	  * pkgconfig/gstreamer-check.pc.in:
-	  Ugly 'fix' for the controller unit test on the p5 bot: in
-	  fail_unless_equals_float() check whether the values are 'almost
-	  equal' by allowing a small absolute error, which should be good
-	  enough for our use cases (normal numbers and values close to 0).
-	  Proper fixage left to floating point arithmetic aficionados.
-
-2007-06-14 12:03:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesink.c: Add two breaks thats where missing.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
-	  (gst_base_sink_render_object), (gst_base_sink_get_position):
-	  Add two breaks thats where missing.
-
-2007-06-14 11:56:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add fail_unless_equals_float() and assert_equals_float().
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/check/gstcheck.h:
-	  API: add fail_unless_equals_float() and assert_equals_float().
-	  Add documentation for some of the macros.
-	  * tests/check/libs/controller.c: (GST_START_TEST):
-	  Use newly-added asserts.
-
-2007-06-14 10:33:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpad.c: Show the caps change in the log to help spotting the case of not exactly matching caps.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
-	  Show the caps change in the log to help spotting the case of not
-	  exactly matching caps.
-
-2007-06-14 08:52:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/building-boiler.xml: Fix typos, spotted by Thijs Vermeir (#447190).
-	  Original commit message from CVS:
-	  * docs/pwg/building-boiler.xml:
-	  Fix typos, spotted by Thijs Vermeir (#447190).
-
-2007-06-13 16:15:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/plugins/tmpl/.cvsignore: Ignore file to keep the buildbots happy
-	  Original commit message from CVS:
-	  * docs/plugins/tmpl/.cvsignore:
-	  Ignore file to keep the buildbots happy
-
-2007-06-13 15:39:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/plugins/: Pull fdsink into the docs too.
-	  Original commit message from CVS:
-	  * docs/plugins/Makefile.am:
-	  * docs/plugins/gstreamer-plugins-docs.sgml:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  Pull fdsink into the docs too.
-
-2007-06-11 07:14:53 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolation.c: Actually use the new functions with min/max checks for the trigger and none i...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  Actually use the new functions with min/max checks for the trigger and
-	  none interpolation modes for get() and get_value_array() instead of
-	  just the latter.
-
-2007-06-10 12:38:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstcontroller.c: Unset the minimum and maximum GValues when freeing the corresponding
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_free):
-	  Unset the minimum and maximum GValues when freeing the corresponding
-	  GstControllerProperty struct.
-
-2007-06-09 16:58:30 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Protect against values larger or smaller than the minimum or maximum allowed value for the prop...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_new):
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (gst_controlled_property_find_control_point_node),
-	  (interpolate_none_get), (interpolate_none_get_enum_value_array),
-	  (interpolate_none_get_string_value_array),
-	  (interpolate_trigger_get),
-	  (interpolate_trigger_get_enum_value_array),
-	  (interpolate_trigger_get_string_value_array):
-	  Protect against values larger or smaller than the minimum or maximum
-	  allowed value for the property when using values that can be compared.
-	  Optimize trigger interpolator a bit by taking the last requested value
-	  into account instead of always looping through the complete list.
-	  Fix coding style a bit, everywhere else we use "return foo" instead
-	  of "return (foo)".
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Add unit test for the protection against too large or too small
-	  values.
-
-2007-06-08 21:08:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/random/slomo/controller.txt: Add some thoughts about the future of the controller.
-	  Original commit message from CVS:
-	  * docs/random/slomo/controller.txt:
-	  Add some thoughts about the future of the controller.
-
-2007-06-08 11:00:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstidentity.c: Don't overflow in retimestamping code.
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Don't overflow in retimestamping code.
-
-2007-06-07 20:51:35 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  libs/gst/controller/gstinterpolation.c: Use gst_util_guint64_to_gdouble for conversions.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
-	  Use gst_util_guint64_to_gdouble for conversions.
-	  * win32/common/libgstreamer.def:
-	  Add new exported functions.
-
-2007-06-07 17:22:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.c: Small docs addition.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Small docs addition.
-
-2007-06-07 14:49:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  README: Remove that test line again.
-	  Original commit message from CVS:
-	  * README:
-	  Remove that test line again.
-
-2007-06-07 14:36:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  README: Test commit mail sending.
-	  Original commit message from CVS:
-	  * README:
-	  Test commit mail sending.
-
-2007-06-07 14:17:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: Fix typo and test commit mail sending.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Fix typo and test commit mail sending.
-
-2007-06-07 14:12:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/examples/controller/audio-example.c: Improve comment and test commit mail sending.
-	  Original commit message from CVS:
-	  * tests/examples/controller/audio-example.c:
-	  Improve comment and test commit mail sending.
-
-2007-06-07 10:11:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Add helper function to find messages.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
-	  (gst_bin_remove_func), (gst_bin_element_set_state),
-	  (bin_handle_async_start), (bin_handle_async_done),
-	  (gst_bin_handle_message_func):
-	  Add helper function to find messages.
-	  Generate the async-done messages together with the state change
-	  messages.
-	  Small cleanups in handling toplevel bins.
-
-2007-06-06 18:11:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Fix multiqueue leaking buffers and events when downstream or the queue are flushing. Make refcounting assumptions exp...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstdataqueue.c:
-	  * libs/gst/base/gstdataqueue.h:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
-	  (gst_multi_queue_item_new), (gst_multi_queue_chain),
-	  (gst_multi_queue_sink_event):
-	  * tests/check/elements/multiqueue.c: (multiqueue_suite):
-	  Fix multiqueue leaking buffers and events when downstream or the
-	  queue are flushing. Make refcounting assumptions explicit and
-	  document them (shouldn't break existing code that uses it other than
-	  maybe leak miniobjects, but that already happens anyway). Add unit
-	  test for the most common flushing case. Fixes #423700.
-
-2007-06-06 14:20:01 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstcontroller.c: Clarify docs: The get_all, get_value_array(s) functions don't modify the GObject...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  Clarify docs: The get_all, get_value_array(s) functions
-	  don't modify the GObject properties.
-
-2007-06-06 14:01:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Factor out the 'set' logic into gst_controller_set_unlocked for the gst_controller_set and gst_...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_prepend_default),
-	  (gst_controlled_property_new), (gst_controller_set_unlocked),
-	  (gst_controller_set), (gst_controller_set_from_list),
-	  (gst_controller_unset), (gst_controller_unset_all):
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  Factor out the 'set' logic into gst_controller_set_unlocked for the
-	  gst_controller_set and gst_controller_set_from_list functions.
-	  To make life of the interpolators easier always add a control point
-	  at timestamp zero with the default value.
-	  In the linear interpolator make things more obvious by better variable
-	  naming (slope).
-	  Implement cubic interpolation mode (by using a natural cubic spline)
-	  and map the quadratic interpolation mode to this too (as quadratic
-	  doesn't make much sense, see discussion on the list).
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Add unit test for the cubic interpolation mode and check everywhere
-	  if the interpolation mode could be set as expected.
-
-2007-06-06 11:38:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstparamspecs.c: Don't use GLib-2.10 functions, we still depend on
-	  Original commit message from CVS:
-	  * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
-	  Don't use GLib-2.10 functions, we still depend on
-	  GLib-how-old-is-it-again-2.8.
-
-2007-06-06 11:18:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GstParamSpecFraction, so elements can have fraction properties without lots of painful string parsing (#4446...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gst.c:
-	  * gst/gst.h:
-	  * gst/gstparamspecs.c: (_gst_param_fraction_init),
-	  (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
-	  (_gst_param_fraction_values_cmp),
-	  (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
-	  * gst/gstparamspecs.h:
-	  * gst/gstvalue.c:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
-	  (gst_dummy_obj_class_init), (gst_dummy_obj_init),
-	  (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
-	  (GST_START_TEST), (gst_param_spec_suite):
-	  API: add GstParamSpecFraction, so elements can have fraction
-	  properties without lots of painful string parsing (#444648).
-
-2007-06-05 16:25:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstobject.c: Fix signal signature.
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_class_init):
-	  Fix signal signature.
-	  * gst/gstsegment.c:
-	  Add small clarification in the api docs.
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
-	  States are protected with object lock.
-
-2007-06-05 14:11:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  AUTHORS: I should probably be listed as an author by now.
-	  Original commit message from CVS:
-	  * AUTHORS:
-	  I should probably be listed as an author by now.
-	  * docs/random/release:
-	  Update the release doc
-
-2007-06-05 13:49:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Make docs for gst_value_compare() mention return enums that actually exist.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Make docs for gst_value_compare() mention return enums that
-	  actually exist.
-
-2007-06-05 13:21:41 +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:47:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gstreamer.doap:
-	* win32/common/config.h:
-	* win32/vs6/grammar.dsp:
-	* win32/vs6/gst_inspect.dsp:
-	* win32/vs6/gst_launch.dsp:
-	* win32/vs6/gstreamer.dsw:
-	* win32/vs6/libgstbase.dsp:
-	* win32/vs6/libgstcontroller.dsp:
-	* win32/vs6/libgstcoreelements.dsp:
-	* win32/vs6/libgstdataprotocol.dsp:
-	* win32/vs6/libgstnet.dsp:
-	* win32/vs6/libgstreamer.dsp:
-	  Release 0.10.13 "With or without you"
-	  Original commit message from CVS:
-	  Release 0.10.13 "With or without you"
-
-2007-06-05 12:06:44 +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/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2007-05-29 15:50:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  trigger a mail
-	  Original commit message from CVS:
-	  trigger a mail
-
-2007-05-29 14:49:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  trigger a mail
-	  Original commit message from CVS:
-	  trigger a mail
-
-2007-05-29 14:48:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  trigger a mail
-	  Original commit message from CVS:
-	  trigger a mail
-
-2007-05-29 14:37:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  send a mail
-	  Original commit message from CVS:
-	  send a mail
-
-2007-05-29 11:52:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 11:40:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 11:00:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 10:43:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 10:35:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 10:34:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-29 10:20:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  test commit
-	  Original commit message from CVS:
-	  test commit
-
-2007-05-25 15:36:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Make sure that the child bin stops after completing the async state change so that the parent can conti...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_handle_async_done):
-	  Make sure that the child bin stops after completing the async state
-	  change so that the parent can continue the state change to PLAYING.
-	  Fixes #441159.
-
-2007-05-25 09:26:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: Use additional refcounting to avoid crashes when dynamically adding and removing pads...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
-	  (unref_data), (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_check_pads):
-	  Use additional refcounting to avoid crashes when dynamically adding and
-	  removing pads. Fixes #420206.
-
-2007-05-24 15:00:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: When buffering goes from a two digit to a single digit number, make sure to remove the old second...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  When buffering goes from a two digit to a single digit number, make sure
-	  to remove the old second digit by writing a blank over it.
-
-2007-05-24 12:19:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstdataqueue.c: Eliminate tabs and trailing comma in enum list; fix some typos.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstdataqueue.c:
-	  Eliminate tabs and trailing comma in enum list; fix some typos.
-
-2007-05-24 11:50:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstbin.c: Allow refcount of 3 and 4 because some state thread might still be busy with it.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  Allow refcount of 3 and 4 because some state thread might still be busy
-	  with it.
-
-2007-05-24 09:41:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/: These are not installed headers, no need for padding.
-	  Original commit message from CVS:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstmultiqueue.h:
-	  * plugins/elements/gstqueue.h:
-	  These are not installed headers, no need for padding.
-
-2007-05-24 08:35:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Enable latency for next release.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
-	  (gst_bin_continue_func):
-	  Enable latency for next release.
-	  Restore STATE_LOCK around recalc_state that was left out during the
-	  rewrite and could result in racy behaviour when _get_state and
-	  recalc_state are run concurrently. See #440463.
-
-2007-05-23 13:56:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstsystemclock.c: Improve test_async_order to also work when both timers are already expired when we ...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstsystemclock.c: (store_callback),
-	  (GST_START_TEST):
-	  Improve test_async_order to also work when both timers are already
-	  expired when we get scheduled to check it.
-
-2007-05-22 17:10:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.*: 'private' is a c++ keyword, let's not use that in header files, otherwise c++ compilers will throw a ta...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
-	  (gst_bin_set_property), (gst_bin_get_property),
-	  (gst_bin_remove_func), (gst_bin_handle_message_func):
-	  * gst/gstbin.h:
-	  'private' is a c++ keyword, let's not use that in header files,
-	  otherwise c++ compilers will throw a tantrum.
-
-2007-05-22 11:55:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/: Use #ifdef for HAVE_XYZ for consistency.
-	  Original commit message from CVS:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
-	  (gst_file_sink_get_current_offset):
-	  * plugins/indexers/gstindexers.c: (plugin_init):
-	  Use #ifdef for HAVE_XYZ for consistency.
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/.cvsignore:
-	  * tests/check/elements/filesink.c: (setup_filesink),
-	  (cleanup_filesink), (GST_START_TEST), (filesink_suite):
-	  Add some unit tests for filesink.
-
-2007-05-22 11:43:07 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  plugins/elements/gstfilesink.*: Fix position reporting; rename data_written member to current_pos to reflect its real...
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet be>
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
-	  (gst_file_sink_query), (gst_file_sink_do_seek),
-	  (gst_file_sink_get_current_offset), (gst_file_sink_render):
-	  * plugins/elements/gstfilesink.h:
-	  Fix position reporting; rename data_written member to current_pos to
-	  reflect its real meaning (fixes #412648).
-
-2007-05-22 11:09:45 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Add a property for bins that handle the state change of their childs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
-	  (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
-	  (gst_bin_remove_func), (gst_bin_handle_message_func):
-	  * gst/gstbin.h:
-	  Add a property for bins that handle the state change of their childs.
-	  Fixes #435880
-
-2007-05-22 10:21:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/appendix-quotes.xml:
-	* docs/manual/manual.xml:
-	  add quote
-	  Original commit message from CVS:
-	  add quote
-
-2007-05-22 09:56:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolation.c: Use an array of the correct type when using _get_value_array with linear inte...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  Use an array of the correct type when using _get_value_array with
-	  linear interpolation.
-
-2007-05-22 06:37:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpipeline.c:
-	  gst/gstelement.c (gst_element_requires_clock, gst_element_provides_clock, gst_element_request_pad, gst_element_class_...
-	  Original commit message from CVS:
-	  * gst/gstelement.c (gst_element_requires_clock,
-	  gst_element_provides_clock, gst_element_request_pad,
-	  gst_element_class_set_details, gst_element_class_set_details_simple,
-	  gst_element_default_send_event, gst_element_abort_state,
-	  gst_element_continue_state, gst_element_set_state,
-	  gst_element_set_state_func, iterator_activate_fold_with_resync):
-	  * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
-	  gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
-	  gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
-	  gst_pad_get_range, gst_pad_pull_range):
-	  * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
-	  GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
-	  GstPadActivateModeFunction, GstPadChainFunction,
-	  GstPadGetCapsFunction, GstPadAcceptCapsFunction,
-	  GstPadFixateCapsFunction, GstPadTemplate):
-	  * gst/gstpipeline.c (gst_pipeline_change_state,
-	  gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
-	  gst_pipeline_set_clock, gst_pipeline_auto_clock,
-	  gst_pipeline_get_delay):
-	  Whitespace and docs fixes.
-
-2007-05-21 21:48:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstinterpolation.c: Add support for retrieving value arrays when using the trigger interpolation ...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (interpolate_trigger_get_enum_value_array),
-	  (interpolate_trigger_get_string_value_array):
-	  Add support for retrieving value arrays when using the trigger
-	  interpolation mode.
-
-2007-05-21 21:34:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/gstcontroller.*: Clarify the docs of gst_controller_get_value_array(): The array where the values...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controller_get_value_array):
-	  * libs/gst/controller/gstcontroller.h:
-	  Clarify the docs of gst_controller_get_value_array(): The array where
-	  the values should be written to must be allocated as there seems to be
-	  no way to get the size of a random GType. This doesn't change any
-	  behaviour. Also fix some typos all over the place and remove an unused,
-	  commented function that is not necessary as g_object_set() could be
-	  used instead.
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Add unit test for gst_controller_get_value_array().
-
-2007-05-21 14:50:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/gst/gstbuffer.c: Disable part of the gst_buffer_try_new_and_alloc test, because it can happily succeed on...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST):
-	  Disable part of the gst_buffer_try_new_and_alloc test, because
-	  it can happily succeed on 64-bit systems where there's more address
-	  space available.
-
-2007-05-21 12:05:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/gst/gstpad.c: Add unit test for the improved caps checking from bug #421543.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
-	  Add unit test for the improved caps checking from bug #421543.
-
-2007-05-21 12:05:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-synchronisation.txt: Small addition.
-	  Original commit message from CVS:
-	  * docs/design/part-synchronisation.txt:
-	  Small addition.
-	  * gst/gstbin.c: (gst_bin_query):
-	  * plugins/elements/gstqueue.c: (apply_segment):
-	  Improve debugging.
-	  * gst/gstmessage.h:
-	  Improve docs.
-
-2007-05-21 12:00:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Added simple version of improved caps checking. It was previously assumed that a setcaps function would...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_caps_unlocked),
-	  (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
-	  (gst_pad_configure_src):
-	  Added simple version of improved caps checking. It was previously
-	  assumed that a setcaps function would check the validity of the caps but
-	  people prefer us to check caps against the template automatically.
-	  Fixes #421543.
-
-2007-05-21 11:29:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.h: Fix macro for locking/unlocking the transform lock.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.h:
-	  Fix macro for locking/unlocking the transform lock.
-
-2007-05-19 13:53:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/plugins/tmpl/.cvsignore: Ignore more.
-	  Original commit message from CVS:
-	  * docs/plugins/tmpl/.cvsignore:
-	  Ignore more.
-
-2007-05-18 16:53:18 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix for the subtle a...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_loop):
-	  Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
-	  for the subtle art of warning a potentially blocking thread that it
-	  should check the source pad return value, and relay the information
-	  upstream.
-
-2007-05-18 11:20:33 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: Release the queue lock !
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
-	  Release the queue lock !
-
-2007-05-17 17:55:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  docs/libs/gstreamer-libs-sections.txt: Add the two new controller functions to the appropiate places.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Add the two new controller functions to the appropiate places.
-
-2007-05-17 17:37:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
-	  Original commit message from CVS:
-	  reviewed by: Stefan Kost <ensonic@users.sf.net>
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controller_suggest_next_sync), (gst_controller_sync_values),
-	  (_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_suggest_next_sync),
-	  (gst_object_get_control_rate), (gst_object_set_control_rate):
-	  API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
-	  Add API that provides sync suggestion timestamps for elements that
-	  call gst_object_sync_values() from which those elements can subdivide
-	  their processing loop to get the best results for the controlled
-	  properties. For now it just suggests last_sync + control_rate as
-	  new timestamp but this will be improved in the future.
-	  While doing that change the control-rate property to a GstClockTime
-	  from guint and change it's meaning from samples to nanoseconds as
-	  the GstController doesn't know anything about sampling rate. Strictly
-	  speaking this breaks ABI but as the control-rate property didn't do
-	  anything in the past and as such couldn't be used this should be no
-	  problem.
-
-2007-05-17 17:16:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Save last synced value from the list to continue searching from there in future syncs. This spe...
-	  Original commit message from CVS:
-	  reviewed by: Stefan Kost <ensonic@users.sf.net>
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
-	  (gst_controller_unset_all):
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (gst_controlled_property_find_control_point_node):
-	  Save last synced value from the list to continue searching from there
-	  in future syncs. This speeds everything up a bit.
-
-2007-05-17 17:05:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/controller/: Add a new private GstControlPoint struct which "inherits" from
-	  Original commit message from CVS:
-	  reviewed by: Stefan Kost <ensonic@users.sf.net>
-	  * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
-	  (gst_control_point_find), (gst_controlled_property_new),
-	  (gst_control_point_free), (gst_controlled_property_free),
-	  (gst_controller_set), (gst_controller_set_from_list),
-	  (gst_controller_unset), (gst_controller_unset_all),
-	  (gst_controller_sync_values):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (gst_controlled_property_find_control_point_node),
-	  (interpolate_none_get), (interpolate_trigger_get):
-	  Add a new private GstControlPoint struct which "inherits" from
-	  GstTimedValue to allow different interpolators to store internal
-	  values next to each control point. From the outside everything is
-	  still a GstControlPoint so we don't loose binary compatibility.
-	  Also fixup all the GValue handling to not leak GValues or list nodes.
-	  * tests/check/libs/controller.c: (GST_START_TEST):
-	  Free the list nodes and GValues in the controller_misc test.
-
-2007-05-17 11:05:22 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstsegment.c: Small doc fix.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c:
-	  Small doc fix.
-
-2007-05-16 19:35:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstplugin.c: If we fail to load a plugin because of unresolved symbols or missing libraries and spew a warning to...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  If we fail to load a plugin because of unresolved symbols or missing
-	  libraries and spew a warning to stderr, we may just as well mention
-	  which plugin it was that failed to load.
-
-2007-05-13 20:28:14 +0000  David Schleef <ds@schleef.org>
-
-	  docs/Makefile.am: the gtk-doc makefile snippet correctly handles the case when ENABLE_GTK_DOC is false, and installs ...
-	  Original commit message from CVS:
-	  * docs/Makefile.am: the gtk-doc makefile snippet correctly
-	  handles the case when ENABLE_GTK_DOC is false, and installs
-	  the prebuilt documentation.  So gtk-doc subdirs are
-	  unconditionally enabled.  Fixes: #349099.
-
-2007-05-13 20:11:27 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstutils.h: Reword some documentation.
-	  Original commit message from CVS:
-	  * gst/gstutils.h: Reword some documentation.
-
-2007-05-13 00:20:35 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstplugin.c: gst_plugin_register_func() doesn't actually do anything with the passed "module" parameter, so remov...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
-	  do anything with the passed "module" parameter, so remove it.
-	  Allows removal of additional vestigal code.
-
-2007-05-13 00:09:00 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstplugin.c: Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
-	  Switch to using g_stat() because it's more portable.
-
-2007-05-12 23:53:08 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gst.c: Add GST_DISABLE_OPTION_PARSING, in order to disable option parsing for embedded systems.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Add GST_DISABLE_OPTION_PARSING, in order to disable option
-	  parsing for embedded systems.
-	  * gst/gstelementfactory.c:
-	  Allow gst_element_register() to be called with plugin==NULL.
-	  Did nobody notice that static elements were broken?
-
-2007-05-12 15:38:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Give more interesting info when buffering starts and stops.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Give more interesting info when buffering starts and stops.
-	  Fix case where buffering starts but we fail to update the buffering flag
-	  because the target state is not PLAYING.
-
-2007-05-12 15:35:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.*: Refactor an cleanup queue a bit.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_init),
-	  (gst_queue_finalize), (update_time_level), (apply_segment),
-	  (apply_buffer), (gst_queue_locked_flush),
-	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
-	  (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_push_one), (gst_queue_loop):
-	  * plugins/elements/gstqueue.h:
-	  Refactor an cleanup queue a bit.
-	  Do better time level calculations that also work when the srcpad is not
-	  yet running.
-	  Remove some unneeded debug lines.
-	  * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
-	  Added testcase for time level measurement.
-	  Try to make some stuff more racefree.
-
-2007-05-11 14:46:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsturi.c: Don't leak plugin feature.
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_element_make_from_uri):
-	  Don't leak plugin feature.
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
-	  Add brain-dead unit test.
-
-2007-05-11 14:28:55 +0000  Jeroen Wouters <woutersj@gmail.com>
-
-	  gst/gsturi.c: Treat protocol strings in a case-insensitive way (#437563).
-	  Original commit message from CVS:
-	  Patch by: Jeroen Wouters <woutersj at gmail com>
-	  * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
-	  Treat protocol strings in a case-insensitive way (#437563).
-
-2007-05-11 10:56:48 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/: Don't print a g_warning for any failure to load a shared object.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Don't print a g_warning for any failure to load a shared object.
-	  Instead, push this down into gstplugin.c, and warn _only_ if we
-	  failed to open the module (i.e. failure to link).
-	  Avoids warnings on normal, working, non-plugin .so files.
-
-2007-05-11 08:29:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstplugin.c (gst_plugin_load_file): gst/gstregistry.c (GST_CAT_DEFAULT, gst_registry_lookup_feature_locked, gst_r...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c (gst_plugin_load_file):
-	  * gst/gstregistry.c (GST_CAT_DEFAULT,
-	  gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
-	  Print a g_warning if there was an error when loading a plugins during
-	  registry scan. The shuld help beginners starting with gst-plugin
-	  template.
-
-2007-05-10 15:21:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.*: Be smarter when calculating the current amount of data in the queue by measuring the dif...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_class_init),
-	  (update_time_level), (gst_queue_locked_flush),
-	  (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_push_one), (gst_queue_loop):
-	  * plugins/elements/gstqueue.h:
-	  Be smarter when calculating the current amount of data in the queue by
-	  measuring the difference between start and end timestamps (in running
-	  time) inside the queue. Fixes #432876.
-	  API: GstQueue::pushing to notify elements that we are pushing data again
-	  since the running signal is rather broken for this purpose.
-
-2007-05-10 12:40:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* common:
-	* plugins/elements/gstqueue.c:
-	  plugins/elements/gstqueue.c (_do_init, gst_queue_signals, gst_queue_base_init, gst_queue_init): use GST_BOILERPLATE
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
-	  gst_queue_base_init, gst_queue_init):
-	  use GST_BOILERPLATE
-
-2007-05-09 21:06:06 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/libgstreamer.def: Add new exported functions.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add new exported functions.
-	  * win32/vs6/grammar.dsp:
-	  Use grammar pre-generated files.
-
-2007-05-09 16:32:07 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/: Maintain API and ABI when --disable-parse is used. Now that we have an appropriate error code, we can just retu...
-	  Original commit message from CVS:
-	  Based on patch by: Peter Kjellerstedt  <pkj at axis com>
-	  * gst/Makefile.am:
-	  * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
-	  * gst/gstparse.h:
-	  * gst/gstutils.c: (gst_parse_bin_from_description):
-	  * gst/gstutils.h:
-	  Maintain API and ABI when --disable-parse is used. Now that
-	  we have an appropriate error code, we can just return NULL and the
-	  appropriate error when gst_parse_launch() is used despite it having
-	  been disabled (#342564).
-	  * tests/check/Makefile.am:
-	  * tests/check/pipelines/.cvsignore:
-	  * tests/check/pipelines/parse-disabled.c:
-	  Make sure these functions exist and return NULL plus a GError when
-	  --disable-parse is used.
-
-2007-05-09 10:01:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/benchmarks/: Set a good example and don't leak messages.
-	  Original commit message from CVS:
-	  * tests/benchmarks/complexity.c: (main):
-	  * tests/benchmarks/mass-elements.c: (main):
-	  Set a good example and don't leak messages.
-
-2007-05-06 18:27:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Correct fixxrefs options.
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  Correct fixxrefs options.
-	  * docs/plugins/Makefile.am:
-	  * docs/plugins/gstreamer-plugins-docs.sgml:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
-	  * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
-	  GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
-	  GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
-	  GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
-	  _GstCapsFilterClass, trans_class):
-	  * plugins/elements/gstelements.c (name, rank, type, _elements):
-	  * plugins/elements/gstidentity.c
-	  (gst_identity_check_imperfect_timestamp,
-	  gst_identity_check_imperfect_offset):
-	  Document capsfilter and add doc-blurb to identity.
-
-2007-05-04 12:37:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/controller/: Don't crash if someone tries to set an interpolation mode that is invalid or that isn't support...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode):
-	  * libs/gst/controller/gstinterpolation.c:
-	  Don't crash if someone tries to set an interpolation mode that
-	  is invalid or that isn't supported yet. Fixes #422295.
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Add a test case for the above.
-
-2007-05-03 16:44:34 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Properly set the last_stop position on GstSegment. This will only happen if there i...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
-	  Properly set the last_stop position on GstSegment. This will only happen
-	  if there is a buffer to push out.
-
-2007-05-03 14:58:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: always_in_place does not mean that the sink and source caps are the same! Make sure...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  always_in_place does not mean that the sink and source caps are the
-	  same! Make sure we don't blindly proxy the buffer_alloc in this case.
-
-2007-05-03 14:54:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  API: gst_base_src_query_latency(). Added method so that subclasses can easily get the latency values of the base sour...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
-	  (gst_base_src_default_query), (gst_base_src_get_range):
-	  * libs/gst/base/gstbasesrc.h:
-	  API: gst_base_src_query_latency(). Added method so that subclasses can
-	  easily get the latency values of the base source class.
-
-2007-05-03 09:24:58 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  tools/gst-inspect.c (print_implementation_info): Remove 0.8 cruft.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c (print_implementation_info):
-	  Remove 0.8 cruft.
-
-2007-05-02 17:09:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Don't create a customised man page based on the host architecture, describe the default registry path generic...
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-launch.1.in:
-	  Don't create a customised man page based on the host architecture,
-	  describe the default registry path generically. That way the man
-	  page is the same for all architectures and packagers have one
-	  multilib issue less to deal with. Fixes #434926.
-
-2007-05-02 15:14:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Fix documentation as spotted by rg on IRC.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Fix documentation as spotted by rg on IRC.
-
-2007-04-29 17:36:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstutils.c: Improve docs for gst_element_{link,unlink}.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Improve docs for gst_element_{link,unlink}.
-
-2007-04-29 14:04:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/README:
-	  update README
-	  Original commit message from CVS:
-	  update README
-
-2007-04-28 11:29:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Typo fixes; minor docs addition.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-overview.txt:
-	  * gst/gstevent.c:
-	  * gst/gsturi.c:
-	  * gst/gsturi.h:
-	  * libs/gst/base/gstbasesink.c:
-	  Typo fixes; minor docs addition.
-
-2007-04-27 08:30:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add gst_uri_protocol_is_supported(), which checks if an sink or src that supports a given URI protocol exists.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsturi.c: (get_element_factories_from_uri_protocol),
-	  (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
-	  * gst/gsturi.h:
-	  API: Add gst_uri_protocol_is_supported(), which checks if an sink
-	  or src that supports a given URI protocol exists.
-
-2007-04-27 07:34:10 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Set the location to NULL if "file://" is set as URI. Otherwise some random previous URI would stil...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
-	  Set the location to NULL if "file://" is set as URI. Otherwise
-	  some random previous URI would still be set if "file://" is
-	  set on an already used filesink/filesrc.
-
-2007-04-27 07:27:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Special case the "file://" URI as as this is used by some applications to test with gst_element_ma...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
-	  Special case the "file://" URI as as this is used by some
-	  applications to test with gst_element_make_from_uri if there's
-	  an element that supports the URI protocol.
-	  Also move the g_path_is_absolute() check for the location part
-	  of the URI to also check this for "file://localhost/bla" URIs.
-
-2007-04-26 10:00:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
-	  * gst/gstbuffer.h:
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST),
-	  (gst_buffer_suite):
-	  API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
-
-2007-04-26 07:32:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.*: Implement no-mmap alternative for registry reading. Do code cleanups.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
-	  (gst_registry_binary_load_pad_template),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  Implement no-mmap alternative for registry reading. Do code cleanups.
-	  Add more comments about avoiding strdups for all text data. Comments
-	  welcome.
-
-2007-04-25 12:30:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* gst/gstregistrybinary.h:
-	  gst/gstregistrybinary.h (GstBinaryPluginElement,
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.h (GstBinaryPluginElement,
-	  GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
-	  GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
-	  Comment structs and reformat to fix the build (that stuff should go
-	  into a priv. header).
-
-2007-04-25 11:44:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.*: Refactor so that we can implement multiple features. Add support for
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
-	  (gst_registry_binary_load_feature):
-	  * gst/gstregistrybinary.h:
-	  Refactor so that we can implement multiple features. Add support for
-	  TypeFindFactory features.
-
-2007-04-24 06:14:35 +0000  Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
-
-	  configure.ac: Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
-	  * configure.ac:
-	  Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
-
-2007-04-23 07:30:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstbin.c: Fix build with --gst-disable-gst-debug
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_element_set_state),
-	  (iterator_activate_fold_with_resync), (gst_bin_continue_func),
-	  (bin_handle_async_done), (gst_bin_handle_message_func):
-	  Fix build with --gst-disable-gst-debug
-
-2007-04-21 13:27:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasetransform.c: Make sure streaming has finished before calling the ::stop() vfunc, since that vfun...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
-	  Make sure streaming has finished before calling the ::stop() vfunc,
-	  since that vfunc might clear state which is being used in the
-	  streaming thread. This fixes a race that caused crashes in
-	  audioresample when shutting down a pipeline (#420106).
-
-2007-04-20 08:53:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: That was one byte missing.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  That was one byte missing.
-
-2007-04-20 08:39:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  2nd attempt to have a xml-less build as a joined effort of #413123 and #421480.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gstconfig.h.in:
-	  * gst/gstobject.c: (gst_object_class_init),
-	  (gst_signal_object_class_init):
-	  * gst/gstobject.h:
-	  2nd attempt to have a xml-less build as a joined effort of #413123
-	  and #421480.
-
-2007-04-20 08:21:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-tagreading.txt: Added open issues/thoughts to draft.
-	  Original commit message from CVS:
-	  * docs/design/draft-tagreading.txt:
-	  Added open issues/thoughts to draft.
-
-2007-04-19 14:32:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/: Update the prebuild parser sources.
-	  Original commit message from CVS:
-	  * gst/parse/grammar.tab.pre.c:
-	  * gst/parse/grammar.tab.pre.h:
-	  * gst/parse/lex._gst_parse_yy.pre.c:
-	  Update the prebuild parser sources.
-
-2007-04-19 14:23:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected.
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  And now fix the building of the flex sources. Now everything should
-	  work as expected.
-
-2007-04-19 14:06:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of...
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Now hopefully fix the build failures by setting proper rule
-	  dependencies and moving instead of copying.
-
-2007-04-19 10:43:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/benchmarks/: Total licensification.
-	  Original commit message from CVS:
-	  * tests/benchmarks/complexity.gnuplot:
-	  * tests/benchmarks/complexity.scm:
-	  * tests/benchmarks/mass-elements.gnuplot:
-	  * tests/benchmarks/mass-elements.scm:
-	  Total licensification.
-
-2007-04-19 10:22:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex.
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Fix the build by correcting the rule that gave wrong files to flex.
-
-2007-04-19 08:40:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/benchmarks/: Change licence to LGPL as granted by Benjamin and Andy.
-	  Original commit message from CVS:
-	  * tests/benchmarks/complexity.c:
-	  * tests/benchmarks/mass-elements.c:
-	  Change licence to LGPL as granted by Benjamin and Andy.
-
-2007-04-19 06:18:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150.
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Add correct grammar.tab.h dependency if compiling without new enough
-	  flex. Fixes #431150.
-
-2007-04-18 13:34:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated on...
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Fix typo and use outdated sources if the flex/bison sources are newer
-	  than the pregenerated ones but flex is too old. Print a warning in
-	  that case. This should fix the build on the build bot.
-
-2007-04-18 12:34:51 +0000  Marc-Andre Lureau <marcandre.lureau@gmail.com>
-
-	  gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg...
-	  Original commit message from CVS:
-	  Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
-	  * gst/parse/Makefile.am:
-	  * gst/parse/grammar.y:
-	  * gst/parse/parse.l:
-	  Make the parser reentrant and recursively callable. This requires flex
-	  >= 2.5.31, for older versions pregenerated sources are used as we
-	  can't bump the build dependency. Finally fixes #349180.
-	  * gst/gstparse.c: (gst_parse_launch):
-	  Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
-	  now anyway.
-	  * docs/gst/Makefile.am:
-	  * docs/gst/Makefile.am:
-	  * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
-	  (__gst_parse_strfree), (__gst_parse_link_new),
-	  (__gst_parse_link_free), (__gst_parse_chain_new),
-	  (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
-	  (gst_parse_element_set), (gst_parse_free_link),
-	  (gst_parse_found_pad), (gst_parse_perform_delayed_link),
-	  (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
-	  (_gst_parse_launch):
-	  * gst/parse/grammar.tab.pre.h:
-	  * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
-	  (yy_get_previous_state), (yy_try_NUL_trans), (input),
-	  (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
-	  (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
-	  (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
-	  (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
-	  (_gst_parse_yypop_buffer_state),
-	  (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
-	  (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
-	  (yy_fatal_error), (_gst_parse_yyget_extra),
-	  (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
-	  (_gst_parse_yyget_in), (_gst_parse_yyget_out),
-	  (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
-	  (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
-	  (_gst_parse_yyset_column), (_gst_parse_yyset_in),
-	  (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
-	  (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
-	  (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
-	  (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
-	  (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
-	  (_gst_parse_yyfree):
-	  If the installed flex version is too old use pre-generated parser
-	  sources. These pre-generated parser sources are always updated when
-	  the actual flex/bison sources change but require everybody who wants
-	  to change something in the parser to have flex >= 2.5.31 installed.
-
-2007-04-18 10:58:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Make --disable-nls to work
-	  Original commit message from CVS:
-	  * common/m4/gst-gettext.m4:
-	  * gst/gst-i18n-lib.h:
-	  Make --disable-nls to work
-
-2007-04-17 16:12:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstconfig.h.in: Revert previous change that broke the build.
-	  Original commit message from CVS:
-	  * gst/gstconfig.h.in:
-	  Revert previous change that broke the build.
-
-2007-04-17 14:36:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  MANPATH fix
-	  Original commit message from CVS:
-	  MANPATH fix
-
-2007-04-17 10:46:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Drop libxml2 dependency when building with
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/Makefile.am:
-	  * gst/gstconfig.h.in:
-	  Drop libxml2 dependency when building with
-	  --enable-binary-registry --disable-loadsave
-
-2007-04-16 21:41:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gstreamer.doap:
-	  fix the release date in the doap file
-	  Original commit message from CVS:
-	  fix the release date in the doap file
-
-2007-04-16 19:45:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistrybinary.*: Remove unnecessary <sys/mman.h> include which broke the win32 build with MingW; move include...
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  Remove unnecessary <sys/mman.h> include which broke the win32 build
-	  with MingW; move includes from header file to .c file, even if the
-	  header file isn't installed; use g_strerror() where UTF-8 strings
-	  are expected, such as in GST_DEBUG messages.
-
-2007-04-13 15:15:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Remove bogus addition for API I didn't end up keeping.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Remove bogus addition for API I didn't end up keeping.
-	  * libs/gst/base/gstbasesrc.h:
-	  Mention Since: 0.10.13 in the documentation.
-	  Add the API keyword to the previous ChangeLog entry.
-
-2007-04-13 14:18:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Allow basesrc derived classes to execute seeks in other formats by providing a prepare_seek_segment vmethod. Sub-clas...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_default_prepare_seek_segment),
-	  (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
-	  * libs/gst/base/gstbasesrc.h:
-	  Allow basesrc derived classes to execute seeks in other formats
-	  by providing a prepare_seek_segment vmethod. Sub-classes can choose
-	  to prepare the GstSegment in any format that their perform_seek method
-	  will be able to understand. The default implementation provides the
-	  old behaviour of attempting to convert the seek offsets to the
-	  configured native format.
-
-2007-04-13 11:53:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstelement.c: Don't output the same debug statement twice.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_state_func):
-	  Don't output the same debug statement twice.
-	  * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
-	  (gst_adapter_peek), (gst_adapter_take_buffer):
-	  Optimise the case where we have buffers at the head of the queue that
-	  can be joined quickly (because they're contiguous sub-buffers) by
-	  merging them together rather than copying data out into new memory.
-	  * gst/parse/grammar.y:
-	  * tests/check/pipelines/parse-launch.c:
-	  Fix a leak in an error path for parse_launch, and add a check
-	  for it to the testsuite.
-
-2007-04-13 11:20:48 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstmultiqueue.c: Don't deadlock when releasing a pad - gst_pad_set_active may try and take the multi...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
-	  Don't deadlock when releasing a pad - gst_pad_set_active may try
-	  and take the multiqueue lock too.
-
-2007-04-12 12:59:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsterror.*: API: add GST_CORE_ERROR_DISABLED (#392804).
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_core_errors_init):
-	  * gst/gsterror.h:
-	  API: add GST_CORE_ERROR_DISABLED (#392804).
-
-2007-04-12 10:32:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/faq/gst-uninstalled: don't get empty paths on the PATH variables
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  don't get empty paths on the PATH variables
-	  * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
-	  Don't format for the uncommon terminal width of 84 characters.
-
-2007-04-09 11:59:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-2007-04-09 08:17:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  don't format for the uncommon editor width of 84 characters
-	  Original commit message from CVS:
-	  don't format for the uncommon editor width of 84 characters
-
-2007-04-06 11:48:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Only try to select a different pipeline clock when we went back to
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (reset_stream_time),
-	  (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
-	  Only try to select a different pipeline clock when we went back to
-	  PAUSED and not when we merely got flushed.
-
-2007-04-05 16:17:24 +0000  Michael Smith <msmith@xiph.org>
-
-	  tools/gst-launch.1.in: fractions are better supported in gstreamer than ractions, so suggest using those.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  fractions are better supported in gstreamer than ractions, so
-	  suggest using those.
-
-2007-04-05 13:49:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/nl.po:
-	  update dutch
-	  Original commit message from CVS:
-	  update dutch
-
-2007-04-05 13:46:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: Added Danish translation.
-	  Original commit message from CVS:
-	  Submitted by: Mogens Jaeger <mogens@jaeger.tf>
-	  * po/LINGUAS:
-	  * po/da.po:
-	  Added Danish translation.
-
-2007-04-05 11:16:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Fix leak caused when refusing newsegment after EOS.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
-	  Fix leak caused when refusing newsegment after EOS.
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
-	  (gst_fake_sink_init), (gst_fake_sink_set_property),
-	  (gst_fake_sink_get_property), (gst_fake_sink_preroll),
-	  (gst_fake_sink_render), (gst_fake_sink_change_state):
-	  * plugins/elements/gstfakesink.h:
-	  Add num-buffers property to make the element generate EOS after a
-	  configurable amount of buffers.
-	  API: fakesink::num-buffers property.
-	  * tests/check/elements/fakesink.c: (GST_START_TEST),
-	  (fakesink_suite):
-	  Fix GstBus leak in test.
-	  Test for fakesink num-buffers.
-
-2007-04-05 10:10:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't accept anything after an EOS, return UNEXPECTED instead.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
-	  (gst_base_sink_change_state):
-	  Don't accept anything after an EOS, return UNEXPECTED instead.
-	  * tests/check/elements/fakesink.c: (GST_START_TEST),
-	  (fakesink_suite):
-	  Unit test for new EOS behaviour.
-
-2007-04-05 10:08:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Make padtemplates also work when they don't contain %s or %d.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_request_pad):
-	  Make padtemplates also work when they don't contain %s or %d.
-
-2007-04-05 10:06:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Improve _adjust_unlocked() so that it overflows less.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.c: (gst_clock_adjust_unlocked),
-	  (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
-	  * gst/gstclock.h:
-	  Improve _adjust_unlocked() so that it overflows less.
-	  Add gst_clock_unadjust_unlocked to convert from external time to
-	  internal time based on calibration.
-	  Add some more debug.
-	  API: GstClock::gst_clock_unadjust_unlocked()
-
-2007-04-03 11:02:41 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>
-
-	  plugins/elements/gstmultiqueue.c: Deactivate pads and free GstSingleQueue with gst_single_queue_free() when releasing...
-	  Original commit message from CVS:
-	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
-	  Deactivate pads and free GstSingleQueue with gst_single_queue_free()
-	  when releasing sink pad. Fixes #425400.
-
-2007-04-02 14:48:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/dynlink.txt: More work on proposal for new core api.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/dynlink.txt:
-	  More work on proposal for new core api.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasetransform.h:
-	  API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
-	  * libs/gst/controller/gstcontroller.c:
-	  (on_object_controlled_property_changed),
-	  (gst_controller_sync_values),
-	  (gst_controller_set_interpolation_mode):
-	  * libs/gst/controller/gstcontroller.h:
-	  Less verbose logging add docs for unimplemented parts and correctly
-	  return when using unavailable parts.
-
-2007-03-29 16:04:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstclock.c: Move all the debug to the CLOCK category, and associate it with the clock object.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
-	  Move all the debug to the CLOCK category, and associate it with
-	  the clock object.
-
-2007-03-29 15:53:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstadapter.c: Make take_buffer a bit quicker by removing redundant checks caused by calling gst_adapter...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
-	  Make take_buffer a bit quicker by removing redundant checks
-	  caused by calling gst_adapter_take.
-
-2007-03-28 18:38:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstmultiqueue.c: Don't leak GCond.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
-	  Don't leak GCond.
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/.cvsignore:
-	  * tests/check/elements/multiqueue.c: (setup_multiqueue),
-	  (GST_START_TEST), (multiqueue_suite):
-	  Add some dead simple unit tests for the 'multiqueue' element
-	  (some bits don't work yet and are disabled for now).
-
-2007-03-28 18:25:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelement.c: Make gst_element_get_request_pad() create request pads only for request pad templates and not for, ...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_request_pad),
-	  (gst_element_class_get_request_pad_template):
-	  Make gst_element_get_request_pad() create request pads only for
-	  request pad templates and not for, say, sometimes pad templates.
-
-2007-03-28 13:44:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-klass.txt: Add example that needs more thinking.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Add example that needs more thinking.
-	  * docs/design/draft-missing-plugins.txt:
-	  More thoughts about wtrapper plugins.
-	  * docs/random/ensonic/embedded.txt:
-	  * docs/random/ensonic/profiling.txt:
-	  More design work.
-
-2007-03-25 15:33:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Only push the segment events in the PLAYING state for live sources.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
-	  (gst_base_src_loop):
-	  Only push the segment events in the PLAYING state for live sources.
-
-2007-03-23 17:52:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpipeline.c: Modify the clock distribution path in PAUSED->PLAYING so that we never attempt to choose a new clo...
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Modify the clock distribution path in PAUSED->PLAYING so that we
-	  never attempt to choose a new clock unless we're actually leaving
-	  the PAUSED state for the first time. This prevents choosing a
-	  different clock when the state_change gets called for a 2nd time due
-	  to some element doing an async state change.
-
-2007-03-22 18:28:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstpad.c: Revert last commit. This needs some more thoughts.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
-	  (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
-	  (gst_pad_chain_unchecked), (gst_pad_push):
-	  Revert last commit. This needs some more thoughts.
-
-2007-03-22 17:12:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  gst/gstpad.c: Check in set_caps if the caps are compatible with the pad and remove two functions that are redundant n...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
-	  (gst_pad_chain_unchecked), (gst_pad_push):
-	  Check in set_caps if the caps are compatible with the pad and remove
-	  two functions that are redundant now. Fixes #421543.
-
-2007-03-22 12:31:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstsystemclock.c: Unref some more to make valgrind happy.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
-	  (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
-	  Unref some more to make valgrind happy.
-
-2007-03-22 11:58:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsystemclock.c: Fix anoying regression that survived a few releases. When adding an async entry while blocking ...
-	  Original commit message from CVS:
-	  * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
-	  (gst_system_clock_id_wait_jitter),
-	  (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
-	  Fix anoying regression that survived a few releases. When adding an
-	  async entry while blocking on a sync entry, the sync entry will unblock
-	  but still be busy, so it should continue to wait instead of returning
-	  _BUSY to the app.
-	  Add some comments here and there.
-	  * tests/check/gst/gstsystemclock.c: (mixed_thread),
-	  (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
-	  Add testcase for this.
-
-2007-03-22 11:19:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Handle errors from the clock sync better, only UNSCHEDULED indicates a
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Handle errors from the clock sync better, only UNSCHEDULED indicates a
-	  WRONG_STATE and can silently pause the task. All other cases should
-	  error out.
-
-2007-03-22 08:23:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
-	  Original commit message from CVS:
-	  Patch by: <syrjala at sci dot fi>
-	  * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
-	  Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
-	  Improve debugging.
-
-2007-03-21 18:13:40 +0000  Michael Smith <msmith@xiph.org>
-
-	  docs/pwg/advanced-types.xml: Fix some errors in the typefinding docs pointed out on irc.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Fix some errors in the typefinding docs pointed out on irc.
-
-2007-03-21 17:50:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstbasesrc.c: Clarify FIXME comment in the face of having added unlock_stop()
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c:
-	  Clarify FIXME comment in the face of having added unlock_stop()
-
-2007-03-21 11:52:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Prepare for release where we warn against possible app breakage in the case of live pipelines along wit...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
-	  Prepare for release where we warn against possible app breakage in the
-	  case of live pipelines along with an env var to enable/disable live
-	  preroll mode (GST_COMPAT=[no-]live-preroll).
-
-2007-03-20 14:25:15 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset): So we should use correct constants for checking...
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
-	  So we should use correct constants for checking for None offset.
-
-2007-03-20 14:17:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-block.txt: Mention the fact that the newly switched element should be set to at least PAUSED.
-	  Original commit message from CVS:
-	  * docs/design/part-block.txt:
-	  Mention the fact that the newly switched element should be set to at
-	  least PAUSED.
-
-2007-03-20 10:23:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gst.c: Fix compilation with registry disabled as spotted by Saur.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Fix compilation with registry disabled as spotted by Saur.
-
-2007-03-20 09:46:11 +0000  Olivier Crete <tester@tester.ca>
-
-	  gst/gstelement.c: Look at the pending state too when syncing the element state to the parent. Fixes #420133.
-	  Original commit message from CVS:
-	  Patch by: Olivier Crete <tester at tester dot ca>
-	  * gst/gstelement.c: (gst_element_sync_state_with_parent):
-	  Look at the pending state too when syncing the element state to the
-	  parent. Fixes #420133.
-
-2007-03-19 15:01:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/: Add ::unlock_stop to basesrc and basesink. This allows an opportunity for sub-classes to correctly cl...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
-	  (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_default_event), (gst_base_src_unlock_stop),
-	  (gst_base_src_deactivate):
-	  * libs/gst/base/gstbasesrc.h:
-	  Add ::unlock_stop to basesrc and basesink. This allows an opportunity
-	  for sub-classes to correctly clear any state they set trying to
-	  unlock, such as clearing out unlock commands from a command fd.
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
-	  (gst_fd_sink_render), (gst_fd_sink_unlock),
-	  (gst_fd_sink_unlock_stop):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
-	  (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
-	  (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
-	  Implement unlock_stop in fdsrc and fdsink.
-	  Implement seeking in fdsrc when a seekable fd is passed, as in
-	  gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
-
-2007-03-19 12:07:32 +0000  Evan Nemerson <evan@coeus.dash.group.com>
-
-	  gst/gstelement.c: Fix pad-added and pad-removed signal signatures so that the pad type is stated as GST_TYPE_PAD inst...
-	  Original commit message from CVS:
-	  Patch by: Evan Nemerson <evan at coeus dash group dot com>
-	  * gst/gstelement.c: (gst_element_class_init):
-	  Fix pad-added and pad-removed signal signatures so that the pad type is
-	  stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
-
-2007-03-19 10:47:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Add new element field and method.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add new element field and method.
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
-	  (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
-	  (gst_bin_recalc_state), (gst_bin_get_state_func),
-	  (gst_bin_element_set_state), (gst_bin_change_state_func),
-	  (gst_bin_continue_func), (bin_bus_handler),
-	  (bin_push_state_continue), (bin_handle_async_start),
-	  (bin_handle_async_done), (gst_bin_handle_message_func):
-	  Make async state changes a bit smarter by using new ASYNC_START and
-	  ASYNC_DONE messages. This reduces the number of times we run the state
-	  recalculation thread.
-	  Don't change state of element with a pending ASYNC_START message.
-	  Deprecate STATE_DIRTY messages.
-	  * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
-	  (gst_element_get_state_func), (gst_element_continue_state),
-	  (gst_element_lost_state), (gst_element_set_state_func),
-	  (gst_element_change_state):
-	  * gst/gstelement.h:
-	  Keep the state that was last set by the app in a new element field.
-	  Don't allow state changes when handling an element event.
-	  Post ASYNC_START and ASYNC_DONE messages.
-	  Change lost_state so that we go to PAUSED and wait for the parent to set
-	  us to PLAYING again (so latency calculation can be performed)
-	  Export gst_element_change_state() method so that subclasses can use it.
-	  API: gst_element_change_state()
-	  API: GST_STATE_TARGET
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (reset_stream_time), (gst_pipeline_change_state),
-	  (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
-	  Using the new ASYNC_START message we can reset the base_time when
-	  needed. This can then be used to implement base_time redistribution in
-	  flushing seeks so that we can remove the explicit seek handling.
-	  Perform latency query and configuration when going to PLAYING.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_query), (gst_base_sink_change_state):
-	  Post new ASYNC_START/ASYNC_DONE messages.
-	  * tests/check/generic/sinks.c: (GST_START_TEST):
-	  Fix test because the bin will not set the async element to PLAYING right
-	  away.
-	  * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
-	  Make the message check a little stronger.
-	  Handle ASYNC messages.
-	  * tests/check/pipelines/cleanup.c: (GST_START_TEST):
-	  * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
-	  Expect ASYNC_DONE messages.
-
-2007-03-19 09:55:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add ASYNC_START and ASYNC_DONE messages to prepare for latency support.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.c: (gst_message_new_async_start),
-	  (gst_message_new_async_done), (gst_message_parse_info),
-	  (gst_message_parse_async_start):
-	  * gst/gstmessage.h:
-	  Add ASYNC_START and ASYNC_DONE messages to prepare for latency
-	  support.
-
-2007-03-15 22:33:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/design/part-synchronisation.txt:
-	  typos
-	  Original commit message from CVS:
-	  typos
-
-2007-03-15 12:37:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Now that we don't check for the 'Codec' keyword any longer in the klass, we shouldn't spew a war...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  (print_plugin_automatic_install_info_codecs):
-	  Now that we don't check for the 'Codec' keyword any longer in the
-	  klass, we shouldn't spew a warning if the klass isn't a decoder or
-	  encoder (since it might be a Source/Network, for example).
-
-2007-03-14 17:24:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Don't require decoder/demuxer/depayloader elements or encoder/muxer/paylader elements to have 'C...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  (print_plugin_automatic_install_info_codecs):
-	  Don't require decoder/demuxer/depayloader elements or
-	  encoder/muxer/paylader elements to have 'Codec' as part of their
-	  factory class string when introspecting a plugin's capabilities.
-	  draft-klass.txt mentions that it might be removed in future, and
-	  flump3dec doesn't have it as part of its class string, so chances
-	  are others might also not have it.
-
-2007-03-14 15:42:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/i18n:
-	  update i18n doc
-	  Original commit message from CVS:
-	  update i18n doc
-
-2007-03-14 15:17:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* plugins/elements/gstqueue.c:
-	  reformat
-	  Original commit message from CVS:
-	  reformat
-
-2007-03-14 15:15:45 +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/bg.po:
-	  * po/ca.po:
-	  * po/cs.po:
-	  * po/de.po:
-	  * po/en_GB.po:
-	  * po/fr.po:
-	  * po/it.po:
-	  * po/nb.po:
-	  * po/nl.po:
-	  * po/ru.po:
-	  * po/sq.po:
-	  * po/sr.po:
-	  * po/sv.po:
-	  * po/tr.po:
-	  * po/uk.po:
-	  * po/vi.po:
-	  * po/zh_CN.po:
-	  * po/zh_TW.po:
-	  Update translations from translation project
-
-2007-03-14 13:40:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstchildproxy.c: Invert precondition check to be alike the ones in the mimiced gobject api.
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.c: (gst_child_proxy_get_property),
-	  (gst_child_proxy_set_property):
-	  Invert precondition check to be alike the ones in the mimiced gobject
-	  api.
-
-2007-03-14 11:21:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/base/gstbasesink.c:
-	  fix misleading log statement
-	  Original commit message from CVS:
-	  fix misleading log statement
-
-2007-03-13 14:53:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: Do some Architect work.
-	  Original commit message from CVS:
-	  * docs/design/draft-tagreading.txt:
-	  * docs/random/ensonic/audiobaseclasses.txt:
-	  Do some Architect work.
-	  * gst/gstobject.c: (gst_object_set_name):
-	  Add a WARNING.
-	  * gst/gstpad.c:
-	  Add docs that point from gst_pad_get_range to gst_pad_pull_range
-
-2007-03-12 15:27:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstsystemclock.c: Defer starting the async system clock thread until the first async wait is scheduled. Fixes #41...
-	  Original commit message from CVS:
-	  * gst/gstsystemclock.c: (gst_system_clock_init),
-	  (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
-	  Defer starting the async system clock thread until the first async
-	  wait is scheduled. Fixes #414986.
-
-2007-03-12 14:23:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstmultiqueue.c: Fix small leak (free GstSingleQueue structure too, not only contents).
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
-	  (gst_single_queue_free):
-	  Fix small leak (free GstSingleQueue structure too, not only contents).
-
-2007-03-10 15:44:44 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gstbin.c: Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:(gst_bin_add):
-	  Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  Add new exported functions.
-
-2007-03-09 16:39:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/plugins/gstreamer-plugins-sections.txt: Fix GstTee docs.
-	  Original commit message from CVS:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  Fix GstTee docs.
-
-2007-03-09 16:30:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add metadata copy functions. Fixes #393099.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
-	  * gst/gstbuffer.h:
-	  Add metadata copy functions. Fixes #393099.
-	  * gst/gstutils.c: (gst_buffer_stamp):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer):
-	  Use new metadata copy functions.
-
-2007-03-09 14:20:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/elements/gstidentity.*: Separate out check-imperfect-timestamp and check-imperfect-offset.
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_init), (gst_identity_check_perfect),
-	  (gst_identity_check_imperfect_timestamp),
-	  (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
-	  (gst_identity_set_property), (gst_identity_get_property):
-	  * plugins/elements/gstidentity.h:
-	  Separate out check-imperfect-timestamp and check-imperfect-offset.
-	  Put back check-perfect as it was to keep compatibility.
-
-2007-03-09 12:34:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstelement.c: There's no need to warn if VOID_PENDING is not NONE here, as long as the state is NULL it's ok, and...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_dispose):
-	  There's no need to warn if VOID_PENDING is not NONE here, as
-	  long as the state is NULL it's ok, and that's checked immediately
-	  above.
-
-2007-03-08 17:58:57 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  plugins/elements/gstidentity.c: Fix check for perfect stream to ignore buffers with -1 offsets/offset ends when check...
-	  Original commit message from CVS:
-	  2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
-	  Fix check for perfect stream to ignore buffers with -1
-	  offsets/offset ends when checking data contiguity.
-
-2007-03-08 16:26:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Print INFO messages.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Print INFO messages.
-
-2007-03-08 11:40:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.*: Add support for dropping buffers with custom GstFlowReturn.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_eventfunc),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_chain),
-	  (gst_base_transform_activate):
-	  * libs/gst/base/gstbasetransform.h:
-	  Add support for dropping buffers with custom GstFlowReturn.
-	  Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
-	  buffers or dropped buffers.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  docs for new custom return code.
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Use drop support in base class to implement drop-probability.
-
-2007-03-07 17:26:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Remove newlines at end of debug log strings.
-	  Original commit message from CVS:
-	  * gst/gst.c: (load_plugin_func):
-	  * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
-	  * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
-	  * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
-	  Remove newlines at end of debug log strings.
-
-2007-03-07 17:14:53 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  plugins/elements/gstidentity.c: Only post bus message at max, once per buffer received.
-	  Original commit message from CVS:
-	  2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
-	  Only post bus message at max, once per buffer received.
-
-2007-03-07 17:13:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Add doc about synchronisation
-	  Original commit message from CVS:
-	  * docs/design/Makefile.am:
-	  * docs/design/part-synchronisation.txt:
-	  Add doc about synchronisation
-	  * docs/design/draft-latency.txt:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbus.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-live-source.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-streams.txt:
-	  * docs/design/part-trickmodes.txt:
-	  Documentation updates.
-
-2007-03-07 17:09:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gstreamer.doap: Update the doap file.
-	  Original commit message from CVS:
-	  * gstreamer.doap:
-	  Update the doap file.
-
-2007-03-07 17:02:51 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  plugins/elements/gstidentity.c: Rename non-perfect to imperfect for Mike and for the sanctity of the language.
-	  Original commit message from CVS:
-	  2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
-	  Rename non-perfect to imperfect for Mike and for the sanctity of
-	  the language.
-	  Also make sure bus message gets emitted for data-incontiguities.
-
-2007-03-07 16:58:42 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  plugins/elements/gstidentity.*: Emit bus message if check-perfect is true and we encounter a non-perfect stream betwe...
-	  Original commit message from CVS:
-	  2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
-	  (gst_identity_start):
-	  * plugins/elements/gstidentity.h:
-	  Emit bus message if check-perfect is true and we encounter a
-	  non-perfect stream between 2 consecutive buffers.
-	  Fixes #415394.
-
-2007-03-07 16:55:02 +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:44:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	  Release 0.10.12
-	  Original commit message from CVS:
-	  Release 0.10.12
-
-2007-03-07 16:31:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2007-03-07 12:51:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* common:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2007-03-01 18:46:36 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Version 0.10.11.2 (0.10.12 pre-release)
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Version 0.10.11.2 (0.10.12 pre-release)
-	  Bump libtool versioning.
-
-2007-03-01 14:49:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstbasesrc.c: Log flow-names and not numbers.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Log flow-names and not numbers.
-
-2007-02-28 19:25:48 +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 18:51:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't unref query twice.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
-	  Don't unref query twice.
-
-2007-02-28 16:57:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstvalue.c: Implement GstObject -> string transform so we print object names when serializing GValues containing ...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_transform_object_string),
-	  (_gst_value_initialize):
-	  Implement GstObject -> string transform so we print object names
-	  when serializing GValues containing GstObjects.
-
-2007-02-28 16:55:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Add new stuff to docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add new stuff to docs.
-
-2007-02-28 16:46:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Improve latency query code.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
-	  (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
-	  (gst_base_sink_change_state):
-	  Improve latency query code.
-	  Don't leak latency events.
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  Improve debugging.
-
-2007-02-28 16:43:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.*: Improve docs a little. Added Since: for new macro.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_message_full),
-	  (gst_element_get_state_func):
-	  * gst/gstelement.h:
-	  Improve docs a little. Added Since: for new macro.
-	  * gst/gstobject.c: (gst_object_sink):
-	  * gst/gstpipeline.c: (gst_pipeline_change_state),
-	  (gst_pipeline_set_new_stream_time):
-	  * gst/gstpipeline.h:
-	  Improve debugging and docs.
-	  * gst/gstutils.c: (gst_element_state_change_return_get_name):
-	  Improve debugging.
-
-2007-02-28 16:40:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Handle INFO messages from the GST_ELEMENT_INFO macro as well.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_message_full),
-	  (gst_element_set_locked_state), (gst_element_get_state_func),
-	  (gst_element_change_state):
-	  Handle INFO messages from the GST_ELEMENT_INFO macro as well.
-	  Documentation updates.
-	  Small code cleanups.
-	  * gst/gstmessage.c: (gst_message_new_info),
-	  (gst_message_parse_info):
-	  * gst/gstmessage.h:
-	  API: gst_message_new_info()
-	  API: gst_message_parse_info()
-	  Add INFO message create and parse code.
-
-2007-02-28 16:35:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Also report the live parameter of a latency query.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
-	  (bin_query_latency_done):
-	  Also report the live parameter of a latency query.
-
-2007-02-28 12:57:42 +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:43:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/Makefile.am:
-	  actually use the env var for tests
-	  Original commit message from CVS:
-	  actually use the env var for tests
-
-2007-02-28 12:40:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/generic/states.c: Copy the current generic/states example from -base and adapt so we can use the exact sa...
-	  Original commit message from CVS:
-	  * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
-	  Copy the current generic/states example from -base and adapt so
-	  we can use the exact same code everywhere.
-	  Check a STATES_IGNORE_ELEMENTS env var which can be used
-	  to ignore certain element factories for this test, which is
-	  what is being done in -base
-	  * tests/check/Makefile.am:
-	  Mention this environment variable.
-
-2007-02-27 17:22:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  API: gst_bus_timed_pop()
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
-	  (gst_bus_timed_pop), (gst_bus_pop):
-	  * gst/gstbus.h:
-	  API: gst_bus_timed_pop()
-	  Implement gst_bus_timed_pop() to do a blocking timed wait for a
-	  message to arrive on the bus.
-	  * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
-	  (gst_bus_suite):
-	  Two unit tests for new _timed_pop() function.
-
-2007-02-23 17:42:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Don't ref a NULL clock in _provide_clock_func().
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_change_state),
-	  (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
-	  Don't ref a NULL clock in _provide_clock_func().
-	  Don't allow an INVALID delay.
-	  Don't try to calculate base_time with an invalid start_time.
-	  Also distribute and notify a NULL clock when it was selected.
-	  * tools/gst-launch.c: (event_loop):
-	  Don't crash when a NULL clock was selected in the pipeline.
-
-2007-02-23 13:42:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/: Some small updates: update plugin system identifier prefix mention our new install
-	  Original commit message from CVS:
-	  * docs/design/Makefile.am:
-	  * docs/design/draft-missing-plugins.txt:
-	  * docs/random/draft-missing-plugins.txt:
-	  Some small updates: update plugin system identifier prefix
-	  ('gstreamer.net' to 'gstreamer'), mention our new install
-	  API in libgstbaseutils rather than libgimme-codec, add
-	  reference to the online docs.
-
-2007-02-21 15:35:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/common/config.h: Pretty sure Bill never made a powerpc version.  Powerpc hackers, use moap cl ci to only check ...
-	  Original commit message from CVS:
-	  * win32/common/config.h:
-	  Pretty sure Bill never made a powerpc version.  Powerpc hackers,
-	  use moap cl ci to only check in what is mentioned in the ChangeLog.
-
-2007-02-21 15:34:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Fix up documentation to link to the correct GstGError section.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.h:
-	  Fix up documentation to link to the correct GstGError section.
-	  Add GST_ELEMENT_INFO macro since someone else added a Info message.
-
-2007-02-21 15:30:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tools/gst-launch.c: Make sure that we actually show the important message part of a warning message.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Make sure that we actually show the important message part of a
-	  warning message.
-	  No need to check if the gerror is not NULL to free; first of all
-	  g_free accepts NULL; and second the default error handler would
-	  segfault if gerror was NULL.
-
-2007-02-21 12:10:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Removed docs as well.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Removed docs as well.
-
-2007-02-21 12:01:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.*: Remove new messages for release.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_parse_duration):
-	  * gst/gstmessage.h:
-	  Remove new messages for release.
-
-2007-02-20 18:02:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Make the ghostpad a parent of the internal pad again for better backward compatibility. Don't write code that relies ...
-	  Original commit message from CVS:
-	  * docs/design/part-gstghostpad.txt:
-	  * gst/gstghostpad.c: (gst_ghost_pad_dispose),
-	  (gst_ghost_pad_new_full):
-	  Make the ghostpad a parent of the internal pad again for better backward
-	  compatibility. Don't write code that relies on this however.
-	  * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
-	  (gst_pad_link_check_hierarchy):
-	  Require that parents should be GstElements in the hierarchy check.
-
-2007-02-20 10:45:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Improve debug info.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
-	  (gst_bin_change_state_func), (bin_query_min_max_init),
-	  (bin_query_latency_fold), (bin_query_latency_done),
-	  (gst_bin_query):
-	  Improve debug info.
-	  Implement latency query.
-
-2007-02-20 10:16:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Do not set the internal pad as a parent anymore so we can avoid hierarchy linking errors when the ghostpad has no par...
-	  Original commit message from CVS:
-	  * docs/design/part-gstghostpad.txt:
-	  * gst/gstghostpad.c: (gst_ghost_pad_class_init),
-	  (gst_ghost_pad_internal_do_activate_push),
-	  (gst_ghost_pad_internal_do_activate_pull),
-	  (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
-	  (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
-	  Do not set the internal pad as a parent anymore so we can avoid
-	  hierarchy linking errors when the ghostpad has no parent yet. This also
-	  fixes failed activation because of unlinked internal pads, which in
-	  turn fixes the impossible case where you have to activate a pad before
-	  you can add it to a running element.
-	  Also fix the docs.
-	  * gst/gstpad.c: (pre_activate), (post_activate),
-	  (gst_pad_set_active), (gst_pad_activate_pull),
-	  (gst_pad_activate_push), (gst_pad_check_pull_range):
-	  Add some more debug info.
-	  Mark activation mode in pre_activate so that we don't try to activate in
-	  endless loops. Fixes #385084.
-
-2007-02-19 18:08:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Implement a checkgetrange function instead of relying on the default core behaviour...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_check_get_range):
-	  Implement a checkgetrange function instead of relying on the default
-	  core behaviour that assumes we can operate in pull mode if we have a
-	  getrange function. First step at fixing #385084.
-
-2007-02-15 12:05:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  More docs coverage and some ChangeLog surgery (add missing names)
-	  Original commit message from CVS:
-	  * gst/gstchildproxy.h:
-	  * libs/gst/base/gstbasesink.h:
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasetransform.h:
-	  More docs coverage and some ChangeLog surgery (add missing names)
-
-2007-02-15 11:32:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Some doc updates. Start renaming from stream_time to running_time where it was used wrongly.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-activation.txt:
-	  * docs/design/part-block.txt:
-	  * docs/design/part-buffering.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-element-source.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstbus.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-live-source.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-qos.txt:
-	  * docs/design/part-query.txt:
-	  * docs/design/part-states.txt:
-	  * docs/design/part-trickmodes.txt:
-	  Some doc updates. Start renaming from stream_time to running_time where
-	  it was used wrongly.
-
-2007-02-15 09:07:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Answer LATENCY query.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
-	  Answer LATENCY query.
-
-2007-02-15 08:40:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstevent.c: Improve debugging.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstevent.c: (event_probe), (test_event),
-	  (GST_START_TEST):
-	  Improve debugging.
-
-2007-02-15 08:37:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Improve debugging of default pad dispatcher and query functions.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_internal_links_default),
-	  (gst_pad_dispatcher):
-	  Improve debugging of default pad dispatcher and query functions.
-
-2007-02-15 08:31:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Remove old unused method.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Remove old unused method.
-
-2007-02-13 15:51:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstsegment.c: Fix check
-	  Original commit message from CVS:
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  Fix check
-
-2007-02-13 15:34:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-seeking.txt: Some small update.
-	  Original commit message from CVS:
-	  * docs/design/part-seeking.txt:
-	  Some small update.
-	  * gst/gstsegment.c: (gst_segment_set_seek):
-	  Revert old bogus change that should make seeking work again.
-
-2007-02-13 14:52:47 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/: Possible dynamic reconnection api, plus some type fixes the other two docs.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/dynlink.txt:
-	  * docs/random/ensonic/interfaces.txt:
-	  * docs/random/ensonic/receipies.txt:
-	  Possible dynamic reconnection api, plus some type fixes the other two
-	  docs.
-
-2007-02-13 13:40:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Also check for an absolute path following file:// in the filesrc element. Remove redundant check a...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
-	  Also check for an absolute path following file:// in the filesrc
-	  element. Remove redundant check and call g_path_is_absolute() on the
-	  unescaped location.
-
-2007-02-13 09:10:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-klass.txt: Add existing category analysis.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Add existing category analysis.
-	  * gst/gstcaps.c:
-	  Fix doc example, framerate is a fraction.
-
-2007-02-12 19:55:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Add crossreferences to glib/gobject docs.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  * docs/plugins/Makefile.am:
-	  Add crossreferences to glib/gobject docs.
-
-2007-02-12 11:32:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Small update.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Small update.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_get_latency), (gst_base_sink_query_latency),
-	  (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
-	  (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
-	  (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
-	  (gst_base_sink_get_position), (gst_base_sink_query),
-	  (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  API: gst_base_sink_query_latency() to let subclasses query the upstream
-	  latency.
-	  API: gst_base_sink_get_latency() to let subclasses query the configured
-	  latency in the sink.
-	  Implement query and set latency.
-	  Update some docs.
-	  As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
-	  don't continue preroll when we are flushing. Fixes #405284.
-	  * tests/check/pipelines/stress.c: (change_state_timeout),
-	  (quit_timeout), (GST_START_TEST), (stress_suite):
-	  Test for #405284.
-
-2007-02-12 10:50:20 +0000  René Stadler <mail@renestadler.de>
-
-	  API: add GST_TAG_REFERENCE_LEVEL (#403597).
-	  Original commit message from CVS:
-	  Patch by: René Stadler <mail at renestadler de>
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_REFERENCE_LEVEL (#403597).
-
-2007-02-11 19:59:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/libs/Makefile.am: Fix path to core docs.
-	  Original commit message from CVS:
-	  * docs/libs/Makefile.am:
-	  Fix path to core docs.
-	  * gst/gstbin.c: (gst_bin_get_by_interface),
-	  (gst_bin_iterate_all_by_interface):
-	  Refix docs by also renaming 'interface' to 'iface' in implementation.
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstcaps.c:
-	  * gst/gstchildproxy.c: (gst_child_proxy_base_init):
-	  * gst/gstchildproxy.h:
-	  * gst/gstelementfactory.c:
-	  * gst/gstpadtemplate.h:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_new):
-	  Document more.
-
-2007-02-10 18:31:12 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gstbin.h: Replace interface parameter name by iface as interface is a reserved keyword in Visual Studio for C++ p...
-	  Original commit message from CVS:
-	  * gst/gstbin.h:(gst_bin_get_by_interface),
-	  (gst_bin_iterate_all_by_interface):
-	  Replace interface parameter name by iface as interface is
-	  a reserved keyword in Visual Studio for C++ projects so it removes
-	  a build error for application developpers using VS.
-	  * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
-	  Fix a bug on Windows in uri format check. Now the prefix checked
-	  is file:// and next we check if the path after file:// is absolute.
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstdataprotocol.def:
-	  * win32/common/libgstgstreamer.def:
-	  Add new exported functions.
-
-2007-02-09 15:25:45 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  tests/check/pipelines/simple-launch-lines.c
-	  Original commit message from CVS:
-	  2007-02-09  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/pipelines/simple-launch-lines.c
-	  (simple_launch_lines_suite, test_tee): Disable tee test until I
-	  have time to fix it :-(
-
-2007-02-09 13:59:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/check/: Add ABI checks for PPC32.
-	  Original commit message from CVS:
-	  2007-02-09  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/Makefile.am (noinst_HEADERS):
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
-
-2007-02-09 13:45:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/check/pipelines/simple-launch-lines.c (test_tee): Add tests for push and pull tee behavior.
-	  Original commit message from CVS:
-	  2007-02-09  Andy Wingo  <wingo@pobox.com>
-	  * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
-	  tests for push and pull tee behavior.
-	  * plugins/elements/gsttee.h:
-	  * plugins/elements/gsttee.c: Describe has-sink-loop better, and
-	  mark as deprecated as well as unimplemented. It was a crack idea.
-	  Add support for tee operating in pull mode, off by default.
-
-2007-02-09 13:41:24 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstregistryxml.c (load_feature, load_plugin): Drop some normal-case logs down to LOG, raise errors to WARNING.
-	  Original commit message from CVS:
-	  2007-02-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
-	  normal-case logs down to LOG, raise errors to WARNING.
-	  (gst_registry_xml_read_cache): Don't log before calling a function
-	  that logs.
-	  * gst/gstregistry.c (gst_registry_finalize): Less debug on program
-	  exit (registry finalize).
-	  (gst_registry_add_plugin, gst_registry_add_feature): No need for a
-	  DEBUG log when we emit signals that people don't even have the
-	  chance to connect to.
-	  (gst_registry_scan_path_level): Less logging in the normal case.
-
-2007-02-05 13:15:44 +0000  Michal Benes <michal.benes@itonis.tv>
-
-	  plugins/elements/gstfilesrc.c: Correctly generate EOS for non-seekable files. We don't have a total length for them a...
-	  Original commit message from CVS:
-	  Patch by: Michal Benes <michal dot benes at itonis dot tv>
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  Correctly generate EOS for non-seekable files. We don't have a total
-	  length for them and would get an unexpected end of file if we only
-	  special-cased for regular files. (Fixes: #404569)
-
-2007-02-05 08:15:26 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  tests/check/elements/filesrc.c: Add unit test for the GstURIHandler interface in filesrc. This also tests the newly a...
-	  Original commit message from CVS:
-	  * tests/check/elements/filesrc.c: (GST_START_TEST),
-	  (filesrc_suite):
-	  Add unit test for the GstURIHandler interface in filesrc. This also
-	  tests the newly added file://localhost/foo/bar support.
-
-2007-02-04 16:14:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelementfactory.h: The klass string is not a hierarchy. Add reference to the design doc for more information an...
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.h:
-	  The klass string is not a hierarchy. Add reference to the design doc
-	  for more information and common types.
-
-2007-02-02 18:08:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquery.c: Remove old structure field.
-	  Original commit message from CVS:
-	  * gst/gstquery.c: (gst_query_new_latency):
-	  Remove old structure field.
-
-2007-02-02 12:27:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/gst-launch.1.in: Give example for network streaming (#351998)
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Give example for network streaming (#351998)
-
-2007-02-02 11:48:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Add docs for new methods.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add docs for new methods.
-	  * gst/gstevent.c: (gst_event_new_latency),
-	  (gst_event_parse_latency):
-	  * gst/gstevent.h:
-	  Add new LATENCY event to configure latency in a pipeline.
-	  API: gst_event_new_latency
-	  API: gst_event_parse_latency
-	  * gst/gstmessage.c: (gst_message_new_buffering),
-	  (gst_message_new_lost_preroll), (gst_message_new_prerolled),
-	  (gst_message_new_latency), (gst_message_parse_buffering),
-	  (gst_message_parse_lost_preroll):
-	  * gst/gstmessage.h:
-	  Added messages used in draft-latency.
-	  API: gst_message_new_lost_preroll
-	  API: gst_message_parse_lost_preroll
-	  API: gst_message_new_prerolled
-	  API: gst_message_new_latency
-	  * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
-	  (gst_query_parse_latency):
-	  * gst/gstquery.h:
-	  Implemented new latency query as in design doc.
-	  API: gst_query_new_latency
-	  API: gst_query_set_latency
-	  API: gst_query_parse_latency
-
-2007-02-02 11:33:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Slight redesign to allow for dynamic latency adjustments.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Slight redesign to allow for dynamic latency adjustments.
-	  * docs/design/part-negotiation.txt:
-	  Fix some typos.
-
-2007-02-02 10:41:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  plugins/elements/: Allow file://localhost/foo/bar URLs and correctly fail for every other hostname that one sets. Thi...
-	  Original commit message from CVS:
-	  reviewed by: Wim Taymans <wim@fluendo.com>
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
-	  Allow file://localhost/foo/bar URLs and correctly fail for every other
-	  hostname that one sets. This was gnomevfssrc is linked for those if
-	  installed as it can handle it (#403172)
-
-2007-02-01 19:00:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gstcollectpads.*: Don't put the previously added destroy notify in the GstCollectData struct as all it'...
-	  Original commit message from CVS:
-	  reviewed by: Tim-Philipp Müller <tim at centricular dot net>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
-	  (unref_data), (gst_collect_pads_add_pad_full):
-	  * libs/gst/base/gstcollectpads.h:
-	  Don't put the previously added destroy notify in the GstCollectData
-	  struct as all it's padding is already used and we don't want to break
-	  ABI. Instead put in the pad's GObject data for now. This should be
-	  cleaned up for 0.11 (#402393).
-
-2007-02-01 17:52:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  API: Add function to specify a destroy notification for custom
-	  Original commit message from CVS:
-	  reviewed by: Wim Taymans <wim@fluendo.com>
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
-	  (unref_data), (gst_collect_pads_add_pad),
-	  (gst_collect_pads_add_pad_full):
-	  * libs/gst/base/gstcollectpads.h:
-	  API: Add function to specify a destroy notification for custom
-	  GstCollectData when adding new pads in GstCollectPads (#402393).
-
-2007-02-01 17:10:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  po/sv.po: Update Swedish translation (#378255).
-	  Original commit message from CVS:
-	  * po/sv.po:
-	  Update Swedish translation (#378255).
-
-2007-01-31 11:42:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-klass.txt: Fix the previous change, this is a list of categories and not a hierarchy.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Fix the previous change, this is a list of categories and not a hierarchy.
-
-2007-01-31 11:02:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/draft-klass.txt: Add info about how to get a list of used classes.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Add info about how to get a list of used classes.
-
-2007-01-30 19:12:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Don't leak found caps in chain function (no idea why that never showed up as a...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain_do_typefinding),
-	  (gst_type_find_element_change_state):
-	  Don't leak found caps in chain function (no idea why that never
-	  showed up as a leak anywhere).
-
-2007-01-30 15:04:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstplugin.h: Fix and expand GstPluginDesc API docs.
-	  Original commit message from CVS:
-	  * gst/gstplugin.h:
-	  Fix and expand GstPluginDesc API docs.
-
-2007-01-29 15:54:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  configure.ac: comment about refining the xml deps
-	  Original commit message from CVS:
-	  * configure.ac:
-	  comment about refining the xml deps
-	  * docs/manuals.mak:
-	  comments about moving away from jade for docs
-	  * gst/gst.c:
-	  recommit the ifdefs to use the binary registry
-	  * gst/gstbin.c: (gst_bin_change_state_func):
-	  this break is obsolete
-	  * gst/gstelementfactory.h:
-	  better GST_ELEMENT_DETAILS docs, add comment about translation
-	  * gst/gstinfo.h:
-	  remove eol slash
-	  * gst/gstobject.c: (gst_signal_object_get_type):
-	  add G_UNLIKELY as usual
-	  * gst/gstpad.c: (gst_pad_event_default):
-	  add fall trhu comment
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write),
-	  (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_save_string),
-	  (gst_registry_binary_save_pad_template),
-	  (gst_registry_binary_save_feature),
-	  (gst_registry_binary_save_plugin),
-	  (gst_registry_binary_write_cache),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_load_pad_template),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  comment typo and formatting
-	  * gst/gstutils.c: (gst_element_state_get_name),
-	  (gst_element_state_change_return_get_name):
-	  remove obsolete breaks
-	  * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
-	  add FIXME 0.11 and remove cpp comment
-
-2007-01-29 15:02:11 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstregistrybinary.c: Fix print statement in an even more portable way.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
-	  Fix print statement in an even more portable way.
-
-2007-01-29 13:40:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_ROUND_DOWN_* macros (#401781).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.h:
-	  API: add GST_ROUND_DOWN_* macros (#401781).
-
-2007-01-27 18:44:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Document registry signals and make gtk-doc pick them up (#401381).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types.in:
-	  * gst/gstregistry.c: (gst_registry_class_init):
-	  Document registry signals and make gtk-doc pick them up (#401381).
-
-2007-01-26 18:24:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/building-testapp.xml: Add some audioconverts and audioresample to the pipeline, and some more comments and e...
-	  Original commit message from CVS:
-	  * docs/pwg/building-testapp.xml:
-	  Add some audioconverts and audioresample to the pipeline, and some
-	  more comments and error handling.
-
-2007-01-26 13:07:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/: Fix typo (#400987).
-	  Original commit message from CVS:
-	  * docs/manual/manual.xml:
-	  * docs/pwg/pwg.xml:
-	  Fix typo (#400987).
-
-2007-01-26 09:37:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Init caps flags too.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_static_caps_get):
-	  Init caps flags too.
-
-2007-01-25 17:54:07 +0000  Jindrich Makovicka <jindrich.makovick@itonis.tv>
-
-	  plugins/elements/gstfilesrc.c: If not using mmap'ed files try to seek to the end instead of the start to determine wh...
-	  Original commit message from CVS:
-	  Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_start):
-	  If not using mmap'ed files try to seek to the end instead of the
-	  start to determine whether we can seek at all. This fixes the case
-	  of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
-	  seeks for everything afterwards fail. Fixes #400656
-
-2007-01-25 17:41:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Add some refcount debugging.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
-	  Add some refcount debugging.
-	  Make gst_static_caps_get threadsafe, which is needed when autoplugging
-	  in multiple streaming threads.
-
-2007-01-25 10:50:03 +0000  David Schleef <ds@schleef.org>
-
-	  API: gst_adapter_copy() that can reduce the amount of memcpy when getting data from the adapter. Fixes #388201.
-	  Original commit message from CVS:
-	  Patch by: David Schleef <ds at schleef dot org>
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstadapter.c: (gst_adapter_copy):
-	  * libs/gst/base/gstadapter.h:
-	  API: gst_adapter_copy() that can reduce the amount of memcpy when
-	  getting data from the adapter. Fixes #388201.
-
-2007-01-25 10:14:09 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstregistrybinary.c: In print statements, "%x" is for guint. Fixes build on macosx.
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
-	  In print statements, "%x" is for guint. Fixes build on macosx.
-
-2007-01-24 11:32:00 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstmultiqueue.c: Small fix.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  (gst_multi_queue_loop):
-	  Small fix.
-	  (single_queue_overrun_cb), (single_queue_underrun_cb),
-	  (single_queue_check_full), (gst_single_queue_new):
-	  Implement single queue growth system.
-	  This uses the extra-size properties, and will grow single queues by
-	  that much if one goes full whereas there are others empty. This is
-	  called extra-mode in the code.
-	  When a single queue's levels go back below the initial max-size
-	  limits, it is no longer in extra-mode. This is to ensure we don't
-	  consume too much memory.
-	  Fixes #399875
-
-2007-01-23 13:50:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Make warning about late g_thread_init() calls a bit more explicit, so that it's more obvious to applicatio...
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_get_option_group):
-	  Make warning about late g_thread_init() calls a bit more explicit,
-	  so that it's more obvious to application developers what they need
-	  to do if a user files a bug against their application.
-
-2007-01-22 16:00:39 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstmultiqueue.c: Remove previous hack of unsetting the flushing flag for the source pad instead of a...
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c:
-	  (gst_multi_queue_src_activate_push), (gst_single_queue_new):
-	  Remove previous hack of unsetting the flushing flag for the source pad
-	  instead of activating it. Instead, fix the source pad activate function
-	  so that it no longer depends on having a parent set or not.
-
-2007-01-22 14:30:27 +0000  Carlos Sanmartin Dominguez <csanmartin@igalia.com>
-
-	  docs/manual/basics-bus.xml: Fix example code, gst_element_unref() doesn't exist any longer.
-	  Original commit message from CVS:
-	  Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
-	  * docs/manual/basics-bus.xml:
-	  Fix example code, gst_element_unref() doesn't exist any longer.
-
-2007-01-21 20:24:11 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  gst/gstpad.c: Fix two docs typoes (#399094).
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet be>
-	  * gst/gstpad.c:
-	  Fix two docs typoes (#399094).
-
-2007-01-19 09:15:21 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/faq/gst-uninstalled: Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins depending on libgstbaseu...
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
-	  depending on libgstbaseutils can work in uninstalled environment.
-
-2007-01-18 12:00:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: Add more docs regarding tag merge-modes and when to send tags. Fix 'since' statement for new tag.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  * gst/gsttagsetter.c:
-	  Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
-	  statement for new tag.
-
-2007-01-17 14:33:39 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstmultiqueue.c: When dynamically creating single queues, activate sinkpad before adding it.
-	  Original commit message from CVS:
-	  * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
-	  When dynamically creating single queues, activate sinkpad before adding
-	  it.
-	  We should be doing the same thing for the source pad, but we can't
-	  since it would call a method which needs the parent to be set in order
-	  to work propertly. Instead of activating the source pad, we just unset
-	  the flushing flag, which is the minimal requirement for adding a pad
-	  to an element in a state greater than READY.
-
-2007-01-17 14:26:46 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/faq/gst-uninstalled: Add DYLD_LIBRARY_PATH declarations so we can also use this script on
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  Add DYLD_LIBRARY_PATH declarations so we can also use this script on
-	  Mac OS X.
-
-2007-01-17 12:31:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: Add ABI structs for HPPA (see #393796).
-	  Original commit message from CVS:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_hppa.h:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_hppa.h:
-	  Add ABI structs for HPPA (see #393796).
-
-2007-01-16 09:57:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/gstcheck.c: Actually write ABI structs to the file specified in the GST_ABI environment variable, as t...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_abi_list):
-	  Actually write ABI structs to the file specified in the GST_ABI
-	  environment variable, as the message we print claims we would.
-
-2007-01-15 14:51:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gsttask.c: Fix header comment.
-	  Original commit message from CVS:
-	  * tests/check/gst/gsttask.c:
-	  Fix header comment.
-
-2007-01-15 14:39:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttaglist.c: Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my previous two entries.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
-	  previous two entries.
-
-2007-01-15 13:57:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  add tag support for beat-per-minute
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  add tag support for beat-per-minute
-
-2007-01-15 12:18:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistrybinary.*: use glib types, cleanup comments, impement interfaces and uri-types
-	  Original commit message from CVS:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write),
-	  (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_save_string), (gst_registry_binary_make_data),
-	  (gst_registry_binary_save_pad_template),
-	  (gst_registry_binary_save_feature),
-	  (gst_registry_binary_save_plugin),
-	  (gst_registry_binary_write_cache),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_load_pad_template),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  use glib types, cleanup comments, impement interfaces and uri-types
-
-2007-01-13 10:33:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow getrange() to return buffers with other caps, while we fi...
-	  Original commit message from CVS:
-	  2007-01-13  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
-	  getrange() to return buffers with other caps, while we fix
-	  demuxers and typefind, or otherwise change part-negotiation.txt.
-
-2007-01-12 21:13:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstbasetransform.c (gst_base_transform_activate): Factor start/stop into this private function instead ...
-	  Original commit message from CVS:
-	  2007-01-12  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
-	  Factor start/stop into this private function instead of partially
-	  in activate functions and partially in the change_state function.
-	  Fixes setup before the element has changed from READY->PAUSED, as
-	  is the case in pull-mode pipelines.
-	  (gst_base_transform_sink_activate_push)
-	  (gst_base_transform_src_activate_pull): Refactor to use
-	  gst_base_transform_activate().
-	  (gst_base_transform_change_state): Removed, not needed any more.
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
-	  Truncate before fixating.
-
-2007-01-12 18:06:29 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull): Don't set_caps() if the result of fixating is ANY, as it'...
-	  Original commit message from CVS:
-	  2007-01-12  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
-	  Don't set_caps() if the result of fixating is ANY, as it's not
-	  supported, and not necessary in the case of a link with no
-	  template caps on either side. Fixes tests/check/libs/basesrc in
-	  some pull-mode tests.
-
-2007-01-12 15:56:00 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate): (gst_base_transform_init, gst_base_transform_sink_activa...
-	  Original commit message from CVS:
-	  2007-01-12  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
-	  (gst_base_transform_init, gst_base_transform_sink_activate_push)
-	  (gst_base_transform_src_activate_pull):
-	  Track the activation mode.
-	  (gst_base_transform_setcaps): In pull mode, when activating the
-	  src pad, after activating the sink pad, activate the sink pad's
-	  peer, as discussed in part-negotiation.txt.
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
-	  vmethod, as in basesink.
-	  * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
-	  mode, first proxy the setcaps to the peer pad.
-	  (gst_base_sink_pad_fixate): Add a fixate function that calls the
-	  new fixate vmethod.
-	  (gst_base_sink_default_activate_pull): Rename from
-	  gst_base_sink_activate_pull.
-	  (gst_base_sink_negotiate_pull): New function, performs negotiation
-	  in pull mode before calling ::activate_pull().
-	  (gst_base_sink_pad_activate_pull): Actually call the activate_pull
-	  vmethod instead of the default implementation. I have no idea how
-	  this worked before. Negotiate before calling activate_pull.
-
-2007-01-12 15:48:00 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked sink pads in pull mode. In addition to being correc...
-	  Original commit message from CVS:
-	  2007-01-12  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
-	  sink pads in pull mode. In addition to being correct, fixes
-	  filesrc ! decodebin ! identity ! fakesink.
-	  (gst_pad_get_range, gst_pad_pull_range): Don't call
-	  gst_pad_set_caps() if the caps changes; instead error out with
-	  GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
-
-2007-01-12 15:39:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/design/part-negotiation.txt: Update with more policy.
-	  Original commit message from CVS:
-	  2007-01-12  Andy Wingo  <wingo@pobox.com>
-	  * docs/design/part-negotiation.txt: Update with more policy.
-
-2007-01-12 12:48:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/: Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it belongs.
-	  Original commit message from CVS:
-	  * libs/gst/check/gstbufferstraw.h:
-	  * libs/gst/check/gstcheck.h:
-	  Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
-	  belongs.
-
-2007-01-12 10:53:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: Add minimal unit test for beforementioned GstTagSetter bug.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
-	  (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
-	  (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
-	  (GST_START_TEST), (gst_tag_setter_suite):
-	  Add minimal unit test for beforementioned GstTagSetter bug.
-
-2007-01-12 10:48:49 +0000  René Stadler <mail@renestadler.de>
-
-	  gst/gsttagsetter.c: gst_tag_list_merge() returns a new list, so it's not the best idea to ingore its return value. Ef...
-	  Original commit message from CVS:
-	  Patch by: René Stadler <mail at renestadler dot de>
-	  * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
-	  gst_tag_list_merge() returns a new list, so it's not the best idea
-	  to ingore its return value. Effectively meant that tags could only
-	  be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
-	  Also add function guard to require a non-NULL taglist as input (has
-	  always been so due to gst_tag_list_copy(), just making it explicit).
-
-2007-01-11 15:03:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/draft-missing-plugins.txt: Some additions: mention new API that is supposed to be used at the various sta...
-	  Original commit message from CVS:
-	  * docs/random/draft-missing-plugins.txt:
-	  Some additions: mention new API that is supposed to be used at the
-	  various stages; short blob about new gst-inspect introspection
-	  option; mention potential future problem with plugins that have
-	  a dynamic list of elements (such as ladspa, pitfdll, libvisual).
-
-2007-01-11 14:16:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Add --print-plugin-auto-install-info option to gst-inspect, so we can introspect plugin files an...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  (print_plugin_automatic_install_info_codecs),
-	  (print_plugin_automatic_install_info_protocols),
-	  (print_plugin_automatic_install_info), (main):
-	  Add --print-plugin-auto-install-info option to gst-inspect, so we can
-	  introspect plugin files and get machine-parsable output that corresponds
-	  to the last bit of the missing-plugin installer string (small gotcha:
-	  doesn't take into account ranks).
-
-2007-01-11 13:45:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  commit binary registry (disabled by default, see #359653)
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
-	  (gst_registry_lookup_locked):
-	  * gst/gstregistry.h:
-	  * gst/gstregistrybinary.c: (gst_registry_binary_write),
-	  (gst_registry_binary_initialize_magic),
-	  (gst_registry_binary_save_string),
-	  (gst_registry_binary_save_pad_template),
-	  (gst_registry_binary_save_feature),
-	  (gst_registry_binary_save_plugin),
-	  (gst_registry_binary_write_cache),
-	  (gst_registry_binary_check_magic),
-	  (gst_registry_binary_load_pad_template),
-	  (gst_registry_binary_load_feature),
-	  (gst_registry_binary_load_plugin),
-	  (gst_registry_binary_read_cache):
-	  * gst/gstregistrybinary.h:
-	  * gst/gstregistryxml.c: (load_feature),
-	  (gst_registry_xml_read_cache):
-	  commit binary registry (disabled by default, see #359653)
-
-2007-01-11 10:48:59 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstpad.c: Fix 'make check' too.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpad.c: (test_get_allowed_caps):
-	  Fix 'make check' too.
-
-2007-01-10 21:24:08 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/design/part-negotiation.txt: Fix a typo, add a couple notes.
-	  Original commit message from CVS:
-	  2007-01-10  Andy Wingo  <wingo@pobox.com>
-	  * docs/design/part-negotiation.txt: Fix a typo, add a couple
-	  notes.
-
-2007-01-10 21:15:08 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/design/part-negotiation.txt: Update with, um, one way that pull-mode negotiation might work?
-	  Original commit message from CVS:
-	  2007-01-10  Andy Wingo  <wingo@pobox.com>
-	  * docs/design/part-negotiation.txt: Update with, um, one way that
-	  pull-mode negotiation might work?
-	  * gst/gstpad.h:
-	  * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
-	  that the pad must be a src pad; makes sense to call it the other
-	  way in pull mode, and the logic is symmetric anyway.
-
-2007-01-10 19:25:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesink.c: Include <stdio.h> for fseeko().
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c:
-	  Include <stdio.h> for fseeko().
-
-2007-01-10 10:21:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.*: Reserve LATENCY event.
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  Reserve LATENCY event.
-
-2007-01-09 18:09:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Updates.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Updates.
-
-2007-01-09 15:38:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Updates.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Updates.
-	  * gst/gstelement.h:
-	  * gst/gststructure.c:
-	  * gst/gsttrace.c:
-	  Small typo fixes.
-
-2007-01-09 14:38:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/.cvsignore: Ignore test-registry.xml as well.
-	  Original commit message from CVS:
-	  * tests/check/.cvsignore:
-	  Ignore test-registry.xml as well.
-
-2007-01-09 12:34:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: unref data at the end when we are done with the pad.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
-	  unref data at the end when we are done with the pad.
-
-2007-01-08 20:30:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_update_registry() (#391296).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
-	  (init_post), (gst_deinit), (gst_update_registry):
-	  * gst/gst.h:
-	  API: add gst_update_registry() (#391296).
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstregistry.c:
-	  * tests/check/gst/.cvsignore:
-	  Simple unit test for the above.
-
-2007-01-08 16:23:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistry.c: Plugin extension on HP-UX is .sl, add that to the list of approved plugin extensions (see #393796).
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  Plugin extension on HP-UX is .sl, add that to the list of approved
-	  plugin extensions (see #393796).
-	  * tests/check/gst/gstpad.c: (GST_START_TEST):
-	  ulong => gulong. Fixes compilation with HP-UX compiler.
-	  * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
-	  Fix compilation if valgrind headers are not available.
-
-2007-01-07 10:21:33 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/libgstreamer.def: Add new exported function.
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  Add new exported function.
-	  * win32/vs6/libgstbase.dsp:
-	  Add gstdataqueue.c to the build.
-	  * win32/vs6/libgstcoreelements.dsp:
-	  Add gstmultiqueue.c to the build.
-
-2007-01-06 17:18:03 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod, activate_pull(), providing for a way to specialize the pro...
-	  Original commit message from CVS:
-	  2007-01-06  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
-	  activate_pull(), providing for a way to specialize the process of
-	  spawning a thread to pull on the sink pad. There is a default
-	  implementation.
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
-	  (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
-	  (gst_base_sink_init): Renamed pad activation functions (inserting
-	  "_pad" in their names). Refactor to use the new activate_pull
-	  vmethod, as appropriate.
-	  (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
-	  default activate_pull function to start a task pulling from the
-	  sink pad, as before.
-
-2007-01-06 17:09:10 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps on the pads if necessary, as in push()/chain(). Update...
-	  Original commit message from CVS:
-	  2007-01-06  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
-	  on the pads if necessary, as in push()/chain(). Update docs.
-	  Shouldn't affect existing pull() usage as it is currently only
-	  being used on buffers without caps.
-
-2007-01-05 16:36:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Call g_thread_init() first thing in gst_init() / gst_check_init().
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
-	  (init_pre):
-	  Call g_thread_init() first thing in gst_init() / gst_check_init().
-	  When initialisation is done via gst_init_get_option_group() and
-	  GOption parsing, issue a warning if the GLib thread system has not
-	  been initialised yet by the time gst_init_get_option_group() is
-	  called, as it's quite likely other GLib functions such as
-	  g_option_context_new() have been called already then, and
-	  g_thread_init() must be called before any other GLib function. The
-	  application in question must be fixed in that case, since memory
-	  corruption might happen otherwise.
-	  We issue the warning because even if the GLib folks decide to work
-	  around the problem on their end in future, this is still an issue
-	  with all GLib versions >= 2.10.0, so we should warn until we depend
-	  on a GLib version we know to be safe.
-	  Update documentation as well.
-	  Closes bug #391278.
-
-2007-01-05 15:55:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Call g_thread_init() really really early, before any other GLib function (see #342564 and recent discussion o...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (main):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-typefind.c: (main):
-	  * tools/gst-xmlinspect.c: (main):
-	  Call g_thread_init() really really early, before any other GLib
-	  function (see #342564 and recent discussion on gtk-devel-list).
-
-2007-01-05 13:23:02 +0000  Vincent Torri <vtorri@univ-evry.fr>
-
-	  gst/: On win32, all the __declspec stuff for symbol exporting is apparently only needed with MSVC, but doesn't work w...
-	  Original commit message from CVS:
-	  Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
-	  * gst/gst_private.h:
-	  * gst/gstconfig.h.in:
-	  * gst/gstinfo.h:
-	  On win32, all the __declspec stuff for symbol exporting is
-	  apparently only needed with MSVC, but doesn't work with MingW.
-	  Fixes compilation with MingW and #391909.
-
-2007-01-05 11:57:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.c: Change some GST_ERROR_OBJECT that aren't really errors to
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
-	  Change some GST_ERROR_OBJECT that aren't really errors to
-	  GST_WARNING_OBJECT in order to reduce terminal spam.
-
-2007-01-04 13:54:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/Makefile.am: disable test again, as there seem to be still race problems
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  disable test again, as there seem to be still race problems
-
-2007-01-04 13:37:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/: enable queue test again, add tests for the leaky behaviour
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
-	  (GST_START_TEST), (queue_suite):
-	  enable queue test again, add tests for the leaky behaviour
-
-2007-01-02 17:01:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Compile adapter test/example only if the required headers are available (fixes #391915).
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * tests/examples/Makefile.am:
-	  Compile adapter test/example only if the required headers are
-	  available (fixes #391915).
-
-2007-01-02 09:31:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstvalue.c:
-	  tell us what's not implemented
-	  Original commit message from CVS:
-	  tell us what's not implemented
-
-2007-01-02 09:31:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  bump to CVS
-	  Original commit message from CVS:
-	  bump to CVS
-
-2007-01-02 06:14:06 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstplugin.c: Restore the previous signal handler for SIGSEGV instead of setting to default, since we may have sto...
-	  Original commit message from CVS:
-	  * gst/gstplugin.c:
-	  Restore the previous signal handler for SIGSEGV instead of
-	  setting to default, since we may have stolen it away from
-	  someone.  (i.e., Mono)
-
-2006-12-26 15:55:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/draft-missing-plugins.txt: Some small additions and clarifications.
-	  Original commit message from CVS:
-	  * docs/random/draft-missing-plugins.txt:
-	  Some small additions and clarifications.
-
-2006-12-26 15:06:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistryxml.c: Make sure we don't pass non-UTF-8 strings to g_markup_escape(), since that can lead to random m...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (gst_registry_save_escaped):
-	  Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
-	  since that can lead to random memory corruptions and crashes
-	  (may or may not be related to #383244, #386711, and #386711).
-
-2006-12-21 15:54:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/: sync .cvsignome and CLEANFILES
-	  Original commit message from CVS:
-	  * tests/check/.cvsignore:
-	  * tests/check/Makefile.am:
-	  sync .cvsignome and CLEANFILES
-
-2006-12-21 15:32:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/Makefile.am: fix distcheck
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  fix distcheck
-
-2006-12-21 15:00:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/part-states.txt: two tiny additional comments
-	  Original commit message from CVS:
-	  * docs/design/part-states.txt:
-	  two tiny additional comments
-	  * gst/gststructure.c:
-	  doc fixing
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
-	  (GST_START_TEST):
-	  disable test for now, unless it gets fixed
-
-2006-12-21 14:24:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/elements/queue.c: fix race in underrun test
-	  Original commit message from CVS:
-	  * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
-	  (GST_START_TEST):
-	  fix race in underrun test
-
-2006-12-21 09:58:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/elements/.cvsignore: ignore more
-	  Original commit message from CVS:
-	  * tests/check/elements/.cvsignore:
-	  ignore more
-	  * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
-	  (GST_START_TEST):
-	  try to narrow test failure
-
-2006-12-21 09:37:56 +0000  David Schleef <ds@schleef.org>
-
-	  plugins/elements/gstfakesrc.c: Use g_random_int_range(), since it produces better random numbers in a range than almo...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesrc.c:
-	  Use g_random_int_range(), since it produces better random
-	  numbers in a range than almost-correct floating point code.
-
-2006-12-21 08:12:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/check/gstcheck.c: do not automatically (de)activate pads
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
-	  (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
-	  (gst_check_teardown_sink_pad):
-	  do not automatically (de)activate pads
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
-	  (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
-	  add new, yet simple tests for queue
-	  * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
-	  * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
-	  * tests/check/elements/filesrc.c: (cleanup_filesrc),
-	  (GST_START_TEST):
-	  * tests/check/elements/identity.c: (cleanup_identity):
-	  consistent pad (de)activation
-
-2006-12-20 19:06:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
-
-	  libs/gst/base/gstcollectpads.c: Fix two doc typos (#387866).
-	  Original commit message from CVS:
-	  Patch by: Sebastian Dröge  <slomo ubuntu com>
-	  * libs/gst/base/gstcollectpads.c:
-	  Fix two doc typos (#387866).
-
-2006-12-19 15:06:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-dparams.xml: Fix typo (g_object_control_properties() doesn't exist).
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dparams.xml:
-	  Fix typo (g_object_control_properties() doesn't exist).
-
-2006-12-19 12:38:00 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstsegment.c: Fine tune the cases where the segment start/stop values are really updated.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_seek):
-	  Fine tune the cases where the segment start/stop values are really
-	  updated.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  Add tests for the return values of gst_segment_set_seek().
-
-2006-12-19 11:04:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Docs typo fix.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Docs typo fix.
-	  * plugins/elements/gstqueue.c: (gst_queue_class_init),
-	  (gst_queue_init):
-	  Fix incorrect documentation and flesh it out a bit more.
-	  Set default values for the max properties on the GParamSpec as well,
-	  so it shows up correctly in gst-inspect.
-
-2006-12-18 16:01:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gstqueue.c: Correct docs of queue, add more detail and crosslink it more.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (queue_leaky_get_type):
-	  Correct docs of queue, add more detail and crosslink it more.
-
-2006-12-16 19:33:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstidentity.c: Print additional debug info when the stream isn't perfectly timestamped; don't try to...
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
-	  Print additional debug info when the stream isn't perfectly
-	  timestamped; don't try to use invalid durations.
-
-2006-12-16 16:14:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/design/Makefile.am: Dist new design docs.
-	  Original commit message from CVS:
-	  * docs/design/Makefile.am:
-	  Dist new design docs.
-
-2006-12-16 15:17:54 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  libs/gst/base/gstcollectpads.*: Add refcounting to the collectpads data so we can track when it's safe to free the da...
-	  Original commit message from CVS:
-	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
-	  * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
-	  (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_stop), (gst_collect_pads_event),
-	  (gst_collect_pads_chain):
-	  * libs/gst/base/gstcollectpads.h:
-	  Add refcounting to the collectpads data so we can track when it's safe
-	  to free the data. Fixes #383382.
-
-2006-12-15 17:09:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: Automatically activate/deactivate pads when they are added to a started/stoped collec...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
-	  (gst_collect_pads_remove_pad):
-	  Automatically activate/deactivate pads when they are added to a
-	  started/stoped collectpads.
-
-2006-12-15 16:01:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Set pads to FLUSHING when they are created. Check, warn and fix when a demuxer adds an inactive pad to itself w...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_add_pad):
-	  * gst/gstghostpad.c: (gst_ghost_pad_new_full):
-	  * gst/gstpad.c: (gst_pad_init):
-	  Set pads to FLUSHING when they are created. Check, warn and fix when a
-	  demuxer adds an inactive pad to itself when running. Fixes #339326.
-
-2006-12-15 15:49:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Expose default element send_event and query handling as vmethods that subclasses can chain up to.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_default_send_event), (gst_element_send_event),
-	  (gst_element_default_query), (gst_element_query):
-	  Expose default element send_event and query handling as vmethods that
-	  subclasses can chain up to.
-
-2006-12-15 15:39:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Small documentation fixes.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_set_state_func):
-	  Small documentation fixes.
-
-2006-12-15 15:26:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-latency.txt: Checked in draft for handling latency in pipelines.
-	  Original commit message from CVS:
-	  * docs/design/draft-latency.txt:
-	  Checked in draft for handling latency in pipelines.
-
-2006-12-15 00:16:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  adding .doap file
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  * gstreamer.doap:
-	  * gstreamer.spec.in:
-	  adding .doap file
-
-2006-12-14 14:06:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: init_pre() and init_post() might be called via our GOptionGroup or from gst_init(), and we should skip bot...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre), (init_post):
-	  init_pre() and init_post() might be called via our GOptionGroup or
-	  from gst_init(), and we should skip both of them if we've already
-	  been initialised, otherwise we will init some things twice or add
-	  two default log functions.
-
-2006-12-13 12:46:28 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/manual/basics-bus.xml: No, gst_main_loop does not exist. Its g_main_loop.
-	  Original commit message from CVS:
-	  * docs/manual/basics-bus.xml:
-	  No, gst_main_loop does not exist. Its g_main_loop.
-	  Discovered by somebody who abused the copy-paste technique of coding :)
-
-2006-12-13 11:05:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstghostpad.c: Log ghostpad debug stuff to the GST_PADS category as well rather than just to the default category.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c:
-	  Log ghostpad debug stuff to the GST_PADS category as well rather
-	  than just to the default category.
-
-2006-12-12 13:53:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add some basic system details such as OS and architecture to the debug output if possible, courtesy of uname().
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gst.c: (init_pre):
-	  Add some basic system details such as OS and architecture
-	  to the debug output if possible, courtesy of uname().
-
-2006-12-11 13:40:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/gst/running.xml: Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR environment variables.
-	  Original commit message from CVS:
-	  * docs/gst/running.xml:
-	  Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
-	  environment variables.
-
-2006-12-09 20:23:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/gst/gstbin.c: It is acceptable to have a refcount of 2 or 3 at this point in the test, because the pipeli...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  It is acceptable to have a refcount of 2 or 3 at this point in the
-	  test, because the pipeline might be just posting its state_change
-	  message. The next line then waits for that message to appear using
-	  bus_poll, so that should be fine too.
-
-2006-12-09 18:48:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gst.c: Ignore EINTR when reading from the child registry pipe.
-	  Original commit message from CVS:
-	  * gst/gst.c: (ensure_current_registry_forking):
-	  Ignore EINTR when reading from the child registry pipe.
-	  Explicitly ignore the return value from close, since it makes no
-	  difference.
-	  * gst/gstminiobject.c: (gst_mini_object_ref),
-	  (gst_mini_object_unref):
-	  When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
-	  * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
-	  When removing cached plugins, remove their features too, so they're
-	  not visible after they've disappeared.
-	  * gst/gstutils.c: (prepare_link_maybe_ghosting):
-	  In the unlikely case that we are linking pads with no parents, don't
-	  crash trying to get the non-existent parent bin.
-	  * gst/parse/grammar.y:
-	  Output debug in the PIPELINE category
-
-2006-12-08 16:12:44 +0000  René Stadler <mail@renestadler.de>
-
-	  gst/gstclock.c: Reject invalid clock times for interval of periodic ids.
-	  Original commit message from CVS:
-	  Patch by: René Stadler <mail at renestadler dot de>
-	  * gst/gstclock.c: (gst_clock_new_periodic_id):
-	  Reject invalid clock times for interval of periodic ids.
-	  Fixes ##383506.
-
-2006-12-07 12:11:14 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Fix refcounting of gst_plugin_feature_load to match the docs.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_create):
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_load):
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
-	  * tools/gst-inspect.c: (print_element_info):
-	  Fix refcounting of gst_plugin_feature_load to match the docs.
-	  Fixes: #380129
-
-2006-12-07 10:59:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Improve debugging of events.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
-	  (gst_base_sink_get_position):
-	  Improve debugging of events.
-
-2006-12-07 10:51:36 +0000  René Stadler <mail@renestadler.de>
-
-	  gst/gstclock.c: Make period ids add the interval to the origial requested time instead of the possibly updated time w...
-	  Original commit message from CVS:
-	  Patch by: René Stadler <mail at renestadler dot de>
-	  * gst/gstclock.c: (gst_clock_id_wait):
-	  Make period ids add the interval to the origial requested time instead
-	  of the possibly updated time which can be wrong when there are multiple
-	  waiters for the same id. Fixes #382592.
-	  * gst/gstsystemclock.c: (gst_system_clock_async_thread),
-	  (gst_system_clock_id_wait_jitter_unlocked),
-	  (gst_system_clock_id_wait_jitter):
-	  Fix restart in the async notify thread when an async entry is added to
-	  the front of the list. Fixes #381492.
-	  * tests/check/gst/gstsystemclock.c: (store_callback),
-	  (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
-	  Added test for multiple async waits.
-	  Added test for async wait order.
-
-2006-12-07 10:02:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Add some more docs about the POSITION query.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_query):
-	  Add some more docs about the POSITION query.
-
-2006-12-07 02:37:18 +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:33:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: releasing 0.10.11, "Love never runs on time"
-	  Original commit message from CVS:
-	  === release 0.10.11 ===
-	  2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
-	  * configure.ac:
-	  releasing 0.10.11, "Love never runs on time"
-
-2006-12-01 10:23:26 +0000  Sergey Scobich <sergey.scobich@gmail.com>
-
-	  win32/: Fix compilation on win32 under VS8
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  * win32/vs8/libgstbase.vcproj:
-	  * win32/vs8/libgstcoreelements.vcproj:
-	  * win32/vs8/libgstreamer.vcproj:
-	  Fix compilation on win32 under VS8
-	  Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
-	  Partially fixes #381175
-
-2006-11-30 22:55:08 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2006-11-29 16:39:32 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstvalue.c: If someone is foolish enough to compare 2 fractions with denominator = 0, return UNORDERED rather tha...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_compare_fraction):
-	  If someone is foolish enough to compare 2 fractions with denominator =
-	  0, return UNORDERED rather than aborting.
-
-2006-11-28 12:07:06 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/: New GstDataQueue object for threadsafe queueing. Most useful for elements that need some queueing fun...
-	  Original commit message from CVS:
-	  * libs/gst/base/Makefile.am:
-	  * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
-	  (gst_data_queue_base_init), (gst_data_queue_class_init),
-	  (gst_data_queue_init), (gst_data_queue_new),
-	  (gst_data_queue_cleanup), (gst_data_queue_finalize),
-	  (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
-	  (gst_data_queue_locked_is_full), (gst_data_queue_flush),
-	  (gst_data_queue_is_empty), (gst_data_queue_is_full),
-	  (gst_data_queue_set_flushing), (gst_data_queue_push),
-	  (gst_data_queue_pop), (gst_data_queue_drop_head),
-	  (gst_data_queue_set_property), (gst_data_queue_get_property):
-	  * libs/gst/base/gstdataqueue.h:
-	  New GstDataQueue object for threadsafe queueing. Most useful for
-	  elements that need some queueing functionnality.
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Insert documentation for GstDataQueue
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
-	  (gst_multi_queue_class_init), (gst_multi_queue_init),
-	  (gst_multi_queue_finalize), (gst_multi_queue_set_property),
-	  (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
-	  (gst_multi_queue_release_pad), (gst_single_queue_push_one),
-	  (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
-	  (gst_multi_queue_loop), (gst_multi_queue_chain),
-	  (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
-	  (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
-	  (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
-	  (gst_multi_queue_src_event), (gst_multi_queue_src_query),
-	  (wake_up_next_non_linked), (compute_next_non_linked),
-	  (single_queue_overrun_cb), (single_queue_underrun_cb),
-	  (single_queue_check_full), (gst_single_queue_new):
-	  * plugins/elements/gstmultiqueue.h:
-	  New multiqueue element, using GstDataQueue. Used for queuing multiple
-	  streams.
-	  Closes #344639 and #347785
-
-2006-11-22 12:29:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/pwg/advanced-types.xml: add more missing type details
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  add more missing type details
-	  * tools/gst-run.c: (main):
-	  remove unused variable
-
-2006-11-21 08:30:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/libs/: add types of base classes to enable gobject specific stuff in the docs
-	  Original commit message from CVS:
-	  * docs/libs/Makefile.am:
-	  * docs/libs/gstreamer-libs.types:
-	  add types of base classes to enable gobject specific stuff in the docs
-	  * docs/random/ensonic/embedded.txt:
-	  more ideas about isolating platform specific things
-
-2006-11-20 11:11:20 +0000  Sebastian Droege <slomo@ubuntu.com>
-
-	  libs/gst/check/gstcheck.h: Fix compilation and running against 0.9.4. Fixes #377332.
-	  Original commit message from CVS:
-	  Patch by: Sebastian Droege <slomo at ubuntu dot com>
-	  * libs/gst/check/gstcheck.h:
-	  Fix compilation and running against 0.9.4. Fixes #377332.
-
-2006-11-20 10:27:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Fix boundary checking in to_running_time() and to_stream_time().
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_seek),
-	  (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time):
-	  Fix boundary checking in to_running_time() and to_stream_time().
-	  Fixes #377183.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  stream and running time can now be calculated for the complete
-	  clipped segment.
-
-2006-11-15 17:38:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Can't access event structure after giving away ownership of the event.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_push_event):
-	  Can't access event structure after giving away ownership of
-	  the event.
-
-2006-11-15 13:00:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/: more thinking
-	  Original commit message from CVS:
-	  * docs/random/ensonic/embedded.txt:
-	  * docs/random/ensonic/profiling.txt:
-	  * docs/random/ensonic/receipies.txt:
-	  more thinking
-
-2006-11-13 18:03:35 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  gst/gstpad.c: Fix documentation for gst_pad_dispatcher. Fixes #374475.
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet dot be>
-	  * gst/gstpad.c:
-	  Fix documentation for gst_pad_dispatcher. Fixes #374475.
-
-2006-11-13 17:54:58 +0000  Jonathan Matthew <jonathan@kaolin.wh9.net>
-
-	  libs/gst/base/gstbasesrc.c: Store new length in segment duration so we don't keep on calling the potentially expensiz...
-	  Original commit message from CVS:
-	  Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
-	  Store new length in segment duration so we don't keep on calling the
-	  potentially expensize get_size() call. Fixes #370865.
-
-2006-11-10 18:56:44 +0000  Sergey Scobich <sergery.scobich@gmail.com>
-
-	  win32/common/libgstreamer.def: Add two missing symbols (#366492).
-	  Original commit message from CVS:
-	  Patch by: Sergey Scobich  <sergery.scobich at gmail com>
-	  * win32/common/libgstreamer.def:
-	  Add two missing symbols (#366492).
-
-2006-11-10 10:50:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstadapter.c: Fix format string to use all its arguments.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstadapter.c: (gst_adapter_flush),
-	  (gst_adapter_take_buffer):
-	  Fix format string to use all its arguments.
-	  Remove useless >= check on a guint
-
-2006-11-09 15:25:39 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/examples/adapter/.cvsignore: Ignore build file as commanded by the build-bot
-	  Original commit message from CVS:
-	  * tests/examples/adapter/.cvsignore:
-	  Ignore build file as commanded by the build-bot
-
-2006-11-09 14:38:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/examples/adapter/: Add new files from the previous commit
-	  Original commit message from CVS:
-	  * tests/examples/adapter/Makefile.am:
-	  * tests/examples/adapter/adapter_test.c: (run_test_take),
-	  (run_test_take_buffer), (run_tests), (main):
-	  Add new files from the previous commit
-
-2006-11-09 14:37:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Do some optimisation work in GstAdapter to avoid copies in more cases.
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  * configure.ac:
-	  * libs/gst/base/gstadapter.c: (gst_adapter_clear),
-	  (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
-	  (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
-	  * libs/gst/base/gstadapter.h:
-	  * tests/check/libs/adapter.c: (create_and_fill_adapter),
-	  (GST_START_TEST), (gst_adapter_suite):
-	  * tests/examples/Makefile.am:
-	  Do some optimisation work in GstAdapter to avoid copies in more cases.
-	  It could still do slightly better by merging buffers when
-	  gst_buffer_is_span_fast is true, but is already faster.
-	  Also, avoid traversing a single-linked list to append each incoming
-	  buffer inside the adapter.
-	  Add simple test app that times the adapter behaviour in different
-	  situations, and extend the unit test to check that bytes enter and
-	  exit the adapter in their original order.
-
-2006-11-08 19:27:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/draft-missing-plugins.txt: Update: use element message instead of adding a new message type to the core; ...
-	  Original commit message from CVS:
-	  * docs/random/draft-missing-plugins.txt:
-	  Update: use element message instead of adding a new message
-	  type to the core; don't provide GStreamer API to initiate the
-	  plugin download, just provide API to compose the strings needed
-	  and let an external libgimmestuff handle the rest.
-
-2006-11-08 11:41:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tools/gst-inspect.c: Print a string instead of 'unknown type' for GValueArray properties
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Print a string instead of 'unknown type' for GValueArray properties
-
-2006-11-08 10:35:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Fix Christian's email address in Changelog
-	  Original commit message from CVS:
-	  Fix Christian's email address in Changelog
-
-2006-11-08 02:04:52 +0000  Christian Schaller <uraeus@gnome.org>
-
-	  docs/random/draft-missing-plugins.txt: More small fixes.
-	  Original commit message from CVS:
-	  * docs/random/draft-missing-plugins.txt:
-	  More small fixes.
-
-2006-11-08 02:03:48 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/examples/typefind/typefind.c: Make typefind element example work again (#371894); add a license header.
-	  Original commit message from CVS:
-	  * tests/examples/typefind/typefind.c: (type_found), (main):
-	  Make typefind element example work again (#371894); add a
-	  license header.
-
-2006-11-08 01:40:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/random/draft-missing-plugins.txt: Commit initial draft about how to deal with missing plugins, needs work (API t...
-	  Original commit message from CVS:
-	  * docs/random/draft-missing-plugins.txt:
-	  Commit initial draft about how to deal with missing plugins,
-	  needs work (API too).
-
-2006-11-07 07:34:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/pwg/advanced-types.xml: documents the new caps elements (see #363118)
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  documents the new caps elements (see #363118)
-
-2006-11-06 17:53:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Use g_strerror() instead of strerror() - we want UTF-8.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
-	  (gst_file_src_map_region), (gst_file_src_start):
-	  * plugins/indexers/gstfileindex.c: (gst_file_index_load),
-	  (gst_file_index_commit):
-	  Use g_strerror() instead of strerror() - we want UTF-8.
-
-2006-11-06 17:25:01 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  plugins/elements/gstfdsrc.c: Another printf fix (#371493).
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis com>
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
-	  Another printf fix (#371493).
-
-2006-11-06 15:22:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/gst/gsttag.c: relicence (okay with author=company)
-	  Original commit message from CVS:
-	  * tests/check/gst/gsttag.c:
-	  relicence (okay with author=company)
-
-2006-11-06 15:18:57 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpad.c: Enhance debug and improve docs
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_event_default_dispatch),
-	  (gst_pad_push_event):
-	  Enhance debug and improve docs
-	  * gst/gsturi.c:
-	  Fix docs
-
-2006-11-06 15:17:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/: more ideas
-	  Original commit message from CVS:
-	  * docs/random/ensonic/distributed.txt:
-	  * docs/random/ensonic/profiling.txt:
-	  more ideas
-
-2006-11-06 15:14:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: add new API and fix the build
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  add new API and fix the build
-	  * gst/gstbin.c: (gst_bin_recalc_state):
-	  * gst/gstelement.c: (gst_element_message_full),
-	  (gst_element_get_state_func), (gst_element_set_state_func):
-	  use new API and improve logging
-	  * gst/gstutils.c: (gst_element_state_change_return_get_name):
-	  * gst/gstutils.h:
-	  API: add function to get StateChangereturn names to improve logs
-
-2006-11-06 12:01:27 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	* docs/random/zaheerm/dvb-interface.txt:
-	  Notes taken while discussing dvb channel selection with Wim
-	  Original commit message from CVS:
-	  Notes taken while discussing dvb channel selection with Wim
-
-2006-11-04 12:54:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/random/moving-plugins:
-	* plugins/elements/gstfilesrc.c:
-	  don't put strerror in translatable message
-	  Original commit message from CVS:
-	  don't put strerror in translatable message
-
-2006-11-03 15:04:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfdsrc.c: Get the type and printf conversion specifiers right.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
-	  Get the type and printf conversion specifiers right.
-
-2006-11-03 13:57:28 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  gst/gstpad.c: Some small cleanups. Improve debugging.
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet dot be>
-	  * gst/gstpad.c: (gst_pad_init), (pre_activate),
-	  (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
-	  (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
-	  Some small cleanups. Improve debugging.
-	  * gst/gstpad.h:
-	  Signal all waiting threads with a broadcast instead of just one.
-	  Fixes #369942.
-
-2006-11-03 09:40:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfdsrc.c: Add some debugging.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
-	  (gst_fd_src_create):
-	  Add some debugging.
-	  Only update fd when it's different from the old.
-
-2006-11-02 20:52:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesrc.c: Printf fixes for PPC/OSX, take two (#369366).
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
-	  Printf fixes for PPC/OSX, take two (#369366).
-
-2006-11-02 13:00:38 +0000  Jan David Mol <j.j.d.mol@tudelft.nl>
-
-	  plugins/elements/: Printf fixes for gsize parameters on PPC/OSX (#369366). Also, don't cast to long long for portabil...
-	  Original commit message from CVS:
-	  Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
-	  (gst_file_src_map_small_region), (gst_file_src_create_mmap):
-	  Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
-	  don't cast to long long for portability reasons, but use
-	  GLib's types instead.
-
-2006-10-30 18:43:12 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstfdsrc.c: Get the arguments to lseek() the right way around.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
-	  Get the arguments to lseek() the right way around.
-	  Fixes 367677.
-
-2006-10-30 07:51:13 +0000  gorshkov <gorshkov@oghma.on.ca>
-
-	  gst/gstinfo.h: _declspec should be __declspec (two underscores, not one). Fixes 366572.
-	  Original commit message from CVS:
-	  Patch by: gorshkov <gorshkov at oghma dot on dot ca>
-	  * gst/gstinfo.h:
-	  _declspec should be __declspec (two underscores, not one). Fixes 366572.
-
-2006-10-28 15:42:29 +0000  Kjartan Maraas <kmaraas@gnome.org>
-
-	  Typo fixes (#366212).
-	  Original commit message from CVS:
-	  Patch by: Kjartan Maraas  <kmaraas at gnome org>
-	  * docs/design/part-MT-refcounting.txt:
-	  * docs/random/wtay/capsnego2-docs:
-	  * gst/gstclock.c:
-	  * gst/gstxml.c:
-	  Typo fixes (#366212).
-
-2006-10-28 15:10:26 +0000  Sergey Scobich <sergey.scobich@gmail.com>
-
-	  Add needed entries in .def files.
-	  Original commit message from CVS:
-	  Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
-	  * gst/gst.c:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  * win32/vs8/libgstbase.vcproj:
-	  * win32/vs8/libgstcontroller.vcproj:
-	  Add needed entries in .def files.
-	  Use HAVE_UNISTD_H.
-	  Rearrange def files in vs8 solutions. Fixes #366286.
-
-2006-10-28 15:03:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/gstconfig.h: Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the hand-made win32 gstconfig.h. F...
-	  Original commit message from CVS:
-	  * win32/common/gstconfig.h:
-	  Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
-	  hand-made win32 gstconfig.h. Fixes #366321.
-
-2006-10-27 16:31:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Make acceptcaps return TRUE when we don't have a target, just like setcaps does.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
-	  (gst_ghost_pad_new_full):
-	  Make acceptcaps return TRUE when we don't have a target, just like
-	  setcaps does.
-
-2006-10-27 10:10:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
-	  Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
-
-2006-10-26 08:49:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: If someone tries to set a non-UTF8 string field on a structure, don't just print a warning, but a...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_id_set_value):
-	  If someone tries to set a non-UTF8 string field on a structure,
-	  don't just print a warning, but also ignore the request and do
-	  not change/add that field to the structure.
-	  * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
-	  Test for the above.
-
-2006-10-26 00:00:34 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstinfo.c: g_hash_table_insert() needs a cast to a non-const pointer duh.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  g_hash_table_insert() needs a cast to a non-const pointer duh.
-
-2006-10-25 23:47:40 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstinfo.*: Change name parameter of _gst_debug_register_funcptr to const to reflect the constness of its use in t...
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  Change name parameter of _gst_debug_register_funcptr to const
-	  to reflect the constness of its use in the function as well
-	  as to quiet a gcc warning.
-
-2006-10-25 13:41:44 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Don't push the buffer if it's empty.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
-	  Don't push the buffer if it's empty.
-	  Closes #363095
-
-2006-10-24 08:22:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.h: Add small comment.
-	  Original commit message from CVS:
-	  * gst/gstevent.h:
-	  Add small comment.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_eventfunc):
-	  Debug segment values *after* updating them as this is more
-	  interesting.
-
-2006-10-23 15:21:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-events.txt: Update some docs.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  Update some docs.
-	  * docs/design/part-block.txt:
-	  * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
-	  (gst_pad_push_event):
-	  Revert BLOCKING patch, it tries to be smart without really having a
-	  clear idea what or how. So, now we discard all FLUSHING events again on
-	  a blocking pad. Should fix gnonlin again.
-
-2006-10-23 14:51:30 +0000  Sergey Scobich <sergey.scobich@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Make sure size is always initialized. Fixes #364388.
-	  Original commit message from CVS:
-	  Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
-	  (gst_base_src_start), (gst_base_src_activate_push):
-	  Make sure size is always initialized. Fixes #364388.
-
-2006-10-20 11:36:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/distributed.txt: add some ideas about doing distributed processing
-	  Original commit message from CVS:
-	  * docs/random/ensonic/distributed.txt:
-	  add some ideas about doing distributed processing
-	  * docs/random/ensonic/profiling.txt:
-	  get_rusage look promising
-
-2006-10-18 19:43:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/manual/basics-helloworld.xml: Add a cast in example to fix compile warning
-	  Original commit message from CVS:
-	  * docs/manual/basics-helloworld.xml:
-	  Add a cast in example to fix compile warning
-
-2006-10-18 15:28:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Relax arg checking again, -1 is allowed.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_last_stop),
-	  (gst_segment_set_seek), (gst_segment_set_newsegment_full):
-	  Relax arg checking again, -1 is allowed.
-
-2006-10-18 13:27:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: _set_last_stop() must be with a value != -1
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_last_stop),
-	  (gst_segment_set_seek), (gst_segment_set_newsegment_full):
-	  _set_last_stop() must be with a value != -1
-	  A _TYPE_SET to -1 means seek to 0.
-	  Calc last_stop correctly for negative rates.
-	  Make sure we work with positive durations when updating a segment.
-
-2006-10-18 13:21:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Small docs fixes.
-	  Original commit message from CVS:
-	  * docs/design/part-live-source.txt:
-	  * gst/gstclock.h:
-	  Small docs fixes.
-
-2006-10-18 10:08:45 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbuffer.h: Add an explicit cast to GstBuffer** to keep old code that added an explicit cast to GstMiniObject** ...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Add an explicit cast to GstBuffer** to keep old code that added an
-	  explicit cast to GstMiniObject** for gst_mini_object_replace()
-	  compiling without warning.
-
-2006-10-18 08:54:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstvalue.c: check for validity of dates
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
-	  check for validity of dates
-
-2006-10-17 12:09:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/gst/gstreamer-sections.txt: Forgot this one, makes gtk-doc shut up.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Forgot this one, makes gtk-doc shut up.
-
-2006-10-17 11:57:32 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis com>
-	  * gst/gstobject.h:
-	  Don't define xmlNodePtr to gpointer if the core was built with
-	  --disable-loadsave and --disable-registry, this will break
-	  applications that want to use libxml2 but are buildling against a
-	  core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
-	  instead so we don't have to mess with the libxml2 namespace
-	  (#361675).
-
-2006-10-17 10:30:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related type-punned pointer warnings.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
-	  type-punned pointer warnings.
-
-2006-10-16 20:02:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelement.h: Add casts to the correct return type to state <=> state transition macros.
-	  Original commit message from CVS:
-	  * gst/gstelement.h:
-	  Add casts to the correct return type to state <=> state transition
-	  macros.
-
-2006-10-16 13:53:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/part-live-source.txt: describe howto handle latency
-	  Original commit message from CVS:
-	  * docs/design/part-live-source.txt:
-	  describe howto handle latency
-	  * docs/random/ensonic/profiling.txt:
-	  more ideas
-	  * tools/gst-plot-timeline.py:
-	  fix log parsing for solaris, remove unused function
-
-2006-10-16 11:46:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Update some docs regarding reverse playback.
-	  Original commit message from CVS:
-	  * docs/design/part-trickmodes.txt:
-	  * gst/gstevent.c:
-	  Update some docs regarding reverse playback.
-
-2006-10-15 12:47:13 +0000  Marcus Granado <mrc.gran@gmail.com>
-
-	  win32/vs8/grammar.vcproj: Error out with a warning if glib-genmarshal.exe is not in path, instead of creating bogus g...
-	  Original commit message from CVS:
-	  Patch by: Marcus Granado  <mrc dot gran at gmail com>
-	  * win32/vs8/grammar.vcproj:
-	  Error out with a warning if glib-genmarshal.exe is not in path,
-	  instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
-
-2006-10-13 16:09:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: When seeking to stop -1, set last_stop (current position) to the duration of the segment.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_seek):
-	  When seeking to stop -1, set last_stop (current position) to the
-	  duration of the segment.
-
-2006-10-13 13:27:46 +0000  Yves Lefebvre <ivanohe@abacom.com>
-
-	  gst/gstelement.h: Clarify _NO_PREROLL a bit more.
-	  Original commit message from CVS:
-	  * gst/gstelement.h:
-	  Clarify _NO_PREROLL a bit more.
-	  * gst/gstevent.c:
-	  Fix docs.
-	  * gst/gstpad.c: (gst_pad_link_check_hierarchy),
-	  (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
-	  (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
-	  Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
-	  due to wrong locking order. Fixes #361769.
-	  Remove some redundant/misplaced checks in pad_block.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  For negative rates, count backwards from the duration.
-
-2006-10-13 09:37:59 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsterror.c: Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come up with something better).
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_library_errors_init):
-	  Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
-	  up with something better).
-
-2006-10-12 22:35:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/: Don't reference glib-compat.c which is currently not used and not disted; add gstquark.c which was recently a...
-	  Original commit message from CVS:
-	  * win32/vs6/libgstreamer.dsp:
-	  * win32/vs7/libgstreamer.vcproj:
-	  * win32/vs8/libgstreamer.vcproj:
-	  Don't reference glib-compat.c which is currently not used and not
-	  disted; add gstquark.c which was recently added. Fixes #361730.
-
-2006-10-12 16:09:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/: Add gst_caps_merge() and a bunch of other recently-added functions.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstcontroller.def:
-	  * win32/common/libgstreamer.def:
-	  Add gst_caps_merge() and a bunch of other recently-added functions.
-	  Fixes #361732.
-
-2006-10-11 16:30:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/plugins/: Update element args.
-	  Original commit message from CVS:
-	  * docs/plugins/gstreamer-plugins.args:
-	  * docs/plugins/inspect/plugin-coreelements.xml:
-	  * docs/plugins/inspect/plugin-coreindexers.xml:
-	  Update element args.
-	  * gst/gstsystemclock.c:
-	  Small comment update.
-	  * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
-	  (gst_tee_request_new_pad), (gst_tee_release_pad),
-	  (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
-	  (gst_tee_sink_activate_pull):
-	  * plugins/elements/gsttee.h:
-	  Some tee loving:
-	  Add default property defines.
-	  Implement release pad function.
-	  Give properties better blubs etc.
-	  Activate pads before adding them to a running tee.
-	  Do simple buffer_alloc on the first requested pad.
-	  Post error when activation fails.
-
-2006-10-11 12:16:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Check return value of write() to make compiler happy.
-	  Original commit message from CVS:
-	  * gst/gst.c: (ensure_current_registry_forking):
-	  Check return value of write() to make compiler happy.
-
-2006-10-11 10:10:37 +0000  Sjoerd Simons <sjoerd@luon.net>
-
-	  plugins/elements/gstqueue.c: Recheck queue filledness after signalling the overrun when we're about to leak downstrea...
-	  Original commit message from CVS:
-	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
-	  * plugins/elements/gstqueue.c: (gst_queue_chain):
-	  Recheck queue filledness after signalling the overrun when we're about
-	  to leak downstream because we released the lock when emitting the signal
-	  and the queue could be empty again. Fixes #352345.
-
-2006-10-11 09:13:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/controller/gstcontroller.c: Fix refcounting here too, just like we did for _new_valist() a few days ago (#35...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
-	  Fix refcounting here too, just like we did for _new_valist() a few
-	  days ago (#357180) (thanks to René Stadler). Also remove all those
-	  'Since: 0.9' from the gtk-doc blobs.
-	  * tests/check/libs/controller.c: (controller_refcount_new_list),
-	  (gst_controller_suite):
-	  Unit test for the above.
-
-2006-10-10 14:47:40 +0000  Sebastien Cote <sebas642@yahoo.ca>
-
-	  gst/gstpad.c: Update some docs.
-	  Original commit message from CVS:
-	  Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
-	  * gst/gstpad.c: (gst_pad_get_caps_unlocked),
-	  (gst_pad_save_thyself):
-	  Update some docs.
-	  Write pad direction in XML output. Fixes #345496.
-
-2006-10-10 14:13:08 +0000  René Stadler <mail@renestadler.de>
-
-	  libs/gst/controller/gstcontroller.c: Take ref to controlled object so that it cannot disappear.
-	  Original commit message from CVS:
-	  Patch by: René Stadler <mail at renestadler dot de>
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
-	  (gst_controller_new_list), (_gst_controller_dispose),
-	  (_gst_controller_finalize), (_gst_controller_class_init):
-	  Take ref to controlled object so that it cannot disappear.
-	  Fixes #357432.
-
-2006-10-10 14:09:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/check/gstcheck.c: Activate/deactivate pads in setup/teardown respectively.
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
-	  (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
-	  (gst_check_teardown_sink_pad):
-	  Activate/deactivate pads in setup/teardown respectively.
-
-2006-10-10 12:12:44 +0000  Josep Torre Valles <josep@fluendo.com>
-
-	  gst/Makefile.am: Cast values when making gstenumtypes.h.  This pacifies Forte so it doesn't warn about the ~0 as GST_...
-	  Original commit message from CVS:
-	  2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  Patch by: Josep Torre Valles <josep@fluendo.com>
-	  * gst/Makefile.am:
-	  Cast values when making gstenumtypes.h.  This pacifies Forte
-	  so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
-	  in the enumeration.
-
-2006-10-09 17:15:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.c: Rename some more @cur to @start to fix docs.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
-	  Rename some more @cur to @start to fix docs.
-	  * gst/gstsegment.c: (gst_segment_set_seek):
-	  Fix typo.
-	  time and start must always stay in sync as defined in design doc.
-	  * gst/gsttaglist.c: (gst_tag_list_is_empty):
-	  Rename param to fix docs.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  Check that start and time are in sync.
-	  * tests/check/pipelines/parse-launch.c:
-	  (gst_parse_test_element_change_state):
-	  Activate pad before adding to the element.
-
-2006-10-09 16:33:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-qos.txt: Fix typo.
-	  Original commit message from CVS:
-	  * docs/design/part-qos.txt:
-	  Fix typo.
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  Update seek event docs regarding negative rates.
-	  Rename @cur to @start.
-	  * gst/gstsegment.c: (gst_segment_set_seek):
-	  * gst/gstsegment.h:
-	  Update set_seek docs regarding negative rates.
-	  Correctly update last_stop to @stop when dealing with negative
-	  rates.
-	  Rename @cur to @start.
-	  * tests/check/gst/gstpad.c: (GST_START_TEST):
-	  Activate pads before trying to use them.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST),
-	  (gst_segment_suite):
-	  Add simple check for segments and negative rates.
-
-2006-10-09 11:20:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_tag_list_is_empty() (#360467).
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (gst_tag_list_is_empty):
-	  * gst/gsttaglist.h:
-	  * docs/gst/gstreamer-sections.txt:
-	  API: add gst_tag_list_is_empty() (#360467).
-	  * tests/check/gst/gsttag.c: (GST_START_TEST):
-	  And a test case.
-
-2006-10-09 11:06:50 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  gst/gstmessage.h: Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having a value that doesn't fit on enumeration.
-	  Original commit message from CVS:
-	  2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * gst/gstmessage.h:
-	  Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
-	  a value that doesn't fit on enumeration.
-
-2006-10-09 10:14:28 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  libs/gst/net/gstnetclientclock.c: Remove local debugging system and use Gstreamer's instead.
-	  Original commit message from CVS:
-	  2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
-	  Remove local debugging system and use Gstreamer's instead.
-
-2006-10-09 09:32:29 +0000  Josep Torre Valles <josep@fluendo.com>
-
-	  common/m4/gst-error.m4: Disable warning of statement not reached on Forte.
-	  Original commit message from CVS:
-	  2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  Patch by: Josep Torre Valles <josep@fluendo.com>
-	  * common/m4/gst-error.m4:
-	  Disable warning of statement not reached on Forte.
-	  * gst/gstmessage.h:
-	  Fix warning on Forte (value doesn't fit on enumeration).
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
-	  Fix warning on Forte (value doesn't fit on enumeration).
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
-	  DEBUG macro says it takes minimum of 2 args and so Forte
-	  complains about the use with just 1 arg.
-	  * plugins/elements/gstfdsink.c:
-	  * plugins/elements/gstfdsrc.c:
-	  * plugins/elements/gstfilesink.c:
-	  * plugins/elements/gstfilesrc.c:
-	  Use correct return type for the uri handler implementations.
-	  All these fix warnings in Forte.  Fixes bug #360860.
-
-2006-10-08 13:27:17 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelement.h: gcc versions prior to gcc 3.3 apparently complain about a NULL printf format string, so don't use G...
-	  Original commit message from CVS:
-	  * gst/gstelement.h:
-	  gcc versions prior to gcc 3.3 apparently complain about a NULL printf
-	  format string, so don't use G_GNUC_PRINTF for those versions.
-
-2006-10-07 18:41:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.*: Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (gst_is_tag_list):
-	  * gst/gsttaglist.h:
-	  Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
-	  * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
-	  Small test for the above.
-
-2006-10-07 18:11:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.h: Less tabs, more spaces.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  Less tabs, more spaces.
-
-2006-10-06 17:21:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.h: Those two function declarations do actually belong there, revert commit from yesterday that turned the...
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  Those two function declarations do actually belong there, revert
-	  commit from yesterday that turned them intro macros.
-
-2006-10-06 14:46:04 +0000  Josep Torre Valles <josep@fluendo.com>
-
-	  gst/gst.c: Fix empty declaration and type mismatch.
-	  Original commit message from CVS:
-	  2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  Patch by: Josep Torre Valles <josep@fluendo.com>
-	  * gst/gst.c: (gst_init_get_option_group):
-	  Fix empty declaration and type mismatch.
-	  * gst/gstbin.c: (gst_bin_change_state_func):
-	  Fix type mismatch.
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_set_state_func), (gst_element_change_state),
-	  (gst_element_change_state_func):
-	  Fix type mismatches.
-	  * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
-	  (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
-	  Cast as appropriate.
-	  * gst/gstobject.c: (gst_class_signal_connect):
-	  Cast as appropriate.  The function pointer parameter really
-	  has the wrong type but would break API if we change it.
-	  * gst/gstquery.c:
-	  Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
-	  order of including string.h.
-	  * gst/gstutils.c: (gst_element_state_get_name):
-	  Remove unreachable line.
-	  * gst/gstxml.c: (gst_xml_parse_doc):
-	  Fix type mismatch.
-	  All these caught by Forte.
-
-2006-10-06 14:00:49 +0000  Josep Torre Valles <josep@fluendo.com>
-
-	  common/m4/gst-error.m4: Fixed bug #360151.
-	  Original commit message from CVS:
-	  2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  Patch by: Josep Torre Valles <josep@fluendo.com>
-	  * common/m4/gst-error.m4:
-	  Fixed bug #360151.
-	  We need to disable warnings on Forte for empty declarations
-	  due to gst-indent adding ;s to lines that just use macros
-	  where the macro actually doesn't need a ; at end to end
-	  statement.
-
-2006-10-06 13:01:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfilesink.c: Add some FIXME for the NEWSEGMENT handling.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
-	  (gst_file_sink_close_file), (gst_file_sink_event),
-	  (gst_file_sink_render):
-	  Add some FIXME for the NEWSEGMENT handling.
-
-2006-10-05 15:47:44 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  gst/parse/grammar.y: Remove static function gst_parse_element_lock as all it does is return.  Looks like cruft from 0.8.
-	  Original commit message from CVS:
-	  2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * gst/parse/grammar.y:
-	  Remove static function gst_parse_element_lock as all it does
-	  is return.  Looks like cruft from 0.8.
-
-2006-10-05 15:31:16 +0000  Josep Torre Valles <josep@fluendo.com>
-
-	  Fix a compilation issue with Forte on Solaris.  inet_aton is in libresolv.
-	  Original commit message from CVS:
-	  2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  Patch by: Josep Torre Valles <josep@fluendo.com>
-	  * common/m4/gst-error.m4:
-	  * configure.ac:
-	  * libs/gst/net/Makefile.am:
-	  Fix a compilation issue with Forte on Solaris.  inet_aton is in
-	  libresolv.
-
-2006-10-05 14:26:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  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-10-05 12:31:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know whether we can use G_GNUC_PRINTF in other header files ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstconfig.h.in:
-	  * gst/gstelement.h:
-	  * gst/gstinfo.h:
-	  Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
-	  whether we can use G_GNUC_PRINTF in other header files and at
-	  least check the printf format/arguments of debug messages and
-	  GST_ELEMENT_ERROR messages when the printf extension is not
-	  being used.
-	  Replace more tabs with spaces in gstinfo.h and remove two spurious
-	  function declarations in GST_DISABLE_DEBUG part with macros.
-
-2006-10-03 19:13:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: More docs for the sync-message signal (mention that it is not emitted by default); log message structur...
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
-	  More docs for the sync-message signal (mention that it is not
-	  emitted by default); log message structures of messages posted on
-	  the bus as well.
-
-2006-10-03 15:10:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gst.c: Use a pipe pair to receive status results from the forked child, and ignore the result from waitpid. Fixes...
-	  Original commit message from CVS:
-	  * gst/gst.c: (ensure_current_registry_forking):
-	  Use a pipe pair to receive status results from the forked child, and
-	  ignore the result from waitpid. Fixes #355499
-
-2006-10-02 16:46:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstghostpad.c: Fix leak in check.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST),
-	  (gst_ghost_pad_suite):
-	  Fix leak in check.
-
-2006-10-02 16:37:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
-
-2006-10-02 16:01:54 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/design/part-block.txt: Further explain the use of flushing on blocked pads.
-	  Original commit message from CVS:
-	  * docs/design/part-block.txt:
-	  Further explain the use of flushing on blocked pads.
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
-	  (gst_pad_push_event):
-	  * gst/gstpad.h:
-	  Added new GstPadFlag : GST_PAD_BLOCKING.
-	  Adds the notion of pads really blocking, which enables to properly
-	  handle FLUSH_START/FLUSH_STOP events on blocked pads.
-	  Fixes #358999
-	  API: gst_pad_is_blocking()
-	  API: GST_PAD_IS_BLOCKING() macro
-	  API: GST_PAD_BLOCKING GstPadFlag
-
-2006-10-02 10:06:17 +0000  mrcgran <mrc.gran@gmail.com>
-
-	  gst/gstghostpad.c: Filter the proxied caps against the padtemplate if we have one.
-	  Original commit message from CVS:
-	  Patch by: mrcgran <mrc.gran at gmail dot com>
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
-	  Filter the proxied caps against the padtemplate if we have one.
-	  * gst/gstquery.c: (gst_query_new_segment):
-	  Add include for gstinfo.h so that compilation with
-	  -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
-
-2006-10-02 09:44:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Give credit
-	  Original commit message from CVS:
-	  Give credit
-
-2006-10-02 09:41:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfilesink.c: Set file to NULL when closing filesink so that we can set a new filename in READY. Fi...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_init),
-	  (gst_file_sink_set_location), (gst_file_sink_open_file),
-	  (gst_file_sink_close_file), (gst_file_sink_event),
-	  (gst_file_sink_render):
-	  Set file to NULL when closing filesink so that we can set a new filename
-	  in READY. Fixes #358613.
-
-2006-10-02 08:37:24 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  gst/gstevent.c: Fix gst_mini_object_make_writable() and gst_event_copy() for events with event structures by setting ...
-	  Original commit message from CVS:
-	  Patch by: Alessandro Decina  <alessandro at nnva org>
-	  * gst/gstevent.c: (_gst_event_copy):
-	  Fix gst_mini_object_make_writable() and gst_event_copy() for events
-	  with event structures by setting the parent refcount address of the
-	  copied structure to the address of the refcount member of the newly
-	  copied event rather than the address of the refcount member of the
-	  original event. Fixes #358737.
-	  * tests/check/gst/gstevent.c: (GST_START_TEST):
-	  Unit test for the above.
-
-2006-09-29 20:29:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/Makefile.am: Dist some more files.
-	  Original commit message from CVS:
-	  * docs/design/Makefile.am:
-	  Dist some more files.
-
-2006-09-29 12:31:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/libs/controller.c: Add test for the previous fix; add some more tests for correct refcounting behaviour; ...
-	  Original commit message from CVS:
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Add test for the previous fix; add some more tests
-	  for correct refcounting behaviour; fix a few leaks
-	  in test cases; call gst_controller_init() at start
-	  of all tests.
-
-2006-09-29 12:24:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/controller/gstcontroller.c: Don't g_return_val_if_fail() on timed values with invalid timestamps inside a cr...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
-	  (gst_controller_set_from_list):
-	  Don't g_return_val_if_fail() on timed values with invalid timestamps
-	  inside a critical section without unlocking the mutex. Spotted by
-	  René Stadler. (#357617)
-	  Also, fix up refcounting properly: when returning an existing
-	  controller, we should increase the reference only once and not
-	  once per property and when trying to control a property again
-	  we should also increase the refcount.
-
-2006-09-29 08:22:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/net/: Stop reading commands when EOF as well.
-	  Original commit message from CVS:
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_thread):
-	  Stop reading commands when EOF as well.
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init):
-	  Unify description of the dump property.
-
-2006-09-28 17:20:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Mention bug number in previous commit
-	  Original commit message from CVS:
-	  Mention bug number in previous commit
-
-2006-09-28 15:52:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/examples/manual/.cvsignore: OK, so it's actually cvsignore that needs changing. Stop laughing.
-	  Original commit message from CVS:
-	  * tests/examples/manual/.cvsignore:
-	  OK, so it's actually cvsignore that needs changing. Stop laughing.
-
-2006-09-28 15:27:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/examples/manual/Makefile.am: Gah, declare vars *before* using them
-	  Original commit message from CVS:
-	  * tests/examples/manual/Makefile.am:
-	  Gah, declare vars *before* using them
-
-2006-09-28 14:00:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/: Re-commit the registry changes, along with an extra fix:
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre), (scan_and_update_registry),
-	  (ensure_current_registry_nonforking),
-	  (ensure_current_registry_forking), (ensure_current_registry),
-	  (init_post), (gst_debug_help), (gst_deinit):
-	  * gst/gst_private.h:
-	  * gst/gstregistry.c: (gst_registry_finalize),
-	  (gst_registry_remove_features_for_plugin_unlocked),
-	  (gst_registry_remove_plugin), (gst_registry_scan_path_level),
-	  (gst_registry_scan_path),
-	  (_priv_gst_registry_remove_cache_plugins),
-	  (_priv_gst_registry_cleanup):
-	  * gst/gstregistry.h:
-	  Re-commit the registry changes, along with an extra fix:
-	  When a cached plugin is encountered at a different file path,
-	  update the stored path in the registry cache so that the parent
-	  process knows where it actually is now when it re-reads the registry
-	  cache. Fixes the thing that broke distcheck with the previous commit.
-	  * tests/check/Makefile.am:
-	  Clean up files named 'core' too when running make clean.
-	  * tests/examples/manual/Makefile.am:
-	  Set up a registry path for running these tests, and clean it properly
-	  for distcheck.
-
-2006-09-28 11:11:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we want gmodule-no-export-2.0.pc instea...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
-	  want gmodule-no-export-2.0.pc instead so that we don't drag in
-	  --export-dynamic on every project that links to GStreamer.
-	  Also, make our export regex only match the start of symbols, rather
-	  than any symbol that contains '_gst' somewhere.
-	  * libs/gst/check/Makefile.am:
-	  The libgstcheck we build does however need export-dynamic, as it
-	  produces some symbols that don't match our _gst... style regex.
-
-2006-09-27 17:42:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/: Revert previous change until I figure out why it breaks distcheck.
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre), (scan_and_update_registry),
-	  (ensure_current_registry_nonforking),
-	  (ensure_current_registry_forking), (ensure_current_registry),
-	  (init_post), (gst_debug_help), (gst_deinit):
-	  * gst/gst_private.h:
-	  * gst/gstregistry.c: (gst_registry_finalize),
-	  (gst_registry_remove_plugin), (gst_registry_scan_path_level),
-	  (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
-	  (_gst_registry_cleanup):
-	  * gst/gstregistry.h:
-	  Revert previous change until I figure out why it breaks distcheck.
-
-2006-09-27 16:52:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gst.c: Make init_pre and init_post take the full complement of GOptionFunc args so they can return useful GErrors...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre), (scan_and_update_registry),
-	  (ensure_current_registry_nonforking),
-	  (ensure_current_registry_forking), (ensure_current_registry),
-	  (init_post), (gst_debug_help), (gst_deinit):
-	  Make init_pre and init_post take the full complement of GOptionFunc
-	  args so they can return useful GErrors. Make the registry updating
-	  functions do so.
-	  Call _priv_gst_registry_remove_cache_plugins after scanning files to
-	  ensure that the registry we're about to write out doesn't contain
-	  stale information about old-deleted plugin files.
-	  Make _priv_gst_registry_remove_cache_plugins return a boolean so
-	  that deletion of plugin files is considered a registry change.
-	  * gst/gst_private.h:
-	  * gst/gstregistry.c: (gst_registry_finalize),
-	  (gst_registry_remove_features_for_plugin_unlocked),
-	  (gst_registry_remove_plugin), (gst_registry_scan_path_level),
-	  (gst_registry_scan_path),
-	  (_priv_gst_registry_remove_cache_plugins),
-	  (_priv_gst_registry_cleanup):
-	  * gst/gstregistry.h:
-	  Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
-	  by adding _priv prefix, so that they won't appear in the global
-	  symbol table. They still do atm though because of #318031. Move the
-	  prototypes to gst_private.h
-	  When removing a plugin, remove all features for that plugin too.
-	  Fixes #340878.
-
-2006-09-27 13:19:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/moving-plugins: Make it clear that the "compiled-in descriptions" really mean the element details.
-	  Original commit message from CVS:
-	  * docs/random/moving-plugins:
-	  Make it clear that the "compiled-in descriptions" really mean
-	  the element details.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_wait_preroll):
-	  Update docs.
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
-	  (gst_base_src_get_range), (gst_base_src_activate_push):
-	  * libs/gst/base/gstbasesrc.h:
-	  Added function to block while waiting for PLAYING, this function
-	  is used by live sources that block on the clock.
-	  API: gst_base_src_wait_playing()
-
-2006-09-27 10:13:13 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  Makefile.am: gst-element-check.m4 is generated and should therefore be copied from the build dir rather than the sour...
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis com>
-	  * Makefile.am:
-	  gst-element-check.m4 is generated and should therefore be
-	  copied from the build dir rather than the source dir (#357593).
-	  'make distcheck' hasn't noticed this because we were disting
-	  the file as well, so stop doing that.
-
-2006-09-27 09:23:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstcaps.c: Add some tests for gst_caps_intersect().
-	  Original commit message from CVS:
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
-	  Add some tests for gst_caps_intersect().
-	  * tools/gst-launch.c: (event_loop):
-	  Print all buffering percentages we get, even the 100% one.
-
-2006-09-26 12:39:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-inspect.c: Fix printing of flags to match the look of enums.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info),
-	  (print_signal_info):
-	  Fix printing of flags to match the look of enums.
-
-2006-09-25 13:08:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelementfactory.c: Fix typo in docs blurb.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c:
-	  Fix typo in docs blurb.
-
-2006-09-25 11:16:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsturi.c: Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols ...
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (search_by_entry):
-	  Don't assert/crash here if a uri handler doesn't return any
-	  supported protocols. The list of protocols could be generated
-	  dynamically at runtime or at plugin registration, and an error
-	  in the underlying library shouldn't be fatal (#353301).
-
-2006-09-25 10:36:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Fix warning if HAVE_PRINTF_EXTENSION is undefined (spotted by Peter Kjellerstedt).
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  Fix warning if HAVE_PRINTF_EXTENSION is undefined
-	  (spotted by Peter Kjellerstedt).
-
-2006-09-23 09:30:40 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Match _start/_stop calls in the activate functions. Remove redundant _stop call from the ...
-	  Original commit message from CVS:
-	  Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
-	  * libs/gst/base/gstbasesrc.c:
-	  (gst_base_src_default_check_get_range), (gst_base_src_start),
-	  (gst_base_src_activate_push), (gst_base_src_activate_pull),
-	  (gst_base_src_change_state):
-	  Match _start/_stop calls in the activate functions. Remove redundant
-	  _stop call from the state change function. Fixes #356910.
-	  Turn failure DEBUG into ERROR.
-
-2006-09-22 15:29:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Update docs about buffering.
-	  Original commit message from CVS:
-	  * docs/design/part-buffering.txt:
-	  * gst/gstmessage.c: (gst_message_new_buffering),
-	  (gst_message_parse_buffering):
-	  Update docs about buffering.
-	  * docs/design/part-trickmodes.txt:
-	  Fix typo.
-
-2006-09-22 14:30:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/basics-elements.xml:
-	  audiotestsrc is not part of core, fakesrc is
-	  Original commit message from CVS:
-	  audiotestsrc is not part of core, fakesrc is
-
-2006-09-22 13:32:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: Ref instances when returning them again (fixes #357180)
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
-	  (gst_controller_new_list):
-	  Ref instances when returning them again (fixes #357180)
-
-2006-09-22 10:17:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstghostpad.c: Don't forget to release proxy lock when there's an error.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_ghost_pad_set_target):
-	  Don't forget to release proxy lock when there's an error.
-
-2006-09-20 16:17:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstcaps.h: Add extra initialisers for Caps things, to fix some plugin warnings when using -Wextra
-	  Original commit message from CVS:
-	  * gst/gstcaps.h:
-	  Add extra initialisers for Caps things, to fix some plugin warnings
-	  when using -Wextra
-
-2006-09-18 13:56:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Also set template on the internal pad so that a getcaps from the target pad returns the template c...
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_ghost_pad_new_full):
-	  Also set template on the internal pad so that a getcaps from the target
-	  pad returns the template caps.
-
-2006-09-18 13:44:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Use _DEBUG_OBJECT some more.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_post_message),
-	  (gst_element_dispose):
-	  Use _DEBUG_OBJECT some more.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Avoid typechecks.
-	  * tools/gst-launch.c: (main):
-	  If the toplevel element is not a GstPipeline, it must be put in a
-	  pipeline so that a bus and clock is selected.
-
-2006-09-17 19:31:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.c: JITTER, RATE, and LATENCY query should be handled by the default case and not by the CONV...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
-	  JITTER, RATE, and LATENCY query should be handled by the
-	  default case and not by the CONVERT query code.
-
-2006-09-17 19:26:16 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstformat.c: Fix locking order (must take lock before using n_values).
-	  Original commit message from CVS:
-	  * gst/gstformat.c: (gst_format_register):
-	  Fix locking order (must take lock before using n_values).
-	  * gst/gstvalue.c: (gst_value_serialize_enum),
-	  (gst_value_deserialize_enum_iter_cmp),
-	  (gst_value_deserialize_enum):
-	  Fix serialisation/deserialisation of custom registered GstFormats.
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Unit test for custom format serialisation/deserialisation.
-
-2006-09-16 21:38:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp section.
-	  Original commit message from CVS:
-	  * docs/pwg/building-boiler.xml:
-	  * plugins/elements/gstcapsfilter.c:
-	  More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
-	  section.
-
-2006-09-16 12:49:02 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Check if requested caps are the same as the sinks caps IF
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Check if requested caps are the same as the sinks caps IF
-	  ->have_same_caps is TRUE. If they are not, act as if have_same_caps
-	  is FALSE.
-	  This fixes the renegotiation issues stated in #352827.
-
-2006-09-16 10:49:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Extract the manual examples again like we used to do.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * tests/examples/Makefile.am:
-	  * tests/examples/manual/.cvsignore:
-	  * tests/examples/manual/Makefile.am:
-	  * tests/examples/manual/extract.pl:
-	  Extract the manual examples again like we used to do.
-	  Fix one of them.
-
-2006-09-16 10:47:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/common/config.h: update for version
-	  Original commit message from CVS:
-	  * win32/common/config.h:
-	  update for version
-
-2006-09-15 21:30:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsterror.c: Documents how to receive errors.
-	  Original commit message from CVS:
-	  * gst/gsterror.c:
-	  Documents how to receive errors.
-
-2006-09-15 10:43:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Added some comments here and there.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
-	  (event_loop), (main):
-	  Added some comments here and there.
-	  Post an application message when an interrupt is caught instead of doing
-	  an uncontrolled state change.
-	  Clean up the event loop.
-	  Handle buffering messages, pause/resume the pipeline.
-	  Make shutdown because of an interrupt more reliable.
-
-2006-09-15 09:49:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Make sure that our internal state is correct when we commit our state asynchronously. Th...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
-	  (gst_base_sink_preroll_object):
-	  Make sure that our internal state is correct when we commit our state
-	  asynchronously. This solves a race where a state change to PLAYING
-	  could cause the sink to remain blocked in preroll in some situations.
-
-2006-09-15 08:50:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-inspect.c: List flags as hex so it's easier to deal with.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info),
-	  (print_signal_info):
-	  List flags as hex so it's easier to deal with.
-
-2006-09-15 08:47:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Expose logic to wait for preroll so that subclasses such as audiosink can also use this method.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
-	  (gst_base_sink_do_sync):
-	  * libs/gst/base/gstbasesink.h:
-	  Expose logic to wait for preroll so that subclasses such as audiosink
-	  can also use this method.
-	  API: gst_base_sink_wait_preroll()
-
-2006-09-15 08:43:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Small cleanups in docs and code.
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_set_parent):
-	  * gst/gstpipeline.c: (do_pipeline_seek):
-	  Small cleanups in docs and code.
-	  * gst/gstsegment.c: (gst_segment_clip):
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  if stop == start and start is in the segment, no clipping should be
-	  done. Also add a test for this.
-
-2006-09-15 08:39:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Added methods to create and parse BUFFERING messages.
-	  Original commit message from CVS:
-	  * docs/design/part-buffering.txt:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.c: (gst_message_new_buffering),
-	  (gst_message_parse_buffering):
-	  * gst/gstmessage.h:
-	  Added methods to create and parse BUFFERING messages.
-	  Added preliminary docs about buffering.
-	  API: gst_message_new_buffering
-	  API: gst_message_parse_buffering
-
-2006-09-15 08:32:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Update documentation.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  Update documentation.
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_release_request_pad), (gst_element_set_clock),
-	  (gst_element_get_index), (gst_element_add_pad),
-	  (gst_element_remove_pad), (gst_element_get_random_pad),
-	  (gst_element_send_event), (gst_element_get_query_types),
-	  (gst_element_query), (gst_element_post_message),
-	  (gst_element_message_full), (gst_element_continue_state),
-	  (gst_element_lost_state), (gst_element_save_thyself),
-	  (gst_element_restore_thyself):
-	  Documentation updates.
-	  Rename last bit of the new-pad -> pad-added signal rename.
-	  Fix the case where an element query would only work if the source
-	  pad was linked.
-	  Avoid some useless type checking in message handling.
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  * gst/gstutils.c:
-	  Documentation updates.
-
-2006-09-14 20:12:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* plugins/elements/gstfdsrc.c:
-	  add an INFO line for when we actually update the fd
-	  Original commit message from CVS:
-	  add an INFO line for when we actually update the fd
-
-2006-09-14 20:11:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to trunk
-	  Original commit message from CVS:
-	  back to trunk
-
-=== release 0.10.10 ===
-
-2006-09-14 20:08:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* common:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* gst/gst.c:
-	* gst/gstcaps.c:
-	* gst/gstclock.h:
-	* gst/gststructure.c:
-	* win32/common/config.h:
-	  releasing 0.10.10
-	  Original commit message from CVS:
-	  releasing 0.10.10
-
-2006-09-09 16:08:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* win32/common/config.h:
-	  first prerelease
-	  Original commit message from CVS:
-	  first prerelease
-
-2006-09-09 16:07:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  translation updates
-	  Original commit message from CVS:
-	  translation updates
-
-2006-09-05 14:11:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-position.xml: Fix typo in sample code.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-position.xml:
-	  Fix typo in sample code.
-
-2006-09-05 08:35:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/net/: Make stuff compile on windows. Fixes #345295.
-	  Original commit message from CVS:
-	  * libs/gst/net/gstnetclientclock.c: (inet_aton),
-	  (gst_net_client_clock_init), (gst_net_client_clock_finalize),
-	  (gst_net_client_clock_do_select), (gst_net_client_clock_new):
-	  * libs/gst/net/gstnetclientclock.h:
-	  * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
-	  * libs/gst/net/gstnettimepacket.h:
-	  * libs/gst/net/gstnettimeprovider.c: (inet_aton),
-	  (gst_net_time_provider_init), (gst_net_time_provider_finalize),
-	  (gst_net_time_provider_thread), (gst_net_time_provider_new):
-	  * libs/gst/net/gstnettimeprovider.h:
-	  Make stuff compile on windows. Fixes #345295.
-
-2006-09-03 11:16:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Print better details when child was terminated by signal.
-	  Original commit message from CVS:
-	  * gst/gst.c: (ensure_current_registry_forking):
-	  Print better details when child was terminated by signal.
-
-2006-09-03 11:06:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistryxml.c: Print a warning rather than g_assert() if a plugin feature is a URI handler but returns no prot...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
-	  Print a warning rather than g_assert() if a plugin feature
-	  is a URI handler but returns no protocols (#353976).
-
-2006-09-02 19:10:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/moving-plugins: Fix two typos.
-	  Original commit message from CVS:
-	  * docs/random/moving-plugins:
-	  Fix two typos.
-
-2006-09-02 19:03:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/moving-plugins:
-	  document process some more
-	  Original commit message from CVS:
-	  document process some more
-
-2006-09-02 13:40:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gsterror.c:
-	  clarify error message
-	  Original commit message from CVS:
-	  clarify error message
-
-2006-09-02 13:36:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/moving-plugins:
-	  document process some more
-	  Original commit message from CVS:
-	  document process some more
-
-2006-09-01 16:03:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	  ChangeLog surgery: fix typo
-	  Original commit message from CVS:
-	  ChangeLog surgery: fix typo
-
-2006-09-01 15:55:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Fix locking order, handle NULL function values properly.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
-	  Fix locking order, handle NULL function values properly.
-	  * gst/gstinfo.h:
-	  Fix docs.
-	  * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
-	  Initialised variable before using it and fix debug statement to
-	  print the address of the function rather than the address of the
-	  variable on the stack holding the address of the function.
-
-2006-09-01 10:33:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: More cleanups.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_event),
-	  (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
-	  (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
-	  (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
-	  (gst_ghost_pad_parent_unset),
-	  (gst_ghost_pad_internal_do_activate_push),
-	  (gst_ghost_pad_internal_do_activate_pull),
-	  (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
-	  (gst_ghost_pad_init), (gst_ghost_pad_dispose),
-	  (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
-	  (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
-	  (gst_ghost_pad_new_no_target_from_template),
-	  (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
-	  More cleanups.
-	  Avoid needless typechecking in macros.
-	  Since the internal pad is always present and never changes, there is
-	  no need to locking or ref when retrieving it.
-	  Improve debugging a bit.
-	  Handle link errors when setting the target. Fixes #341029.
-
-2006-09-01 10:26:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/: Fix docs some more.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  Fix docs some more.
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_event):
-	  * libs/gst/base/gstcollectpads.h:
-	  Documentation updates.
-	  Free queued buffer when removing a pad.
-
-2006-08-31 17:13:34 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstutils.c: Ensure that we set a capsfilter to NULL if we failed to link it when doing filtered linking, to avoid...
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_link_pads),
-	  (gst_element_link_pads_filtered):
-	  Ensure that we set a capsfilter to NULL if we failed to link it
-	  when doing filtered linking, to avoid criticals.
-	  No need to check for unreffing srcpad, which is explicly NULLed
-	  above (a trivial code cleanup).
-
-2006-08-31 15:19:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-gstghostpad.txt: Update ascii art in documentation.
-	  Original commit message from CVS:
-	  * docs/design/part-gstghostpad.txt:
-	  Update ascii art in documentation.
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
-	  (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
-	  (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
-	  (gst_ghost_pad_internal_do_activate_push),
-	  (gst_ghost_pad_internal_do_activate_pull),
-	  (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
-	  (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
-	  (gst_ghost_pad_set_target):
-	  Small cleanups and leak fixes.
-	  Remove some checks now that the internal pad is never NULL.
-	  Fix the case where linking pads without a target would create nasty
-	  criticals. Fixes #341029.
-	  Don't assign a GstPadLinkReturn to a gboolean and mess up the return
-	  value of _set_target().
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST),
-	  (gst_ghost_pad_suite):
-	  Some more tests for creating and linking untargeted ghostpads.
-
-2006-08-31 10:59:11 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Refactored *_new() functions.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
-	  (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
-	  (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
-	  (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
-	  (gst_ghost_pad_new_from_template),
-	  (gst_ghost_pad_new_no_target_from_template):
-	  * gst/gstghostpad.h:
-	  Refactored *_new() functions.
-	  Templates are now used as a g_object_new() parameter.
-	  Use template in _do_getcaps() if we don't have a target.
-	  Small documentation cleanups.
-	  Added two new constructors:
-	  gst_ghost_pad_new_from_template()
-	  gst_ghost_pad_new_no_target_from_template()
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST),
-	  (gst_ghost_pad_suite):
-	  Added tests for new ghostpad instanciation functions.
-	  API additions: gst_ghost_pad_new_from_template,
-	  gst_ghost_pad_new_no_target_from_template
-
-2006-08-30 12:28:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/profiling.txt: Ideas about qos profiling.
-	  Original commit message from CVS:
-	  * docs/random/ensonic/profiling.txt:
-	  Ideas about qos profiling.
-
-2006-08-29 14:39:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Code cleanups.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
-	  Code cleanups.
-	  Fix memleak.
-
-2006-08-29 10:49:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstxml.c: Improve and detypofy docs.
-	  Original commit message from CVS:
-	  * gst/gstxml.c:
-	  Improve and detypofy docs.
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
-	  Add a basic test suite for GstXML.
-
-2006-08-29 09:56:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Clear the pad caps when the element shut down all of the pads and is not streaming data that could ...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (activate_pads), (clear_caps),
-	  (iterator_activate_fold_with_resync), (gst_element_pads_activate):
-	  Clear the pad caps when the element shut down all of the pads and
-	  is not streaming data that could modify the caps.
-	  Fixes #352958.
-
-2006-08-29 08:02:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  I don't even know which arch that is
-	  Original commit message from CVS:
-	  I don't even know which arch that is
-
-2006-08-28 23:16:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  more logical to log the sending pad, and the pad it is sending to
-	  Original commit message from CVS:
-	  more logical to log the sending pad, and the pad it is sending to
-
-2006-08-28 18:20:00 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstidentity.c: Revert previous change; I misunderstood single-segment mode.
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Revert previous change; I misunderstood single-segment mode.
-
-2006-08-28 18:08:09 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gstidentity.c: Unset DISCONT on buffers when using single-segment mode.
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Unset DISCONT on buffers when using single-segment mode.
-
-2006-08-28 16:39:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.*: Fix docs and indentation again.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_merge_structure):
-	  * gst/gstcaps.h:
-	  Fix docs and indentation again.
-	  * tests/check/gst/gstquery.c: (GST_START_TEST):
-	  Fix leak in tests and add some more tests.
-
-2006-08-28 15:57:39 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasesink.c: Inform GstSegment of the last stop position in order for the current segment to have a p...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Inform GstSegment of the last stop position in order for the current
-	  segment to have a proper duration if it doesn't have a specific stop
-	  position from which a duration could be calculated.
-	  This bug was noticeable when a non-flushing, non-update new segment was
-	  followed by another segment (all buffers from the new segment were being
-	  dropped).
-
-2006-08-28 15:48:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Small comment update.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
-	  Small comment update.
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_transform_ip):
-	  Drop-probability is broken, mention this in the code with a
-	  FIXME and also in the property description.
-	  Make silent also be silent about the drop messages.
-
-2006-08-28 11:06:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/appendix-win32.xml: Remove mention of popt, we don't depend on that any longer (#353136). Add some commen...
-	  Original commit message from CVS:
-	  * docs/manual/appendix-win32.xml:
-	  Remove mention of popt, we don't depend on that any
-	  longer (#353136). Add some comments pointing out that
-	  this section is slightly outdated.
-
-2006-08-28 08:44:29 +0000  Torsten Schoenfeld <kaffeetisch@gmx.de>
-
-	  Initialize variables when creating a new segment query.
-	  Original commit message from CVS:
-	  Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
-	  * gst/gstquery.c: (gst_query_new_segment):
-	  * tests/check/gst/gstquery.c: (GST_START_TEST):
-	  Initialize variables when creating a new segment query.
-	  Fixes #353121.
-
-2006-08-28 08:35:31 +0000  Torsten Schoenfeld <kaffeetisch@gmx.de>
-
-	  Check for NULL before _reffing the bus. Fixes #353122.
-	  Original commit message from CVS:
-	  Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
-	  * gst/gstelement.c: (gst_element_get_bus):
-	  * tests/check/gst/gstelement.c: (GST_START_TEST):
-	  Check for NULL before _reffing the bus. Fixes #353122.
-
-2006-08-25 16:46:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/basics-bus.xml: Docs update: fix wrong callback return value explanation; add some lines about the implic...
-	  Original commit message from CVS:
-	  * docs/manual/basics-bus.xml:
-	  Docs update: fix wrong callback return value explanation; add
-	  some lines about the implicit relationship between main loop
-	  and main context; remove duplicate main loop variable declaration.
-
-2006-08-24 12:30:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstcaps.c: Don't leak caps in unit test; add a few more simple checks.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST):
-	  Don't leak caps in unit test; add a few more simple
-	  checks.
-
-2006-08-24 10:40:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  implement caps merging (fixes #352580)
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
-	  (gst_caps_structure_is_subset), (gst_caps_merge),
-	  (gst_caps_merge_structure):
-	  * gst/gstcaps.h:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps):
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
-	  implement caps merging (fixes #352580)
-
-2006-08-23 18:53:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/: add debug-log plotting developer tool (#340674)
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-plot-timeline.py:
-	  add debug-log plotting developer tool (#340674)
-
-2006-08-23 16:51:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Improve debugging for task functions.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
-	  (gst_pad_stop_task):
-	  Improve debugging for task functions.
-	  * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
-	  (gst_task_start), (gst_task_pause), (gst_task_join):
-	  Make sure that the task function started and finished after a
-	  join().
-	  Don't try to push the task function on the threadpool multiple
-	  times.
-	  Improve the g_warning message with some useful suggestions
-	  about how to fix the problem.
-
-2006-08-23 10:59:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Handle RESYNC correctly in _proxy_getcaps.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_pad_proxy_getcaps):
-	  Handle RESYNC correctly in _proxy_getcaps.
-
-2006-08-23 09:47:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbuffer.h:
-	  word refcounting more precisely for gst_value_*_buffer
-	  Original commit message from CVS:
-	  word refcounting more precisely for gst_value_*_buffer
-
-2006-08-21 15:19:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstxml.c: Chain up to parent class in dispose function and also unref the elements in the toplevel_elements GList.
-	  Original commit message from CVS:
-	  * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
-	  (gst_xml_parse_memory), (gst_xml_get_element):
-	  Chain up to parent class in dispose function and also
-	  unref the elements in the toplevel_elements GList.
-	  Don't leak XmlDocPtr in _parse_file() and _parse_memory().
-	  Always return a reference in gst_xml_get_element() rather
-	  than only sometimes.
-	  * tools/gst-launch.c: (xmllaunch_parse_cmdline):
-	  Don't leak GstXml object.
-
-2006-08-21 14:54:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  API: Add gst_caps_merge() and use it in basetransform, fixes #345444 in a better way
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstcaps.c: (gst_structure_is_equal_foreach),
-	  (gst_caps_merge):
-	  * gst/gstcaps.h:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps):
-	  API: Add gst_caps_merge() and use it in basetransform, fixes #345444
-	  in a better way
-
-2006-08-21 14:03:33 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstxml.c: Implement GObject::dispose virtual method in GstXML so we can free the top_elements GList.
-	  Original commit message from CVS:
-	  * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
-	  Implement GObject::dispose virtual method in GstXML so we can free the
-	  top_elements GList.
-
-2006-08-21 09:30:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Copy duration/offset_end/caps when creating a subbuffer of the complete parent.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
-	  (gst_buffer_create_sub):
-	  Copy duration/offset_end/caps when creating a subbuffer of the
-	  complete parent.
-	  Make the subbuffer read-only when we make the metadata writable for
-	  now. Fixes #351768.
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST):
-	  Added check for metadata copy when creating subbuffers.
-
-2006-08-21 09:20:42 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Only call downstream buffer_alloc if transform element is passthrough or always_in_...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Only call downstream buffer_alloc if transform element is passthrough
-	  or always_in_place. Closes #350449.
-
-2006-08-20 19:36:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ChangeLog: ChangeLog surgery to add comments to previous changes
-	  Original commit message from CVS:
-	  * ChangeLog:
-	  ChangeLog surgery to add comments to previous changes
-
-2006-08-20 19:30:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Simplify caps to get rid of duplicates, fixes #345444
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gstpad.c: (gst_pad_set_active):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps):
-	  Simplify caps to get rid of duplicates, fixes #345444
-
-2006-08-20 15:55:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstvalue.*: Use these optimizations only internaly.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  * gst/gstvalue.h:
-	  Use these optimizations only internaly.
-
-2006-08-20 14:30:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstvalue.*: Saves the expensive lookup of the compare function in many cases (#345444)
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_compare_list),
-	  (gst_value_compare_fraction_range),
-	  (gst_value_intersect_fraction_fraction_range),
-	  (gst_value_intersect_fraction_range_fraction_range),
-	  (gst_value_subtract_fraction_fraction_range),
-	  (gst_value_subtract_fraction_range_fraction_range),
-	  (gst_value_get_compare_func), (gst_value_compare),
-	  (gst_value_compare_with_func):
-	  * gst/gstvalue.h:
-	  Saves the expensive lookup of the compare function in many cases
-	  (#345444)
-
-2006-08-18 13:41:02 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/gst/gstinfo.c: Disable test that require gstdebug if it wasn't built in core.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstinfo.c: (gst_info_suite):
-	  Disable test that require gstdebug if it wasn't built in core.
-
-2006-08-18 10:52:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/logging.txt: update ideas
-	  Original commit message from CVS:
-	  * docs/random/ensonic/logging.txt:
-	  update ideas
-	  * gst/gstinfo.c: (gst_debug_log_default):
-	  reorder fields, save some columns, add optinal color codes for log-
-	  levels
-
-2006-08-18 08:07:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/logging.txt: add ideas about making the logs abit more useful
-	  Original commit message from CVS:
-	  * docs/random/ensonic/logging.txt:
-	  add ideas about making the logs abit more useful
-
-2006-08-17 18:11:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/: Update for 0.10 API (#340627). Add myself to authors list.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-events.xml:
-	  * docs/pwg/titlepage.xml:
-	  Update for 0.10 API (#340627). Add myself
-	  to authors list.
-
-2006-08-17 10:46:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Make gstcheck stuff show up in docs (still needs to be documented properly though).
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/check/gstbufferstraw.c:
-	  Make gstcheck stuff show up in docs (still needs to
-	  be documented properly though).
-
-2006-08-16 11:47:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Add internal helpers for pre-registering quarks from static strings and using the quark values directly instead of lo...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gst.c: (init_post):
-	  * gst/gst_private.h:
-	  * gst/gstquark.c: (_priv_gst_quarks_initialize):
-	  * gst/gstquark.h:
-	  * gst/gstquery.c: (gst_query_new_position),
-	  (gst_query_set_position), (gst_query_parse_position),
-	  (gst_query_new_duration), (gst_query_set_duration),
-	  (gst_query_parse_duration), (gst_query_new_convert),
-	  (gst_query_set_convert), (gst_query_parse_convert),
-	  (gst_query_new_segment), (gst_query_set_segment),
-	  (gst_query_parse_segment), (gst_query_new_seeking),
-	  (gst_query_set_seeking), (gst_query_parse_seeking):
-	  Add internal helpers for pre-registering quarks from static strings
-	  and using the quark values directly instead of looking them up when
-	  creating and parsing queries. Can be used for event construction too.
-	  Closes #350432.
-
-2006-08-16 08:54:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix bogus docs.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  Fix bogus docs.
-
-2006-08-15 18:45:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.c: Fix memleak (#351502).
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_set_value_from_string):
-	  Fix memleak (#351502).
-	  * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  Add unit test for most of gst_util_set_value_from_string()
-	  (not that one would want to encourage use of this function).
-
-2006-08-15 18:29:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/gstcheck.h: Use const gchar * variables in fail_unless_equals_string macro to avoid compiler warnings ...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.h:
-	  Use const gchar * variables in fail_unless_equals_string
-	  macro to avoid compiler warnings (and don't use tabs for
-	  indenting).
-
-2006-08-15 10:08:34 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.c: More space on the left for the tag names, to cater for the 'extended comment' tag (not touching t...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (print_tag):
-	  More space on the left for the tag names, to cater
-	  for the 'extended comment' tag (not touching the
-	  string for the first line since it's translated).
-
-2006-08-15 09:44:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	  ChangeLog surgery: don't forget to mention the other change in the ChangeLog
-	  Original commit message from CVS:
-	  ChangeLog surgery: don't forget to mention the other change in the ChangeLog
-
-2006-08-15 09:33:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/check/gstcheck.h: Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually print something when they fail.
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.h:
-	  Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
-	  print something when they fail.
-
-2006-08-14 19:04:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_TAG_EXTENDED_COMMENT (#350935).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_EXTENDED_COMMENT (#350935).
-
-2006-08-14 17:29:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Make GST_PTR_FORMAT print messages as well.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (gst_debug_print_object):
-	  Make GST_PTR_FORMAT print messages as well.
-	  * tests/check/gst/gstinfo.c: (printf_extension_log_func),
-	  (GST_START_TEST), (gst_info_suite):
-	  More tests.
-
-2006-08-14 15:33:17 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstelementfactory.c: If the GstElementClass doesn't have a GstElementDetails with all fields then error out nicel...
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_register):
-	  If the GstElementClass doesn't have a GstElementDetails with all fields
-	  filled up correctly (longname, description AND author), then error out
-	  nicely instead of crashing.
-
-2006-08-14 12:35:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
-	  Original commit message from CVS:
-	  * gst/gststructure.c:
-	  Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
-	  * gst/gstvalue.h:
-	  Expand on the difference between arrays and lists as we use them.
-
-2006-08-14 07:44:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: If the parent state change function failed, don't assume we can safely stop the source, t...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
-	  If the parent state change function failed, don't assume we can safely
-	  stop the source, this will be done when the pads are deactivated.
-
-2006-08-14 07:35:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Small doc updates.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  * gst/gsttask.c: (gst_task_join):
-	  Small doc updates.
-	  * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
-	  (gst_pad_stop_task):
-	  When pad (de)activation failed for some reason, restore the old
-	  activation mode and set the pad to flushing instead of assuming the
-	  pad is deactivated.
-	  If the _task_join() failed, reinstall the task on the pad so that it can
-	  be stopped later and return an error.
-
-2006-08-11 15:26:33 +0000  Andy Wingo <wingo@pobox.com>
-
-	  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-11 15:24:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add GstClockClass vmethod docs.
-	  * gst/gstcaps.h:
-	  Mark #endif with comment for associated #if
-	  * gst/gstclock.c: (gst_clock_id_wait):
-	  * gst/gstclock.h:
-	  Add vmethod wait_jitter to avoid an unneeded _get_time() for
-	  most clock implementations.
-	  Document vmethods.
-	  Flesh out docs about resolution methods.
-	  API: GstClockClass::wait_jitter
-	  * gst/gstsystemclock.c: (gst_system_clock_class_init),
-	  (gst_system_clock_async_thread),
-	  (gst_system_clock_id_wait_jitter_unlocked),
-	  (gst_system_clock_id_wait_jitter):
-	  Use base class wait_jitter variant for improved performance
-	  due to less clock polling.
-
-2006-08-11 15:07:58 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gst.c: Set gst as being initialized before scanning/updating the registry, since there might be some plugins that...
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_check), (init_post):
-	  Set gst as being initialized before scanning/updating the registry,
-	  since there might be some plugins that call gst_init() and we don't
-	  want to loop back in.
-	  Closes #350879
-
-2006-08-11 13:13:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Mention that we fixed bug #349943 with the last commit.
-	  Original commit message from CVS:
-	  Mention that we fixed bug #349943 with the last commit.
-
-2006-08-11 13:05:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-qos.txt: Bring docs in line with the code. Mostly the sign of the jitter was wrong in the docs.
-	  Original commit message from CVS:
-	  * docs/design/part-qos.txt:
-	  Bring docs in line with the code. Mostly the sign of the jitter was
-	  wrong in the docs.
-	  * gst/gstclock.c:
-	  Fix the docs for the jitter.
-	  * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
-	  (gst_event_parse_tag), (gst_event_new_buffer_size),
-	  (gst_event_parse_buffer_size), (gst_event_parse_qos),
-	  (gst_event_new_seek), (gst_event_parse_seek),
-	  (gst_event_new_navigation):
-	  Make sure the GstStructure has no parent when creating custom
-	  events.
-	  Add some more argument checking so that we avoid 0.0 rates.
-	  Flesh out the docs for the QoS event some more.
-
-2006-08-11 10:21:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Forgot to mention fixed bug.
-	  Original commit message from CVS:
-	  Forgot to mention fixed bug.
-
-2006-08-11 10:19:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Doc updates.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
-	  (ensure_current_registry_forking), (ensure_current_registry),
-	  (parse_one_option), (parse_goption_arg), (gst_deinit),
-	  (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
-	  * gst/gst.h:
-	  Doc updates.
-	  Added API and command line option to disable registry forking in
-	  addition to the environment variable.
-	  Constify some static arrays.
-	  Added some more debug.
-	  Don't deinit twice.
-	  API: gst_registry_fork_is_enabled()
-	  API: gst_registry_fork_set_enabled()
-	  API: --gst-disable-registry-fork command line option
-
-2006-08-11 09:59:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Fix typo in error message.
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init):
-	  Fix typo in error message.
-
-2006-08-10 20:05:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.h: fix ABI size-correction
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.h:
-	  fix ABI size-correction
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  make tests that use deprecated API conditional
-
-2006-08-10 19:46:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  API: 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-09 15:26:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: Let's enable the new unit test as well.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  Let's enable the new unit test as well.
-
-2006-08-09 15:13:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_SEGMENT_FORMAT, which is a printf extension we register that lets us easily dump GstSegments into debug ...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstconfig.h.in:
-	  * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
-	  (_gst_info_printf_extension_ptr),
-	  (_gst_info_printf_extension_segment):
-	  API: add GST_SEGMENT_FORMAT, which is a printf extension we
-	  register that lets us easily dump GstSegments into debug
-	  logs (#350419).
-	  * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
-	  (info_segment_format_printf_extension), (gst_info_suite):
-	  Add simple unit test that logs a bunch of different segments (not
-	  valgrinded at the moment because of leaks in gst_debug_add_log_function).
-
-2006-08-09 11:01:20 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/base/gstbasetransform.c: Even if we can't figure out the proper format to request downstream, call buffer_al...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Even if we can't figure out the proper format to request downstream,
-	  call buffer_alloc() downstream with the input parameters without setting
-	  the caps on the srcpad. This will force negotiation in the chain
-	  function.
-	  Closes #350449
-
-2006-08-08 16:24:58 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstghostpad.c: Unlinking from a pad without a target is now a perfectly valid case which should NOT raise an asse...
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
-	  Unlinking from a pad without a target is now a perfectly valid case
-	  which should NOT raise an assertion.
-	  This case would happen if a linked ghostpad its target set to NULL after
-	  it was previously linked.
-
-2006-08-08 09:56:45 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/libs/gdp.c: Also comment out the test (see below).
-	  Original commit message from CVS:
-	  * tests/check/libs/gdp.c:
-	  Also comment out the test (see below).
-
-2006-08-08 09:07:34 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/libs/gdp.c: Use the architecture information from config.h and not gcc macros in order to properly disabl...
-	  Original commit message from CVS:
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  Use the architecture information from config.h and not gcc macros
-	  in order to properly disable a test that fails on PPC64.
-
-2006-08-04 15:15:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstelement.c: Don't crash printing the warning if the pad has no parent.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_remove_pad):
-	  Don't crash printing the warning if the pad has no parent.
-
-2006-08-02 15:19:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-31 16:34:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstvalue.c: Fix GstValueList comparison code. Fixes #347293.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_compare_list):
-	  Fix GstValueList comparison code. Fixes #347293.
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Check to test GstValueList comparison.
-
-2006-07-31 15:12:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Use OBJECT_LOCK and refcounting to get the pad caps in the buffer_alloc function be...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Use OBJECT_LOCK and refcounting to get the pad caps in the
-	  buffer_alloc function because the caps could change while we are
-	  busy with them. Fixes #349105
-
-2006-07-31 15:12:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelementfactory.c: Remove unnecessary ref/unref pair
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_create):
-	  Remove unnecessary ref/unref pair
-	  * gst/parse/grammar.y:
-	  Make sure to free the parse buffer on all code paths.
-	  Move a g_free up to the error handler where it's easier to see.
-	  * tests/check/gst/gstevent.c: (test_event):
-	  Extending timeout for downstream travelling events to 10 seconds to
-	  hopefully avoid intermittent failure on the buildbots.
-	  * tests/check/pipelines/parse-launch.c: (run_delayed_test):
-	  Don't manually set the state of the src element - it will happen as a
-	  natural consequence of the pipeline changing state, and that way it
-	  will do it in the right order too.
-
-2006-07-31 15:07:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstelementfactory.c: Remove unnecessary ref/unref pair
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_create):
-	  Remove unnecessary ref/unref pair
-	  * gst/parse/grammar.y:
-	  Make sure to free the parse buffer on all code paths.
-	  Move a g_free up to the error handler where it's easier to see.
-	  * tests/check/gst/gstevent.c: (test_event):
-	  Extending timeout for downstream travelling events to 10 seconds to
-	  hopefully avoid intermittent failure on the buildbots.
-	  * tests/check/pipelines/parse-launch.c: (run_delayed_test):
-	  Don't manually set the state of the src element - it will happen as a
-	  natural consequence of the pipeline changing state, and that way it
-	  will do it in the right order too.
-
-2006-07-31 14:23:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Protect _PAD_CAPS with OBJECT_LOCK.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
-	  Protect _PAD_CAPS with OBJECT_LOCK.
-
-2006-07-31 14:21:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Use _DEBUG_OBJECT when it makes sense.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
-	  (gst_pad_get_property), (gst_pad_activate_pull),
-	  (gst_pad_activate_push), (gst_pad_set_blocked_async),
-	  (gst_pad_set_activate_function),
-	  (gst_pad_set_activatepull_function),
-	  (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
-	  (gst_pad_set_getrange_function),
-	  (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
-	  (gst_pad_set_query_function), (gst_pad_set_query_type_function),
-	  (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
-	  (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
-	  (gst_pad_set_acceptcaps_function),
-	  (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
-	  (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
-	  (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
-	  (gst_pad_peer_get_caps), (gst_pad_accept_caps),
-	  (gst_pad_peer_accept_caps), (gst_pad_set_caps),
-	  (gst_pad_configure_sink), (gst_pad_configure_src),
-	  (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
-	  (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
-	  (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
-	  (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
-	  (gst_pad_send_event):
-	  Use _DEBUG_OBJECT when it makes sense.
-	  Protect GST_PAD_CAPS with the OBJECT_LOCK.
-	  Small cleanups and code reflows.
-	  Avoid caps refcounting in _accept_caps.
-	  Refactor alloc_buffer so that the code performed on the peer is in a
-	  separate function. Also if the pad does not implement a buffer alloc
-	  function, we should still check if the pad is flushing before falling
-	  back to the default allocator.
-
-2006-07-30 22:20:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/pipelines/parse-launch.c: Make all uses of identity and fakesink have silent=true to avoid serialising ev...
-	  Original commit message from CVS:
-	  * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
-	  Make all uses of identity and fakesink have silent=true to avoid
-	  serialising every passing data structure, which is breaking tests
-	  on FC4 for some unknown reason.
-
-2006-07-30 18:58:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/parse/: Reverted previous patch as it required to bump the flex dependency to 2.5.31, where fc4/5 seem to ship on...
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  * gst/parse/grammar.y:
-	  * gst/parse/parse.l:
-	  Reverted previous patch as it required to bump the flex dependency to
-	  2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
-
-2006-07-30 18:32:49 +0000  Marc-Andre Lureau <marcandre.lureau@gmail.com>
-
-	  gst/parse/: push & pop the state of the lexer for reentrant use case
-	  Original commit message from CVS:
-	  Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
-	  * gst/parse/Makefile.am:
-	  * gst/parse/grammar.y:
-	  * gst/parse/parse.l:
-	  push & pop the state of the lexer for reentrant use case
-	  Fixes #349180
-
-2006-07-29 13:45:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.h: Note in the docs that the ::newsegment vfunc is not actually used by
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.h:
-	  Note in the docs that the ::newsegment vfunc is not actually used by
-	  GstBaseSrc.
-
-2006-07-28 14:09:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: When flushing a pad, also clear the queued buffer so that we don't accidentally use i...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c:
-	  (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
-	  (gst_collect_pads_clear), (gst_collect_pads_flush),
-	  (gst_collect_pads_event), (gst_collect_pads_chain):
-	  When flushing a pad, also clear the queued buffer so that we don't
-	  accidentally use it when we shouldn't.
-	  Fix leaks by inreffing incomming buffer.
-	  Flush out queued buffers in case of errors.
-	  Fixes #347452.
-
-2006-07-28 10:17:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/phonon-gst: Random notes about a Phonon backend.
-	  Original commit message from CVS:
-	  * docs/random/phonon-gst:
-	  Random notes about a Phonon backend.
-
-2006-07-27 14:32:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstbasetransform.c: Extra debug output
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
-	  Extra debug output
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  Take a whack at fixing the ppc compile using a different define to
-	  disable the broken test.
-	  * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
-	  Remove excess g_print()
-
-2006-07-27 13:44:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/pipelines/parse-launch.c: Oops, meant to uncomment this line too to dampen the noise a bit.
-	  Original commit message from CVS:
-	  * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
-	  Oops, meant to uncomment this line too to dampen the noise a bit.
-
-2006-07-27 13:26:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Fix some of the leaks exposed by extending the parse-launch testsuite, and move the 3 I can't figure out into a separ...
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  * gst/parse/parse.l:
-	  * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
-	  (GST_START_TEST), (parse_suite):
-	  Fix some of the leaks exposed by extending the parse-launch testsuite,
-	  and move the 3 I can't figure out into a separate test that won't run
-	  the pipelines unless the appropriate line is uncommented.
-
-2006-07-27 12:39:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesrc.c: Requesting 0 bytes before the end of the file should result in
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  Requesting 0 bytes before the end of the file should result in
-	  FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
-	  unit test.
-
-2006-07-27 11:00:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Fix useless assert, a uint is always positive.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
-	  Fix useless assert, a uint is always positive.
-	  * gst/gststructure.c: (gst_structure_nth_field_name),
-	  (gst_structure_foreach), (gst_structure_map_in_place):
-	  Check input arguments for public functions to avoid obvious crashes.
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
-	  * plugins/elements/gstfakesink.h:
-	  Do less useless typechecking.
-
-2006-07-27 10:54:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesrc.c: Do not use mmap() by default since there are a number of error conditions that we woul...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
-	  Do not use mmap() by default since there are a number of error
-	  conditions that we would like to handle in a non-fatal way that
-	  will result in a SIGBUS if we use mmap(). Examples: external
-	  devices (USB harddrive, portable music player) being unplugged
-	  while in use; file on mounted CD/DVD that can't be read because
-	  the medium is partly damaged. Fixes #348455 and #348475.
-
-2006-07-26 22:59:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstquery.h: Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN - rates are a gdouble
-	  Original commit message from CVS:
-	  * gst/gstquery.h:
-	  Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
-	  rates are a gdouble
-
-2006-07-26 20:30:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistry.c: Move big documentation comment into class section header, so that it appears in the API docs.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c:
-	  Move big documentation comment into class section header, so that it
-	  appears in the API docs.
-
-2006-07-26 17:18:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/gst/gstreamer-sections.txt: Oops. Commit the docs additions too for new API.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Oops. Commit the docs additions too for new API.
-	  Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
-
-2006-07-26 17:04:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gststructure.*: Add API for setting values into structures without performing a quark lookup, if the appropriate ...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_id_set),
-	  (gst_structure_id_set_valist):
-	  * gst/gststructure.h:
-	  Add API for setting values into structures without performing
-	  a quark lookup, if the appropriate quark is already known.
-	  API: gst_structure_id_set
-	  API: gst_structure_id_set_valist
-	  * gst/parse/grammar.y:
-	  * gst/parse/parse.l:
-	  Remove some dead code shown by the coverage information.
-	  Don't throw a critical g_warning when encountering a syntax error,
-	  just warn and let the normal error path handle it.
-	  * plugins/elements/gstelements.c:
-	  Bump the rank of filesink up to PRIMARY so that it is preferred over
-	  gnomevfssink for file:// sink uri's
-	  * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
-	  (GST_START_TEST), (run_delayed_test),
-	  (gst_parse_test_element_base_init),
-	  (gst_parse_test_element_class_init), (gst_parse_test_element_init),
-	  (gst_parse_test_element_change_state),
-	  (gst_register_parse_element), (parse_suite):
-	  Beef up the tests for parse syntax to check that more error cases
-	  fail as they are supposed to. Increases the test coverage a bit.
-
-2006-07-26 11:43:23 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/basics-elements.xml: Fix gst_element_link() example.
-	  Original commit message from CVS:
-	  * docs/manual/basics-elements.xml:
-	  Fix gst_element_link() example.
-	  * gst/gstutils.c:
-	  Mention in API docs that one should usually gst_bin_add()
-	  elements to a bin or pipeline before doing the linking.
-
-2006-07-26 10:47:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  back to 32 bit
-	  Original commit message from CVS:
-	  back to 32 bit
-
-2006-07-26 10:39:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Avoid function call for known types by keeping the buffer and subbuffer GType global.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
-	  (gst_subbuffer_get_type), (gst_buffer_create_sub):
-	  Avoid function call for known types by keeping the buffer and
-	  subbuffer GType global.
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  Random silly optimisations in read() path.
-
-2006-07-26 06:18:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tools/gst-launch.c: If the top-level of the parse is a normal bin, it doesn't do the right logic to run as a top-leve...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  If the top-level of the parse is a normal bin, it doesn't do the
-	  right logic to run as a top-level element, so place it inside a
-	  pipeline.
-
-2006-07-25 19:37:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gstfilesrc.c: Remove superfluous g_object_notify() calls, GObject does that for us automatically.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
-	  Remove superfluous g_object_notify() calls, GObject does
-	  that for us automatically.
-
-2006-07-25 15:07:58 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  add latest .h addition
-	  Original commit message from CVS:
-	  add latest .h addition
-
-2006-07-25 13:06:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstinfo.h: Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to here.
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  Move the Win32 version from gst-plugins-good/gst/avi/avidemux.c to
-	  here.
-
-2006-07-24 16:33:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.c: Allow more than one GST_TAG_IMAGE per taglist.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  Allow more than one GST_TAG_IMAGE per taglist.
-
-2006-07-24 07:40:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstminiobject.c: update docs
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c:
-	  update docs
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
-	  (gst_fd_src_create):
-	  log recurring events at LOG level
-	  add more debug for when the fd gets set
-
-2006-07-24 07:37:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	* common:
-	  remove --enable-docs
-	  Original commit message from CVS:
-	  remove --enable-docs
-
-2006-07-23 09:41:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	* common:
-	  ChangeLog surgery: add bug reference
-	  Original commit message from CVS:
-	  ChangeLog surgery: add bug reference
-
-2006-07-21 18:52:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstparse.c: Also remove reentrance checks if flex is MT save (#348179)
-	  Original commit message from CVS:
-	  * gst/gstparse.c: (gst_parse_launch):
-	  Also remove reentrance checks if flex is MT save (#348179)
-	  Fix my empty ChangeLog entry below
-
-2006-07-21 16:01:34 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
-	  Original commit message from CVS:
-	  2006-07-21  Andy Wingo  <wingo@pobox.com>
-	  * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
-
-2006-07-21 15:48:04 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/check/Makefile.am (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
-	  Original commit message from CVS:
-	  2006-07-21  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/check/Makefile.am
-	  (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
-	  (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
-	  * libs/gst/check/gstbufferstraw.h:
-	  * libs/gst/check/gstbufferstraw.c: Add some new hype testing
-	  functions, thus proving I am still a GStreamer haxor. OK I wrote
-	  them a long time ago, but anyways.
-
-2006-07-21 13:11:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* common:
-	* configure.ac:
-	* gst/gstparse.c:
-	  Original commit message from CVS: * configure.ac: * gst/gstparse.c: (gst_parse_launch):
-
-2006-07-21 10:40:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstparse.c: Protect recursive calls to _parse with a recursive mutex and busy flag.
-	  Original commit message from CVS:
-	  * gst/gstparse.c: (gst_parse_launch):
-	  Protect recursive calls to _parse with a recursive mutex
-	  and busy flag.
-
-2006-07-21 10:38:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstpad.c: Fix leak in test.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstpad.c: (GST_START_TEST):
-	  Fix leak in test.
-
-2006-07-20 20:02:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstparse.c: Do not hange on recursive uasge of gst_parse_launch()
-	  Original commit message from CVS:
-	  * gst/gstparse.c: (gst_parse_launch):
-	  Do not hange on recursive uasge of gst_parse_launch()
-
-2006-07-20 16:10:17 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.c: Add some more docs, comments and FIXME 0.11s here and there and  also fix some typos.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c:
-	  Add some more docs, comments and FIXME 0.11s here and there
-	  and  also fix some typos.
-
-2006-07-20 10:50:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstsegment.h: Convert tabs to spaces for better readability.
-	  Original commit message from CVS:
-	  * gst/gstsegment.h:
-	  Convert tabs to spaces for better readability.
-
-2006-07-20 10:25:28 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/libs/gdp.c: the test_buffer test fails at line 140 on ppc64 at the following check: "GST_BUFFER_IN_CAPS f...
-	  Original commit message from CVS:
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  the test_buffer test fails at line 140 on ppc64 at the following
-	  check:
-	  fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer, GST_BUFFER_FLAG_IN_CAPS),
-	  "GST_BUFFER_IN_CAPS flag should have been copied !");
-	  See bug #348114 for more details.
-
-2006-07-19 12:40:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Fix typos (#348000).
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-scheduling.xml:
-	  * gst/gstpad.c:
-	  Fix typos (#348000).
-
-2006-07-18 20:38:45 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/intro-basics.xml: Fix wrong links (#347927).
-	  Original commit message from CVS:
-	  * docs/pwg/intro-basics.xml:
-	  Fix wrong links (#347927).
-
-2006-07-18 19:01:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  make --disable-index work (#342564)
-	  Original commit message from CVS:
-	  * gst/gstregistry.h:
-	  * gst/gstregistryxml.c: (load_feature),
-	  (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
-	  * win32/common/config.h:
-	  make --disable-index work (#342564)
-
-2006-07-18 09:42:31 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/: The attached patch adds two missing defines to gsttrace.h when tracing is disabled.  It also corrects one exist...
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis dot com>
-	  * gst/Makefile.am:
-	  * gst/gsttrace.h:
-	  The attached patch adds two missing defines to gsttrace.h when tracing
-	  is disabled.  It also corrects one existing define.
-	  Fixes #347756.
-
-2006-07-17 17:40:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add two functions to check and change the SIGSEGV behaviour when loading plugins.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
-	  * gst/gst.h:
-	  * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
-	  Add two functions to check and change the SIGSEGV behaviour
-	  when loading plugins.
-	  Don't mess with the SIGSEGV handler when we were told not to.
-	  Fixes #347794.
-	  API: gst_segtrap_is_enabled
-	  API: gst_segtrap_set_enabled
-
-2006-07-14 16:42:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Revert fix for regression in #347408 after release.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
-	  * tests/check/elements/filesrc.c: (GST_START_TEST):
-	  Revert fix for regression in #347408 after release.
-
-2006-07-14 16:20:18 +0000  Antoine Tremblay <hexa00@gmail.com>
-
-	  gst/gstutils.c: Free iterator when done (#347311).
-	  Original commit message from CVS:
-	  Patch by: Antoine Tremblay <hexa00 at gmail com>
-	  * gst/gstutils.c: (gst_element_unlink):
-	  Free iterator when done (#347311).
-	  * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  And add a test case for this.
-
-2006-07-14 15:52:55 +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:50:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: releasing 0.10.9, "On the road again"
-	  Original commit message from CVS:
-	  2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
-	  * configure.ac:
-	  releasing 0.10.9, "On the road again"
-
-2006-07-13 19:47:14 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2006-07-13 15:51:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Revert pull-0 fix for release. Disable check. Fixes #347408.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
-	  * tests/check/elements/filesrc.c: (GST_START_TEST):
-	  Revert pull-0 fix for release. Disable check. Fixes #347408.
-
-2006-07-13 14:02:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: Fixes #347337: 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-07-13 13:57:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/Makefile.am: do not install a .c file in the header directory
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  do not install a .c file in the header directory
-
-2006-07-13 10:47:00 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstghostpad.c: GhostPad no longer implicitely use the padtemplates of the targets.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
-	  GhostPad no longer implicitely use the padtemplates of the targets.
-	  Fixes #347384
-
-2006-07-11 22:55:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2006-07-11 20:44:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Mention bug #341029 fixed by bilboed's previous commit
-	  Original commit message from CVS:
-	  Mention bug #341029 fixed by bilboed's previous commit
-
-2006-07-11 20:14:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Make GstValueArray comparison be order dependent as designed.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_compare_list),
-	  (gst_value_compare_array), (_gst_value_initialize):
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Make GstValueArray comparison be order dependent as designed.
-	  Add checks for value lists and value array comparisons.
-	  Fixes #347221
-
-2006-07-11 16:20:09 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstbin.c: (de)activate src pads before calling state_change on the childs.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (activate_pads),
-	  (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
-	  (gst_bin_change_state_func):
-	  (de)activate src pads before calling state_change on the childs.
-	  This is to avoid the case where a src ghostpad is blocked (holding the
-	  stream lock), which would block the deactivation of the ghostpad's
-	  target pad.
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
-	  (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
-	  (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
-	  (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
-	  (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
-	  (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
-	  (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
-	  (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
-	  (gst_proxy_pad_dispose), (gst_proxy_pad_init),
-	  (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
-	  (gst_ghost_pad_class_init),
-	  (gst_ghost_pad_internal_do_activate_push),
-	  (gst_ghost_pad_internal_do_activate_pull),
-	  (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
-	  (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
-	  (gst_ghost_pad_new), (gst_ghost_pad_set_target):
-	  GhostPads now create their internal GstProxyPad at creation (and not
-	  when they're linked, as it was being done previously).
-	  The internal and target pads are linked straight away.
-	  The data will also travel through the other pad in order to make
-	  pad blocking and probes non-hackish (the probe/block now really happens
-	  on the GhostPad and not on the target).
-	  * gst/gstpad.c: (gst_pad_set_blocked_async),
-	  (gst_pad_link_prepare), (gst_pad_push_event):
-	  Remove previous ghostpad cruft.
-	  * gst/gstutils.c: (gst_pad_add_data_probe),
-	  (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
-	  (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
-	  (gst_pad_remove_buffer_probe):
-	  Remove previous ghost pad cruft.
-	  Added more detailed debug statements.
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  Fix the testsuite for refcounting changes.
-	  The comments about who has references were correct, but the refcount
-	  being checked wasn't the same (!?!).
-
-2006-07-10 19:35:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  More docs for configuration options, add docs to gtk-doc.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstconfig.h.in:
-	  More docs for configuration options, add docs to gtk-doc.
-
-2006-07-10 18:27:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Fix build when disabling tracing (fixes #344016). Also start to document the defines that disable the sub-systems.
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/gstconfig.h.in:
-	  * win32/common/config.h:
-	  Fix build when disabling tracing (fixes #344016). Also start to document
-	  the defines that disable the sub-systems.
-
-2006-07-10 09:42:20 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gst.c: let's make valgrind happy...
-	  Original commit message from CVS:
-	  * gst/gst.c: (ensure_current_registry_forking):
-	  let's make valgrind happy...
-
-2006-07-09 16:56:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Better pad activation code: Reset the collect value too on resync.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (activate_pads),
-	  (iterator_activate_fold_with_resync), (gst_element_pads_activate):
-	  Better pad activation code: Reset the collect value too on resync.
-	  Add some comments.
-
-2006-07-09 13:26:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Use some more macros where it makes sense.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
-	  (gst_pad_activate_push):
-	  Use some more macros where it makes sense.
-	  Allow pad mode switching instead of asserting. When a pad
-	  is activated in one mode and we activate it in another,
-	  deactivate it first before activating it in a different mode.
-	  Fixes #329198.
-
-2006-07-08 13:22:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tools/gst-launch.c (main): Handle err == NULL. gst/gst.c (init_post, ensure_current_registry) (ensure_current_registr...
-	  Original commit message from CVS:
-	  2006-07-08  Andy Wingo  <wingo@pobox.com>
-	  * tools/gst-launch.c (main): Handle err == NULL.
-	  * gst/gst.c (init_post, ensure_current_registry)
-	  (ensure_current_registry_forking)
-	  (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
-	  factoring out the registry scanning into separate functions. Don't
-	  fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
-	  Better environment var name/interface suggestions accepted.
-
-2006-07-07 17:16:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstobject.c: Random micro-optimisation: don't use a hash table with strings as keys and the usual strdup/strcmp i...
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_set_name_default),
-	  (gst_object_set_name):
-	  Random micro-optimisation: don't use a hash table
-	  with strings as keys and the usual strdup/strcmp
-	  involved, but rather just use the GQuark of the
-	  type name as key, since it needs to be looked up
-	  anyway to get the type name string.
-	  * tests/check/gst/gstobject.c: (GST_START_TEST):
-	  Fix various leaks.
-
-2006-07-07 15:42:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.c: Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
-	  (gst_bin_iterate_all_by_interface):
-	  Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
-	  GTypes are gulongs and thus the top 4 bytes might be cut
-	  off on some platforms when doing GPOINTER_TO_INT, leading
-	  to invalid GTypes and bad things happening.
-	  Also add a check to make sure the type passed in is really
-	  an interface type.
-
-2006-07-07 09:47:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  .cvsignore: Ignore more.
-	  Original commit message from CVS:
-	  * .cvsignore:
-	  Ignore more.
-
-2006-07-07 09:09:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION instead of the unversioned gst-inspect (#324176, #168659).
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  * configure.ac:
-	  * gst-element-check.m4:
-	  * gst-element-check.m4.in:
-	  Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
-	  instead of the unversioned gst-inspect (#324176, #168659).
-
-2006-07-06 16:17:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.h: Use a valid int for the _MESSAGE_ANY enum value to avoid compiler warnings.
-	  Original commit message from CVS:
-	  * gst/gstmessage.h:
-	  Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
-	  warnings.
-
-2006-07-06 15:46:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Update docs. blocksize == 0 now means the default blocksize when working in push based mode.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_wait), (gst_base_src_update_length),
-	  (gst_base_src_get_range), (gst_base_src_default_check_get_range),
-	  (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
-	  (gst_base_src_loop), (gst_base_src_start),
-	  (gst_base_src_activate_pull):
-	  Update docs.
-	  blocksize == 0 now means the default blocksize when working in push
-	  based mode.
-	  Remove some pointless asserts in _wait function.
-	  Fix offset/length calculations and EOS handling. We can now pull 0
-	  bytes as well, which is allowed.
-	  use _check_get_range() to decide if we can operate in _pull based
-	  mode.
-	  Fix refcounting leak when check_get_range function was not
-	  implemented.
-	  API GstBaseSrc::blocksize range can be 0 too now (default)
-	  * tests/check/elements/filesrc.c: (GST_START_TEST),
-	  (filesrc_suite):
-	  Added check to test _get_range() behaviour.
-
-2006-07-06 15:21:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.*: Lots of comments and docs added to the pad functions.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
-	  (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
-	  (gst_pad_pull_range):
-	  * gst/gstpad.h:
-	  Lots of comments and docs added to the pad functions.
-	  Flesh out the expected behaviour of the get_range() functions.
-
-2006-07-06 09:21:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Remove comma at end of enumerator list.
-	  Original commit message from CVS:
-	  * gst/gstbus.h:
-	  * gst/gstclock.h:
-	  * gst/gstevent.h:
-	  * gst/gstiterator.h:
-	  * gst/gstpad.h:
-	  * gst/gstplugin.h:
-	  * gst/gsttask.h:
-	  Remove comma at end of enumerator list.
-
-2006-07-05 19:56:08 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/: Add new exported functions.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstdataprotocol.def:
-	  * win32/common/libsgtreamer.def:
-	  Add new exported functions.
-
-2006-07-05 18:20:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstpushsrc.c: Add some more docs here and there.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
-	  Add some more docs here and there.
-
-2006-07-05 18:18:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: When operating in pull mode update the offset so that we read sequentially.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
-	  (gst_base_sink_loop), (gst_base_sink_get_position):
-	  When operating in pull mode update the offset so that we
-	  read sequentially.
-
-2006-07-05 18:17:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstregistryxml.c: Avoid strdup. (will happen in libxml, but hey!)
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (read_string):
-	  Avoid strdup. (will happen in libxml, but hey!)
-	  * gst/gsturi.c:
-	  Add some more docs.
-
-2006-07-05 17:09:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  No point in checking if the size of the subbuffer > 0, the code handles it correclty as demonstrated by unit test.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST),
-	  (gst_buffer_suite):
-	  No point in checking if the size of the subbuffer > 0, the
-	  code handles it correclty as demonstrated by unit test.
-	  Also add a unit test for the zero sized _new_and_alloc and
-	  _copy. Fixes #346663.
-
-2006-07-05 08:16:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Make sure the buffer we pass to transform_ip has a refcount of 1 and thus is writab...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer):
-	  Make sure the buffer we pass to transform_ip has a refcount of
-	  1 and thus is writable. Fixes #343196
-
-2006-07-04 09:01:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstfilesrc.*: Add "sequential" property, off by default, to use madvise and hint to the kernel that ...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
-	  (gst_file_src_init), (gst_file_src_set_property),
-	  (gst_file_src_get_property), (gst_file_src_map_region):
-	  * plugins/elements/gstfilesrc.h:
-	  Add "sequential" property, off by default, to use madvise and hint
-	  to the kernel that sequential access is desired.
-	  Touch all retrieved pages by default to ensure they are pulled
-	  into memory. (Closes #345720)
-
-2006-07-03 17:44:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Small docs updates.
-	  Original commit message from CVS:
-	  * docs/design/part-block.txt:
-	  * docs/design/part-dynamic.txt:
-	  Small docs updates.
-
-2006-07-03 16:57:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Use GSlice when the glib we build against is >= 2.10
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
-	  (gst_caps_unref), (gst_static_caps_get),
-	  (gst_caps_append_structure):
-	  * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
-	  Use GSlice when the glib we build against is >= 2.10
-
-2006-07-03 16:46:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Small cleanup in pad activation code.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_pads_activate):
-	  Small cleanup in pad activation code.
-
-2006-07-03 14:14:48 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  The attached patch will make the inclusion of gettext.h unconditional in gst/gst-i18n-app.h and gst/gst-i18n-lib.h, a...
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis dot com>
-	  * gst/gst-i18n-app.h:
-	  * gst/gst-i18n-lib.h:
-	  * tools/gst-inspect.c: (print_signal_info):
-	  The attached patch will make the inclusion of gettext.h unconditional in
-	  gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
-	  libintl.h in tools/gst-inspect.c.
-	  This allows use of --disable-nls again and fixes #344642.
-
-2006-07-03 11:10:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/gst/gstbin.c:
-	  fix leak
-	  Original commit message from CVS:
-	  fix leak
-
-2006-07-03 10:30:49 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpad.c: Implement pad blocking on events according to part-block.txt.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
-	  Implement pad blocking on events according to part-block.txt.
-	  More comments on behaviour.
-	  * tests/check/gst/gstevent.c: (test_event):
-	  Send event to peer pad of blocked pad (else it will block).
-
-2006-07-02 23:22:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.c: if we get the wrong message, give us the types as string
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_message_error),
-	  (gst_check_run_suite):
-	  if we get the wrong message, give us the types as string
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_start):
-	  Fix a translatable
-	  * tests/check/elements/filesrc.c: (GST_START_TEST):
-	  add a test for trying to open a non-existing file
-
-2006-07-02 22:44:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  add macros
-	  Original commit message from CVS:
-	  add macros
-
-2006-07-02 22:28:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/Makefile.am:
-	  remove double var
-	  Original commit message from CVS:
-	  remove double var
-
-2006-07-02 22:27:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* plugins/elements/Makefile.am:
-	  clean more
-	  Original commit message from CVS:
-	  clean more
-
-2006-07-02 22:20:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/.gitignore:
-	* docs/libs/.gitignore:
-	* tests/benchmarks/.gitignore:
-	* tests/check/elements/.gitignore:
-	* tests/check/generic/.gitignore:
-	* tests/check/gst/.gitignore:
-	* tests/check/libs/.gitignore:
-	* tests/check/pipelines/.gitignore:
-	* tests/examples/controller/.gitignore:
-	* tests/examples/helloworld/.gitignore:
-	* tests/examples/launch/.gitignore:
-	* tests/examples/metadata/.gitignore:
-	* tests/examples/queue/.gitignore:
-	* tests/examples/typefind/.gitignore:
-	* tests/examples/xml/.gitignore:
-	  moap ignore
-	  Original commit message from CVS:
-	  moap ignore
-
-2006-07-02 22:17:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/gstbin.c: add a test for adding self
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
-	  add a test for adding self
-
-2006-07-02 22:05:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.h: add some assert_ as alias for fail_unless_*
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.h:
-	  add some assert_ as alias for fail_unless_*
-	  * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
-	  increase test coverage
-
-2006-07-02 21:54:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: include lcov.mak for lcov coverage generation
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  include lcov.mak for lcov coverage generation
-	  * tools/Makefile.am:
-	  add to CLEANFILES
-
-2006-07-02 21:52:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	  whitespace/doc fixes
-	  Original commit message from CVS:
-	  whitespace/doc fixes
-
-2006-07-02 16:27:14 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tests/check/elements/.cvsignore: moaping
-	  Original commit message from CVS:
-	  * tests/check/elements/.cvsignore:
-	  moaping
-
-2006-07-02 14:39:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: don't set CFLAGS and friends for gcov, done from GST_GCOV now
-	  Original commit message from CVS:
-	  * configure.ac:
-	  don't set CFLAGS and friends for gcov, done from GST_GCOV now
-	  * tests/check/Makefile.am:
-	  clean up gcov files
-
-2006-07-02 14:37:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstcaps.c: remove gst_caps_simplify; it was not declared and not used and deprecated in 0.8
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
-	  remove gst_caps_simplify; it was not declared and not used
-	  and deprecated in 0.8
-
-2006-07-02 14:05:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/faq/gst-uninstalled: don't put empty paths on PYTHONPATH
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  don't put empty paths on PYTHONPATH
-	  * docs/gst/gstreamer-sections.txt:
-	  remove some symbols that are not there
-
-2006-07-02 12:57:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/gst/gstcaps.c:
-	  unbreak test
-	  Original commit message from CVS:
-	  unbreak test
-
-2006-07-02 12:54:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstcaps.c: whitespace fixes
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_compare_structures):
-	  whitespace fixes
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST):
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
-	  add more tests
-
-2006-07-02 12:52:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2006-07-02 09:04:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/dataprotocol/Makefile.am: build dataprotocol test by linking to the lib, instead of compiling the source, so...
-	  Original commit message from CVS:
-	  * libs/gst/dataprotocol/Makefile.am:
-	  build dataprotocol test by linking to the lib, instead of
-	  compiling the source, so we get coverage
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
-	  (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
-	  add a test for filesrc
-
-2006-07-02 08:26:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/gststructure.c: Push coverage from 59.04% to 70.00%
-	  Original commit message from CVS:
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  Push coverage from 59.04% to 70.00%
-
-2006-07-02 00:40:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/gststructure.c: Push coverage from 59.04% to 70.00%
-	  Original commit message from CVS:
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  Push coverage from 59.04% to 70.00%
-
-2006-07-02 00:39:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/base/.gitignore:
-	* libs/gst/check/.gitignore:
-	* libs/gst/dataprotocol/.gitignore:
-	  moap ignore
-	  Original commit message from CVS:
-	  moap ignore
-
-2006-07-02 00:38:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/base/.gitignore:
-	  moap ignore
-	  Original commit message from CVS:
-	  moap ignore
-
-2006-07-02 00:33:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/Makefile.am: gst-inspect every element; this makes sure that we also get coverage on element's get/set fu...
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  gst-inspect every element; this makes sure that we also get
-	  coverage on element's get/set functions
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  Push coverage from 59.04% to 70.00%
-
-2006-07-01 23:26:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS
-	  Original commit message from CVS:
-	  * configure.ac:
-	  set CFLAGS and friends to -O0 if gcov is being used
-	  add GCOV LIBS
-	  * gst/Makefile.am:
-	  * libs/gst/base/Makefile.am:
-	  * libs/gst/check/Makefile.am:
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/dataprotocol/Makefile.am:
-	  * libs/gst/net/Makefile.am:
-	  * plugins/elements/Makefile.am:
-	  * plugins/indexers/Makefile.am:
-	  add makefile rules to generate gcov data and clean up
-	  * tests/check/Makefile.am:
-	  add a coverage target that generates an html overview
-	  of coverage data
-
-2006-07-01 23:19:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	  fix docs build
-	  Original commit message from CVS:
-	  fix docs build
-
-2006-07-01 20:56:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/: use the new macro
-	  Original commit message from CVS:
-	  * tests/check/elements/fakesink.c:
-	  * tests/check/elements/fakesrc.c:
-	  * tests/check/elements/fdsrc.c:
-	  * tests/check/elements/identity.c:
-	  * tests/check/generic/sinks.c: (gst_sinks_suite):
-	  * tests/check/generic/states.c:
-	  * tests/check/gst/gst.c:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/gstbin.c:
-	  * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
-	  * tests/check/gst/gstbus.c: (gst_bus_suite):
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST):
-	  * tests/check/gst/gstelement.c:
-	  * tests/check/gst/gstevent.c: (gst_event_suite):
-	  * tests/check/gst/gstghostpad.c:
-	  * tests/check/gst/gstiterator.c: (gst_iterator_suite):
-	  * tests/check/gst/gstmessage.c: (gst_message_suite):
-	  * tests/check/gst/gstminiobject.c:
-	  * tests/check/gst/gstobject.c:
-	  * tests/check/gst/gstpad.c:
-	  * tests/check/gst/gstpipeline.c:
-	  * tests/check/gst/gstplugin.c:
-	  * tests/check/gst/gstquery.c: (gst_query_suite):
-	  * tests/check/gst/gstsegment.c: (gst_segment_suite):
-	  * tests/check/gst/gststructure.c:
-	  * tests/check/gst/gstsystemclock.c:
-	  * tests/check/gst/gsttag.c:
-	  * tests/check/gst/gsttask.c: (gst_task_suite):
-	  * tests/check/gst/gstutils.c:
-	  * tests/check/gst/gstvalue.c:
-	  * tests/check/libs/adapter.c:
-	  * tests/check/libs/basesrc.c:
-	  * tests/check/libs/collectpads.c:
-	  * tests/check/libs/controller.c:
-	  * tests/check/libs/gdp.c: (gst_dp_suite):
-	  * tests/check/libs/gstnetclientclock.c:
-	  * tests/check/libs/gstnettimeprovider.c:
-	  * tests/check/libs/libsabi.c: (libsabi_suite):
-	  * tests/check/libs/typefindhelper.c:
-	  * tests/check/pipelines/cleanup.c:
-	  * tests/check/pipelines/parse-launch.c:
-	  * tests/check/pipelines/simple-launch-lines.c:
-	  * tests/check/pipelines/stress.c: (stress_suite):
-	  use the new macro
-
-2006-07-01 20:54:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.*: create a macro and function so that the simple unit test case can be just one macro to cre...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_run_suite):
-	  * libs/gst/check/gstcheck.h:
-	  create a macro and function so that the simple unit test
-	  case can be just one macro to create main()
-
-2006-06-30 13:17:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Fix deserialisation from XML. Set parent manually instead of using gst_bin_add(), since gst_bin_add() will unli...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_restore_thyself):
-	  * gst/gstxml.c: (gst_xml_make_element):
-	  Fix deserialisation from XML. Set parent manually
-	  instead of using gst_bin_add(), since gst_bin_add()
-	  will unlink all pads of the element being added.
-	  Fixes #341667.
-
-2006-06-28 15:19:08 +0000  Peter Kjellerstedt <pkj@axis.com>
-
-	  gst/gst.c: Fix missing g_strdup() and double free when using the
-	  Original commit message from CVS:
-	  Patch by: Peter Kjellerstedt <pkj at axis com>
-	  * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
-	  Fix missing g_strdup() and double free when using the
-	  --gst-plugin-load command line option (#346097).
-
-2006-06-23 13:16:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
-	  * libs/gst/net/gstnetclientclock.c:
-	  * libs/gst/net/gstnettimeprovider.c:
-	  Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
-
-2006-06-23 10:30:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-dataaccess.xml: Fix buffer probe example compilation in
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  Fix buffer probe example compilation in
-	  ADM (#345708).
-
-2006-06-22 17:09:13 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstelement.c: We need to deactivate src pads first and then sink pads.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_pads_activate):
-	  We need to deactivate src pads first and then sink pads.
-	  The reason is the src pads might be blocking while holding the streaming
-	  lock, so we need to deactivate them first so that deactivating the sink
-	  pads doesn't block (since it will require the streaming lock).
-
-2006-06-22 15:12:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Forgot to remove two unneeded unrefs.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Forgot to remove two unneeded unrefs.
-	  Simplify a check _is_equal allready checks the obvious case.
-
-2006-06-22 14:09:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-block.txt: Some docs about what pad_block should do.
-	  Original commit message from CVS:
-	  * docs/design/part-block.txt:
-	  Some docs about what pad_block should do.
-
-2006-06-22 13:51:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Fix crasher when passed NULL. Doc clarification.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_replace):
-	  Fix crasher when passed NULL. Doc clarification.
-	  Optimize for the trivial case.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Small cleanups.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Small documentation cleanup.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_buffer_alloc):
-	  Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
-	  is what we need and it avoids a whole lot of redundant
-	  refcount operations.
-
-2006-06-22 08:53:40 +0000  Philip Jägenstedt <philip@lysator.liu.se>
-
-	  docs/manual/advanced-dataaccess.xml: Fix 'Embedding static elements' section to use
-	  Original commit message from CVS:
-	  Patch by: Philip Jägenstedt  <philip at lysator liu se>
-	  * docs/manual/advanced-dataaccess.xml:
-	  Fix 'Embedding static elements' section to use
-	  GST_PLUGIN_DEFINE_STATIC (#345607).
-
-2006-06-21 11:12:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/pipelines/simple-launch-lines.c: Attempt to 'fix' spuriously failing test case: it seems like the timeout...
-	  Original commit message from CVS:
-	  * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
-	  Attempt to 'fix' spuriously failing test case: it seems like the
-	  timeout of half a second is simply too small when the system is under
-	  load otherwise, and the timeout doesn't really seem to serve any
-	  particular purpose here. Give the pipeline a few seconds to preroll
-	  first, and then give it another half a second to go from PAUSED to
-	  PLAYING and marshal the message into the main thread.
-
-2006-06-21 10:14:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-feedback-m.m: Don't only use unversioned tools, try versioned tools as well (#345086).
-	  Original commit message from CVS:
-	  * tools/gst-feedback-m.m:
-	  Don't only use unversioned tools, try versioned tools as well
-	  (#345086).
-
-2006-06-21 10:01:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: Fix some typos, make docs more explicit.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_class_init):
-	  Fix some typos, make docs more explicit.
-
-2006-06-20 08:40:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstghostpad.c: Added some more ghostpad tests, mainly blocking and probes.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstghostpad.c: (block_callback),
-	  (GST_START_TEST), (gst_ghost_pad_suite):
-	  Added some more ghostpad tests, mainly blocking
-	  and probes.
-
-2006-06-19 08:56:48 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  latest updates
-	  Original commit message from CVS:
-	  latest updates
-
-2006-06-16 16:28:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfilesink.*: Check if we can seek in the file instead of assuming we always can. Post an error whe...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
-	  (gst_file_sink_close_file), (gst_file_sink_do_seek),
-	  (gst_file_sink_event), (gst_file_sink_render):
-	  * plugins/elements/gstfilesink.h:
-	  Check if we can seek in the file instead of assuming
-	  we always can. Post an error when we are asked to seek in a
-	  non-seekable file (like a fifo). Fixes #343312.
-	  Some cleanups.
-
-2006-06-16 14:31:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.1.in: Un-garble (fourcc) bit in filtered caps section.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Un-garble (fourcc) bit in filtered caps section.
-
-2006-06-16 09:39:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Don't leak bus reference in sample code.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/highlevel-components.xml:
-	  Don't leak bus reference in sample code.
-
-2006-06-16 08:30:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  autogen.sh: Add default for new --enable-plugin-docs switch.
-	  Original commit message from CVS:
-	  * autogen.sh:
-	  Add default for new --enable-plugin-docs switch.
-	  * configure.ac:
-	  Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
-	  Fixes #344039.
-	  * docs/Makefile.am:
-	  Use new ENABLE_PLUGIN_DOCS conditional.
-
-2006-06-14 10:34:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Make it clear with a FIXME and a real define what the #if 0 previously disabled.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
-	  Make it clear with a FIXME and a real define what the #if 0
-	  previously disabled.
-
-2006-06-14 10:31:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/: Don't randomly and silently reset a segment when the format changes as this is a bug somewhere upstre...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
-	  (gst_base_sink_preroll_object), (gst_base_sink_get_position):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_eventfunc):
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
-	  Don't randomly and silently reset a segment when the format
-	  changes as this is a bug somewhere upstream. Fixes #330379.
-
-2006-06-14 08:26:53 +0000  Wouter Paesen <wouter@kangaroot.net>
-
-	  libs/gst/controller/gstcontroller.c: Fix controlling of float properties (#344849).
-	  Original commit message from CVS:
-	  Patch by: Wouter Paesen  <wouter at kangaroot net>
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_new):
-	  Fix controlling of float properties (#344849).
-	  * tests/check/libs/controller.c:
-	  (gst_test_mono_source_get_property),
-	  (gst_test_mono_source_set_property),
-	  (gst_test_mono_source_class_init), (GST_START_TEST):
-	  While we're at it, add some float stuff to unit test.
-
-2006-06-13 19:24:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/: add a gdp image
-	  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-13 16:41:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: If the fork()'ed child process can't write the updated registry cache file to disk for some reason, make i...
-	  Original commit message from CVS:
-	  * gst/gst.c: (scan_and_update_registry), (init_post):
-	  If the fork()'ed child process can't write the updated registry cache
-	  file to disk for some reason, make it exit with a failure exit code,
-	  so that the parent can then re-scan the plugins itself and update the
-	  registry structures in memory and work with that (rather than failing
-	  when creating elements because seemingly no plugins are available).
-	  Refactor registry scanning code into separate function for this and
-	  also separate fork() and non-fork() code paths. Fixes #344748.
-
-2006-06-13 16:24:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/manual/advanced-dataaccess.xml: Fix wrong PluginDesc. Fixes #344755.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  Fix wrong PluginDesc. Fixes #344755.
-
-2006-06-13 13:30:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistryxml.c: Fix silly bug that prevented us from creating ~/.gstreamer-0.10 and writing the registry in one...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
-	  Fix silly bug that prevented us from creating
-	  ~/.gstreamer-0.10 and writing the registry in one
-	  go (the first call to g_mkstemp() would overwrite the
-	  placeholder in the template string, so the second call
-	  to g_mkstemp() after creating the missing directory
-	  would then error out with 'invalid argument').
-
-2006-06-13 11:17:02 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gst.c: Free string.
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  Free string.
-
-2006-06-13 08:20:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: remove GLib 2.6 compatibility code
-	  Original commit message from CVS:
-	  * gst/glib-compat-private.h:
-	  * gst/glib-compat.c:
-	  * gst/glib-compat.h:
-	  * gst/gstvalue.c: (gst_value_serialize_flags):
-	  remove GLib 2.6 compatibility code
-
-2006-06-12 16:50:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/parse/Makefile.am: Fix build with 'make -j N' even more (#340016).
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Fix build with 'make -j N' even more (#340016).
-
-2006-06-12 09:37:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Fix docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Fix docs.
-
-2006-06-12 09:29:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Use G_UNLIKELY to help the compiler a bit.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_set_duration),
-	  (gst_segment_set_last_stop), (gst_segment_set_seek),
-	  (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time), (gst_segment_clip):
-	  Use G_UNLIKELY to help the compiler a bit.
-
-2006-06-12 09:28:35 +0000  Stefan Kost <ensonic@sonicpulse.de>
-
-	  gst/: constify quark registration strings. Fixes #344115
-	  Original commit message from CVS:
-	  Patch by: Stefan Kost <ensonic at sonicpulse dot de>
-	  * gst/gstevent.c: (gst_event_get_type):
-	  * gst/gstmessage.c:
-	  * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
-	  (gst_pad_push):
-	  constify quark registration strings. Fixes #344115
-	  Avoid unneeded type checking is _pad_push() by internally
-	  calling gst_pad_chain_unchecked().
-
-2006-06-12 09:23:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Init _type for consistency.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
-	  (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
-	  (gst_subbuffer_finalize), (gst_buffer_create_sub),
-	  (gst_buffer_is_span_fast), (gst_buffer_span):
-	  Init _type for consistency.
-	  Use _FLAGS macro to avoid type check.
-	  Avoid unneeded type checks in subbufer code.
-
-2006-06-12 09:17:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Use _CAST macros to avoid unneeded type checking.
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_debug_help):
-	  * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
-	  (gst_plugin_feature_list_free):
-	  * gst/gstregistry.c: (gst_registry_add_plugin),
-	  (gst_registry_add_feature), (gst_registry_plugin_filter),
-	  (gst_registry_feature_filter), (gst_registry_find_plugin),
-	  (gst_registry_find_feature), (gst_registry_get_plugin_list),
-	  (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
-	  * gst/gstregistryxml.c: (load_feature),
-	  (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
-	  * gst/gstminiobject.c: (gst_mini_object_unref),
-	  (gst_mini_object_replace), (gst_value_mini_object_free),
-	  (gst_value_mini_object_copy):
-	  Use _CAST macros to avoid unneeded type checking.
-	  Added some more G_UNLIKELY.
-
-2006-06-12 09:11:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.h: Avoid unneeded type checking.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Avoid unneeded type checking.
-	  API: GST_BUFFER_IS_DISCONT
-	  * gst/gstminiobject.h:
-	  Avoid type check in flag accessor.
-	  * gst/gstelementfactory.h:
-	  * gst/gstplugin.h:
-	  * gst/gstpluginfeature.h:
-	  Add _CAST macros.
-	  API: GST_ELEMENT_FACTORY_CAST
-	  API: GST_PLUGIN_CAST
-	  API: GST_PLUGIN_FEATURE_CAST
-
-2006-06-12 09:06:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstobject.c: Add G_UNLIKELY in type registration.
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
-	  (gst_object_unref):
-	  Add G_UNLIKELY in type registration.
-	  Avoid type check in _ref/_unref since that is also
-	  done in glib.
-
-2006-06-12 08:55:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add G_UNLIKELY in type registration.
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (gst_g_error_get_type):
-	  * gst/gstpadtemplate.c: (gst_pad_template_get_type),
-	  (gst_static_pad_template_get_type):
-	  * gst/gsttaglist.c: (gst_tag_list_get_type):
-	  * gst/gsttagsetter.c: (gst_tag_setter_get_type):
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
-	  * gst/gsturi.c: (gst_uri_handler_get_type):
-	  * gst/gstvalue.c: (gst_date_get_type):
-	  * gst/gstxml.c: (gst_xml_get_type):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
-	  (gst_base_sink_preroll_object), (gst_base_sink_get_position):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
-	  Add G_UNLIKELY in type registration.
-
-2006-06-12 08:51:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-inspect.c: Properly print enum values.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_signal_info):
-	  Properly print enum values.
-
-2006-06-12 08:47:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstinfo.*: Add some G_[UN]LIKELY.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (gst_debug_set_active),
-	  (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
-	  * gst/gstinfo.h:
-	  Add some G_[UN]LIKELY.
-	  Maintain __gst_debug_min to avoid formatting the arguments of
-	  debug messages that will be dropped anyway to avoid a lot of
-	  overhead from the debugging system.
-
-2006-06-11 20:37:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  po/POTFILES.*: add missing files containing translatable strings, tell intltool about one exception
-	  Original commit message from CVS:
-	  * po/POTFILES.in:
-	  * po/POTFILES.skip:
-	  add missing files containing translatable strings, tell intltool about
-	  one exception
-
-2006-06-11 17:28:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/check/libs/.cvsignore: add test-binary to ignore list
-	  Original commit message from CVS:
-	  * tests/check/libs/.cvsignore:
-	  add test-binary to ignore list
-
-2006-06-11 17:03:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/libs/gstreamer-libs-docs.sgml: reorder (put dp into a chapter) and indent
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  reorder (put dp into a chapter) and indent
-
-2006-06-11 11:56:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/random/autotools:
-	  add notes on our autotools setup
-	  Original commit message from CVS:
-	  add notes on our autotools setup
-
-2006-06-10 17:32:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	* win32/common/config.h:
-	  back to HEAD
-	  Original commit message from CVS:
-	  back to HEAD
-
-=== release 0.10.8 ===
-
-2006-06-10 17:06:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	* win32/common/config.h:
-	  releasing 0.10.8
-	  Original commit message from CVS:
-	  releasing 0.10.8
-
-2006-06-10 11:51:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: move pid declaration to declaration block
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  move pid declaration to declaration block
-
-2006-06-10 11:47:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: use _exit() instead of exit() in our forked child; this ensures that none of the registered exit handlers ...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  use _exit() instead of exit() in our forked child; this ensures
-	  that none of the registered exit handlers from whatever is using
-	  GStreamer get executed.  This fixes gnome-mixer-applet failing
-	  to load, because ORBit would shut down.
-	  Spotted by: Edward Hervey  <edward@fluendo.com>
-	  Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
-	  Fixes #344474
-
-2006-06-09 18:52:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: back to TRUNK
-	  Original commit message from CVS:
-	  2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * configure.ac:
-	  back to TRUNK
-
-=== release 0.10.7 ===
-
-2006-06-09 18:49:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	  releasing 0.10.7
-	  Original commit message from CVS:
-	  releasing 0.10.7
-
-2006-06-07 10:46:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  0.10.6.2 prerelease
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * po/af.po:
-	  * po/az.po:
-	  * po/bg.po:
-	  * po/ca.po:
-	  * po/cs.po:
-	  * po/de.po:
-	  * po/en_GB.po:
-	  * po/fr.po:
-	  * po/it.po:
-	  * po/nb.po:
-	  * po/nl.po:
-	  * po/ru.po:
-	  * po/sq.po:
-	  * po/sr.po:
-	  * po/sv.po:
-	  * po/tr.po:
-	  * po/uk.po:
-	  * po/vi.po:
-	  * po/zh_CN.po:
-	  * po/zh_TW.po:
-	  * win32/common/config.h:
-	  0.10.6.2 prerelease
-
-2006-06-07 08:38:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Fix leak spotted by coverity checker. Fixes #343827
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_gtype_resolver):
-	  * tools/gst-xmlinspect.c: (print_plugin_info):
-	  Fix leak spotted by coverity checker. Fixes #343827
-	  Fix another other leak found by paolo borelli.
-
-2006-06-06 16:52:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/gst/struct_ppc64.h:
-	* tests/check/gst/struct_x86_64.h:
-	  ifdef LOADSAVE
-	  Original commit message from CVS:
-	  ifdef LOADSAVE
-
-2006-06-06 15:18:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/tmpl/gstcontrol.sgml:
-	  remove old docs
-	  Original commit message from CVS:
-	  remove old docs
-
-2006-06-06 14:51:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/libs/libsabi.c:
-	  terminate ifdef
-	  Original commit message from CVS:
-	  terminate ifdef
-
-2006-06-06 14:32:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/tmpl/gstbytestream.sgml:
-	  remove unused tmpl
-	  Original commit message from CVS:
-	  remove unused tmpl
-
-2006-06-06 14:29:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  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>
-
-	  libs/gst/dataprotocol/dataprotocol.*: API: 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-06 14:21:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	  add symbol
-	  Original commit message from CVS:
-	  add symbol
-
-2006-06-06 14:16:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbuffer.h:
-	  width respectationizing
-	  Original commit message from CVS:
-	  width respectationizing
-
-2006-06-06 14:10:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/: add ppc64 structure sizes
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_ppc64.h:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_ppc64.h:
-	  add ppc64 structure sizes
-
-2006-06-06 13:59:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/: generate and add structure size lists for x86_64
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstabi.c:
-	  * tests/check/gst/struct_x86_64.h:
-	  * tests/check/libs/libsabi.c:
-	  * tests/check/libs/struct_x86_64.h:
-	  generate and add structure size lists for x86_64
-
-2006-06-06 13:53:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/check/gstcheck.c:
-	  cosmetics
-	  Original commit message from CVS:
-	  cosmetics
-
-2006-06-06 13:48:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.*: factor out the method from tests that checks size of structures, and add code to generate ...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_abi_list):
-	  * libs/gst/check/gstcheck.h:
-	  factor out the method from tests that checks size of structures,
-	  and add code to generate the header containing these sizes
-	  * tests/check/gst/gstabi.c: (GST_START_TEST):
-	  * tests/check/gst/struct_i386.h:
-	  * tests/check/libs/libsabi.c: (GST_START_TEST):
-	  * tests/check/libs/struct_i386.h:
-	  use it
-
-2006-06-06 13:11:03 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstsegment.h: Don't use c++-style comments, fixes #343929
-	  Original commit message from CVS:
-	  * gst/gstsegment.h:
-	  Don't use c++-style comments, fixes #343929
-
-2006-06-06 09:47:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.h:
-	  whitespace/width fixes
-	  Original commit message from CVS:
-	  whitespace/width fixes
-
-2006-06-06 08:50:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbuffer.c:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2006-06-06 08:50:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/gsterror.c:
-	  remove an extra space
-	  Original commit message from CVS:
-	  remove an extra space
-
-2006-06-05 13:05:37 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gst.c: plugin_paths is not used if we build without registry support.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  plugin_paths is not used if we build without registry support.
-	  * gst/gstsegment.c: (gst_segment_copy):
-	  _copy() was always returning NULL...
-
-2006-06-05 12:55:58 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstsegment.c: _copy() was always returning NULL...
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_copy):
-	  _copy() was always returning NULL...
-
-2006-06-02 16:46:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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 16:45:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.c: make sure we unset caps
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
-	  make sure we unset caps
-
-2006-06-02 16:41:02 +0000  Michael Smith <msmith@xiph.org>
-
-	  libs/gst/check/gstcheck.*: Add a cond/mutex to the check support lib, signal this whenever we add to the buffers list...
-	  Original commit message from CVS:
-	  * libs/gst/check/gstcheck.c: (gst_check_init),
-	  (gst_check_chain_func):
-	  * libs/gst/check/gstcheck.h:
-	  Add a cond/mutex to the check support lib, signal this whenever we
-	  add to the buffers list. This will allow tests to not busy-wait on
-	  the buffer-list.
-
-2006-06-02 10:58:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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>
-
-	  API: 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-02 09:13:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstevent.c:
-	  debug change
-	  Original commit message from CVS:
-	  debug change
-
-2006-06-01 18:30:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/indexers/gstindexers.c: conditionally register fileindexer (fixes #343598)
-	  Original commit message from CVS:
-	  * plugins/indexers/gstindexers.c: (plugin_init):
-	  conditionally register fileindexer (fixes #343598)
-
-2006-06-01 18:22:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gsttagsetter.h: Can't cast ifaces to a class
-	  Original commit message from CVS:
-	  * gst/gsttagsetter.h:
-	  Can't cast ifaces to a class
-	  * libs/gst/net/gstnetclientclock.h:
-	  * libs/gst/net/gstnettimeprovider.h:
-	  * plugins/elements/gstfakesink.h:
-	  * plugins/elements/gstfakesrc.h:
-	  * plugins/elements/gstfdsink.h:
-	  * plugins/elements/gstfdsrc.h:
-	  * plugins/elements/gstfilesink.h:
-	  * plugins/elements/gstfilesrc.h:
-	  * plugins/elements/gstidentity.h:
-	  * plugins/elements/gstqueue.h:
-	  * plugins/elements/gsttee.h:
-	  * plugins/indexers/gstfileindex.c:
-	  * plugins/indexers/gstmemindex.c:
-	  * tests/old/examples/plugins/example.h:
-	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
-
-2006-06-01 11:13:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-06-01 09:02:23 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  libs/gst/base/gstcollectpads.c: Make sure the EOS flag is cleared from pads after a flush or stop. Fixes #343538.
-	  Original commit message from CVS:
-	  Patch by: Alessandro Decina <alessandro at nnva dot org>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
-	  Make sure the EOS flag is cleared from pads after a flush
-	  or stop. Fixes #343538.
-	  * tests/check/libs/collectpads.c: (GST_START_TEST),
-	  (gst_collect_pads_suite):
-	  Added test for collectpads reusage after EOS.
-
-2006-05-30 20:25:03 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gst.c: set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
-	  * win32/common/libgstbase.def:
-	  export gst_collect_pads_set_flushing
-	  * win32/common/libgstreamer.def:
-	  export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
-	  gst_value_fraction_multiply
-	  * win32/vs6/gst_inspect.dsp:
-	  add a link to intl.lib
-
-2006-05-30 15:55:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: Handle the case where a pad is removed from the collection that could cause the other...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_chain):
-	  Handle the case where a pad is removed from the collection
-	  that could cause the other pads to become collectable.
-
-2006-05-30 15:53:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Clarify the use of _release_request_pad() and _get_request_pad() a bit better.
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  Clarify the use of _release_request_pad() and
-	  _get_request_pad() a bit better.
-	  * libs/gst/base/gstadapter.c: (gst_adapter_peek),
-	  (gst_adapter_take_buffer):
-	  Fix some doc and comment typos.
-
-2006-05-30 14:43:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/: add declared symbols
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  add declared symbols
-
-2006-05-30 14:41:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  update po files
-	  Original commit message from CVS:
-	  update po files
-
-2006-05-30 14:40:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/Makefile.am:
-	  fix build
-	  Original commit message from CVS:
-	  fix build
-
-2006-05-30 14:03:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  added HAVE_FORK
-	  Original commit message from CVS:
-	  added HAVE_FORK
-
-2006-05-30 12:04:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstsystemclock.c: Add debug that can be enabled using a #define at the top of the file, for dumping stats about h...
-	  Original commit message from CVS:
-	  * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
-	  Add debug that can be enabled using a #define at the top of the file,
-	  for dumping stats about how late/early we were when waking up from
-	  waiting on the clock.
-
-2006-05-30 11:43:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: When rebuilding the pad list, don't leak the previous list.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
-	  When rebuilding the pad list, don't leak the previous list.
-
-2006-05-30 10:57:44 +0000  Lutz Mueller <lutz@topfrose.de>
-
-	  libs/gst/base/gstbasesrc.c: Publish supported query types.
-	  Original commit message from CVS:
-	  Patch by: Lutz Mueller <lutz at topfrose dot de>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_get_query_types), (gst_base_src_update_length):
-	  Publish supported query types.
-	  Update last_stop field in get_range mode so the position
-	  query works. Fixes #342321.
-
-2006-05-30 10:12:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add GST_TAG_PREVIEW_IMAGE (#343341).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_PREVIEW_IMAGE (#343341).
-
-2006-05-30 09:42:09 +0000  Alessandro Decina <alessandro@nnva.org>
-
-	  libs/gst/base/gstcollectpads.c: Unlock mutex when removing an unknown pad.
-	  Original commit message from CVS:
-	  Patch by: Alessandro Decina <alessandro at nnva dot org>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
-	  Unlock mutex when removing an unknown pad.
-	  Fixes #343334.
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
-	  (push_event), (setup), (teardown), (GST_START_TEST),
-	  (gst_collect_pads_suite), (main):
-	  Added collecpads check, disabled for now as check crashes for
-	  some reason.
-
-2006-05-29 17:20:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: Don't leak pads lists.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
-	  Don't leak pads lists.
-
-2006-05-29 16:00:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  API: gst_collect_pads_set_flushing
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstcollectpads.c:
-	  (gst_collect_pads_set_flushing_unlocked),
-	  (gst_collect_pads_set_flushing), (gst_collect_pads_start),
-	  (gst_collect_pads_stop):
-	  * libs/gst/base/gstcollectpads.h:
-	  API: gst_collect_pads_set_flushing
-	  Added api to set the pads to flushing, usefull for seeking
-	  code in elements using collectpads.
-	  Clear segment when receiving a flush.
-
-2006-05-29 11:52:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Don't scan registry paths passed via --gst-plugin--path immediately (will crash, because absolutely nothin...
-	  Original commit message from CVS:
-	  * gst/gst.c: (add_path_func), (init_post):
-	  Don't scan registry paths passed via --gst-plugin--path immediately
-	  (will crash, because absolutely nothing is set up and no types are
-	  registered etc.); do this later in init_post(). Fixes #343057.
-
-2006-05-28 09:09:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: if we have fork, fork while reading/rebuilding the registry so the parent doesn't take the hit of having a...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  if we have fork, fork while reading/rebuilding the registry
-	  so the parent doesn't take the hit of having all plugins loaded
-	  in memory.  Fixes #342777.
-	  * configure.ac:
-	  Check if we have fork()
-	  * win32/common/config.h.in:
-	  no fork() on win32
-
-2006-05-26 13:52:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/: Add a use-mmap property to enable easier testing of all code paths.
-	  Original commit message from CVS:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
-	  (gst_file_src_init), (gst_file_src_set_property),
-	  (gst_file_src_get_property), (gst_file_src_start):
-	  * plugins/elements/gstfilesrc.h:
-	  Add a use-mmap property to enable easier testing of all code paths.
-	  Bump rank to PRIMARY, so filesrc is the preferred file reader and used
-	  in the absence of gnomevfssrc. (Closes #340501)
-
-2006-05-26 10:35:34 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  tools/gst-inspect.c: Add missing include, removes warning of ngettext not being defined on some arches.
-	  Original commit message from CVS:
-	  2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * tools/gst-inspect.c:
-	  Add missing include, removes warning of ngettext not being defined on
-	  some arches.
-
-2006-05-26 09:19:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstvalue.c: Handle NULL input and output pointers silently as a failed conversion, rather than g_warnings.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_deserialize_fraction):
-	  Handle NULL input and output pointers silently as a failed conversion,
-	  rather than g_warnings.
-
-2006-05-25 15:52:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/net/gstnetclientclock.c: Initialize variable before using. Fixes #342820.
-	  Original commit message from CVS:
-	  * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
-	  Initialize variable before using. Fixes #342820.
-
-2006-05-24 17:11:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gsttypefindhelper.c: Fix off-by-one bug that would only allow peeks of N-1 bytes from the start even if...
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
-	  Fix off-by-one bug that would only allow peeks of N-1 bytes
-	  from the start even if the buffer to typefind on contains
-	  in fact N bytes of data (makes vorbis typefinding from a
-	  vorbis identification header buffer work).
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/.cvsignore:
-	  * tests/check/libs/typefindhelper.c: (GST_START_TEST),
-	  (gst_typefindhelper_suite), (main), (foobar_typefind),
-	  (plugin_init):
-	  Add very basic unit test for gst_type_find_helper_for_buffer()
-	  that checks for the problem fixed above.
-
-2006-05-24 09:00:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gsttypefind.c:
-	  doc indent fix
-	  Original commit message from CVS:
-	  doc indent fix
-
-2006-05-24 09:00:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* tools/gst-inspect.c:
-	  mark more strings for translation
-	  Original commit message from CVS:
-	  mark more strings for translation
-
-2006-05-23 14:23:49 +0000  Julien Moutte <julien@moutte.net>
-
-	  docs/gst/gstreamer-sections.txt: Make new GST_FLOW_IS_SUCCESS macro visible in docs.
-	  Original commit message from CVS:
-	  Patch by: Julien Moutte  <julien at moutte net>
-	  * docs/gst/gstreamer-sections.txt:
-	  Make new GST_FLOW_IS_SUCCESS macro visible in docs.
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
-	  (gst_fake_sink_preroll):
-	  * plugins/elements/gstfakesink.h:
-	  Add new ::preroll-handoff signal (#337100).
-
-2006-05-23 11:13:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.*: Added _CUSTOM error and success GstFlowReturn that can be used be elements internally.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
-	  * gst/gstpad.h:
-	  Added _CUSTOM error and success GstFlowReturn that can be
-	  used be elements internally.
-	  Added macro to check for SUCCESS flowreturns.
-	  API: GST_FLOW_CUSTOM_SUCCESS
-	  API: GST_FLOW_CUSTOM_ERROR
-	  API: GST_FLOW_IS_SUCCESS
-	  * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
-	  Added check for GstFlowReturn sanity.
-
-2006-05-23 09:40:14 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  libs/gst/base/gstcollectpads.c: clear/reset segment info in FLUSH_STOP.
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts <manauw at skynet dot be>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_event):
-	  clear/reset segment info in FLUSH_STOP.
-	  Fixes #336929.
-
-2006-05-22 16:30:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstcollectpads.c: Flush queued buffer on _stop(), fixes playing again (#342454)
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
-	  (gst_collect_pads_check_collected):
-	  Flush queued buffer on _stop(), fixes playing again (#342454)
-
-2006-05-22 13:34:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/gststructure.c: add a test for a complete structure
-	  Original commit message from CVS:
-	  * tests/check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  add a test for a complete structure
-
-2006-05-22 13:31:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/check/gstcheck.c:
-	  debugging changes
-	  Original commit message from CVS:
-	  debugging changes
-
-2006-05-19 15:35:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/faq/: Some minor FAQ updates that won't change the fact that our FAQ is badly structured, full of information ha...
-	  Original commit message from CVS:
-	  * docs/faq/developing.xml:
-	  * docs/faq/faq.xml:
-	  * docs/faq/troubleshooting.xml:
-	  * docs/faq/using.xml:
-	  Some minor FAQ updates that won't change the fact that
-	  our FAQ is badly structured, full of information hardly
-	  anyone new to GStreamer needs to know and lacking lots
-	  of information people constantly ask for.
-
-2006-05-19 13:46:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Short-circuit gst_pad_set_caps if setting the existing caps pointer again, and avoid printing debug and...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_caps):
-	  Short-circuit gst_pad_set_caps if setting the existing
-	  caps pointer again, and avoid printing debug and
-	  reffing/unreffing the caps.
-	  * plugins/elements/gstqueue.c: (gst_queue_push_one):
-	  There's actually no need to set the caps before pushing -
-	  the acceptcaps method will handle it anyway.
-
-2006-05-19 10:29:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add gst_element_seek_simple() (#342238).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * win32/common/libgstreamer.def:
-	  * gst/gstutils.c: (gst_element_seek_simple):
-	  * gst/gstutils.h:
-	  API: add gst_element_seek_simple() (#342238).
-
-2006-05-18 14:25:00 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gsttypefind.*: Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets registered for GstTypeFind p...
-	  Original commit message from CVS:
-	  * gst/gsttypefind.c: (gst_type_find_get_type):
-	  * gst/gsttypefind.h:
-	  Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
-	  registered for GstTypeFind pointers. This allows wrapping the structure
-	  in bindings (i.e. gst-python).
-
-2006-05-18 14:01:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttagsetter.c: Docs additions and fixes (see #339918).
-	  Original commit message from CVS:
-	  * gst/gsttagsetter.c:
-	  Docs additions and fixes (see #339918).
-
-2006-05-18 09:07:55 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gstcapsfilter.c: The caps intersection algorithm can produce multiple copies of the caps. Until that...
-	  Original commit message from CVS:
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  The caps intersection algorithm can produce multiple copies of the
-	  caps. Until that is fixed, we need to simplify the result to be
-	  sure whether the allowed caps are fixed or not.
-	  * plugins/elements/gstqueue.c: (gst_queue_init),
-	  (gst_queue_bufferalloc), (gst_queue_acceptcaps),
-	  (gst_queue_push_one):
-	  Proxied buffer alloc should not set the caps on the source pad.
-	  When pushing buffers, we always accept the caps change that triggers.
-	  This prevents negotiation errors caused by caps changing mid-stream
-	  and then being refused on our source pad (because upstream is now
-	  refusing those caps).
-
-2006-05-18 08:48:21 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/examples/helloworld/helloworld.c: Must plug audioconvert and audioresample between decoder and audio sink.
-	  Original commit message from CVS:
-	  * tests/examples/helloworld/helloworld.c: (main):
-	  Must plug audioconvert and audioresample between decoder
-	  and audio sink.
-
-2006-05-17 14:18:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Mention bug fixed by previous commit
-	  Original commit message from CVS:
-	  Mention bug fixed by previous commit
-
-2006-05-17 14:01:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstregistryxml.c: Allow empty strings for some of the plugin fields so we don't drop valid plugin entries that we...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (read_string), (load_pad_template),
-	  (load_feature), (load_plugin):
-	  Allow empty strings for some of the plugin fields so we don't
-	  drop valid plugin entries that were written out correctly.
-
-2006-05-17 13:40:20 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gstregistryxml.c: Use g_remove and g_rename instead of remove and rename that don't handle utf8 characters. renam...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
-	  Use g_remove and g_rename instead of remove and rename that don't
-	  handle utf8 characters. rename was failing for users who had specific
-	  characters in their name then the registry was built at each gstreamer init.
-	  * win32/vs6/gst_inspect.dsp:
-	  * win32/vs6/gst_launch.dsp:
-	  * win32/vs6/libgstbase.dsp:
-	  * win32/vs6/libgstcoreelements.dsp:
-	  * win32/vs6/libgstreamer.dsp:
-	  Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG build
-	  of libgstreamer and clean unused libraries in project links settings.
-
-2006-05-17 09:24:34 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: The queue is not responsible for pushing an EOS when receiving a fatal flow error. It's ...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_push_one):
-	  The queue is not responsible for pushing an EOS when receiving a fatal
-	  flow error. It's up to the real element driving the pipeline to do that.
-
-2006-05-16 17:15:02 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstqueue.c: The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a buffer returned a fa...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_push_one):
-	  The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
-	  buffer returned a fatal error. It should just send an EOS and stop
-	  it's task.
-	  Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
-	  when pushing buffers on the queue and will be able to handle the event.
-
-2006-05-16 16:10:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Fix typos and minor errors in sample code (#341856).
-	  Original commit message from CVS:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-init.xml:
-	  Fix typos and minor errors in sample code (#341856).
-
-2006-05-16 13:31:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-qos.txt: Fix indexes in formulas to make more sense.
-	  Original commit message from CVS:
-	  * docs/design/part-qos.txt:
-	  Fix indexes in formulas to make more sense.
-
-2006-05-15 11:54:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't report POSITION based on clock time if sync is disabled in a sink.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  Don't report POSITION based on clock time if sync is
-	  disabled in a sink.
-
-2006-05-15 08:16:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstobject.h: Add cast to make compiler happy - refcount variable was a gint in GstObject but is a guint in GObjec...
-	  Original commit message from CVS:
-	  * gst/gstobject.h:
-	  Add cast to make compiler happy - refcount variable was a gint
-	  in GstObject but is a guint in GObject and g_atomic_int_get()
-	  wants a gint *.
-
-2006-05-14 23:23:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/parse/Makefile.am:
-	  fix parallel make
-	  Original commit message from CVS:
-	  fix parallel make
-
-2006-05-14 21:18:23 +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:16:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.h:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2006-05-14 21:16:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/streamheader:
-	  some streamheader updates
-	  Original commit message from CVS:
-	  some streamheader updates
-
-2006-05-14 19:25:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Minor docs fixes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  * gst/gstmessage.h:
-	  Minor docs fixes.
-
-2006-05-14 16:03:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* common:
-	* configure.ac:
-	  Back to CVS
-	  Original commit message from CVS:
-	  Back to CVS
-
-=== release 0.10.6 ===
-
-2006-05-14 15:20:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: releasing 0.10.6, "Take the cannoli"
-	  Original commit message from CVS:
-	  2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
-	  * configure.ac:
-	  releasing 0.10.6, "Take the cannoli"
-
-2006-05-14 15:18:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2006-05-13 17:50:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.c: Fix use of uninitialized variable in the hypothetical case that some broken plugin creates a GST_...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (print_tag):
-	  Fix use of uninitialized variable in the hypothetical
-	  case that some broken plugin creates a GST_TAG_IMAGE
-	  tag containing a NULL buffer (#341667).
-
-2006-05-12 16:50:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.c: Print something more intelligible for image tags when using the -t switch (#341556).
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (print_tag):
-	  Print something more intelligible for image tags when
-	  using the -t switch (#341556).
-
-2006-05-12 14:53:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: updates for win32
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  updates for win32
-	  * configure.ac:
-	  define GST_MAJORMINOR so we have it available in win32/common/config.h
-	  Possibly remove it from our Makefile.am files later
-	  * win32/common/config.h:
-	  * win32/common/config.h.in:
-	  added GST_MAJORMINOR
-	  * win32/common/gstenumtypes.c: (register_gst_resource_error):
-	  * win32/common/gstversion.h:
-	  updated
-
-2006-05-12 13:42:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/streamheader:
-	  adding notes about current implementation and ideas about streamheader
-	  Original commit message from CVS:
-	  adding notes about current implementation and ideas about streamheader
-
-2006-05-12 10:50:42 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/MANIFEST: Update win32 files listing.
-	  Original commit message from CVS:
-	  * win32/MANIFEST:
-	  Update win32 files listing.
-	  * win32/common/gstversion.h:
-	  Add GST_MAJORMINOR definition.
-	  * win32/common/libgstreamer.def:
-	  Add new exported functions.
-
-2006-05-12 09:28:22 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstplugin.c: If an so file has no plugin entry point, unload the module.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  If an so file has no plugin entry point, unload the module.
-
-2006-05-11 19:07:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Don't forget to signal the _chain or _loop function when the queue size or thresholds ch...
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
-	  (gst_queue_set_property):
-	  Don't forget to signal the _chain or _loop function
-	  when the queue size or thresholds change since that might
-	  cause them to make progres again.
-
-2006-05-11 18:10:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_class_init):
-	  * gst/gstindex.c: (gst_index_class_init):
-	  * gst/gstobject.c: (gst_object_class_init):
-	  * gst/gstpad.c: (gst_pad_class_init):
-	  * gst/gstpipeline.c: (gst_pipeline_class_init):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_class_init):
-	  * libs/gst/net/gstnetclientclock.c:
-	  (gst_net_client_clock_class_init):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_class_init):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
-	  * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init):
-	  * plugins/elements/gsttee.c: (gst_tee_class_init):
-	  * tests/old/examples/plugins/example.c: (gst_example_class_init):
-	  * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
-	  G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
-
-2006-05-11 10:35:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Register subbufer along with the buffer type so that it does not accidentally gets registered from N...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (_gst_buffer_initialize):
-	  Register subbufer along with the buffer type so that
-	  it does not accidentally gets registered from N
-	  different streaming threads in a non threadsafe way.
-
-2006-05-10 16:44:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Make gtk-doc generate docs for our inlined gst_buffer_ref(), gst_event_ref() and gst_message_ref() functions ag...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  * gst/gstevent.h:
-	  * gst/gstmessage.h:
-	  Make gtk-doc generate docs for our inlined gst_buffer_ref(),
-	  gst_event_ref() and gst_message_ref() functions again
-	  (ugly hack, please do fix if there's a better way besides
-	  overrides.txt, which doesn't seem to work).
-
-2006-05-10 15:49:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/check/gstcheck.h: add an assert for setting state to avoid lots of repetitive code in the future
-	  Original commit message from CVS:
-	  2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * libs/gst/check/gstcheck.h:
-	  add an assert for setting state to avoid lots of repetitive code
-	  in the future
-
-2006-05-10 15:38:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstvalue.c: fix a leak if no flags are set
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_serialize_flags):
-	  fix a leak if no flags are set
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  fix leak in tests
-
-2006-05-10 15:00:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/basics-pads.xml: Expand a bit on caps and filtered links and update examples that were still using the no...
-	  Original commit message from CVS:
-	  * docs/manual/basics-pads.xml:
-	  Expand a bit on caps and filtered links and update
-	  examples that were still using the no longer existing
-	  gst_pad_link_filtered() (#338206).
-
-2006-05-10 14:51:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.*: No need to call _stop in _finalize.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
-	  (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_set_flushing), (gst_collect_pads_start),
-	  (gst_collect_pads_stop):
-	  * libs/gst/base/gstcollectpads.h:
-	  No need to call _stop in _finalize.
-	  Iterate the main pad list in _finalize.
-	  Added some more debug.
-	  Free lists and data in the right order.
-	  Also free data whem doing _remove_pad when stopped for
-	  backward compatibility protect ::started with PAD_LOCK as
-	  well.
-
-2006-05-10 14:12:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gststructure.c: add some comments rename a method so that it actually says what it does better
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_gtype_from_abbr),
-	  (gst_structure_parse_value):
-	  add some comments
-	  rename a method so that it actually says what it does better
-
-2006-05-10 14:05:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: make sure some essential types used by events are registered as part of gst_init()
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (_gst_event_initialize):
-	  * gst/gstformat.c: (_gst_format_initialize):
-	  make sure some essential types used by events are registered
-	  as part of gst_init()
-	  * gst/gstvalue.c: (gst_value_serialize_flags):
-	  if no flags are set, serialize them to a value that represents NONE
-	  so that deserializing them works
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  add tests for serialization and deserialization of flags
-
-2006-05-10 13:53:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/design/part-TODO.txt:
-	  limit to 80 chars add note about changing divider for flags
-	  Original commit message from CVS:
-	  limit to 80 chars
-	  add note about changing divider for flags
-
-2006-05-10 11:24:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.c: Update docs.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
-	  (gst_collect_pads_collect_range), (gst_collect_pads_available),
-	  (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
-	  (gst_collect_pads_event), (gst_collect_pads_chain):
-	  Update docs.
-	  Better debug info.
-	  Catch and return errors from the collect function
-	  Refuse data on eos pads.
-
-2006-05-10 10:26:55 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstinterface.h: GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
-	  Original commit message from CVS:
-	  * gst/gstinterface.h:
-	  GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
-	  GInterface type checking.
-	  They were previously using non-defined macros.
-
-2006-05-09 20:47:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstcollectpads.*: Clean up the mess that is collectpads, add comments and
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
-	  (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
-	  (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
-	  (gst_collect_pads_start), (gst_collect_pads_stop),
-	  (gst_collect_pads_peek), (gst_collect_pads_pop),
-	  (gst_collect_pads_available), (gst_collect_pads_read),
-	  (gst_collect_pads_flush), (gst_collect_pads_check_pads),
-	  (gst_collect_pads_is_collected), (gst_collect_pads_event),
-	  (gst_collect_pads_chain):
-	  * libs/gst/base/gstcollectpads.h:
-	  Clean up the mess that is collectpads, add comments and
-	  FIXMEs where needed.
-	  Maintain a separate pad list so we can add pads while
-	  collecting the other ones. For this we need a new separate
-	  lock (see comics).
-	  Fix memory leak in finalize.
-	  Refactor some weird code to set/unset pad flushing flags, mark
-	  with comments.
-	  Don't crash in _available, _read, _flush when we're EOS.
-	  * tests/check/libs/.cvsignore:
-	  Ignore adapter check binary.
-
-2006-05-09 19:14:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstevent.h:
-	  doc whitespace fixes
-	  Original commit message from CVS:
-	  doc whitespace fixes
-
-2006-05-09 17:58:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Const-ify GEnumValue arrays.
-	  Original commit message from CVS:
-	  * gst/gstindex.c: (gst_index_resolver_get_type):
-	  * plugins/elements/gstfakesink.c:
-	  (gst_fake_sink_state_error_get_type):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
-	  (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
-	  * plugins/elements/gstqueue.c: (queue_leaky_get_type):
-	  Const-ify GEnumValue arrays.
-
-2006-05-09 13:23:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstbuffer.c: Add test case for flags + gst_buffer_make_metadata_writable().
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST):
-	  Add test case for flags + gst_buffer_make_metadata_writable().
-
-2006-05-09 12:01:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbuffer.c: gst_buffer_make_metadata_writable() should maintain the buffer flags (those that make sense at least...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
-	  gst_buffer_make_metadata_writable() should maintain the
-	  buffer flags (those that make sense at least) (see #340859).
-
-2006-05-09 10:53:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Fix up includes: need to include stdlib.h in tools.h for exit().
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c:
-	  * tools/gst-launch.c:
-	  * tools/gst-typefind.c:
-	  * tools/gst-xmlinspect.c:
-	  * tools/tools.h:
-	  Fix up includes: need to include stdlib.h in tools.h for exit().
-
-2006-05-09 10:02:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.*: API: add GST_TAG_IMAGE tag (#340721).
-	  Original commit message from CVS:
-	  * gst/gsttaglist.c: (_gst_tag_initialize):
-	  * gst/gsttaglist.h:
-	  API: add GST_TAG_IMAGE tag (#340721).
-
-2006-05-08 17:12:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquery.c: Added some docs for the segment query.
-	  Original commit message from CVS:
-	  * gst/gstquery.c:
-	  Added some docs for the segment query.
-
-2006-05-08 17:03:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Always push non-flushing serialized events in the streaming thread.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_loop), (gst_base_src_change_state):
-	  Always push non-flushing serialized events in the streaming
-	  thread.
-
-2006-05-08 15:53:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.c:
-	* gst/gstutils.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* libs/gst/dataprotocol/dataprotocol.h:
-	  whitespace, comment, doc fixup
-	  Original commit message from CVS:
-	  whitespace, comment, doc fixup
-
-2006-05-08 15:52:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gsterror.c: Add a missing error string.
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_stream_errors_init):
-	  Add a missing error string.
-
-2006-05-08 14:55:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstbasesink.c: Add applied_rate to the debug
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
-	  Add applied_rate to the debug
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
-	  Copy applied_rate into the outgoing NEWSEGMENT event
-
-2006-05-08 11:49:43 +0000  Philippe Rouquier <philippero@libertysurf.fr>
-
-	  libs/gst/base/gstbasesink.c: call ::unlock before taking the PREROLL_LOCK so we can safely handle elements that lock ...
-	  Original commit message from CVS:
-	  Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
-	  (gst_base_sink_change_state):
-	  call ::unlock before taking the PREROLL_LOCK so we can safely
-	  handle elements that lock in ::render.
-	  Fixes #340174.
-
-2006-05-08 11:43:19 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  autogen.sh: Darwin's libtoolize is in fact called glibtoolize.
-	  Original commit message from CVS:
-	  * autogen.sh: (CONFIGURE_DEF_OPT):
-	  Darwin's libtoolize is in fact called glibtoolize.
-	  Adding glibtoolize to the list of accepted names for libtoolize.
-
-2006-05-08 11:35:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Unify error handling, don't post an error message when a push() returns EOS but perform o...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Unify error handling, don't post an error message
-	  when a push() returns EOS but perform our normal EOS
-	  handling code. Fixes #340772.
-
-2006-05-08 09:52:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-overview.txt: Make upsteam/downstream concepts more clear.
-	  Original commit message from CVS:
-	  * docs/design/part-overview.txt:
-	  Make upsteam/downstream concepts more clear.
-	  Give an example of serialized/non-serialized events.
-	  * docs/design/part-events.txt:
-	  * docs/design/part-streams.txt:
-	  Mention applied_rate.
-	  * docs/design/part-trickmodes.txt:
-	  Mention applied rate, flesh out some more use cases.
-	  * gst/gstevent.c: (gst_event_new_new_segment),
-	  (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
-	  (gst_event_parse_new_segment_full), (gst_event_new_tag),
-	  (gst_event_parse_tag), (gst_event_new_buffer_size),
-	  (gst_event_parse_buffer_size), (gst_event_new_qos),
-	  (gst_event_parse_qos), (gst_event_parse_seek),
-	  (gst_event_new_navigation):
-	  * gst/gstevent.h:
-	  Add applied_rate field to NEWSEGMENT event.
-	  API: gst_event_new_new_segment_full()
-	  API: gst_event_parse_new_segment_full()
-	  * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
-	  (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
-	  (gst_segment_to_stream_time), (gst_segment_to_running_time):
-	  * gst/gstsegment.h:
-	  Add applied_rate to GstSegment structure.
-	  Make calculation of stream_time and running_time more correct
-	  wrt rate/applied_rate.
-	  Add some more docs.
-	  API: GstSegment::applied_rate field
-	  API: gst_segment_set_newsegment_full();
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
-	  (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_eventfunc),
-	  (gst_base_transform_handle_buffer):
-	  Parse and use applied_rate in the GstSegment field.
-	  * tests/check/gst/gstevent.c: (GST_START_TEST):
-	  Add check for applied_rate field.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST),
-	  (gstsegments_suite):
-	  Add more checks for various GstSegment operations.
-
-2006-05-08 09:16:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Store the sync time of the buffer end position separatly in a new variable eos_rtime so ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
-	  (gst_base_sink_get_position), (gst_base_sink_change_state):
-	  Store the sync time of the buffer end position separatly in a
-	  new variable eos_rtime so we can properly sync the EOS event.
-	  Fixes #340697.
-	  Fix the docs for gst_base_sink_set_qos_enabled().
-	  Don't set segment start to invalid value when we receive a
-	  non TIME newsegment.
-	  get closer to handling position reporting for negative rates
-	  correctly.
-
-2006-05-07 19:57:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstcaps.c: Docs about how to print caps for debug purposes.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  Docs about how to print caps for debug purposes.
-	  * gst/gstpadtemplate.c: (gst_static_pad_template_get):
-	  use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
-
-2006-05-06 21:45:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelement.c: use full enum names and preprend a '%' in docs strings to make recent gtk-doc turn that into a link
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  use full enum names and preprend a '%' in docs strings to make recent
-	  gtk-doc turn that into a link
-
-2006-05-05 21:44:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Some typo fixes, some additions, some clarifications.
-	  Original commit message from CVS:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-bus.xml:
-	  * docs/manual/basics-pads.xml:
-	  Some typo fixes, some additions, some clarifications.
-
-2006-05-05 17:45:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Use the string passed to g_option_context_new() for what it's intended for - the program name is already prin...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (main):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-run.c: (main):
-	  * tools/gst-typefind.c: (main):
-	  * tools/gst-xmlinspect.c: (main):
-	  Use the string passed to g_option_context_new() for
-	  what it's intended for - the program name is already
-	  printed elsewhere.
-
-2006-05-05 17:07:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Add back --version command line option (#340460).
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-inspect.c: (main):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-xmlinspect.c: (main):
-	  * tools/tools.h:
-	  Add back --version command line option (#340460).
-	  * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
-	  Add --version option and use GOption for argument parsing; refactor a
-	  bit; accept directories as arguments and recurse into them; lastly,
-	  print a decent error message when things go wrong.
-
-2006-05-05 14:38:01 +0000  Maciej Katafiasz <mathrick@mathrick.org>
-
-	* ChangeLog:
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-elements.xml:
-	  Don't mention GstThread (#340611)
-	  Original commit message from CVS:
-	  Don't mention GstThread (#340611)
-	  Update link to GObject tutorial (#340607)
-
-2006-05-05 14:27:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Add note about refcounting and miniobject/buffer writeability to docs. Fixes #340604
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  * gst/gstminiobject.c:
-	  Add note about refcounting and miniobject/buffer writeability
-	  to docs. Fixes #340604
-	  * gst/gstelementfactory.h:
-	  Added some explanation about @klass.
-
-2006-05-05 14:09:21 +0000  Maciej Katafiasz <mathrick@mathrick.org>
-
-	* ChangeLog:
-	* docs/manual/intro-motivation.xml:
-	* docs/manual/manual.xml:
-	  Avoid CORBA & Bonobo references (#340598)
-	  Original commit message from CVS:
-	  Avoid CORBA & Bonobo references (#340598)
-
-2006-05-05 13:53:28 +0000  Maciej Katafiasz <mathrick@mathrick.org>
-
-	* ChangeLog:
-	* docs/manual/basics-bus.xml:
-	* docs/manual/basics-pads.xml:
-	  Fix up some inaccuracies and omissions in ADM (#340609)
-	  Original commit message from CVS:
-	  Fix up some inaccuracies and omissions in ADM (#340609)
-
-2006-05-05 12:53:33 +0000  Maciej Katafiasz <mathrick@mathrick.org>
-
-	* ChangeLog:
-	* gst/gstghostpad.c:
-	  Small typo in docs (#340625)
-	  Original commit message from CVS:
-	  Small typo in docs (#340625)
-
-2006-05-05 09:01:52 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/parse/Makefile.am: Make 'make -j' proof (see #340698).
-	  Original commit message from CVS:
-	  * gst/parse/Makefile.am:
-	  Make 'make -j' proof (see #340698).
-
-2006-05-05 08:56:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Require GLib-2.8 here as well.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Require GLib-2.8 here as well.
-
-2006-05-05 08:17:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Remove pre glib2.8 compatibility, fixes #340508
-	  Original commit message from CVS:
-	  * gst/glib-compat.c:
-	  * gst/gst.c: (init_pre):
-	  * gst/gstobject.c: (gst_object_init), (gst_object_ref),
-	  (gst_object_unref), (gst_object_replace), (gst_object_dispose),
-	  (gst_object_dispatch_properties_changed):
-	  * gst/gstobject.h:
-	  * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
-	  * gst/gststructure.c: (gst_structure_set_valist):
-	  * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
-	  Remove pre glib2.8 compatibility, fixes #340508
-
-2006-05-04 18:14:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsttaglist.h: Mention type of tags in doc blurbs.
-	  Original commit message from CVS:
-	  * gst/gsttaglist.h:
-	  Mention type of tags in doc blurbs.
-
-2006-05-04 16:34:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Restore acceptcaps checking behaviour now that good plugins have been released.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
-	  (gst_pad_configure_src), (gst_pad_push):
-	  Restore acceptcaps checking behaviour now that good plugins have
-	  been released.
-
-2006-05-04 15:20:14 +0000  James Andrewartha <trs80@tartarus.uwa.edu.au>
-
-	  Make sure gstprivate.h and/or config.h are always included first, otherwise some of our defines (like _FILE_OFFSET_BI...
-	  Original commit message from CVS:
-	  Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
-	  * gst/gst.c:
-	  * gst/gstbus.c:
-	  * gst/gstclock.c:
-	  * gst/gstevent.c:
-	  * gst/gstformat.c:
-	  * gst/gstmessage.c:
-	  * gst/gstparse.c:
-	  * gst/gstquery.c:
-	  * gst/gstutils.c:
-	  * gst/parse/Makefile.am:
-	  * libs/gst/base/gstadapter.c:
-	  * libs/gst/base/gstbasesrc.c:
-	  * libs/gst/base/gstpushsrc.c:
-	  * libs/gst/base/gsttypefindhelper.c:
-	  * plugins/elements/gstfakesrc.c:
-	  * plugins/elements/gstidentity.c:
-	  Make sure gstprivate.h and/or config.h are
-	  always included first, otherwise some of our
-	  defines (like _FILE_OFFSET_BITS) might be
-	  redefined in the system headers. Fixes build
-	  on opensolaris (#340016).
-
-2006-05-04 14:19:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: API: addition: gst_adapter_take_buffer()
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  API: addition: gst_adapter_take_buffer()
-	  * libs/gst/base/gstadapter.c: (gst_adapter_push),
-	  (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
-	  (gst_adapter_available_fast):
-	  * libs/gst/base/gstadapter.h:
-	  Prepare for optimizing the hell out of this hugely inefficient
-	  piece of code.
-	  Added gst_adapter_take_buffer() so we can at least start thinking
-	  about subbuffering and merging.
-	  Added some comments.
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/adapter.c: (GST_START_TEST),
-	  (gst_adapter_suite), (main):
-	  Added GstAdapter check.
-
-2006-05-04 13:30:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-overview.txt: Fix some typos, add blurb about buffer flags.
-	  Original commit message from CVS:
-	  * docs/design/part-overview.txt:
-	  Fix some typos, add blurb about buffer flags.
-
-2006-05-03 16:45:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/libs/gstreamer-libs-sections.txt: make sure GstBaseTransformClass shows up in the docs
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  make sure GstBaseTransformClass shows up in the docs
-	  * libs/gst/base/gstbasetransform.c:
-	  * libs/gst/base/gstbasetransform.h:
-	  move docs so gtk-doc picks it up now
-
-2006-05-03 16:42:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	  whitespace removal and width coercion
-	  Original commit message from CVS:
-	  whitespace removal and width coercion
-
-2006-05-03 16:40:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* Makefile.am:
-	  whitespace moving
-	  Original commit message from CVS:
-	  whitespace moving
-
-2006-05-02 17:29:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/libs/gstreamer-libs-sections.txt: add missing symbols to docs
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  add missing symbols to docs
-
-2006-05-02 17:17:22 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstcollectpads.c: back out the newsegment handling change, see #340060 for ongoing discussion
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
-	  back out the newsegment handling change, see #340060 for ongoing
-	  discussion
-
-2006-04-29 23:15:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-run.c: Fix wrong g_file_test() usage (see glib docs for why it doesn't work); fix typo in error message. Fi...
-	  Original commit message from CVS:
-	  * tools/gst-run.c: (get_candidates), (main):
-	  Fix wrong g_file_test() usage (see glib docs for why it doesn't
-	  work); fix typo in error message. Fixes #340079.
-
-2006-04-29 00:38:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/tmpl/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2006-04-29 00:36:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  move upload.mak to common
-	  Original commit message from CVS:
-	  * common/Makefile.am:
-	  * docs/Makefile.am:
-	  * docs/faq/Makefile.am:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  * docs/manual/Makefile.am:
-	  * docs/plugins/Makefile.am:
-	  * docs/pwg/Makefile.am:
-	  * docs/slides/Makefile.am:
-	  * docs/upload.mak:
-	  * common/upload.mak:
-	  move upload.mak to common
-
-2006-04-29 00:35:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/moving-plugins:
-	  add more notes on moving
-	  Original commit message from CVS:
-	  add more notes on moving
-
-2006-04-29 00:33:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/gstghostpad.c: add more asserts on refcounts do more cleanup at end of tests fix test leaks showing i...
-	  Original commit message from CVS:
-	  2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  add more asserts on refcounts
-	  do more cleanup at end of tests
-	  fix test leaks showing in FC5
-
-2006-04-28 22:56:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  plugins/elements/gsttypefindelement.c: reverted wrong change and reflowed code to avoid others falling into this trap
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  reverted wrong change and reflowed code to avoid others falling into
-	  this trap
-
-2006-04-28 20:55:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstcollectpads.c: fix changelog entry about last collectpads change, add notes about proper fix
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
-	  fix changelog entry about last collectpads change,
-	  add notes about proper fix
-
-2006-04-28 20:47:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: only write out registry if it has changed, fixes #338339
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level),
-	  (gst_registry_scan_path):
-	  * gst/gstregistry.h:
-	  only write out registry if it has changed, fixes #338339
-
-2006-04-28 20:44:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: only write out registry if it has changed, fixes #338339
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level),
-	  (gst_registry_scan_path):
-	  * gst/gstregistry.h:
-	  only write out registry if it has changed, fixes #338339
-
-2006-04-28 18:55:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  make GstElementDetails const
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  * gst/gstpipeline.c:
-	  * plugins/elements/gstcapsfilter.c:
-	  * plugins/elements/gstfakesink.c:
-	  * plugins/elements/gstfakesrc.c:
-	  * plugins/elements/gstfdsink.c:
-	  * plugins/elements/gstfdsrc.c:
-	  * plugins/elements/gstfilesink.c:
-	  * plugins/elements/gstfilesrc.c:
-	  * plugins/elements/gstidentity.c:
-	  * plugins/elements/gstqueue.c:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  make GstElementDetails const
-
-2006-04-28 18:48:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/: more detailed debug and formatting cleanup
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
-	  (gst_collect_pads_is_collected), (gst_collect_pads_event):
-	  more detailed debug and formatting cleanup
-
-2006-04-28 17:52:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstutils.c: cleanup double code
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_link_pads):
-	  cleanup double code
-
-2006-04-28 17:33:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gstcontroller.c: some little tuning
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controller_sync_values):
-	  some little tuning
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  a new test for live value handling
-
-2006-04-28 15:51:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Give credit to Tapi Paavola for last patch
-	  Original commit message from CVS:
-	  Give credit to Tapi Paavola for last patch
-
-2006-04-28 15:48:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Added some more docs.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (push_and_ref):
-	  Added some more docs.
-	  Fix refcount issue whith gst_element_found_tags() helper
-	  function. Fixes #338335
-	  * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  Added testsuite for gst_element_found_tags().
-
-2006-04-28 13:51:00 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstvalue.c: Avoid NULL dereference when trying to serialize flags containing invalid values.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_serialize_flags):
-	  Avoid NULL dereference when trying to serialize flags containing
-	  invalid values.
-
-2006-04-28 13:44:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  small doc fix
-	  Original commit message from CVS:
-	  small doc fix
-
-2006-04-28 13:43:03 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gsttypefindelement.c: If we get EOS before any data is accumulated, don't use uninitialised local va...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  If we get EOS before any data is accumulated, don't use
-	  uninitialised local variables.
-
-2006-04-28 13:40:15 +0000  Michael Smith <msmith@xiph.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-04-28 13:25:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: When frame dropping is enabled, we should not ignore frames without a duration.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
-	  (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
-	  (gst_base_sink_get_position), (gst_base_sink_change_state):
-	  When frame dropping is enabled, we should not ignore frames
-	  without a duration.
-	  Update some documentation.
-
-2006-04-28 13:18:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Documentation updates.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_send_event), (gst_base_src_change_state):
-	  Documentation updates.
-
-2006-04-28 13:16:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfdsink.c: handle EAGAIN, EINTR and short writes correctly. Also clean up some error cases, avoid ...
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
-	  (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
-	  handle EAGAIN, EINTR and short writes correctly. Also clean
-	  up some error cases, avoid a deadlock on bad file descriptors and
-	  use GST_DEBUG_OBJECT.
-	  Fixes #339843
-
-2006-04-28 13:13:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstvalue.c: Don't try to serialize a GValue with a NULL buffer.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_serialize_buffer),
-	  (gst_value_deserialize_buffer):
-	  Don't try to serialize a GValue with a NULL buffer.
-	  Fixes #339821.
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Added check for serialisation of NULL buffers.
-
-2006-04-28 13:10:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstminiobject.c: Taking a NULL miniobject is valid, fix the case where we try to unref the NULL miniobject.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_value_take_mini_object):
-	  Taking a NULL miniobject is valid, fix the case where
-	  we try to unref the NULL miniobject.
-
-2006-04-28 13:05:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  update win32 config.h
-	  Original commit message from CVS:
-	  update win32 config.h
-
-2006-04-28 13:04:07 +0000  Stefan Kost <ensonic@sonicpulse.de>
-
-	  gst/gstbin.c: Update docs.
-	  Original commit message from CVS:
-	  Patch by: Stefan Kost <ensonic at sonicpulse dot de>
-	  * gst/gstbin.c: (gst_bin_handle_message_func):
-	  Update docs.
-	  Don't leak bin refcount when a state recalc is
-	  in progress and we delay another one #339808.
-
-2006-04-28 12:58:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Mention QoS as an ongoing work item.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Mention QoS as an ongoing work item.
-	  * docs/design/part-buffering.txt:
-	  New doc about buffering that needs to be fleshed out
-	  at some point.
-	  * docs/design/part-qos.txt:
-	  More QoS policy for decoders/demuxers/transforms
-	  * docs/design/part-trickmodes.txt:
-	  Small update.
-
-2006-04-28 10:56:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to HEAD
-	  Original commit message from CVS:
-	  back to HEAD
-
-=== release 0.10.5 ===
-
-2006-04-28 10:53:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* win32/common/config.h:
-	  releasing 0.10.5
-	  Original commit message from CVS:
-	  releasing 0.10.5
-
-2006-04-28 09:48:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/gstreamer-plugins.signals:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* docs/upload.mak:
-	  fix upload.mak; should move to common
-	  Original commit message from CVS:
-	  fix upload.mak; should move to common
-
-2006-04-28 09:20:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/MANIFEST:
-	  adding missing dsp files
-	  Original commit message from CVS:
-	  adding missing dsp files
-
-2006-04-26 13:54:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* win32/common/config.h:
-	  prerelease
-	  Original commit message from CVS:
-	  prerelease
-
-2006-04-22 21:34:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Fix internal data flow errors.  Fixes #338711.
-	  Original commit message from CVS:
-	  patch by: Wim Taymans
-	  * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
-	  (gst_pad_configure_src), (gst_pad_push):
-	  * gst/gstpipeline.c: (gst_pipeline_init):
-	  Fix internal data flow errors.  Fixes #338711.
-
-2006-04-12 11:58:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstelement.c: Don't leak the factory.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstelement.c: (GST_START_TEST):
-	  Don't leak the factory.
-
-2006-04-12 11:06:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/bg.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_TW.po:
-	  updated translations
-	  Original commit message from CVS:
-	  updated translations
-
-2006-04-12 11:04:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  update libtool versioning
-	  Original commit message from CVS:
-	  update libtool versioning
-
-2006-04-12 10:57:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	* win32/common/config.h:
-	  prerelease
-	  Original commit message from CVS:
-	  prerelease
-
-2006-04-12 10:28:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/controller/gstcontroller.c: Free allocated GstTimedValues when freeing list nodes.
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
-	  (gst_controller_unset_all):
-	  Free allocated GstTimedValues when freeing list nodes.
-	  Should fix leaks 'make check-valgrind' complains about.
-	  * win32/common/libgstcontroller.def:
-	  Add gst_controller_unset_all.
-
-2006-04-12 10:15:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	  fix ChangeLog
-	  Original commit message from CVS:
-	  fix ChangeLog
-
-2006-04-11 21:07:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Added new method _unset_all() and fixed _unset()
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
-	  (gst_controller_unset_all):
-	  * libs/gst/controller/gstcontroller.h:
-	  Added new method _unset_all() and fixed _unset()
-	  * tests/check/libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  Added two testcases for new and fixed method
-
-2006-04-11 18:43:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/net/gstnettimepacket.c: MSG_DONTWAIT is not defined on Cygwin, so work around that (fixes #317048).
-	  Original commit message from CVS:
-	  * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
-	  MSG_DONTWAIT is not defined on Cygwin, so work
-	  around that (fixes #317048).
-
-2006-04-11 14:48:34 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  fix versioning macro
-	  Original commit message from CVS:
-	  fix versioning macro
-
-2006-04-11 11:47:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelementfactory.c: Some cleanups.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_register),
-	  (gst_element_factory_create), (gst_element_factory_make):
-	  Some cleanups.
-	  Fixed a FIXME.
-	  Updated docs (Fixes #131079)
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_load):
-	  Small cleanups.
-	  * tests/check/gst/gstelement.c: (GST_START_TEST),
-	  (gst_element_suite):
-	  Added testcase for elementfactory class field.
-
-2006-04-10 10:46:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Added some more docs.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c:
-	  Added some more docs.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
-	  (gst_base_sink_reset_qos):
-	  Calculate more accurate rate values.
-
-2006-04-09 16:57:34 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gst_private.h: add a new #ifdef to use __declspec(dllimport) only for other modules and not for gstreamer core
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  add a new #ifdef to use __declspec(dllimport) only for
-	  other modules and not for gstreamer core
-	  * gst/gstbasesink.c: (gst_base_sink_perform_qos):
-	  use gst_guint64_to_gdouble for conversion
-	  * win32/common/libgstreamer.def:
-	  add new exported functions
-	  * win32/vs6/gst_inspect.dsp:
-	  * win32/vs6/gst_launch.dsp:
-	  * win32/vs6/libgstbase.dsp:
-	  * win32/vs6/libgstcontroller.dsp:
-	  * win32/vs6/libgstcoreelements.dsp:
-	  * win32/vs6/libgstdataprotocol.dsp:
-	  * win32/vs6/libgstnet.dsp:
-	  update project files
-
-2006-04-08 20:57:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_subbuffer_class_init):
-	  * gst/gstclock.c: (gst_clock_class_init):
-	  * gst/gstelement.c: (gst_element_class_init):
-	  * gst/gstindex.c: (gst_index_class_init):
-	  * gst/gstindexfactory.c: (gst_index_factory_class_init):
-	  * gst/gstobject.c: (gst_object_class_init),
-	  (gst_signal_object_class_init):
-	  * gst/gstpad.c: (gst_pad_class_init):
-	  * gst/gstpadtemplate.c: (gst_pad_template_class_init):
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
-	  * gst/gstregistry.c: (gst_registry_class_init):
-	  * gst/gstsystemclock.c: (gst_system_clock_class_init):
-	  * gst/gsttask.c: (gst_task_class_init):
-	  * gst/gstxml.c: (gst_xml_class_init):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_loop):
-	  * libs/gst/controller/gstcontroller.c:
-	  (_gst_controller_class_init):
-	  * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
-	  * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
-	  * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
-	  * tests/old/examples/plugins/example.c: (gst_example_class_init):
-	  * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
-	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
-
-2006-04-08 18:11:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Must set peer pads before calling the link function, otherwise a task started from a link function migh...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_link):
-	  Must set peer pads before calling the link function, otherwise
-	  a task started from a link function might get a flow-not-linked
-	  result when trying to push because the other thread where the
-	  linking happens hasn't had a chance to set the peers yet. This
-	  might happen for example when a queue gets linked to a downstream
-	  element, as queue starts a streaming task when its source pad
-	  gets linked. Happens in real life when playing back flac/musepack
-	  files in playbin (#332390).
-
-2006-04-08 18:05:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Fix broken GObject macros
-	  Original commit message from CVS:
-	  * gst/gstindex.h:
-	  * gst/gstxml.h:
-	  * libs/gst/base/gstadapter.h:
-	  * libs/gst/base/gstbasesink.h:
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasetransform.h:
-	  * libs/gst/base/gstcollectpads.h:
-	  * libs/gst/base/gstpushsrc.h:
-	  Fix broken GObject macros
-
-2006-04-07 15:19:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Initialize start and stop times, thanks valgrind.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Initialize start and stop times, thanks valgrind.
-
-2006-04-07 14:50:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Be a bit nicer to badly behaving upstream elements that expect us to deal with non TIME ...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Be a bit nicer to badly behaving upstream elements that expect
-	  us to deal with non TIME segments and timestamps (such as fakesrc
-	  in the testsuite).
-
-2006-04-07 14:02:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Small documentation clarification about the signal watch.
-	  Original commit message from CVS:
-	  * gst/gstbus.c:
-	  Small documentation clarification about the signal watch.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
-	  (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
-	  (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
-	  (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
-	  (gst_base_sink_get_position_last),
-	  (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
-	  Convert and store timestamps in stream time and running time, the
-	  raw timestamps are not usefull, also document this better.
-	  Use different window sizes for good and bad QoS observations so
-	  we react to badness a little quicker.
-	  Keep track of the amount of rendered and dropped buffers.
-	  Send QoS timestamps in running time.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_sink_eventfunc),
-	  (gst_base_transform_handle_buffer):
-	  Compare QoS timestamps against running time.
-
-2006-04-06 17:36:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  add gnonlin
-	  Original commit message from CVS:
-	  add gnonlin
-
-2006-04-06 15:46:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: Typo fixes in docs.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Typo fixes in docs.
-
-2006-04-06 15:07:12 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstpad.c: Use g_value_get_object() instead of g_value_dup_gst_object(), to avoid double-reffing the pad template ...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_property):
-	  Use g_value_get_object() instead of g_value_dup_gst_object(),
-	  to avoid double-reffing the pad template (which we then sink,
-	  so this worked previously if (and only if) the pad template
-	  was floating.
-	  * gst/gstpadtemplate.c: (gst_pad_template_init),
-	  (gst_pad_template_pad_created):
-	  Never return floating references to pad templates, create
-	  them as initially-sunken.
-	  Document an extra function (and make this stop sinking our
-	  pad template, since that is now guaranteed to do nothing,
-	  since we created it sunken).
-	  * gst/gstghostpad.c:
-	  Fix docs typo.
-
-2006-04-06 11:27:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Add some newlines.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (__gst_in_valgrind):
-	  Add some newlines.
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain):
-	  Don't leak buffer caps.
-
-2006-04-06 10:38:54 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/parse/grammar.y: Fix a leak in parse-launch for any source-or-sink named element references used.
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  Fix a leak in parse-launch for any source-or-sink named element
-	  references used.
-	  * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
-	  Unref the pipeline if it exists after we've failed parsing.
-
-2006-04-05 15:46:00 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstpipeline.c: When we create a pipeline bus, initially create it in flushing mode.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_init):
-	  When we create a pipeline bus, initially create it in flushing mode.
-	  Fixes leaks in at least one test, and makes a new pipeline work the
-	  same as one that has gone to READY and then back to NULL.
-	  * gst/gstelement.c:
-	  Typo fix in docs.
-
-2006-04-05 15:12:39 +0000  Michael Smith <msmith@xiph.org>
-
-	  tests/check/gst/gstghostpad.c: Unref a pad we reffed.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  Unref a pad we reffed.
-	  * tests/check/gst/gstutils.c: (GST_START_TEST):
-	  Unref bins
-
-2006-04-05 13:18:29 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstquery.c: Fix leaking GValues in queries, as shown by valgrind/testsuite.
-	  Original commit message from CVS:
-	  * gst/gstquery.c: (gst_query_set_formats),
-	  (gst_query_set_formatsv):
-	  Fix leaking GValues in queries, as shown by valgrind/testsuite.
-
-2006-04-05 12:11:20 +0000  Michael Smith <msmith@xiph.org>
-
-	  tests/check/generic/sinks.c: Fix a variety of memleaks in sinks check, which are only sometimes shown by running the ...
-	  Original commit message from CVS:
-	  * tests/check/generic/sinks.c: (GST_START_TEST):
-	  Fix a variety of memleaks in sinks check, which are only sometimes
-	  shown by running the tests under valgrind (weird?).
-
-2006-04-05 11:04:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/version.entities.in: Fix the substituted entity name after thomas' changes on the weekend.
-	  Original commit message from CVS:
-	  * docs/version.entities.in:
-	  Fix the substituted entity name after thomas' changes on the
-	  weekend.
-
-2006-04-05 10:31:20 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>
-
-	  gst/gstinfo.c: Use printf instead of
-	  Original commit message from CVS:
-	  2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	  * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
-	  VALGRIND_PRINTF
-
-2006-04-05 10:26:29 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_set_blocked_async): More debug. libs/gst/base/gstbasetransform.c
-	  Original commit message from CVS:
-	  2006-04-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
-	  * libs/gst/base/gstbasetransform.c
-	  (gst_base_transform_sink_eventfunc): When resetting our segment on
-	  FLUSH_STOP, also update the flag saying we haven't seen a
-	  newsegment.
-
-2006-04-04 18:02:07 +0000  Paolo Borelli <pborelli@katamail.com>
-
-	  gst/gstplugin.c: minor clean-ups: G_DEFINE_TYPE already takes care of the parent_class stuff, no need to do it twice....
-	  Original commit message from CVS:
-	  Patch by: Paolo Borelli  <pborelli at katamail dot com>
-	  * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
-	  (gst_plugin_check_license):
-	  minor clean-ups: G_DEFINE_TYPE already takes care of the
-	  parent_class stuff, no need to do it twice. Mark array of
-	  license strings as constant. (#337103)
-
-2006-04-04 17:54:30 +0000  Michael Smith <msmith@xiph.org>
-
-	  tools/gst-inspect.c: Free the right plugin list; fixes a memory leak.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_list):
-	  Free the right plugin list; fixes a memory leak.
-
-2006-04-04 15:45:36 +0000  Mark Nauwelaerts <manauw@skynet.be>
-
-	  plugins/elements/gstfilesink.c: Don't error out on empty buffers (#336945).
-	  Original commit message from CVS:
-	  Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_render):
-	  Don't error out on empty buffers (#336945).
-
-2006-04-04 14:58:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Documentation updates. Make BaseSink and BaseSrc docs contain the class structure so that people can actually see the...
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * gst/gsttaglist.c:
-	  * libs/gst/base/gstbasesink.c:
-	  * libs/gst/base/gstbasesink.h:
-	  * libs/gst/base/gstbasesrc.c:
-	  * libs/gst/base/gstbasesrc.h:
-	  Documentation updates. Make BaseSink and BaseSrc docs contain the
-	  class structure so that people can actually see the prototypes for
-	  virtual functions they're supposed to be overriding.
-
-2006-04-04 08:55:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: More debug info; when skipping typefinding, send cached events in all cases.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain):
-	  More debug info; when skipping typefinding, send cached
-	  events in all cases.
-
-2006-04-03 17:05:31 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstpad.c:
-	  Fix typo in docs.
-	  Original commit message from CVS:
-	  Fix typo in docs.
-
-2006-04-03 08:59:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/faq/gst-uninstalled:
-	* win32/common/config.h:
-	  update win32 common dir; update uninstalled script
-	  Original commit message from CVS:
-	  update win32 common dir; update uninstalled script
-
-2006-04-01 15:30:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* configure.ac:
-	  disable use of AS_LIBTOOL_TAGS, it doesn't work correctly
-	  Original commit message from CVS:
-	  disable use of AS_LIBTOOL_TAGS, it doesn't work correctly
-
-2006-04-01 09:41:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: use new AS_VERSION and AS_NANO macros
-	  Original commit message from CVS:
-	  * configure.ac:
-	  use new AS_VERSION and AS_NANO macros
-	  * gst/gst-i18n-lib.h:
-	  * gst/gst.c:
-	  * gst/gsterror.c:
-	  * gst/gstversion.h.in:
-	  * win32/common/config.h:
-	  * win32/common/config.h.in:
-	  update accordingly
-
-2006-03-31 15:26:04 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gsttypefindelement.c: Do not typefind content if the buffers already have caps. and the right thing ...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain):
-	  Do not typefind content if the buffers already have caps.
-	  Neccesary for icydemux (#333657), and the right thing to do anyway.
-
-2006-03-30 16:36:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: More QoS measurements as described in the design doc.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
-	  (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
-	  (gst_base_sink_record_qos_observation),
-	  (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
-	  (gst_base_sink_is_too_late), (gst_base_sink_render_object),
-	  (gst_base_sink_change_state):
-	  More QoS measurements as described in the design doc.
-	  Get rid of ringbuffer with observations, running average is
-	  more simple and equally good.
-	  Calculates valid proportion now.
-	  Added beginning of flood measurement.
-
-2006-03-29 13:45:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Small documentation updates and additions.
-	  Original commit message from CVS:
-	  * docs/design/part-qos.txt:
-	  * gst/gstclock.c:
-	  Small documentation updates and additions.
-
-2006-03-29 13:39:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Perform the EOS logic when we reach the segment stop position.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
-	  (gst_base_src_send_event), (gst_base_src_loop),
-	  (gst_base_src_change_state):
-	  Perform the EOS logic when we reach the segment stop position.
-	  Fix compilation on gcc4.1
-
-2006-03-29 11:02:33 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>
-
-	  plugins/elements/gstqueue.*: In queue, when EOS is received, if minimum threshold > max_size - current_level, there i...
-	  Original commit message from CVS:
-	  Patch by Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
-	  * plugins/elements/gstqueue.c: (gst_queue_init),
-	  (gst_queue_locked_flush), (gst_queue_handle_sink_event),
-	  (gst_queue_set_property):
-	  * plugins/elements/gstqueue.h:
-	  In queue, when EOS is received, if minimum threshold > max_size -
-	  current_level, there is chance that queue blocks forever in conditional item
-	  del wait. This is because the queue is not emptied completely due to minimum
-	  threshold.
-	  Here is another approach. Instead of setting cur_levels to max in EOS, just
-	  zero all minimum threshold levels. This should make sure that queue gives out
-	  all data. When going to READY (stop) state, just reset the original minimum
-	  threshold levels.
-	  Fixes #336336.
-
-2006-03-29 10:33:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.*: When typefinding is done in push mode, we should cache events we receive durin...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (stop_typefinding),
-	  (gst_type_find_element_handle_event),
-	  (gst_type_find_element_send_cached_events),
-	  (gst_type_find_element_change_state):
-	  * plugins/elements/gsttypefindelement.h:
-	  When typefinding is done in push mode, we should cache
-	  events we receive during typefinding instead of just
-	  dropping them (e.g. newsegment, custom events from
-	  dvdreadsrc etc.) and then send them out once we've
-	  determined the type of the stream (and decodebin
-	  has had a chance to plug in a decoder/demuxer).
-
-2006-03-27 18:38:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-qos.txt: First QoS ideas.
-	  Original commit message from CVS:
-	  * docs/design/part-qos.txt:
-	  First QoS ideas.
-
-2006-03-27 11:48:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Handle element seek correctly when we are streaming.
-	  Original commit message from CVS:
-	  Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
-	  (gst_base_src_send_event), (gst_base_src_change_state):
-	  Handle element seek correctly when we are streaming.
-	  Fixes #326998.
-
-2006-03-24 18:38:12 +0000  Michael Smith <msmith@xiph.org>
-
-	  docs/faq/gst-uninstalled: Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will allow you to correctly...
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
-	  allow you to correctly run intalled applications built against old           core, using plugins that require updated core (e.g. running
-	  installed totem against a full uninstalled gstreamer stack)
-
-2006-03-24 17:29:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	  add API: marker in ChangeLog
-	  Original commit message from CVS:
-	  add API: marker in ChangeLog
-
-2006-03-24 17:10:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/base/gstcollectpads.c: more debug details
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
-	  more debug details
-
-2006-03-24 11:02:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Rearrange the order of the methods so that related methods are grouped together in s...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Rearrange the order of the methods so that related methods
-	  are grouped together in sections.
-
-2006-03-24 10:44:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelement.c: Little clarification in the docs
-	  Original commit message from CVS:
-	  * gst/gstelement.c:
-	  Little clarification in the docs
-
-2006-03-24 10:38:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/README: formatting fix
-	  Original commit message from CVS:
-	  * docs/README:
-	  formatting fix
-	  * plugins/elements/gstidentity.c:
-	  * plugins/elements/gstqueue.c:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttypefindelement.c:
-	  GST_ELEMENT_DETAILS formatting
-
-2006-03-24 09:48:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.h: Only add fields, not insert or we break ABI.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.h:
-	  Only add fields, not insert or we break ABI.
-
-2006-03-23 18:51:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/: Update, add recently added functions.
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  Update, add recently added functions.
-
-2006-03-23 18:45:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  API: add some new utility functions:
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.c: (gst_pad_query_peer_position),
-	  (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
-	  * gst/gstutils.h:
-	  API: add some new utility functions:
-	  - gst_pad_query_peer_position
-	  - gst_pad_query_peer_duration
-	  - gst_pad_query_peer_convert
-
-2006-03-23 16:32:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Forgot to mention the previous commit fixed #326311
-	  Original commit message from CVS:
-	  Forgot to mention the previous commit fixed #326311
-
-2006-03-23 16:20:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Decouple max-lateness and the fact that QoS messages are generated with a new property (...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init), (gst_base_sink_finalize),
-	  (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
-	  (gst_base_sink_set_property), (gst_base_sink_get_property),
-	  (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
-	  (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
-	  (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
-	  (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
-	  (gst_base_sink_is_too_late), (gst_base_sink_render_object),
-	  (gst_base_sink_preroll_object), (gst_base_sink_event),
-	  (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
-	  (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
-	  (gst_base_sink_query), (gst_base_sink_change_state):
-	  Decouple max-lateness and the fact that QoS messages are generated
-	  with a new property (qos).
-	  Add vmethod so subclasses can be notified of ASYNC playing
-	  state changes.
-	  Collect timestamp start and stop to report better current
-	  position in EOS/PLAYING/PAUSED/READY/NULL.
-	  Refactor QoS/frame dropping and other measurements.
-	  API: GstBaseSrc::qos
-	  * libs/gst/base/gstbasesink.h:
-	  Added Private struct.
-	  API: gst_base_sink_set_qos_enabled
-	  API: gst_base_sink_is_qos_enabled
-
-2006-03-23 11:54:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstregistryxml.c: If compiling against GLib-2.8 or newer, try to read the registry file using GMappedFile first b...
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
-	  If compiling against GLib-2.8 or newer, try to read the
-	  registry file using GMappedFile first before falling back
-	  to fopen() + fread() (#332151).
-
-2006-03-22 18:25:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstinfo.c: Disable debugging unless explicitly activated.
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (gst_debug_set_active),
-	  (gst_debug_category_set_threshold):
-	  Disable debugging unless explicitly activated.
-	  Fixes #335480.
-
-2006-03-22 13:10:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Cleanup the error case.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_set_locked_state),
-	  (gst_element_dispose):
-	  Cleanup the error case.
-	  * gst/gstobject.c: (gst_object_dispose):
-	  print a critical when some object was disposed with
-	  a parent, also revive the object since it might
-	  crash the parent.
-
-2006-03-22 09:03:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.1.in: Fix another typo.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Fix another typo.
-
-2006-03-21 19:27:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  disable some tests when we don't have a registry
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * tests/check/Makefile.am:
-	  disable some tests when we don't have a registry
-	  * tests/check/gst/gstutils.c: (gst_utils_suite):
-	  don't build the part that needs parsing
-
-2006-03-21 17:25:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/Makefile.am
-	  Original commit message from CVS:
-	  * gst/Makefile.am
-	  * tests/examples/Makefile.am:
-	  fix --disable-parse build
-
-2006-03-21 17:24:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer.types:
-	  the .in file is in cvs
-	  Original commit message from CVS:
-	  the .in file is in cvs
-
-2006-03-21 15:42:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-feedback.1.in: Fix typo: s/feeback/feedback/ (#133494).
-	  Original commit message from CVS:
-	  * tools/gst-feedback.1.in:
-	  Fix typo: s/feeback/feedback/ (#133494).
-
-2006-03-21 15:04:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Add FILES section and correct entry about GST_REGISTRY_PATH environment variable (#133495; #133494).
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-launch.1.in:
-	  Add FILES section and correct entry about GST_REGISTRY_PATH
-	  environment variable (#133495; #133494).
-
-2006-03-21 14:41:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/: Remove gst-md5sum and man page (the md5sink element required was removed ages ago)
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-md5sum.1.in:
-	  * tools/gst-md5sum.c:
-	  Remove gst-md5sum and man page (the md5sink element
-	  required was removed ages ago)
-
-2006-03-21 14:24:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Make sure that string fields in structures/taglists contain valid UTF-8 - we don't want to pass r...
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_id_set_value):
-	  Make sure that string fields in structures/taglists
-	  contain valid UTF-8 - we don't want to pass rubbish to
-	  applications because of a buggy plugin (cp. #334167).
-
-2006-03-21 14:14:49 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Series of fixes for dereferenced pointers that gcc 4.1 complains about.
-	  Original commit message from CVS:
-	  reviewed by: <delete if not using a buddy>
-	  * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
-	  (gst_bin_handle_message_func):
-	  * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
-	  * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
-	  (gst_element_set_bus_func):
-	  * gst/gstghostpad.c: (gst_proxy_pad_dispose):
-	  * gst/gstminiobject.c: (gst_value_set_mini_object),
-	  (gst_value_take_mini_object):
-	  * gst/gstpad.c: (gst_pad_set_pad_template):
-	  * gst/gstpipeline.c: (gst_pipeline_dispose),
-	  (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
-	  (gst_collect_pads_chain):
-	  * libs/gst/net/gstnettimeprovider.c:
-	  (gst_net_time_provider_set_property):
-	  Series of fixes for dereferenced pointers that gcc 4.1 complains about.
-	  It's in fact all issues with gst_*object_replace().
-
-2006-03-21 13:55:44 +0000  Loïc Minier <lool.gnome@via.ecp.fr>
-
-	  pkgconfig/: Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
-	  Original commit message from CVS:
-	  Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
-	  * pkgconfig/gstreamer-check-uninstalled.pc.in:
-	  * pkgconfig/gstreamer-check.pc.in:
-	  Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
-
-2006-03-21 13:50:52 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/: gst_[buffer|event|message]_ref() macros are replaced by a static inline functions because gcc-4.1 will about if...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  * gst/gstevent.h:
-	  * gst/gstmessage.h:
-	  gst_[buffer|event|message]_ref() macros are replaced by a static
-	  inline functions because gcc-4.1 will about if the return value
-	  isn't used.
-	  * tests/check/gst/gstevent.c: (event_probe):
-	  gst_event_ref now has to be given a GstEvent* , fix check accordingly.
-
-2006-03-20 16:47:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* docs/plugins/tmpl/.gitignore:
-	  Remove irritating file that keeps breaking my checkouts
-	  Original commit message from CVS:
-	  Remove irritating file that keeps breaking my checkouts
-
-2006-03-20 16:45:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstutils.h: Add G_UNLIKELY to our boilerplate to optimise the 'already registered the type' case. (Closes: #33519...
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Add G_UNLIKELY to our boilerplate to optimise the 'already registered
-	  the type' case. (Closes: #335195 for now). In the future, when we
-	  depend on GLib 2.10, we could also intern the type name using
-	  g_intern_static_string()
-
-2006-03-20 10:56:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Position query should also take max of all streams.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_handle_message_func),
-	  (bin_query_max_init), (bin_query_position_fold),
-	  (bin_query_position_done), (gst_bin_query):
-	  Position query should also take max of all streams.
-
-2006-03-20 09:28:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfakesrc.c: Fix leaks in fakesrc.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_finalize):
-	  Fix leaks in fakesrc.
-	  * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
-	  Fix leaks in the testcase.
-
-2006-03-19 21:39:21 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gst_private.h: add win32 specific import decoration(__declspec(dllimport)) for all extern GstDebugCategory * vari...
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  add win32 specific import decoration(__declspec(dllimport))
-	  for all extern GstDebugCategory * variables
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstcontroller.def:
-	  * win32/common/libgstreamer.def:
-	  Add some exports, remove empty lines
-	  * win32/common/libgstdataprotocol.def:
-	  * win32/common/libgstdataprotocol.dsp:
-	  * win32/common/libgstnet.def:
-	  * win32/common/libgstnet.dsp:
-	  new project files and exportation files added
-
-2006-03-19 16:05:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/libs/basesrc.c: Use proper return value for probe.
-	  Original commit message from CVS:
-	  * tests/check/libs/basesrc.c: (eos_event_counter):
-	  Use proper return value for probe.
-
-2006-03-17 19:27:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Don't leak buffers, caps and pads on negotiation errors.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
-	  (gst_pad_push):
-	  Don't leak buffers, caps and pads on negotiation errors.
-
-2006-03-16 15:33:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/faq/: Faq review and update.
-	  Original commit message from CVS:
-	  * docs/faq/cvs.xml:
-	  * docs/faq/dependencies.xml:
-	  * docs/faq/developing.xml:
-	  * docs/faq/faq.xml:
-	  * docs/faq/general.xml:
-	  * docs/faq/getting.xml:
-	  * docs/faq/legal.xml:
-	  * docs/faq/troubleshooting.xml:
-	  * docs/faq/using.xml:
-	  Faq review and update.
-
-2006-03-16 10:18:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Don't pound the cpu to pieces by checking get_caps when accept_caps is called with the same caps as the...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
-	  (gst_pad_push):
-	  Don't pound the cpu to pieces by checking get_caps when accept_caps
-	  is called with the same caps as the pad already has.
-	  Use GST_DEBUG_OBJECT when outputting caps change information.
-
-2006-03-15 20:17:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.c: Fix docs.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_class_init):
-	  Fix docs.
-
-2006-03-15 16:29:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbuffer.h: Documentation fix.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Documentation fix.
-	  * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
-	  (gst_pad_accept_caps), (gst_pad_configure_sink),
-	  (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
-	  Make the default acceptcaps behaviour be to check the requested
-	  caps against the gst_pad_get_caps output.
-	  Ensure that gst_pad_accept_caps is used to check caps when a pad
-	  doesn't have a setcaps function, so that pads automatically refuse
-	  caps that they don't allow in their pad template. (Fixes #332986)
-	  When a buffer with attached caps is pushed, ensure that the source
-	  pad receives those caps even if the element didn't call
-	  gst_pad_set_caps first.
-
-2006-03-15 16:22:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstadapter.c: Add some docs.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstadapter.c:
-	  Add some docs.
-
-2006-03-15 15:57:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/common/: Add a whole bunch of missing functions (#334434).
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstcontroller.def:
-	  * win32/common/libgstreamer.def:
-	  Add a whole bunch of missing functions (#334434).
-
-2006-03-14 19:36:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Better debug info when we receive a segment event.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
-	  (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
-	  (gst_base_sink_do_sync), (gst_base_sink_do_qos):
-	  Better debug info when we receive a segment event.
-	  Reorganize a bit so we can pass the get_times() results around.
-	  Use the segment format when calculating the running time.
-	  Don't do QoS is sync is disabled or we have no clock or the
-	  element does not want us to sync to the clock.
-	  Don't drop buffers if QoS is disabled for now.
-
-2006-03-14 19:28:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.c: Marked the stats property as unimplemented so people don't get wild ideas.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
-	  Marked the stats property as unimplemented so people don't get
-	  wild ideas.
-	  Add debug message when regression goes wrong.
-	  Added some more docs.
-
-2006-03-14 19:26:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Return correct return type in case of errors.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_to_stream_time):
-	  Return correct return type in case of errors.
-
-2006-03-14 19:16:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstformat.c: Don't segfault on invalid formats.
-	  Original commit message from CVS:
-	  * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
-	  Don't segfault on invalid formats.
-
-2006-03-14 18:25:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesink.c: Can't use gst_segment_to_running_time() when the segment is not in GST_TIME_FORMAT (like...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Can't use gst_segment_to_running_time() when the segment
-	  is not in GST_TIME_FORMAT (like with filesink, for example).
-	  Stops flac encoding pipelines from spewing critical warnings
-	  at EOS (#331248).
-
-2006-03-14 16:32:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpipeline.c: Add 'Since: 0.10.5' to gtk-doc blurb for added property.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_class_init):
-	  Add 'Since: 0.10.5' to gtk-doc blurb for added property.
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  Don't try to typefind empty streams.
-
-2006-03-14 11:18:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Separate QoS calculation.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
-	  (gst_base_sink_do_qos):
-	  Separate QoS calculation.
-	  Only drop buffers when lateness is bigger than the
-	  duration of the buffer.
-
-2006-03-13 15:17:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Don't deadlock when reading properties.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_set_property),
-	  (gst_pipeline_get_property), (do_pipeline_seek),
-	  (gst_pipeline_change_state), (gst_pipeline_set_delay),
-	  (gst_pipeline_get_delay):
-	  Don't deadlock when reading properties.
-
-2006-03-13 11:27:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.*: Make basetransform virtual method for src events too.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_class_init), (gst_base_transform_init),
-	  (gst_base_transform_sink_event),
-	  (gst_base_transform_sink_eventfunc),
-	  (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_chain),
-	  (gst_base_transform_set_property),
-	  (gst_base_transform_get_property),
-	  (gst_base_transform_change_state), (gst_base_transform_update_qos),
-	  (gst_base_transform_set_qos_enabled),
-	  (gst_base_transform_is_qos_enabled):
-	  * libs/gst/base/gstbasetransform.h:
-	  Make basetransform virtual method for src events too.
-	  Handle QOS in basetransform.
-	  API: gst_base_transform_update_qos
-	  API: gst_base_transform_set_qos_enabled
-	  API: gst_base_transform_is_qos_enabled
-
-2006-03-13 11:16:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Small cleanups.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_do_sync):
-	  Small cleanups.
-	  Use QOS debug category.
-
-2006-03-13 11:11:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstqueue.c: Very small doc update.
-	  Original commit message from CVS:
-	  * plugins/elements/gstqueue.c:
-	  Very small doc update.
-
-2006-03-13 11:08:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Added QOS debug category
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  * gst/gstinfo.c: (_gst_debug_init):
-	  Added QOS debug category
-
-2006-03-13 11:04:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Documentation updates.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
-	  * gst/gstbin.h:
-	  * gst/gstbus.c: (gst_bus_class_init):
-	  * gst/gstbus.h:
-	  * gst/gstclock.c:
-	  * gst/gstelement.c: (gst_element_set_locked_state):
-	  * gst/gstsegment.c:
-	  Documentation updates.
-	  * gst/gstpipeline.c: (gst_pipeline_get_type),
-	  (gst_pipeline_class_init), (gst_pipeline_init),
-	  (gst_pipeline_dispose), (gst_pipeline_set_property),
-	  (gst_pipeline_get_property), (do_pipeline_seek),
-	  (gst_pipeline_send_event), (gst_pipeline_change_state),
-	  (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
-	  (gst_pipeline_get_delay):
-	  * gst/gstpipeline.h:
-	  Added methods for setting the delay.
-	  API: gst_pipeline_set_delay
-	  API: gst_pipeline_get_delay
-	  Add pipeline debug category
-	  Various cleanups.
-	  Updated docs.
-	  Don't reset stream time when seek failed.
-
-2006-03-13 10:32:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Documentation updates.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-negotiation.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-preroll.txt:
-	  * docs/design/part-seeking.txt:
-	  * docs/design/part-states.txt:
-	  * docs/design/part-streams.txt:
-	  Documentation updates.
-
-2006-03-12 20:44:46 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gsttaglist.c: Fix rubbish docs that are encouraging us to leak strings...
-	  Original commit message from CVS:
-	  2006-03-12  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gsttaglist.c: Fix rubbish docs that are encouraging
-	  us to leak strings...
-
-2006-03-12 20:40:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/net/gstnettimeprovider.c: fix docs
-	  Original commit message from CVS:
-	  * libs/gst/net/gstnettimeprovider.c:
-	  fix docs
-	  * win32/common/config.h:
-	  update
-
-2006-03-12 14:32:37 +0000  Julio M. Merino Vidal <jmmv@netbsd.org>
-
-	  configure.ac: Don't check for libgnomeui (leftover from old examples that aren't built or disted any longer) (#334303).
-	  Original commit message from CVS:
-	  Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
-	  * configure.ac:
-	  Don't check for libgnomeui (leftover from old examples
-	  that aren't built or disted any longer) (#334303).
-
-2006-03-11 13:02:28 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/: Emit RESOURCE_NO_SPACE_LEFT error here as well when there's no space left on the device.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
-	  * plugins/elements/gstfilesink.c: (gst_file_sink_render):
-	  Emit RESOURCE_NO_SPACE_LEFT error here as well when
-	  there's no space left on the device.
-
-2006-03-10 23:44:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to cast the input to GstClockTime before comp...
-	  Original commit message from CVS:
-	  * gst/gstclock.h:
-	  Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
-	  to cast the input to GstClockTime before comparing with
-	  another GstClockTime value.
-
-2006-03-10 19:12:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* libs/gst/base/gstbasesink.c:
-	  log what we're waiting on
-	  Original commit message from CVS:
-	  log what we're waiting on
-
-2006-03-10 19:11:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-=== release 0.10.4 ===
-
-2006-03-10 19:03:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/manual/README:
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* docs/upload.mak:
-	* win32/common/config.h:
-	  releasing 0.10.4
-	  Original commit message from CVS:
-	  releasing 0.10.4
-
-2006-03-10 15:30:27 +0000  Michael Smith <msmith@xiph.org>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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.
-
-2006-03-09 19:00:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	* win32/common/config.h:
-	  prereleasing
-	  Original commit message from CVS:
-	  prereleasing
-
-2006-03-09 16:53:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add new API: gst_pipeline_set_auto_flush_bus() and gst_pipeline_get_auto_flush_bus() to disable automatic flushing of...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_init), (gst_pipeline_set_property),
-	  (gst_pipeline_get_property), (gst_pipeline_change_state),
-	  (gst_pipeline_set_auto_flush_bus),
-	  (gst_pipeline_get_auto_flush_bus):
-	  * gst/gstpipeline.h:
-	  Add new API: gst_pipeline_set_auto_flush_bus() and
-	  gst_pipeline_get_auto_flush_bus() to disable automatic
-	  flushing of the pipeline's GstBus when going from READY
-	  to NULL state (#332045).
-
-2006-03-09 12:08:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add new API: gst_uri_has_protocol() (#333779).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsturi.c: (gst_uri_has_protocol):
-	  * gst/gsturi.h:
-	  Add new API: gst_uri_has_protocol() (#333779).
-
-2006-03-09 11:45:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.*: Review docs.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_entry_new),
-	  (gst_clock_id_compare_func), (gst_clock_id_wait),
-	  (gst_clock_id_wait_async), (gst_clock_id_unschedule),
-	  (gst_clock_init), (gst_clock_get_internal_time),
-	  (gst_clock_set_master), (do_linear_regression),
-	  (gst_clock_add_observation), (gst_clock_set_property):
-	  * gst/gstclock.h:
-	  Review docs.
-	  Small cleanups.
-	  Fix a possible segfault when the window-size is made smaller.
-	  Calculate jitter before performing the clock wait. Ideally
-	  the clock implementation should calculate jitter but we need
-	  API breakage for that.
-	  * gst/gstsystemclock.c: (gst_system_clock_init):
-	  Docs review.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
-	  Remove leftover else
-	  * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
-	  (gst_systemclock_suite):
-	  Added check to test GST_CLOCK_DIFF.
-
-2006-03-09 10:46:35 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gsttypefindhelper.c: If we are provided with the size, we should implement
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
-	  (gst_type_find_helper_get_range):
-	  If we are provided with the size, we should implement
-	  GstTypeFind::get_length, so that typefind functions who
-	  want to can actually peek at the middle of a file.
-
-2006-03-08 14:30:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-dataaccess.xml: Add some very very basic error checking.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  Add some very very basic error checking.
-	  * docs/pwg/appendix-checklist.xml:
-	  Some updates to the list of things to check when writing an element.
-
-2006-03-08 13:44:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-element-transform.txt: Added some docs about the design of tranform elements.
-	  Original commit message from CVS:
-	  * docs/design/part-element-transform.txt:
-	  Added some docs about the design of tranform elements.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
-	  (gst_base_src_loop), (gst_base_src_change_state):
-	  Mark buffers with the DISCONT flag.
-
-2006-03-08 12:57:37 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/: Rewrite registry-saving to avoid race conditions and check for failed writes.
-	  Original commit message from CVS:
-	  * gst/gstregistry.h:
-	  * gst/gstregistryxml.c: (gst_registry_save),
-	  (gst_registry_save_escaped), (gst_registry_xml_save_caps),
-	  (gst_registry_xml_save_pad_template),
-	  (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
-	  (gst_registry_xml_write_cache):
-	  Rewrite registry-saving to avoid race conditions and check for
-	  failed writes.
-
-2006-03-08 10:17:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasetransform.c: Cleanups, separate normal flow from errors, add sensible
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps),
-	  (gst_base_transform_transform_size),
-	  (gst_base_transform_prepare_output_buffer),
-	  (gst_base_transform_get_unit_size),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer),
-	  (gst_base_transform_change_state):
-	  Cleanups, separate normal flow from errors, add sensible
-	  DEBUG lines.
-	  Don't try to renegotiate when allocating an output buffer.
-	  Also copy DISCONT buffer flag when copying a buffer.
-	  Reset the transform after we finish streaming, not during.
-
-2006-03-08 09:46:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Use last buffer timestamp in qos message.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
-	  Use last buffer timestamp in qos message.
-
-2006-03-07 17:06:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/pwg/: Applied patch from Christophe Fergeau, fixes #333416
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-tagging.xml:
-	  * docs/pwg/building-pads.xml:
-	  Applied patch from Christophe Fergeau, fixes #333416
-
-2006-03-07 16:21:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Added basesink new methods.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Added basesink new methods.
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  Docs updates. Flesh out the QoS docs.
-	  * libs/gst/base/gstadapter.c:
-	  Small doc clarification about ownership and flushing.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
-	  (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
-	  (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_do_sync):
-	  * libs/gst/base/gstbasesink.h:
-	  Added new methods to allow subclass to control max-lateness
-	  and sync.
-	  Generate very basic QoS events based on last sync observation.
-	  Updated docs, fix typo, added some QoS blurb.
-	  * libs/gst/base/gstbasesrc.c:
-	  Remove obsolete _get_state() calls from docs.
-
-2006-03-07 15:14:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Fix #333669, Add pad accessor defines for GstBaseTransform
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gstbasetransform.h:
-	  Fix #333669, Add pad accessor defines for GstBaseTransform
-	  Fix docs for GstBaseSrc.
-
-2006-03-07 15:08:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Small documentation fixes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbuffer.h:
-	  * gst/gstvalue.c:
-	  * libs/gst/base/gstbasetransform.h:
-	  Small documentation fixes.
-
-2006-03-07 11:47:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Document thread-unsafety of gst_value_register_foo_func() when used at the same time as gst_value_foo...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Document thread-unsafety of gst_value_register_foo_func()
-	  when used at the same time as gst_value_foo() (#322628).
-
-2006-03-07 10:19:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  update README
-	  Original commit message from CVS:
-	  update README
-
-2006-03-07 09:28:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstpushsrc.c: Push sources don't support pull mode by default.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
-	  (gst_push_src_check_get_range):
-	  Push sources don't support pull mode by default.
-
-2006-03-06 19:55:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.*: Add ::check_get_range() vfunc to GstBaseSrc (#332611), provide default implementation, an...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_pad_check_get_range),
-	  (gst_base_src_default_check_get_range):
-	  * libs/gst/base/gstbasesrc.h:
-	  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
-	  provide default implementation, and rename
-	  gst_base_src_check_get_range() to
-	  gst_base_src_pad_check_get_range() for clarity.
-
-2006-03-06 16:24:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/styleguide:
-	  style guide
-	  Original commit message from CVS:
-	  style guide
-
-2006-03-06 16:10:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Make property overridable.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
-	  Make property overridable.
-
-2006-03-06 16:02:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.*: Make max-lateness a property.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init), (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_do_sync):
-	  * libs/gst/base/gstbasesink.h:
-	  Make max-lateness a property.
-
-2006-03-06 15:16:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Don't ever draw a frame that is >10ms late.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
-	  (gst_base_sink_do_sync), (gst_base_sink_render_object):
-	  Don't ever draw a frame that is >10ms late.
-
-2006-03-06 14:51:36 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstmessage.c: When copying a message, set the parent_refcount of the enclosed structure to point at the copy, not...
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (_gst_message_copy):
-	  When copying a message, set the parent_refcount of the enclosed
-	  structure to point at the copy, not the original message.
-
-2006-03-06 14:46:31 +0000  Christophe Fergeau <teuf@gnome.org>
-
-	  gst/gstutils.h: Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
-	  Original commit message from CVS:
-	  * gst/gstutils.h:
-	  Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
-	  usable in c++ code (#333417; patch by: Christophe Fergeau)
-
-2006-03-06 14:34:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
-	  Original commit message from CVS:
-	  * gst/gstclock.h:
-	  Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
-
-2006-03-06 14:23:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/appendix-quotes.xml:
-	  add another quote
-	  Original commit message from CVS:
-	  add another quote
-
-2006-03-05 20:56:55 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasetransform.c: Make sure caps are writable before passing them to gst_caps_append().
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_transform_caps):
-	  Make sure caps are writable before passing them to
-	  gst_caps_append().
-
-2006-03-04 14:45:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsterror.h: Fix some minor docs errors.
-	  Original commit message from CVS:
-	  * gst/gsterror.h:
-	  Fix some minor docs errors.
-
-2006-03-04 13:54:26 +0000  Ross Burton <ross@burtonini.com>
-
-	  gst/gsterror.*: Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_resource_errors_init):
-	  * gst/gsterror.h:
-	  Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
-	  patch by: Ross Burton <ross at burtonini dot com>).
-
-2006-03-03 16:58:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gst.c: Add a check and output a g_warning when GStreamer is built against GLib 2.6 but running against 2.8 or hig...
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Add a check and output a g_warning when GStreamer is built
-	  against GLib 2.6 but running against 2.8 or higher, and vice
-	  versa. (Closes: #323542)
-
-2006-03-03 15:32:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetype...
-	  Original commit message from CVS:
-	  * gst/parse/parse.l:
-	  Commit patch for parse_launch syntax from #331255. Removes
-	  support for quoted strings and mimetypes when writing filtered
-	  caps. See the bug report for more details - I'm pretty sure this
-	  obscure feature is not in use by _anyone_ anywhere.
-	  With this simple change, the size of the gstreamer.so here
-	  drops from 2193KB to 1565KB.
-
-2006-03-03 14:18:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.*: Use gst_type_find_helper_for_buffer() for chain-based typefinding.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.h:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_src_event), (start_typefinding),
-	  (stop_typefinding), (gst_type_find_element_handle_event),
-	  (gst_type_find_element_chain),
-	  (gst_type_find_element_chain_do_typefinding):
-	  Use gst_type_find_helper_for_buffer() for chain-based
-	  typefinding.
-
-2006-03-03 11:42:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Deprecate "maximum" property (not only was it only taken into account for type...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_class_init),
-	  (gst_type_find_element_set_property),
-	  (gst_type_find_element_get_property):
-	  Deprecate "maximum" property (not only was it only taken into
-	  account for typefinding in push-mode anyway, it also was never
-	  actually possible to set it in the first place because the
-	  property was registered with the numeric property ID for the
-	  "minimum" property). Register "maximum" property correctly,
-	  for the sake of future copy'n'pasters. Remove some cruft
-	  from property get/set functions.
-
-2006-03-03 11:27:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Use gst_type_find_helper_get_range() here, so we can honour the min-probabilit...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_activate):
-	  Use gst_type_find_helper_get_range() here, so we
-	  can honour the min-probability property and also emit
-	  the signal with the correct probability of the found caps.
-
-2006-03-02 13:45:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  New API: gst_type_find_helper_get_range() (#333042).
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
-	  (helper_find_suggest), (gst_type_find_helper_get_range),
-	  (gst_type_find_helper):
-	  * libs/gst/base/gsttypefindhelper.h:
-	  New API: gst_type_find_helper_get_range() (#333042).
-
-2006-03-02 11:04:58 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstregistryxml.c: Asserting on a failure to read part of the registry is Not Cool.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (load_feature):
-	  Asserting on a failure to read part of the registry is Not Cool.
-	  Just log a warning and return NULL (which is already handled)
-
-2006-02-28 20:57:10 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/libgstbase.def: added export of gst_type_find_helper_for_buffer
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  added export of gst_type_find_helper_for_buffer
-	  * win32/common/libgstbase.def:
-	  added some exports : gst_bin_iterate_elements, gst_iterator_resync,
-	  gst_ghost_pad_get_target
-
-2006-02-28 17:24:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-klass.txt: We use Filter now.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  We use Filter now.
-	  Added Connector to mark elements that are only used to
-	  allow pipeline connections.
-	  Moved Debug to extra feature since most of them are
-	  functionally something else.
-
-2006-02-28 17:03:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-klass.txt: Some updates and clarifications.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Some updates and clarifications.
-
-2006-02-28 15:54:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/draft-klass.txt: Proposal for klass field values.
-	  Original commit message from CVS:
-	  * docs/design/draft-klass.txt:
-	  Proposal for klass field values.
-	  * docs/design/part-streams.txt:
-	  Start of a doc describing stream anatomy.
-
-2006-02-28 10:52:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Help the compiler a bit with type registration.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
-	  Help the compiler a bit with type registration.
-	  Use existing forward cod path instead of duplicating it when
-	  handling a message.
-	  * gst/gstbus.c: (gst_bus_get_type):
-	  * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
-	  * gst/gstchildproxy.c: (gst_child_proxy_get_type):
-	  * gst/gstclock.c: (gst_clock_get_type):
-	  * gst/gstelement.c: (gst_element_get_type),
-	  * gst/gstelementfactory.c: (gst_element_factory_get_type):
-	  * gst/gstindexfactory.c: (gst_index_factory_get_type):
-	  * gst/gstminiobject.c: (gst_mini_object_get_type):
-	  * gst/gstpad.c: (gst_pad_get_type):
-	  * gst/gstsegment.c: (gst_segment_get_type):
-	  * gst/gststructure.c: (gst_structure_get_type):
-	  * gst/gstsystemclock.c: (gst_system_clock_get_type):
-	  * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
-	  * gst/gstvalue.c:
-	  Help compiler with type registration.
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
-	  Small doc update.
-
-2006-02-27 20:01:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: When we get an EOS event and have not found a type yet (most likely because we...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  When we get an EOS event and have not found a type yet
-	  (most likely because we had not yet accumulated
-	  TYPE_FIND_MIN_SIZE of data yet), try to determine the
-	  type given the data we have so far. Fixes typefinding
-	  for very short streams again, most notably quicktime
-	  redirections as used on Apple's trailer site (#331701).
-
-2006-02-27 19:45:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gsttypefindhelper.c: Try typefinding factories with the highest rank first.
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
-	  (gst_type_find_helper):
-	  Try typefinding factories with the highest rank first.
-
-2006-02-27 19:19:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add section for typefind helper and add documentation for the old and the new function.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/base/gsttypefindhelper.c:
-	  Add section for typefind helper and add documentation
-	  for the old and the new function.
-
-2006-02-27 18:43:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gsttypefindhelper.*: New API: gst_type_find_helper_for_buffer() (#332723).
-	  Original commit message from CVS:
-	  * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
-	  (buf_helper_find_suggest), (type_find_factory_rank_cmp),
-	  (gst_type_find_helper_for_buffer):
-	  * libs/gst/base/gsttypefindhelper.h:
-	  New API: gst_type_find_helper_for_buffer() (#332723).
-
-2006-02-27 15:43:10 +0000  Loïc Minier <lool.gnome@via.ecp.fr>
-
-	  Patch from Loïc Minier to prevent CVS directories getting disted.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/Makefile.am:
-	  * docs/slides/Makefile.am:
-	  Patch from Loïc Minier to prevent CVS directories getting disted.
-
-2006-02-27 12:10:47 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update
-	  Original commit message from CVS:
-	  update
-
-2006-02-27 11:01:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstcaps.c: Use the REFCOUNTING category for caps refcounting.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
-	  Use the REFCOUNTING category for caps refcounting.
-
-2006-02-26 19:20:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (stop_typefinding):
-	  This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
-
-2006-02-26 14:42:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Use gst_pad_check_pull_range() before _activate_pull() to avoid unnecessary op...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_activate):
-	  Use gst_pad_check_pull_range() before _activate_pull()
-	  to avoid unnecessary open/close (see #331690).
-
-2006-02-24 16:54:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.c: Docs enhancement: make it crystal clear what the gst_pad_add_*_probe() callbacks should look like.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  Docs enhancement: make it crystal clear what the
-	  gst_pad_add_*_probe() callbacks should look like.
-
-2006-02-24 10:57:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.c: Document how applications can stop recording from live sources (see #330996).
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c:
-	  Document how applications can stop recording from
-	  live sources (see #330996).
-
-2006-02-23 18:06:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Ignore more stuff.
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/plugins/tmpl/.cvsignore:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/libs/.cvsignore:
-	  * tests/check/pipelines/.cvsignore:
-	  Ignore more stuff.
-
-2006-02-23 17:39:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/: ... and add some tests for the base source EOS stuff.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/basesrc.c: (eos_event_counter),
-	  (basesrc_eos_events_pull), (basesrc_eos_events_push),
-	  (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
-	  (gst_basesrc_suite), (main):
-	  ... and add some tests for the base source EOS stuff.
-
-2006-02-23 16:56:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstutils.c: Test case originally showed the problem fixed below, but was then amended. Add checks bac...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
-	  Test case originally showed the problem fixed below,
-	  but was then amended. Add checks back at the place
-	  where they used to be.
-
-2006-02-23 16:24:36 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.*: Don't unconditionally send EOS when going from PAUSED to
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_loop),
-	  (gst_base_src_activate_push), (gst_base_src_activate_pull),
-	  (gst_base_src_change_state):
-	  * libs/gst/base/gstbasesrc.h:
-	  Don't unconditionally send EOS when going from PAUSED to
-	  READY state, esp. make sure we don't send two EOS events
-	  in some cases (e.g. one when reaching EOS and one when
-	  going from PAUSED to READY). Also, we don't want to send
-	  EOS events when operating in pull mode. However, we do
-	  want to send an EOS event when shutting down a live
-	  source explicitly, for example (fixes #330996).
-
-2006-02-23 10:24:13 +0000  Renchi Raju <renchi@gmail.com>
-
-	  plugins/elements/gstfilesrc.c: Update src->read_position after a seek when not using mmap.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  Update src->read_position after a seek when not using mmap.
-	  Fixes #332277, patch by: Renchi Raju <renchi gmail com>
-
-2006-02-20 23:34:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/: Make things work with --disable-parse as they do with
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/gstparse.h:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  Make things work with --disable-parse as they do with
-	  --disable-load-save - the symbols involved disappear, but the
-	  header is still installed and GST_DISABLE_PARSE is included via
-	  gstconfig.h
-
-2006-02-20 16:07:42 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstbasetransform.c: Fix a stupid bug. I was sure i compiled that.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_change_state): Fix a stupid bug. I was
-	  sure i compiled that.
-	  ------------------------------------------------------
-
-2006-02-20 15:07:33 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/: Make those function act on the ghostpad target when it's a ghostpad. (Closes #331727)
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_blocked_async):
-	  * gst/gstutils.c: (gst_pad_add_data_probe),
-	  (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
-	  (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
-	  (gst_pad_remove_buffer_probe): Make those function act on the
-	  ghostpad target when it's a ghostpad. (Closes #331727)
-	  ------------------------------------------------------
-
-2006-02-20 15:01:14 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstbasetransform.c: Make basetransform reusable. (Closes #331898)
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_change_state): Make basetransform reusable.
-	  (Closes #331898)
-	  ------------------------------------------------------
-
-2006-02-20 12:26:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/random/release: Move the current documentation of how to do a release to the top of the file.
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  Move the current documentation of how to do a release to the top
-	  of the file.
-	  * gst/gstbin.c: (gst_bin_class_init),
-	  (gst_bin_handle_message_func):
-	  Allow multiple state-recalculation threads. (Closes #328873)
-
-2006-02-19 12:25:01 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstinfo.h: Add GST_STR_NULL to the second string.
-	  Original commit message from CVS:
-	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstinfo.h: Add GST_STR_NULL to the second string.
-	  * gst/gstpad.c: (gst_pad_set_event_function),
-	  (gst_pad_set_query_function), (gst_pad_set_query_type_function),
-	  (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
-	  2 strings. You can't use the STR_NULL macro on that.
-
-2006-02-19 12:00:38 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  gst/gstpad.c: (gst_pad_set_getcaps_function)
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_event_function),
-	  (gst_pad_set_query_function), (gst_pad_set_query_type_function),
-	  (gst_pad_set_getcaps_function)
-	  * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
-	  Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
-	  So now, we can use --gst-debug-level=5 on Windows
-	  * win32/common/libgstcontroller.def:
-	  Added export of gst_controller_init
-	  * win32/vs6/libgstcontroller.dsp:
-	  Fixed Release post build configuration
-
-2006-02-17 15:25:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstquery.c: Added another check.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstquery.c: (GST_START_TEST):
-	  Added another check.
-
-2006-02-15 12:17:50 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: We can do peeks at non-zero offsets, as long as they fall within the buffer we...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (find_peek):
-	  We can do peeks at non-zero offsets, as long as they
-	  fall within the buffer we have.
-
-2006-02-15 01:02:11 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/: Add testsuite for parse launch syntax
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/pipelines/parse-launch.c: (setup_pipeline),
-	  (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
-	  (parse_suite), (main):
-	  Add testsuite for parse launch syntax
-
-2006-02-14 20:57:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: When typefinding is unsuccessful in the chain function, don't error out immedi...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain):
-	  When typefinding is unsuccessful in the chain function, don't
-	  error out immediately. Only error out with NO_CAPS_FOUND if
-	  the amount of data is at least MAX_TYPEFIND_SIZE bytes,
-	  otherwise simply wait for more data so we can try typefinding
-	  again with more data later. Also, don't attempt to typefind
-	  if we have less than MIN_TYPEFIND_SIZE data available. Overall,
-	  this should improve typefinding from network sources where the
-	  size of the first buffer can be somewhat random.
-
-2006-02-14 18:26:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Fix padtemplate docs, fixes #328805.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstpadtemplate.c:
-	  * gst/gstpadtemplate.h:
-	  Fix padtemplate docs, fixes #328805.
-
-2006-02-14 17:25:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: NO_PREROLL is not an ERROR so don't send confusing messages to the user.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  NO_PREROLL is not an ERROR so don't send confusing messages
-	  to the user.
-
-2006-02-14 16:15:05 +0000  Torsten Schoenfeld <kaffeetisch@gmx.de>
-
-	  gst/gstregistry.c: Protect default registry with lock and ref/sink it.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_get_default),
-	  (_gst_registry_cleanup):
-	  Protect default registry with lock and ref/sink it.
-	  Fixes #324818, patch by Torsten Schoenfeld.
-
-2006-02-14 13:07:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Docs fixes.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  * gst/gstquery.c: (gst_query_list_add_format),
-	  (gst_query_set_formatsv), (gst_query_parse_formats_length),
-	  (gst_query_parse_formats_nth):
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
-	  Docs fixes.
-
-2006-02-14 12:07:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Reworked query docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Reworked query docs.
-	  * gst/gstquery.c: (gst_query_new_formats),
-	  (gst_query_list_add_format), (gst_query_set_formats),
-	  (gst_query_set_formatsv), (gst_query_parse_formats_length),
-	  (gst_query_parse_formats_nth):
-	  * gst/gstquery.h:
-	  Flesh out formats query, added some new methods.
-	  Fix part of #324398.
-	  * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
-	  Added query creation tests.
-
-2006-02-14 11:38:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Add a default fixation for fraction lists.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (fixate_value):
-	  Add a default fixation for fraction lists.
-
-2006-02-13 17:03:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gsttask.*: Detect and warn for obvious deadlocks. fixes #320340
-	  Original commit message from CVS:
-	  * gst/gsttask.c: (gst_task_init), (gst_task_func),
-	  (gst_task_set_lock), (gst_task_start), (gst_task_pause),
-	  (gst_task_join):
-	  * gst/gsttask.h:
-	  Detect and warn for obvious deadlocks. fixes #320340
-	  Fix error case where lock was not released.
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
-	  (task_func), (gst_element_suite), (main):
-	  Add task check.
-
-2006-02-13 14:00:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Forgot changelog
-	  Original commit message from CVS:
-	  Forgot changelog
-
-2006-02-13 13:57:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add new functions to docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbus.c:
-	  Add new functions to docs.
-
-2006-02-13 11:52:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Updated TODO list, basesrc supports seeking to non-bytes formats.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Updated TODO list, basesrc supports seeking to non-bytes
-	  formats.
-	  * docs/design/part-element-sink.txt:
-	  Update docs.
-	  * gst/gstbin.c: (bin_replace_message),
-	  (gst_bin_handle_message_func):
-	  * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
-	  * gst/gstevent.c: (gst_event_finalize):
-	  * gst/gstpad.c: (gst_pad_event_default_dispatch),
-	  (gst_pad_send_event):
-	  Use shiny new _TYPE_NAME macros.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Move debug statement up.
-	  * gst/gstelement.c: (gst_element_set_locked_state):
-	  Add some debugging.
-
-2006-02-13 11:19:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME macros (#330906). Also, document the already existing
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.h:
-	  * gst/gstquery.h:
-	  New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
-	  macros (#330906). Also, document the already existing
-	  GST_QUERY_TYPE macro.
-
-2006-02-13 10:54:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstutils.c: Only events up to the pipeline EOS are counted, there are some more when going to NULL cu...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
-	  (event_probe), (GST_START_TEST):
-	  Only events up to the pipeline EOS are counted, there are
-	  some more when going to NULL currently which we don't care
-	  about for now.
-
-2006-02-13 09:59:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Correctly check flushing and emit probes. fixes #330125
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_send_event):
-	  Correctly check flushing and emit probes. fixes #330125
-
-2006-02-12 13:11:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  revert wrong commit
-	  Original commit message from CVS:
-	  revert wrong commit
-
-2006-02-10 16:04:59 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbus.c (gst_bus_class_init): Declare our private data structure.
-	  Original commit message from CVS:
-	  2006-02-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbus.c (gst_bus_class_init): Declare our private data
-	  structure.
-	  (gst_bus_init): Cache the location of the private data in the
-	  instance structure.
-	  (gst_bus_enable_sync_message_emission)
-	  (gst_bus_disable_sync_message_emission): Implement new public
-	  functions.
-	  (gst_bus_post): Emit the sync-message signal if the user asked for
-	  it. Fixes #330684.
-	  * gst/gstbus.h (GstBus): Use a padding pointer to cache the
-	  location of the bus-private structuure.
-	  (gst_bus_enable_sync_message_emission)
-	  (gst_bus_disable_sync_message_emission): New public functions.
-
-2006-02-09 23:40:43 +0000  Vincent Torri <vtorri@univ-evry.fr>
-
-	  docs/pwg/building-boiler.xml:
-	  Original commit message from CVS:
-	  * docs/pwg/building-boiler.xml:
-	  PWG patch from #326800 (Patch by Vincent Torri)
-
-2006-02-09 18:30:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	* ChangeLog:
-	* docs/design/Makefile.am:
-	  ChangeLog surgery and add missing new file
-	  Original commit message from CVS:
-	  ChangeLog surgery and add missing new file
-
-2006-02-09 18:28:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/design/Makefile.am
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/Makefile.am:
-	  * docs/design/Makefile.am
-	  Dist design docs.
-
-2006-02-08 17:34:43 +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-08 17:31:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: releasing 0.10.3, "Like a virgin"
-	  Original commit message from CVS:
-	  === release 0.10.3 ===
-	  2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
-	  * configure.ac:
-	  releasing 0.10.3, "Like a virgin"
-
-2006-02-08 11:12:07 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: 2nd prerelease of 0.10.3
-	  Original commit message from CVS:
-	  2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
-	  * configure.ac:
-	  2nd prerelease of 0.10.3
-	  Bump libtool versioning.
-
-2006-02-07 15:49:40 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only update last_stop if we're in TIME format and the timest...
-	  Original commit message from CVS:
-	  2006-02-07  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
-	  update last_stop if we're in TIME format and the timestamp is
-	  valid.
-	  * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
-	  * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
-	  If we get a new newsegment with a different format, adapt
-	  accordingly.
-	  * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
-	  of 0. Not a problem, really.
-
-2006-02-07 13:20:16 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only warn if sync=true.
-	  Original commit message from CVS:
-	  2006-02-07  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
-	  warn if sync=true.
-
-2006-02-07 10:51:24 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update spec file
-	  Original commit message from CVS:
-	  update spec file
-
-2006-02-06 22:01:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Prelease of 0.10.3
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Prelease of 0.10.3
-
-2006-02-06 21:53:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2006-02-06 21:29:04 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs7: project files updated to the default vs7 configuration
-	  Original commit message from CVS:
-	  * win32/vs7:
-	  project files updated to the default vs7 configuration
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  added new symbols,
-	  removed empty lines,
-	  sorted all exported symbols alphabetically
-	  * win32/common/dirent.c:
-	  * win32/common/dirent.h:
-	  * win32/common/gchar.h:
-	  use windows line end.
-
-2006-02-06 15:25:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.c:
-	  doc sub80 fixes
-	  Original commit message from CVS:
-	  doc sub80 fixes
-
-2006-02-06 14:57:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.c: Send EOS event when stopping.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
-	  Send EOS event when stopping.
-
-2006-02-06 10:42:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/README: Tell folks what to do if the plugin-foobar.xml file hasn't been generated for a newly-added plugin.
-	  Original commit message from CVS:
-	  * docs/README:
-	  Tell folks what to do if the plugin-foobar.xml file
-	  hasn't been generated for a newly-added plugin.
-
-2006-02-05 18:13:28 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstcollectpads.c: Collectpads now holds a reference to the GstPad that was added. Indeed we don't want ...
-	  Original commit message from CVS:
-	  2006-02-05  Julien MOUTTE  <julien@moutte.net>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
-	  (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
-	  (gst_collect_pads_start), (gst_collect_pads_stop),
-	  (gst_collect_pads_event): Collectpads now holds a reference
-	  to the GstPad that was added. Indeed we don't want to look
-	  at pads that might just go away with no warning...
-
-2006-02-05 16:18:37 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstcollectpads.*: Handle flush. Adapted from
-	  Original commit message from CVS:
-	  2006-02-05  Julien MOUTTE  <julien@moutte.net>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
-	  (gst_collect_pads_start), (gst_collect_pads_stop),
-	  (gst_collect_pads_event), (gst_collect_pads_chain):
-	  * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
-	  Mark Nauwelaerts's patch on bug #328491.
-
-2006-02-04 12:49:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/check/gst/gstutils.c: Add some simple tests for gst_parse_bin_from_description() and gst_bin_find_unconnected_p...
-	  Original commit message from CVS:
-	  * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
-	  (gst_utils_suite):
-	  Add some simple tests for gst_parse_bin_from_description() and
-	  gst_bin_find_unconnected_pad() (#329069).
-
-2006-02-04 11:56:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.c: Catch errors during preroll (#320084).
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop), (main):
-	  Catch errors during preroll (#320084).
-
-2006-02-03 21:14:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Post TYPE_NOT_FOUND error message when typefinding is unsuccessful in the acti...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_activate):
-	  Post TYPE_NOT_FOUND error message when typefinding
-	  is unsuccessful in the activate function as well.
-
-2006-02-02 16:15:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-element-sink.txt: Updated doc.
-	  Original commit message from CVS:
-	  * docs/design/part-element-sink.txt:
-	  Updated doc.
-
-2006-02-02 16:12:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Only keep track of prerollable items when we are prerolling.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
-	  (gst_base_sink_render_object),
-	  (gst_base_sink_queue_object_unlocked):
-	  Only keep track of prerollable items when we are
-	  prerolling.
-	  Before rendering after preroll, always check if we
-	  have queued items.
-	  Added some more debugging.
-
-2006-02-02 13:58:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Fixed #326576, been running this for quite some time with no regressions at all.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_set_state_func), (gst_element_change_state):
-	  Fixed #326576, been running this for quite some time with
-	  no regressions at all.
-
-2006-02-02 13:44:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  common/gst.supp: Added more suppressions
-	  Original commit message from CVS:
-	  * common/gst.supp:
-	  Added more suppressions
-
-2006-02-02 12:07:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-element-sink.txt: Updated document.
-	  Original commit message from CVS:
-	  * docs/design/part-element-sink.txt:
-	  Updated document.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
-	  (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
-	  (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
-	  (gst_base_sink_do_sync), (gst_base_sink_render_object),
-	  (gst_base_sink_preroll_object),
-	  (gst_base_sink_queue_object_unlocked),
-	  (gst_base_sink_queue_object), (gst_base_sink_event),
-	  (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
-	  (gst_base_sink_loop), (gst_base_sink_activate_pull),
-	  (gst_base_sink_get_position), (gst_base_sink_change_state):
-	  * libs/gst/base/gstbasesink.h:
-	  Totally refactored matching the design doc.
-	  Use two segments, one to clip incomming buffers and another to
-	  perform sync.
-	  Handle queueing correctly, bypass the queue when playing.
-	  Make EOS cancelable.
-	  Handle errors correctly when operating in pull based mode.
-	  * tests/check/elements/fakesink.c: (GST_START_TEST),
-	  (fakesink_suite):
-	  Added new check for sinks.
-
-2006-02-02 11:59:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: No reason to refuse to clip when start == -1
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_clip):
-	  No reason to refuse to clip when start == -1
-
-2006-02-02 11:24:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: describe dparams (controller) for plugins unify docs a little more
-	  Original commit message from CVS:
-	  * docs/README:
-	  * docs/manual/intro-basics.xml:
-	  * docs/manual/intro-preface.xml:
-	  * docs/manual/manual.xml:
-	  * docs/pwg/advanced-dparams.xml:
-	  * docs/pwg/intro-basics.xml:
-	  * docs/pwg/intro-preface.xml:
-	  * docs/pwg/pwg.xml:
-	  describe dparams (controller) for plugins
-	  unify docs a little more
-
-2006-02-02 09:51:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add new API: gst_parse_bin_from_description() and gst_bin_find_unconnected_pad() (#329069).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.c: (element_find_unconnected_pad),
-	  (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
-	  * gst/gstutils.h:
-	  Add new API: gst_parse_bin_from_description() and
-	  gst_bin_find_unconnected_pad() (#329069).
-
-2006-02-01 22:43:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/manual/README: uncover a nasty detail of the docs build
-	  Original commit message from CVS:
-	  * docs/manual/README:
-	  uncover a nasty detail of the docs build
-
-2006-02-01 08:27:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/README:
-	  updates for plugin docs
-	  Original commit message from CVS:
-	  updates for plugin docs
-
-2006-01-31 18:46:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Don't cache duration messages if we're not going to use or free them.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
-	  Don't cache duration messages if we're not going to use or
-	  free them.
-
-2006-01-31 16:56:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: more dparam docs
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dparams.xml:
-	  * docs/pwg/advanced-dparams.xml:
-	  more dparam docs
-	  * gst/gstindex.c:
-	  fix docs
-	  * libs/gst/controller/lib.c: (gst_controller_init):
-	  init just once
-
-2006-01-31 10:16:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstelement.c: also show file/line/func if no additional debug was given
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_message_full):
-	  also show file/line/func if no additional debug was given
-
-2006-01-30 23:52:52 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs7/grammar.vcproj: activate copy of autogenerated files for Release mode
-	  Original commit message from CVS:
-	  * win32/vs7/grammar.vcproj:
-	  activate copy of autogenerated files for Release mode
-
-2006-01-30 22:29:03 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/libgstreamer.def: export gst_value_compare
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  export gst_value_compare
-
-2006-01-30 21:57:00 +0000  Philippe Rouquier <bonfire-app@wanadoo.fr>
-
-	  plugins/elements/:
-	  Original commit message from CVS:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstfdsink.c: (_do_init),
-	  (gst_fd_sink_base_init), (gst_fd_sink_class_init),
-	  (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
-	  (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
-	  (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
-	  (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
-	  (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
-	  (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
-	  * plugins/elements/gstfdsink.h:
-	  Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
-
-2006-01-30 21:11:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/manual/advanced-dparams.xml: describe controller
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dparams.xml:
-	  describe controller
-	  * docs/manual/advanced-position.xml:
-	  * docs/manual/basics-init.xml:
-	  * docs/manual/manual.xml:
-	  * docs/manual/titlepage.xml:
-	  * docs/pwg/pwg.xml:
-	  * docs/pwg/titlepage.xml:
-	  cleanup xml (more to come)
-	  * libs/gst/controller/gstcontroller.c:
-	  fix typo
-
-2006-01-30 20:36:51 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs6/grammar.dsp: add autogen of gstmarshal.c,h for Release mode
-	  Original commit message from CVS:
-	  * win32/vs6/grammar.dsp:
-	  add autogen of gstmarshal.c,h for Release mode
-
-2006-01-30 16:07:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Basesink cleanups, remove some old code.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
-	  (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_event),
-	  (gst_base_sink_is_prerolled), (gst_base_sink_wait),
-	  (gst_base_sink_do_sync), (gst_base_sink_handle_event),
-	  (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
-	  (gst_base_sink_deactivate), (gst_base_sink_activate),
-	  (gst_base_sink_activate_pull), (gst_base_sink_get_position),
-	  (gst_base_sink_query), (gst_base_sink_change_state):
-	  Basesink cleanups, remove some old code.
-	  Handle the case where a subclass can preroll in the render
-	  method (mostly audiosinks).
-	  Handle more events.
-	  Remove some locks around variables that are now protected
-	  with the PREROLL_LOCK (clock_id, flushing, ..).
-	  Optimize position query some more, do correct locking.
-	  Remove old code to push queue in state change, this is not
-	  needed anymore since preroll blocks on all prerollable items
-	  now.
-	  Almost implemented as described in design doc.
-
-2006-01-30 15:57:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/gst/gstbin.c: Wait for refcount to settle down before checking.
-	  Original commit message from CVS:
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  Wait for refcount to settle down before checking.
-
-2006-01-30 15:15:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-element-sink.txt: Pseudo code overview of desired sink behaviour regarding preroll.
-	  Original commit message from CVS:
-	  * docs/design/part-element-sink.txt:
-	  Pseudo code overview of desired sink behaviour regarding
-	  preroll.
-
-2006-01-30 14:28:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Bleh, forgot to commit the changelog entry on Saturday.
-	  Original commit message from CVS:
-	  Bleh, forgot to commit the changelog entry on Saturday.
-
-2006-01-29 21:56:00 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs6/grammar.dsp: fix some bugs in autogenerated files for Release mode
-	  Original commit message from CVS:
-	  * win32/vs6/grammar.dsp:
-	  fix some bugs in autogenerated files for Release mode
-
-2006-01-29 19:24:18 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/: export some new symbols: gst_base_src_set_format, gst_iterator_next, gst_structure_set_valist
-	  Original commit message from CVS:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  export some new symbols: gst_base_src_set_format,
-	  gst_iterator_next, gst_structure_set_valist
-
-2006-01-29 17:37:08 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstghostpad.c: Set pad functions unconditionally. Fixes #329105.
-	  Original commit message from CVS:
-	  2006-01-29  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
-	  Set pad functions unconditionally. Fixes #329105.
-
-2006-01-29 16:54:40 +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-28 00:59:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstutils.c: Don't leak pad references.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_unlink_pads):
-	  Don't leak pad references.
-	  * tests/check/elements/fakesink.c: (GST_START_TEST):
-	  * tests/check/generic/sinks.c: (GST_START_TEST):
-	  * tests/check/generic/states.c: (GST_START_TEST):
-	  * tests/check/gst/gstbin.c: (GST_START_TEST):
-	  * tests/check/gst/gstcaps.c: (GST_START_TEST):
-	  * tests/check/gst/gstelement.c: (GST_START_TEST):
-	  * tests/check/gst/gstghostpad.c: (GST_START_TEST):
-	  * tests/check/gst/gstiterator.c: (GST_START_TEST):
-	  * tests/check/gst/gstvalue.c: (GST_START_TEST):
-	  Fix a bunch of leaks. Make generic/sinks.c
-	  use a bit less cpu by slowing the buffer rate
-	  between fakesrc and fakesink.
-
-2006-01-27 22:34:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  doc fixes, to link to function, just write gst_cool_function(), don't prefix with '#'
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  * gst/gstelement.c: (gst_element_send_event):
-	  * gst/gstevent.c:
-	  * gst/gstinfo.c:
-	  * gst/gstiterator.c:
-	  * gst/gstiterator.h:
-	  * gst/gstpad.c: (gst_pad_send_event):
-	  * gst/gststructure.c:
-	  * gst/gsturi.c:
-	  * gst/gstutils.c:
-	  * gst/gstvalue.c:
-	  * libs/gst/base/gstadapter.c:
-	  doc fixes, to link to function, just write gst_cool_function(), don't
-	  prefix with '#'
-
-2006-01-27 16:59:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  plugins/elements/gsttee.c: Always prefer an actual return value from a src pad in place of NOT_LINKED. This means we ...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttee.c: (gst_tee_do_push),
-	  (gst_tee_handle_buffer):
-	  Always prefer an actual return value from a src
-	  pad in place of NOT_LINKED. This means we return
-	  WRONG_STATE when all src pads are WRONG_STATE
-	  instead of NOT_LINKED.
-	  Lock when replacing the last message to prevent
-	  racing with the get_property method.
-	  Add debug output
-
-2006-01-27 11:53:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tests/check/: Add a very simple check that should have caught the memleak I fixed last night (if not for the slice al...
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
-	  (main):
-	  Add a very simple check that should have caught the memleak I fixed
-	  last night (if not for the slice allocator hiding it)
-
-2006-01-27 01:48:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbin.c: Clean up references to the clock provider when disposed or when handling a clock-lost message from it.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
-	  (gst_bin_remove_func), (gst_bin_handle_message_func),
-	  (bin_query_duration_fold), (bin_query_generic_fold):
-	  Clean up references to the clock provider when disposed or when
-	  handling a clock-lost message from it.
-	  Unref sinks when performing a query via gst_iterator_fold, as the
-	  gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
-	  * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
-	  (gst_clock_set_master):
-	  Drop our reference to the master clock, if any, when we are disposed.
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
-	  Chain up in dispose.
-
-2006-01-27 01:13:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/i18n:
-	  add notes on i18n
-	  Original commit message from CVS:
-	  add notes on i18n
-
-2006-01-26 12:59:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesrc.c: Add some debugging.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Add some debugging.
-
-2006-01-26 12:40:17 +0000  Julien Moutte <julien@moutte.net>
-
-	  plugins/elements/gsttee.c: Apply patch from #328715. Tee now handles pad being NOT_LINKED or in WRONG_STATE.
-	  Original commit message from CVS:
-	  2006-01-26  Julien MOUTTE  <julien@moutte.net>
-	  * plugins/elements/gsttee.c: (gst_tee_do_push),
-	  (gst_tee_handle_buffer): Apply patch from #328715. Tee now
-	  handles pad being NOT_LINKED or in WRONG_STATE.
-
-2006-01-26 08:57:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  win32/MANIFEST: more updating
-	  Original commit message from CVS:
-	  * win32/MANIFEST:
-	  more updating
-
-2006-01-26 08:39:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  win32/MANIFEST: remove obsolete entry
-	  Original commit message from CVS:
-	  * win32/MANIFEST:
-	  remove obsolete entry
-
-2006-01-26 06:57:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added code for downstream events, reviewed docs in gstevent.c
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
-	  (gst_bin_iterate_sources), (gst_bin_send_event):
-	  * gst/gstbin.h:
-	  * gst/gstelement.c: (gst_element_send_event):
-	  * gst/gstevent.c:
-	  * gst/gstpad.c: (gst_pad_send_event):
-	  added code for downstream events, reviewed docs in gstevent.c
-
-2006-01-25 18:07:02 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstbasesink.c: We only query position using the clock in the playing state.
-	  Original commit message from CVS:
-	  2006-01-25  Julien MOUTTE  <julien@moutte.net>
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  We only query position using the clock in the playing state.
-	  Query peer in the other cases.
-	  * win32/common/config.h: Updates.
-
-2006-01-24 16:23:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsystemclock.c: A clock entry that is scheduled for the exact time of the clock is still in time.
-	  Original commit message from CVS:
-	  * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
-	  A clock entry that is scheduled for the exact time of the
-	  clock is still in time.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync):
-	  Add some more debug info.
-
-2006-01-23 12:37:33 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs7: Add new vs7 project files and solution.
-	  Original commit message from CVS:
-	  * win32/vs7 :
-	  Add new vs7 project files and solution.
-
-2006-01-23 12:23:00 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/vs7: all files removed as they were out-dated.
-	  Original commit message from CVS:
-	  * win32/vs7:
-	  all files removed as they were out-dated.
-
-2006-01-20 19:01:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/random/release: update notes
-	  Original commit message from CVS:
-	  * docs/random/release:
-	  update notes
-	  * gst/gstbin.c: (gst_bin_init):
-	  * gst/gstbus.c: (gst_bus_new):
-	  * gst/gstbus.h:
-	  * gst/gstpipeline.c: (gst_pipeline_init):
-	  use gst_bus_new(), improve logging, fix docs
-	  * win32/common/config.h:
-	  update for cvs build
-
-2006-01-20 18:59:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  autogen.sh: up required version of automake to 1.7
-	  Original commit message from CVS:
-	  * autogen.sh:
-	  up required version of automake to 1.7
-
-2006-01-20 12:53:40 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  win32/common/libgstreamer.def: export gst_buffer_is_metadata_writable
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  export gst_buffer_is_metadata_writable
-
-2006-01-20 11:46:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add gst_event_replace() (#327001)
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstevent.h:
-	  Add gst_event_replace() (#327001)
-
-2006-01-20 09:56:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Make it actually compile too..
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
-	  Make it actually compile too..
-
-2006-01-20 09:53:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Clarify behaviour of _is_equal() when passing NULL parameters.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  Clarify behaviour of _is_equal() when passing NULL parameters.
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
-	  (gst_pad_set_caps):
-	  Cleanups. Don't unref NULL caps.
-	  When setting the same caps, protect caps of the pad with
-	  proper lock.
-	  Use full functionality of _is_equal() when comparing caps.
-
-2006-01-20 09:26:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstcollectpads.c: Don't loop infinitely if there are no buffers to present. Partially fixes #327197, bu...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
-	  Don't loop infinitely if there are no buffers to present. Partially
-	  fixes #327197, but collectpads is just broken for reusing elements
-	  to do multiple encodes atm.
-
-2006-01-20 09:12:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  tools/: URL_HANDLER is not a plugin feature we can search for in the registry.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_features):
-	  * tools/gst-xmlinspect.c: (main):
-	  URL_HANDLER is not a plugin feature we can search for in
-	  the registry.
-
-2006-01-19 18:06:18 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstelement.c: When activating, do src pads first, then sink pads.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_pads_activate):
-	  When activating, do src pads first, then sink pads.
-	  When de-activating, do sink pads first, then src pads.
-
-2006-01-19 14:02:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/gst/gstreamer-sections.txt: Add gst_index_add_associationv to the docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add gst_index_add_associationv to the docs
-
-2006-01-19 13:30:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstevent.c: Fix docs typo
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  Fix docs typo
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
-	  (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
-	  Do some refactoring. Doesn't actually change functionality,
-	  but makes landing the DRAIN event easier later.
-
-2006-01-19 10:39:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/advanced-scheduling.xml: Update from 0.9.x to 0.10 API and make example a bit clearer.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-scheduling.xml:
-	  Update from 0.9.x to 0.10 API and make example a bit
-	  clearer.
-
-2006-01-19 09:24:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/gst/gstreamer-sections.txt: Add gst_buffer_(is|make)_metadata_writable methods.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add gst_buffer_(is|make)_metadata_writable methods.
-
-2006-01-19 09:08:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/design/part-sparsestreams.txt: Update sparse streams doc
-	  Original commit message from CVS:
-	  * docs/design/part-sparsestreams.txt:
-	  Update sparse streams doc
-
-2006-01-19 09:02:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/design/part-events.txt: Remove mention of FILLER events.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  Remove mention of FILLER events.
-	  Add DRAIN event.
-	  * docs/design/part-sparsestreams.txt:
-	  Write some things about using NEWSEGMENT to keep sparse streams
-	  flowing.
-
-2006-01-18 18:56:44 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.c: Guard gst_object_unref call against a NULL object (dispose can theoretically be called multiple times).
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_dispose):
-	  Guard gst_object_unref call against a NULL object (dispose
-	  can theoretically be called multiple times).
-
-2006-01-18 18:05:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/design/part-events.txt: Remove mention of FILLER events.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  Remove mention of FILLER events.
-	  Add DRAIN event.
-	  * docs/design/part-sparsestreams.txt:
-	  Write some things about using NEWSEGMENT to keep sparse streams
-	  flowing.
-
-2006-01-18 18:01:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Added some more debug info.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_element_set_state):
-	  * gst/gstclock.c: (gst_clock_id_wait):
-	  Added some more debug info.
-	  * libs/gst/base/gstadapter.c:
-	  Added more docs.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync), (gst_base_sink_chain):
-	  Added some comments.
-
-2006-01-18 17:59:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* tests/check/elements/.gitignore:
-	  Ignore fakesink test.
-	  Original commit message from CVS:
-	  Ignore fakesink test.
-
-2006-01-18 17:57:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/: Added fakesink test that checks prerolling and clipping behaviour.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/elements/fakesink.c: (chain_async_buffer),
-	  (chain_async), (chain_async_return), (GST_START_TEST),
-	  (fakesink_suite), (main):
-	  Added fakesink test that checks prerolling and clipping
-	  behaviour.
-	  * tests/check/gst/gstutils.c: (GST_START_TEST):
-	  Make check run faster so that buildbots don't timeout.
-
-2006-01-18 17:18:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Some cleanups.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync):
-	  Some cleanups.
-	  When the sink finishes blocking on the preroll buffer, it can
-	  immediatly render it instead of rendering when the next buffer
-	  arrives.
-
-2006-01-18 16:40:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Small cleanups.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
-	  (gst_base_sink_get_property), (gst_base_sink_do_sync),
-	  (gst_base_sink_chain):
-	  Small cleanups.
-	  GST_ELEMENT_CLOCK and sync are protected with LOCK.
-	  Don't store _last_stop if the buffer is dropped.
-
-2006-01-18 16:31:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the object method ...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_class_init):
-	  'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
-	  object method handler that sets the caps on the pad and we want
-	  that to happen before we emit the signal (fixes e.g. feeding a
-	  plain text file to decodebin).
-
-2006-01-18 11:44:55 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* ChangeLog:
-	* gst/gstplugin.c:
-	  add MPL and Properietart to list of licenses
-	  Original commit message from CVS:
-	  add MPL and Properietart to list of licenses
-
-2006-01-18 09:42:12 +0000  Torsten Schoenfeld <kaffeetisch@gmx.de>
-
-	  gst/gstindex.h (gst_index_add_associationv): Add to header. The symbol was exported before, it appears this was just ...
-	  Original commit message from CVS:
-	  2006-01-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstindex.h (gst_index_add_associationv): Add to header. The
-	  symbol was exported before, it appears this was just an oversight.
-	  Fixes #168703.
-	  Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
-	  * gst/gstindex.c (gst_index_add_associationv): Changed int in
-	  prototype to gint. OK since this prototype was not in the header.
-
-2006-01-17 16:39:23 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* docs/manual/appendix-licensing.xml:
-	  small fix to the proposed license clause
-	  Original commit message from CVS:
-	  small fix to the proposed license clause
-
-2006-01-17 12:53:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the registry while we remove plugins.
-	  Original commit message from CVS:
-	  2006-01-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
-	  registry while we remove plugins.
-	  * tools/gst-inspect.c (print_element_info): Don't unref the
-	  factory arg, that should be the responsibility of whatever code
-	  received the ref. Fixes a double-free when called from
-	  print_element_list via gst-inspect-0.10 -a. Fixes #327324.
-	  (main): Unref the factory if we have one.
-	  (print_element_list): No change -- relies on the
-	  plugin_feature_list_free to free the list of features.
-
-2006-01-17 12:14:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Replace gst_buffer_(make|is)_metadata_writable patch now that the release is out.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
-	  (gst_buffer_make_metadata_writable):
-	  * gst/gstbuffer.h:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
-	  Replace gst_buffer_(make|is)_metadata_writable patch now
-	  that the release is out.
-
-2006-01-17 12:08:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstregistry.c: Reflow design comment. Update so as to speak in the present tense without reference to versions.
-	  Original commit message from CVS:
-	  2006-01-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstregistry.c: Reflow design comment. Update so as to speak
-	  in the present tense without reference to versions.
-	  * gst/gstregistry.c (gst_registry_add_plugin)
-	  (gst_registry_remove_plugin, gst_registry_remove_feature)
-	  (gst_registry_find_feature, gst_registry_get_feature_list)
-	  (gst_registry_get_plugin_list, gst_registry_lookup_feature)
-	  (gst_registry_lookup, gst_registry_scan_path)
-	  (_gst_registry_remove_cache_plugins)
-	  (gst_registry_get_feature_list_by_plugin): Add argument
-	  validation.
-
-2006-01-16 21:00:53 +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:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	  releasing 0.10.2
-	  Original commit message from CVS:
-	  releasing 0.10.2
-
-2006-01-16 15:42:08 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Back out patch until after the release.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  * gst/gstbuffer.h:
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  * tests/check/gst/gstbuffer.c: (gst_test_suite):
-	  Back out patch until after the release.
-
-2006-01-16 14:37:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstminiobject.c: Spelling fix in docs.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c:
-	  Spelling fix in docs.
-	  * ChangeLog - remove conflict indicator
-
-2006-01-16 14:37:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  (Missed plugins/elements/gstcapsfilter.c in previous commit)
-	  Original commit message from CVS:
-	  (Missed plugins/elements/gstcapsfilter.c in previous commit)
-	  Reviewed By: Andy Wingo
-	  * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
-	  (gst_buffer_make_metadata_writable):
-	  * gst/gstbuffer.h:
-	  Add gst_buffer_(is|make)_metadata_writable as analogues of
-	  gst_buffer_(is|make)_writable.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  Use name gst_buffer_(is|make)_metadata_writable functions.
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
-	  Test gst_buffer_(is|make)_metadata_writable
-	  (Closes: #324162)
-
-2006-01-16 14:32:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbuffer.*: Add gst_buffer_(is|make)_metadata_writable as analogues of gst_buffer_(is|make)_writable.
-	  Original commit message from CVS:
-	  Reviewed By: Andy Wingo
-	  * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
-	  (gst_buffer_make_metadata_writable):
-	  * gst/gstbuffer.h:
-	  Add gst_buffer_(is|make)_metadata_writable as analogues of
-	  gst_buffer_(is|make)_writable.
-	  * libs/gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf):
-	  * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  Use name gst_buffer_(is|make)_metadata_writable functions.
-	  * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
-	  Test gst_buffer_(is|make)_metadata_writable
-	  (Closes: #324162)
-
-2006-01-14 22:59:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	* win32/common/config.h:
-	  prerelease
-	  Original commit message from CVS:
-	  prerelease
-
-2006-01-14 14:12:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstelement.c:
-	  add unlink and some asserts
-	  Original commit message from CVS:
-	  add unlink and some asserts
-
-2006-01-14 11:20:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/manual/Makefile.am: don't do parallel make
-	  Original commit message from CVS:
-	  * docs/manual/Makefile.am:
-	  don't do parallel make
-	  * configure.ac:
-	  AC_SUBST HOST_CPU
-	  * win32/common/config.h.in:
-	  add generations for HOST_CPU and GST_MAJORMINOR
-	  * win32/common/config.h:           commit generated result
-
-2006-01-13 19:51:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/release:
-	  updates to release doc
-	  Original commit message from CVS:
-	  updates to release doc
-
-2006-01-13 19:17:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/appendix-integration.xml: Update GNOME integration section to use gst_init_get_option_group() instead of ...
-	  Original commit message from CVS:
-	  * docs/manual/appendix-integration.xml:
-	  Update GNOME integration section to use gst_init_get_option_group()
-	  instead of the old popt stuff (#322911). Also, GNOME applications
-	  should  now use gconf*sink and gconf*src instead of the old gconf
-	  helper lib we had.
-
-2006-01-13 16:16:24 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  removing 010 suffixing of package name as Fedora only use it for 0.8, want to have the packages be interchangeable
-	  Original commit message from CVS:
-	  removing 010 suffixing of package name as Fedora only use it for 0.8, want
-	  to have the packages be interchangeable
-
-2006-01-13 14:59:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* po/LINGUAS:
-	  readd zh_TW and force an autogen
-	  Original commit message from CVS:
-	  readd zh_TW and force an autogen
-
-2006-01-13 14:21:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: add new API entries to the docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  add new API entries to the docs
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/controller/gstcontroller.c:
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstcontrollerprivate.h:
-	  * libs/gst/controller/gsthelper.c:
-	  * libs/gst/controller/gstinterpolation.c:
-	  move private structs to private header
-	  * po/README:
-	  gstreamer-0.7 -> gstreamer-0.10
-	  * tests/check/libs/struct_i386.h:
-	  remove private structs
-
-2006-01-13 14:19:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/POTFILES.in:
-	  trigger a rebuild
-	  Original commit message from CVS:
-	  trigger a rebuild
-
-2006-01-13 14:19:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/LINGUAS:
-	  trigger a rebuild
-	  Original commit message from CVS:
-	  trigger a rebuild
-
-2006-01-13 14:12:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/indexers/Makefile.am: Fixes as part of #317048
-	  Original commit message from CVS:
-	  * plugins/indexers/Makefile.am:
-	  Fixes as part of #317048
-
-2006-01-13 13:41:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/indexers/Makefile.am: fix #316086 - compilation when mmap is missing
-	  Original commit message from CVS:
-	  * plugins/indexers/Makefile.am:
-	  fix #316086 - compilation when mmap is missing
-
-2006-01-12 22:04:58 +0000  Sébastien Moutte <sebastien@moutte.net>
-
-	  libs/gst/base/gstbasesink.c: *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c:
-	  *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
-	  *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
-	  * win32/common/config.h:
-	  added some defines GST_MAJORMINOR and HOST_CPU
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  added some exported functions
-
-2006-01-12 21:55:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/: make G_TYPE_STRING controlable
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_new):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (interpolate_none_get_string_value_array):
-	  make G_TYPE_STRING controlable
-
-2006-01-12 16:31:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tools/: cleanup man-pages, remove reference to gst-register, document env-vars
-	  Original commit message from CVS:
-	  * tools/README:
-	  * tools/gst-feedback.1.in:
-	  * tools/gst-inspect.1.in:
-	  * tools/gst-launch.1.in:
-	  * tools/gst-md5sum.1.in:
-	  * tools/gst-typefind.1.in:
-	  * tools/gst-xmlinspect.1.in:
-	  * tools/gst-xmllaunch.1.in:
-	  cleanup man-pages, remove reference to gst-register, document env-vars
-
-2006-01-12 16:07:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbuffer.c: gst_buffer_span should copy the timestamp of the first buffer if they were both originally overlappi...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_span):
-	  gst_buffer_span should copy the timestamp of the first buffer
-	  if they were both originally overlapping subbuffers of the
-	  same parent, using the same logic as the 'slow copy' case.
-
-2006-01-11 21:32:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  libs/gst/base/gstcollectpads.c: Need to awaken ALL the pads when we pop a buffer, otherwise collectpads only works wh...
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
-	  Need to awaken ALL the pads when we pop a buffer, otherwise
-	  collectpads only works when there is 2 input streams.
-
-2006-01-11 19:18:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/media-device-daemon.txt: more ideas (dbus)
-	  Original commit message from CVS:
-	  * docs/random/ensonic/media-device-daemon.txt:
-	  more ideas (dbus)
-	  * gst/gstbuffer.c:
-	  fix doc example, add clarification
-	  * tools/gst-launch.1.in:
-	  add initial info about GST_PLUGIN_PATH, needs more work
-
-2006-01-11 10:38:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Some more minor docs additions and updates.
-	  Original commit message from CVS:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-elements.xml:
-	  * docs/manual/intro-basics.xml:
-	  Some more minor docs additions and updates.
-
-2006-01-11 10:20:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/manual/: Some small fixes as pointed out by Ser-ver on IRC.
-	  Original commit message from CVS:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-elements.xml:
-	  Some small fixes as pointed out by Ser-ver on IRC.
-
-2006-01-10 15:42:29 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  plugins/elements/gstidentity.c: Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using the single-segment...
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
-	  the single-segment mode.
-
-2006-01-10 09:23:11 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstbasesrc.*: Name (private) union; makes Sun's Forte compiler happy (#324900).
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
-	  (gst_base_src_perform_seek), (gst_base_src_send_event),
-	  (gst_base_src_set_property), (gst_base_src_get_property),
-	  (gst_base_src_loop), (gst_base_src_start),
-	  (gst_base_src_activate_push):
-	  * libs/gst/base/gstbasesrc.h:
-	  Name (private) union; makes Sun's Forte compiler happy (#324900).
-
-2006-01-09 10:47:17 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  README: gst-register is gone.
-	  Original commit message from CVS:
-	  * README:
-	  gst-register is gone.
-
-2006-01-07 11:07:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/LINGUAS:
-	  remove and readd
-	  Original commit message from CVS:
-	  remove and readd
-
-2006-01-07 11:07:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* po/LINGUAS:
-	  remove and readd
-	  Original commit message from CVS:
-	  remove and readd
-
-2006-01-07 10:04:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstvalue.c: make the G_TYPE_DATE instantiation work if debug is disabled
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (_gst_value_initialize):
-	  make the G_TYPE_DATE instantiation work if debug is disabled
-
-2006-01-07 09:56:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* po/zh_CN.po:
-	* po/zh_TW.po:
-	  update translations
-	  Original commit message from CVS:
-	  update translations
-
-2006-01-06 17:16:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstmessage.c: Don't crash when return location for error/warning debug string is NULL; add fact that return locat...
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_parse_tag),
-	  (gst_message_parse_error), (gst_message_parse_warning):
-	  Don't crash when return location for error/warning debug
-	  string is NULL; add fact that return locations can be
-	  NULL to docs where appropriate.
-
-2006-01-05 10:43:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstplugin.c: Replace strdup by g_strdup as suggested by Ser-ver.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  Replace strdup by g_strdup as suggested by Ser-ver.
-
-2006-01-04 23:53:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  update config for .1
-	  Original commit message from CVS:
-	  update config for .1
-
-2006-01-04 23:52:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/pwg/advanced-types.xml: fix doc borkage
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  fix doc borkage
-
-2006-01-04 23:50:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  submitted by: Abel Cheung
-	  Original commit message from CVS:
-	  submitted by: Abel Cheung
-	  * po/LINGUAS:
-	  * po/zh_TW.po:
-	  Added Chinese (traditional) translation
-
-2006-01-04 12:41:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Small updates to various docs.
-	  Original commit message from CVS:
-	  * docs/manual/basics-pads.xml:
-	  * docs/plugins/Makefile.am:
-	  * docs/plugins/gstreamer-plugins-docs.sgml:
-	  * docs/plugins/gstreamer-plugins-sections.txt:
-	  * docs/pwg/advanced-clock.xml:
-	  * docs/pwg/advanced-scheduling.xml:
-	  * docs/pwg/advanced-types.xml:
-	  * plugins/elements/gstfdsink.c:
-	  * plugins/elements/gstfdsrc.c:
-	  * plugins/elements/gstfdsrc.h:
-	  * plugins/elements/gstidentity.c: (gst_identity_class_init):
-	  * plugins/elements/gstidentity.h:
-	  * plugins/elements/gstqueue.h:
-	  * plugins/elements/gsttee.c:
-	  * plugins/elements/gsttee.h:
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_class_init):
-	  * plugins/elements/gsttypefindelement.h:
-	  Small updates to various docs.
-	  Added core plugins to docs.
-
-2006-01-03 18:08:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  common/gst.supp: add a suppression for liboil's uninitialized variable
-	  Original commit message from CVS:
-	  * common/gst.supp:
-	  add a suppression for liboil's uninitialized variable
-
-2006-01-02 20:26:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.h: Add prototype for _get_type() function to GST_BOILERPLATE_FULL macro, so that gcc doesn't complain if...
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstutils.h:
-	  Add prototype for _get_type() function to GST_BOILERPLATE_FULL
-	  macro, so that gcc doesn't complain if the -Wmissing-prototypes
-	  compiler switch is being used (#325429).
-
-2005-12-29 16:47:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.c: Disable duration query caching in bins until it gets fixed (see #324807).
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_query):
-	  Disable duration query caching in bins until it gets
-	  fixed (see #324807).
-
-2005-12-27 18:04:58 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Handle properties of POINTER and BOXED type.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Handle properties of POINTER and BOXED type.
-
-2005-12-27 12:11:19 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Init tags stuff and some other things before loading any static plugins (there may be other static plugins...
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  Init tags stuff and some other things before loading
-	  any static plugins (there may be other static plugins
-	  than just the GStreamer ones, and they may want to
-	  register their own tags or formats or whatever, and
-	  preferably without segfaulting).
-	  * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
-	  Print at least a warning in the debug logs if we drop a
-	  query just because we don't know how to adjust the value
-	  in the particular format.
-
-2005-12-25 03:45:45 +0000  David Schleef <ds@schleef.org>
-
-	  tools/gstreamer-completion: Replacement for gst-complete written in sh and sed.  Only completes names of features, bu...
-	  Original commit message from CVS:
-	  * tools/gstreamer-completion:
-	  Replacement for gst-complete written in sh and sed.  Only
-	  completes names of features, but that's 90% of what I want
-	  it for.  Properties are not available in registry.xml.  (Maybe
-	  they should be...)
-
-2005-12-23 18:15:48 +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:04:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* libs/gst/base/gstbasesrc.c:
-	* win32/common/config.h:
-	  releasing 0.10.1
-	  Original commit message from CVS:
-	  releasing 0.10.1
-
-2005-12-23 14:53:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.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
-	  Original commit message from CVS:
-	  Update .po files
-
-2005-12-23 13:45:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/libs/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-12-22 14:48:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/faq/cvs.xml: Add missing quote, should be make ERROR_CFLAGS="".
-	  Original commit message from CVS:
-	  * docs/faq/cvs.xml:
-	  Add missing quote, should be make ERROR_CFLAGS="".
-
-2005-12-20 16:01:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.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/config.h:
-	  prereleasing
-	  Original commit message from CVS:
-	  prereleasing
-
-2005-12-20 12:50:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-trickmodes.txt: More documentation on trickmodes.
-	  Original commit message from CVS:
-	  * docs/design/part-trickmodes.txt:
-	  More documentation on trickmodes.
-
-2005-12-20 11:12:53 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstcaps.*: Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_static_caps_get_type):
-	  * gst/gstcaps.h:
-	  Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
-	  * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
-	  * gst/gstpadtemplate.h:
-	  Added gpointer GType for GstStaticPadTemplate so we can wrap them in
-	  bindings.
-
-2005-12-18 16:04:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/: 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-12-18 14:28:25 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/basics-helloworld.xml: Remove superfluous closing bracket in helloworld example.
-	  Original commit message from CVS:
-	  * docs/manual/basics-helloworld.xml:
-	  Remove superfluous closing bracket in helloworld example.
-
-2005-12-17 14:19:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.1.in: Update gst-launch man page; add a section with useful environment variables. Fixes #323882.
-	  Original commit message from CVS:
-	  * tools/gst-launch.1.in:
-	  Update gst-launch man page; add a section with useful
-	  environment variables. Fixes #323882.
-
-2005-12-16 21:59:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: change some char* into char[]
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gst_private.h:
-	  change some char* into char[]
-
-2005-12-16 19:24:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstregistryxml.c: Cleanups.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (load_feature):
-	  Cleanups.
-	  Don't use g_object_unref on GstObjects so that we avoid
-	  leaks on unsafe glibs.
-
-2005-12-16 18:20:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Small doc updates.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_recalc_state):
-	  Small doc updates.
-
-2005-12-16 18:10:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  common/check.mak: Added make forever target for check.
-	  Original commit message from CVS:
-	  * common/check.mak:
-	  Added make forever target for check.
-
-2005-12-16 17:34:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: make the registry cache file HOST_CPU-dependent
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  make the registry cache file HOST_CPU-dependent
-
-2005-12-16 14:44:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* plugins/elements/gstbufferstore.c:
-	* tests/check/gst/gstobject.c:
-	  plugins/elements/gstbufferstore.c
-	  Original commit message from CVS:
-	  2005-12-16  Andy Wingo  <wingo@pobox.com>
-	  * plugins/elements/gstbufferstore.c
-	  (gst_buffer_store_cleared_func): Pay attention to g_list_append
-	  return value.
-	  * tests/check/gst/gstobject.c
-	  (test_fake_object_name_threaded_unique): Pay attention to
-	  g_list_sort return value.
-
-2005-12-16 11:52:00 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-feedback-m.m: Update for 0.9/0.10 (fixes #323870).
-	  Original commit message from CVS:
-	  * tools/gst-feedback-m.m:
-	  Update for 0.9/0.10 (fixes #323870).
-
-2005-12-15 12:22:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstminiobject.c: Fix lcopy for mini objects, the mini object needs to be ref'ed.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
-	  Fix lcopy for mini objects, the mini object needs to be ref'ed.
-	  * tests/check/gst/gstminiobject.c: (my_foo_init),
-	  (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
-	  (test_value_collection), (gst_mini_object_suite):
-	  Add test to ensure refcounts end up as expected when passing
-	  GstMiniObjects through g_object_get() and g_object_set().
-
-2005-12-14 17:08:36 +0000  Julien Moutte <julien@moutte.net>
-
-	  libs/gst/base/gstcollectpads.c: Refactoring of collectpads. This version removes a lot of races without touching API/...
-	  Original commit message from CVS:
-	  2005-12-14  Julien MOUTTE  <julien@moutte.net>
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
-	  (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
-	  (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
-	  of collectpads. This version removes a lot of races without
-	  touching API/ABI. Yay !
-
-2005-12-14 10:09:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Don't allow activation of a srcpad in pull_range if it has no getrange function.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
-	  Don't allow activation of a srcpad in pull_range if it has no
-	  getrange function.
-	  Change some debug statements to be a little clearer
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_handle_src_query):
-	  Check that we have a peer before executing queries thereupon.
-	  * tests/examples/metadata/read-metadata.c: (message_loop):
-	  Use gst_bus_pop instead of gst_bus_poll when we just want it to
-	  immediately return us any available message with 0 timeout.
-
-2005-12-12 19:09:49 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gsttypefindfactory.c: Don't unref factories after calling them.
-	  Original commit message from CVS:
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
-	  Don't unref factories after calling them.
-	  * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
-	  * plugins/elements/gsttypefindelement.c:
-	  (gst_type_find_element_chain):
-	  Free lists of factories after using them. Fixing typefinding memory
-	  leaks.
-
-2005-12-12 18:12:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstpluginfeature.c: more meaningful debug output
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
-	  (gst_plugin_feature_load):
-	  more meaningful debug output
-	  * configure.ac:
-	  * tests/Makefile.am:
-	  * tests/old/examples/Makefile.am:
-	  make make distcheck happy again
-
-2005-12-12 17:37:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  remove all tests/old Makefiles from the build
-	  Original commit message from CVS:
-	  remove all tests/old Makefiles from the build
-
-2005-12-12 17:09:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  plugins/elements/gsttypefindelement.c: Catch the special case where we are operating chain-based, but the downstream ...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (stop_typefinding):
-	  Catch the special case where we are operating chain-based,
-	  but the downstream peer pad has no chain function. Emit a
-	  custom error message in this case instead of letting the
-	  core generate one implying that this is some sort of core
-	  bug. It's not, it just means that whatever got plugged
-	  into the pipeline downstream when we announced the type
-	  can only operate pull-based, while our source can only
-	  operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
-	  Error string has not been marked for translation yet, as
-	  it probably needs some more work first.
-	  (gst_type_find_element_get_best_possibility):
-	  Add helper function to find the best of all available
-	  found possibilities that qualify given the min. threshold.
-	  (gst_type_find_element_handle_event):
-	  Fix the case where we get an EOS while still in TYPEFIND
-	  mode (we want to chose the best of all possible types,
-	  not just the first type that happens to be in our unsorted
-	  list of possible types).
-	  (gst_type_find_element_chain):
-	  Make sure we return GST_FLOW_ERROR when we errored out
-	  in stop_typefinding(); also, don't just find the best of
-	  all found type entries and then use the last examined
-	  type entry, but actually use the best entry.
-
-2005-12-12 17:07:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tests/examples/: More gcc4 fixes and a mem leak fix.
-	  Original commit message from CVS:
-	  * tests/examples/typefind/typefind.c: (type_found):
-	  * tests/examples/xml/runxml.c: (xml_loaded):
-	  More gcc4 fixes and a mem leak fix.
-
-2005-12-12 16:20:47 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* tests/examples/xml/runxml.c:
-	  more gcc 4 warning fixes
-	  Original commit message from CVS:
-	  more gcc 4 warning fixes
-
-2005-12-12 16:04:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* tests/examples/xml/createxml.c:
-	  another gcc4 fix
-	  Original commit message from CVS:
-	  another gcc4 fix
-
-2005-12-12 15:59:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/examples/xml/createxml.c: gcc 4 fixes
-	  Original commit message from CVS:
-	  * tests/examples/xml/createxml.c: (object_saved):
-	  gcc 4 fixes
-
-2005-12-12 15:46:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/Makefile.am: enable the examples even more
-	  Original commit message from CVS:
-	  * tests/Makefile.am:
-	  enable the examples even more
-
-2005-12-12 15:02:02 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/net/gstnettimeprovider.c (gst_net_time_provider_class_init, gst_net_time_provider_init) (gst_net_time_provid...
-	  Original commit message from CVS:
-	  2005-12-12  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/net/gstnettimeprovider.c
-	  (gst_net_time_provider_class_init, gst_net_time_provider_init)
-	  (gst_net_time_provider_set_property)
-	  (gst_net_time_provider_get_property): Export "active" as a GObject
-	  property.
-	  (gst_net_time_provider_thread): Only respond to time queries if
-	  the time provider is active.
-	  * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
-	  NetTimeProvider, preserving binary compat.
-
-2005-12-12 14:46:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/examples/: convert comments again
-	  Original commit message from CVS:
-	  * tests/examples/controller/audio-example.c: (main):
-	  * tests/examples/launch/Makefile.am:
-	  convert comments again
-
-2005-12-12 14:43:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstpushsrc.c: Fix typo.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstpushsrc.c:
-	  Fix typo.
-
-2005-12-12 14:42:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Forgot the Changelog...
-	  Original commit message from CVS:
-	  Forgot the Changelog...
-
-2005-12-12 14:41:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/libs/gstreamer-libs-sections.txt: Added new symbol to docs.
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  Added new symbol to docs.
-	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_set_format),
-	  (gst_base_src_default_query), (gst_base_src_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_default_event), (gst_base_src_event_handler),
-	  (gst_base_src_set_property), (gst_base_src_get_property),
-	  (gst_base_src_wait), (gst_base_src_do_sync),
-	  (gst_base_src_update_length), (gst_base_src_get_range),
-	  (gst_base_src_check_get_range), (gst_base_src_loop),
-	  (gst_base_src_default_negotiate), (gst_base_src_start),
-	  (gst_base_src_activate_push), (gst_base_src_activate_pull),
-	  (gst_base_src_change_state):
-	  * libs/gst/base/gstbasesrc.h:
-	  Implement seeking to other formats than _BYTES.
-	  Implement more seeking methods correctly.
-	  Doc updates.
-	  Added query vmethod.
-	  Added do_seek vmethod to make life easier for subclasses
-	  when seeking.
-	  API addition: gst_base_src_set_format()
-
-2005-12-12 14:08:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  tests/examples/Makefile.am: added that too
-	  Original commit message from CVS:
-	  * tests/examples/Makefile.am:
-	  added that too
-
-2005-12-12 14:02:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  applied some simple fixing to some examples re-enabled the working examples
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/random/ensonic/media-device-daemon.txt:
-	  * tests/examples/controller/.cvsignore:
-	  * tests/examples/controller/Makefile.am:
-	  * tests/examples/controller/audio-example.c: (main):
-	  * tests/examples/helloworld/.cvsignore:
-	  * tests/examples/helloworld/Makefile.am:
-	  * tests/examples/helloworld/helloworld.c: (event_loop), (main):
-	  * tests/examples/launch/.cvsignore:
-	  * tests/examples/launch/Makefile.am:
-	  * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
-	  * tests/examples/metadata/.cvsignore:
-	  * tests/examples/metadata/Makefile.am:
-	  * tests/examples/metadata/read-metadata.c: (message_loop),
-	  (make_pipeline), (print_tag), (main):
-	  * tests/examples/queue/.cvsignore:
-	  * tests/examples/queue/Makefile.am:
-	  * tests/examples/queue/queue.c: (event_loop), (main):
-	  * tests/examples/typefind/.cvsignore:
-	  * tests/examples/typefind/Makefile.am:
-	  * tests/examples/typefind/typefind.c: (type_found), (event_loop),
-	  (main):
-	  * tests/examples/xml/.cvsignore:
-	  * tests/examples/xml/Makefile.am:
-	  * tests/examples/xml/createxml.c: (object_saved), (main):
-	  * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
-	  * tests/old/examples/Makefile.am:
-	  * tests/old/examples/TODO:
-	  * tests/old/examples/controller/.cvsignore:
-	  * tests/old/examples/controller/Makefile.am:
-	  * tests/old/examples/controller/audio-example.c:
-	  * tests/old/examples/helloworld/.cvsignore:
-	  * tests/old/examples/helloworld/Makefile.am:
-	  * tests/old/examples/helloworld/helloworld.c:
-	  * tests/old/examples/launch/.cvsignore:
-	  * tests/old/examples/launch/Makefile.am:
-	  * tests/old/examples/launch/mp3parselaunch.c:
-	  * tests/old/examples/launch/mp3play:
-	  * tests/old/examples/manual/Makefile.am:
-	  * tests/old/examples/metadata/Makefile.am:
-	  * tests/old/examples/metadata/read-metadata.c:
-	  * tests/old/examples/queue/.cvsignore:
-	  * tests/old/examples/queue/Makefile.am:
-	  * tests/old/examples/queue/queue.c:
-	  * tests/old/examples/typefind/.cvsignore:
-	  * tests/old/examples/typefind/Makefile.am:
-	  * tests/old/examples/typefind/typefind.c:
-	  * tests/old/examples/xml/.cvsignore:
-	  * tests/old/examples/xml/Makefile.am:
-	  * tests/old/examples/xml/createxml.c:
-	  * tests/old/examples/xml/runxml.c:
-	  applied some simple fixing to some examples
-	  re-enabled the working examples
-
-2005-12-12 12:48:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.c: Added more documentation.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_init),
-	  (gst_segment_set_last_stop), (gst_segment_set_seek),
-	  (gst_segment_set_newsegment), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time):
-	  Added more documentation.
-	  Make sure the last_pos value is updated properly.
-	  Make sure to_stream_time and to_running_time don't
-	  operate on wrong values.
-	  * tests/check/gst/gstsegment.c: (GST_START_TEST):
-	  Update check.
-
-2005-12-12 12:32:04 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gsttypefindelement.c: Now that we're not leaking factories, make sure we keep references to them whi...
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (free_entry),
-	  (gst_type_find_element_chain):
-	  Now that we're not leaking factories, make sure we keep references
-	  to them while we need them.
-
-2005-12-12 11:40:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tests/check/gst/struct_i386.h: ifdef out the XML structs
-	  Original commit message from CVS:
-	  * tests/check/gst/struct_i386.h:
-	  ifdef out the XML structs
-
-2005-12-12 10:59:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstvalue.c: floor is not needed, F is always positive; this obviates the need for adding -lm when building withou...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_transform_double_fraction):
-	  floor is not needed, F is always positive; this obviates the
-	  need for adding -lm when building without libxml
-
-2005-12-12 10:57:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/aspectratio:
-	* tests/check/gst/gstbus.c:
-	  add a ; and an example
-	  Original commit message from CVS:
-	  add a ; and an example
-
-2005-12-12 10:16:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/base/gstbasesink.c: Take current playback rate into account when reporting the position.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  Take current playback rate into account when reporting
-	  the position.
-
-2005-12-11 19:35:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/mime-world.fig: Let's try this again, this time with a file that is actually in XFig format.
-	  Original commit message from CVS:
-	  * docs/manual/mime-world.fig:
-	  Let's try this again, this time with a file that is
-	  actually in XFig format.
-
-2005-12-11 19:19:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/mime-world.fig: Add audioconvert element to diagram so that it matches the text and the code (fixes #3195...
-	  Original commit message from CVS:
-	  * docs/manual/mime-world.fig:
-	  Add audioconvert element to diagram so that it
-	  matches the text and the code (fixes #319526).
-
-2005-12-11 18:24:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/: Update state change stuff for 0.10 (fixes #322969).
-	  Original commit message from CVS:
-	  * docs/pwg/building-chainfn.xml:
-	  * docs/pwg/building-pads.xml:
-	  * docs/pwg/building-state.xml:
-	  * docs/pwg/other-source.xml:
-	  Update state change stuff for 0.10 (fixes #322969).
-
-2005-12-11 17:49:10 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/: Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/; add converters in front of pipelines; remove ...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  * docs/manual/appendix-checklist.xml:
-	  * docs/manual/appendix-programs.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/manual/highlevel-components.xml:
-	  * docs/manual/manual.xml:
-	  Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
-	  add converters in front of pipelines; remove curly
-	  brackets for threads stuff, they no longer exist; use
-	  GST_TYPE_FRACTION for framerates; update some pieces of
-	  code to 0.10, but there's plenty more to do.
-	  * docs/manual/appendix-porting.xml:
-	  Expand on asynchroneous state changes; s/0.9/0.10/;
-	  mention disappearance of gst_init_get_popt_table()
-	  (fixes #322916).
-
-2005-12-11 11:53:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/faq/using.xml: Spider no longer exists, and neither does gst-launch-ext.
-	  Original commit message from CVS:
-	  * docs/faq/using.xml:
-	  Spider no longer exists, and neither does gst-launch-ext.
-	  Update examples to use decodebin and playbin and put
-	  converters in front of sinks (fixes #323726).
-
-2005-12-09 17:26:31 +0000  Michael Smith <msmith@xiph.org>
-
-	  plugins/elements/gsttypefindelement.c: Fix leaking element factories in typefinding.
-	  Original commit message from CVS:
-	  * plugins/elements/gsttypefindelement.c: (find_peek),
-	  (gst_type_find_element_chain):
-	  Fix leaking element factories in typefinding.
-	  Fix problem where we forgot about a probable type on non-seekable
-	  files, and thus later mis-typefound it.
-
-2005-12-09 15:09:42 +0000  Michael Smith <msmith@xiph.org>
-
-	  Remove makecontext stuff; not used in 0.10 and causes problems on
-	  Original commit message from CVS:
-	  * common/m4/gst-makecontext.m4:
-	  * common/m4/gst-mcsc.m4:
-	  * configure.ac:
-	  * win32/common/config.h:
-	  * win32/common/config.h.in:
-	  Remove makecontext stuff; not used in 0.10 and causes problems on
-	  HPUX according to bug #322441
-
-2005-12-07 19:03:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/: Added ABI check for libs, this time for real
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
-	  (main):
-	  * tests/check/libs/struct_i386.h:
-	  Added ABI check for libs, this time for real
-
-2005-12-07 19:03:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/: Added ABI check for libs
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
-	  (main):
-	  * tests/check/libs/struct_i386.h:
-	  Added ABI check for libs
-
-2005-12-07 17:59:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/Makefile.am: And add the struct_i386.h to dist.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  And add the struct_i386.h to dist.
-
-2005-12-07 17:36:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/check/: Added check for ABI compatibility.
-	  Original commit message from CVS:
-	  * tests/check/Makefile.am:
-	  * tests/check/gst/.cvsignore:
-	  * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
-	  (main):
-	  * tests/check/gst/struct_i386.h:
-	  Added check for ABI compatibility.
-
-2005-12-07 15:33:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfakesrc.c: Fix broken sync option, fixes #323259
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_get_times), (gst_fake_src_create):
-	  Fix broken sync option, fixes #323259
-
-2005-12-07 15:16:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Small docs update.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  Small docs update.
-	  * gst/gstcaps.c: (gst_caps_is_equal):
-	  Don't assert on NULL <--> X. Fixes #323260
-	  * gst/gstminiobject.c: (gst_mini_object_replace):
-	  If we're doing atomic operations, we might just as well use
-	  the proper way to get an atomic pointer.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  Clean up debugging.
-
-2005-12-07 11:52:05 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/parse/grammar.y: Remove handling of { } for threads.
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  Remove handling of { } for threads.
-
-2005-12-06 23:32:01 +0000  David Schleef <ds@schleef.org>
-
-	  libs/gst/base/gstbasetransform.c: speling fix.
-	  Original commit message from CVS:
-	  * libs/gst/base/gstbasetransform.c: speling fix.
-
-2005-12-06 19:29:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/random/omega/testing/gstobject.c:
-	* gst/gst.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstghostpad.c:
-	* gst/gstinfo.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstregistryxml.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttypefind.c:
-	* gst/gstvalue.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstmemindex.c:
-	* tests/check/gst/gsttag.c:
-	* tests/old/examples/cutter/cutter.c:
-	* tests/old/examples/mixer/mixer.c:
-	* tests/old/examples/xml/runxml.c:
-	* tests/old/testsuite/caps/normalisation.c:
-	* tests/old/testsuite/debug/global.c:
-	* tests/old/testsuite/parse/parse1.c:
-	* tools/gst-xmlinspect.c:
-	* win32/common/dirent.c:
-	  expand tabs
-	  Original commit message from CVS:
-	  expand tabs
-
-2005-12-06 19:04:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  back to cvs
-	  Original commit message from CVS:
-	  back to cvs
-
-2005-12-05 18:13:00 +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:05:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	  releasing 0.10.0
-	  Original commit message from CVS:
-	  releasing 0.10.0
-
-2005-12-05 15:57:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.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
-	  Original commit message from CVS:
-	  Update .po files
-
-2005-12-05 14:36:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/: added Chinese (Traditional) translation
-	  Original commit message from CVS:
-	  submitted by: Funda Wang <fundawang@linux.net.cn>
-	  * po/LINGUAS:
-	  * po/zh_CN.po:
-	  added Chinese (Traditional) translation
-
-2005-12-05 14:14:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	  updated Afrikaans translation
-	  Original commit message from CVS:
-	  updated Afrikaans translation
-
-2005-12-05 14:14:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.h:
-	  remove deprecation guard from docstring
-	  Original commit message from CVS:
-	  remove deprecation guard from docstring
-
-2005-12-05 13:10:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  update translations
-	  Original commit message from CVS:
-	  update translations
-
-2005-12-05 13:06:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/random/thomasvs/TODO:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  fix docs
-	  Original commit message from CVS:
-	  fix docs
-
-2005-12-05 13:01:35 +0000  Wim Taymans <wim@fluendo.com>
-
-	  libs/gst/base/gstbasetransform.c (gst_base_transform_prepare_output_buf)
-	  Original commit message from CVS:
-	  2005-12-05  Andy Wingo  <wingo@pobox.com>
-	  patch by: Wim Taymans <wim@fluendo.com>
-	  * libs/gst/base/gstbasetransform.c
-	  (gst_base_transform_prepare_output_buf)
-	  (gst_base_transform_buffer_alloc):
-	  * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
-	  alloc_buffer_and_set_caps.
-	  * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
-	  set_caps on the source pad.
-	  (gst_pad_alloc_buffer_and_set_caps): New function, does what
-	  alloc_buffer used to do. Fixes #322874.
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/design/part-negotiation.txt:
-	  * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
-	  changes.
-
-2005-12-05 12:33:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/gst/gstutils.c:
-	  really add the tests for the 64/double conversion
-	  Original commit message from CVS:
-	  really add the tests for the 64/double conversion
-
-2005-12-05 12:09:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstcontroller.def:
-	  add def for controller
-	  Original commit message from CVS:
-	  add def for controller
-
-2005-12-05 12:09:01 +0000  Sebastien Moutte <sebastien@moutte.net>
-
-	  win32/: win32 build fixes
-	  Original commit message from CVS:
-	  patch by: Sebastien Moutte
-	  * win32/MANIFEST:
-	  * win32/common/config.h.in:
-	  * win32/vs6/libgstcontroller.dsp:
-	  win32 build fixes
-
-2005-12-05 10:59:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Back out previous code changes, leave doc updates, file bugs instead.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_is_equal):
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_create):
-	  Back out previous code changes, leave doc updates, file bugs
-	  instead.
-
-2005-12-05 10:27:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  plugins/elements/gstfakesrc.*: Fix broken sync code.
-	  Original commit message from CVS:
-	  * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_get_times), (gst_fake_src_create):
-	  * plugins/elements/gstfakesrc.h:
-	  Fix broken sync code.
-
-2005-12-05 10:22:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Comparing NULL against !NULL yields different caps, not a failure.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_is_equal):
-	  Comparing NULL against !NULL yields different caps, not a
-	  failure.
-
-2005-12-05 10:18:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Fix small typo in docs.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c:
-	  Fix small typo in docs.
-
-2005-12-05 09:53:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c (init_post): remove hard-coded 0.9 location for registries/plugins with a MAJORMINOR one.
-	  Original commit message from CVS:
-	  2005-12-05  Andy Wingo  <wingo@pobox.com>
-	  patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/gst.c (init_post): remove hard-coded 0.9 location for
-	  registries/plugins with a MAJORMINOR one.
-	  (plugin_desc): Rename library from gstcoreleements to
-	  staticelements. Fixes #323222.
-
-2005-12-05 09:45:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  libs/gst/base/gstcollectpads.c: Change debug category to 'collectpads' from 'collect_pads' (fixes #323250).
-	  Original commit message from CVS:
-	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
-	  Change debug category to 'collectpads' from 'collect_pads'
-	  (fixes #323250).
-
-2005-12-04 19:57:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  rename two exports
-	  Original commit message from CVS:
-	  rename two exports
-
-2005-12-04 18:54:19 +0000  Sebastien Moutte <sebastien@moutte.net>
-
-	  libs/gst/controller/gstinterpolation.c: use convert function for uint64/double
-	  Original commit message from CVS:
-	  patch by: Sebastien Moutte
-	  * libs/gst/controller/gstinterpolation.c:
-	  use convert function for uint64/double
-	  * win32/vs6/libgstcontroller.dsp:
-	  link to GLib
-
-2005-12-04 09:57:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  add tests that seem to show that the guint64/gdouble conversions are correct.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_guint64_to_gdouble),
-	  (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
-	  * gst/gstutils.h:
-	  * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  add tests that seem to show that the guint64/gdouble conversions
-	  are correct.
-
-2005-12-02 12:44:53 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  make version number a little less hopefull
-	  Original commit message from CVS:
-	  make version number a little less hopefull
-
-2005-12-02 12:34:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Fix docs again.
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_add_path):
-	  * gst/gstregistry.h:
-	  * gst/gstregistryxml.c:
-	  Fix docs again.
-	  Removed old code from gstregistryxml.c
-
-2005-12-02 12:19:55 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  fix updating gstreamer spec file making it 0.10 ready
-	  Original commit message from CVS:
-	  fix updating gstreamer spec file making it 0.10 ready
-
-2005-12-02 11:36:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Small cleanup.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_uint64_scale_int64),
-	  (gst_util_uint64_scale_int):
-	  Small cleanup.
-	  * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  Add debug log line.
-	  * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
-	  Add FIXME.
-
-2005-12-02 09:48:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/: renamed core elements plugin
-	  Original commit message from CVS:
-	  * win32/MANIFEST:
-	  * win32/common/config.h:
-	  * win32/vs6/gstreamer.dsw:
-	  * win32/vs6/libgstcoreelements.dsp:
-	  * win32/vs6/libgstelements.dsp:
-	  renamed core elements plugin
-
-2005-12-02 01:35:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tools/gst-run.c: do piece-wise major/minor comparison so 0.9 < 0.10 also allow .exe extensions for tools
-	  Original commit message from CVS:
-	  * tools/gst-run.c: (compare_major_minor), (find_highest_version),
-	  (get_candidates):
-	  do piece-wise major/minor comparison so 0.9 < 0.10
-	  also allow .exe extensions for tools
-
-2005-12-01 23:57:07 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gst.c: Escape a % to make gtkdoc happier; bug 322958.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  Escape a % to make gtkdoc happier; bug 322958.
-
-2005-12-01 19:18:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  back to HEAD
-	  Original commit message from CVS:
-	  back to HEAD
-
-=== release 0.9.7 ===
-
-2005-12-01 19:11:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* CHANGES-0.9:
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* win32/common/config.h:
-	  releasing 0.9.7
-	  Original commit message from CVS:
-	  releasing 0.9.7
-
-2005-12-01 16:51:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	* configure.ac:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/random/release:
-	* po/af.po:
-	* po/az.po:
-	* po/bg.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	* win32/vs6/gst_inspect.dsp:
-	* win32/vs6/gst_launch.dsp:
-	* win32/vs6/libgstbase.dsp:
-	* win32/vs6/libgstelements.dsp:
-	* win32/vs6/libgstreamer.dsp:
-	* win32/vs7/GStreamer.vcproj:
-	* win32/vs7/gst-inspect.vcproj:
-	* win32/vs7/gst-launch.vcproj:
-	* win32/vs7/libgstbase.vcproj:
-	  bump GST_MAJORMINOR to 0.10 reset libtool version
-	  Original commit message from CVS:
-	  bump GST_MAJORMINOR to 0.10
-	  reset libtool version
-
-2005-12-01 15:28:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tools/gst-feedback-0.7:
-	  remove old file
-	  Original commit message from CVS:
-	  remove old file
-
-2005-12-01 15:18:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-12-01 15:08:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* po/LINGUAS:
-	* po/bg.po:
-	  Added Bulgarian translation by (Alexander Shopov)
-	  Original commit message from CVS:
-	  Added Bulgarian translation by (Alexander Shopov)
-
-2005-12-01 15:04:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/inspect-build.stamp:
-	  commit final stamp file
-	  Original commit message from CVS:
-	  commit final stamp file
-
-2005-12-01 14:51:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/gstreamer-plugins.hierarchy:
-	* docs/plugins/gstreamer-plugins.interfaces:
-	* docs/plugins/gstreamer-plugins.prerequisites:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  add more files for distcheck
-	  Original commit message from CVS:
-	  add more files for distcheck
-
-2005-12-01 14:40:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/gstreamer-plugins.args:
-	* docs/plugins/gstreamer-plugins.signals:
-	  add signals and args
-	  Original commit message from CVS:
-	  add signals and args
-
-2005-12-01 12:36:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* tests/check/gst/gstplugin.c:
-	  fix test
-	  Original commit message from CVS:
-	  fix test
-
-2005-12-01 12:29:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/gstreamer.types.in:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.types:
-	* docs/plugins/inspect.stamp:
-	* docs/plugins/inspect/plugin-coreelements.xml:
-	* docs/plugins/inspect/plugin-coreindexers.xml:
-	* docs/plugins/scanobj-build.stamp:
-	* gstreamer.spec.in:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/indexers/Makefile.am:
-	* plugins/indexers/gstindexers.c:
-	  document core plugins in a separate document just like all the others rename these plugins to something starting with...
-	  Original commit message from CVS:
-	  document core plugins in a separate document just like all the
-	  others
-	  rename these plugins to something starting with core
-
-2005-12-01 12:00:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstevent.h (struct _GstEvent): Meant to remove the extra padding here before, but it missed the commit.
-	  Original commit message from CVS:
-	  2005-12-01  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
-	  padding here before, but it missed the commit.
-
-2005-12-01 10:07:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/controller/gsthelper.c:
-	* win32/common/libgstreamer.def:
-	* win32/vs6/gstreamer.dsw:
-	* win32/vs6/libgstcontroller.dsp:
-	  add libgstcontroller to the build
-	  Original commit message from CVS:
-	  add libgstcontroller to the build
-
-2005-12-01 09:54:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  libs/gst/controller/gstinterpolation.c: whitespace prices have crashed, we should feel free to use some now use gst_g...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstinterpolation.c:
-	  whitespace prices have crashed, we should feel free to use some now
-	  use gst_guint64_to_gdouble
-
-2005-12-01 09:32:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	  fix typo
-	  Original commit message from CVS:
-	  fix typo
-
-2005-12-01 09:23:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/lib.c:
-	  wrap config.h include
-	  Original commit message from CVS:
-	  wrap config.h include
-
-2005-12-01 02:08:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	  update docs
-	  Original commit message from CVS:
-	  update docs
-
-2005-12-01 00:54:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/elements/: more anal cleanup
-	  Original commit message from CVS:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
-	  (gst_fd_sink__class_init), (gst_fd_sink__init),
-	  (gst_fd_sink__chain), (gst_fd_sink__set_property),
-	  (gst_fd_sink__get_property):
-	  * plugins/elements/gstfdsink.h:
-	  * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
-	  (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
-	  (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
-	  (gst_fd_src_unlock), (gst_fd_src_set_property),
-	  (gst_fd_src_get_property), (gst_fd_src_create),
-	  (gst_fd_src_is_seekable), (gst_fd_src_get_size),
-	  (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
-	  (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
-	  (gst_fd_src_uri_handler_init):
-	  * plugins/elements/gstfdsrc.h:
-	  * plugins/elements/gstqueue.c: (gst_queue_get_type):
-	  more anal cleanup
-
-2005-11-30 19:36:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer.types.in:
-	* gst/Makefile.am:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  fix the docs build
-	  Original commit message from CVS:
-	  fix the docs build
-
-2005-11-30 19:03:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer.types.in:
-	  add new input types file
-	  Original commit message from CVS:
-	  add new input types file
-
-2005-11-30 19:01:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  various fixes to make
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/Makefile.am:
-	  * gst/gst.c:
-	  * gst/gstplugin.h:
-	  * gst/gstregistry.h:
-	  * tests/benchmarks/complexity.c:
-	  * tests/benchmarks/mass-elements.c:
-	  * tests/check/Makefile.am:
-	  * tools/Makefile.am:
-	  * tools/gst-inspect.c:
-	  * tools/gst-xmlinspect.c:
-	  various fixes to make
-	  --disable-nls --disable-registry --disable-loadsave           --disable-parse --disable-gst-debug
-	  work and get the core .so down to 360444 bytes after stripping
-
-2005-11-30 17:05:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* tests/check/Makefile.am:
-	  move location of test registry
-	  Original commit message from CVS:
-	  move location of test registry
-
-2005-11-30 16:45:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/check/pipelines/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-11-30 16:45:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/misc/Makefile.am:
-	  missing makefile
-	  Original commit message from CVS:
-	  missing makefile
-
-2005-11-30 16:43:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* scripts/cvs-update.sh:
-	  prune empty dirs when updating
-	  Original commit message from CVS:
-	  prune empty dirs when updating
-
-2005-11-30 16:42:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* DOCBUILDING:
-	* docs/README:
-	  remove empty dirs; move docbuilding notes
-	  Original commit message from CVS:
-	  remove empty dirs; move docbuilding notes
-
-2005-11-30 16:39:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  descend into tests
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  * configure.ac:
-	  descend into tests
-	  * docs/random/thomasvs/TODO:
-	  * tests/Makefile.am:
-	  * tests/README:
-	  add a README
-
-2005-11-30 16:32:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/benchmarks/.gitignore:
-	* tests/check/generic/.gitignore:
-	* tests/check/libs/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-11-30 16:30:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  update README
-	  Original commit message from CVS:
-	  update README
-
-2005-11-30 16:29:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* tests/check/Makefile.am:
-	  don't fail on missing registry
-	  Original commit message from CVS:
-	  don't fail on missing registry
-
-2005-11-30 16:28:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/README.txt:
-	  add a README
-	  Original commit message from CVS:
-	  add a README
-
-2005-11-30 16:26:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* win32/GStreamer.vcproj:
-	* win32/MANIFEST:
-	* win32/Makefile:
-	* win32/Makefile.inspect:
-	* win32/Makefile.launch:
-	* win32/Makefile.register:
-	* win32/README.txt:
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	* win32/gst-register.vcproj:
-	* win32/gstelements.vcproj:
-	* win32/gstgetbits.def:
-	* win32/gstgetbits.vcproj:
-	* win32/gstreamer-dbg.def:
-	* win32/gstreamer.def:
-	* win32/libgstbase.def:
-	* win32/libgstbase.vcproj:
-	* win32/link_oldruntime.c:
-	* win32/mman.c:
-	* win32/mman.h:
-	* win32/mman.inl:
-	* win32/msvc71.sln:
-	  move even more stuff, win32/ is nice and clean now
-	  Original commit message from CVS:
-	  move even more stuff, win32/ is nice and clean now
-
-2005-11-30 16:17:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* libs/gst/control/.gitignore:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* win32/MANIFEST:
-	* win32/config.h:
-	* win32/dirent.c:
-	* win32/dirent.h:
-	* win32/gstbytestream.def:
-	* win32/gstbytestream.vcproj:
-	* win32/gstconfig.h:
-	* win32/gstenumtypes.c:
-	* win32/gstenumtypes.h:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/gstversion.h:
-	* win32/gtchar.h:
-	* win32/testsuite/bins.vcproj:
-	* win32/testsuite/bytestream.vcproj:
-	* win32/testsuite/caps.vcproj:
-	* win32/testsuite/cleanup.vcproj:
-	* win32/testsuite/clock.vcproj:
-	* win32/testsuite/debug.vcproj:
-	* win32/testsuite/dlopen.vcproj:
-	* win32/testsuite/dynparams.vcproj:
-	* win32/testsuite/elements.vcproj:
-	* win32/testsuite/ghostpads.vcproj:
-	* win32/testsuite/indexers.vcproj:
-	* win32/testsuite/negotiation.vcproj:
-	* win32/testsuite/parse.vcproj:
-	* win32/testsuite/plugin.vcproj:
-	* win32/testsuite/refcounting.vcproj:
-	* win32/testsuite/schedulers.vcproj:
-	* win32/testsuite/states.vcproj:
-	* win32/testsuite/tags.vcproj:
-	* win32/testsuite/threads.vcproj:
-	  remove old win32 stuff that isn't maintained and should be reorganized
-	  Original commit message from CVS:
-	  remove old win32 stuff that isn't maintained and should be
-	  reorganized
-
-2005-11-30 16:12:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/getbits/.gitignore:
-	  remove getbits
-	  Original commit message from CVS:
-	  remove getbits
-
-2005-11-30 16:10:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	  configure.ac (GST_PKG_DEPS): Revert previous patch, makes loading the gst.interfaces python module bork.
-	  Original commit message from CVS:
-	  2005-11-30  Andy Wingo  <wingo@pobox.com>
-	  * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
-	  loading the gst.interfaces python module bork.
-	  * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
-	  available since GLib 2.2. Fixes #318031.
-
-2005-11-30 16:08:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* Makefile.am:
-	* check/.gitignore:
-	* check/Makefile.am:
-	* check/elements/.gitignore:
-	* check/elements/fakesrc.c:
-	* check/elements/fdsrc.c:
-	* check/elements/identity.c:
-	* check/generic/.gitignore:
-	* check/generic/states.c:
-	* check/gst-libs/.gitignore:
-	* check/gst-libs/controller.c:
-	* check/gst-libs/gdp.c:
-	* check/gst/.gitignore:
-	* check/gst/capslist.h:
-	* check/gst/gst.c:
-	* check/gst/gstbin.c:
-	* check/gst/gstbuffer.c:
-	* check/gst/gstbus.c:
-	* check/gst/gstcaps.c:
-	* check/gst/gstelement.c:
-	* check/gst/gstevent.c:
-	* check/gst/gstghostpad.c:
-	* check/gst/gstiterator.c:
-	* check/gst/gstmessage.c:
-	* check/gst/gstminiobject.c:
-	* check/gst/gstobject.c:
-	* check/gst/gstpad.c:
-	* check/gst/gstpipeline.c:
-	* check/gst/gstplugin.c:
-	* check/gst/gstsegment.c:
-	* check/gst/gststructure.c:
-	* check/gst/gstsystemclock.c:
-	* check/gst/gsttag.c:
-	* check/gst/gstutils.c:
-	* check/gst/gstvalue.c:
-	* check/net/.gitignore:
-	* check/net/gstnetclientclock.c:
-	* check/net/gstnettimeprovider.c:
-	* check/pipelines/.gitignore:
-	* check/pipelines/cleanup.c:
-	* check/pipelines/simple_launch_lines.c:
-	* check/pipelines/stress.c:
-	* check/states/.gitignore:
-	* check/states/sinks.c:
-	* configure.ac:
-	* examples/Makefile.am:
-	* examples/appreader/.gitignore:
-	* examples/appreader/Makefile.am:
-	* examples/appreader/appreader.c:
-	* examples/controller/.gitignore:
-	* examples/controller/Makefile.am:
-	* examples/controller/audio-example.c:
-	* examples/cutter/.gitignore:
-	* examples/cutter/Makefile.am:
-	* examples/cutter/cutter.c:
-	* examples/cutter/cutter.h:
-	* examples/events/Makefile.am:
-	* examples/events/seek.c:
-	* examples/helloworld/.gitignore:
-	* examples/helloworld/Makefile.am:
-	* examples/helloworld/helloworld.c:
-	* examples/helloworld2/.gitignore:
-	* examples/helloworld2/Makefile.am:
-	* examples/helloworld2/helloworld2.c:
-	* examples/launch/.gitignore:
-	* examples/launch/Makefile.am:
-	* examples/launch/mp3parselaunch.c:
-	* examples/launch/mp3play:
-	* examples/manual/.gitignore:
-	* examples/manual/Makefile.am:
-	* examples/manual/extract.pl:
-	* examples/metadata/Makefile.am:
-	* examples/metadata/read-metadata.c:
-	* examples/mixer/.gitignore:
-	* examples/mixer/Makefile.am:
-	* examples/mixer/mixer.c:
-	* examples/mixer/mixer.h:
-	* examples/pingpong/.gitignore:
-	* examples/pingpong/Makefile.am:
-	* examples/pingpong/pingpong.c:
-	* examples/plugins/.gitignore:
-	* examples/plugins/Makefile.am:
-	* examples/plugins/example.c:
-	* examples/plugins/example.h:
-	* examples/pwg/.gitignore:
-	* examples/pwg/Makefile.am:
-	* examples/pwg/extract.pl:
-	* examples/queue/.gitignore:
-	* examples/queue/Makefile.am:
-	* examples/queue/queue.c:
-	* examples/queue2/.gitignore:
-	* examples/queue2/Makefile.am:
-	* examples/queue2/queue2.c:
-	* examples/queue3/.gitignore:
-	* examples/queue3/Makefile.am:
-	* examples/queue3/queue3.c:
-	* examples/queue4/.gitignore:
-	* examples/queue4/Makefile.am:
-	* examples/queue4/queue4.c:
-	* examples/retag/.gitignore:
-	* examples/retag/Makefile.am:
-	* examples/retag/retag.c:
-	* examples/retag/transcode.c:
-	* examples/thread/.gitignore:
-	* examples/thread/Makefile.am:
-	* examples/thread/thread.c:
-	* examples/typefind/.gitignore:
-	* examples/typefind/Makefile.am:
-	* examples/typefind/typefind.c:
-	* examples/xml/.gitignore:
-	* examples/xml/Makefile.am:
-	* examples/xml/createxml.c:
-	* examples/xml/runxml.c:
-	* tests/Makefile.am:
-	* tests/check/Makefile.am:
-	* testsuite/.gitignore:
-	* testsuite/Makefile.am:
-	* testsuite/Rules:
-	* testsuite/caps/.gitignore:
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/app_fixate.c:
-	* testsuite/caps/audioscale.c:
-	* testsuite/caps/caps.c:
-	* testsuite/caps/caps.h:
-	* testsuite/caps/caps_strings:
-	* testsuite/caps/compatibility.c:
-	* testsuite/caps/deserialize.c:
-	* testsuite/caps/enumcaps.c:
-	* testsuite/caps/eratosthenes.c:
-	* testsuite/caps/filtercaps.c:
-	* testsuite/caps/fixed.c:
-	* testsuite/caps/fraction-convert.c:
-	* testsuite/caps/fraction-multiply-and-zero.c:
-	* testsuite/caps/intersect2.c:
-	* testsuite/caps/intersection.c:
-	* testsuite/caps/normalisation.c:
-	* testsuite/caps/random.c:
-	* testsuite/caps/renegotiate.c:
-	* testsuite/caps/sets.c:
-	* testsuite/caps/simplify.c:
-	* testsuite/caps/string-conversions.c:
-	* testsuite/caps/structure.c:
-	* testsuite/caps/subtract.c:
-	* testsuite/caps/union.c:
-	* testsuite/debug/.gitignore:
-	* testsuite/debug/Makefile.am:
-	* testsuite/debug/category.c:
-	* testsuite/debug/commandline.c:
-	* testsuite/debug/global.c:
-	* testsuite/debug/output.c:
-	* testsuite/debug/printf_extension.c:
-	* testsuite/dlopen/.gitignore:
-	* testsuite/dlopen/Makefile.am:
-	* testsuite/dlopen/dlopen_gst.c:
-	* testsuite/dlopen/loadgst.c:
-	* testsuite/elements/.gitignore:
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/gst-inspect-check.in:
-	* testsuite/elements/struct_i386.h:
-	* testsuite/elements/struct_size.c:
-	* testsuite/indexers/.gitignore:
-	* testsuite/indexers/Makefile.am:
-	* testsuite/indexers/cache1.c:
-	* testsuite/indexers/indexdump.c:
-	* testsuite/parse/.gitignore:
-	* testsuite/parse/Makefile.am:
-	* testsuite/parse/parse1.c:
-	* testsuite/parse/parse2.c:
-	* testsuite/plugin/.gitignore:
-	* testsuite/plugin/Makefile.am:
-	* testsuite/plugin/README:
-	* testsuite/plugin/dynamic.c:
-	* testsuite/plugin/linked.c:
-	* testsuite/plugin/loading.c:
-	* testsuite/plugin/registry.c:
-	* testsuite/plugin/static.c:
-	* testsuite/plugin/static2.c:
-	* testsuite/plugin/testplugin.c:
-	* testsuite/plugin/testplugin2.c:
-	* testsuite/plugin/testplugin2_s.c:
-	* testsuite/plugin/testplugin_s.c:
-	* testsuite/refcounting/.gitignore:
-	* testsuite/refcounting/Makefile.am:
-	* testsuite/refcounting/bin.c:
-	* testsuite/refcounting/element.c:
-	* testsuite/refcounting/element_pad.c:
-	* testsuite/refcounting/mainloop.c:
-	* testsuite/refcounting/mem.c:
-	* testsuite/refcounting/mem.h:
-	* testsuite/refcounting/object.c:
-	* testsuite/refcounting/pad.c:
-	* testsuite/refcounting/sched.c:
-	* testsuite/refcounting/thread.c:
-	* testsuite/states/.gitignore:
-	* testsuite/states/Makefile.am:
-	* testsuite/states/bin.c:
-	* testsuite/states/locked.c:
-	* testsuite/states/parent.c:
-	* testsuite/threads/.gitignore:
-	* testsuite/threads/159566.c:
-	* testsuite/threads/159852.c:
-	* testsuite/threads/Makefile.am:
-	* testsuite/threads/queue.c:
-	* testsuite/threads/signals.c:
-	* testsuite/threads/staticrec.c:
-	* testsuite/threads/thread.c:
-	* testsuite/threads/threadb.c:
-	* testsuite/threads/threadc.c:
-	* testsuite/threads/threadd.c:
-	* testsuite/threads/threade.c:
-	* testsuite/threads/threadf.c:
-	* testsuite/threads/threadg.c:
-	* testsuite/threads/threadh.c:
-	* testsuite/threads/threadi.c:
-	  move all of these under tests
-	  Original commit message from CVS:
-	  move all of these under tests
-
-2005-11-30 15:37:36 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update after thomas's CVS surgery
-	  Original commit message from CVS:
-	  update after thomas's CVS surgery
-
-2005-11-30 15:34:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/benchmarks/.gitignore:
-	* tests/benchmarks/Makefile.am:
-	  add Makefile.am
-	  Original commit message from CVS:
-	  add Makefile.am
-
-2005-11-30 15:29:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  fix distcheck
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * tests/Makefile.am:
-	  fix distcheck
-
-2005-11-30 15:20:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/old/testsuite/caps/deserialize.c:
-	* tests/old/testsuite/caps/intersection.c:
-	* tests/old/testsuite/caps/union.c:
-	* testsuite/caps/deserialize.c:
-	* testsuite/caps/intersection.c:
-	* testsuite/caps/union.c:
-	  compile warning fixes
-	  Original commit message from CVS:
-	  compile warning fixes
-
-2005-11-30 13:28:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/old/testsuite/elements/Makefile.am:
-	* tests/old/testsuite/elements/gst-compprep-check.in:
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/gst-compprep-check.in:
-	  remove compprep
-	  Original commit message from CVS:
-	  remove compprep
-
-2005-11-30 13:25:05 +0000  Andy Wingo <wingo@pobox.com>
-
-	  configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc, available since GLib 2.2. Fixes #318031.
-	  Original commit message from CVS:
-	  2005-11-30  Andy Wingo  <wingo@pobox.com>
-	  * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
-	  available since GLib 2.2. Fixes #318031.
-
-2005-11-30 13:08:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  First pass at cleaning up tests/ dir before moving the rest
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * tests/bench-complexity.scm:
-	  * tests/bench-mass_elements.scm:
-	  * tests/complexity.c:
-	  * tests/complexity.gnuplot:
-	  * tests/instantiate/.cvsignore:
-	  * tests/instantiate/Makefile.am:
-	  * tests/instantiate/caps.c:
-	  * tests/mass_elements.c:
-	  * tests/network-clock-utils.scm:
-	  * tests/network-clock.scm:
-	  * tests/plot-data:
-	  First pass at cleaning up tests/ dir before moving the rest
-	  Combined with CVS surgery
-
-2005-11-30 13:07:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  move includes
-	  Original commit message from CVS:
-	  move includes
-
-2005-11-30 11:55:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  remove norwegianism
-	  Original commit message from CVS:
-	  remove norwegianism
-
-2005-11-30 10:50:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* Makefile.am:
-	  make not having check non-fatal for extra targets
-	  Original commit message from CVS:
-	  make not having check non-fatal for extra targets
-
-2005-11-30 10:15:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  po/POTFILES.in: queue has moved, update
-	  Original commit message from CVS:
-	  * po/POTFILES.in:
-	  queue has moved, update
-
-2005-11-30 10:13:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstvalue.c:
-	* win32/vs6/grammar.dsp:
-	* win32/vs6/gst_inspect.dsp:
-	* win32/vs6/gst_launch.dsp:
-	* win32/vs6/libgstbase.dsp:
-	* win32/vs6/libgstelements.dsp:
-	* win32/vs6/libgstreamer.dsp:
-	  add some explicit casts update dsp files; also installs the debug build in \gstreamer\debug to separate it from the n...
-	  Original commit message from CVS:
-	  add some explicit casts
-	  update dsp files; also installs the debug build in \gstreamer\debug to separate it from the non-debug build
-
-2005-11-30 10:03:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add more symbols to def file
-	  Original commit message from CVS:
-	  add more symbols to def file
-
-2005-11-30 09:59:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/gst/gstreamer-sections.txt: remove double entries from the docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  remove double entries from the docs
-	  * gst/gst_private.h:
-	  * gst/gstinfo.c: (_gst_debug_init):
-	  remove the THREAD debug category
-	  * gst/Makefile.am:
-	  * gst/gstqueue.c:
-	  * gst/gstqueue.h:
-	  * docs/gst/gstreamer.types:
-	  * plugins/elements/gstqueue.c: (gst_queue_get_type),
-	  (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
-	  completely move queue and fix up debugging categories
-
-2005-11-30 09:38:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  plugins/elements/gstidentity.c: make initialization portable, using LL is not
-	  Original commit message from CVS:
-	  * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
-	  make initialization portable, using LL is not
-
-2005-11-30 09:36:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add more symbols to def file
-	  Original commit message from CVS:
-	  add more symbols to def file
-
-2005-11-30 09:30:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add more symbols to def file
-	  Original commit message from CVS:
-	  add more symbols to def file
-
-2005-11-30 09:27:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/common/gstconfig.h: add large padding
-	  Original commit message from CVS:
-	  * win32/common/gstconfig.h:
-	  add large padding
-
-2005-11-30 09:22:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/common/libgstreamer.def: rename symbols; sort base section
-	  Original commit message from CVS:
-	  * win32/common/libgstreamer.def:
-	  rename symbols; sort base section
-
-2005-11-30 09:18:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstclock.c: remove crack non-portable handrolled DEBUG macro
-	  Original commit message from CVS:
-	  2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/gstclock.c: (do_linear_regression):
-	  remove crack non-portable handrolled DEBUG macro
-
-2005-11-30 09:12:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/random/release:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstenumtypes.h:
-	* win32/common/gstversion.h:
-	  update visual studio generated files
-	  Original commit message from CVS:
-	  update visual studio generated files
-
-2005-11-30 08:56:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/vs6/: update project files for new locations
-	  Original commit message from CVS:
-	  * win32/vs6/libgstbase.dsp:
-	  * win32/vs6/libgstelements.dsp:
-	  update project files for new locations
-
-2005-11-30 08:52:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: remove some files
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  remove some files
-	  * README:
-	  reinstate and update
-	  * DEVEL:
-	  * REQUIREMENTS:
-	  removed
-	  * LICENSE:
-	  * docs/random/LICENSE:
-	  moved to random
-
-2005-11-30 08:36:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  put the README back
-	  Original commit message from CVS:
-	  put the README back
-
-2005-11-30 08:33:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* TODO:
-	  clean up TODO
-	  Original commit message from CVS:
-	  clean up TODO
-
-2005-11-30 08:29:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/ext/Makefile.am:
-	  removing ext, was not used anymore
-	  Original commit message from CVS:
-	  removing ext, was not used anymore
-
-2005-11-29 23:56:20 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/: Fix memory leak in GstTypeFindFactory.
-	  Original commit message from CVS:
-	  * gst/gsttypefind.c: (gst_type_find_register):
-	  * gst/gsttypefind.h:
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
-	  (gst_type_find_factory_dispose):
-	  * gst/gsttypefindfactory.h:
-	  Fix memory leak in GstTypeFindFactory.
-
-2005-11-29 20:16:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  updated translations
-	  Original commit message from CVS:
-	  updated translations
-
-2005-11-29 19:47:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  move queue from core to the elements plugin ç
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstelements.c:
-	  * plugins/elements/gstqueue.c:
-	  move queue from core to the elements plugin
-	  ç
-
-2005-11-29 19:44:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-net-uninstalled.pc.in:
-	  update uninstalled pc files
-	  Original commit message from CVS:
-	  update uninstalled pc files
-
-2005-11-29 19:37:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/base/: en-LARGE the padding.
-	  Original commit message from CVS:
-	  2005-11-29  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/base/gstbasetransform.h:
-	  * libs/gst/base/gstbasesrc.h:
-	  * libs/gst/base/gstbasesink.h: en-LARGE the padding.
-	  * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
-	  of pointers by which to pad very extensible base classes (like the
-	  ones in libs/gst/base).
-
-2005-11-29 19:34:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/: moving documentation from core to lib
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  moving documentation from core to lib
-
-2005-11-29 19:12:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* gst/Makefile.am:
-	* gst/base/.gitignore:
-	* gst/base/Makefile.am:
-	* gst/base/README:
-	* gst/base/gstadapter.c:
-	* gst/base/gstadapter.h:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/base/gstbasetransform.c:
-	* gst/base/gstbasetransform.h:
-	* gst/base/gstcollectpads.c:
-	* gst/base/gstcollectpads.h:
-	* gst/base/gstpushsrc.c:
-	* gst/base/gstpushsrc.h:
-	* gst/base/gsttypefindhelper.c:
-	* gst/base/gsttypefindhelper.h:
-	* gst/check/Makefile.am:
-	* gst/check/gstcheck.c:
-	* gst/check/gstcheck.h:
-	* gst/net/Makefile.am:
-	* gst/net/gstnet.h:
-	* gst/net/gstnetclientclock.c:
-	* gst/net/gstnetclientclock.h:
-	* gst/net/gstnettimepacket.c:
-	* gst/net/gstnettimepacket.h:
-	* gst/net/gstnettimeprovider.c:
-	* gst/net/gstnettimeprovider.h:
-	* libs/gst/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/check/Makefile.am:
-	* plugins/elements/Makefile.am:
-	* po/POTFILES.in:
-	* tests/check/Makefile.am:
-	  CVS surgery + support to move base, check, and net out of gst and into libs/gst
-	  Original commit message from CVS:
-	  CVS surgery + support to move base, check, and net out of gst
-	  and into libs/gst
-
-2005-11-29 18:57:59 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
-	  Original commit message from CVS:
-	  2005-11-29  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
-	  * gst/gststructure.h (struct _GstStructure): Only one pointer of
-	  padding.
-	  * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
-	  * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
-	  * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
-	  * gst/gstobject.h: (struct _GstObject): Only one pointer of
-	  padding; reduces object size by about 30%. We don't expect
-	  anything else to go into gstobject.
-	  * gst/gstminiobject.h (struct _GstMiniObject)
-	  (struct _GstMiniObjectClass): Only one pointer of padding; the
-	  payload is only a pointer and two ints anyway. For the class there
-	  are only two methods as well.
-	  * gst/gstelement.h (struct _GstElementClass): Removed
-	  the state_changed signal callback, it is not used.
-
-2005-11-29 18:49:19 +0000  Andy Wingo <wingo@pobox.com>
-
-	* components/bonobo-gstmediaplay/.gitignore:
-	* components/bonobo-gstmediaplay/Makefile.am:
-	* components/bonobo-gstmediaplay/bonobo-gstmediaplay-ui.xml:
-	* components/bonobo-gstmediaplay/bonobo-gstmediaplay.c:
-	* components/bonobo-gstmediaplay/gstmediaplay.oafinfo:
-	* components/bonobo-media/Makefile.am:
-	* components/bonobo-media/bonobo-media-gstreamer-factory.c:
-	* components/bonobo-media/bonobo-media-gstreamer.gob:
-	* components/bonobo-media/bonobo-media-gstreamer.oafinfo:
-	* components/bonobo-media/bonobo-media-gstreamervideo.gob:
-	  whack a mole
-	  Original commit message from CVS:
-	  whack a mole
-
-2005-11-29 18:38:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/POTFILES.in:
-	  these files were moved
-	  Original commit message from CVS:
-	  these files were moved
-
-2005-11-29 18:21:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/gst/gstreamer.types: fix includes, though they are a little dinky
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types:
-	  fix includes, though they are a little dinky
-
-2005-11-29 18:14:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: look in the right place for elements, a lot more chance of success
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  look in the right place for elements, a lot more chance of
-	  success
-	  * gst/Makefile.am:
-	  remove indexers and elements subdirs
-	  * plugins/Makefile.am:
-	  make indexers conditional
-
-2005-11-29 18:08:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* plugins/Makefile.am:
-	  add missing Makefile.am
-	  Original commit message from CVS:
-	  add missing Makefile.am
-
-2005-11-29 18:04:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/Makefile.am:
-	  fix doc build for stuff moved around
-	  Original commit message from CVS:
-	  fix doc build for stuff moved around
-
-2005-11-29 18:03:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/elements/.gitignore:
-	* gst/elements/Makefile.am:
-	* gst/elements/gstbufferstore.c:
-	* gst/elements/gstbufferstore.h:
-	* gst/elements/gstcapsfilter.c:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesink.h:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstfdsink.c:
-	* gst/elements/gstfdsink.h:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfdsrc.h:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesink.h:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstfilesrc.h:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gstidentity.h:
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttee.h:
-	* gst/elements/gsttypefindelement.c:
-	* gst/elements/gsttypefindelement.h:
-	* gst/indexers/.gitignore:
-	* gst/indexers/Makefile.am:
-	* gst/indexers/gstfileindex.c:
-	* gst/indexers/gstindexers.c:
-	* gst/indexers/gstmemindex.c:
-	  remove moved dirs
-	  Original commit message from CVS:
-	  remove moved dirs
-
-2005-11-29 18:02:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/registries/.gitignore:
-	* gst/schedulers/.gitignore:
-	  remove empty dirs
-	  Original commit message from CVS:
-	  remove empty dirs
-
-2005-11-29 18:00:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  do CVS surgery and related build fixery to move elements and indexers in a new gstreamer/plugins directory, out of th...
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  * configure.ac:
-	  * plugins/elements/Makefile.am:
-	  * plugins/elements/gstcapsfilter.c:
-	  * plugins/elements/gstfilesink.c:
-	  * plugins/elements/gstfilesrc.c:
-	  * plugins/elements/gstidentity.c:
-	  * plugins/indexers/Makefile.am:
-	  do CVS surgery and related build fixery to move elements
-	  and indexers in a new gstreamer/plugins directory, out of the
-	  gst/ directory
-
-2005-11-29 17:47:06 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Rename gstnet-tempname to gstnet. Fixes #322257.
-	  Original commit message from CVS:
-	  2005-11-29  Andy Wingo  <wingo@pobox.com>
-	  * check/Makefile.am:
-	  * pkgconfig/gstreamer-net-uninstalled.pc.in:
-	  * pkgconfig/gstreamer-net.pc.in:
-	  * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
-	  #322257.
-
-2005-11-29 17:35:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/elements/.gitignore:
-	* tests/check/elements/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-11-29 17:33:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gstreamer.spec.in:
-	  remove some more complete
-	  Original commit message from CVS:
-	  remove some more complete
-
-2005-11-29 17:32:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  tools/: removing -compprep and -complete
-	  Original commit message from CVS:
-	  * tools/Makefile.am:
-	  * tools/gst-complete.1.in:
-	  * tools/gst-complete.c:
-	  * tools/gst-compprep.1.in:
-	  * tools/gst-compprep.c:
-	  removing -compprep and -complete
-
-2005-11-29 17:23:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstevent.*: fix #320529 - clean up new_segment API and structure.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_new_new_segment),
-	  (gst_event_parse_new_segment):
-	  * gst/gstevent.h:
-	  fix #320529 - clean up new_segment API and structure.
-	  Let's hope everyone was using the methods, and not the structure.
-
-2005-11-29 17:13:44 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/base/gstbasesink.c: Properly handle non GST_FORMAT_TIME segment
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_event), (gst_base_sink_do_sync),
-	  (gst_base_sink_activate_pull), (gst_base_sink_change_state):
-	  Properly handle non GST_FORMAT_TIME segment
-	  * gst/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Properly handle non GST_FORMAT_TIME segment
-	  * gst/gstsegment.c:
-	  This function is valid if the accumulator is 0 and the format
-	  is different from the requested format.
-
-2005-11-29 15:50:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/gst/gstreamer-sections.txt: Add gst_query_new_seeking and gst_query_parse_seeking to the docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add gst_query_new_seeking and gst_query_parse_seeking to the
-	  docs.
-
-2005-11-29 15:15:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	  Fix conflict marker
-	  Original commit message from CVS:
-	  Fix conflict marker
-
-2005-11-29 15:12:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstbasetransform.c: Treat a pad alloc with new caps the same as if we were not negotiated, in order to allow...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
-	  Treat a pad alloc with new caps the same as if we were not
-	  negotiated, in order to allow a changing upstream output
-	  to produce a new format of data.
-
-2005-11-29 14:47:07 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/base/gstbasetransform.c: The event virtual method is now properly implemented, with a default handler
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
-	  (gst_base_transform_event), (gst_base_transform_eventfunc):
-	  The event virtual method is now properly implemented, with a default
-	  handler
-	  Sub classes should call the parent_class event method. They should
-	  return FALSE if they had a problem handling the given event, or don't
-	  want GstBaseTransform to send that even downstream
-	  * gst/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_init), (gst_identity_event),
-	  (gst_identity_transform_ip), (gst_identity_set_property),
-	  (gst_identity_get_property):
-	  * gst/elements/gstidentity.h:
-	  Added the single-segment boolean property.
-	  If set to TRUE, it will output a single segment of data, starting from
-	  0, will eat up all incoming newsegment, and modify the timestamp of the
-	  buffers accordingly
-
-2005-11-29 14:43:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/thomasvs/0.10:
-	  further review
-	  Original commit message from CVS:
-	  further review
-
-2005-11-29 13:10:38 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstghostpad.c: Don't ref NULL target pad (#322751). Improve docs.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_get_target):
-	  Don't ref NULL target pad (#322751). Improve docs.
-
-2005-11-29 11:07:54 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstregistryxml.c: Don't crash if we failed to load a feature from a plugin.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: (load_plugin):
-	  Don't crash if we failed to load a feature from a plugin.
-
-2005-11-29 00:51:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/thomasvs/0.10:
-	  add my todos for 0.10
-	  Original commit message from CVS:
-	  add my todos for 0.10
-
-2005-11-28 21:51:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/pipelines/simple_launch_lines.c: use more check API and less GLib API
-	  Original commit message from CVS:
-	  * check/pipelines/simple_launch_lines.c: (setup_pipeline),
-	  (GST_START_TEST):
-	  use more check API and less GLib API
-
-2005-11-28 21:48:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/pipelines/simple_launch_lines.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  cosmetic changes
-	  Original commit message from CVS:
-	  cosmetic changes
-
-2005-11-28 19:58:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: don't run checks if we don't have check
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  don't run checks if we don't have check
-	  * common/check.mak:
-	  remove the registry when running make torture
-	  * docs/gst/gstreamer-sections.txt:
-	  remove second multiply
-	  * gst/gstqueue.c: (gst_queue_loop):
-	  fix a compile warning when disabling debug
-
-2005-11-28 19:43:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstinfo.h: Hey! Let's print the pad name if the pointer != NULL instead of when it == NULL :-)
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  Hey! Let's print the pad name if the pointer != NULL instead
-	  of when it == NULL :-)
-
-2005-11-28 18:44:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstutils.c: Updated check, add some scaling accuracy checking code.
-	  Original commit message from CVS:
-	  * check/gst/gstutils.c: (GST_START_TEST):
-	  Updated check, add some scaling accuracy checking code.
-	  * gst/gstutils.c: (gst_util_div128_64),
-	  (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
-	  (gst_util_uint64_scale_int):
-	  Fix 6 times faster division code. Optimize for common
-	  1/1 and less common X/1 cases.
-
-2005-11-28 17:59:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstclock.c:
-	  doc updates
-	  Original commit message from CVS:
-	  doc updates
-
-2005-11-28 16:05:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstutils.c: More checks.
-	  Original commit message from CVS:
-	  * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  More checks.
-	  * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
-	  (do_linear_regression), (gst_clock_add_observation):
-	  Cleanups.
-	  Release lock when the clock cannot be slaved.
-	  Catch the case where the regression returned an invalid denominator.
-	  * gst/gstutils.c: (gst_util_div128_64_iterate),
-	  (gst_util_div128_64), (gst_util_uint64_scale_int64),
-	  (gst_util_uint64_scale), (gst_util_uint64_scale_int):
-	  Add protentially more performant non-iterative 128/64 divide function
-	  that unfortunatly does not work yet.
-	  Shortcut the trivial 0/X = 0 case.
-	  Remove the warnings on overflow.
-
-2005-11-28 14:18:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstplugin.c: everything causing a plugin not to load should be at least a WARNING
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_register_func):
-	  everything causing a plugin not to load should be at least a WARNING
-
-2005-11-28 14:02:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/elements/gstcapsfilter.c:
-	* plugins/elements/gstcapsfilter.c:
-	  log caps
-	  Original commit message from CVS:
-	  log caps
-
-2005-11-28 14:01:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.c:
-	  fix docs
-	  Original commit message from CVS:
-	  fix docs
-
-2005-11-28 13:25:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/dparams.txt: some TODOs for the next dev cycle
-	  Original commit message from CVS:
-	  * docs/random/ensonic/dparams.txt:
-	  some TODOs for the next dev cycle
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_new):
-	  * libs/gst/controller/gstcontroller.h:
-	  use base type to assign acccessor functions
-
-2005-11-28 11:31:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/Makefile.am: Oops, that should have been top_srcdir
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  Oops, that should have been top_srcdir
-
-2005-11-28 10:29:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* check/gst/gstpipeline.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstpipeline.c:
-	  disable pipeline test until someone fixes the unreliable errors
-	  Original commit message from CVS:
-	  disable pipeline test until someone fixes the unreliable errors
-
-2005-11-28 10:07:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/: Use a cmdline define to specify the location of a file to use for testing, to avoid breaking distcheck.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/elements/fdsrc.c: (GST_START_TEST):
-	  Use a cmdline define to specify the location of a file to use for
-	  testing, to avoid breaking distcheck.
-
-2005-11-28 10:04:45 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (fixate_value): Use array functions for arrays.
-	  Original commit message from CVS:
-	  2005-11-28  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (fixate_value): Use array functions for arrays.
-
-2005-11-28 09:55:19 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  tools/gst-launch.c: Clarify the output strings, makes it easier to translate.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  Clarify the output strings, makes it easier to translate.
-	  Fixes #322626
-
-2005-11-28 08:20:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/Makefile.am: don't try and build net if we don't even have <sys/socket.h>
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  don't try and build net if we don't even have <sys/socket.h>
-
-2005-11-27 22:50:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/: Add tests for fdsrc seekability
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
-	  (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
-	  Add tests for fdsrc seekability
-	  * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
-	  (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
-	  (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
-	  (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
-	  * gst/elements/gstfdsrc.h:
-	  fdsrc should not be a 'live' source.
-	  Implement seeking on seekable fd's.
-	  * gst/gstquery.c: (gst_query_new_seeking),
-	  (gst_query_parse_seeking):
-	  * gst/gstquery.h:
-	  Implement SEEKING query functions:
-	  *_new_seeking and *_parse_seeking
-
-2005-11-27 22:43:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstelement.c: don't loop forever
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_dispose):
-	  don't loop forever
-	  * gst/gstiterator.c:
-	  * gst/gststructure.c:
-	  doc fixes
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (interpolate_none_get_enum_value_array):
-	  support controlling enums
-
-2005-11-27 19:52:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Improve documentation for gst_value_union().
-	  Original commit message from CVS:
-	  * gst/gstvalue.c:
-	  Improve documentation for gst_value_union().
-	  * gst/gstvalue.h:
-	  Change return value for union, intersect and subtract functions
-	  from gint to gboolean.
-
-2005-11-27 18:11:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.*: Use gint, gdouble and gchar in our API instead of int, double and char (and make usage in gstvalue.c ...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_serialize_any_list),
-	  (gst_value_transform_any_list_string),
-	  (gst_value_deserialize_list), (gst_value_deserialize_array),
-	  (gst_value_set_int_range), (gst_value_deserialize_int_range),
-	  (gst_value_set_double_range), (gst_value_deserialize_double_range),
-	  (gst_value_set_fraction_range_full),
-	  (gst_value_deserialize_fraction_range),
-	  (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
-	  (gst_value_deserialize_boolean),
-	  (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
-	  (gst_value_serialize_float), (gst_value_deserialize_float),
-	  (gst_string_wrap), (gst_value_deserialize_string),
-	  (gst_value_deserialize_enum), (gst_value_deserialize_flags),
-	  (gst_value_union_int_range_int_range),
-	  (gst_value_intersect_int_range_int_range),
-	  (gst_value_intersect_double_range_double_range),
-	  (gst_value_create_new_range), (gst_value_subtract_int_range_int),
-	  (gst_value_subtract_int_range_int_range),
-	  (gst_value_subtract_double_double_range),
-	  (gst_value_subtract_double_range_double_range),
-	  (gst_value_deserialize_fraction):
-	  * gst/gstvalue.h:
-	  Use gint, gdouble and gchar in our API instead of int, double and
-	  char (and make usage in gstvalue.c more consistent).
-
-2005-11-27 17:05:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/Makefile.am:
-	  add undefined for core
-	  Original commit message from CVS:
-	  add undefined for core
-
-2005-11-27 16:46:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* tests/check/Makefile.am:
-	  fix up Makefile.am and remove GST_ENABLE_NEW
-	  Original commit message from CVS:
-	  fix up Makefile.am and remove GST_ENABLE_NEW
-
-2005-11-27 15:15:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  update LDFLAGS use some more
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/Makefile.am:
-	  * gst/base/Makefile.am:
-	  * gst/check/Makefile.am:
-	  * gst/elements/Makefile.am:
-	  * gst/net/Makefile.am:
-	  update LDFLAGS use some more
-
-2005-11-27 14:19:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	  Fixes #312589
-	  Original commit message from CVS:
-	  Fixes #312589
-
-2005-11-27 14:03:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstpipeline.c:
-	* tests/check/gst/gstpipeline.c:
-	  add some additional fail_if's
-	  Original commit message from CVS:
-	  add some additional fail_if's
-
-2005-11-26 11:28:32 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpluginfeature.c: This shouldn't issue a g_warning since it returns NULL if it couldn't find the plugin, and al...
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_load):
-	  This shouldn't issue a g_warning since it returns NULL if it
-	  couldn't find the plugin, and all functions using this behave
-	  properly on a NULL return. Switching to a GST_WARNING.
-
-2005-11-25 17:06:36 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbin.c: Don't leak clock messages.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_handle_message_func):
-	  Don't leak clock messages.
-
-2005-11-25 11:38:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Optimisations, remove unneeded vars.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_uint64_scale_int64),
-	  (gst_util_uint64_scale_int):
-	  Optimisations, remove unneeded vars.
-
-2005-11-25 00:02:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstutils.c: Added more checks for the high precision uint64 cases.
-	  Original commit message from CVS:
-	  * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  Added more checks for the high precision uint64 cases.
-	  * gst/gstutils.c: (gst_util_uint64_scale_int64),
-	  (gst_util_uint64_scale), (gst_util_uint64_scale_int):
-	  Implement high precission (guint64 * guint64) / guint64.
-
-2005-11-24 19:06:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Fix wrong percentage query.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_query):
-	  Fix wrong percentage query.
-	  * gst/gstutils.c: (gst_util_uint64_scale),
-	  (gst_util_uint64_scale_int):
-	  Add some more common cases that can be handled
-	  efficiently to _scale.
-
-2005-11-24 18:44:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstminiobject.c:
-	* tests/check/gst/gstminiobject.c:
-	  remove wrongly commited comments
-	  Original commit message from CVS:
-	  remove wrongly commited comments
-
-2005-11-24 18:40:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstminiobject.c: don't use check calls from threads; check probably isn't threadsafe and using a lock to ma...
-	  Original commit message from CVS:
-	  * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
-	  (gst_mini_object_suite):
-	  don't use check calls from threads; check probably isn't
-	  threadsafe and using a lock to make it threadsafe would
-	  defeat the purpose of this check
-	  * gst/check/gstcheck.c:
-	  * gst/check/gstcheck.h:
-	  use GST_DEBUG some more
-
-2005-11-24 18:03:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstutils.c: Chain trivial case to _scale_int.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_uint64_scale),
-	  (gst_util_uint64_scale_int):
-	  Chain trivial case to _scale_int.
-
-2005-11-24 17:44:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstutils.c: Added test for scaling.
-	  Original commit message from CVS:
-	  * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
-	  Added test for scaling.
-	  * gst/gstclock.h:
-	  Small doc fix.
-	  * gst/gstutils.c: (gst_util_uint64_scale_int):
-	  Implemented high precision scaling code.
-
-2005-11-24 16:56:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstinfo.h: do not crash on pad==NULL
-	  Original commit message from CVS:
-	  * gst/gstinfo.h:
-	  do not crash on pad==NULL
-
-2005-11-24 16:32:26 +0000  Stefan Kost <ensonic@users.sf.net>
-
-	  Fix distcheck issues for the libraries docs build
-	  Original commit message from CVS:
-	  Patch by: Stefan Kost
-	  * common/gtk-doc.mak:
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am:
-	  Fix distcheck issues for the libraries docs build
-	  Closes #319599
-
-2005-11-24 14:39:59 +0000  Michael Smith <msmith@xiph.org>
-
-	  docs/manual/basics-helloworld.xml: Fix bug #315027: memory leak in example code in docs.
-	  Original commit message from CVS:
-	  * docs/manual/basics-helloworld.xml:
-	  Fix bug #315027: memory leak in example code in docs.
-
-2005-11-24 12:44:25 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/base/gstbasesink.c: Unlock the PREROLL_LOCK in a failure case.
-	  Original commit message from CVS:
-	  2005-11-24  Michael Smith <msmith@fluendo.com>
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  Unlock the PREROLL_LOCK in a failure case.
-
-2005-11-24 11:16:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/.gitignore:
-	* check/net/.gitignore:
-	* tests/check/gst/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-11-24 09:44:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/base/gstadapter.h:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.h:
-	* gst/base/gstbasetransform.h:
-	* gst/base/gstpushsrc.h:
-	* gst/elements/gstfakesink.h:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstfilesink.h:
-	* gst/elements/gstfilesrc.h:
-	* gst/gst.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbus.h:
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.c:
-	* gst/gstghostpad.h:
-	* gst/gstindex.h:
-	* gst/gstinterface.h:
-	* gst/gstminiobject.c:
-	* gst/gstminiobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstpipeline.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstquery.h:
-	* gst/gstqueue.h:
-	* gst/gsttaglist.c:
-	* gst/gsttaglist.h:
-	* gst/gsttagsetter.c:
-	* gst/gsttagsetter.h:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* gst/gsttypefind.h:
-	* gst/gsturi.h:
-	* gst/gstvalue.c:
-	* gst/net/gstnetclientclock.c:
-	* gst/net/gstnetclientclock.h:
-	* gst/net/gstnettimepacket.c:
-	* gst/net/gstnettimeprovider.c:
-	* gst/net/gstnettimeprovider.h:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/net/gstnetclientclock.c:
-	* libs/gst/net/gstnetclientclock.h:
-	* libs/gst/net/gstnettimepacket.c:
-	* libs/gst/net/gstnettimeprovider.c:
-	* libs/gst/net/gstnettimeprovider.h:
-	* plugins/elements/gstfakesink.h:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfilesink.h:
-	* plugins/elements/gstfilesrc.h:
-	* plugins/elements/gstqueue.h:
-	  Doc fixes.
-	  Original commit message from CVS:
-	  Doc fixes.
-
-2005-11-23 22:54:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  removed directories
-	  Original commit message from CVS:
-	  removed directories
-
-2005-11-23 22:21:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/instantiate/Makefile.am:
-	  fix dist
-	  Original commit message from CVS:
-	  fix dist
-
-2005-11-23 21:24:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* Makefile.am:
-	* win32/common/config.h:
-	  add a torture target
-	  Original commit message from CVS:
-	  add a torture target
-
-2005-11-23 21:18:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/instantiate/create.c:
-	* tests/negotiation/.gitignore:
-	* tests/negotiation/Makefile.am:
-	* tests/negotiation/capsnego1.c:
-	  remove obsolete tests
-	  Original commit message from CVS:
-	  remove obsolete tests
-
-2005-11-23 21:16:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/Makefile.am:
-	* tests/lat.c:
-	* tests/muxing/.gitignore:
-	* tests/muxing/Makefile.am:
-	* tests/muxing/case1.c:
-	* tests/probes/.gitignore:
-	* tests/probes/Makefile.am:
-	* tests/probes/probetest.c:
-	  remove obsolete tests
-	  Original commit message from CVS:
-	  remove obsolete tests
-
-2005-11-23 21:13:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/trigger/Makefile.am:
-	* tests/old/testsuite/trigger/README:
-	* tests/old/testsuite/trigger/trigger.c:
-	* testsuite/Makefile.am:
-	* testsuite/trigger/Makefile.am:
-	* testsuite/trigger/README:
-	* testsuite/trigger/trigger.c:
-	  remove trigger subdir
-	  Original commit message from CVS:
-	  remove trigger subdir
-
-2005-11-23 21:12:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/old/testsuite/elements/Makefile.am:
-	* tests/old/testsuite/elements/fake.c:
-	* tests/old/testsuite/elements/name.c:
-	* tests/old/testsuite/elements/property.c:
-	* tests/old/testsuite/elements/property.h:
-	* tests/old/testsuite/elements/tee.c:
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/fake.c:
-	* testsuite/elements/name.c:
-	* testsuite/elements/property.c:
-	* testsuite/elements/property.h:
-	* testsuite/elements/tee.c:
-	  remove tests replaced by checks
-	  Original commit message from CVS:
-	  remove tests replaced by checks
-
-2005-11-23 20:04:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to HEAD
-	  Original commit message from CVS:
-	  back to HEAD
-
-=== release 0.9.6 ===
-
-2005-11-23 19:55:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/random/moving-plugins:
-	* win32/common/config.h:
-	  releasing 0.9.6
-	  Original commit message from CVS:
-	  releasing 0.9.6
-
-2005-11-23 18:07:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2005-11-23 17:59:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/upload.mak:
-	  Christian, learn to configure your .ssh/config file, and STOP committing to thisfile
-	  Original commit message from CVS:
-	  Christian, learn to configure your .ssh/config file, and STOP committing to thisfile
-
-2005-11-23 16:10:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Doc updates.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/glib-compat.c:
-	  * gst/gsttagsetter.c:
-	  * gst/gstvalue.c:
-	  * gst/net/gstnetclientclock.c:
-	  * gst/net/gstnettimepacket.h:
-	  Doc updates.
-
-2005-11-23 15:49:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/faq/using.xml:
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/pwg/other-source.xml:
-	* docs/random/moving-plugins:
-	* gst/gstpad.c:
-	* tools/gst-launch.1.in:
-	  remove mentions of sinesrc
-	  Original commit message from CVS:
-	  remove mentions of sinesrc
-
-2005-11-23 14:52:31 +0000  Michael Smith <msmith@xiph.org>
-
-	  docs/gst/gstreamer-sections.txt: Update for new API and API changes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Update for new API and API changes.
-	  * gst/gstobject.h:
-	  Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
-	  * gst/gstvalue.c:
-	  Documentation typo fix.
-	  * gst/net/gstnettimepacket.c:
-	  Documentation fixes for arguments.
-
-2005-11-23 13:22:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  API Changes.
-	  Original commit message from CVS:
-	  * gst/gststructure.c: (gst_structure_get_fraction),
-	  (gst_structure_parse_value),
-	  (gst_structure_fixate_field_nearest_fraction):
-	  * gst/gststructure.h:
-	  * gst/gstutils.c: (gst_util_uint64_scale_int):
-	  * gst/gstutils.h:
-	  * scripts/update-funcnames:
-	  API Changes.
-	  Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
-	  Make gst_structure_fixate_field_nearest_fraction take a numerator
-	  and denominator argument instead of a GValue
-	  add gst_structure_get_fraction helper function.
-
-2005-11-23 13:14:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Update TODO.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Update TODO.
-	  * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
-	  * gst/net/gstnetclientclock.h:
-	  Use parent fields for timeout and window_size.
-
-2005-11-23 12:39:36 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* docs/upload.mak:
-	* gst/registries/.gitignore:
-	* gst/schedulers/.gitignore:
-	* libs/gst/control/.gitignore:
-	* libs/gst/getbits/.gitignore:
-	  add missing cvsignores so CVS shuts up
-	  Original commit message from CVS:
-	  add missing cvsignores so CVS shuts up
-
-2005-11-23 12:36:00 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change.
-	  Original commit message from CVS:
-	  2005-11-23  Andy Wingo  <wingo@pobox.com>
-	  * check/net/gstnetclientclock.c (test_functioning): Adjust to
-	  rate_num/rate_denom change.
-	  * gst/net/gstnetclientclock.c
-	  (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
-	  OBJECT_LOCK. Don't call add_observation with the lock.
-	  * gst/gstclock.c (gst_clock_init): Initialize the rate as a
-	  fraction.
-	  (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
-	  rate fraction.
-	  (gst_clock_set_calibration, gst_clock_get_calibration): Change to
-	  deal with rate as a fraction whose numerator and denominator are
-	  GstClockTime values.
-	  (gst_clock_set_master): Only use the OBJECT_LOCK to set the
-	  master; the other fields are protected by the SLAVE_LOCK.
-	  (do_linear_regression): Note that this must be called with the
-	  SLAVE_LOCK.
-	  (gst_clock_add_observation): Take the SLAVE_LOCK, not the
-	  OBJECT_LOCK. Call set_calibration instead of touching the
-	  variables directly.
-	  (gst_clock_set_property, gst_clock_get_property): Protect
-	  master/slave parameters with the SLAVE_LOCK.
-	  * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
-	  rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
-	  note that all of the instance variables that add_observation and
-	  the set_master functions use are protected by that lock and not
-	  the OBJECT_LOCK.
-	  (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
-	  * gst/gstclock.c (gst_clock_add_observation): No longer requires
-	  the caller to take the object lock.
-
-2005-11-23 11:22:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gsterror.*: Add error for clock stuff.
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_core_errors_init):
-	  * gst/gsterror.h:
-	  Add error for clock stuff.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state),
-	  (gst_pipeline_set_clock):
-	  Post clock error when clock cannot be used in a pipeline.
-
-2005-11-23 11:05:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: make two symbols from gstinfo private for the docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  make two symbols from gstinfo private for the docs
-	  * gst/base/gstcollectpads.h:
-	  * gst/gstutils.c:
-	  fix doc typos, update docs
-
-2005-11-22 18:28:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: No need to store the clock, the parent element class already has it.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_wait), (gst_base_sink_do_sync),
-	  (gst_base_sink_handle_event):
-	  * gst/base/gstbasesink.h:
-	  No need to store the clock, the parent element class already
-	  has it.
-	  * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
-	  Updates for clock_set returning a gboolean
-	  * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
-	  (gst_clock_id_wait_async), (gst_clock_class_init),
-	  (gst_clock_init), (gst_clock_finalize),
-	  (gst_clock_get_internal_time), (gst_clock_get_time),
-	  (gst_clock_slave_callback), (gst_clock_set_master),
-	  (gst_clock_get_master), (do_linear_regression),
-	  (gst_clock_add_observation), (gst_clock_set_property),
-	  (gst_clock_get_property):
-	  * gst/gstclock.h:
-	  Implement master/slave. When setting a clock as a slave, a
-	  periodic timeout is scheduled to sample master and slave times.
-	  Then the slave clock is recalibrated to match offset and rate
-	  of the master clock.
-	  Update logging a bit.
-	  Add flag so that a clock can state that is cannot be slaved to
-	  another clock.
-	  * gst/gstelement.c: (gst_element_set_clock):
-	  * gst/gstelement.h:
-	  The set_clock returns a gboolean for when an element cannot
-	  deal with the selected clock in the pipeline.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state),
-	  (gst_pipeline_set_clock):
-	  * gst/gstpipeline.h:
-	  Handle the case where the selected clock cannot be set on
-	  the pipeline.
-	  * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
-	  (gst_net_client_clock_init), (gst_net_client_clock_finalize),
-	  (gst_net_client_clock_set_property),
-	  (gst_net_client_clock_get_property),
-	  (gst_net_client_clock_observe_times):
-	  * gst/net/gstnetclientclock.h:
-	  Use regression code in GstClock parent, remove duplicated
-	  functionality.
-
-2005-11-22 16:31:08 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	  Add underscores
-	  Original commit message from CVS:
-	  Add underscores
-
-2005-11-22 15:52:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: correctly fix GEnumValues so that nick is the short lowercase dashed tag
-	  Original commit message from CVS:
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
-	  (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
-	  (gst_fake_src_init), (gst_fake_src_prepare_buffer),
-	  (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
-	  * gst/elements/gstfakesrc.h:
-	  * gst/gstqueue.c: (queue_leaky_get_type):
-	  correctly fix GEnumValues so that nick is the short lowercase
-	  dashed tag
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  also show the nick, since it's useful to use from parse_launch
-	  syntax
-	  Fixes #322139
-
-2005-11-22 15:15:53 +0000  Michael Smith <msmith@xiph.org>
-
-	  Add util method for scaling a clocktime by a fraction. Useful implementation is left as an exercise for the reader.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_util_clocktime_scale):
-	  * gst/gstutils.h:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add util method for scaling a clocktime by a fraction. Useful
-	  implementation is left as an exercise for the reader.
-
-2005-11-22 14:29:10 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstvalue.c: If needed, allocate storage in the destination value during collection.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_collect_fraction_range):
-	  If needed, allocate storage in the destination value during
-	  collection.
-
-2005-11-22 13:58:00 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Removed GstURI , closes bug #321061
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gsturitype.c:
-	  * gst/gsturitype.h:
-	  * gst/gstutils.c: (gst_util_set_object_arg):
-	  * tools/gst-compprep.c: (main):
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Removed GstURI , closes bug #321061
-
-2005-11-22 13:14:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Oops, broke automatic string type parsing.
-	  Original commit message from CVS:
-	  * check/gst/gststructure.c: (GST_START_TEST):
-	  * gst/gststructure.c: (gst_structure_parse_value):
-	  Oops, broke automatic string type parsing.
-	  Add a test to catch it in future.
-
-2005-11-22 13:02:12 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* gst/gsttagsetter.c:
-	  gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
-	  Original commit message from CVS:
-	  2005-11-22  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
-	  (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
-	  Actually rename the function implementations. Grr.
-
-2005-11-22 12:51:18 +0000  Andy Wingo <wingo@pobox.com>
-
-	* scripts/update-funcnames:
-	  fix borked commit
-	  Original commit message from CVS:
-	  fix borked commit
-
-2005-11-22 12:35:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/capslist.h: Comment test cases
-	  Original commit message from CVS:
-	  * check/gst/capslist.h:
-	  Comment test cases
-	  * check/gst/gststructure.c: (GST_START_TEST),
-	  (gst_structure_suite):
-	  Test automatic value type detection in gst_structure_from_string.
-	  * gst/gststructure.c: (gst_structure_parse_value):
-	  Add fraction as a type we try and guess automatically in
-	  caps/structure strings.
-
-2005-11-22 12:35:35 +0000  Andy Wingo <wingo@pobox.com>
-
-	* scripts/update-funcnames:
-	  update update-funcs for tagsetter
-	  Original commit message from CVS:
-	  update update-funcs for tagsetter
-
-2005-11-22 12:20:04 +0000  Torsten Schoenfeld <kaffeetisch@gmx.de>
-
-	  gst/gsttagsetter.*: (gst_tag_setter_merge_tags) (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values) (gst_tag_set...
-	  Original commit message from CVS:
-	  2005-11-22  Andy Wingo  <wingo@pobox.com>
-	  patch by: Torsten Schoenfeld <kaffeetisch gmx de>
-	  * gst/gsttagsetter.h:
-	  * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
-	  (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
-	  (gst_tag_setter_add_tag_valist)
-	  (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
-	  _add_values, _add_valist, and _add_valist_values. Since this is an
-	  interface the function suffixes should be more explicit so
-	  language binding don't end up with element.add_valist ->
-	  gst_tag_setter_add_valist, for example. Fixes #322069.
-
-2005-11-22 12:15:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  don't valgrind the stress test, takes too long
-	  Original commit message from CVS:
-	  don't valgrind the stress test, takes too long
-
-2005-11-22 11:56:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstcaps.c: Extend caps string tests to check that a caps to string conversion is reversible and produces th...
-	  Original commit message from CVS:
-	  * check/gst/gstcaps.c: (GST_START_TEST):
-	  Extend caps string tests to check that a caps to string
-	  conversion is reversible and produces the same caps.
-	  * gst/gststructure.c: (gst_structure_value_get_generic_type):
-	  Output "fraction" as the generic type fraction range, so caps
-	  serialisation and deserialisation works.
-	  * check/gst/capslist.h:
-	  * gst/gstvalue.c: (gst_value_deserialize_fraction):
-	  Support 'MIN' and 'MAX' for deserialising fractions.
-
-2005-11-22 11:50:12 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gststructure.c:
-	  Minor doc fix.
-	  Original commit message from CVS:
-	  Minor doc fix.
-
-2005-11-22 11:48:58 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstevent.h (gst_event_new_new_segment) (gst_event_parse_new_segment, gst_event_new_buffer_size)
-	  Original commit message from CVS:
-	  2005-11-22  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstevent.h (gst_event_new_new_segment)
-	  (gst_event_parse_new_segment, gst_event_new_buffer_size)
-	  (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
-	  Renamed from *_newsegment, *_buffersize, *_notarget.
-	  * scripts/update-funcnames: New script, performs the changes
-	  listed above.
-
-2005-11-22 11:25:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Make sure the GstFlowReturn is returned.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  Make sure the GstFlowReturn is returned.
-	  * gst/gstbus.c: (gst_bus_add_signal_watch_full),
-	  (gst_bus_add_signal_watch):
-	  * gst/gstbus.h:
-	  add gst_bus_add_signal_watch_full.
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  Small style cleanup.
-
-2005-11-22 10:24:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstevent.c: Block the fakesrc srcpad when we send an event, to avoid contention on the stream_lock causing ...
-	  Original commit message from CVS:
-	  * check/gst/gstevent.c: (test_event), (GST_START_TEST):
-	  Block the fakesrc srcpad when we send an event, to avoid
-	  contention on the stream_lock causing random test failures.
-
-2005-11-22 09:42:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Fix subtraction.
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (GST_START_TEST):
-	  * gst/gstvalue.c: (gst_value_fraction_subtract):
-	  Fix subtraction.
-
-2005-11-22 09:35:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gst.h: include "gstchildproxy.h"
-	  Original commit message from CVS:
-	  * gst/gst.h:
-	  include "gstchildproxy.h"
-	  * gst/gstchildproxy.h:
-	  * libs/gst/controller/gstcontroller.h:
-	  use G_GNUC_NULL_TERMINATED
-
-2005-11-21 23:54:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Implement fraction ranges and extend GstFraction to support arithmetic subtraction, as well as deserialization from i...
-	  Original commit message from CVS:
-	  * check/gst/capslist.h:
-	  * check/gst/gstcaps.c: (GST_START_TEST):
-	  * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  * gst/gststructure.c: (gst_structure_parse_range),
-	  (gst_structure_fixate_field_nearest_fraction):
-	  * gst/gststructure.h:
-	  * gst/gstvalue.c: (gst_value_init_fraction_range),
-	  (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
-	  (gst_value_collect_fraction_range),
-	  (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
-	  (gst_value_set_fraction_range_full),
-	  (gst_value_get_fraction_range_min),
-	  (gst_value_get_fraction_range_max),
-	  (gst_value_serialize_fraction_range),
-	  (gst_value_transform_fraction_range_string),
-	  (gst_value_compare_fraction_range),
-	  (gst_value_deserialize_fraction_range),
-	  (gst_value_intersect_fraction_fraction_range),
-	  (gst_value_intersect_fraction_range_fraction_range),
-	  (gst_value_subtract_fraction_fraction_range),
-	  (gst_value_subtract_fraction_range_fraction),
-	  (gst_value_subtract_fraction_range_fraction_range),
-	  (gst_value_collect_fraction), (gst_value_fraction_multiply),
-	  (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
-	  (gst_value_transform_string_fraction), (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  Implement fraction ranges and extend GstFraction to support
-	  arithmetic subtraction, as well as deserialization from integer
-	  strings such as "100"
-	  Add a testsuite as for int and double range set operations
-
-2005-11-21 19:58:23 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/: Add glib-compat.h.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsttaglist.h:
-	  * gst/gstcaps.h:
-	  * gst/gststructure.h: Add glib-compat.h.
-
-2005-11-21 19:13:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix for #321595
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_change_state_func):
-	  Fix for #321595
-
-2005-11-21 19:00:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.h: And add a nice define too.
-	  Original commit message from CVS:
-	  * gst/gstsegment.h:
-	  And add a nice define too.
-
-2005-11-21 18:53:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstsegment.*: Make binding friendly.
-	  Original commit message from CVS:
-	  * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
-	  (gst_segment_new), (gst_segment_free), (gst_segment_init),
-	  (gst_segment_set_duration), (gst_segment_set_last_stop),
-	  (gst_segment_set_seek), (gst_segment_set_newsegment),
-	  (gst_segment_to_stream_time), (gst_segment_to_running_time),
-	  (gst_segment_clip):
-	  * gst/gstsegment.h:
-	  Make binding friendly.
-
-2005-11-21 18:41:39 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/: Sprinkle NULL_TERMINATED to taste.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsttagsetter.h:
-	  * gst/gsttaglist.h:
-	  * gst/gststructure.h:
-	  * gst/gstcaps.h:
-	  * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste.
-
-2005-11-21 18:27:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gsterror.*: New error category.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsterror.c (_gst_core_errors_init):
-	  * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
-	  category.
-
-2005-11-21 18:16:00 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/Makefile.am (gst_headers): Add glib-compat.h. noinst the -private.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/Makefile.am (gst_headers): Add glib-compat.h.
-	  (noinst_HEADERS): noinst the -private.
-
-2005-11-21 18:10:13 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/: Remove unimplemented declarations for which we can see no sensible use.
-	  Original commit message from CVS:
-	  * gst/gstplugin.h:
-	  * gst/gstregistry.h:
-	  Remove unimplemented declarations for which we can see no sensible
-	  use.
-
-2005-11-21 18:03:22 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gst.h: Include glib-compat.h.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gst.h: Include glib-compat.h.
-	  * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
-	  * gst/glib-compat.c: Include the public and the private header.
-	  * gst/glib-compat-private.h: Copied here from glib-compat.h.
-	  * gst/gstvalue.c:
-	  * gst/gstpad.c:
-	  * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
-
-2005-11-21 17:21:15 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstevent.c (create_custom_events): Check that
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstevent.c (create_custom_events): Check that
-	  FLUSH_STOP is serialized.
-	  * check/elements/identity.c (event_func):
-	  * check/elements/fakesrc.c (event_func): No stream lock, the core
-	  takes it.
-	  * gst/base/gstbasetransform.c (gst_base_transform_event): No more
-	  stream lock taking, yay.
-	  * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
-	  ensure that core takes the stream lock.
-	  * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
-	  lock name change.
-	  * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
-	  the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
-	  it already. For the flush start we do take it though so we get the
-	  right preroll state change messages.
-	  * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
-	  the stream lock here, the core does it for us.
-	  * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
-	  GST_STREAM_GET_LOCK.
-	  (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
-	  (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
-	  (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
-	  (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
-	  (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
-	  (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
-	  * gst/gstpad.c: Update for stream lock name change.
-	  * gst/base/gstbasesink.c: Update for preroll lock name change.
-
-2005-11-21 17:12:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Convert Clock flags to object flags.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
-	  (gst_clock_get_master):
-	  * gst/gstclock.h:
-	  * gst/gstsystemclock.c: (gst_system_clock_init):
-	  Convert Clock flags to object flags.
-	  Added methods to manage master/slave clocks.
-
-2005-11-21 17:09:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  More segment updates, replace code in plugins with segment helper functions.
-	  Original commit message from CVS:
-	  * check/gst/gstsegment.c: (GST_START_TEST):
-	  * docs/design/part-TODO.txt:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_event), (gst_base_sink_do_sync),
-	  (gst_base_sink_activate_pull), (gst_base_sink_get_position),
-	  (gst_base_sink_query), (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
-	  (gst_base_src_default_newsegment),
-	  (gst_base_src_configure_segment), (gst_base_src_do_seek),
-	  (gst_base_src_get_range), (gst_base_src_loop),
-	  (gst_base_src_change_state):
-	  * gst/base/gstbasesrc.h:
-	  * gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf),
-	  (gst_base_transform_event), (gst_base_transform_change_state):
-	  * gst/base/gstbasetransform.h:
-	  * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
-	  (gst_collect_pads_event):
-	  * gst/base/gstcollectpads.h:
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_init),
-	  (gst_fake_src_create):
-	  * gst/elements/gstfakesrc.h:
-	  * gst/elements/gstidentity.c: (gst_identity_transform_ip):
-	  * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
-	  (gst_segment_set_last_stop), (gst_segment_set_seek),
-	  (gst_segment_set_newsegment), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time), (gst_segment_clip):
-	  * gst/gstsegment.h:
-	  More segment updates, replace code in plugins with segment
-	  helper functions.
-
-2005-11-21 16:46:07 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/elements/gstfdsrc.c: Don't ignore sscanf results
-	  Original commit message from CVS:
-	  * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
-	  Don't ignore sscanf results
-
-2005-11-21 16:41:16 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.h (GST_IS_PAD_FAST): Removed.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
-
-2005-11-21 16:34:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * *.h:
-	  * *.c: Ran scripts/update-macros. Oh yes.
-	  * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
-	  (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
-	  GST_GET_LOCK, etc.
-	  * scripts/update-macros: New script. Run it on your files to
-	  change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
-	  well.
-
-2005-11-21 15:47:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs fixes, add new api to the docs
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types:
-	  * gst/gstinfo.h:
-	  more docs fixes, add new api to the docs
-
-2005-11-21 15:01:48 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this state_broadcast call.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
-	  state_broadcast call.
-
-2005-11-21 14:53:34 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
-
-2005-11-21 14:52:56 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstvalue.c: Fix wrong function calls for arrays.
-	  Original commit message from CVS:
-	  2005-11-21  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
-	  function calls for arrays.
-
-2005-11-21 14:50:22 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/random/ensonic/media-device-daemon.txt: wild idea, can this be done?
-	  Original commit message from CVS:
-	  * docs/random/ensonic/media-device-daemon.txt:
-	  wild idea, can this be done?
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsterror.h:
-	  * gst/gstfilter.c:
-	  * gst/gstfilter.h:
-	  * gst/gstplugin.h:
-	  * gst/gstpluginfeature.c:
-	  * gst/gsttrace.c:
-	  * gst/gstvalue.c:
-	  * gst/gstvalue.h:
-	  doc fixes and additions
-
-2005-11-21 14:41:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) (...
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
-	  (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
-	  (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
-	  (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
-	  private to the basesrc implementation.
-
-2005-11-21 14:34:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on behalf of event function if necessary. It should no ...
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
-	  behalf of event function if necessary. It should no longer be
-	  necessary to take the stream lock in pad's event functions. Fixes
-	  #320299.
-
-2005-11-21 14:28:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Rename gst_caps_structure_fixate_* to gst_structure_fixate_* (#322027)
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
-	  (gst_structure_fixate_field_nearest_double),
-	  (gst_structure_fixate_field_boolean):
-	  * gst/gststructure.h:
-	  * win32/common/libgstreamer.def:
-	  * win32/gstreamer.def:
-	  Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
-	  (#322027)
-
-2005-11-21 14:25:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/elements/gstfdsrc.*: Port fd:// URI handler from 0.8 to fdsrc
-	  Original commit message from CVS:
-	  * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
-	  (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
-	  (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
-	  (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
-	  (gst_fdsrc_uri_handler_init):
-	  * gst/elements/gstfdsrc.h:
-	  Port fd:// URI handler from 0.8 to fdsrc
-
-2005-11-21 13:26:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  More segment updates and more checks.
-	  Original commit message from CVS:
-	  * check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite),
-	  (main):
-	  * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
-	  (gst_segment_set_last_stop), (gst_segment_set_seek),
-	  (gst_segment_set_newsegment), (gst_segment_to_stream_time),
-	  (gst_segment_to_running_time), (gst_segment_clip):
-	  * gst/gstsegment.h:
-	  More segment updates and more checks.
-
-2005-11-21 13:26:40 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.*: Drop leading '%' from GST_FOURCC_FORMAT, thus making it consistent with our other format defines (#32...
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_transform_fourcc_string),
-	  (gst_value_serialize_fourcc):
-	  * gst/gstvalue.h:
-	  Drop leading '%' from GST_FOURCC_FORMAT, thus making it
-	  consistent with our other format defines (#320324).
-
-2005-11-21 13:12:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Revert previous commit. Value lists are by definition not fixed, as they are a list of possible values.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_is_fixed):
-	  Revert previous commit. Value lists are by definition
-	  not fixed, as they are a list of possible values.
-
-2005-11-21 13:03:36 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back during the stable series if we need it. Fixes #319178.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
-	  during the stable series if we need it. Fixes #319178.
-	  * gst/gstevent.c (gst_event_new_filler): Removed.
-	  * check/gst/gstevent.c: Update comment about filler events.
-
-2005-11-21 12:42:41 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: Should handle both value arrays and value lists.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_is_fixed):
-	  Should handle both value arrays and value lists.
-
-2005-11-21 12:27:01 +0000  Alessandro Dessina <alessandro@nnva.org>
-
-	  gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array functions to access arrays. Fixes #321962.
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  patch by: Alessandro Dessina <alessandro nnva org>
-	  * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
-	  functions to access arrays. Fixes #321962.
-
-2005-11-21 11:26:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/gst/gstreamer.types: gst_collectpads_get_type => gst_collect_pads_get_type.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types:
-	  gst_collectpads_get_type => gst_collect_pads_get_type.
-	  * gst/base/gstbasetransform.c:
-	  Remove unused SIGNAL_HANDOFF enum.
-
-2005-11-21 11:06:42 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstevent.h (GstEventTypeFlags): New data type, the flags of the event type (upstream, downstream, serialized). Re...
-	  Original commit message from CVS:
-	  2005-11-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
-	  the event type (upstream, downstream, serialized). Renamed
-	  GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
-	  (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
-	  CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
-	  * gst/gstevent.c: Update for new CUSTOM event names.
-	  * check/gst/gstevent.c: Update check for new CUSTOM event names.
-	  * gst/gstevent.h:
-	  * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
-	  bug #319392.
-
-2005-11-21 11:00:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document unimplemented functions as unimplemented (#320766).
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * win32/common/libgstbase.def:
-	  * win32/libgstbase.def:
-	  * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
-	  (gst_collect_pads_class_init), (gst_collect_pads_init),
-	  (gst_collect_pads_finalize), (gst_collect_pads_new),
-	  (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
-	  (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
-	  (gst_collect_pads_collect), (gst_collect_pads_collect_range),
-	  (gst_collect_pads_start), (gst_collect_pads_stop),
-	  (gst_collect_pads_peek), (gst_collect_pads_pop),
-	  (gst_collect_pads_available), (gst_collect_pads_read),
-	  (gst_collect_pads_flush), (gst_collect_pads_event),
-	  (gst_collect_pads_chain):
-	  * gst/base/gstcollectpads.h:
-	  Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
-	  unimplemented functions as unimplemented (#320766).
-
-2005-11-21 10:41:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstmessage.c: Improve docs for DURATION message (usage of duration parameter) (#320113)
-	  Original commit message from CVS:
-	  * gst/gstmessage.c:
-	  Improve docs for DURATION message (usage of duration parameter)
-	  (#320113)
-
-2005-11-21 10:04:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/moving-plugins:
-	  update
-	  Original commit message from CVS:
-	  update
-
-2005-11-21 09:44:46 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  add latest .pc file to spec
-	  Original commit message from CVS:
-	  add latest .pc file to spec
-
-2005-11-20 19:11:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Added segment helper structure and methods. Not fully implemented yet.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
-	  (main):
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
-	  (gst_segment_set_seek), (gst_segment_set_newsegment),
-	  (gst_segment_to_stream_time), (gst_segment_to_running_time),
-	  (gst_segment_clip):
-	  * gst/gstsegment.h:
-	  Added segment helper structure and methods. Not fully implemented
-	  yet.
-	  Added segment check.
-
-2005-11-20 17:12:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstvalue.c: Add a deserialisation test for fractions
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Add a deserialisation test for fractions
-	  * examples/metadata/read-metadata.c: (message_loop),
-	  (make_pipeline), (main):
-	  Fix up metadata reading sample.
-	  * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
-	  Debug format fix
-	  * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
-	  Don't try and fixate empty caps
-	  * gst/gst_private.h:
-	  Wrap in G_BEGIN_DECLS/G_END_DECLS
-	  * gst/gstvalue.c: (gst_value_collect_fraction),
-	  (gst_value_set_fraction), (gst_value_get_fraction_denominator),
-	  (gst_value_transform_string_fraction),
-	  (gst_value_compare_fraction):
-	  Add some extra guards to ensure that we don't end up
-	  with an invalid denominator of 0 in a gstfraction and
-	  that fractions always get reduced.
-
-2005-11-20 14:56:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Something went wrong with changelog in last commit
-	  Original commit message from CVS:
-	  Something went wrong with changelog in last commit
-
-2005-11-20 14:50:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Doc fixes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbuffer.h:
-	  * gst/gstelement.c:
-	  * gst/gstformat.c:
-	  * gst/gstformat.h:
-	  * gst/gstindex.h:
-	  * gst/gstquery.c:
-	  * gst/gstquery.h:
-	  * gst/gstvalue.c:
-	  Doc fixes.
-
-2005-11-20 13:28:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Make a proper enum of the flag.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * gst/gstcaps.h:
-	  Make a proper enum of the flag.
-
-2005-11-19 18:57:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Add type to quark and type to string conversions.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
-	  (gst_format_to_quark), (gst_format_register):
-	  * gst/gstformat.h:
-	  * gst/gstquery.c: (_gst_query_initialize),
-	  (gst_query_type_get_name), (gst_query_type_to_quark),
-	  (gst_query_type_register):
-	  * gst/gstquery.h:
-	  Add type to quark and type to string conversions.
-
-2005-11-19 18:32:01 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes #320097.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
-	  #320097.
-
-2005-11-19 18:28:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Make message handling overridable.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
-	  (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
-	  (gst_bin_handle_message_func):
-	  * gst/gstbin.h:
-	  Make message handling overridable.
-
-2005-11-19 18:26:35 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
-
-2005-11-19 18:17:29 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstclock.*: Change resolution to be a GstClockTime.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstclock.h:
-	  * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
-	  be a GstClockTime.
-	  (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
-	  is a GstClockTime. Fixes #321710.
-
-2005-11-19 18:06:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstclock.h (GstClock): Remove offset property. Add internal_calibration and external_calibration. Fix padding. Pa...
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstclock.h (GstClock): Remove offset property. Add
-	  internal_calibration and external_calibration. Fix padding. Pad
-	  also by GstClockTime so we don't run into problems.
-	  * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
-	  (gst_clock_get_rate_offset): Remove.
-	  (gst_clock_set_time_adjust): Remove. Fixes #321712.
-
-2005-11-19 17:50:52 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstutils.h: gst/gstutils.c (g_static_rec_cond_wait)
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.h:
-	  * gst/gstutils.c (g_static_rec_cond_wait)
-	  (g_static_rec_cond_timed_wait): Removed, no longer needed.
-	  * gst/gstbin.c: Remove terrible continue_state prototype.
-	  * gst/gstelement.h (gst_element_continue_state): Make public.
-	  * gst/gstelement.h:
-	  * gst/gstelement.c (gst_element_commit_state): Removed, replaced
-	  by continue_state. Fixes #319389.
-
-2005-11-19 17:28:58 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
-	  Really fixes #168438. However I don't see anywhere where the
-	  filter function is called... stupid GStreamer...
-
-2005-11-19 17:26:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstindex.h (GstIndex): Add field for user_data_destroy. We don't have a dispose function, so it won't get called ...
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
-	  don't have a dispose function, so it won't get called when the
-	  object is unreffed, but oh well!
-	  * gst/gstindex.c (gst_index_set_filter_full): New API function,
-	  allows a destroy function to be set so user_data can be freed.
-	  Fixes #168438.
-	  (gst_index_set_filter): Call gst_index_set_filter_full.
-
-2005-11-19 17:08:23 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstvalue.c (test_string): Add test for bug #165650.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstvalue.c (test_string): Add test for bug #165650.
-	  * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
-	  string should produce an error, given the lack of a way to
-	  represent NULL strings. Fixes #165650.
-
-2005-11-19 16:46:30 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstvalue.h: gst/gstvalue.c (gst_value_array_append_value) (gst_value_array_prepend_value, gst_value_array_get_size)
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstvalue.h:
-	  * gst/gstvalue.c (gst_value_array_append_value)
-	  (gst_value_array_prepend_value, gst_value_array_get_size)
-	  (gst_value_array_get_value): New API, copied from
-	  gst_value_list_*, only operates on arrays.
-	  (gst_value_list_append_value, gst_value_list_prepend_value)
-	  (gst_value_list_concat, gst_value_list_get_size)
-	  (gst_value_list_get_value): Only operate on lists. Fixes #156633.
-	  * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
-	  init_list, because it works on both.
-	  (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
-	  (gst_value_copy_list_or_array): Renamed from copy_list.
-	  (gst_value_free_list_or_array): Renamed from free_list.
-	  (gst_value_collect_list_or_array): Renamed from collect_list.
-	  (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
-	  (gst_value_list_or_array_peek_pointer): Renamed from
-	  list_peek_pointer.
-	  (_gst_value_array_value_table, _gst_value_list_value_table):
-	  Update value table functions.
-	  (gst_value_compare_list_or_array): Renamed from compare_list.
-
-2005-11-19 16:05:11 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gsttaglist.h: Whoops, foreach function returns void. Also fix some constness.
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gsttaglist.h: Whoops, foreach function returns void. Also fix
-	  some constness.
-
-2005-11-19 15:51:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gsttaglist.*: Operates on a const
-	  Original commit message from CVS:
-	  2005-11-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
-	  GstTagList*. Fixes #143472.
-	  * gst/gststructure.h: Clarify what the foreach/map functions can
-	  or can't do to their arguments.
-
-2005-11-18 19:21:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstclock.c: Doc and API fixes.
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_set_calibration),
-	  (gst_clock_get_calibration):
-	  Doc and API fixes.
-	  Callibration can be set with internal time equal to current
-	  internal time too.
-
-2005-11-18 18:55:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gsterror.*: document
-	  Original commit message from CVS:
-	  * gst/gsterror.c:
-	  * gst/gsterror.h:
-	  document
-
-2005-11-18 18:38:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/moving-plugins:
-	  document on requirements for moving plugins to good
-	  Original commit message from CVS:
-	  document on requirements for moving plugins to good
-
-2005-11-18 16:24:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Add net pkgconfig files.
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * configure.ac:
-	  * pkgconfig/gstreamer-net.pc.in:
-	  * pkgconfig/gstreamer-net-uninstalled.pc.in:
-	  * pkgconfig/Makefile.am: Add net pkgconfig files.
-
-2005-11-18 16:04:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: docs fixes
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  * gst/gstghostpad.c:
-	  * gst/gsttrace.c:
-	  * gst/gstvalue.c:
-	  * gst/gstvalue.h:
-	  docs fixes
-
-2005-11-18 15:52:24 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnetclientclock.c: Turn off debugging.
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnetclientclock.c: Turn off debugging.
-	  * check/net/gstnetclientclock.c (test_functioning): Assert that the
-	  times connverge somewhat. Can't make a real test.
-
-2005-11-18 15:30:18 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnetclientclock.c (do_linear_regression): Use all integer arithmetic. Return the minimum of the domain, whi...
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnetclientclock.c (do_linear_regression): Use all
-	  integer arithmetic. Return the minimum of the domain, which can be
-	  set as "internal" for gst_clock_set_calibration.
-	  (gst_net_client_clock_observe_times): Call _set_calibration.
-	  (gst_net_client_clock_new): Call _set_calibration instead of
-	  rate_offset.
-	  * check/net/gstnetclientclock.c (test_functioning): Use the right
-	  adjustment api.
-	  * gst/gstclock.h:
-	  * gst/gstclock.c (gst_clock_get_calibration)
-	  (gst_clock_set_calibration): New functions, obsolete the ones I
-	  added yesterday. Doh. Precision issues mean we have to extrapolate
-	  from a point in the more recent past than 1970.
-	  (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
-	  obsolete.
-	  (gst_clock_adjust_unlocked): Use the right calibration data.
-
-2005-11-18 14:49:28 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/base/gstbasesink.c: Also reset the ->current_* values in READY->PAUSED
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_change_state):
-	  Also reset the ->current_* values in READY->PAUSED
-
-2005-11-18 14:13:28 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnetclientclock.c (gst_net_client_clock_thread): Whoops, check the right fd. Also add some debugging.
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
-	  Whoops, check the right fd. Also add some debugging.
-	  (gst_net_client_clock_observe_times): Adjust for int64 offset.
-	  (do_linear_regression): Add a crapload of debugging. Subtract off
-	  the minimum values from the input series to discard unneeded bits.
-	  Use only int arithmetic. There is still double arithmetic when
-	  calculating the intercept that needs fixing. Return boolean to
-	  indicate success; FALSE would mean the domain or range is too
-	  great. Still needs fixes.
-
-2005-11-18 13:18:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: For the current position in stream time, we need to subtract accumulated time.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  For the current position in stream time, we need to subtract
-	  accumulated time.
-	  * gst/gstsystemclock.c: (gst_system_clock_async_thread):
-	  Release lock before calling the callback function of async
-	  entries.
-
-2005-11-18 11:57:30 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnetclientclock.c (gst_net_client_clock_class_init): Port goes all the way to MAXUINT16.
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
-	  Port goes all the way to MAXUINT16.
-	  * gst/net/gstnettimeprovider.c: Make the port range the same as
-	  for the kernel: 0 assigns, otherwise ports are less than
-	  MAXUINT16.
-	  * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
-	  port change.
-	  * check/net/gstnetclientclock.c (test_functioning): Add the start
-	  of another test.
-
-2005-11-18 11:03:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.*: Removing a clock provider from a bin, triggers a clock lost message so that a new clock will be selected.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
-	  (gst_bin_remove_func), (bin_bus_handler):
-	  * gst/gstbin.h:
-	  Removing a clock provider from a bin, triggers a clock lost message
-	  so that a new clock will be selected.
-	  Adding a clock to a bin triggers a clock provider message.
-	  Make sure we reselect a clock when we received a clock lost message.
-	  Keep a reference to the element that provided the clock.
-
-2005-11-18 10:54:55 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust the clock initially so it produces values around the b...
-	  Original commit message from CVS:
-	  2005-11-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
-	  the clock initially so it produces values around the base time.
-	  (gst_net_client_clock_class_init): Typo fix.
-	  (gst_net_client_clock_thread): Add note on when the socket gets
-	  closed.
-
-2005-11-17 18:50:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/net/gstnetclientclock.c: Free remote and local time arrays.
-	  Original commit message from CVS:
-	  * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
-	  Free remote and local time arrays.
-
-2005-11-17 18:18:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/net/gstnetclientclock.c: Fix compilation, uninitialized vars and a forgotten continue.
-	  Original commit message from CVS:
-	  * gst/net/gstnetclientclock.c: (do_linear_regression),
-	  (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
-	  Fix compilation, uninitialized vars and a forgotten continue.
-
-2005-11-17 17:55:17 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/: Add a most minimal test for the net client clock. More to come later.
-	  Original commit message from CVS:
-	  2005-11-17  Andy Wingo  <wingo@pobox.com>
-	  * check/Makefile.am (check_PROGRAMS):
-	  * check/net/gstnetclientclock.c: Add a most minimal test for the
-	  net client clock. More to come later.
-	  * gst/net/gstnet.h:
-	  * gst/net/Makefile.am: Add netclientclock.
-	  * gst/net/gstnetclientclock.h:
-	  * gst/net/gstnetclientclock.c: New files, implement an untested
-	  GstClock that takes its time from a network time provider.
-	  Implements the algorithm in network-clock.scm.
-	  * tests/network-clock.scm (*window-size*): Rename from
-	  *queue-length*.
-	  * tests/network-clock.scm (network-time):
-	  * tests/network-clock-utils.scm (q-push): Update callers.
-
-2005-11-17 16:02:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: And unref the child too..
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_provide_clock_func),
-	  (gst_bin_sort_iterator_new):
-	  And unref the child too..
-
-2005-11-17 14:51:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Refactor the sort iterator so it can be used while holding the
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
-	  (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
-	  Refactor the sort iterator so it can be used while holding the
-	  LOCK too.
-	  Make clock selection select a clock closest to the source.
-
-2005-11-17 12:36:30 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gstclock.*: Anonymous structs are a gcc (and some other compilers) extension, so don't use them. Since this is on...
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
-	  (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
-	  * gst/gstclock.h:
-	  Anonymous structs are a gcc (and some other compilers) extension, so
-	  don't use them. Since this is only for ABI-compatibility, and our
-	  API/ABI freeze is over in a few days, this whole thing will only
-	  last a few days, so don't bother trying to think up a meaningful
-	  name for the struct.
-
-2005-11-17 11:51:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstclock.h (GstClock): Add rate and offset properties, preserving ABI stability. Add rate/offset accessors. Will ...
-	  Original commit message from CVS:
-	  2005-11-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstclock.h (GstClock): Add rate and offset properties,
-	  preserving ABI stability. Add rate/offset accessors. Will file bug
-	  for the freeze break.
-	  * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
-	  and offset, trying to keep precision and avoiding
-	  underflow/overflow.
-	  (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
-	  functions. Make gst_clock_set_time_adjust obsolete.
-	  (gst_clock_set_time_adjust): Note that this function is obsolete.
-	  Will file bug soon.
-	  * gst/base/gstbasetransform.h: Make the ABI-stability hack
-	  greppable by using GST_PADDING-1+1.
-
-2005-11-17 11:25:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/random/NOTES-0.1.1:
-	* docs/random/NOTES-0.2.0:
-	* docs/random/TODO-post-0.1.0:
-	* docs/random/arch:
-	* docs/random/coroutines:
-	* docs/random/design:
-	* docs/random/factoryinfo:
-	* docs/random/gboolean:
-	* docs/random/padarch:
-	* docs/random/sequence:
-	* docs/random/state-transitions:
-	* docs/random/states:
-	* docs/random/states.new:
-	* docs/random/states.old:
-	* docs/random/walkthrough:
-	  remove completely outdated random docs
-	  Original commit message from CVS:
-	  remove completely outdated random docs
-
-2005-11-17 09:37:55 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstmessage.c: Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstmessage.c: (gst_message_parse_clock_lost):
-	  Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
-	  * gst/gstpadtemplate.h:
-	  * gst/gstpluginfeature.h:
-	  Don't use c++ style comments in headers (#321638).
-
-2005-11-16 18:37:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free buffer.
-	  Original commit message from CVS:
-	  2005-11-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
-	  buffer.
-
-2005-11-16 18:16:51 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/net/gstnettimeprovider.c: Check to see that the time provider actually provides times. Works, yo!
-	  Original commit message from CVS:
-	  2005-11-16  Andy Wingo  <wingo@pobox.com>
-	  * check/net/gstnettimeprovider.c: Check to see that the time
-	  provider actually provides times. Works, yo!
-
-2005-11-16 18:09:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/Makefile.am: Enable more tests.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  Enable more tests.
-	  * check/elements/fakesrc.c: (GST_START_TEST):
-	  Set element to NULL before disposing it.
-
-2005-11-16 17:53:54 +0000  Andy Wingo <wingo@pobox.com>
-
-	* gst/net/Makefile.am:
-	* libs/gst/net/Makefile.am:
-	  fix
-	  Original commit message from CVS:
-	  fix
-
-2005-11-16 17:52:04 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/: Use the timepacket stuff in the provider, include it from gstnet.h, and add it to the build.
-	  Original commit message from CVS:
-	  2005-11-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/Makefile.am:
-	  * gst/net/gstnet.h:
-	  * gst/net/gstnettimeprovider.c:
-	  * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
-	  provider, include it from gstnet.h, and add it to the build.
-	  * gst/net/gstnettimepacket.h:
-	  * gst/net/gstnettimepacket.c: New files, abstracts out the packet
-	  sending and receiving.
-
-2005-11-16 17:35:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/Makefile.am: Enable valgrind check.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  Enable valgrind check.
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
-	  (gst_fake_src_alloc_buffer):
-	  Fix memleak.
-
-2005-11-16 17:22:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/net/gstnettimeprovider.c: Call parent finalize too.
-	  Original commit message from CVS:
-	  * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
-	  Call parent finalize too.
-
-2005-11-16 17:18:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/Makefile.am: Enable valgrind check that should work fine now.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  Enable valgrind check that should work fine now.
-	  * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
-	  * gst/gstqueue.c: (gst_queue_init):
-	  Fix memleaks in pad allocation.
-
-2005-11-16 16:49:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/net/: New part of core to hold network elements and objects. Put in core because it exposes API that applications...
-	  Original commit message from CVS:
-	  2005-11-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/net/Makefile.am:
-	  * gst/net/gstnet.h: New part of core to hold network elements and
-	  objects. Put in core because it exposes API that applications want
-	  to use. The library is named libgstnet-tempname right now because
-	  of the existing libgstnet in gst-plugins-base. Solution is
-	  probably to rename the one in plugins-base; will file a bug for
-	  the freeze break.
-	  * gst/net/gstnettimeprovider.c:
-	  * gst/net/gstnettimeprovider.h: New object to export a GstClock's
-	  get_time call over the network.
-	  * configure.ac:
-	  * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
-	  * check/Makefile.am:
-	  * check/net/gstnettimeprovider.c: A most minimal test suite. Will
-	  get additions shortly.
-
-2005-11-16 16:09:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstpad.*: add gst_pad_new_from_static_template functions
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_new_from_static_template):
-	  * gst/gstpad.h:
-	  add gst_pad_new_from_static_template functions
-	  * gst/check/gstcheck.c: (gst_check_setup_src_pad),
-	  (gst_check_setup_sink_pad):
-	  * gst/elements/gsttee.c: (gst_tee_init):
-	  and use them
-
-2005-11-16 16:06:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Removed warning, it's not realy an error either.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_pause_task):
-	  Removed warning, it's not realy an error either.
-
-2005-11-16 14:27:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Check if the caps are NULL, this can happen if the element is shutting down and the pad ...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf),
-	  (gst_base_transform_event):
-	  Check if the caps are NULL, this can happen if the element
-	  is shutting down and the pad caps are set to NULL.
-
-2005-11-16 12:57:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/elements/gsttee.c:
-	* plugins/elements/gsttee.c:
-	  fix pad tempalte leak in tee
-	  Original commit message from CVS:
-	  fix pad tempalte leak in tee
-
-2005-11-16 12:40:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: use gst_object_ref when setting the pad template; this will trigger the pad template leaks on GLib 2.6 and the ...
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (g_value_dup_gst_object):
-	  * gst/glib-compat.h:
-	  * gst/gstpad.c: (gst_pad_set_property):
-	  use gst_object_ref when setting the pad template; this will
-	  trigger the pad template leaks on GLib 2.6 and the slaves
-
-2005-11-16 12:25:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: remove functions copied from GLib 2.6
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (gst_flags_get_first_value):
-	  * gst/glib-compat.h:
-	  * gst/gstregistryxml.c:
-	  remove functions copied from GLib 2.6
-
-2005-11-16 11:29:57 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/Makefile.am: Don't link against VALGRIND_LIBS. That was always the wrong thing to do, but only breaks with newer ...
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  Don't link against VALGRIND_LIBS. That was always the wrong thing to
-	  do, but only breaks with newer valgrind versions. We're not a
-	  valgrind tool, we have no link-time dependencies on libcoregrind.
-
-2005-11-16 11:06:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/gstbasesrc.c: some debug changes
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
-	  some debug changes
-	  * gst/gstmessage.h:
-	  typo fixes
-
-2005-11-15 23:53:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/base/gstbasesrc.c:
-	* gst/elements/gsttypefindelement.c:
-	* gst/gstqueue.c:
-	* gst/gstregistryxml.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	  Revert all these unrefs, they don't even pass make check !
-	  Original commit message from CVS:
-	  Revert all these unrefs, they don't even pass make check !
-
-2005-11-15 19:48:40 +0000  Johan Dahlin <johan@gnome.org>
-
-	* gst/base/gstbasesrc.c:
-	* gst/elements/gsttypefindelement.c:
-	* gst/gstqueue.c:
-	* gst/gstregistryxml.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	  And gst_object_unref here too
-	  Original commit message from CVS:
-	  And gst_object_unref here too
-
-2005-11-15 19:31:05 +0000  Johan Dahlin <johan@gnome.org>
-
-	  gst/: Free pad templates, fixes a couple of leaks.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_init):
-	  * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
-	  * gst/gstqueue.c: (gst_queue_init):
-	  Free pad templates, fixes a couple of leaks.
-
-2005-11-15 19:24:46 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.c: GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstpad.c: (gst_pad_get_property):
-	  GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
-	  GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
-	  (#321452)
-
-2005-11-15 18:34:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.c: Small doc update.
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  Small doc update.
-
-2005-11-15 17:57:51 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.c (gst_element_set_base_time): Add debugging.
-	  Original commit message from CVS:
-	  2005-11-15  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.c (gst_element_set_base_time): Add debugging.
-	  * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
-	  using GST_CLOCK_TIME_NONE to disable base time management.
-	  (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
-	  time if it was NONE before.
-	  (gst_pipeline_change_state): Only munge the base time if
-	  stream_time != GST_CLOCK_TIME_NONE.
-	  * check/gst/gstpipeline.c (test_base_time): Punt around the
-	  problem of the probe not being called, because that's not the
-	  issue I'm looking at. Add a check that setting stream_time to NONE
-	  disables base time management.
-
-2005-11-15 17:18:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: segment_stop == -1 at startup.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_change_state):
-	  segment_stop == -1 at startup.
-	  * gst/base/gstbasetransform.c: (gst_base_transform_event),
-	  (gst_base_transform_change_state):
-	  Init segment values at start.
-
-2005-11-15 16:52:46 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstpipeline.c (test_base_time): Punt around the problem of the probe not being called, because that's not t...
-	  Original commit message from CVS:
-	  2005-11-15  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstpipeline.c (test_base_time): Punt around the
-	  problem of the probe not being called, because that's not the
-	  issue I'm looking at...
-
-2005-11-15 16:47:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: 0 segment values are 0 in any format.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  0 segment values are 0 in any format.
-	  * gst/base/gstbasetransform.c: (gst_base_transform_event):
-	  * gst/base/gstbasetransform.h:
-	  Parse newsegment correctly in basetransform
-	  * gst/elements/gstidentity.c: (gst_identity_transform_ip):
-	  Sync to clock using updated segment values.
-
-2005-11-15 16:27:04 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstpipeline.c (test_base_time): Add check that the base time and stream time are reset correctly.
-	  Original commit message from CVS:
-	  2005-11-15  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstpipeline.c (test_base_time): Add check that the
-	  base time and stream time are reset correctly.
-
-2005-11-15 15:44:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Some more TODO items.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Some more TODO items.
-
-2005-11-15 12:35:45 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an error if the user selected "no clock" as the clocking me...
-	  Original commit message from CVS:
-	  2005-11-15  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
-	  error if the user selected "no clock" as the clocking method.
-
-2005-11-15 12:29:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstpipeline.c (test_base_time): New test for buffer timestamps with live capture.
-	  Original commit message from CVS:
-	  2005-11-15  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstpipeline.c (test_base_time): New test for buffer
-	  timestamps with live capture.
-	  * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
-	  is 0 but we are a live source, timestamp the buffers using the
-	  element's clock.
-
-2005-11-14 15:15:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more section docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsterror.c:
-	  * gst/gstghostpad.c:
-	  * gst/gstobject.h:
-	  * gst/gstxml.c:
-	  more section docs
-
-2005-11-14 14:45:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  common/gst.supp: add suppressions from Wim's Debian machine
-	  Original commit message from CVS:
-	  * common/gst.supp:
-	  add suppressions from Wim's Debian machine
-
-2005-11-14 14:36:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  common/gst.supp: add suppressions from Andy's AMD64 Ubuntu machine
-	  Original commit message from CVS:
-	  * common/gst.supp:
-	  add suppressions from Andy's AMD64 Ubuntu machine
-
-2005-11-14 12:43:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_set_active): Change docs; parent's
-	  Original commit message from CVS:
-	  2005-11-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
-	  STATE_LOCK not necessary. Fixes #311489.
-
-2005-11-14 12:17:46 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes #305291.
-	  Original commit message from CVS:
-	  2005-11-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
-	  #305291.
-
-2005-11-14 11:58:44 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstindex.c (gst_index_add_object): Note in the docs that this function is not implemented.
-	  Original commit message from CVS:
-	  2005-11-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstindex.c (gst_index_add_object): Note in the docs that
-	  this function is not implemented.
-
-2005-11-14 10:49:35 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/base/gstbasetransform.c: Ref the source pad caps while we need them.
-	  Original commit message from CVS:
-	  2005-11-14  Julien MOUTTE  <julien@moutte.net>
-	  * gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf):
-	  Ref the source pad caps while we need them.
-	  Fixes (#321386)
-
-2005-11-12 10:23:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/pipelines/.gitignore:
-	* tests/check/pipelines/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-11-12 10:04:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  update win32 files for HEAD
-	  Original commit message from CVS:
-	  update win32 files for HEAD
-
-2005-11-12 10:03:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gsttask.c:
-	  debug task join
-	  Original commit message from CVS:
-	  debug task join
-
-2005-11-12 10:00:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/appendix-quotes.xml:
-	  found another quote
-	  Original commit message from CVS:
-	  found another quote
-
-2005-11-11 20:12:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Added some docs for GstCollectData.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Added some docs for GstCollectData.
-	  * gst/base/gstadapter.c:
-	  Some small code example fix.
-	  * gst/base/gstcollectpads.c:
-	  * gst/base/gstcollectpads.h:
-	  Document some more.
-
-2005-11-11 19:26:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-=== release 0.9.5 ===
-
-2005-11-11 19:24:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* win32/common/config.h:
-	  releasing 0.9.5
-	  Original commit message from CVS:
-	  releasing 0.9.5
-
-2005-11-11 18:25:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Copy more flags.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (_gst_buffer_copy):
-	  Copy more flags.
-	  * gst/gstcaps.c: (gst_caps_is_equal):
-	  Fix some docs.
-	  Make _is_equal fast in the trivial cases.
-	  * gst/gstminiobject.c:
-	  * gst/gstminiobject.h:
-	  More docs. Spifify .h file.
-	  * gst/gstutils.c:
-	  Small doc update.
-
-2005-11-11 17:16:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  Update .po files
-	  Original commit message from CVS:
-	  Update .po files
-
-2005-11-11 16:37:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Small cleanups.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c:
-	  (gst_base_transform_prepare_output_buf),
-	  (gst_base_transform_handle_buffer):
-	  Small cleanups.
-	  If we're processing a buffer and need to allocate an output
-	  buffer, we cannot accept a format change. If we did get a
-	  format change, we have to alloc a buffer ourselves of the
-	  right size.
-
-2005-11-11 16:34:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: While checking the flag for reentrancy in the gstcaps function is nice to detect recursive invocations,...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
-	  While checking the flag for reentrancy in the gstcaps function
-	  is nice to detect recursive invocations, it also makes it
-	  impossible to call getcaps from multiple threads, which must be
-	  possible. So, checking for recursive calls has to go.
-
-2005-11-11 15:19:37 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/base/gstbasesink.c: Don't sync on buffers that fall partially outside our current segment. Prevents an assertion ...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
-	  Don't sync on buffers that fall partially outside our current
-	  segment. Prevents an assertion failure/abort playing some files.
-
-2005-11-10 18:15:24 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstbin.c (test_message_state_changed_children): Style fix..
-	  Original commit message from CVS:
-	  2005-11-10  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstbin.c (test_message_state_changed_children): Style
-	  fix..
-	  * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
-	  gst_bus_poll with the signal watch. Ensures that poll and a signal
-	  watch see the same messages.
-	  * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
-	  a poll and a watch at the same time get the same messages.
-
-2005-11-10 17:37:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: Don't call gst_caps_do_simplify - it doesn't respect order of caps and it's not needed.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
-	  * gst/gstcaps.c: (gst_caps_intersect):
-	  Don't call gst_caps_do_simplify - it doesn't respect order of caps
-	  and it's not needed.
-
-2005-11-10 15:07:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Updated todo.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Updated todo.
-
-2005-11-10 14:45:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/: Implement clock sync in base class.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
-	  * gst/base/gstbasesrc.c: (gst_base_src_wait),
-	  (gst_base_src_do_sync), (gst_base_src_get_range):
-	  Implement clock sync in base class.
-
-2005-11-10 12:32:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gststructure.c: Forward-port a 0.8 patch to handle escaped spaces in structure string,          so that gst_parse...
-	  Original commit message from CVS:
-	  patch by: Tim-Philipp Müller <tim at centricular dot net>
-	  * gst/gststructure.c: (gst_structure_parse_field),
-	  (gst_structure_from_string):
-	  Forward-port a 0.8 patch to handle escaped spaces in structure string,          so that gst_parse_launch() can deal with spaces in filtered link
-	  caps (fixes #164479)
-	  * check/gst/capslist.h:
-	  * check/gst/gststructure.c: (GST_START_TEST):
-	  add unit tests for this change
-
-2005-11-10 11:17:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Fix docs, move some STATE macros to private.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.c:
-	  * gst/gstelement.h:
-	  Fix docs, move some STATE macros to private.
-
-2005-11-10 10:17:01 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	  Further improve query docs. Still not happy with this.
-	  Original commit message from CVS:
-	  Further improve query docs. Still not happy with this.
-
-2005-11-10 09:19:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstghostpad.c: Added check for bug #317341
-	  Original commit message from CVS:
-	  * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
-	  Added check for bug #317341
-	  * gst/gstbuffer.c:
-	  * gst/gstbuffer.h:
-	  Some more spiffifying.
-	  * gst/gstghostpad.c: (gst_ghost_pad_do_link):
-	  Call peer linkfunction if we are a source pad. Totally fixes
-	  #317341
-	  * gst/gstpad.c:
-	  Update docs, source pads should call the peer linkfunction
-	  so they can atomically perform the pad link.
-
-2005-11-09 19:32:32 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstquery.c:
-	  Improve/fix documentation for GstQuery.
-	  Original commit message from CVS:
-	  Improve/fix documentation for GstQuery.
-	  This still needs some more work to explain what the queries actually mean.
-
-2005-11-09 18:41:53 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.c:
-	  Slightly polish docs for GstAdapter.
-	  Original commit message from CVS:
-	  Slightly polish docs for GstAdapter.
-
-2005-11-09 18:10:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.*: Uber-spiffy-spiffify some more.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  * gst/gstbuffer.h:
-	  Uber-spiffy-spiffify some more.
-
-2005-11-09 17:55:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Use GST_DEBUG_FUNCPTR() more extensively.
-	  Original commit message from CVS:
-	  * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
-	  * gst/elements/gstfilesink.c: (gst_file_sink_init):
-	  * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
-	  * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
-	  (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
-	  * gst/gstpad.c: (gst_pad_init):
-	  Use GST_DEBUG_FUNCPTR() more extensively.
-
-2005-11-09 17:32:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstobject.*: Documentation fixes.
-	  Original commit message from CVS:
-	  * gst/gstobject.c: (gst_object_class_init):
-	  * gst/gstobject.h:
-	  Documentation fixes.
-
-2005-11-09 17:06:20 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gsttypefindfactory.c: Fix docs.
-	  Original commit message from CVS:
-	  * gst/gsttypefindfactory.c:
-	  Fix docs.
-
-2005-11-09 16:44:40 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/:
-	  Original commit message from CVS:
-	  * gst/base/gsttypefindhelper.c:
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefind.h:
-
-2005-11-09 16:32:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstiterator.c: Fix revision data.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c:
-	  Fix revision data.
-	  * gst/gsttask.c:
-	  * gst/gsttask.h:
-	  Fix docs.
-
-2005-11-09 16:16:41 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Fix docs.
-	  Original commit message from CVS:
-	  * gst/gstevent.h:
-	  * gst/gsturi.h:
-	  Fix docs.
-
-2005-11-09 16:00:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Moved the message async delivery private lock and cond to the private section.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Moved the message async delivery private lock and cond
-	  to the private section.
-	  * gst/gstmessage.c:
-	  * gst/gstmessage.h:
-	  Fixed docs.
-
-2005-11-09 15:34:46 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  Document GstURIHandler
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsturi.c:
-	  * gst/gsturi.h:
-	  Document GstURIHandler
-
-2005-11-09 15:31:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstiterator.*: Fix iterator docs.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
-	  (gst_iterator_find_custom):
-	  * gst/gstiterator.h:
-	  Fix iterator docs.
-
-2005-11-09 15:10:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.h: Document another field.
-	  Original commit message from CVS:
-	  * gst/gstbin.h:
-	  Document another field.
-	  * gst/gststructure.c:
-	  * gst/gststructure.h:
-	  Document.
-
-2005-11-09 13:14:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.h: Documented structs.
-	  Original commit message from CVS:
-	  * gst/gstbin.h:
-	  Documented structs.
-
-2005-11-09 12:36:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer-sections.txt: Added some new macros.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  Added some new macros.
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  * gst/gstobject.h:
-	  Docs updates.
-
-2005-11-09 12:01:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Some more items for the TODO
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Some more items for the TODO
-	  * gst/gstcaps.c:
-	  * gst/gstcaps.h:
-	  Document GstCaps.
-
-2005-11-09 10:06:30 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesink.c: Add the beginning of docs here -- have to work on something else now tho...
-	  Original commit message from CVS:
-	  2005-11-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesink.c: Add the beginning of docs here -- have
-	  to work on something else now tho...
-
-2005-11-09 09:48:16 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* gst/base/gstadapter.c:
-	* gst/base/gstadapter.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.h:
-	  gst/elements/gstfilesink.c (gst_file_sink_start)
-	  Original commit message from CVS:
-	  2005-11-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfilesink.c (gst_file_sink_start)
-	  (gst_file_sink_stop): New functions, replace the state change
-	  handler.
-	  (gst_file_sink_class_init): Hook up the start and stop functions.
-	  (gst_file_sink_base_init): Don't set the state change handler any
-	  more. It was a bit ugly too, being set from here...
-	  (gst_file_sink_get_property, gst_file_sink_set_property):
-	  Cleanups...
-	  (gst_file_sink_set_location): More robust check that doesn't call
-	  GST_STATE. Ugggggg.
-
-2005-11-09 09:47:12 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* gst/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.c:
-	  gst/elements/gstfilesink.c (gst_file_sink_start)
-	  Original commit message from CVS:
-	  2005-11-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfilesink.c (gst_file_sink_start)
-	  (gst_file_sink_stop): New functions, replace the state change
-	  handler.
-	  (gst_file_sink_class_init): Hook up the start and stop functions.
-	  (gst_file_sink_base_init): Don't set the state change handler any
-	  more. It was a bit ugly too, being set from here...
-	  (gst_file_sink_get_property, gst_file_sink_set_property):
-	  Cleanups...
-	  (gst_file_sink_set_location): More robust check that doesn't call
-	  GST_STATE. Ugggggg.
-
-2005-11-08 12:33:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstbasetransform.c: Hold STREAM_LOCK while pushing newsegment or tag events as well.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_event):
-	  Hold STREAM_LOCK while pushing newsegment or tag events as well.
-
-2005-11-08 11:52:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  revert part of the patch so that paths are correct
-	  Original commit message from CVS:
-	  revert part of the patch so that paths are correct
-
-2005-11-08 11:13:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Avoid excessive typechecking in macros.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
-	  (gst_base_sink_do_sync), (gst_base_sink_handle_event),
-	  (gst_base_sink_chain), (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.h:
-	  * gst/gstelement.h:
-	  * gst/gstevent.h:
-	  Avoid excessive typechecking in macros.
-	  * gst/gstminiobject.c: (gst_mini_object_get_type),
-	  (gst_mini_object_init), (gst_mini_object_new),
-	  (gst_mini_object_free):
-	  * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
-	  (gst_object_finalize):
-	  Remove cruft code, optimize alloc_trace.
-
-2005-11-07 18:16:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/faq/gst-uninstalled: fix up PS1 for systems that try to reset it
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  fix up PS1 for systems that try to reset it
-
-2005-11-07 10:33:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Set the segment_end to -1 initially. Fixed typefind.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_init),
-	  (gst_base_src_get_range):
-	  Set the segment_end to -1 initially. Fixed typefind.
-
-2005-11-07 10:13:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstadapter.c: Debug category should be 'adapter', not 'GstAdapter'.
-	  Original commit message from CVS:
-	  * gst/base/gstadapter.c:
-	  Debug category should be 'adapter', not 'GstAdapter'.
-	  * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
-	  (gst_collectpads_class_init), (gst_collectpads_init),
-	  (gst_collectpads_peek), (gst_collectpads_pop),
-	  (gst_collectpads_event), (gst_collectpads_chain):
-	  Add debug category and some debugging output. Use boilerplate
-	  macros. Remove some extraneous words from docs.
-
-2005-11-05 15:14:33 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate macro.
-	  Original commit message from CVS:
-	  2005-11-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
-	  macro.
-
-2005-11-04 20:12:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs added
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstcaps.h:
-	  * gst/gstinfo.c:
-	  * gst/gstminiobject.h:
-	  * gst/gstobject.h:
-	  * gst/gstutils.h:
-	  more docs added
-
-2005-11-04 15:33:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Small update to stop at the configured segment_end position.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Small update to stop at the configured segment_end
-	  position.
-
-2005-11-04 15:02:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstregistry.*: added missing docs
-	  Original commit message from CVS:
-	  * gst/gstregistry.c:
-	  * gst/gstregistry.h:
-	  added missing docs
-
-2005-11-04 14:35:10 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/base/gstbasesrc.c: Check if we are doing a segment seek and have arrived at the end of that segment.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Check if we are doing a segment seek and have arrived at the
-	  end of that segment.
-
-2005-11-04 12:08:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Don't leak a mutex unlock in case of an error.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
-	  Don't leak a mutex unlock in case of an error.
-	  * gst/gstbus.h:
-	  Doc fixes.
-
-2005-11-04 11:43:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Get the context to wake up only once.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
-	  (gst_bus_post):
-	  Get the context to wake up only once.
-
-2005-11-03 20:17:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/states/sinks.c: Uncomment fixed check.
-	  Original commit message from CVS:
-	  * check/states/sinks.c: (GST_START_TEST):
-	  Uncomment fixed check.
-	  * docs/design/part-TODO.txt:
-	  Updated TODO.
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_do_sync),
-	  (gst_base_sink_get_position):
-	  If we are going to PLAYING, post the right pending state
-	  when we post the intermediate paused message.
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_set_state_func), (gst_element_change_state):
-	  Don't post state changes that were between the same state
-	  and were not ASYNC.
-
-2005-11-03 20:14:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/states/sinks.c: Uncomment fixed check.
-	  Original commit message from CVS:
-	  * check/states/sinks.c: (GST_START_TEST):
-	  Uncomment fixed check.
-	  * docs/design/part-TODO.txt:
-	  Updated TODO.
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_do_sync),
-	  (gst_base_sink_get_position):
-	  If we are going to PLAYING, post the right pending state
-	  when we post the intermediate paused message.
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_set_state_func), (gst_element_change_state):
-	  Don't post state changes that were between the same state
-	  and were not ASYNC.
-
-2005-11-03 19:38:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  doc fixes
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.c:
-	  * gst/gstminiobject.c:
-	  doc fixes
-
-2005-11-03 17:53:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/states/sinks.c (test_livesrc_sink): Add checks that the state-changed messages actually have the right order an...
-	  Original commit message from CVS:
-	  2005-11-03  Andy Wingo  <wingo@pobox.com>
-	  * check/states/sinks.c (test_livesrc_sink): Add checks that the
-	  state-changed messages actually have the right order and the right
-	  values.
-
-2005-11-03 17:12:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/states/sinks.c: Added some more checks. Specifically the case where NO_PREROLL elements are in the pipeline.
-	  Original commit message from CVS:
-	  * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
-	  Added some more checks. Specifically the case where NO_PREROLL
-	  elements are in the pipeline.
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_do_sync),
-	  (gst_base_sink_get_position):
-	  Post READY->PAUSED state change messages too.
-	  Fix bug where VOID was posted as pending state...
-	  * gst/gstbin.c: (gst_bin_recalc_state):
-	  use _element_continue_state() to continue the state change.
-	  * gst/gstelement.c: (gst_element_continue_state),
-	  (gst_element_commit_state), (gst_element_set_state_func),
-	  (gst_element_change_state), (gst_element_change_state_func):
-	  Lots of state change cleanups, assign the STATE_RETURN in
-	  a new continue_state() function that also propagates the
-	  last return value from a state change to the app.
-	  Update some debug statements with proper category.
-
-2005-11-03 14:22:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/: Small docs updates.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-seeking.txt:
-	  * docs/design/part-states.txt:
-	  * docs/design/part-trickmodes.txt:
-	  * docs/manual/advanced-position.xml:
-	  Small docs updates.
-	  * gst/gstobject.h:
-	  People think !! is ugly, this looks better.
-	  * gst/gstpad.c: (gst_pad_set_blocked_async):
-	  Remove !! since it's fixed elsewhere now.
-
-2005-11-03 13:52:59 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Add !! to _FLAG_IS_SET macros to make the result boolean.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.h:
-	  * gst/gstobject.h:
-	  Add !! to _FLAG_IS_SET macros to make the result boolean.
-
-2005-11-03 12:48:30 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpad.c: comparing a flag and a gboolean rarely returns coherent results...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_blocked_async):
-	  comparing a flag and a gboolean rarely returns coherent results...
-	  Added two characters (!!) to make that work correctly.
-
-2005-11-03 12:16:49 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbus.c: Fix some typos.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_class_init):
-	  Fix some typos.
-	  * gst/gstqueue.c: (gst_queue_loop):
-	  Don't assume a miniobject that isn't a buffer is an
-	  event (it could be that there is a refcounting
-	  problem somewhere and the pointer is stale and
-	  refers to an already destroyed miniobject).
-
-2005-11-03 10:56:23 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstpad.c: Fix some typos.
-	  Original commit message from CVS:
-	  2005-11-03  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
-
-2005-11-03 09:18:53 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/manual/advanced-position.xml: Update seek example and explanations to current 0.9 API.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-position.xml:
-	  Update seek example and explanations to current 0.9 API.
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_element_activate):
-	  Remove FIXME comment now that the found caps
-	  are unreffed.
-
-2005-11-03 00:39:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstregistryxml.c:
-	  Add another GST_STR_NULL instance
-	  Original commit message from CVS:
-	  Add another GST_STR_NULL instance
-
-2005-11-02 19:04:20 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpad.c: Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (handle_pad_block):
-	  Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
-
-2005-11-02 18:44:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix typo in docs.
-	  Original commit message from CVS:
-	  * gst/gstbin.c:
-	  Fix typo in docs.
-	  * gst/gstelement.c: (gst_element_commit_state):
-	  Remove unused value.
-	  * gst/gstiterator.c:
-	  Mention that the returned element is reffed in the docs.
-
-2005-11-02 18:33:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Unlock blocked pads when they are flushed.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
-	  (gst_pad_push), (gst_pad_push_event):
-	  Unlock blocked pads when they are flushed.
-
-2005-11-02 15:34:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  doc updates
-	  Original commit message from CVS:
-	  * docs/README:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstbin.c:
-	  doc updates
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  fix for a nasty little missed situation where an installed plug-in
-	  which was in the cache did not get overridden by an uninstalled one
-	  which was earlier in the plugin path because the newly created plugin
-	  for the uninstalled one (not in the registry) didn't get its
-	  ->registered set to TRUE
-
-2005-11-02 15:08:05 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstcollectpads.c: Guard public API with assertions.
-	  Original commit message from CVS:
-	  * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
-	  (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
-	  (gst_collectpads_is_active), (gst_collectpads_collect),
-	  (gst_collectpads_collect_range), (gst_collectpads_start),
-	  (gst_collectpads_stop), (gst_collectpads_peek),
-	  (gst_collectpads_pop), (gst_collectpads_available),
-	  (gst_collectpads_read), (gst_collectpads_flush):
-	  Guard public API with assertions.
-	  * gst/gstpad.c:
-	  Fix docs for gst_pad_set_link_function().
-
-2005-11-02 14:28:02 +0000  Johan Dahlin <johan@gnome.org>
-
-	  gst/elements/gsttypefindelement.c (gst_type_find_element_activate): Unref found_caps after we used it.
-	  Original commit message from CVS:
-	  * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
-	  Unref found_caps after we used it.
-
-2005-11-02 12:20:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstcollectpads.c: Don't try to ref NULL.
-	  Original commit message from CVS:
-	  * gst/base/gstcollectpads.c: (gst_collectpads_peek):
-	  Don't try to ref NULL.
-
-2005-11-02 09:31:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add more symbols
-	  Original commit message from CVS:
-	  add more symbols
-
-2005-11-02 09:27:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add more symbols
-	  Original commit message from CVS:
-	  add more symbols
-
-2005-11-02 09:24:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  update generated config
-	  Original commit message from CVS:
-	  update generated config
-
-2005-11-02 09:24:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* win32/common/config.h.in:
-	  provide a GST_FUNCTION that just gives a string for now
-	  Original commit message from CVS:
-	  provide a GST_FUNCTION that just gives a string for now
-
-2005-11-02 08:56:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* win32/common/gstenumtypes.c:
-	* win32/common/gstversion.h:
-	  update win32 copies
-	  Original commit message from CVS:
-	  update win32 copies
-
-2005-11-01 19:16:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbin.c:
-	  more doc updates
-	  Original commit message from CVS:
-	  more doc updates
-
-2005-11-01 17:45:46 +0000  Luca Ognibene <luogni@tin.it>
-
-	  gst/gst.c: fix docs. popt is death, long live GOption.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  fix docs. popt is death, long live GOption.
-
-2005-10-31 11:44:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.h: Small doc fix.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Small doc fix.
-
-2005-10-31 09:52:13 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Boo!
-	  Original commit message from CVS:
-	  2005-10-31  Andy Wingo  <wingo@pobox.com>
-	  * Boo!
-	  * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
-	  * gst/gstobject.c (gst_object_dispatch_properties_changed): No
-	  need to serialize property notifications on GLib 2.8. GLib 2.6 has
-	  the possibility of deadlocks here if code calling notify() or
-	  set() has a lock that can be taken in another notify handler (ABBA
-	  with class lock and e.g. python GIL state lock).
-
-2005-10-28 18:18:23 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstbus.c: Doc updates.
-	  Original commit message from CVS:
-	  2005-10-28  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstbus.c: Doc updates.
-
-2005-10-28 18:14:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Doc updates.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * gst/gstiterator.c:
-	  * gst/gstsystemclock.c:
-	  * gst/gstsystemclock.h:
-	  Doc updates.
-
-2005-10-28 18:10:41 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  docs/gst/: the GstURIType documentation page is private, it only defines GstURIType which should be defined in the Gs...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  the GstURIType documentation page is private, it only defines GstURIType
-	  which should be defined in the GstURIHandler page
-
-2005-10-28 17:35:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstutils.c:
-	  Documentation updates.
-	  Original commit message from CVS:
-	  Documentation updates.
-
-2005-10-28 17:35:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Documented the clocks.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  Documented the clocks.
-
-2005-10-28 17:34:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* win32/common/config.h:
-	  updated config
-	  Original commit message from CVS:
-	  updated config
-
-2005-10-28 17:20:45 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstbuffer.h:
-	  Work around gtkdoc deficiencies, document a macro differently.
-	  Original commit message from CVS:
-	  Work around gtkdoc deficiencies, document a macro differently.
-
-2005-10-28 17:01:14 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstutils.c:
-	  Improve GstBuffer documentation. It's now 100% Spiffier.
-	  Original commit message from CVS:
-	  Improve GstBuffer documentation. It's now 100% Spiffier.
-
-2005-10-28 16:54:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/README:
-	  some style fixes
-	  Original commit message from CVS:
-	  some style fixes
-
-2005-10-28 16:46:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: move some macros to private sections
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  move some macros to private sections
-	  * gst/gstminiobject.c:
-	  * gst/gstminiobject.h:
-	  add descriptions provided by ds and some more
-	  * gst/gstpad.h:
-	  mark macro as to be removed
-
-2005-10-28 16:21:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Add an item to TODO.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Add an item to TODO.
-	  * gst/gstiterator.c: (gst_iterator_fold),
-	  (gst_iterator_find_custom):
-	  * gst/gstiterator.h:
-	  Add iterator docs.
-
-2005-10-28 16:08:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/README:
-	  add style guide
-	  Original commit message from CVS:
-	  add style guide
-
-2005-10-28 10:45:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Don't leak class.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
-	  (gst_base_transform_init):
-	  Don't leak class.
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
-	  An EOS event marks the queue as completely filled.
-
-2005-10-27 20:59:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Some more debugging.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync), (gst_base_sink_get_position):
-	  Some more debugging.
-	  * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
-	  (gst_base_transform_init), (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_event), (gst_base_transform_getrange),
-	  (gst_base_transform_chain):
-	  * gst/base/gstbasetransform.h:
-	  Fix debugging,
-	  Protect transform and concurrent buffer alloc with a new lock.
-	  Try not to break ABI/API.
-
-2005-10-27 19:37:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Move some stuff around and cleanup things.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_query),
-	  (gst_base_src_default_newsegment),
-	  (gst_base_src_configure_segment), (gst_base_src_do_seek),
-	  (gst_base_src_send_event), (gst_base_src_event_handler),
-	  (gst_base_src_pad_get_range), (gst_base_src_loop),
-	  (gst_base_src_unlock), (gst_base_src_default_negotiate),
-	  (gst_base_src_start), (gst_base_src_deactivate),
-	  (gst_base_src_activate_push), (gst_base_src_change_state):
-	  Move some stuff around and cleanup things.
-
-2005-10-27 15:48:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstbasesrc.c: Add missing break statements.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_query):
-	  Add missing break statements.
-
-2005-10-27 13:47:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: An extra refcount is taken in basesrc.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  An extra refcount is taken in basesrc.
-	  * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
-	  (gst_base_src_get_range), (gst_base_src_pad_get_range),
-	  (gst_base_src_loop):
-	  Small cleanups, check for flushing after being unlocked from the
-	  LIVE_LOCK. take refcounts correctly (not yet everywhere).
-	  Don't send out EOS when going to READY.
-
-2005-10-27 08:55:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Some more debug.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_get_position):
-	  Some more debug.
-	  * gst/gstbin.c: (message_check), (bin_replace_message),
-	  (bin_remove_messages), (is_eos), (gst_bin_add_func),
-	  (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
-	  (bin_query_duration_init), (bin_query_duration_fold),
-	  (bin_query_duration_done), (bin_query_generic_fold),
-	  (gst_bin_query):
-	  * tools/gst-launch.c: (main):
-	  Remove old option.
-
-2005-10-26 18:57:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  fixing examples fixing docs typos changing log priority in error situations
-	  Original commit message from CVS:
-	  * examples/controller/audio-example.c: (main):
-	  * examples/queue/queue.c: (event_loop):
-	  * gst/base/gstbasetransform.h:
-	  * gst/gstelement.c: (gst_element_send_event):
-	  * gst/gstevent.h:
-	  * gst/gstpad.c: (gst_pad_send_event):
-	  fixing examples
-	  fixing docs typos
-	  changing log priority in error situations
-
-2005-10-26 10:11:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* scripts/cvs-update.sh:
-	  make sure dirs get checked out
-	  Original commit message from CVS:
-	  make sure dirs get checked out
-
-2005-10-26 09:56:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/MANIFEST:
-	  fix dist
-	  Original commit message from CVS:
-	  fix dist
-
-2005-10-25 17:41:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Some doc and debug updates.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (message_check), (bin_replace_message),
-	  (bin_remove_messages), (is_eos), (gst_bin_add_func),
-	  (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
-	  (bin_query_duration_init), (bin_query_duration_fold),
-	  (bin_query_duration_done), (bin_query_generic_fold),
-	  (gst_bin_query):
-	  Some doc and debug updates.
-	  Cache previously requested query DURATION for speed. invalidate
-	  cached duration if element posts a DURATION message.
-
-2005-10-25 15:39:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Update TODO.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Update TODO.
-	  * gst/gstbin.c: (message_check), (bin_replace_message),
-	  (bin_remove_messages), (is_eos), (gst_bin_add_func),
-	  (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
-	  (bin_query_duration_init), (bin_query_duration_fold),
-	  (bin_query_duration_done), (bin_query_generic_fold),
-	  (gst_bin_query):
-	  Handle SEGMENT_START/DONE messages correctly.
-	  More evolved query algorithm that handles duration queries
-	  correctly.
-	  * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
-	  (gst_element_get_state_func), (gst_element_abort_state),
-	  (gst_element_commit_state), (gst_element_lost_state):
-	  Some more debugging.
-	  * gst/gstmessage.h:
-	  Added doc.
-
-2005-10-25 10:15:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Don't use invalid stream_time.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_get_position):
-	  Don't use invalid stream_time.
-	  * gst/gstevent.c: (gst_event_new_newsegment):
-	  stream_time in newsegment cannot be undefined.
-
-2005-10-25 10:12:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	  Forgot the changelog last time
-	  Original commit message from CVS:
-	  Forgot the changelog last time
-
-2005-10-24 15:41:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Doc fix.
-	  Original commit message from CVS:
-	  * gst/gstbus.c:
-	  Doc fix.
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_loop):
-	  Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
-
-2005-10-24 11:56:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/libs/tmpl/: these are obsolete
-	  Original commit message from CVS:
-	  * docs/libs/tmpl/gstdparam.sgml:
-	  * docs/libs/tmpl/gstdplinint.sgml:
-	  * docs/libs/tmpl/gstdpman.sgml:
-	  * docs/libs/tmpl/gstdpsmooth.sgml:
-	  * docs/libs/tmpl/gstunitconvert.sgml:
-	  these are obsolete
-
-2005-10-24 09:13:27 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/gstelement.h:
-	* gst/gstqueue.c:
-	* gst/gstutils.c:
-	* plugins/elements/gstqueue.c:
-	  Fix some minor documentation typos
-	  Original commit message from CVS:
-	  Fix some minor documentation typos
-
-2005-10-23 23:04:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to HEAD
-	  Original commit message from CVS:
-	  back to HEAD
-
-=== release 0.9.4 ===
-
-2005-10-23 22:30:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/random/release:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	* win32/common/config.h:
-	  time to release
-	  Original commit message from CVS:
-	  time to release
-
-2005-10-23 10:49:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/MANIFEST:
-	  add more files
-	  Original commit message from CVS:
-	  add more files
-
-2005-10-23 10:29:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gstfilesink.c: Use fseeko() and ftello() if available. When falling back on lseek() to get the current o...
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
-	  (gst_file_sink_get_current_offset):
-	  Use fseeko() and ftello() if available. When falling back on
-	  lseek() to get the current offset, fflush() first to make sure
-	  everything is up-to-date and we get the right offset.
-
-2005-10-23 09:08:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesrc.c:
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	* gst/gstqueue.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstqueue.c:
-	* po/POTFILES.in:
-	  remove prematurely added error category and clean up the instances
-	  Original commit message from CVS:
-	  remove prematurely added error category and clean up the instances
-
-2005-10-21 17:53:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Simply set the right flag when going to playing, that's all we need to do instead of calling ...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_get_position), (gst_base_sink_query),
-	  (gst_base_sink_change_state):
-	  Simply set the right flag when going to playing, that's all
-	  we need to do instead of calling a function inside the object
-	  lock (that could take the lock as well and deadlock)
-
-2005-10-21 16:18:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Don't warn, the peer element knows what to do best when the seek failed, it might try somethin...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
-	  (gst_base_src_loop):
-	  Don't warn, the peer element knows what to do best when
-	  the seek failed, it might try something else.
-
-2005-10-21 16:14:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Fix seeking.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_init),
-	  (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
-	  Fix seeking.
-
-2005-10-21 15:13:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-segments.txt: More docs.
-	  Original commit message from CVS:
-	  * docs/design/part-segments.txt:
-	  More docs.
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
-	  Correctly set caps, even on the subbufer.
-
-2005-10-21 11:36:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  And 2% more doc coverage.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.h:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  * gst/gstmessage.h:
-	  * gst/gstpad.h:
-	  * gst/gstparse.h:
-	  * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
-	  * gst/gsttask.h:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  And 2% more doc coverage.
-
-2005-10-21 09:24:28 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent position reporting.
-	  Original commit message from CVS:
-	  2005-10-21  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
-	  position reporting.
-
-2005-10-20 21:08:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: More docs.
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (gst_error_get_message):
-	  * gst/gstparse.h:
-	  * gst/gstquery.h:
-	  * gst/gststructure.c:
-	  * gst/gsttrace.c:
-	  * gst/gstutils.c:
-	  More docs.
-
-2005-10-20 20:46:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Another 1% more coverage.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  * gst/gstpad.c:
-	  * gst/gstparse.c:
-	  Another 1% more coverage.
-
-2005-10-20 20:25:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Yay! 1% more docs coverage.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_abort_state), (gst_element_commit_state),
-	  (gst_element_lost_state):
-	  * gst/gstevent.h:
-	  * gst/gstquery.c: (gst_query_set_position),
-	  (gst_query_parse_position), (gst_query_set_duration),
-	  (gst_query_parse_duration), (gst_query_new_convert):
-	  * gst/gstutils.c:
-	  Yay! 1% more docs coverage.
-
-2005-10-20 19:47:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Docs and consistency fixes.
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  * gst/gstquery.c: (gst_query_set_position),
-	  (gst_query_parse_position), (gst_query_set_duration),
-	  (gst_query_parse_duration), (gst_query_new_convert):
-	  * gst/gstquery.h:
-	  * gst/gstutils.c: (gst_element_query_convert):
-	  * gst/gstutils.h:
-	  Docs and consistency fixes.
-
-2005-10-20 19:30:57 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gsttask.*: More docs.
-	  Original commit message from CVS:
-	  * gst/gsttask.c:
-	  * gst/gsttask.h:
-	  More docs.
-
-2005-10-20 17:22:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Reworked the message handling a bit, cache the messages instead of only the senders. alows us to do mor...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (message_check), (bin_replace_message),
-	  (bin_remove_messages), (is_eos), (gst_bin_add_func),
-	  (update_degree), (gst_bin_sort_iterator_next),
-	  (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
-	  Reworked the message handling a bit, cache the messages instead of
-	  only the senders. alows us to do more in the future.
-
-2005-10-20 17:18:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Update TODO
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Update TODO
-	  * gst/base/gstbasesink.c: (gst_base_sink_get_position),
-	  (gst_base_sink_query):
-	  Don't use clock time to report position when in EOS.
-
-2005-10-20 13:10:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Fix interface output with gst-inspect -a; don't print newlines after double/float properties.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_interfaces),
-	  (print_element_properties_info), (print_element_info):
-	  Fix interface output with gst-inspect -a; don't print
-	  newlines after double/float properties.
-
-2005-10-20 11:48:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Speed up current position calculation.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_get_position),
-	  (gst_base_sink_query):
-	  Speed up current position calculation.
-	  * gst/base/gstbasesrc.c: (gst_base_src_query),
-	  (gst_base_src_default_newsegment):
-	  Correctly set stream position in newsegment.
-	  * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
-	  (update_degree), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
-	  * gst/gstmessage.c: (gst_message_new_custom):
-	  Clean up debugging info
-	  * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
-	  (gst_queue_loop), (gst_queue_handle_src_query):
-	  Pause task faster.
-
-2005-10-19 17:06:56 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Fix query handling again.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
-	  Fix query handling again.
-
-2005-10-19 15:50:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: API change fix.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
-	  * gst/base/gstbasesrc.c: (gst_base_src_query):
-	  * gst/elements/gstfilesink.c: (gst_file_sink_query):
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_handle_src_query), (find_element_get_length),
-	  (gst_type_find_element_activate):
-	  API change fix.
-	  * gst/gstquery.c: (gst_query_new_position),
-	  (gst_query_set_position), (gst_query_parse_position),
-	  (gst_query_new_duration), (gst_query_set_duration),
-	  (gst_query_parse_duration), (gst_query_set_segment),
-	  (gst_query_parse_segment):
-	  * gst/gstquery.h:
-	  Bundling query position/duration is not a good idea since duration
-	  does not change much and we don't want to recalculate it for every
-	  position query, so they are separated again..
-	  Base value in segment query is not needed.
-	  * gst/gstqueue.c: (gst_queue_handle_src_query):
-	  * gst/gstutils.c: (gst_element_query_position),
-	  (gst_element_query_duration), (gst_pad_query_position),
-	  (gst_pad_query_duration):
-	  * gst/gstutils.h:
-	  Updates for query API change.
-	  Added some docs here and there.
-
-2005-10-19 11:43:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: wait on thread to die so we can check refcount correctly
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstghostpad.c: (GST_START_TEST):
-	  * check/pipelines/cleanup.c: (GST_START_TEST):
-	  wait on thread to die so we can check refcount correctly
-
-2005-10-19 11:43:18 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update tools package naming
-	  Original commit message from CVS:
-	  update tools package naming
-
-2005-10-19 11:42:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  log an if branch
-	  Original commit message from CVS:
-	  log an if branch
-
-2005-10-18 17:30:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/pipelines/stress.c: Make check a little more time consuming.
-	  Original commit message from CVS:
-	  * check/pipelines/stress.c: (GST_START_TEST):
-	  Make check a little more time consuming.
-
-2005-10-18 17:06:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/: Small state change torture test.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/pipelines/stress.c: (GST_START_TEST),
-	  (simple_launch_lines_suite), (main):
-	  Small state change torture test.
-	  * docs/design/part-states.txt:
-	  * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
-	  (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
-	  (gst_base_sink_change_state):
-	  Never take state lock from streaming thread, clean up ugly
-	  hacks. Unfortunatly core does not yet support nice ways to
-	  async commit state.
-	  * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
-	  (bin_bus_handler):
-	  Start state recalc if a STATE_DIRTY message is posted, but only
-	  on the toplevel bin.
-	  * gst/gstelement.c: (gst_element_sync_state_with_parent),
-	  (gst_element_get_state_func), (gst_element_abort_state),
-	  (gst_element_commit_state), (gst_element_lost_state),
-	  (gst_element_set_state_func), (gst_element_change_state):
-	  * gst/gstelement.h:
-	  State variables are now protected with the LOCK, the state
-	  lock is only used to serialize _set_state().
-
-2005-10-18 16:25:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Seriously, this is better than a previous commit as we only need to notify the fact that an element changed state in ...
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstmessage.c: (GST_START_TEST):
-	  * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
-	  (bin_bus_handler):
-	  * gst/gstelement.c: (gst_element_abort_state),
-	  (gst_element_commit_state), (gst_element_lost_state):
-	  * gst/gstmessage.c: (gst_message_new_state_changed),
-	  (gst_message_new_state_dirty), (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_new_duration),
-	  (gst_message_parse_state_changed),
-	  (gst_message_parse_segment_start),
-	  (gst_message_parse_segment_done), (gst_message_parse_duration):
-	  * gst/gstmessage.h:
-	  * tools/gst-launch.c: (event_loop):
-	  Seriously, this is better than a previous commit as we only need
-	  to notify the fact that an element changed state in a streaming
-	  thread, marking the state of the parents dirty, hence the
-	  STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
-	  message.
-
-2005-10-18 15:15:11 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Cleanups, prepare for state change fixes.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
-	  (gst_bin_recalc_func):
-	  * gst/gstelement.c: (gst_element_set_clock),
-	  (gst_element_abort_state), (gst_element_lost_state):
-	  Cleanups, prepare for state change fixes.
-
-2005-10-18 14:29:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Pending ABI changes.
-	  Original commit message from CVS:
-	  * gst/gstbin.h:
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_set_state), (gst_element_set_state_func):
-	  * gst/gstelement.h:
-	  Pending ABI changes.
-	  GThreadPool in GstBinClass to monitor async state changes.
-	  state_cookie in GstElement to detect concurrent gst/set state.
-	  set_state is now virtual too in case a very complicated element
-	  has to be constructed.
-
-2005-10-18 13:19:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Make messages future proof. state-change gets a flag if it was a message comming from the streaming thread.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstmessage.c: (GST_START_TEST):
-	  * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
-	  * gst/gstbin.c: (bin_bus_handler):
-	  * gst/gstelement.c: (gst_element_commit_state),
-	  (gst_element_lost_state):
-	  * gst/gstmessage.c: (gst_message_new_state_changed),
-	  (gst_message_new_segment_start), (gst_message_new_segment_done),
-	  (gst_message_new_duration), (gst_message_parse_state_changed),
-	  (gst_message_parse_segment_start),
-	  (gst_message_parse_segment_done), (gst_message_parse_duration):
-	  * gst/gstmessage.h:
-	  * tools/gst-launch.c: (event_loop):
-	  Make messages future proof.
-	  state-change gets a flag if it was a message comming from the
-	  streaming thread.
-	  segment-start/stop can also be specified in other formats.
-	  A message to notify an app that a pipeline changed playback
-	  duration.
-	  Also fix a GstMessage leak in -launch
-
-2005-10-18 10:32:48 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.c (gst_element_dispose): More helpful message.
-	  Original commit message from CVS:
-	  2005-10-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.c (gst_element_dispose): More helpful message.
-
-2005-10-18 08:20:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* configure.ac:
-	  remove info messages
-	  Original commit message from CVS:
-	  remove info messages
-
-2005-10-18 07:13:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstregistry.c: unref a plug-in we get that was already initialized
-	  Original commit message from CVS:
-	  * gst/gstregistry.c: (gst_registry_scan_path_level):
-	  unref a plug-in we get that was already initialized
-
-2005-10-17 20:16:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  add new api entries hide internal macro
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * gst/gstelement.h:
-	  add new api entries
-	  hide internal macro
-
-2005-10-17 18:09:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstcollectpads.c (gst_collectpads_chain): Slight cleanup.
-	  Original commit message from CVS:
-	  2005-10-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
-	  cleanup.
-	  * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
-	  * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
-	  * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
-	  (gst_element_get_state_func): Better debug message.
-	  (gst_element_commit_state): s/INFO/DEBUG/.
-	  (gst_element_lost_state, gst_element_change_state):
-	  * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
-	  (gst_message_new_custom): s/INFO/LOG/.
-
-2005-10-17 17:46:37 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.c:
-	  Check validity of end time based on end time variable, not start time.
-	  Original commit message from CVS:
-	  Check validity of end time based on end time variable, not start time.
-
-2005-10-17 17:05:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  merge controller testsuites fix broken tests remove mem-chunk from docs
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  * libs/gst/controller/gstcontroller.c:
-	  (gst_controlled_property_set_interpolation_mode):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  * testsuite/controller/.cvsignore:
-	  * testsuite/controller/Makefile.am:
-	  * testsuite/controller/interpolator.c:
-	  merge controller testsuites
-	  fix broken tests
-	  remove mem-chunk from docs
-
-2005-10-17 14:42:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: out.  get out.  you're fired.  to the Attic !
-	  Original commit message from CVS:
-	  * gst/gstmemchunk.c:
-	  * gst/gstmemchunk.h:
-	  * gst/gsttrashstack.c:
-	  * gst/gsttrashstack.h:
-	  out.  get out.  you're fired.  to the Attic !
-
-2005-10-17 14:37:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstcaps.c: fix signedness issues in a (hopefully) correct way
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_intersect):
-	  fix signedness issues in a (hopefully) correct way
-	  * gst/gstelement.c: (gst_element_pads_activate):
-	  some debugging
-	  * gst/gstobject.c: (gst_object_set_parent):
-	  some debugging
-
-2005-10-17 10:37:13 +0000  Michael Smith <msmith@xiph.org>
-
-	* gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.c:
-	  Fix a doc typo.
-	  Original commit message from CVS:
-	  Fix a doc typo.
-
-2005-10-17 09:28:35 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstvalue.h: Fix prototypes.
-	  Original commit message from CVS:
-	  2005-10-17  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstvalue.h: Fix prototypes.
-
-2005-10-16 14:32:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstversion.h.in:
-	* win32/common/libgstreamer.def:
-	  add gst_version_string ()
-	  Original commit message from CVS:
-	  add gst_version_string ()
-
-2005-10-16 13:55:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* win32/common/config.h:
-	  comment; update win32 config.h
-	  Original commit message from CVS:
-	  comment; update win32 config.h
-
-2005-10-16 12:37:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* scripts/cvs-update.sh:
-	  Dear Andy: here's a script to update stuff from CVS
-	  Original commit message from CVS:
-	  Dear Andy:
-	  here's a script to update stuff from CVS
-	  Love,
-	  Thomas
-
-2005-10-16 12:28:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: clean up further
-	  Original commit message from CVS:
-	  * configure.ac:
-	  clean up further
-	  * gst/gst.c: (init_post):
-	  * win32/common/config.h.in:
-	  it's PLUGINDIR now
-	  * gst/gstcaps.c: (gst_caps_intersect):
-	  use gint64, the range could be bigger than a guint
-
-2005-10-16 11:48:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	* gst/gstclock.h:
-	  GStreamer consultants will make a lot of money in 2038
-	  Original commit message from CVS:
-	  GStreamer consultants will make a lot of money in 2038
-
-2005-10-16 10:58:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstcaps.c: Fix guint j diving under 0
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_intersect):
-	  Fix guint j diving under 0
-
-2005-10-16 10:38:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check for process.h, declares getpid() on Windows
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * win32/common/config.h:
-	  * win32/common/config.h.in:
-	  check for process.h, declares getpid() on Windows
-	  * gst/gstinfo.c:
-	  include process.h if we have it
-	  * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
-	  * gst/gstmemchunk.h:
-	  fix signedness issues
-	  * win32/common/libgstreamer.def:
-	  fix get_type's
-
-2005-10-16 10:22:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstcaps.c:
-	  fix signedness
-	  Original commit message from CVS:
-	  fix signedness
-
-2005-10-16 10:18:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	  fix GST_VERSION
-	  Original commit message from CVS:
-	  fix GST_VERSION
-
-2005-10-16 10:15:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	  fix inline
-	  Original commit message from CVS:
-	  fix inline
-
-2005-10-16 10:12:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	  define PACKAGE
-	  Original commit message from CVS:
-	  define PACKAGE
-
-2005-10-16 10:10:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	  update available headers
-	  Original commit message from CVS:
-	  update available headers
-
-2005-10-16 09:56:33 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstcaps.c: Fix a bad bug with a simple fix. Because of unsigned ints, caps intersection was going nuts and trying...
-	  Original commit message from CVS:
-	  2005-10-16  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a
-	  simple
-	  fix. Because of unsigned ints, caps intersection was going nuts
-	  and
-	  trying to access structures with G_MAXUINT index. That fixes
-	  videotestsrc ! ffmpegcolorspace ! fakesink
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
-	  consistency.
-
-2005-10-16 09:55:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	  update
-	  Original commit message from CVS:
-	  update
-
-2005-10-16 09:54:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h.in:
-	  typo
-	  Original commit message from CVS:
-	  typo
-
-2005-10-16 09:51:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/config.h:
-	* win32/common/config.h.in:
-	  updates for 2in32
-	  Original commit message from CVS:
-	  updates for 2in32
-
-2005-10-16 09:44:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst-libs/controller.c:
-	* check/gst/gstplugin.c:
-	* configure.ac:
-	* tests/check/gst/gstplugin.c:
-	* tests/check/libs/controller.c:
-	  more define fixes
-	  Original commit message from CVS:
-	  more define fixes
-
-2005-10-16 09:20:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: use the gettext macro
-	  Original commit message from CVS:
-	  2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * configure.ac:
-	  use the gettext macro
-	  * gst/elements/gstelements.c:
-	  * gst/gst.c:
-	  * gst/indexers/gstindexers.c:
-	  update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
-	  * win32/common/config.h:
-	  updated config.h
-	  * win32/common/config.h.in:
-	  add the template to generate config.h
-	  * win32/common/gstenumtypes.c:
-	  * win32/common/gstversion.h:
-	  updated copies
-
-2005-10-16 09:11:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol.pc.in:
-	  remove more PKG_CFLAGS
-	  Original commit message from CVS:
-	  remove more PKG_CFLAGS
-
-2005-10-16 09:10:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: add the nano
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_version):
-	  * gst/gstversion.h.in:
-	  add the nano
-
-2005-10-16 08:59:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  remove GST_PKG_CFLAGS
-	  Original commit message from CVS:
-	  remove GST_PKG_CFLAGS
-
-2005-10-15 22:24:20 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstevent.h: Oops, add missing closing bracket.
-	  Original commit message from CVS:
-	  * gst/gstevent.h:
-	  Oops, add missing closing bracket.
-
-2005-10-15 21:41:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: use common m4's for argument checking
-	  Original commit message from CVS:
-	  * configure.ac:
-	  use common m4's for argument checking
-
-2005-10-15 20:33:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add GST_EVENT_TYPE_NAME() macro.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstevent.h:
-	  Add GST_EVENT_TYPE_NAME() macro.
-
-2005-10-15 20:00:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  update defs
-	  Original commit message from CVS:
-	  update defs
-
-2005-10-15 19:57:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: privatize more symbols
-	  Original commit message from CVS:
-	  * gst/gstinfo.c:
-	  * gst/gstpluginfeature.c:
-	  * gst/gsttask.c:
-	  privatize more symbols
-
-2005-10-15 18:22:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: add srcdir, builddir includes to GST_ALL_CFLAGS, since everything that uses GStreamer API should have t...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  add srcdir, builddir includes to GST_ALL_CFLAGS, since
-	  everything that uses GStreamer API should have the includes
-
-2005-10-15 17:59:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  give each value a _get_type, removes the DATA exports
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  give each value a _get_type, removes the DATA exports
-
-2005-10-15 17:22:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/Makefile.am:
-	* libs/gst/base/Makefile.am:
-	  fix link flags
-	  Original commit message from CVS:
-	  fix link flags
-
-2005-10-15 16:39:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  update defs file
-	  Original commit message from CVS:
-	  update defs file
-
-2005-10-15 16:37:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  update defs
-	  Original commit message from CVS:
-	  update defs
-
-2005-10-15 16:33:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.*: remove _gst_registry_auto_load, not used anymore
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gst.h:
-	  remove _gst_registry_auto_load, not used anymore
-	  * gst/gstbin.c: (gst_bin_get_type):
-	  * gst/gstbin.h:
-	  * gst/gstelement.c: (gst_element_get_type):
-	  * gst/gstelement.h:
-	  * gst/gstobject.c: (gst_object_get_type):
-	  * gst/gstobject.h:
-	  * gst/gstpad.c: (gst_pad_get_type):
-	  * gst/gstpad.h:
-	  make _get_type functions similar, fixes data export from library
-
-2005-10-15 16:16:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/check/gstcheck.c:
-	* gst/gst.c:
-	* gst/gstbuffer.c:
-	* gst/gstcaps.c:
-	* gst/gstelementfactory.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstplugin.c:
-	* gst/gsttypefindfactory.c:
-	* libs/gst/check/gstcheck.c:
-	  I'm too lazy to comment this
-	  Original commit message from CVS:
-	  gtk-doc insists on inserting <PARA> at every empty line, sigh
-
-2005-10-15 16:01:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gst.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbus.c:
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstconfig.h.in:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gsterror.c:
-	* gst/gstevent.c:
-	* gst/gstfilter.c:
-	* gst/gstformat.c:
-	* gst/gstghostpad.c:
-	* gst/gstindex.c:
-	* gst/gstindexfactory.c:
-	* gst/gstinfo.c:
-	* gst/gstinterface.c:
-	* gst/gstiterator.c:
-	* gst/gstmemchunk.c:
-	* gst/gstmessage.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpadtemplate.c:
-	* gst/gstparse.c:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstquery.c:
-	* gst/gstqueue.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttrace.c:
-	* gst/gsttypefind.c:
-	* gst/gsttypefindfactory.c:
-	* gst/gsturi.c:
-	* gst/gsturitype.c:
-	* gst/gstutils.c:
-	* gst/gstxml.c:
-	* plugins/elements/gstqueue.c:
-	  various style fixes
-	  Original commit message from CVS:
-	  various style fixes
-
-2005-10-15 15:53:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstbin.c:
-	* check/gst/gstcaps.c:
-	* check/gst/gstvalue.c:
-	* examples/appreader/appreader.c:
-	* examples/controller/audio-example.c:
-	* examples/cutter/cutter.c:
-	* examples/cutter/cutter.h:
-	* examples/mixer/mixer.c:
-	* examples/mixer/mixer.h:
-	* examples/retag/retag.c:
-	* examples/retag/transcode.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/old/examples/appreader/appreader.c:
-	* tests/old/examples/controller/audio-example.c:
-	* tests/old/examples/cutter/cutter.c:
-	* tests/old/examples/cutter/cutter.h:
-	* tests/old/examples/mixer/mixer.c:
-	* tests/old/examples/mixer/mixer.h:
-	* tests/old/examples/retag/retag.c:
-	* tests/old/examples/retag/transcode.c:
-	* win32/common/gstconfig.h:
-	* win32/common/gstversion.h:
-	* win32/dirent.c:
-	* win32/gstconfig.h:
-	* win32/gstversion.h:
-	* win32/gtchar.h:
-	* win32/mman.h:
-	* win32/vs7/mman.h:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2005-10-15 15:53:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/bytestream/.gitignore:
-	* tests/old/testsuite/bytestream/Makefile.am:
-	* tests/old/testsuite/bytestream/filepadsink.c:
-	* tests/old/testsuite/bytestream/gstbstest.c:
-	* tests/old/testsuite/bytestream/test1.c:
-	* tests/old/testsuite/bytestream/testfile1:
-	* tests/old/testsuite/caps/normalisation.c:
-	* tests/old/testsuite/caps/random.c:
-	* tests/old/testsuite/cleanup/.gitignore:
-	* tests/old/testsuite/cleanup/Makefile.am:
-	* tests/old/testsuite/cleanup/cleanup1.c:
-	* tests/old/testsuite/cleanup/cleanup2.c:
-	* tests/old/testsuite/cleanup/cleanup3.c:
-	* tests/old/testsuite/cleanup/cleanup4.c:
-	* tests/old/testsuite/cleanup/cleanup5.c:
-	* tests/old/testsuite/controller/interpolator.c:
-	* tests/old/testsuite/debug/printf_extension.c:
-	* tests/old/testsuite/elements/tee.c:
-	* tests/old/testsuite/negotiation/.gitignore:
-	* tests/old/testsuite/negotiation/Makefile.am:
-	* tests/old/testsuite/negotiation/pad_link.c:
-	* tests/old/testsuite/pad/Makefile.am:
-	* tests/old/testsuite/pad/chainnopull.c:
-	* tests/old/testsuite/pad/getnopush.c:
-	* tests/old/testsuite/pad/link.c:
-	* tests/old/testsuite/refcounting/sched.c:
-	* tests/old/testsuite/registry/Makefile.am:
-	* tests/old/testsuite/registry/gst-print-formats.c:
-	* tests/old/testsuite/schedulers/.gitignore:
-	* tests/old/testsuite/schedulers/142183-2.c:
-	* tests/old/testsuite/schedulers/142183.c:
-	* tests/old/testsuite/schedulers/143777-2.c:
-	* tests/old/testsuite/schedulers/143777.c:
-	* tests/old/testsuite/schedulers/147713.c:
-	* tests/old/testsuite/schedulers/147819.c:
-	* tests/old/testsuite/schedulers/147894-2.c:
-	* tests/old/testsuite/schedulers/147894.c:
-	* tests/old/testsuite/schedulers/Makefile.am:
-	* tests/old/testsuite/schedulers/group_link.c:
-	* tests/old/testsuite/schedulers/queue_link.c:
-	* tests/old/testsuite/schedulers/relink.c:
-	* tests/old/testsuite/schedulers/unlink.c:
-	* tests/old/testsuite/schedulers/unref.c:
-	* tests/old/testsuite/schedulers/useless_iteration.c:
-	* tests/old/testsuite/states/bin.c:
-	* testsuite/Makefile.am:
-	* testsuite/bytestream/.gitignore:
-	* testsuite/bytestream/Makefile.am:
-	* testsuite/bytestream/filepadsink.c:
-	* testsuite/bytestream/gstbstest.c:
-	* testsuite/bytestream/test1.c:
-	* testsuite/bytestream/testfile1:
-	* testsuite/caps/normalisation.c:
-	* testsuite/caps/random.c:
-	* testsuite/cleanup/.gitignore:
-	* testsuite/cleanup/Makefile.am:
-	* testsuite/cleanup/cleanup1.c:
-	* testsuite/cleanup/cleanup2.c:
-	* testsuite/cleanup/cleanup3.c:
-	* testsuite/cleanup/cleanup4.c:
-	* testsuite/cleanup/cleanup5.c:
-	* testsuite/controller/interpolator.c:
-	* testsuite/debug/printf_extension.c:
-	* testsuite/elements/tee.c:
-	* testsuite/negotiation/.gitignore:
-	* testsuite/negotiation/Makefile.am:
-	* testsuite/negotiation/pad_link.c:
-	* testsuite/pad/Makefile.am:
-	* testsuite/pad/chainnopull.c:
-	* testsuite/pad/getnopush.c:
-	* testsuite/pad/link.c:
-	* testsuite/refcounting/sched.c:
-	* testsuite/registry/Makefile.am:
-	* testsuite/registry/gst-print-formats.c:
-	* testsuite/schedulers/.gitignore:
-	* testsuite/schedulers/142183-2.c:
-	* testsuite/schedulers/142183.c:
-	* testsuite/schedulers/143777-2.c:
-	* testsuite/schedulers/143777.c:
-	* testsuite/schedulers/147713.c:
-	* testsuite/schedulers/147819.c:
-	* testsuite/schedulers/147894-2.c:
-	* testsuite/schedulers/147894.c:
-	* testsuite/schedulers/Makefile.am:
-	* testsuite/schedulers/group_link.c:
-	* testsuite/schedulers/queue_link.c:
-	* testsuite/schedulers/relink.c:
-	* testsuite/schedulers/unlink.c:
-	* testsuite/schedulers/unref.c:
-	* testsuite/schedulers/useless_iteration.c:
-	* testsuite/states/bin.c:
-	  remove obsolete tests whitespace fixes
-	  Original commit message from CVS:
-	  remove obsolete tests
-	  whitespace fixes
-
-2005-10-15 15:52:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: correctly make conditionals
-	  Original commit message from CVS:
-	  * configure.ac:
-	  correctly make conditionals
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstelements.c:
-	  fix typo causing fdsrc not to build
-
-2005-10-15 15:30:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/gstadapter.c:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasetransform.c:
-	* gst/base/gstbasetransform.h:
-	* gst/base/gstcollectpads.c:
-	* gst/base/gstcollectpads.h:
-	* gst/base/gstpushsrc.h:
-	* gst/base/gsttypefindhelper.c:
-	* gst/base/gsttypefindhelper.h:
-	* gst/elements/gstbufferstore.c:
-	* gst/elements/gstcapsfilter.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfdsink.c:
-	* gst/elements/gstfdsink.h:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfdsrc.h:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gstidentity.h:
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttee.h:
-	* gst/elements/gsttypefindelement.c:
-	* gst/elements/gsttypefindelement.h:
-	* gst/glib-compat.c:
-	* gst/gst.c:
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* gst/gstcaps.c:
-	* gst/gstchildproxy.c:
-	* gst/gstclock.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstformat.c:
-	* gst/gstformat.h:
-	* gst/gstghostpad.c:
-	* gst/gstindex.c:
-	* gst/gstindex.h:
-	* gst/gstindexfactory.c:
-	* gst/gstindexfactory.h:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstinterface.c:
-	* gst/gstiterator.c:
-	* gst/gstmacros.h:
-	* gst/gstmemchunk.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.c:
-	* gst/gstpadtemplate.h:
-	* gst/gstpipeline.c:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/gstpluginfeature.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstqueue.c:
-	* gst/gstqueue.h:
-	* gst/gstregistry.h:
-	* gst/gstregistryxml.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gsttrace.c:
-	* gst/gsttrace.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypefind.h:
-	* gst/gsttypefindfactory.c:
-	* gst/gsttypefindfactory.h:
-	* gst/gsturi.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* gst/gstvalue.c:
-	* gst/gstvalue.h:
-	* gst/indexers/gstfileindex.c:
-	* gst/indexers/gstmemindex.c:
-	* gst/parse/types.h:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasetransform.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/base/gstpushsrc.h:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* plugins/elements/gstbufferstore.c:
-	* plugins/elements/gstcapsfilter.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsink.h:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfdsrc.h:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	* plugins/indexers/gstfileindex.c:
-	* plugins/indexers/gstmemindex.c:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2005-10-15 15:01:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: check for some headers
-	  Original commit message from CVS:
-	  * configure.ac:
-	  check for some headers
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstelements.c:
-	  don't compile fdsrc without sys/socket.h
-	  * gst/indexers/Makefile.am:
-	  * gst/indexers/gstindexers.c: (plugin_init):
-	  don't compile fileindex without mmap
-
-2005-10-15 13:58:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: reorganize clean up document more remove cruft
-	  Original commit message from CVS:
-	  * configure.ac:
-	  reorganize
-	  clean up
-	  document more
-	  remove cruft
-	  * check/Makefile.am:
-	  * docs/gst/Makefile.am:
-	  * examples/helloworld/Makefile.am:
-	  * gst/Makefile.am:
-	  * gst/base/Makefile.am:
-	  * gst/check/Makefile.am:
-	  * gst/elements/Makefile.am:
-	  * gst/indexers/Makefile.am:
-	  * gst/parse/Makefile.am:
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/dataprotocol/Makefile.am:
-	  * examples/helloworld/helloworld.c: (event_loop):
-	  compile fixes, though it's not being compiled currently
-
-2005-10-15 13:24:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-base-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  clean up pc files
-	  Original commit message from CVS:
-	  clean up pc files
-
-2005-10-15 12:03:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* libs/gst/getbits/.gitignore:
-	  remove dir
-	  Original commit message from CVS:
-	  remove dir
-
-2005-10-15 10:34:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/schedulers/.gitignore:
-	  remove directory
-	  Original commit message from CVS:
-	  remove directory
-
-2005-10-15 00:22:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.c:
-	* gst/gstplugin.h:
-	* gst/gststructure.c:
-	* gst/gsturi.c:
-	  signedness/type fixes
-	  Original commit message from CVS:
-	  signedness/type fixes
-
-2005-10-15 00:20:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstvalue.c:
-	  signedness/type fixes
-	  Original commit message from CVS:
-	  signedness/type fixes
-
-2005-10-15 00:15:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelementfactory.c:
-	* gst/gstelementfactory.h:
-	* gst/gstpad.c:
-	  signedness fixes
-	  Original commit message from CVS:
-	  signedness fixes
-
-2005-10-15 00:12:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	  signedness fixes
-	  Original commit message from CVS:
-	  signedness fixes
-
-2005-10-14 17:01:56 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  check/gst/gsttag.c: Add some simple tests for the new taglist date API.
-	  Original commit message from CVS:
-	  * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
-	  Add some simple tests for the new taglist date API.
-
-2005-10-14 14:10:24 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/: Beautify 'last-message' output: print 'none' for buffer timestamps and durations if none is set; impro...
-	  Original commit message from CVS:
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_render):
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_create):
-	  Beautify 'last-message' output: print 'none' for buffer timestamps
-	  and durations if none is set; improve alignment with next messages.
-
-2005-10-14 11:09:29 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add new API to check plugin feature version requirements.
-	  Original commit message from CVS:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
-	  * gst/gstpluginfeature.h:
-	  * gst/gstregistry.c: (gst_default_registry_check_feature_version):
-	  * gst/gstregistry.h:
-	  * docs/gst/gstreamer-sections.txt:
-	  Add new API to check plugin feature version requirements.
-	  * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
-	  Some basic tests for the above.
-
-2005-10-13 21:27:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gststructure.c: guard against NULL printf - happens when for example a message structure with GstClock gets seria...
-	  Original commit message from CVS:
-	  2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/gststructure.c: (gst_structure_to_string):
-	  guard against NULL printf - happens when for example
-	  a message structure with GstClock gets serialized
-
-2005-10-13 18:33:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstcollectpads.c: Fix presumable copy'n'pasto.
-	  Original commit message from CVS:
-	  * gst/base/gstcollectpads.c: (gst_collectpads_event):
-	  Fix presumable copy'n'pasto.
-
-2005-10-13 17:51:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfilesrc.c:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfilesrc.c:
-	  add correct header for WIN32
-	  Original commit message from CVS:
-	  add correct header for WIN32
-
-2005-10-13 17:43:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/elements/: fix some signedness
-	  Original commit message from CVS:
-	  * gst/elements/gstfakesrc.h:
-	  * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
-	  * gst/elements/gsttypefindelement.c:
-	  fix some signedness
-	  * gst/elements/gstfilesink.c: (gst_file_sink_render):
-	  I wonder if this could actually write +2GB files before
-
-2005-10-13 17:24:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstreamer.def:
-	  add an export
-	  Original commit message from CVS:
-	  add an export
-
-2005-10-13 17:20:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/glib-compat.h:
-	* gst/gstpad.c:
-	  include header correctly; show me the name
-	  Original commit message from CVS:
-	  include header correctly; show me the name
-
-2005-10-13 16:34:04 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  foo
-	  Original commit message from CVS:
-	  foo
-
-2005-10-13 16:26:12 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps): 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-13 15:27:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  fixed typos
-	  Original commit message from CVS:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/random/TODO-pre-0.9:
-	  * docs/random/old/ChangeLog.gstreamer:
-	  * gst/base/gstpushsrc.c:
-	  * gst/gstclock.c:
-	  fixed typos
-
-2005-10-13 15:23:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: GLib 2.6 g_flags_get_first_value has a bug that triggers an infinite loop
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (gst_flags_get_first_value):
-	  * gst/glib-compat.h:
-	  * gst/gstvalue.c: (gst_value_deserialize_int_helper),
-	  (gst_value_compare_double), (gst_value_serialize_flags):
-	  GLib 2.6 g_flags_get_first_value has a bug that triggers an
-	  infinite loop
-
-2005-10-13 15:22:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/: fix up debugging
-	  Original commit message from CVS:
-	  2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  fix up debugging
-	  * tools/gst-launch.c: (event_loop):
-	  print out clock nicely
-
-2005-10-13 15:13:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttaglist.h:
-	  * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
-	  (gst_tag_list_get_date_index):
-	  Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
-	  GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
-
-2005-10-13 14:55:17 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/base/gstcollectpads.*: Handle newsegment and store informations in CollectData.
-	  Original commit message from CVS:
-	  2005-10-13  Julien MOUTTE  <julien@moutte.net>
-	  * gst/base/gstcollectpads.c: (gst_collectpads_event),
-	  (gst_collectpads_chain):
-	  * gst/base/gstcollectpads.h: Handle newsegment and store
-	  informations
-	  in CollectData.
-
-2005-10-13 09:57:15 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  fix GOption context leaks doc fixes
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gst.c:
-	  * gst/gsterror.h:
-	  * tools/gst-inspect.c: (main):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-run.c: (main):
-	  * tools/gst-xmlinspect.c: (main):
-	  fix GOption context leaks
-	  doc fixes
-
-2005-10-12 22:34:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstbus.c: use HAVE_UNISTD_H
-	  Original commit message from CVS:
-	  * gst/gstbus.c:
-	  use HAVE_UNISTD_H
-	  * win32/common/config.h:
-	  update config
-	  * win32/vs6/grammar.dsp:
-	  * win32/vs6/libgstelements.dsp:
-	  * win32/vs6/libgstreamer.dsp:
-	  update vs6 files
-
-2005-10-12 22:00:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/common/libgstbase.def:
-	  had a few too many 0D bytes
-	  Original commit message from CVS:
-	  had a few too many 0D bytes
-
-2005-10-12 21:56:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/: fix more guint64<->gdouble conversions
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  * gst/base/gstbasesrc.c: (gst_base_src_query):
-	  fix more guint64<->gdouble conversions
-
-2005-10-12 20:23:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: add win32-update target
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  add win32-update target
-	  * win32/common/gstconfig.h:
-	  * win32/common/gstenumtypes.c:
-	  * win32/common/gstenumtypes.h:
-	  * win32/common/gstversion.h:
-	  add files that visual studio can't generate
-
-2005-10-12 19:38:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Protect flags with proper lock. unref provided cached clock in dispose.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	  (reset_degree), (gst_bin_dispose), (bin_bus_handler):
-	  * gst/gstelement.c: (gst_element_commit_state),
-	  (gst_element_set_state):
-	  Protect flags with proper lock.
-	  unref provided cached clock in dispose.
-
-2005-10-12 19:14:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstconfig.h.in:
-	  layout cleanup
-	  Original commit message from CVS:
-	  layout cleanup
-
-2005-10-12 19:10:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  removed unused flags from miniobject doc fixes
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gstminiobject.h:
-	  * gst/gstpad.h:
-	  * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
-	  removed unused flags from miniobject
-	  doc fixes
-
-2005-10-12 18:03:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/vs6/grammar.dsp:
-	* win32/vs6/gst_inspect.dsp:
-	* win32/vs6/gst_launch.dsp:
-	* win32/vs6/gstreamer.dsw:
-	* win32/vs6/libgstbase.dsp:
-	* win32/vs6/libgstelements.dsp:
-	* win32/vs6/libgstreamer.dsp:
-	  convert to unix line ends; since the source is also unix-style line ends, developers don't need to fiddle and special...
-	  Original commit message from CVS:
-	  convert to unix line ends; since the source is also unix-style line ends, developers don't need to fiddle and special-case, but can just allow translation on the fly
-
-2005-10-12 16:03:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/gstfilesink.c: Flush before seeking.
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
-	  (gst_file_sink_event), (gst_file_sink_render):
-	  Flush before seeking.
-
-2005-10-12 15:58:24 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gst.c (gst_init_check): Ignore unknown options, as has always been the case.
-	  Original commit message from CVS:
-	  2005-10-12  Andy Wingo  <wingo@pobox.com>
-	  * gst/gst.c (gst_init_check): Ignore unknown options, as has
-	  always been the case.
-
-2005-10-12 14:28:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/base/gstbasesink.c: (gst_base_sink_init):
-	  * gst/base/gstbasesrc.c: (gst_base_src_init),
-	  (gst_base_src_get_range), (gst_base_src_check_get_range),
-	  (gst_base_src_start), (gst_base_src_stop):
-	  * gst/base/gstbasesrc.h:
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	  (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
-	  (bin_bus_handler):
-	  * gst/gstbin.h:
-	  * gst/gstbuffer.h:
-	  * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
-	  * gst/gstbus.h:
-	  * gst/gstelement.c: (gst_element_is_locked_state),
-	  (gst_element_set_locked_state), (gst_element_commit_state),
-	  (gst_element_set_state):
-	  * gst/gstelement.h:
-	  * gst/gstindex.c: (gst_index_init):
-	  * gst/gstindex.h:
-	  * gst/gstminiobject.h:
-	  * gst/gstobject.c: (gst_object_init), (gst_object_sink),
-	  (gst_object_set_parent):
-	  * gst/gstobject.h:
-	  * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
-	  (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
-	  * gst/gstpad.h:
-	  * gst/gstpadtemplate.h:
-	  * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
-	  (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
-	  * gst/gstpipeline.h:
-	  * gst/indexers/gstfileindex.c: (gst_file_index_load),
-	  (gst_file_index_commit):
-	  * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
-	  * testsuite/pad/link.c: (gst_test_src_init),
-	  (gst_test_filter_init), (gst_test_sink_init):
-	  * testsuite/states/locked.c: (main):
-	  renamed GST_FLAGS macros to GST_OBJECT_FLAGS
-	  moved bitshift from macro to enum definition
-
-2005-10-12 14:12:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Some more debugging info.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
-	  * gst/elements/gstfilesink.c: (gst_file_sink_event),
-	  (gst_file_sink_render):
-	  Some more debugging info.
-
-2005-10-12 12:58:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Some doc updates.
-	  Original commit message from CVS:
-	  * docs/design/part-states.txt:
-	  * tools/gst-launch.c: (main):
-	  Some doc updates.
-	  Revert non-intentional change.
-
-2005-10-12 12:18:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Use GstClockTime in _get_state() instead of GTimeVal.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstelement.c: (GST_START_TEST):
-	  * check/gst/gstevent.c: (GST_START_TEST), (test_event):
-	  * check/gst/gstghostpad.c: (GST_START_TEST):
-	  * check/gst/gstpipeline.c: (GST_START_TEST):
-	  * check/pipelines/simple_launch_lines.c: (run_pipeline):
-	  * check/states/sinks.c: (GST_START_TEST):
-	  * gst/elements/gsttypefindelement.c: (stop_typefinding):
-	  * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
-	  (gst_bin_remove_func), (gst_bin_get_state_func),
-	  (gst_bin_recalc_state), (gst_bin_change_state_func),
-	  (bin_bus_handler):
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_get_state), (gst_element_abort_state),
-	  (gst_element_commit_state), (gst_element_set_state),
-	  (gst_element_change_state), (gst_element_change_state_func):
-	  * gst/gstelement.h:
-	  * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
-	  (gst_pipeline_provide_clock_func):
-	  * gst/gstutils.c: (gst_element_link_pads_filtered):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-typefind.c: (main):
-	  Use GstClockTime in _get_state() instead of GTimeVal.
-	  Remove old code in gstutils.c
-
-2005-10-12 11:49:35 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if there is no task. Shouldn't affect any code, as nothing i...
-	  Original commit message from CVS:
-	  2005-10-12  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
-	  there is no task. Shouldn't affect any code, as nothing in our
-	  plugins checks this return value.
-	  (gst_pad_stop_task): Also take the stream lock if the pad has no
-	  task. Docs updated.
-
-2005-10-12 10:05:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Cleanup activation code. Reset old state if activation failed.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (pre_activate), (post_activate),
-	  (gst_pad_activate_pull), (gst_pad_activate_push):
-	  Cleanup activation code. Reset old state if
-	  activation failed.
-
-2005-10-12 09:02:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: No need to prerol after receiving EOS.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_change_state):
-	  No need to prerol after receiving EOS.
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_event):
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
-	  * gst/elements/gstidentity.c: (gst_identity_event):
-	  Print events more verbosely.
-
-2005-10-12 08:38:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/: Moved sinks2 testcode in sinks check.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
-	  * check/states/sinks2.c:
-	  Moved sinks2 testcode in sinks check.
-	  * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
-	  (gst_bin_remove_func), (gst_bin_recalc_state),
-	  (gst_bin_change_state_func), (bin_bus_handler):
-	  Fix potential race condition when _get_state() iterated over an
-	  ASYNC element right before it posted a state completion.
-	  * gst/gstclock.h:
-	  Do proper cast here.
-	  * gst/gstevent.c: (gst_event_new_newsegment),
-	  (gst_event_parse_newsegment):
-	  A playback rate of 0.0 is not allowed.
-
-2005-10-12 02:26:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	  autoconf for freebsd
-	  Original commit message from CVS:
-	  autoconf for freebsd
-
-2005-10-12 02:25:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	  autoconf for freebsd
-	  Original commit message from CVS:
-	  autoconf for freebsd
-
-2005-10-12 02:23:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	  autoconf for freebsd
-	  Original commit message from CVS:
-	  autoconf for freebsd
-
-2005-10-12 02:19:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	  autoconf for freebsd
-	  Original commit message from CVS:
-	  autoconf for freebsd
-
-2005-10-12 02:16:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	  autoconf for freebsd
-	  Original commit message from CVS:
-	  autoconf for freebsd
-
-2005-10-11 18:03:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  win32/: Visual Studio 6 project files, and a new common directory.
-	  Original commit message from CVS:
-	  2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * win32/common/config.h:
-	  * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
-	  (_trewinddir), (_ttelldir), (_tseekdir):
-	  * win32/common/dirent.h:
-	  * win32/common/gtchar.h:
-	  * win32/common/libgstbase.def:
-	  * win32/common/libgstreamer.def:
-	  * win32/vs6/grammar.dsp:
-	  * win32/vs6/gst_inspect.dsp:
-	  * win32/vs6/gst_launch.dsp:
-	  * win32/vs6/gstreamer.dsw:
-	  * win32/vs6/libgstbase.dsp:
-	  * win32/vs6/libgstelements.dsp:
-	  * win32/vs6/libgstreamer.dsp:
-	  Visual Studio 6 project files, and a new common directory.
-	  Phear.
-
-2005-10-11 17:33:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesink.h:
-	  forgot this one
-	  Original commit message from CVS:
-	  forgot this one
-
-2005-10-11 17:32:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Correctly parse newsegment info.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync), (gst_base_sink_query),
-	  (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  Correctly parse newsegment info.
-
-2005-10-11 16:54:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: split plugin paths correctly
-	  Original commit message from CVS:
-	  2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/gst.c: (init_post):
-	  split plugin paths correctly
-
-2005-10-11 16:28:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Added extra flag to newsegment for future API freeze.
-	  Original commit message from CVS:
-	  * check/gst/gstevent.c: (GST_START_TEST):
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_change_state):
-	  * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
-	  * gst/base/gstbasetransform.c: (gst_base_transform_event):
-	  * gst/elements/gstfilesink.c: (gst_file_sink_event):
-	  * gst/gstevent.c: (gst_event_new_newsegment),
-	  (gst_event_parse_newsegment):
-	  * gst/gstevent.h:
-	  Added extra flag to newsegment for future API freeze.
-	  Updated check and base elements.
-
-2005-10-11 16:25:35 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/base/gstcollectpads.*: Handle EOS correctly.
-	  Original commit message from CVS:
-	  2005-10-11  Julien MOUTTE  <julien@moutte.net>
-	  * gst/base/gstcollectpads.c: (gst_collectpads_init),
-	  (gst_collectpads_add_pad), (gst_collectpads_pop),
-	  (gst_collectpads_event), (gst_collectpads_chain):
-	  * gst/base/gstcollectpads.h: Handle EOS correctly.
-
-2005-10-11 16:21:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* tools/gst-launch.c:
-	  more str null protection
-	  Original commit message from CVS:
-	  more str null protection
-
-2005-10-11 16:05:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE
-	  Original commit message from CVS:
-	  * gst/gst-i18n-lib.h:
-	  check for ENABLE_NLS, not GETTEXT_PACKAGE
-	  * gst/gstregistry.c: (gst_registry_add_plugin),
-	  (gst_registry_scan_path_level),
-	  (_gst_registry_remove_cache_plugins):
-	  protect possibly NULL strings
-	  * gst/parse/types.h:
-	  config.h already included before
-	  * tools/gst-inspect.c: (main):
-	  sys/wait.h also doesn�t exist on mingw, so change the ifdef check
-	  check for ENABLE_NLS, not GETTEXT_PACKAGE
-	  * tools/gst-launch.c: (main):
-	  check for ENABLE_NLS, not GETTEXT_PACKAGE
-	  This commit brought to you from msys/mingw
-
-2005-10-11 15:26:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: if we don't have glib, fail before testing 2.8
-	  Original commit message from CVS:
-	  * configure.ac:
-	  if we don't have glib, fail before testing 2.8
-	  * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
-	  fix a leak, should fix plugins-base testsuite
-
-2005-10-11 15:23:10 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (pre_activate): Renamed from pre_activate_switch, take the mode we're going to as an arg. Go head and se...
-	  Original commit message from CVS:
-	  2005-10-11  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
-	  take the mode we're going to as an arg. Go head and set the mode
-	  and flushing flags now, so that if the activate function starts a
-	  thread all the flags will be in the right state.
-	  (post_activate): Renamed also. Just handle making sure streaming
-	  finishes for the deactivation case, and setting the deactivated
-	  mode.
-	  (gst_pad_set_active): Complain loudly if deactivation fails.
-	  (gst_pad_activate_pull): Adapt to pre/post_activate changes.
-	  (gst_pad_activate_push): Adapt to pre/post_activate changes,
-	  remove the terrible hack.
-
-2005-10-11 15:05:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.*: Prepare to make current EOS message queue more generic.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
-	  (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
-	  (gst_bin_recalc_state), (gst_bin_change_state_func),
-	  (gst_bin_dispose), (bin_bus_handler):
-	  * gst/gstbin.h:
-	  Prepare to make current EOS message queue more generic.
-	  Fix some typos.
-	  * gst/gstevent.c: (gst_event_new_newsegment),
-	  (gst_event_parse_newsegment):
-	  * gst/gstevent.h:
-	  Rename base to stream_time.
-	  * gst/gstmessage.h:
-	  Fix typo in docs.
-
-2005-10-11 12:58:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.*: Work on proper clock selection.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
-	  (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
-	  (gst_bin_change_state_func), (bin_bus_handler):
-	  * gst/gstbin.h:
-	  Work on proper clock selection.
-
-2005-10-11 12:42:23 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/controller/gstcontroller.*: Added GList* version of _remove_properties() in order to be able to wrap it in b...
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
-	  * libs/gst/controller/gstcontroller.h:
-	  Added GList* version of _remove_properties() in order to be able to wrap
-	  it in bindings.
-
-2005-10-11 11:08:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-states.txt: Some more docs.
-	  Original commit message from CVS:
-	  * docs/design/part-states.txt:
-	  Some more docs.
-	  * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
-	  (gst_bin_change_state_func), (bin_bus_handler):
-	  Doc updates. Don't distribute the same clock over and over again.
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  Doc updates.
-	  * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
-	  (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
-	  (gst_pad_send_event):
-	  * gst/gstpad.h:
-	  Make probe emission threadsafe again.
-	  Register quarks and move _get_name() from utils.
-	  Doc updates.
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
-	  Only redistribute the clock of it changed.
-	  * gst/gstsystemclock.h:
-	  Doc updates.
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  Moved the _flow_get_name() to GstPad.
-
-2005-10-11 09:14:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/gstbuffer.c:
-	  if we log our init, should also log finalize
-	  Original commit message from CVS:
-	  if we log our init, should also log finalize
-
-2005-10-10 23:55:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst-libs/gdp.c:
-	* check/gst/gstcaps.c:
-	* common:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/libs/gdp.c:
-	  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-10 23:11:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/parse/grammar.y:
-	  don't declare on the proper define
-	  Original commit message from CVS:
-	  don't declare on the proper define
-
-2005-10-10 22:59:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/parse/grammar.y:
-	  unmangle the nesting a little
-	  Original commit message from CVS:
-	  unmangle the nesting a little
-
-2005-10-10 22:49:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/parse/grammar.y: some cleanup before the hacking
-	  Original commit message from CVS:
-	  * gst/parse/grammar.y:
-	  some cleanup before the hacking
-
-2005-10-10 18:16:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/gstbasesrc.c: use conversions
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_query):
-	  use conversions
-	  * gst/gstutils.c: (gst_guint64_to_gdouble),
-	  (gst_gdouble_to_guint64), (gst_util_uint64_scale):
-	  * gst/gstutils.h:
-	  externalize, basesrc uses it
-	  obviously the implementation needs testing
-
-2005-10-10 17:05:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstutils.c:
-	  another cast bites the dust
-	  Original commit message from CVS:
-	  another cast bites the dust
-
-2005-10-10 16:45:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstutils.c:
-	  another cast bites the dust
-	  Original commit message from CVS:
-	  another cast bites the dust
-
-2005-10-10 16:43:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tests/sched/:
-	  Original commit message from CVS:
-	  * tests/sched/Makefile.am:
-	  * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
-	  (make_pipeline3), (make_pipeline4), (print_elem), (main):
-
-2005-10-10 16:38:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstutils.c: apparently converting from guint64 to double is not implemented on MSVC
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
-	  apparently converting from guint64 to double is not implemented
-	  on MSVC
-
-2005-10-10 16:38:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/: Check fixes, use API as stated in design docs, remove hacks.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/generic/states.c: (GST_START_TEST):
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
-	  * check/states/sinks.c: (GST_START_TEST):
-	  * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
-	  (main):
-	  Check fixes, use API as stated in design docs, remove hacks.
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_change_state):
-	  Catch stopping our task while we're shutting down.
-	  * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
-	  (gst_bin_remove_func), (gst_bin_get_state_func),
-	  (gst_bin_recalc_state), (gst_bin_change_state_func),
-	  (bin_bus_handler):
-	  * gst/gstbin.h:
-	  * gst/gstelement.c: (gst_element_init),
-	  (gst_element_get_state_func), (gst_element_abort_state),
-	  (gst_element_commit_state), (gst_element_lost_state),
-	  (gst_element_set_state), (gst_element_change_state),
-	  (gst_element_change_state_func):
-	  * gst/gstelement.h:
-	  New state change algorithm (see #318116)
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_init), (gst_pipeline_set_property),
-	  (gst_pipeline_get_property), (do_pipeline_seek),
-	  (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
-	  * gst/gstpipeline.h:
-	  Remove crude state change hacks.
-	  * gst/gstutils.h:
-	  Remove crude hacks.
-	  * tools/gst-launch.c: (main):
-	  Fixes for state change. Needs some more work to fully use the
-	  new stuff.
-
-2005-10-10 16:20:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/Makefile.am (noinst_PROGRAMS): No more init.c.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
-
-2005-10-10 16:04:28 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires this flag, but it's not even in GLib 2.6. Odd. Hack ar...
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
-	  this flag, but it's not even in GLib 2.6. Odd. Hack around the
-	  issue.
-
-2005-10-10 15:58:32 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstiterator.c: Fix my previous commit: GTypes passed to gst_iterator_new() can be fundamental types.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c: (gst_iterator_new):
-	  Fix my previous commit: GTypes passed to gst_iterator_new()
-	  can be fundamental types.
-
-2005-10-10 15:55:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Use src/sink pads lists for the respective iterators instead of filtering.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_iterate_pad_list),
-	  (gst_element_iterate_pads), (gst_element_iterate_src_pads),
-	  (gst_element_iterate_sink_pads):
-	  Use src/sink pads lists for the respective iterators instead
-	  of filtering.
-
-2005-10-10 15:53:59 +0000  Ronald <rbultje@ronald.bitfreak.net>
-
-	  Merged in popt removal + GOption addition patch from Ronald, bug #169772.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  Merged in popt removal + GOption addition patch from Ronald, bug
-	  #169772.
-	  * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
-	  GstElement macros around, remove popt-related symbols, add goption
-	  stuff.
-	  * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am: No POPT_CFLAGS.
-	  * examples/manual/Makefile.am:
-	  * docs/manual/basics-init.xml: Doc updates with an example.
-	  * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
-	  (gst_init), (parse_one_option), (parse_goption_arg):
-	  * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
-	  bit of hand merging and debugging to get the GOption stuff working
-	  tho.
-	  * tests/Makefile.am:
-	  * tools/Makefile.am:
-	  * tools/gst-inspect.c: (main):
-	  * tools/gst-launch.c: (main):
-	  * tools/gst-run.c: (main):
-	  * tools/gst-xmlinspect.c: (main): Thanks Ronald!
-
-2005-10-10 15:30:45 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstiterator.c: Add assertions to make sure passed GType is likely to really be a GType (as the compiler won't cat...
-	  Original commit message from CVS:
-	  * gst/gstiterator.c: (gst_iterator_new):
-	  Add assertions to make sure passed GType is likely to really
-	  be a GType (as the compiler won't catch it if the size and
-	  GType arguments get mixed up, see #318447).
-
-2005-10-10 15:27:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbin.c: Pass GType and size arguments to gst_iterator_new() in the right order (maybe we should make _new() tak...
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstbin.c: (gst_bin_iterate_sorted):
-	  Pass GType and size arguments to gst_iterator_new() in the right
-	  order (maybe we should make _new() take the GType as first argument
-	  just like _new_list()?) (#318447).
-
-2005-10-10 15:17:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: And free the GStaticRecMutex too
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_finalize):
-	  And free the GStaticRecMutex too
-
-2005-10-10 14:33:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/GStreamer.vcproj:
-	* win32/vs7/GStreamer.vcproj:
-	  don't echo path
-	  Original commit message from CVS:
-	  don't echo path
-
-2005-10-10 14:33:13 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.c (gst_element_init, gst_element_finalize): Allocate and free the mutex properly.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.c (gst_element_init, gst_element_finalize):
-	  Allocate and free the mutex properly.
-	  * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
-	  New macros.
-	  (GstElement): The state_lock is now recursive. Rebuild your
-	  plugins, suckers. Old macros adapted.
-
-2005-10-10 14:23:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2005-10-10 14:23:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/gst/gstreamer-sections.txt: Doc updates.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * docs/gst/gstreamer-sections.txt: Doc updates.
-	  * gst/gstutils.h:
-	  * gst/gstutils.c (g_static_rec_cond_timed_wait)
-	  (g_static_rec_cond_wait): Ported from state changes patch, while
-	  we wait on bug #317802 to be solved in a well-distributed GLib.
-
-2005-10-10 14:15:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/MANIFEST:
-	* win32/libgstbase.def:
-	* win32/libgstbase.vcproj:
-	* win32/link_oldruntime.c:
-	* win32/vs7/libgstbase.def:
-	* win32/vs7/libgstbase.vcproj:
-	* win32/vs7/link_oldruntime.c:
-	  add more win32 build files
-	  Original commit message from CVS:
-	  add more win32 build files
-
-2005-10-10 14:03:25 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.c (gst_element_change_state_func): Renamed from gst_element_change_state, variable name changes.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.c (gst_element_change_state_func): Renamed from
-	  gst_element_change_state, variable name changes.
-	  (gst_element_change_state): Split out of gst_element_set_state in
-	  preparation for the state change merge. Doesn't pay attention to
-	  the 'transition' argument.
-	  (gst_element_set_state): Updates, hopefully purely cosmetic.
-	  (gst_element_sync_state_with_parent): MT-safety. Ported from the
-	  state change patch.
-	  (gst_element_get_state_func): Renamed from get_state, cosmetic
-	  changes.
-
-2005-10-10 13:52:18 +0000  Sebastien Moutte <sebastien@moutte.net>
-
-	  updates for the win32 build (patch from Sebastien Moutte)
-	  Original commit message from CVS:
-	  * gst/elements/gstelements.c:
-	  * win32/GStreamer.vcproj:
-	  * win32/config.h:
-	  * win32/dirent.c: (_tseekdir):
-	  * win32/gst-inspect.vcproj:
-	  * win32/gst-launch.vcproj:
-	  * win32/gstconfig.h:
-	  * win32/gstelements.vcproj:
-	  * win32/gstenumtypes.c: (gst_object_flags_get_type):
-	  * win32/gstreamer.def:
-	  * win32/msvc71.sln:
-	  updates for the win32 build (patch from Sebastien Moutte)
-
-2005-10-10 11:52:58 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbin.c (gst_bin_get_state_func): Renamed from gst_bin_get_state, cleaned up (but no logic changes).
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbin.c (gst_bin_get_state_func): Renamed from
-	  gst_bin_get_state, cleaned up (but no logic changes).
-	  (bin_element_is_sink): Comment updates.
-	  (sink_iterator_filter): Remove needless cast.
-	  (gst_bin_iterate_sinks): Doc update.
-	  (gst_bin_change_state_func): Renamed from gst_bin_change_state,
-	  cleaned up (but no logic changes).
-
-2005-10-10 11:04:55 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/states/sinks.c (test_src_sink): Cleanups from the state change patch.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * check/states/sinks.c (test_src_sink): Cleanups from the state
-	  change patch.
-	  (test_livesrc_sink): Sync on the state.
-
-2005-10-10 10:59:33 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/pipelines/simple_launch_lines.c (run_pipeline): Merge from the state change patch.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
-	  the state change patch.
-
-2005-10-10 10:57:40 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstghostpad.c (test_ghost_pads): Merge from the state change patch.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
-	  change patch.
-
-2005-10-10 10:50:12 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstbin.c: Merge in some style fixes and additional checks from Wim's state change patch.
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstbin.c: Merge in some style fixes and additional
-	  checks from Wim's state change patch.
-
-2005-10-10 10:43:15 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gsttypefindhelper.c: Check whether we have the requested data already in our list of cached buffers before p...
-	  Original commit message from CVS:
-	  * gst/base/gsttypefindhelper.c: (helper_find_peek),
-	  (gst_type_find_helper):
-	  Check whether we have the requested data already in our list of
-	  cached buffers before pulling a new buffer; also make the buffer
-	  list a GSList. Speeds up typefinding by ca. 5-10% altogether.
-
-2005-10-10 09:48:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: doc updates
-	  Original commit message from CVS:
-	  * gst/gstcaps.c:
-	  * gst/gstevent.c:
-	  doc updates
-	  * gst/gstvalue.c: (gst_value_deserialize_int_helper):
-	  don't use long long, it's not portable.  Replacing with
-	  gint64 seems to work; let's hope no skeletons fall out of the closet.
-
-2005-10-10 08:51:59 +0000  Andy Wingo <wingo@pobox.com>
-
-	  autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
-	  Original commit message from CVS:
-	  2005-10-10  Andy Wingo  <wingo@pobox.com>
-	  * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
-
-2005-10-09 20:49:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs, fix compilation
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  * gst/gstmessage.c: (gst_message_parse_state_changed):
-	  * gst/gstpad.c:
-	  * gst/gstpad.h:
-	  more docs, fix compilation
-
-2005-10-09 20:19:48 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
-
-	  gst/gstmessage.c: Fixed a few forgotten variables on previous commit
-	  Original commit message from CVS:
-	  2005-10-09  Philippe Khalaf <burger@speedy.org>
-	  * gst/gstmessage.c:
-	  Fixed a few forgotten variables on previous commit
-
-2005-10-09 17:59:08 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gsttypefindhelper.c: Fix evil typefind crasher: getrange() might return a short buffer at the end of a file,...
-	  Original commit message from CVS:
-	  * gst/base/gsttypefindhelper.c: (helper_find_peek):
-	  Fix evil typefind crasher: getrange() might return a short
-	  buffer at the end of a file, but gst_type_find_peek() must
-	  either return the full data as requested or NULL, but
-	  never a short buffer.
-
-2005-10-09 17:53:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstmessage.*: don't use new, it's a C++ keyword
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_state_changed),
-	  (gst_message_parse_state_changed):
-	  * gst/gstmessage.h:
-	  don't use new, it's a C++ keyword
-
-2005-10-09 17:22:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  once is enough
-	  Original commit message from CVS:
-	  once is enough
-
-2005-10-08 18:21:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Small docs and debug updates.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
-	  * gst/gstelement.c: (gst_element_post_message):
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Small docs and debug updates.
-
-2005-10-08 18:07:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstelementfactory.c:
-	  * gst/gstevent.c:
-	  * gst/gsttaglist.c:
-	  more docs
-
-2005-10-08 18:01:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Fix typos, add comments.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
-	  (gst_bin_dispose), (bin_bus_handler):
-	  Fix typos, add comments.
-	  Clear EOS list when going to PAUSED from any direction and do it
-	  in a threadsafe way.
-	  Get base time in a threadsafe way too.
-	  Fix confusing debug in the change_state function.
-	  Various other mall cleanups.
-	  * gst/gstelement.c: (gst_element_post_message):
-	  Fix very verbose bus posting code.
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_set_property), (gst_pipeline_get_property),
-	  (gst_pipeline_change_state):
-	  Small ARG_ -> PROP_ cleanup
-
-2005-10-08 17:30:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Do a less CPU demanding EOS check because we can.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (is_eos), (bin_bus_handler):
-	  Do a less CPU demanding EOS check because we can.
-
-2005-10-08 17:17:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/dataprotocol/: 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-10-08 16:49:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Many doc updates.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstelement.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-live-source.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-states.txt:
-	  Many doc updates.
-
-2005-10-08 16:13:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.*: Fix event quark registration.
-	  Original commit message from CVS:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  Fix event quark registration.
-	  Add some space between events so we can insert them in the
-	  right groups.
-
-2005-10-08 14:57:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Better log message.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_handle_buffer):
-	  Better log message.
-	  * gst/gstbus.h:
-	  * gst/gstelement.h:
-	  More docs.
-	  * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
-	  (gst_queue_set_property), (gst_queue_get_property):
-	  * gst/gstqueue.h:
-	  Remove old unused properties.
-
-2005-10-08 14:48:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  lots of new docs and doc fixes
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstmessage.c:
-	  * gst/gstmessage.h:
-	  * gst/gstminiobject.c:
-	  * gst/gstminiobject.h:
-	  * gst/gstobject.h:
-	  * gst/gstpad.h:
-	  * gst/gstutils.h:
-	  lots of new docs and doc fixes
-
-2005-10-08 14:41:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstregistry.c:
-	  fix a leak I introduced
-	  Original commit message from CVS:
-	  fix a leak I introduced
-
-2005-10-08 13:57:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: Only ever load one plugin for a given plugin basename.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
-	  * gst/gstplugin.h:
-	  * gst/gstregistry.c: (gst_registry_lookup_locked),
-	  (gst_registry_scan_path_level):
-	  * gst/gstregistryxml.c: (load_plugin):
-	  Only ever load one plugin for a given plugin basename.
-	  This ensures correct overriding of GST_PLUGIN_PATH over
-	  GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
-	  system installed plugins.
-
-2005-10-08 13:39:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Prepare for doing QOS.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
-	  Prepare for doing QOS.
-
-2005-10-08 13:10:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/: Allow new clock message too.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/pipelines/cleanup.c: (GST_START_TEST):
-	  * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
-	  Allow new clock message too.
-
-2005-10-08 12:56:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.*: Also carry the clock in question.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_tag),
-	  (gst_message_new_state_changed), (gst_message_new_clock_provide),
-	  (gst_message_new_clock_lost), (gst_message_new_new_clock),
-	  (gst_message_new_segment_start), (gst_message_new_segment_done),
-	  (gst_message_parse_state_changed),
-	  (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
-	  (gst_message_parse_new_clock):
-	  * gst/gstmessage.h:
-	  Also carry the clock in question.
-
-2005-10-08 12:36:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.*: Clean up.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_custom),
-	  (gst_message_new_eos), (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_tag),
-	  (gst_message_new_state_changed), (gst_message_new_clock_provide),
-	  (gst_message_new_new_clock), (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_parse_state_changed),
-	  (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
-	  * gst/gstmessage.h:
-	  Clean up.
-	  Added clock related messages.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Post message when the clock changed.
-	  * tools/gst-launch.c: (event_loop):
-	  Print new clock.
-
-2005-10-08 11:16:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Can't pass NULL strings to g_print() on windows.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Can't pass NULL strings to g_print() on windows.
-
-2005-10-08 11:12:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/: add a chapter on running GStreamer.
-	  Original commit message from CVS:
-	  * docs/Makefile.am:
-	  * docs/gst/Makefile.am:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/running.xml:
-	  * docs/version.entities.in:
-	  add a chapter on running GStreamer.
-	  document GST_DEBUG and GST_PLUGIN* env vars
-
-2005-10-08 11:10:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  Makefile.am: remove include dir
-	  Original commit message from CVS:
-	  * Makefile.am:
-	  remove include dir
-	  * configure.ac:
-	  remove PLUGINS_BUILDDIR stuff
-	  * gst/gst.c: (init_post):
-	  reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
-	  * idiottest.mak:
-	  remove, it was condescending and not needed
-
-2005-10-08 09:58:30 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Repost EOS message while going to PLAYING if still EOS.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
-	  (gst_base_sink_handle_object), (gst_base_sink_event),
-	  (gst_base_sink_wait), (gst_base_sink_handle_event),
-	  (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  Repost EOS message while going to PLAYING if still EOS.
-	  Make sure that when receiving a FLUSH_START we don't attempt
-	  to sync on the clock anymore.
-
-2005-10-08 09:38:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Better message printout.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Better message printout.
-
-2005-10-08 09:24:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Make ChildProxy threadsafe and fix mem leaks.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
-	  (gst_bin_child_proxy_get_children_count):
-	  * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
-	  (gst_child_proxy_lookup), (gst_child_proxy_get_property),
-	  (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
-	  (gst_child_proxy_set_valist):
-	  * gst/parse/grammar.y:
-	  Make ChildProxy threadsafe and fix mem leaks.
-
-2005-10-08 09:09:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gst.c: debug the GST_PLUGIN_ env vars
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_post):
-	  debug the GST_PLUGIN_ env vars
-
-2005-10-08 08:58:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Added extra field to STATE_CHANGE message with the pending state, which will be different from the new state soon.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * check/gst/gstmessage.c: (GST_START_TEST):
-	  * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
-	  * gst/gstelement.c: (gst_element_commit_state),
-	  (gst_element_lost_state):
-	  * gst/gstmessage.c: (gst_message_new_state_changed),
-	  (gst_message_parse_state_changed):
-	  * gst/gstmessage.h:
-	  * tools/gst-launch.c: (event_loop):
-	  Added extra field to STATE_CHANGE message with the pending
-	  state, which will be different from the new state soon.
-
-2005-10-08 08:00:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Small cleanups and doc updates.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_pop):
-	  * gst/gstclock.c:
-	  * gst/gstsystemclock.c: (gst_system_clock_async_thread):
-	  Small cleanups and doc updates.
-
-2005-10-08 06:49:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: log distributing clocks and base time
-	  Original commit message from CVS:
-	  * gst/gst.c: (init_pre):
-	  * gst/gstbin.c: (gst_bin_add_func):
-	  log distributing clocks and base time
-	  * gst/gstregistry.c: (gst_registry_add_plugin),
-	  (gst_registry_scan_path_level), (gst_registry_scan_path):
-	  clean up the debugging output a little
-	  * gst/gstutils.c: (gst_element_state_get_name):
-	  warn about a memleak (I've actually seen this be used, though
-	  it was probably a bug)
-
-2005-10-08 06:42:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  add two new functions
-	  Original commit message from CVS:
-	  add two new functions
-
-2005-10-07 18:17:23 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.*: Make the newsegment event customizable by subclasses.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_default_newsegment),
-	  (gst_base_src_newsegment), (gst_base_src_do_seek),
-	  (gst_base_src_loop), (gst_base_src_start):
-	  * gst/base/gstbasesrc.h:
-	  Make the newsegment event customizable by subclasses.
-
-2005-10-07 18:02:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.*: New event for future idea.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_new_buffersize),
-	  (gst_event_parse_buffersize):
-	  * gst/gstevent.h:
-	  New event for future idea.
-
-2005-10-07 16:28:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.c (gst_element_post_message): Doc update.
-	  Original commit message from CVS:
-	  2005-10-07  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.c (gst_element_post_message): Doc update.
-
-2005-10-07 16:13:51 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/gst/gstreamer-sections.txt: Update.
-	  Original commit message from CVS:
-	  2005-10-07  Andy Wingo  <wingo@pobox.com>
-	  * docs/gst/gstreamer-sections.txt: Update.
-	  * gst/gstmessage.c (gst_message_new_application): Made into a
-	  function like honest API calls.
-	  (gst_message_new_element): New message type.
-	  * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
-
-2005-10-07 15:25:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/elements/gstelements.c:
-	* plugins/elements/gstelements.c:
-	  fdsrc does not build currently on win32 due to socketpair
-	  Original commit message from CVS:
-	  fdsrc does not build currently on win32 due to socketpair
-
-2005-10-07 15:22:38 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/elements/fakesrc.c (test_no_preroll): New check, checks that setting a live fakesrc to PAUSED returns NO_PREROL...
-	  Original commit message from CVS:
-	  2005-10-07  Andy Wingo  <wingo@pobox.com>
-	  * check/elements/fakesrc.c (test_no_preroll): New check, checks
-	  that setting a live fakesrc to PAUSED returns NO_PREROLL both
-	  times.
-	  * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
-	  NO_PREROLL from gst_element_change_state to fall through.
-
-2005-10-07 15:13:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tools/gst-launch.c:
-	  don't use if not declared
-	  Original commit message from CVS:
-	  don't use if not declared
-
-2005-10-07 12:52:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Activating a ghostpad with no internal pad in push mode is ok.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
-	  (gst_ghost_pad_do_activate_push):
-	  Activating a ghostpad with no internal pad in push mode
-	  is ok.
-
-2005-10-07 12:45:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstobject.h: there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
-	  Original commit message from CVS:
-	  * gst/gstobject.h:
-	  there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
-	  Fixes compilation on Windows.
-
-2005-10-07 10:32:24 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* common:
-	* tools/gst-inspect.c:
-	  Print out feature and plugin count at the end when printing out all features.
-	  Original commit message from CVS:
-	  Print out feature and plugin count at the end when printing out
-	  all features.
-	  Also add a changelog entry which I'd written but not committed?
-
-2005-10-07 00:14:45 +0000  Johan Dahlin <johan@gnome.org>
-
-	  Add a GType to GstIterator, update callsites and tests.
-	  Original commit message from CVS:
-	  * check/gst/gstiterator.c: (GST_START_TEST):
-	  * gst/gstbin.c: (gst_bin_iterate_elements),
-	  (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
-	  * gst/gstelement.c: (gst_element_iterate_pads):
-	  * gst/gstformat.c: (gst_format_iterate_definitions):
-	  * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
-	  (gst_iterator_new_list), (gst_iterator_filter):
-	  * gst/gstiterator.h:
-	  * gst/gstquery.c: (gst_query_type_iterate_definitions):
-	  Add a GType to GstIterator, update callsites and tests.
-
-2005-10-06 21:09:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  doh.  use correct variable
-	  Original commit message from CVS:
-	  doh.  use correct variable
-
-2005-10-06 17:00:50 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  version gstreamer-tools package
-	  Original commit message from CVS:
-	  version gstreamer-tools package
-
-2005-10-06 14:20:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstevent.c:
-	  initialize quarks
-	  Original commit message from CVS:
-	  initialize quarks
-
-2005-10-06 14:01:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstpad.c: give events a chance to be handled by event probes when the pad is not linked
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_event_default_dispatch):
-	  give events a chance to be handled by event probes when the pad
-	  is not linked
-
-2005-10-06 13:55:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstevent.*: add string representations for event types
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_type_get_name),
-	  (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
-	  * gst/gstevent.h:
-	  add string representations for event types
-
-2005-10-06 13:42:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstevent.h:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2005-10-06 13:24:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/gstfilesink.c: Don't use NULL pointers.
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
-	  Don't use NULL pointers.
-
-2005-10-06 09:49:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: widen the debug category in output to fit the biggest one we have add a bus category and use it play with the c...
-	  Original commit message from CVS:
-	  * gst/gst_private.h:
-	  * gst/gstbus.c:
-	  * gst/gstelement.c:
-	  * gst/gstinfo.c:
-	  * gst/gstpluginfeature.c:
-	  widen the debug category in output to fit the biggest one we have
-	  add a bus category and use it
-	  play with the colors
-	  fix up some categories
-
-2005-10-06 07:42:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  first stab at reorganizing docs for pad
-	  Original commit message from CVS:
-	  first stab at reorganizing docs for pad
-
-2005-10-06 07:13:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstghostpad.c: add push activation of sink ghost pads.
-	  Original commit message from CVS:
-	  2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
-	  add push activation of sink ghost pads.
-	  Andye, please verify
-
-2005-10-05 22:35:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstpad.c:
-	  doc updates
-	  Original commit message from CVS:
-	  doc updates
-
-2005-10-05 21:34:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstutils.c: fix a bug in the case where neither element has a pad
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_link_pads):
-	  fix a bug in the case where neither element has a pad
-	  * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
-	  add a test for that case
-
-2005-10-05 17:01:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstpad.c:
-	* tests/check/gst/gstpad.c:
-	  unref our test buffers
-	  Original commit message from CVS:
-	  unref our test buffers
-
-2005-10-05 16:16:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstpad.c: emit have-data before checking for peers.  This allows for probe handlers to connect elements.  This he...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
-	  emit have-data before checking for peers.  This allows
-	  for probe handlers to connect elements.  This helps autopluggers.
-	  * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
-	  (gst_pad_suite):
-	  add six checks, linked/unlinked with no/true/false probe
-
-2005-10-05 11:50:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstobject.c:
-	  indent ifdefs
-	  Original commit message from CVS:
-	  indent ifdefs
-
-2005-10-04 18:46:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/: Protect last_message with lock.
-	  Original commit message from CVS:
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
-	  (gst_fake_sink_event), (gst_fake_sink_preroll),
-	  (gst_fake_sink_render), (gst_fake_sink_change_state):
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
-	  (gst_fake_src_get_property), (gst_fake_src_create),
-	  (gst_fake_src_stop):
-	  * gst/elements/gstidentity.c: (gst_identity_stop):
-	  Protect last_message with lock.
-
-2005-10-04 15:04:50 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstformat.h: Added precision in the comments for GST_FORMAT_DEFAULT
-	  Original commit message from CVS:
-	  * gst/gstformat.h:
-	  Added precision in the comments for GST_FORMAT_DEFAULT
-
-2005-10-04 13:19:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  update uninstalled script
-	  Original commit message from CVS:
-	  update uninstalled script
-
-2005-10-04 12:02:34 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  remove some files that are no longer there from spec file
-	  Original commit message from CVS:
-	  remove some files that are no longer there from spec file
-
-2005-10-04 11:51:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-launch.c: Don't try to run erroneous pipelines.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (main):
-	  Don't try to run erroneous pipelines.
-
-2005-10-04 11:10:04 +0000  Michael Smith <msmith@xiph.org>
-
-	  gst/gsterror.c: Add another error string used in a few existing plugins.
-	  Original commit message from CVS:
-	  * gst/gsterror.c: (_gst_stream_errors_init):
-	  Add another error string used in a few existing plugins.
-	  * gst/gstplugin.c:
-	  * gst/gstpluginfeature.c: (gst_plugin_feature_load):
-	  * tools/gst-inspect.c: (print_element_info):
-	  When a feature disappears from a plugin (and the feature exists in
-	  the cached registry file), things went horribly wrong. This isn't a
-	  complete fix, we should actually be removing the 'missing' features
-	  from the features list when we load the actual plugin. That's not
-	  yet implemented.
-
-2005-10-04 11:09:41 +0000  Julien Moutte <julien@moutte.net>
-
-	  gst/gstbus.c: We don't need this header.
-	  Original commit message from CVS:
-	  2005-10-04  Julien MOUTTE  <julien@moutte.net>
-	  * gst/gstbus.c: We don't need this header.
-
-2005-10-03 17:57:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* configure.ac:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-=== release 0.9.3 ===
-
-2005-10-03 17:47:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* README:
-	* configure.ac:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  release time
-	  Original commit message from CVS:
-	  release time
-
-2005-10-02 23:24:25 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_activate_push): There is a race condition whereby calling a pad's activatepush() function can s...
-	  Original commit message from CVS:
-	  2005-10-03  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_activate_push): There is a race condition
-	  whereby calling a pad's activatepush() function can start a thread
-	  that starts to push or pull before the pad gets the FLUSHING flag
-	  unset. Hack around it by holding the stream lock until the flag is
-	  set. Need to replace this with a proper solution. Together with
-	  the ghost pad fixes, this fixes mp3 playing/tagreading.
-
-2005-10-02 23:21:04 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2005-10-02 23:20:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/design/part-gstghostpad.txt: Add a note about activation of proxy pads outside of ghost pads.
-	  Original commit message from CVS:
-	  2005-10-03  Andy Wingo  <wingo@pobox.com>
-	  * docs/design/part-gstghostpad.txt: Add a note about activation of
-	  proxy pads outside of ghost pads.
-	  * gst/gstghostpad.c: Implement the ghost pad activation design.
-
-2005-10-02 18:57:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
-	  Original commit message from CVS:
-	  2005-10-02  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
-	  It is volatile, after all.
-	  * docs/design/part-gstghostpad.txt: Flesh out activation with
-	  ghost pads.
-	  * gst/base/gstbasesrc.c (gst_base_src_init): Use
-	  GST_DEBUG_FUNCPTR.
-
-2005-10-02 18:30:27 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Fix (unused) AM_CONDITIONAL tests.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Fix (unused) AM_CONDITIONAL tests.
-
-2005-10-01 17:11:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstutils.c: Add assertion that makes sure src_val is >=0, just like gst_query_new_convert() has. (#315895)
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstutils.c: (gst_pad_query_convert):
-	  Add assertion that makes sure src_val is >=0, just like
-	  gst_query_new_convert() has. (#315895)
-
-2005-09-30 15:43:03 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/elements/gsttee.c: Let's not iterate pads we're not interested in, it avoids getting sky-high refcounts on sinkpad.
-	  Original commit message from CVS:
-	  * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
-	  Let's not iterate pads we're not interested in, it avoids getting
-	  sky-high refcounts on sinkpad.
-
-2005-09-30 08:29:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: Small tweak, element in ASYNC remains ASYNC.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_set_state),
-	  (gst_element_change_state):
-	  Small tweak, element in ASYNC remains ASYNC.
-
-2005-09-30 08:00:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Only error is an error.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_change_state):
-	  Only error is an error.
-	  * gst/gstbin.c: (gst_bin_change_state):
-	  Better debugging.
-	  * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
-	  Also call pad_block in pad alloc.
-	  * gst/gstutils.c: (gst_flow_get_name):
-	  Better debugging.
-
-2005-09-29 20:26:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstbasesrc.c: Fix documentation typos. Add some more debug info.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_get_range):
-	  Fix documentation typos. Add some more debug info.
-
-2005-09-29 20:16:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstpipeline.c:
-	* tests/check/gst/gstpipeline.c:
-	  disable refcount checks until we track the dangling ref
-	  Original commit message from CVS:
-	  disable refcount checks until we track the dangling ref
-
-2005-09-29 19:45:27 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstplugin.c: Make some error messages more end-user friendly.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
-	  more end-user friendly.
-	  * tools/gst-inspect.c: (main): Check if command-line argument is
-	  a file and attempt to load that file as a plugin.
-
-2005-09-29 18:37:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: fix tests for the new warning
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c:
-	  * check/states/sinks.c:
-	  fix tests for the new warning
-	  * check/gst/gstpipeline.c:
-	  add a test for pipeline and bus interaction
-	  * gst/gstelement.c:
-	  elements should be NULL if they get disposed; add a warning if not
-
-2005-09-29 18:35:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstobject.c: for 2.6 refcounting, make debug log more correct by printing the actual refcounts at the time of swa...
-	  Original commit message from CVS:
-	  * gst/gstobject.c:
-	  for 2.6 refcounting, make debug log more correct by printing
-	  the actual refcounts at the time of swap (Wim)
-
-2005-09-29 18:25:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/gstbin.c:
-	* gst/gstbus.c:
-	* gst/gstmessage.c:
-	  use message type names
-	  Original commit message from CVS:
-	  use message type names
-
-2005-09-29 16:06:18 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2005-09-29 16:04:31 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbus.c (gst_bus_remove_signal_watch): New function, removes signal watches previously added via gst_bus_add_sig...
-	  Original commit message from CVS:
-	  2005-09-29  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
-	  removes signal watches previously added via
-	  gst_bus_add_signal_watch.
-	  (gst_bus_add_signal_watch): Don't return the source id, just store
-	  it on the bus if there wasn't an id already.
-	  * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
-	  add_signal_watch and remove_signal_watch.
-
-2005-09-29 15:39:22 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  libs/gst/controller/gstcontroller.c: Better if we actually iterate the list :)
-	  Original commit message from CVS:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
-	  Better if we actually iterate the list :)
-
-2005-09-29 13:07:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Change for new bus API.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Change for new bus API.
-	  * check/gst/gstbus.c: (message_func_eos), (message_func_app),
-	  (send_messages), (GST_START_TEST), (gstbus_suite):
-	  Change for new bus signal API.
-	  * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
-	  (gst_bus_source_prepare), (gst_bus_source_check),
-	  (gst_bus_create_watch), (gst_bus_add_watch_full),
-	  (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
-	  (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
-	  * gst/gstbus.h:
-	  Remove support for multiple GSources operating on different
-	  message types as it is too complex and unneeded when using
-	  signals.
-	  Added support for receiving signals from the bus.
-
-2005-09-29 12:37:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  rename filter-caps to caps property
-	  Original commit message from CVS:
-	  * docs/libs/tmpl/gstdataprotocol.sgml:
-	  * docs/manual/advanced-dataaccess.xml:
-	  * gst/elements/gstcapsfilter.c:
-	  * gst/gstutils.c:
-	  rename filter-caps to caps property
-
-2005-09-29 12:05:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstvalue.c: More robust fraction string parsing.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_deserialize_fraction):
-	  More robust fraction string parsing.
-	  * docs/pwg/appendix-porting.xml:
-	  Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
-
-2005-09-29 10:56:57 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstcaps.c: Thou shalt not free a structure and then continue using it in the next loop iteration.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_do_simplify):
-	  Thou shalt not free a structure and then continue using it
-	  in the next loop iteration.
-	  * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
-	  (gst_caps_suite):
-	  Add test case for caps simplification.
-
-2005-09-29 09:44:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  remove two removed functions
-	  Original commit message from CVS:
-	  remove two removed functions
-
-2005-09-29 09:42:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Oops.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Oops.
-
-2005-09-29 09:39:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Add bus to bin.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Add bus to bin.
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
-	  (add_to_queue), (clear_queue), (reset_degree), (update_degree),
-	  (find_element), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
-	  (gst_bin_iterate_sorted), (gst_bin_element_set_state),
-	  (gst_bin_change_state), (gst_bin_dispose):
-	  A bin does not have a bus, it gets the bus from the parent.
-	  * gst/gstelement.c: (gst_element_requires_clock),
-	  (gst_element_provides_clock), (gst_element_is_indexable),
-	  (gst_element_is_locked_state), (gst_element_change_state),
-	  (gst_element_set_bus_func):
-	  Small cleanups.
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_init), (gst_pipeline_provide_clock_func):
-	  The pipeline provides a bus.
-
-2005-09-29 02:32:37 +0000  Johan Dahlin <johan@gnome.org>
-
-	  gst/gstmessage.c (gst_message_parse_state_changed): Use gst_structure_get_enum instead of gst_structure_get_int
-	  Original commit message from CVS:
-	  * gst/gstmessage.c (gst_message_parse_state_changed): Use
-	  gst_structure_get_enum instead of gst_structure_get_int
-	  * gst/gststructure.c (gst_structure_get_enum): Impl.
-	  * gst/gststructure.h (gst_structure_get_enum): Add
-	  * docs/gst/gstreamer-sections.txt: Ditto
-
-2005-09-29 01:57:00 +0000  Johan Dahlin <johan@gnome.org>
-
-	  gst/gstmessage.c (gst_message_new_state_changed): Use
-	  Original commit message from CVS:
-	  * gst/gstmessage.c (gst_message_new_state_changed): Use
-	  GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
-	  which does introspection.
-	  Reviewed by Christian Schaller
-
-2005-09-28 18:14:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	  fixed umlauts in ChangeLog again
-	  Original commit message from CVS:
-	  fixed umlauts in ChangeLog again
-
-2005-09-28 17:30:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstinfo.c: don't do dummy g_strdup()s
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (gst_debug_log_default):
-	  don't do dummy g_strdup()s
-	  * libs/gst/controller/gstcontroller.c:
-	  (on_object_controlled_property_changed),
-	  (gst_controlled_property_new), (gst_controller_new_valist),
-	  (gst_controller_new_list),
-	  (gst_controller_remove_properties_valist), (gst_controller_set),
-	  (gst_controller_get), (gst_controller_sync_values),
-	  (gst_controller_get_value_array), (_gst_controller_class_init),
-	  (gst_controller_get_type):
-	  * libs/gst/controller/gstcontroller.h:
-	  * libs/gst/controller/gstinterpolation.c:
-	  (gst_controlled_property_find_timed_value_node):
-	  convert // to /**/ comments
-
-2005-09-28 16:43:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.*: Added async-message and sync-message signals to the bus.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
-	  (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
-	  (gst_bus_sync_signal_handler):
-	  * gst/gstbus.h:
-	  Added async-message and sync-message signals to the bus.
-	  Added helper BusFunc to emit signals for all posted messages.
-	  * gst/gstmessage.c: (gst_message_type_get_name),
-	  (gst_message_type_to_quark), (gst_message_get_type):
-	  * gst/gstmessage.h:
-	  Register quarks for message names.
-
-2005-09-28 16:39:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added another constructor for language bindings
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
-	  (gst_controller_new_list):
-	  * libs/gst/controller/gstcontroller.h:
-	  added another constructor for language bindings
-
-2005-09-28 15:45:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstpipeline.c: add another check
-	  Original commit message from CVS:
-	  * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
-	  add another check
-	  * gst/gstbus.c:
-	  add some doc
-	  * gst/gstinfo.c: (_gst_debug_init):
-	  slightly more readable color for refcount debugging
-
-2005-09-28 13:41:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Small doc fixes. get_clock -> provide_clock.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
-	  (add_to_queue), (clear_queue), (reset_degree), (update_degree),
-	  (find_element), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
-	  (gst_bin_iterate_sorted), (gst_bin_element_set_state),
-	  (gst_bin_change_state), (gst_bin_dispose):
-	  Small doc fixes. get_clock -> provide_clock.
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_provides_clock), (gst_element_provide_clock),
-	  (gst_element_get_clock), (gst_element_commit_state),
-	  (gst_element_lost_state):
-	  * gst/gstelement.h:
-	  Make get/set_clock() symetric. Add provide_clock vmethod since
-	  that is actually what this function does.
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
-	  (gst_pipeline_get_clock):
-	  get_clock -> provide_clock.
-
-2005-09-28 13:05:12 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in lieu of real docs...
-	  Original commit message from CVS:
-	  2005-09-28  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
-	  lieu of real docs...
-	  * gst/elements/gstfdsrc.c: Cleaned up a bit.
-
-2005-09-28 12:52:51 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/: Make element details static.
-	  Original commit message from CVS:
-	  * gst/elements/gstcapsfilter.c:
-	  * gst/elements/gstfakesink.c:
-	  * gst/elements/gstfakesrc.c:
-	  * gst/elements/gstfdsink.c:
-	  * gst/elements/gstfdsrc.c:
-	  * gst/elements/gstfilesink.c:
-	  * gst/elements/gstfilesrc.c:
-	  * gst/elements/gstidentity.c:
-	  * gst/elements/gsttee.c:
-	  * gst/elements/gsttypefindelement.c:
-	  Make element details static.
-
-2005-09-28 11:03:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Some documentation updates.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
-	  (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
-	  (gst_bin_iterate_sorted), (gst_bin_element_set_state),
-	  (gst_bin_change_state), (gst_bin_dispose):
-	  Some documentation updates.
-	  Clean up dispose handlers.
-	  * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
-	  * gst/gstpad.c: (gst_pad_dispose):
-	  Clean up dispose handler.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  Removed spurious UNLOCK.
-
-2005-09-27 20:40:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added two new functions to the docs documents all undocumented GstXXXFlags completed some incomplete docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/base/gstbasesrc.h:
-	  * gst/gstelement.h:
-	  * gst/gstevent.h:
-	  * gst/gstobject.h:
-	  * gst/gstpad.h:
-	  * gst/gstpipeline.c:
-	  * gst/gstpipeline.h:
-	  * gst/gstutils.h:
-	  * gst/gstxml.h:
-	  added two new functions to the docs
-	  documents all undocumented GstXXXFlags
-	  completed some incomplete docs
-
-2005-09-27 18:33:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: remove now useless and leaky resurrection code in dispose
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_dispose):
-	  * gst/gstelement.c: (gst_element_dispose):
-	  remove now useless and leaky resurrection code in dispose
-	  * gst/base/gstbasesrc.c: (gst_base_src_init):
-	  * gst/gstelementfactory.c: (gst_element_factory_create):
-	  * gst/gstobject.c: (gst_object_set_parent):
-	  add some debugging
-
-2005-09-27 17:00:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-TODO.txt: Update TODO.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  Update TODO.
-	  * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
-	  (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
-	  (gst_bin_iterate_sorted), (gst_bin_element_set_state),
-	  (gst_bin_change_state):
-	  * gst/gstelement.h:
-	  Remove element variable, we keep element info in the iterator now.
-
-2005-09-27 16:30:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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-09-27 16:16:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Enable check that works now.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Enable check that works now.
-	  * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
-	  (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
-	  (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
-	  (gst_bin_iterate_sorted), (gst_bin_element_set_state),
-	  (gst_bin_change_state):
-	  * gst/gstbin.h:
-	  Redid the state change algorithm using a topological sort algo.
-	  Handles all cases correctly.
-	  Exposed iterator for state change order.
-	  * gst/gstelement.h:
-	  Temp storage for state changes. Need to get rid of this soon.
-
-2005-09-27 15:37:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Leak fixes, the fold functions need to unref the passed object and _get_parent_*() returns ref to parent.
-	  Original commit message from CVS:
-	  * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
-	  * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
-	  (link_fold_func), (gst_pad_proxy_setcaps):
-	  Leak fixes, the fold functions need to unref the passed object and
-	  _get_parent_*() returns ref to parent.
-
-2005-09-27 13:25:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  check/gst/gstbuffer.c: Plug leak in test case and fix 'make check-valgrind'
-	  Original commit message from CVS:
-	  * check/gst/gstbuffer.c: (test_make_writable):
-	  Plug leak in test case and fix 'make check-valgrind'
-
-2005-09-27 13:07:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstbuffer.c: Set READONLY flag on subbuffers, so that gst_buffer_make_writable() works correctly in all circumsta...
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_subbuffer_init):
-	  Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
-	  works correctly in all circumstances (we could have just copied
-	  the parent buffer's readonly flag, but conceptually it seems
-	  cleaner to mark all subbuffers as read-only). (based on patch
-	  by Alessandro Decina, #314710).
-	  * check/gst/gstbuffer.c: (create_read_only_buffer),
-	  (test_make_writable), (test_subbuffer_make_writable),
-	  (gst_test_suite):
-	  Add some tests for gst_buffer_make_writable().
-
-2005-09-27 09:57:20 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: use gst_object_has_ancestor().
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
-	  use gst_object_has_ancestor().
-	  * gst/gstobject.c: (gst_object_has_ancestor):
-	  * gst/gstobject.h:
-	  gst_object_has_ancestor() copied from gstbin.c as it is a
-	  usefull function.
-	  * tests/instantiate/create.c: (create_all_elements):
-	  * tests/lat.c: (handoff_src), (handoff_sink):
-	  * tests/sched/runxml.c: (main):
-	  * tests/seeking/seeking1.c: (main):
-	  * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
-	  (main):
-	  Fix compilation of some tests.
-
-2005-09-27 09:29:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsterror.h: Remove comment. GST_TYPE_G_ERROR is here to stay,
-	  Original commit message from CVS:
-	  * gst/gsterror.h:
-	  Remove comment. GST_TYPE_G_ERROR is here to stay,
-	  G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
-	  (#316961, #300610).
-
-2005-09-26 18:22:07 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Added check that shows error in state change order.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
-	  Added check that shows error in state change order.
-
-2005-09-26 17:46:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Make state change function use 3 queues again, we were adding elements in the wrong order.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_change_state):
-	  Make state change function use 3 queues again, we were
-	  adding elements in the wrong order.
-	  * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
-	  Some debug info,
-	  * gst/gstpad.c: (gst_pad_dispose):
-	  Added some debug info first.
-
-2005-09-26 17:40:39 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/design/: Replace all _pull_region() with _pull_range()
-	  Original commit message from CVS:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-scheduling.txt:
-	  Replace all _pull_region() with _pull_range()
-
-2005-09-26 16:19:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	* gst/gstvalue.c:
-	  try the fourth
-	  Original commit message from CVS:
-	  try the fourth
-
-2005-09-26 16:12:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	* gst/gstvalue.c:
-	  foo
-	  Original commit message from CVS:
-	  foo
-
-2005-09-26 16:07:54 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstvalue.c (_gst_value_initialize): Better fakeout.
-	  Original commit message from CVS:
-	  2005-09-26  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
-
-2005-09-26 15:49:23 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst-libs/controller.c: Update for controller api change.
-	  Original commit message from CVS:
-	  2005-09-26  Andy Wingo  <wingo@pobox.com>
-	  * check/gst-libs/controller.c: Update for controller api change.
-
-2005-09-26 15:43:30 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Remove memchunk benchmark stuff, this is taken over by GLib bug 118439.
-	  Original commit message from CVS:
-	  2005-09-26  Andy Wingo  <wingo@pobox.com>
-	  * configure.ac:
-	  * tests/Makefile.am:
-	  * tests/memchunk: Remove memchunk benchmark stuff, this is taken
-	  over by GLib bug 118439.
-	  * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
-	  routines to a function.
-	  * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
-	  * libs/gst/controller/gsthelper.c:
-	  * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
-	  (gst_object_sync_values): Renamed from sink_values. Ugh.
-	  * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
-	  * libs/gst/controller/gstcontroller.c (__gst_controller_key):
-	  Renamed from controller_key, as it is exported.
-	  * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
-
-2005-09-26 15:03:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gstpad.h:
-	* gst/gstpadtemplate.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstqueryutils.c:
-	* gst/gstqueryutils.h:
-	  remove queryutils headers after moving the two used functions to gstquery.  also fixes build problem for gstsiddec
-	  Original commit message from CVS:
-	  remove queryutils headers after moving the two used functions
-	  to gstquery.  also fixes build problem for gstsiddec
-
-2005-09-26 13:40:21 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* tools/gst-launch.1.in:
-	  Correct syntax for debug option in gst-launch manpage
-	  Original commit message from CVS:
-	  Correct syntax for debug option in gst-launch manpage
-
-2005-09-26 11:21:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Some more debugging info.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range),
-	  (gst_base_src_is_seekable), (gst_base_src_change_state):
-	  Some more debugging info.
-
-2005-09-25 18:34:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added more docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/base/gstbasetransform.h:
-	  * gst/gstindex.h:
-	  added more docs
-
-2005-09-25 12:11:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined the last two docs files removed the tmpl directory from cvs (no more conflicts here!)
-	  Original commit message from CVS:
-	  * docs/gst/.cvsignore:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstpipeline.sgml:
-	  * docs/gst/tmpl/gstplugin.sgml:
-	  * gst/gstpipeline.c:
-	  * gst/gstplugin.c:
-	  * gst/gstplugin.h:
-	  inlined the last two docs files
-	  removed the tmpl directory from cvs (no more conflicts here!)
-
-2005-09-25 11:19:22 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined two more docs factored gstpadtemplate out of gstpad
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstpad.sgml:
-	  * docs/gst/tmpl/gstpadtemplate.sgml:
-	  * gst/Makefile.am:
-	  * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
-	  (gst_pad_finalize), (gst_pad_set_pad_template):
-	  * gst/gstpad.h:
-	  * gst/gstpadtemplate.c: (gst_pad_template_get_type),
-	  (gst_pad_template_class_init), (gst_pad_template_init),
-	  (gst_pad_template_dispose), (name_is_valid),
-	  (gst_static_pad_template_get), (gst_pad_template_new),
-	  (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
-	  (gst_pad_template_pad_created):
-	  * gst/gstpadtemplate.h:
-	  inlined two more docs
-	  factored gstpadtemplate out of gstpad
-
-2005-09-24 14:35:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  check/gst/gstbin.c: Fix test case: we can't rely on a fixed state change order when going from READY => PAUSED becaus...
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
-	  (test_children_state_change_order_semi_sink):
-	  Fix test case: we can't rely on a fixed state change order when
-	  going from READY => PAUSED because the sink might commit its
-	  new state first when the first buffer created by the source
-	  reaches the sink before the source has finished its change state.
-	  (Test case still fails at times, see #316856, comment 5 onwards)
-
-2005-09-24 14:14:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Various documentation updates.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbus.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-overview.txt:
-	  * docs/design/part-segments.txt:
-	  * gst/gstbin.c:
-	  * gst/gstbuffer.c:
-	  * gst/gstclock.c:
-	  * gst/gstelement.c:
-	  * gst/gstevent.c:
-	  * gst/gstfilter.c:
-	  * gst/gstiterator.c:
-	  Various documentation updates.
-
-2005-09-24 11:41:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstclock.h: Well, that's embarassing.  Luckily we weren't using
-	  Original commit message from CVS:
-	  * gst/gstclock.h:
-	  Well, that's embarassing.  Luckily we weren't using
-	  GST_CLOCK_DIFF anywhere.
-
-2005-09-23 18:08:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  common/gtk-doc.mak: don't fail on building XML, FC4 slave shows a bunch of doc missing bits that I don't get
-	  Original commit message from CVS:
-	  * common/gtk-doc.mak:
-	  don't fail on building XML, FC4 slave shows a bunch of doc
-	  missing bits that I don't get
-	  * gst/gstpad.c:
-	  * gst/gstpipeline.c:
-	  * gst/gststructure.c:
-	  some doc updates
-
-2005-09-23 18:02:18 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add blurb about how the bus goes into flushing mode and drops all messages when its bin goes from READY into NULL state.
-	  Original commit message from CVS:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstbus.txt:
-	  * gst/gstbus.c:
-	  Add blurb about how the bus goes into flushing mode and
-	  drops all messages when its bin goes from READY into NULL
-	  state.
-
-2005-09-23 17:46:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  add a method to get a GstClockTime out of a structure
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gststructure.c: (gst_structure_get_clock_time):
-	  * gst/gststructure.h:
-	  add a method to get a GstClockTime out of a structure
-
-2005-09-23 17:17:42 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  check/gst/gstbin.c: Added test to check state change order in bins (can still be made to fail here under heavy disk l...
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
-	  (test_children_state_change_order_semi_sink), (gst_bin_suite):
-	  Added test to check state change order in bins (can still be made
-	  to fail here under heavy disk load; bails out with 'Push on pad
-	  fakesink:sink0, but it was not activated in push mode').
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
-	  Fix state change order when there is only a semi sink (#316856)
-	  * gst/gstbus.c: (gst_bus_class_init):
-	  Use _class_peek_parent(), not _class_ref(); fix docs to say
-	  'default main context' instead of 'mainloop' where that is
-	  what's meant.
-	  * gst/gstelement.c: (gst_element_commit_state),
-	  (gst_element_set_state):
-	  Fix typos in debug messages
-
-2005-09-23 16:35:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* gst/gstclock.h:
-	* gst/gstelement.h:
-	* gst/gstinfo.h:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstvalue.c:
-	  fix docs
-	  Original commit message from CVS:
-	  fix docs
-
-2005-09-23 15:48:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpluginfeature.c:
-	  don't break docs build
-	  Original commit message from CVS:
-	  don't break docs build
-
-2005-09-23 15:36:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  various doc updates
-	  Original commit message from CVS:
-	  * docs/README:
-	  * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
-	  * gst/gstpluginfeature.c:
-	  * gst/gstutils.c:
-	  various doc updates
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  change an assert into an error until it gets fixed properly
-
-2005-09-23 14:31:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined 3 more biiiig doc files and added some missing docs on the fly
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstelement.sgml:
-	  * docs/gst/tmpl/gstinfo.sgml:
-	  * docs/gst/tmpl/gstobject.sgml:
-	  * gst/gstelement.c:
-	  * gst/gstelement.h:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  * gst/gstobject.c: (gst_object_class_init):
-	  * gst/gstobject.h:
-	  inlined 3 more biiiig doc files and added some missing docs on the fly
-
-2005-09-23 11:41:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  put back source in registry.  add checks for find_plugin.
-	  Original commit message from CVS:
-	  * check/gst/.cvsignore:
-	  * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
-	  * gst/gstregistryxml.c: (load_plugin),
-	  (gst_registry_xml_save_plugin):
-	  put back source in registry.  add checks for find_plugin.
-	  * testsuite/states/bin.c: (assert_state), (empty_bin),
-	  (test_adding_one_element), (main):
-	  * testsuite/states/locked.c: (main):
-	  some compile/run fixes
-
-2005-09-22 20:02:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst/gstvalue.c:
-	* tests/check/gst/gstvalue.c:
-	  fix leak in the test itself
-	  Original commit message from CVS:
-	  fix leak in the test itself
-
-2005-09-22 18:07:22 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Prepare for more accurate position reporting and query handling.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_send_event), (gst_base_sink_peer_query),
-	  (gst_base_sink_query):
-	  Prepare for more accurate position reporting and query
-	  handling.
-	  * gst/gstelement.c: (gst_element_send_event),
-	  (gst_element_set_state):
-	  Add some comment.
-
-2005-09-22 17:40:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquery.*: More documentation.
-	  Original commit message from CVS:
-	  * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
-	  (gst_query_parse_segment):
-	  * gst/gstquery.h:
-	  More documentation.
-	  Add segment query for future use.
-
-2005-09-22 16:51:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Some more debug info.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func):
-	  Some more debug info.
-	  * gst/gstelement.c: (gst_element_send_event):
-	  Simplify send_event
-	  * gst/gstelement.h:
-	  Don't know how flags got broken.
-	  * gst/gstquery.h:
-	  Added new query.
-
-2005-09-22 15:38:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  check/gst/gstvalue.c: Add simplistic test suite for GST_TYPE_DATE serialisation and deserialisation.
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (test_date), (gst_value_suite):
-	  Add simplistic test suite for GST_TYPE_DATE serialisation and
-	  deserialisation.
-
-2005-09-22 15:08:02 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual bunch of utility functions along with a hack that che...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gststructure.c: (gst_structure_set_valist),
-	  (gst_structure_get_date):
-	  * gst/gststructure.h:
-	  * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
-	  (gst_date_copy), (gst_value_compare_date),
-	  (gst_value_serialize_date), (gst_value_deserialize_date),
-	  (gst_value_transform_date_string),
-	  (gst_value_transform_string_date), (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
-	  bunch of utility functions along with a hack that checks that
-	  developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
-	  is required. Part of the grand scheme in #170777.
-
-2005-09-22 12:05:05 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstconfig.h.in: Psych out gtk-doc.
-	  Original commit message from CVS:
-	  2005-09-22  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstconfig.h.in: Psych out gtk-doc.
-	  * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
-	  * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
-	  * tools/gst-inspect.c (print_element_list): Plug some
-	  inconsequential leaks.
-	  * gst/gstregistry.c (gst_registry_get_default): Doc.
-	  * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
-	  * gst/gstelementfactory.c (gst_element_factory_create):
-	  * gst/gstindexfactory.c (gst_index_factory_create): Update for
-	  refcount changes.
-	  * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
-	  (gst_plugin_feature_load): Doc, don't eat refs.
-	  * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
-	  (gst_plugin_list_free): Doc.
-	  (gst_plugin_load_file): Doc updates.
-
-2005-09-22 09:30:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get accessors returning refcounted objects, return a ref.
-	  Original commit message from CVS:
-	  2005-09-22  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
-	  accessors returning refcounted objects, return a ref.
-	  * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
-	  accessor for caps. IDEMPOTENCE. Oh yes.
-
-2005-09-21 21:39:06 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstinfo.c: Add mutex to serialise access to the hash table with the function pointer => function name string mapp...
-	  Original commit message from CVS:
-	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
-	  * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
-	  (_gst_debug_register_funcptr):
-	  Add mutex to serialise access to the hash table with
-	  the function pointer => function name string mapping;
-	  make that hash table static scope (#316809).
-	  * gst/registries/.cvsignore:
-	  Remove left-over file.
-
-2005-09-21 15:55:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/appendix-porting.xml: And something about newsegment events and caps-on-buffers to the porting guide (feel f...
-	  Original commit message from CVS:
-	  * docs/pwg/appendix-porting.xml:
-	  And something about newsegment events and caps-on-buffers to
-	  the porting guide (feel free to improve).
-
-2005-09-21 13:24:33 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* check/gst/gstutils.c:
-	* tests/check/gst/gstutils.c:
-	  Test that removing probes from within the probe functions works.
-	  Original commit message from CVS:
-	  (test_buffer_probe_once): Test that removing probes from within
-	  the probe functions works.
-
-2005-09-21 13:11:22 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for data and event probes on the same pad.
-	  Original commit message from CVS:
-	  2005-09-21  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
-	  data and event probes on the same pad.
-
-2005-09-21 12:21:10 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstutils.c: New file.
-	  Original commit message from CVS:
-	  2005-09-21  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstutils.c: New file.
-	  (test_buffer_probe_n_times): A simple buffer probe test. More to
-	  come, foolios.
-	  * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
-	  have-data::buffer, not have-data.
-	  (gst_pad_add_event_probe): Likewise for have-data::event.
-	  (gst_pad_add_data_probe): More docs. The part about 'resolving the
-	  peer' isn't quite right yet though.
-	  (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
-	  (gst_pad_remove_data_probe): Change to take the guint handler_id
-	  as their arg, not the function+data, which is more glib-like.
-	  * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
-	  the signal emission to indicate if the data is a buffer or an
-	  event.
-	  (gst_pad_get_type): Initialize buffer and event quarks.
-	  (gst_pad_class_init): have-data is now a detailed signal, yes it
-	  is.
-
-2005-09-21 11:52:04 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Don't put functional code in g_return_if_fail() or g_return_val_if_fail() statements, otherwise things will bre...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
-	  * gst/gstutils.c: (gst_util_set_value_from_string),
-	  (gst_util_set_object_arg):
-	  Don't put functional code in g_return_if_fail() or
-	  g_return_val_if_fail() statements, otherwise things will
-	  break when G_DISABLE_CHECKS is defined during compilation.
-
-2005-09-21 09:48:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlied another one and added  some obvious docs
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstvalue.sgml:
-	  * gst/gstvalue.c:
-	  * gst/gstvalue.h:
-	  inlied another one and added  some obvious docs
-
-2005-09-21 09:13:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/gstfdsrc.*: Properly implement fdsrc. Removed signal and timeout, better implemented somewhere else.
-	  Original commit message from CVS:
-	  * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
-	  (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
-	  (gst_fdsrc_unlock), (gst_fdsrc_set_property),
-	  (gst_fdsrc_get_property), (gst_fdsrc_create):
-	  * gst/elements/gstfdsrc.h:
-	  Properly implement fdsrc. Removed signal and timeout,
-	  better implemented somewhere else.
-
-2005-09-21 08:58:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined more docs
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstimplementsinterface.sgml:
-	  * gst/gstinterface.c:
-	  inlined more docs
-
-2005-09-21 08:40:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/: remove obsolete doc file
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstenumtypes.sgml:
-	  remove obsolete doc file
-
-2005-09-21 07:37:02 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstelementfactory.c: Drink a little beer, fix a little leak.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
-	  little beer, fix a little leak.
-
-2005-09-20 20:54:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	  remove files
-	  Original commit message from CVS:
-	  remove files
-
-2005-09-20 20:40:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs inlined, splitted gstindex.{c,h}
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstbin.c:
-	  * gst/gstelement.h:
-	  * gst/gstindex.c: (gst_index_class_init):
-	  * gst/gstindex.h:
-	  * gst/gstindexfactory.c: (gst_index_factory_get_type),
-	  (gst_index_factory_class_init), (gst_index_factory_init),
-	  (gst_index_factory_finalize), (gst_index_factory_new),
-	  (gst_index_factory_destroy), (gst_index_factory_find),
-	  (gst_index_factory_create), (gst_index_factory_make):
-	  * gst/gstindexfactory.h:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstpluginfeature.h:
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
-	  more docs inlined, splitted gstindex.{c,h}
-
-2005-09-20 20:19:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* libs/gst/controller/gstcontroller.c:
-	  fix a leak in controller
-	  Original commit message from CVS:
-	  fix a leak in controller
-
-2005-09-20 19:16:43 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gstfilesink.c: Set sync to FALSE by default.
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_file_sink_init):
-	  Set sync to FALSE by default.
-
-2005-09-20 17:38:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Make sync property settable from subclass.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_init):
-	  Make sync property settable from subclass.
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_init),
-	  (gst_fake_sink_change_state):
-	  Set sync to FALSE by default.
-
-2005-09-20 17:30:35 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  The timeout handler should have lower priority than the source so we don't timeout before popping a message with 0 ti...
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
-	  * tools/gst-launch.c: (main):
-	  The timeout handler should have lower priority than the source
-	  so we don't timeout before popping a message with 0 timeout.
-	  Dump error messages after failed state change.
-
-2005-09-20 17:21:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  tools/gst-inspect.c: Fix two typos.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  Fix two typos.
-
-2005-09-20 15:45:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  remove the sync property from fakesink.
-	  Original commit message from CVS:
-	  * check/gst/gstevent.c:
-	  * gst/elements/gstfakesink.c:
-	  * gst/elements/gstfakesink.h:
-	  remove the sync property from fakesink.
-	  has the side effect of setting sync TRUE
-	  for fakesink, which is a change.  Anyone who knows how
-	  to fix this nicely in a GObject-y way, feel free.
-
-2005-09-20 15:19:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-docs.sgml: remove probe refsection
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  remove probe refsection
-
-2005-09-20 12:50:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/Makefile.am: disable valgrinding the controller test again
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  disable valgrinding the controller test again
-	  * docs/gst/gstreamer-sections.txt:
-	  update for api-changes
-
-2005-09-20 12:05:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Added sync property to basesink to disable clock sync.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_class_init),
-	  (gst_base_sink_set_property), (gst_base_sink_get_property),
-	  (gst_base_sink_do_sync):
-	  * gst/base/gstbasesink.h:
-	  Added sync property to basesink to disable clock sync.
-
-2005-09-20 11:09:50 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelementfactory.c (gst_element_factory_create): Avoid eating the caller's refcount.
-	  Original commit message from CVS:
-	  2005-09-20  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelementfactory.c (gst_element_factory_create): Avoid
-	  eating the caller's refcount.
-	  * gst/gstobject.h (GST_OBJECT_REFCOUNT)
-	  (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
-	  refcount.
-	  * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
-	  * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
-	  of GLib 2.8 public, so we can know which refcount to check in
-	  tests.
-	  * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
-	  (gst_object_init): Only set the gst refcount if we're going ahead
-	  with the refcount hack.
-
-2005-09-20 10:41:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more leaks plumbed, added more debug-logging
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
-	  * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
-	  more leaks plumbed, added more debug-logging
-	  * gst/gstmacros.h:
-	  whitespace fix
-
-2005-09-20 09:47:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstmessage.c:
-	  remove include of removed header
-	  Original commit message from CVS:
-	  remove include of removed header
-
-2005-09-20 09:28:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstclock.c: Commit from the Political Party For More Atomic CVS Commits, so that people don't waste too much of t...
-	  Original commit message from CVS:
-	  * gst/gstclock.c: (_gst_clock_id_free):
-	  Commit from the Political Party For More Atomic CVS Commits,
-	  so that people don't waste too much of their day fishing
-	  out obvious leaks out of massive commits.
-	  Oh, and fix a pretty damn obvious leak in the memchunk
-	  removal code.
-
-2005-09-20 09:23:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/: plug mem-leak, re-add to valgrindable tests
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
-	  plug mem-leak, re-add to valgrindable tests
-
-2005-09-20 09:08:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstplugin.h:
-	  unbreak the build for those who have chronic arthritis and typing "make check" is just too taxing on the hands
-	  Original commit message from CVS:
-	  unbreak the build for those who have chronic arthritis
-	  and typing "make check" is just too taxing on the hands
-
-2005-09-20 08:25:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gst.h: Re-add marshal to gst.h's include list -- if we really want it out, you should fix plugins at the same time.
-	  Original commit message from CVS:
-	  2005-09-20  Andy Wingo  <wingo@pobox.com>
-	  * gst/gst.h: Re-add marshal to gst.h's include list -- if we
-	  really want it out, you should fix plugins at the same time.
-
-2005-09-20 07:32:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added missing symbols to api docs disable ref-count hack if we have glib >= 2.8
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstobject.c:
-	  added missing symbols to api docs
-	  disable ref-count hack if we have glib >= 2.8
-
-2005-09-20 06:28:33 +0000  David Schleef <ds@schleef.org>
-
-	  docs/gst/Makefile.am: Ignore a few more internal headers
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am: Ignore a few more internal headers
-	  * docs/gst/gstreamer-docs.sgml: Remove old sections
-	  * docs/gst/gstreamer-sections.txt: Remove old sections
-	  * docs/gst/tmpl/gstobject.sgml: update
-	  * docs/gst/tmpl/gstplugin.sgml: update
-	  * docs/gst/tmpl/gstpluginfeature.sgml: update
-	  * docs/random/ds/0.9-suggested-changes: update.
-	  * gst/Makefile.am: remove memchunk and trashstack, since they're
-	  not used.
-	  * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
-	  * gst/gst.h: don't include some headers
-	  * gst/gstchildproxy.c: add gstmarshal.h
-	  * gst/gstclock.c: Don't use memchunks
-	  * gst/gstminiobject.c: Add some docs
-	  * gst/gstobject.c: remove DESTROYED flag, since it's redundant
-	  * gst/gstobject.h: same
-	  * gst/gstplugin.c: include gstmacros.h
-	  * gst/gstplugin.h: don't include gstmacros.h, since it's private
-	  * gst/gstquery.c: don't use memchunks
-	  * gst/gstregistry.c: rename gst_registry_deinit()
-	  * gst/gstregistry.h: same
-
-2005-09-20 05:13:30 +0000  David Schleef <ds@schleef.org>
-
-	  docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
-	  Original commit message from CVS:
-	  * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * docs/libs/tmpl/gstgetbits.sgml:
-	  * docs/libs/tmpl/gstputbits.sgml:
-
-2005-09-20 00:27:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/generic/states.c: Add a sleep to ensure elements have a chance to start their pad tasks before shutdown. Reduce...
-	  Original commit message from CVS:
-	  * check/generic/states.c: (GST_START_TEST), (states_suite):
-	  Add a sleep to ensure elements have a chance to start their
-	  pad tasks before shutdown. Reduces racy test results.
-	  * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
-	  Time out the select every now and then to check for shutdown.
-
-2005-09-19 20:01:45 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/gstenumtypes.*: Update.
-	  Original commit message from CVS:
-	  * win32/gstenumtypes.c:
-	  * win32/gstenumtypes.h:
-	  Update.
-
-2005-09-19 16:32:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpipeline.c: Automatically PAUSE and RESUME a pipeline when a flushing seek is performed.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
-	  Automatically PAUSE and RESUME a pipeline when a flushing seek
-	  is performed.
-	  Removed old files.
-
-2005-09-19 16:28:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbus.c:
-	  whitespace fix
-	  Original commit message from CVS:
-	  whitespace fix
-
-2005-09-19 15:12:25 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstregistry.h: Spacing fixen.
-	  Original commit message from CVS:
-	  2005-09-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstregistry.h: Spacing fixen.
-
-2005-09-19 14:55:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Handle state change failure more correctly.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_change_state):
-	  Handle state change failure more correctly.
-
-2005-09-19 14:41:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: enable cleanup again after fixing the leak
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/pipelines/cleanup.c: (run_pipeline):
-	  * check/pipelines/simple_launch_lines.c: (run_pipeline),
-	  (GST_START_TEST):
-	  enable cleanup again after fixing the leak
-	  * docs/README:
-	  some more info on docs
-
-2005-09-19 14:20:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstplugin.c:
-	  don't complain about my ARM .so files.  Another reason why it does make sense to have plugins follow a standard file ...
-	  Original commit message from CVS:
-	  don't complain about my ARM .so files.  Another reason why it does make sense
-	  to have plugins follow a standard file name pattern like libgst(whatever).so
-
-2005-09-19 14:09:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: re-enable tests now that leaks are plugged
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  re-enable tests now that leaks are plugged
-	  * check/gst/gst.c:
-	  * check/gst/gstbin.c:
-	  * check/gst/gstpipeline.c:
-	  add some more tests while fixing leaks
-	  * common/check.mak:
-	  make sure binaries are uptodate when valgrinding/gdbing
-	  * gst/gst.c:
-	  * gst/gstelementfactory.c:
-	  remove a ref too many, and add a FIXME for when we get
-	  round to disposing of classes
-	  * gst/gstplugin.c:
-	  fix the refcounting when loading a plugin from a file and
-	  the code pretends that the pointer is the same even though
-	  of course it can change
-	  * gst/gstpluginfeature.c:
-	  unref plugins marked cached (a bit confusing as a name)
-	  as the docs state should be done
-	  various doc additions to explain refcounting
-	  * gst/gstregistry.c:
-	  * gst/gstregistryxml.c:
-	  debugging
-
-2005-09-19 14:09:37 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update spec file
-	  Original commit message from CVS:
-	  update spec file
-
-2005-09-19 11:18:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  GstBusHandler -> GstBusFunc, return value has the same meaning as any other GSource (FALSE == remove source).
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
-	  * check/gst/gstbus.c: (message_func_eos), (message_func_app),
-	  (send_messages), (GST_START_TEST), (gstbus_suite):
-	  * check/gst/gstpipeline.c: (GST_START_TEST):
-	  * check/pipelines/cleanup.c: (run_pipeline):
-	  * check/pipelines/simple_launch_lines.c: (run_pipeline),
-	  (GST_START_TEST):
-	  * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
-	  (gst_bus_source_check), (gst_bus_source_dispatch),
-	  (gst_bus_create_watch), (gst_bus_add_watch_full),
-	  (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
-	  * gst/gstbus.h:
-	  * tools/gst-launch.c: (event_loop):
-	  * tools/gst-md5sum.c: (event_loop):
-	  GstBusHandler -> GstBusFunc, return value has the same meaning as
-	  any other GSource (FALSE == remove source).
-	  _add_watch() and _add_watch_full() now take a MessageType mask to
-	  only handle specific types of messages.
-	  _poll() returns the GstMessage instead of the message type to avoid
-	  race conditions.
-	  _have_pending() takes a MessageType mask now too.
-	  Added testsuite for multiple bus watches.
-	  Fix testsuites and applications for new bus API.
-
-2005-09-18 22:15:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  mark a bunch of the tests as to fix until we fix them
-	  Original commit message from CVS:
-	  mark a bunch of the tests as to fix until we fix them
-
-2005-09-18 21:40:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  common/check.mak: use GST_PLUGIN settings for valgrind tests as well, so we're valgrinding the correct thing
-	  Original commit message from CVS:
-	  * common/check.mak:
-	  use GST_PLUGIN settings for valgrind tests as well, so we're
-	  valgrinding the correct thing
-	  * gst/gst.c: (init_post):
-	  plug another leak
-
-2005-09-18 21:24:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst/gst.c:
-	* gst/gst.c:
-	* gst/gstelementfactory.c:
-	* gst/gstindex.c:
-	* gst/gstobject.c:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstregistry.c:
-	* gst/gstregistry.h:
-	* gst/gstregistryxml.c:
-	* tests/check/gst/gst.c:
-	  various cleanups and memleak plugging.  make valgrind is happy now.
-	  Original commit message from CVS:
-	  various cleanups and memleak plugging.  make valgrind is happy now.
-
-2005-09-18 21:23:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst/.gitignore:
-	* common:
-	* tests/check/gst/.gitignore:
-	  add check-valgrind target
-	  Original commit message from CVS:
-	  add check-valgrind target
-
-2005-09-18 09:15:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstregistry.c:
-	  loading a plugin can return NULL
-	  Original commit message from CVS:
-	  loading a plugin can return NULL
-
-2005-09-18 07:41:28 +0000  David Schleef <ds@schleef.org>
-
-	  tools/gst-inspect.c: Revert the GOption code.
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: Revert the GOption code.
-
-2005-09-18 06:59:25 +0000  David Schleef <ds@schleef.org>
-
-	  check/Makefile.am: Fix environment variables.
-	  Original commit message from CVS:
-	  * check/Makefile.am: Fix environment variables.
-	  * check/gst/gstplugin.c: Fix for API changes.
-	  * tools/gst-inspect.c: Fix for API changes.
-	  * tools/gst-xmlinspect.c: Fix for API changes.
-	  * gst/gstelementfactory.c:
-	  * gst/gstplugin.c:
-	  * gst/gstplugin.h:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstpluginfeature.h:
-	  * gst/gstregistry.c:
-	  * gst/gstregistry.h:
-	  * gst/gstregistryxml.c:
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefindfactory.c:
-	  * gst/indexers/gstfileindex.c:
-	  * gst/indexers/gstmemindex.c:
-	  * gst/schedulers/Makefile.am:
-	  Change registry to keep track of both plugins and features,
-	  removing the feature tracking from plugins themselves.
-
-2005-09-17 18:14:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  add valgrind target; disable gstplugin until it passes
-	  Original commit message from CVS:
-	  add valgrind target; disable gstplugin until it passes
-
-2005-09-17 18:11:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* Makefile.am:
-	* check/Makefile.am:
-	* common:
-	* tests/check/Makefile.am:
-	  add valgrind target; disable gstplugin until it passes
-	  Original commit message from CVS:
-	  add valgrind target; disable gstplugin until it passes
-
-2005-09-16 11:24:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstplugin.h:
-	  add mising include
-	  Original commit message from CVS:
-	  add mising include
-
-2005-09-16 08:17:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  set the right var
-	  Original commit message from CVS:
-	  set the right var
-
-2005-09-16 08:14:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	* tools/gst-register.1.in:
-	  remove gst-register
-	  Original commit message from CVS:
-	  remove gst-register
-
-2005-09-16 04:54:24 +0000  David Schleef <ds@schleef.org>
-
-	  Getting tired of debugging.  Disabled all the unreffing of plugins and features, which fixes the segfaults, but of co...
-	  Original commit message from CVS:
-	  * check/gst/gstplugin.c:
-	  * gst/gstelementfactory.c:
-	  * gst/gstplugin.c:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstregistry.c:
-	  Getting tired of debugging.  Disabled all the unreffing of
-	  plugins and features, which fixes the segfaults, but of
-	  course leaks like crazy.  At least playbin works.
-
-2005-09-16 03:46:14 +0000  David Schleef <ds@schleef.org>
-
-	  check/gst/gstplugin.c: More testing
-	  Original commit message from CVS:
-	  * check/gst/gstplugin.c: (register_check_elements),
-	  (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
-	  More testing
-	  * gst/elements/gsttypefindelement.c: Fix refcounting.
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefindfactory.c:
-	  * gst/gsttypefindfactory.h:
-
-2005-09-16 00:37:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstplugin.c:
-	* tests/check/gst/gstplugin.c:
-	  unverbosify
-	  Original commit message from CVS:
-	  unverbosify
-
-2005-09-16 00:08:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasesrc.h:
-	  some whitespace to trigger a build
-	  Original commit message from CVS:
-	  some whitespace to trigger a build
-
-2005-09-16 00:02:27 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstindex.c: get refcounting correct.
-	  Original commit message from CVS:
-	  * gst/gstindex.c: get refcounting correct.
-	  * gst/gstregistry.c: Handle the case where a feature/plugin is
-	  not found.
-
-2005-09-15 23:51:24 +0000  David Schleef <ds@schleef.org>
-
-	  check/: Add test
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/gstplugin.c: Add test
-	  * gst/gstplugin.c: Fix problems noticed by testsuite
-	  * gst/gstplugin.h:
-	  * gst/gstregistry.c:
-	  * gst/gstregistry.h:
-
-2005-09-15 20:56:30 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstplugin.c: Implement semi-decent recounting and locking in plugins and plugin features.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: Implement semi-decent recounting and locking
-	  in plugins and plugin features.
-	  * gst/gstplugin.h:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstpluginfeature.h:
-	  * gst/gstregistry.c:
-
-2005-09-15 14:21:08 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* common:
-	* gst/gstregistry.c:
-	  Implement missing function. This is enough to get the basics of typefinding working - oggdemux succeeds now. decodebi...
-	  Original commit message from CVS:
-	  Implement missing function. This is enough to get the basics of
-	  typefinding working - oggdemux succeeds now. decodebin is still broken.
-
-2005-09-15 05:58:37 +0000  David Schleef <ds@schleef.org>
-
-	  configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug #316076)
-	  Original commit message from CVS:
-	  * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
-	  #316076)
-	  * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
-	  * gst/check/Makefile.am:
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/dataprotocol/Makefile.am:
-
-2005-09-15 05:48:30 +0000  David Schleef <ds@schleef.org>
-
-	  configure.ac: Remove getbits library.  Nothing uses it, and it should be in something like liboil if someone did want...
-	  Original commit message from CVS:
-	  * configure.ac: Remove getbits library.  Nothing uses it, and
-	  it should be in something like liboil if someone did want
-	  to use it.
-	  * libs/gst/Makefile.am:
-	  * libs/gst/getbits/Makefile.am:
-	  * libs/gst/getbits/gbtest.c:
-	  * libs/gst/getbits/getbits.c:
-	  * libs/gst/getbits/getbits.h:
-	  * libs/gst/getbits/gstgetbits_generic.c:
-	  * libs/gst/getbits/gstgetbits_i386.s:
-	  * libs/gst/getbits/gstgetbits_inl.h:
-
-2005-09-15 05:42:13 +0000  David Schleef <ds@schleef.org>
-
-	  gst/Makefile.am: Dist glib-compat.h
-	  Original commit message from CVS:
-	  * gst/Makefile.am: Dist glib-compat.h
-
-2005-09-15 03:20:49 +0000  David Schleef <ds@schleef.org>
-
-	  configure.ac: Remove gst/registries, since it's no longer used.
-	  Original commit message from CVS:
-	  * configure.ac: Remove gst/registries, since it's no longer used.
-	  * gst/registries/Makefile.am:
-	  * gst/registries/gstlibxmlregistry.c:
-	  * gst/registries/gstlibxmlregistry.h:
-	  * gst/registries/gstxmlregistry.c:
-	  * gst/registries/gstxmlregistry.h:
-	  * gst/registries/registrytest.c:
-
-2005-09-15 01:38:33 +0000  David Schleef <ds@schleef.org>
-
-	  gst/: Convergence is near.  Seriously.
-	  Original commit message from CVS:
-	  * gst/glib-compat.h:
-	  * gst/gstregistryxml.c:
-	  Convergence is near.  Seriously.
-
-2005-09-15 01:34:52 +0000  David Schleef <ds@schleef.org>
-
-	  gst/glib-compat.*: Attempt #4 to appease the buildbots.
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
-	  * gst/glib-compat.h:
-	  Attempt #4 to appease the buildbots.
-
-2005-09-15 01:26:42 +0000  David Schleef <ds@schleef.org>
-
-	  gst/glib-compat.c: Attempt #3.
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
-	  Attempt #3.
-
-2005-09-15 01:20:22 +0000  David Schleef <ds@schleef.org>
-
-	  gst/glib-compat.c: Attempt #2.
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
-	  Attempt #2.
-
-2005-09-15 01:14:17 +0000  David Schleef <ds@schleef.org>
-
-	  gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain the new functions.
-	  Original commit message from CVS:
-	  * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
-	  the new functions.
-
-2005-09-15 01:10:52 +0000  David Schleef <ds@schleef.org>
-
-	  gst/glib-compat.*: Add some functions that are in newer versions of glib than we care to require.
-	  Original commit message from CVS:
-	  * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
-	  * gst/glib-compat.h: Add some functions that are in newer versions
-	  of glib than we care to require.
-	  * gst/gstregistryxml.c: Use them.
-
-2005-09-15 00:48:45 +0000  David Schleef <ds@schleef.org>
-
-	  po/POTFILES.in: remove gst-register.c
-	  Original commit message from CVS:
-	  * po/POTFILES.in: remove gst-register.c
-
-2005-09-15 00:42:03 +0000  David Schleef <ds@schleef.org>
-
-	  docs/gst/: Documentation updates for registry changes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types:
-	  * docs/gst/tmpl/gstelement.sgml:
-	  * docs/gst/tmpl/gstplugin.sgml:
-	  * docs/gst/tmpl/gstpluginfeature.sgml:
-	  Documentation updates for registry changes.
-
-2005-09-15 00:35:11 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib, because we don't require glib-2.8.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
-	  because we don't require glib-2.8.
-
-2005-09-15 00:20:14 +0000  David Schleef <ds@schleef.org>
-
-	  gst/gstregistryxml.c: Added.  Essentially moved out of the registries directory.
-	  Original commit message from CVS:
-	  * gst/gstregistryxml.c: Added.  Essentially moved out of the
-	  registries directory.
-
-2005-09-15 00:13:26 +0000  David Schleef <ds@schleef.org>
-
-	  remove
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/generic/states.c:
-	  * gst/Makefile.am:
-	  * gst/gst.c:
-	  * gst/gst.h:
-	  * gst/gst_private.h:
-	  * gst/gstelementfactory.c:
-	  * gst/gstindex.c:
-	  * gst/gstinfo.c:
-	  * gst/gstplugin.c:
-	  * gst/gstplugin.h:
-	  * gst/gstpluginfeature.c:
-	  * gst/gstpluginfeature.h:
-	  * gst/gstregistry.c:
-	  * gst/gstregistry.h:
-	  * gst/gstregistrypool.c: remove
-	  * gst/gstregistrypool.h: remove
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefindfactory.c:
-	  * gst/gsturi.c:
-	  * tools/Makefile.am:
-	  * tools/gst-compprep.c:
-	  * tools/gst-inspect.c:
-	  * tools/gst-register.c: remove
-	  * tools/gst-xmlinspect.c:
-	  Registry rewrite.  Changes registry from being a file created
-	  by a tool into a simple cache file created automatically by
-	  libgstreamer.  Removed gst-register (because it's no longer
-	  needed).  Remove registry pools, because we only have one
-	  registry implementation (XML).  Fix up other subsystems as
-	  necessary.
-
-2005-09-14 22:05:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	  whoops, wrong commit
-	  Original commit message from CVS:
-	  whoops, wrong commit
-
-2005-09-14 22:01:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/README:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	  notes on documenting elements and plugins
-	  Original commit message from CVS:
-	  notes on documenting elements and plugins
-
-2005-09-14 15:16:33 +0000  Michael Smith <msmith@xiph.org>
-
-	* common:
-	* gst/Makefile.am:
-	  Rest of the fix for 316155: don't confuse MinGW when running glib-mkenums
-	  Original commit message from CVS:
-	  Rest of the fix for 316155: don't confuse MinGW when running glib-mkenums
-
-2005-09-13 15:03:05 +0000  Steve Lhomme <steve.lhomme@free.fr>
-
-	  file gst-typefind.vcproj was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file gst-typefind.vcproj was initially added on branch BRANCH-GSTREAMER-0_8.
-
-2005-09-13 14:49:23 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* gst/gstconfig.h.in:
-	  Don't use windows linking attributes in MinGW
-	  Original commit message from CVS:
-	  Don't use windows linking attributes in MinGW
-
-2005-09-13 11:00:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstutils.c: Apparently people think it's better if this function doesn't try to set the state to whatever state w...
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (set_state_async_thread_func),
-	  (gst_element_set_state_async):
-	  Apparently people think it's better if this function doesn't
-	  try to set the state to whatever state was asked for on the first
-	  call to this function for any object.  Seriously.
-
-2005-09-12 18:14:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  add a gst_element_set_state_async method that sets the state and starts a thread to make sure the state change comple...
-	  Original commit message from CVS:
-	  * check/gst/gstpipeline.c: (GST_START_TEST):
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.c: (set_state_async_thread_func),
-	  (gst_element_set_state_async):
-	  * gst/gstutils.h:
-	  add a gst_element_set_state_async method that
-	  sets the state and starts a thread to make sure the state
-	  change completes as best as it can
-
-2005-09-12 17:01:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst/gstpipeline.c:
-	* tests/check/gst/gstpipeline.c:
-	  codify design+behaviour in testsuite after discussion
-	  Original commit message from CVS:
-	  codify design+behaviour in testsuite after discussion
-
-2005-09-12 16:10:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/: add a quote
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gstelement.sgml:
-	  * docs/manual/appendix-quotes.xml:
-	  add a quote
-	  * gst/gstelement.c: (gst_element_set_state):
-	  add some debug
-
-2005-09-12 13:45:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/: Remove the requirement for sub-classes to call the parent implementation of prepare_output_buffer with a wrappe...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
-	  (gst_base_transform_prepare_output_buf),
-	  (gst_base_transform_handle_buffer):
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
-	  (gst_capsfilter_prepare_buf):
-	  Remove the requirement for sub-classes to call the parent
-	  implementation of prepare_output_buffer with a wrapper function.
-	  * gst/gsttaglist.h:
-	  * gst/gsttagsetter.h:
-	  Fix #define wrapper
-
-2005-09-11 19:22:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: more doc cleanups
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  more doc cleanups
-
-2005-09-11 13:07:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* gst/gstminiobject.c:
-	* gst/gstvalue.h:
-	  doc build clean, hurray
-	  Original commit message from CVS:
-	  doc build clean, hurray
-
-2005-09-11 12:57:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* gst/base/gstadapter.h:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.h:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstclock.h:
-	* gst/gstelement.h:
-	* gst/gstevent.h:
-	* gst/gstmessage.h:
-	* gst/gstpad.h:
-	* gst/gststructure.c:
-	* gst/registries/gstlibxmlregistry.h:
-	* libs/gst/base/gstadapter.h:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	  various doc fixes
-	  Original commit message from CVS:
-	  various doc fixes
-
-2005-09-11 12:02:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  fix silly bug that caused build to fail when check is missing
-	  Original commit message from CVS:
-	  fix silly bug that caused build to fail when check is missing
-
-2005-09-11 12:01:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/gst/: rearrange gstvalue section
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstvalue.sgml:
-	  rearrange gstvalue section
-	  * gst/gstutils.c: (gst_element_state_get_name):
-	  NONE -> VOID
-	  * gst/gstvalue.c: (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  doc updates
-
-2005-09-11 11:57:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.c:
-	  debug fixes
-	  Original commit message from CVS:
-	  debug fixes
-
-2005-09-09 23:45:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst-libs/controller.c: Header include fix.
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c:
-	  Header include fix.
-	  * gst/base/gstbasetransform.c:
-	  (gst_base_transform_default_prepare_buf),
-	  (gst_base_transform_handle_buffer):
-	  * gst/base/gstbasetransform.h:
-	  Some more basetransform changes and fixes to enable sub-classes
-	  that modify buffer metadata only.
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
-	  (gst_capsfilter_init), (gst_capsfilter_transform_ip),
-	  (gst_capsfilter_prepare_buf):
-	  If the output pad has fixed allowed caps and input buffers
-	  don't have any, set the fixed caps on outgoing buffers.
-
-2005-09-09 18:05:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.c:
-	  object debugging is good
-	  Original commit message from CVS:
-	  object debugging is good
-
-2005-09-09 17:42:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/elements/identity.c: Make the error a little clearer when the test fails because identity made a copy of the bu...
-	  Original commit message from CVS:
-	  * check/elements/identity.c: (GST_START_TEST):
-	  Make the error a little clearer when the test fails because
-	  identity made a copy of the buffer.
-	  * docs/gst/gstreamer-sections.txt:
-	  New symbols in gstbasetransform.h
-	  * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
-	  (gst_base_transform_init), (gst_base_transform_transform_size),
-	  (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
-	  (gst_base_transform_default_prepare_buf),
-	  (gst_base_transform_get_unit_size),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_chain),
-	  (gst_base_transform_change_state),
-	  (gst_base_transform_set_passthrough),
-	  (gst_base_transform_set_in_place),
-	  (gst_base_transform_is_in_place):
-	  * gst/base/gstbasetransform.h:
-	  Change BaseTransform to separate in_place operate from same_caps
-	  output. in_place implies that the element can perform the transform
-	  on incoming buffers in-place, even if the caps on the output are
-	  different.
-	  Sub-class elements can now implement special buffer allocation
-	  methods for outgoing buffers if they wish to.
-	  Big documentation addition.
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
-	  * gst/elements/gstelements.c:
-	  Changes for basetransform modifications.
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
-	  Compile fix. Extra debug output.
-
-2005-09-09 15:19:24 +0000  Steve Lhomme <steve.lhomme@free.fr>
-
-	  file gstcontrol.vcproj was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file gstcontrol.vcproj was initially added on branch BRANCH-GSTREAMER-0_8.
-
-2005-09-09 14:34:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstpad.c: add tests for valid pad naming
-	  Original commit message from CVS:
-	  * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
-	  (gst_pad_suite):
-	  add tests for valid pad naming
-	  * gst/check/gstcheck.c: (gst_check_log_message_func),
-	  (gst_check_log_critical_func):
-	  add ASSERT_WARNING
-	  remove printing of code, it is fragile when the code contains
-	  % and the line number is enough info
-	  * gst/check/gstcheck.h:
-	  * gst/gstpad.c: (gst_pad_template_new):
-	  fix memleaks
-
-2005-09-09 13:28:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	  and the changelog
-	  Original commit message from CVS:
-	  and the changelog
-
-2005-09-09 13:26:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: say what CHECK flags we use
-	  Original commit message from CVS:
-	  * configure.ac:
-	  say what CHECK flags we use
-	  * docs/libs/gstreamer-libs.types:
-	  * libs/gst/controller/Makefile.am:
-	  * libs/gst/controller/gst-controller.c:
-	  * libs/gst/controller/gst-controller.h:
-	  * libs/gst/controller/gst-helper.c:
-	  * libs/gst/controller/gst-interpolation.c:
-	  * libs/gst/controller/gstcontroller.c:
-	  * libs/gst/controller/gsthelper.c:
-	  * libs/gst/controller/gstinterpolation.c:
-	  * tools/gst-inspect.c: (print_plugin_info):
-	  we don't use dashes in header names
-
-2005-09-09 12:02:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: adding a test for pipelines and state changes
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/.cvsignore:
-	  * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
-	  (gst_pipeline_suite), (main):
-	  adding a test for pipelines and state changes
-	  * gst/gstutils.c: (get_state_func):
-	  add some debugging
-	  * gstreamer.spec.in:
-	  fix up spec file
-
-2005-09-08 17:23:57 +0000  Michael Smith <msmith@xiph.org>
-
-	* ChangeLog:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstfilesrc.h:
-	* gst/gstevent.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfilesrc.h:
-	  Various fixes for unseekable, unmmapable, and non-normal files, so that fallback to read() rather than mmap() works.
-	  Original commit message from CVS:
-	  Various fixes for unseekable, unmmapable, and non-normal files, so that
-	  fallback to read() rather than mmap() works.
-	  Allow newsegment events with start == end, so that cases where that's
-	  correct work (e.g. filesrc on a zero-size file).
-
-2005-09-08 11:45:12 +0000  Michael Smith <msmith@xiph.org>
-
-	* docs/pwg/building-state.xml:
-	  Update the manual section on state changes for wingo's new API
-	  Original commit message from CVS:
-	  Update the manual section on state changes for wingo's new API
-
-2005-09-07 15:22:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstplugin.c: Call g_module_close when we don't load the module
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_load_file):
-	  Call g_module_close when we don't load the module
-	  * gst/registries/gstlibxmlregistry.c:
-	  (gst_xml_registry_get_property):
-	  Port leak fix from 0.8
-
-2005-09-07 14:08:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* po/POTFILES.in:
-	  more rename fixing ...
-	  Original commit message from CVS:
-	  more rename fixing ...
-
-2005-09-07 13:22:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter inlined docs for gsttrace, gsttrashstack
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gsttrace.sgml:
-	  * docs/gst/tmpl/gsttrashstack.sgml:
-	  * gst/Makefile.am:
-	  * gst/gst.h:
-	  * gst/gstelement.h:
-	  * gst/gstevent.h:
-	  * gst/gstmessage.c:
-	  * gst/gstmessage.h:
-	  * gst/gsttag.c:
-	  * gst/gsttag.h:
-	  * gst/gsttaginterface.c:
-	  * gst/gsttaginterface.h:
-	  * gst/gsttaglist.c:
-	  * gst/gsttaglist.h:
-	  * gst/gsttagsetter.c:
-	  * gst/gsttagsetter.h:
-	  * gst/gsttrace.c:
-	  * gst/gsttrace.h:
-	  * gst/gsttrashstack.c:
-	  renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
-	  inlined docs for gsttrace, gsttrashstack
-
-2005-09-07 12:35:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/: splitted gsttypefind into gsttypefind, gsttypefindfactory
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/elements/gstbufferstore.h:
-	  * gst/elements/gsttypefindelement.c:
-	  * gst/elements/gsttypefindelement.h:
-	  * gst/gst.h:
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefind.h:
-	  * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
-	  (gst_type_find_factory_class_init), (gst_type_find_factory_init),
-	  (gst_type_find_factory_dispose),
-	  (gst_type_find_factory_unload_thyself),
-	  (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
-	  (gst_type_find_factory_get_caps),
-	  (gst_type_find_factory_get_extensions),
-	  (gst_type_find_factory_call_function):
-	  * gst/gsttypefindfactory.h:
-	  * gst/registries/gstlibxmlregistry.c:
-	  * gst/registries/gstxmlregistry.c:
-	  splitted gsttypefind into gsttypefind, gsttypefindfactory
-
-2005-09-07 10:06:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race condition whereby the pad's task function is entered...
-	  Original commit message from CVS:
-	  2005-09-07  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
-	  condition whereby the pad's task function is entered before the
-	  pad_mode variable was set.
-
-2005-09-06 22:57:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Catch misbehaving pad_alloc functions that don't set up caps and do it for them.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer):
-	  Catch misbehaving pad_alloc functions that don't
-	  set up caps and do it for them.
-
-2005-09-06 22:03:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/pipelines/simple_launch_lines.c: test for pipe!=NULL
-	  Original commit message from CVS:
-	  * check/pipelines/simple_launch_lines.c: (run_pipeline):
-	  test for pipe!=NULL
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstmemchunk.sgml:
-	  * docs/gst/tmpl/gstparse.sgml:
-	  * docs/gst/tmpl/gsttaglist.sgml:
-	  * docs/gst/tmpl/gsttagsetter.sgml:
-	  * docs/gst/tmpl/gsttypefind.sgml:
-	  * docs/gst/tmpl/gsttypefindfactory.sgml:
-	  * gst/gstmemchunk.c:
-	  * gst/gstparse.c:
-	  * gst/gsttag.c:
-	  * gst/gsttaginterface.c:
-	  * gst/gsttypefind.c:
-	  * gst/gsttypefind.h:
-	  inlined more docs
-
-2005-09-06 18:18:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstghostpad.c:
-	* tests/check/gst/gstghostpad.c:
-	  add a check for a ghostpad that doesn't have a target being linked
-	  Original commit message from CVS:
-	  add a check for a ghostpad that doesn't have a target being linked
-
-2005-09-06 14:11:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-=== release 0.9.2 ===
-
-2005-09-06 14:02:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* README:
-	* RELEASE:
-	* configure.ac:
-	  releasing 0.9.2
-	  Original commit message from CVS:
-	  releasing 0.9.2
-
-2005-09-06 11:45:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	* common:
-	  update readme with explanation of modules
-	  Original commit message from CVS:
-	  update readme with explanation of modules
-
-2005-09-06 09:52:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	* docs/random/ChangeLog-0.8:
-	  changelog split
-	  Original commit message from CVS:
-	  changelog split
-
-2005-09-05 17:55:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* autogen.sh:
-	* docs/gst/tmpl/gstplugin.sgml:
-	  maintenance updates
-	  Original commit message from CVS:
-	  maintenance updates
-
-2005-09-05 17:53:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/faq/gst-uninstalled:
-	  adding -bad
-	  Original commit message from CVS:
-	  adding -bad
-
-2005-09-05 16:54:54 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/registries/gstxmlregistry.*: and update to newer API.
-	  Original commit message from CVS:
-	  * gst/registries/gstxmlregistry.h:
-	  * gst/registries/gstxmlregistry.c: and update to newer API.
-	  Incidentally they should be a bit faster now that they don't have
-	  to parse the caps.
-
-2005-09-05 16:52:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/registries/gstxmlregistry.*: Um... resurrect...
-	  Original commit message from CVS:
-	  2005-09-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/registries/gstxmlregistry.h:
-	  * gst/registries/gstxmlregistry.c: Um... resurrect...
-
-2005-09-05 16:36:47 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/registries/gstxmlregistry.*: Remove from CVS, they were replaced by the libxml registry a while back
-	  Original commit message from CVS:
-	  2005-09-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/registries/gstxmlregistry.h:
-	  * gst/registries/gstxmlregistry.c: Remove from CVS, they were
-	  replaced by the libxml registry a while back
-
-2005-09-05 11:54:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/generic/.gitignore:
-	* check/gst/.gitignore:
-	* docs/README:
-	* examples/pwg/.gitignore:
-	* tests/check/generic/.gitignore:
-	* tests/check/gst/.gitignore:
-	* tests/old/examples/pwg/.gitignore:
-	  maintenance updates
-	  Original commit message from CVS:
-	  maintenance updates
-
-2005-09-05 09:38:38 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* docs/gst/gstreamer-docs.sgml:
-	  Rever to 1.80 version of this file as GstUtils is not as dead as it seemed
-	  Original commit message from CVS:
-	  Rever to 1.80 version of this file as GstUtils is not as dead as it seemed
-
-2005-09-05 09:23:44 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* common:
-	* docs/gst/gstreamer-docs.sgml:
-	  remove GstUtils mention as it is now gone
-	  Original commit message from CVS:
-	  remove GstUtils mention as it is now gone
-
-2005-09-04 11:01:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  need to add -lcheck to the pkgconfig file
-	  Original commit message from CVS:
-	  need to add -lcheck to the pkgconfig file
-
-2005-09-03 17:36:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstplugin.c:
-	  fix for a critical when a module returns NULL on opening
-	  Original commit message from CVS:
-	  fix for a critical when a module returns NULL on opening
-
-2005-09-03 17:00:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* gst/elements/gstelements.c:
-	* gst/gst.c:
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	* gst/registries/gstlibxmlregistry.c:
-	* gst/registries/gstxmlregistry.c:
-	* plugins/elements/gstelements.c:
-	* tools/gst-inspect.c:
-	  add a source plugin description field, to represent the source module this plugin is a part of.  By default GST_PLUGI...
-	  Original commit message from CVS:
-	  add a source plugin description field, to represent the source
-	  module this plugin is a part of.  By default GST_PLUGIN_DEFINE
-	  will set it to PACKAGE, which is automake's idea of the name of
-	  the source project.
-
-2005-09-03 16:16:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* docs/htmlinstall.mak:
-	  fix distcheck
-	  Original commit message from CVS:
-	  fix distcheck
-
-2005-09-03 14:20:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* Makefile.am:
-	* docs/htmlinstall.mak:
-	  enable docs build for distcheck
-	  Original commit message from CVS:
-	  enable docs build for distcheck
-
-2005-09-03 13:54:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/plugins/.gitignore:
-	* docs/plugins/Makefile.am:
-	* docs/plugins/gstdoc-mkdb:
-	* docs/plugins/gstdoc-mktmpl:
-	* docs/plugins/gstdoc-scanobj:
-	* docs/plugins/gstreamer-plugins-docs.sgml:
-	* docs/plugins/gstreamer-plugins-sections.txt:
-	* docs/plugins/gstreamer-plugins.types.in:
-	* docs/plugins/tmpl/ac3dec.sgml:
-	* docs/plugins/tmpl/ac3parse.sgml:
-	* docs/plugins/tmpl/audioscale.sgml:
-	* docs/plugins/tmpl/cobin.sgml:
-	* docs/plugins/tmpl/dvdsrc.sgml:
-	* docs/plugins/tmpl/example.sgml:
-	* docs/plugins/tmpl/gstaviencoder.sgml:
-	* docs/plugins/tmpl/gstjpeg.sgml:
-	* docs/plugins/tmpl/gstjpegdec.sgml:
-	* docs/plugins/tmpl/gstjpegenc.sgml:
-	* docs/plugins/tmpl/gstmpeg1encoder.sgml:
-	* docs/plugins/tmpl/gstmpeg2enc.sgml:
-	* docs/plugins/tmpl/gstmpeg2play.sgml:
-	* docs/plugins/tmpl/gstmpeg_play.sgml:
-	* docs/plugins/tmpl/gstmpegaudio.sgml:
-	* docs/plugins/tmpl/gstmpg123.sgml:
-	* docs/plugins/tmpl/gstparseau.sgml:
-	* docs/plugins/tmpl/gstparseavi.sgml:
-	* docs/plugins/tmpl/gstparsewav.sgml:
-	* docs/plugins/tmpl/gstreamer-plugins-unused.sgml:
-	* docs/plugins/tmpl/gstspectrum.sgml:
-	* docs/plugins/tmpl/gstv4lsrc.sgml:
-	* docs/plugins/tmpl/gstwincodec.sgml:
-	* docs/plugins/tmpl/gstwindec.sgml:
-	* docs/plugins/tmpl/gstwinenc.sgml:
-	* docs/plugins/tmpl/gstxa.sgml:
-	* docs/plugins/tmpl/gstxing.sgml:
-	* docs/plugins/tmpl/median.sgml:
-	* docs/plugins/tmpl/mp1videoparse.sgml:
-	* docs/plugins/tmpl/mp2videoparse.sgml:
-	* docs/plugins/tmpl/mp3parse.sgml:
-	* docs/plugins/tmpl/mpeg1parse.sgml:
-	* docs/plugins/tmpl/mpeg2parse.sgml:
-	* docs/plugins/tmpl/mpeg2subt.sgml:
-	* docs/plugins/tmpl/rtjpegdec.sgml:
-	* docs/plugins/tmpl/rtjpegenc.sgml:
-	* docs/plugins/tmpl/smooth.sgml:
-	* docs/plugins/tmpl/smoothwave.sgml:
-	* docs/plugins/tmpl/spindentity.sgml:
-	* docs/plugins/tmpl/stereo.sgml:
-	* docs/plugins/tmpl/synaesthesia.sgml:
-	* docs/plugins/tmpl/system_encode.sgml:
-	* docs/plugins/tmpl/vcdsrc.sgml:
-	* docs/plugins/tmpl/videoscale.sgml:
-	* docs/plugins/tmpl/videosink.sgml:
-	* docs/plugins/tmpl/volume.sgml:
-	* docs/plugins/tmpl/vorbisdec.sgml:
-	* docs/plugins/tmpl/vorbisenc.sgml:
-	* docs/plugins/tmpl/vumeter.sgml:
-	  remove old plugins docs
-	  Original commit message from CVS:
-	  remove old plugins docs
-
-2005-09-03 13:49:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* Makefile.am:
-	* autogen.sh:
-	* common:
-	* configure.ac:
-	* docs/Makefile.am:
-	* docs/faq/Makefile.am:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/htmlinstall.mak:
-	* docs/manual/Makefile.am:
-	* docs/pwg/Makefile.am:
-	* gstreamer.spec.in:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  clean up docs build a little; have docdir be an overridable install location; separate gtk-doc and docbook bits
-	  Original commit message from CVS:
-	  clean up docs build a little; have docdir be an overridable install location; separate gtk-doc and docbook bits
-
-2005-09-02 23:36:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gsturi.h:
-	  whitespace cleanups
-	  Original commit message from CVS:
-	  whitespace cleanups
-
-2005-09-02 23:17:26 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstbasesink.c: Add comment.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
-	  Add comment.
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_init),
-	  (gst_fake_sink_change_state):
-	  Make state change function thread-safe.
-	  * gst/gstpad.c: (gst_pad_alloc_buffer):
-	  Set offset on generic buffer allocated by fallback.
-
-2005-09-02 23:03:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gsttrashstack.h:
-	  whitespace fixes
-	  Original commit message from CVS:
-	  whitespace fixes
-
-2005-09-02 21:37:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  run the wingo-magic script against the docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstelement.sgml:
-	  * gst/gstpad.c:
-	  * libs/gst/controller/gst-controller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_new),
-	  (gst_controller_find_controlled_property):
-	  run the wingo-magic script against the docs
-
-2005-09-02 18:36:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/gst/tmpl/gstqueue.sgml:
-	  removed file again
-	  Original commit message from CVS:
-	  removed file again
-
-2005-09-02 17:23:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  merged elementdetails docs into elementfactory docs inlined both
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstelementdetails.sgml:
-	  * docs/gst/tmpl/gstelementfactory.sgml:
-	  * gst/gst.c:
-	  * gst/gstbus.c:
-	  * gst/gstelementfactory.c:
-	  * gst/gstelementfactory.h:
-	  merged elementdetails docs into elementfactory docs
-	  inlined both
-
-2005-09-02 16:44:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.h: Add magical pixie dust to make glib-mkenums consider this enum an enum and not a flags.
-	  Original commit message from CVS:
-	  2005-09-02  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
-	  consider this enum an enum and not a flags.
-
-2005-09-02 16:17:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs inlined
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstghostpad.sgml:
-	  * docs/gst/tmpl/gstiterator.sgml:
-	  * docs/gst/tmpl/gstmacros.sgml:
-	  * docs/gst/tmpl/gstrealpad.sgml:
-	  * docs/gst/tmpl/gstregistry.sgml:
-	  * docs/gst/tmpl/gstregistrypool.sgml:
-	  * docs/gst/tmpl/gststructure.sgml:
-	  * docs/gst/tmpl/gstsystemclock.sgml:
-	  * docs/gst/tmpl/gsttrace.sgml:
-	  * gst/gstghostpad.c:
-	  * gst/gstmacros.h:
-	  * gst/gstmemchunk.c:
-	  * gst/gstmemchunk.h:
-	  * gst/gstqueue.c:
-	  * gst/gstregistry.c:
-	  * gst/gstregistrypool.c:
-	  * gst/gststructure.c:
-	  * gst/gstsystemclock.c:
-	  more docs inlined
-
-2005-09-02 15:42:00 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstelement.h (GstState): Renamed from GstElementState, changed to be a normal enum instead of flags.
-	  Original commit message from CVS:
-	  2005-09-02  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstelement.h (GstState): Renamed from GstElementState,
-	  changed to be a normal enum instead of flags.
-	  (GstStateChangeReturn): Renamed from GstElementStateReturn, names
-	  munged to be GST_STATE_CHANGE_*.
-	  (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
-	  work with the new state representation.
-	  (GstStateChange): New enumeration of possible state transitions.
-	  Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
-	  (GstElementClass::change_state): Pass the GstStateChange along as
-	  an argument. Helps language bindings, so they don't have to use
-	  tricky lock-needing macros like GST_STATE_CHANGE ().
-	  * scripts/update-states (file): New script. Run it on a file to
-	  update it for state naming and API changes. Updates files in
-	  place.
-	  * All files updated for the new API.
-
-2005-09-02 12:11:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gstreamer.spec.in:
-	  clean up spec some more
-	  Original commit message from CVS:
-	  clean up spec some more
-
-2005-09-02 12:08:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/: fix a bunch of unchecked return values
-	  Original commit message from CVS:
-	  * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
-	  * gst/gstutils.c: (gst_util_set_value_from_string),
-	  (gst_util_set_object_arg):
-	  fix a bunch of unchecked return values
-	  * tools/gst-complete.c: (main):
-	  * gstreamer.spec.in:
-	  clean up a little
-
-2005-09-01 19:06:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/gst/tmpl/.gitignore:
-	* docs/gst/tmpl/gsttaglist.sgml:
-	  updated .cvsignore
-	  Original commit message from CVS:
-	  updated .cvsignore
-
-2005-09-01 18:12:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Handle newsegments more correctly.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_event), (gst_base_sink_do_sync),
-	  (gst_base_sink_handle_event):
-	  * gst/base/gstbasesink.h:
-	  Handle newsegments more correctly.
-	  * gst/gstbus.c:
-	  Fix docs.
-	  * gst/gstevent.c: (gst_event_new_newsegment):
-	  A newsegment cannot have a start_time of -1
-
-2005-09-01 16:53:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  win32/gstenumtypes.*: Update
-	  Original commit message from CVS:
-	  * win32/gstenumtypes.c:
-	  * win32/gstenumtypes.h:
-	  Update
-
-2005-08-31 21:01:35 +0000  Michael Smith <msmith@xiph.org>
-
-	* docs/pwg/building-boiler.xml:
-	  Remove extraneous 'co' from cvs command in PWG, as reported on irc.
-	  Original commit message from CVS:
-	  Remove extraneous 'co' from cvs command in PWG, as reported on irc.
-
-2005-08-31 18:45:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/controller/gst-controller.c: fixed boolean again
-	  Original commit message from CVS:
-	  * libs/gst/controller/gst-controller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_new):
-	  fixed boolean again
-
-2005-08-31 15:27:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  docs/faq/gst-uninstalled: add -good
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  add -good
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  remove wrong docs
-	  * gst/gstutils.c: (gst_element_link_filtered):
-	  * gst/gstutils.h:
-	  add gst_element_link_filtered
-
-2005-08-31 14:08:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined more docs, fixed double id-ref
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gsterror.sgml:
-	  * docs/gst/tmpl/gstfilter.sgml:
-	  * docs/gst/tmpl/gsturihandler.sgml:
-	  * docs/gst/tmpl/gsturitype.sgml:
-	  * docs/gst/tmpl/gstutils.sgml:
-	  * docs/gst/tmpl/gstxml.sgml:
-	  * gst/gsterror.c:
-	  * gst/gsterror.h:
-	  * gst/gstfilter.c:
-	  * gst/gsturi.c:
-	  * gst/gsturitype.c:
-	  * gst/gstutils.c:
-	  * gst/gstxml.c:
-	  inlined more docs, fixed double id-ref
-
-2005-08-31 13:53:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Passthrough elements don't need the caps as they don't care.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
-	  (gst_base_transform_handle_buffer):
-	  Passthrough elements don't need the caps as they don't care.
-
-2005-08-31 13:50:40 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Don't leak refcounts on buffers.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_chain):
-	  Don't leak refcounts on buffers.
-
-2005-08-31 13:41:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.*: Handle the case where we are not negotiated more gracefully.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
-	  (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
-	  (gst_base_transform_chain), (gst_base_transform_change_state):
-	  * gst/base/gstbasetransform.h:
-	  Handle the case where we are not negotiated more gracefully.
-
-2005-08-31 12:55:54 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gstfilesrc.c: Set READONLY flag on mmap'ed buffers, otherwise gst_buffer_make_writable() won't work prop...
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
-	  (gst_file_src_map_region):
-	  Set READONLY flag on mmap'ed buffers, otherwise
-	  gst_buffer_make_writable() won't work properly (#314708).
-
-2005-08-31 10:07:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: passthrough elements can even do inplace on non writable buffers (as they don't touch th...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
-	  passthrough elements can even do inplace on non writable
-	  buffers (as they don't touch them).
-
-2005-08-31 10:00:08 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/gst-libs/controller.c: more tests (hehe I have the most)
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
-	  (gst_test_mono_source_set_property),
-	  (gst_test_mono_source_class_init), (GST_START_TEST),
-	  (gst_controller_suite):
-	  more tests (hehe I have the most)
-	  * gst/gstbus.c:
-	  describe popping messages whenusing mulltiple sources
-	  * libs/gst/controller/gst-controller.c:
-	  (gst_controlled_property_set_interpolation_mode),
-	  (gst_controlled_property_new):
-	  * libs/gst/controller/gst-controller.h:
-	  * libs/gst/controller/gst-interpolation.c:
-	  implement boolean properties
-
-2005-08-31 08:57:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstminiobject.c: Cannot assert that the refcount has to be positive since a disposed object can be resurected.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_mini_object_ref):
-	  Cannot assert that the refcount has to be positive
-	  since a disposed object can be resurected.
-
-2005-08-31 08:38:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Revert change, need to first fix badly behaving apps.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_init):
-	  Revert change, need to first fix badly behaving
-	  apps.
-
-2005-08-30 19:45:38 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/elements/: Activate pads before using them.
-	  Original commit message from CVS:
-	  * check/elements/fakesrc.c: (setup_fakesrc):
-	  * check/elements/identity.c: (setup_identity):
-	  Activate pads before using them.
-
-2005-08-30 19:29:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstadapter.c: Flushing out 0 bytes is ok for this function.
-	  Original commit message from CVS:
-	  * gst/base/gstadapter.c: (gst_adapter_flush):
-	  Flushing out 0 bytes is ok for this function.
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  no newsegment gives a warning and sets the start/stop to
-	  invalid.
-	  * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
-	  (gst_base_transform_set_passthrough):
-	  Some debug info.
-	  * gst/gstminiobject.c: (gst_mini_object_ref):
-	  Check refcount here too.
-	  * gst/gstpad.c: (gst_pad_init):
-	  Pads are initially flushing and refusing data.
-	  * gst/gstutils.c: (gst_element_link_pads_filtered):
-	  When adding a capsfilter element make sure it has the
-	  same state as the parent bin.
-
-2005-08-30 17:23:19 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  more docs and two more inlined
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstformat.sgml:
-	  * docs/gst/tmpl/gstversion.sgml:
-	  * gst/gstbus.h:
-	  * gst/gstformat.c:
-	  * gst/gstformat.h:
-	  * gst/gstversion.h.in:
-	  more docs and two more inlined
-
-2005-08-30 17:12:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/gstfilesink.c: Don't sync to clock.
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
-	  Don't sync to clock.
-
-2005-08-30 08:17:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: ultral33t func10ns deserve to appear in the docs actualy
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  ultral33t func10ns deserve to appear in the docs actualy
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstcompat.sgml:
-	  * docs/gst/tmpl/gstconfig.sgml:
-	  * gst/check/gstcheck.c:
-	  * gst/gstcompat.h:
-	  * gst/gstconfig.h.in:
-	  inlined more docs
-
-2005-08-29 21:41:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined and extended docs
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstquery.sgml:
-	  * docs/gst/tmpl/gstutils.sgml:
-	  * gst/gstquery.c:
-	  * gst/gstquery.h:
-	  inlined and extended docs
-
-2005-08-29 19:59:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  check/gst-libs/controller.c: more tests
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  more tests
-	  * docs/gst/tmpl/gstutils.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  * docs/libs/tmpl/gstdataprotocol.sgml:
-	  include path fixes
-	  * examples/controller/audio-example.c: (main):
-	  controller example works now
-	  * gst/gstclock.h:
-	  doc fixes
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  show param spec flags
-
-2005-08-29 16:10:36 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
-	  Original commit message from CVS:
-	  2005-08-29  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
-
-2005-08-29 09:52:44 +0000  Michael Smith <msmith@xiph.org>
-
-	* docs/faq/cvs.xml:
-	  Minor updates to developer cvs instructions, to more closely match what the freedesktop people want. Also, test my cv...
-	  Original commit message from CVS:
-	  Minor updates to developer cvs instructions, to more closely match what
-	  the freedesktop people want. Also, test my cvs commit access...
-
-2005-08-28 17:45:58 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init as having two arguments instead of just one. Allows su...
-	  Original commit message from CVS:
-	  2005-08-28  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
-	  as having two arguments instead of just one. Allows superclasses
-	  to access information on subclasses -- see the terrible for() loop
-	  in gtype.c:g_type_create_instance for the reason why. All callers
-	  changed.
-
-2005-08-27 10:57:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/design/part-messages.txt: update info
-	  Original commit message from CVS:
-	  * docs/design/part-messages.txt:
-	  update info
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstcaps.sgml:
-	  * docs/gst/tmpl/gstclock.sgml:
-	  * gst/gstbus.c:
-	  * gst/gstcaps.c:
-	  * gst/gstcaps.h:
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  * gst/gstmessage.c:
-	  added descriptions for bus and message
-	  inline caps and clock docs
-
-2005-08-26 22:32:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstmessage.*: doc fixes
-	  Original commit message from CVS:
-	  * gst/gstmessage.c:
-	  * gst/gstmessage.h:
-	  doc fixes
-
-2005-08-26 21:23:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/base/gstbasetransform.c: fix div-by-zero
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
-	  fix div-by-zero
-
-2005-08-26 14:21:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val.
-	  Original commit message from CVS:
-	  2005-08-26  Andy Wingo  <wingo@pobox.com>
-	  * check/pipelines/simple_launch_lines.c (run_pipeline): Check
-	  element_set_state's return val.
-	  (test_2_elements): Add test that's been disabled for months.
-	  * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
-	  can-activate-pull properties.
-	  * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
-	  can-activate-pull properties. Implement is_seekable so fakesrc can
-	  operate in pull mode.
-	  * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
-	  properties.
-	  (gst_base_sink_activate, gst_base_sink_activate_pull)
-	  (gst_base_sink_activate_push): Make activation mode choosing work.
-	  Cleanups.
-	  (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
-	  is right. Make pull mode work. Post an eos before pausing in pull
-	  mode.
-	  (gst_base_sink_change_state): Pay attention to the core's
-	  change_state() return val.
-	  * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
-	  has-getrange properties. Cleanups.
-	  * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
-	  has_getrange and replace with can_activate_pull and
-	  can_activate_push.
-	  * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
-	  locking comments. Remove has_loop, has_chain and replace with
-	  can_activate_pull and can_activate_push.
-
-2005-08-26 13:28:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Add metadata reading example that loops over a list of filenames, dumping any tags found.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * examples/Makefile.am:
-	  * examples/metadata/Makefile.am:
-	  * examples/metadata/read-metadata.c: (message_loop),
-	  (have_pad_handler), (make_pipeline), (print_tag), (main):
-	  Add metadata reading example that loops over a list of filenames,
-	  dumping any tags found.
-	  * gst/gstbus.c: (gst_bus_dispose):
-	  * gst/gstelement.c: (gst_element_dispose):
-	  Release a few potentially-held references in dispose.
-
-2005-08-26 13:21:47 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/tmpl/gstminiobject.sgml: do *not* add tmpl/*.sgml files to CVS!
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gstminiobject.sgml:
-	  do *not* add tmpl/*.sgml files to CVS!
-
-2005-08-26 13:17:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  libs/gst/bytestream/: removing obsolete files
-	  Original commit message from CVS:
-	  * libs/gst/bytestream/.cvsignore:
-	  * libs/gst/bytestream/Makefile.am:
-	  * libs/gst/bytestream/adapter.c:
-	  * libs/gst/bytestream/adapter.h:
-	  * libs/gst/bytestream/bytestream.c:
-	  * libs/gst/bytestream/bytestream.h:
-	  * libs/gst/bytestream/filepad.c:
-	  * libs/gst/bytestream/filepad.h:
-	  removing obsolete files
-
-2005-08-26 12:48:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/: disabed additional index entries again, as this makes docs-gen just slow and they aren't useful yet
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  disabed additional index entries again, as this makes docs-gen just
-	  slow and they aren't useful yet
-	  * docs/libs/gstreamer-libs-sections.txt:
-	  little -section.txt cleanup for libs
-
-2005-08-26 11:56:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/: fix up some debugging
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
-	  fix up some debugging
-	  (gst_base_transform_get_unit_size),
-	  (gst_base_transform_buffer_alloc), (gst_base_transform_event),
-	  (gst_base_transform_handle_buffer):
-	  * gst/base/gstbasetransform.h:
-	  handle and store timed NEWSEGMENT events so that subclasses that
-	  calculate time by counting samples have a segment_start time they
-	  need to add to their timestamps - see audioresample
-
-2005-08-26 11:19:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* common:
-	* gst/base/gstbasetransform.c:
-	* gst/gstbuffer.h:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasetransform.c:
-	  whitespace, doc and debug fixing/additions
-	  Original commit message from CVS:
-	  whitespace, doc and debug fixing/additions
-
-2005-08-25 23:17:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gst/gstbin.h: removed ';' from the end of macro defs
-	  Original commit message from CVS:
-	  * gst/gstbin.h:
-	  removed ';' from the end of macro defs
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * gst/gstbus.h:
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_set_state), (activate_pads),
-	  (gst_element_save_thyself):
-	  * gst/gstevent.c: (gst_event_new_newsegment):
-	  * gst/gstevent.h:
-	  * gst/gstiterator.c:
-	  * gst/gstiterator.h:
-	  * gst/gstpad.c:
-	  * gst/gstprobe.h:
-	  * gst/gstutils.c: (gst_pad_query_convert):
-	  * gst/gstutils.h:
-	  fixed parameter name mismatches between source, header and docs
-	  added some more docs, resolved the last batch of unused elements in
-	  docs (now someone needs to doc them)
-
-2005-08-25 20:52:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/registries/gstlibxmlregistry.c:
-	* gst/registries/gstxmlregistry.c:
-	  respect order of plugin dirs when loading pllugins and rebuilding registry
-	  Original commit message from CVS:
-	  respect order of plugin dirs when loading pllugins and rebuilding registry
-
-2005-08-25 19:36:05 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.*: Cache caps unit_size.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_transform_size),
-	  (gst_base_transform_configure_caps),
-	  (gst_base_transform_get_unit_size),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_change_state):
-	  * gst/base/gstbasetransform.h:
-	  Cache caps unit_size.
-	  Make sure we cannot negotiate up and downstream at the
-	  same time.
-
-2005-08-25 18:55:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gst.c:
-	* gst/registries/gstlibxmlregistry.c:
-	* gst/registries/gstxmlregistry.c:
-	  make registry respect order of GST_PLUGIN_PATH; make the installed location go last
-	  Original commit message from CVS:
-	  make registry respect order of GST_PLUGIN_PATH; make the installed location go last
-
-2005-08-25 18:54:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/base/gstbasetransform.h:
-	* gst/gstpad.c:
-	* libs/gst/base/gstbasetransform.h:
-	  add docs
-	  Original commit message from CVS:
-	  add docs
-
-2005-08-25 16:27:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/check/gstcheck.c:
-	* gst/check/gstcheck.h:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	  add a uint64 checking method
-	  Original commit message from CVS:
-	  add a uint64 checking method
-
-2005-08-25 13:52:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Be a bit more conservative about the posted message.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_bus_handler):
-	  Be a bit more conservative about the posted message.
-	  * gst/gstbus.c: (gst_bus_post):
-	  Some cleanups, warn wrong return values.
-
-2005-08-25 10:51:14 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Revert unpopular change for GST_MESSAGE_SRC to GObject.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * gst/gstbin.c: (bin_bus_handler):
-	  * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
-	  (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_tag),
-	  (gst_message_new_state_changed), (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_new_custom):
-	  * gst/gstmessage.h:
-	  * tools/gst-launch.c: (event_loop):
-	  * tools/gst-md5sum.c: (event_loop):
-	  Revert unpopular change for GST_MESSAGE_SRC to GObject.
-
-2005-08-25 10:35:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbuffer.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	  fix docs by fixing enum typedef
-	  Original commit message from CVS:
-	  fix docs by fixing enum typedef
-
-2005-08-25 10:16:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  wim fixed the task, yay
-	  Original commit message from CVS:
-	  wim fixed the task, yay
-
-2005-08-25 10:01:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/generic/states.c: Cleanup can be done at the end.
-	  Original commit message from CVS:
-	  * check/generic/states.c: (GST_START_TEST):
-	  Cleanup can be done at the end.
-	  * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
-	  (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
-	  (gst_task_get_state), (gst_task_start), (gst_task_pause):
-	  Oh boy.. Thanks for finding this, Thomas.
-
-2005-08-24 22:01:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/gst/gstreamer.types:
-	  grmpf, another try to fix it
-	  Original commit message from CVS:
-	  grmpf, another try to fix it
-
-2005-08-24 21:57:05 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/gst/gstreamer.types:
-	  another fix
-	  Original commit message from CVS:
-	  another fix
-
-2005-08-24 21:45:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer.types: added missing types
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types:
-	  added missing types
-
-2005-08-24 21:35:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added miissing classes and symbols (123 more to go) removed removed symbols from section file fixed many doc-comments
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * gst/gstbin.c:
-	  * gst/gstiterator.c:
-	  * gst/gstutils.c:
-	  * gst/registries/gstxmlregistry.h:
-	  added miissing classes and symbols (123 more to go)
-	  removed removed symbols from section file
-	  fixed many doc-comments
-
-2005-08-24 20:49:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/generic/states.c: Make sure all tasks are stopped.
-	  Original commit message from CVS:
-	  * check/generic/states.c: (GST_START_TEST):
-	  Make sure all tasks are stopped.
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Unref after usage for proper valgrinding.
-	  * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
-	  Really wait for the task to stop before destroying the
-	  mutex.
-	  * gst/gstqueue.c: (gst_queue_sink_activate_push),
-	  (gst_queue_src_activate_push):
-	  Small cleanups. Don't stop the task when we did not start
-	  it.
-	  * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
-	  (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
-	  (gst_task_get_state), (gst_task_start), (gst_task_pause),
-	  (gst_task_join):
-	  * gst/gsttask.h:
-	  Protect the stream lock with the object lock.
-	  Disallow setting the stream lock when running.
-	  Add cleanup_all to wait for the threadpool to finish.
-	  Remove code to autoallocate a mutex if none was provided.
-	  Add _join() to wait for a task to stop.
-	  Protect the thread pool with a global lock.
-
-2005-08-24 17:57:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Handle newsegment events correctly.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_get_times), (gst_base_sink_do_sync),
-	  (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  Handle newsegment events correctly.
-	  Drop buffers out of the segment range.
-
-2005-08-24 17:24:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  disable test while wim is fixing
-	  Original commit message from CVS:
-	  disable test while wim is fixing
-
-2005-08-24 16:46:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-uninstalled.pc.in:
-	* pkgconfig/gstreamer.pc.in:
-	  add pluginsdir to pkgconfig files
-	  Original commit message from CVS:
-	  add pluginsdir to pkgconfig files
-
-2005-08-24 16:41:45 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2005-08-24 16:09:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: add a test that does a bunch of state changes on elements needs some fixing for valgrind
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
-	  add a test that does a bunch of state changes on elements
-	  needs some fixing for valgrind
-	  * check/states/sinks.c: (gst_object_suite):
-	  whitespace
-	  * gst/gstcaps.h:
-	  add prototype for gst_caps_is_equal_fixed
-	  * gst/gstplugin.c:
-	  * gst/gstregistrypool.c:
-	  doc fixes
-
-2005-08-24 15:49:03 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstquery.c (gst_query_new_convert): Spew if we try to convert a negative value. Doesn't make much sense. Mostly t...
-	  Original commit message from CVS:
-	  2005-08-24  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstquery.c (gst_query_new_convert): Spew if we try to
-	  convert a negative value. Doesn't make much sense. Mostly this is
-	  here to force callers to ensure -1 maps to -1.
-
-2005-08-24 15:10:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/pwg/advanced-types.xml: Well done to Michael for catching my deliberate introduction of this spelling mistake.
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Well done to Michael for catching my deliberate introduction
-	  of this spelling mistake.
-	  * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
-	  * gst/gstelement.h:
-	  Add GST_ELEMENT_UNPARENTING to prevent races so that we can
-	  unlink pads before removing the element from the bin.
-
-2005-08-24 13:49:21 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean the same thing as GST_DEBUG=*:4.
-	  Original commit message from CVS:
-	  2005-08-24  Andy Wingo  <wingo@pobox.com>
-	  * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
-	  the same thing as GST_DEBUG=*:4.
-	  (parse_debug_level, parse_debug_category): New helper parsers.
-
-2005-08-24 13:33:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/gstbasetransform.c: use gboolean return values and pointers to size so we can use the full GST_BUFFER_SIZE r...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
-	  (gst_base_transform_transform_size), (gst_base_transform_getcaps),
-	  (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
-	  (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer):
-	  use gboolean return values and pointers to size so we can use the
-	  full GST_BUFFER_SIZE range (guint) for buffer sizes
-	  use GstPadDirection for transform_caps
-	  * gst/base/gstbasetransform.h:
-	  rename get_size to get_unit_size since that's what it is
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
-	  use GstPadDirection for transform_caps
-	  * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
-	  * gst/gstutils.h:
-	  cleanup and debugging
-
-2005-08-24 13:04:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  Fixed long standing mem-leak
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_set_state), (activate_pads),
-	  (gst_element_save_thyself):
-	  * tools/gst-compprep.c: (main):
-	  * tools/gst-inspect.c: (print_element_properties_info):
-	  * tools/gst-xmlinspect.c: (print_element_properties):
-	  Fixed long standing mem-leak
-
-2005-08-24 11:54:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so that applications can sensibly post custom message...
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  * gst/gstbin.c: (bin_bus_handler):
-	  * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
-	  (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
-	  (gst_message_new_warning), (gst_message_new_tag),
-	  (gst_message_new_state_changed), (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_new_custom):
-	  * gst/gstmessage.h:
-	  * tools/gst-launch.c: (event_loop):
-	  * tools/gst-md5sum.c: (event_loop):
-	  Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
-	  that applications can sensibly post custom messages with references
-	  to their own objects.
-
-2005-08-24 11:44:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.*: Many fixes and new features added by Thomas. Can now also do transforms with variable si...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_transform_caps),
-	  (gst_base_transform_transform_size),
-	  (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
-	  (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer):
-	  * gst/base/gstbasetransform.h:
-	  Many fixes and new features added by Thomas. Can now also do
-	  transforms with variable sizes and a custom fixate_caps function.
-
-2005-08-24 11:36:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed already.
-	  Original commit message from CVS:
-	  2005-08-24  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
-	  already.
-
-2005-08-24 11:22:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.c: Some debugging.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
-	  Some debugging.
-	  * gst/gstclock.h:
-	  Cast to ClockTime before formatting to time.
-	  * gst/gstutils.h:
-	  Cleanups.
-
-2005-08-23 21:32:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  gracefully handle helper method calls to objects that are not beeing controlled, added test case for that
-	  Original commit message from CVS:
-	  * check/gst-libs/controller.c: (GST_START_TEST),
-	  (gst_controller_suite):
-	  * docs/gst/tmpl/gstcaps.sgml:
-	  * docs/gst/tmpl/gstghostpad.sgml:
-	  * docs/gst/tmpl/gstquery.sgml:
-	  * docs/gst/tmpl/gstutils.sgml:
-	  * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
-	  (gst_object_sink_values), (gst_object_get_value_arrays),
-	  (gst_object_get_value_array):
-	  gracefully handle helper method calls to objects that are not beeing
-	  controlled, added test case for that
-
-2005-08-23 18:17:01 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstevent.*: Some more debugging output and doc cleanups.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
-	  (gst_event_new_newsegment), (gst_event_parse_newsegment),
-	  (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
-	  (gst_event_parse_qos), (gst_event_new_seek),
-	  (gst_event_parse_seek):
-	  * gst/gstevent.h:
-	  Some more debugging output and doc cleanups.
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event):
-	  Fix possible deadlock.
-
-2005-08-23 14:25:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  added about 100 symbols from gstreamer-unused.txt to the right sections fixed more broken comments added GstBus to docs
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types:
-	  * docs/gst/tmpl/.cvsignore:
-	  * gst/gstbin.h:
-	  * gst/gstbus.c:
-	  * gst/gstelement.c:
-	  * gst/gstevent.h:
-	  added about 100 symbols from gstreamer-unused.txt to the right sections
-	  fixed more broken comments
-	  added GstBus to docs
-
-2005-08-23 11:53:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined more doc comments, added missing comments and fixed comments fixed typos
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/.cvsignore:
-	  * docs/gst/tmpl/gstbin.sgml:
-	  * docs/gst/tmpl/gstbuffer.sgml:
-	  * gst/base/gstbasesrc.c:
-	  * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
-	  * gst/gstbuffer.c:
-	  * gst/gstbuffer.h:
-	  * tools/gst-launch.1.in:
-	  inlined more doc comments, added missing comments and fixed comments
-	  fixed typos
-
-2005-08-23 11:38:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstbuffer.c: some debugging
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
-	  some debugging
-	  * gst/gstcaps.h:
-	  whitespace fixes
-	  * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
-	  more debugging
-	  * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
-	  * gst/gststructure.h:
-	  add a fixate function for booleans; add a FIXME that these func
-	  names should probably be gst_structure_fixate_*
-
-2005-08-22 21:03:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  ported gstchildproxy over from 0.8 ported gst-inspect fixes and enhancements over from 0.8
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/Makefile.am:
-	  * gst/gstbin.c: (gst_bin_get_type),
-	  (gst_bin_child_proxy_get_child_by_index),
-	  (gst_bin_child_proxy_get_children_count),
-	  (gst_bin_child_proxy_init):
-	  * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
-	  (gst_child_proxy_get_child_by_index),
-	  (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
-	  (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
-	  (gst_child_proxy_get), (gst_child_proxy_set_property),
-	  (gst_child_proxy_set_valist), (gst_child_proxy_set),
-	  (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
-	  (gst_child_proxy_base_init), (gst_child_proxy_get_type):
-	  * gst/gstchildproxy.h:
-	  * gst/parse/grammar.y:
-	  * tools/gst-inspect.c: (print_interfaces),
-	  (print_element_properties_info), (print_element_info):
-	  ported gstchildproxy over from 0.8
-	  ported gst-inspect fixes and enhancements over from 0.8
-
-2005-08-22 19:48:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Also call the transform function if we have ANY caps.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
-	  (gst_base_transform_handle_buffer):
-	  Also call the transform function if we have ANY caps.
-	  * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
-	  Fix debug info.
-
-2005-08-22 19:22:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstbasesrc.c: (gst_base_src_event_handler)
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
-	  Don't pretend to handle seek events if the source is not seekable
-
-2005-08-22 18:48:48 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstbasesink.c: Remove extra parameter to debug output
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  Remove extra parameter to debug output
-	  * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
-	  (gst_base_src_do_seek), (gst_base_src_activate_push):
-	  Fix seek event handling.
-	  * gst/gstpipeline.c: (gst_pipeline_change_state):
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event),
-	  (gst_queue_src_activate_push):
-	  Don't start the src pad task on FLUSH_STOP if the pad
-	  isn't linked.
-	  Debug changes.
-
-2005-08-22 15:12:56 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto macro, implements an interface and gstimplementsinterface...
-	  Original commit message from CVS:
-	  2005-08-22  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
-	  macro, implements an interface and gstimplementsinterface for a
-	  new type.
-
-2005-08-22 15:08:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstcaps.c: Added check for gst_static_caps_get() refcounting.
-	  Original commit message from CVS:
-	  * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
-	  Added check for gst_static_caps_get() refcounting.
-
-2005-08-22 14:35:42 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Make _static_caps_get() refcounting sane.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
-	  Make _static_caps_get() refcounting sane.
-	  * gst/gstelement.c: (gst_element_set_state):
-	  Add g_return_val_if_fail() to protect against segfaults.
-
-2005-08-22 10:37:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  inlined remaining docs, added missing doc comments
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gstevent.sgml:
-	  * gst/gstevent.c:
-	  * gst/gstevent.h:
-	  inlined remaining docs, added missing doc comments
-
-2005-08-22 09:25:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstbin.c: since we don't know when preroll is done, use refcount range check for the sink
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  since we don't know when preroll is done, use refcount range
-	  check for the sink
-	  * gst/check/gstcheck.h:
-	  add macro for checking refcount range
-
-2005-08-21 16:53:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  figure this out for HT machines
-	  Original commit message from CVS:
-	  figure this out for HT machines
-
-2005-08-21 15:21:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gstbin.c:
-	* tests/check/gst/gstbin.c:
-	  some funky HT/multicpu vs single difference
-	  Original commit message from CVS:
-	  some funky HT/multicpu vs single difference
-
-2005-08-21 15:01:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: clean up environment for when registry gets built versus when actual tests are run; valgrind seems...
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  clean up environment for when registry gets built versus
-	  when actual tests are run; valgrind seems to not report
-	  leaks if GST_PLUGIN_PATH is set to some specific values
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  add more refcounting checks; maybe this exposes a
-	  preroll lock bug ?
-	  * common/check.mak:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  * gst/check/gstcheck.h:
-	  * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
-	  (gst_bin_change_state):
-	  * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
-	  add/fix debugging/whitespace
-
-2005-08-21 11:40:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstevent.c: Er, don't call gst_bin_watch_for_state_change you idiot.
-	  Original commit message from CVS:
-	  * check/gst/gstevent.c: (event_probe), (test_event),
-	  (GST_START_TEST):
-	  Er, don't call gst_bin_watch_for_state_change you idiot.
-
-2005-08-21 11:15:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* common:
-	* tests/check/Makefile.am:
-	  run valgrind with proper env
-	  Original commit message from CVS:
-	  run valgrind with proper env
-
-2005-08-21 10:54:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/Makefile.am: Use CHECK_CFLAGS and CHECK_LIBS
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  Use CHECK_CFLAGS and CHECK_LIBS
-	  * check/gst/gstevent.c: (event_probe), (test_event),
-	  (GST_START_TEST):
-	  Don't leak events.
-	  * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
-	  (gst_base_src_start), (gst_base_src_stop),
-	  (gst_base_src_activate_push), (gst_base_src_activate_pull),
-	  (gst_base_src_change_state):
-	  Sprinkle gst_base_src_stop liberally around error paths to fix
-	  problems reusing a source after failed state changes.
-	  * gst/base/gsttypefindhelper.c: (helper_find_peek),
-	  (helper_find_suggest), (gst_type_find_helper):
-	  Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
-	  * gst/gstevent.h:
-	  * docs/gst/tmpl/gstevent.sgml:
-	  Migrate part of the docs from the SGML file. Wait for ensonic to
-	  tell me how I did it wrong ;)
-	  * tools/gst-typefind.c: (main):
-	  Extra robustness to state changes between files.
-
-2005-08-21 10:39:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: don't valgrind the controller test - it's leaking - Stefan, HELP
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  don't valgrind the controller test - it's leaking - Stefan, HELP
-	  * gst/check/gstcheck.c: (gst_check_message_error),
-	  (gst_check_chain_func), (gst_check_setup_element),
-	  (gst_check_teardown_element), (gst_check_setup_src_pad),
-	  (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
-	  (gst_check_teardown_sink_pad):
-	  * gst/check/gstcheck.h:
-	  add a bunch of methods to set up elements, and src and sink pads
-	  * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
-	  * check/elements/identity.c: (setup_identity), (cleanup_identity),
-	  (GST_START_TEST):
-	  use them
-	  * gst/gstmessage.c:
-	  * gst/gsttag.h:
-	  whitespace/doc fixes
-
-2005-08-20 20:30:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstelement.h:
-	  make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should be handled by the application and not always pri...
-	  Original commit message from CVS:
-	  make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
-	  be handled by the application and not always printed as well
-
-2005-08-20 20:15:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: set GST_TOOLS_DIR
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  set GST_TOOLS_DIR
-	  * gst/check/gstcheck.c: (gst_check_message_error):
-	  * gst/check/gstcheck.h:
-	  add a fail_unless_equals_int
-	  add fail_unless for error messages
-
-2005-08-20 14:00:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst.supp:
-	* common:
-	* tests/check/Makefile.am:
-	* tests/check/gst.supp:
-	  factor out the common stuff
-	  Original commit message from CVS:
-	  factor out the common stuff
-
-2005-08-20 13:17:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/Makefile.am:
-	  work on builds without check
-	  Original commit message from CVS:
-	  work on builds without check
-
-2005-08-20 12:47:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  renamed test
-	  Original commit message from CVS:
-	  renamed test
-
-2005-08-20 12:43:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* check/gst/gstevent.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstevent.c:
-	  put some make-up on the gstevent test
-	  Original commit message from CVS:
-	  put some make-up on the gstevent test
-
-2005-08-20 12:39:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst/gstiterator.c:
-	* check/gst/gstsystemclock.c:
-	* check/gst/gsttag.c:
-	* gst/gstclock.c:
-	* gst/gstiterator.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttag.c:
-	  valgrind more tests
-	  Original commit message from CVS:
-	  valgrind more tests
-
-2005-08-20 12:14:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/elements/.gitignore:
-	* check/elements/fakesrc.c:
-	* check/elements/identity.c:
-	* check/gst-libs/controller.c:
-	* check/gst-libs/gdp.c:
-	* check/gst/gst.c:
-	* check/gst/gstbin.c:
-	* check/gst/gstbuffer.c:
-	* check/gst/gstbus.c:
-	* check/gst/gstcaps.c:
-	* check/gst/gstelement.c:
-	* check/gst/gstghostpad.c:
-	* check/gst/gstiterator.c:
-	* check/gst/gstmessage.c:
-	* check/gst/gstminiobject.c:
-	* check/gst/gstobject.c:
-	* check/gst/gstpad.c:
-	* check/gst/gststructure.c:
-	* check/gst/gstsystemclock.c:
-	* check/gst/gsttag.c:
-	* check/gst/gstvalue.c:
-	* check/pipelines/cleanup.c:
-	* check/pipelines/simple_launch_lines.c:
-	* check/states/sinks.c:
-	* configure.ac:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstpad.sgml:
-	* gst/Makefile.am:
-	* gst/check/Makefile.am:
-	* gst/check/gstcheck.c:
-	* gst/check/gstcheck.h:
-	* gst/gstminiobject.c:
-	* libs/gst/check/Makefile.am:
-	* libs/gst/check/gstcheck.c:
-	* libs/gst/check/gstcheck.h:
-	* pkgconfig/Makefile.am:
-	* pkgconfig/gstreamer-check-uninstalled.pc.in:
-	* pkgconfig/gstreamer-check.pc.in:
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/fakesrc.c:
-	* tests/check/elements/identity.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gst.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gstminiobject.c:
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/libs/controller.c:
-	* tests/check/libs/gdp.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  move check stuff to its own library to be used by other modules
-	  Original commit message from CVS:
-	  move check stuff to its own library to be used by other modules
-
-2005-08-19 09:58:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  eliminate another tmpl file, fix spelling in the long-description
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gst.sgml:
-	  * gst/gst.c:
-	  eliminate another tmpl file, fix spelling in the long-description
-
-2005-08-18 16:42:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstevents.c: Should fix build on 64-bit arch's
-	  Original commit message from CVS:
-	  * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
-	  (test_event), (timediff), (gstevents_suite):
-	  Should fix build on 64-bit arch's
-
-2005-08-18 16:20:24 +0000  Andy Wingo <wingo@pobox.com>
-
-	  Make sure that when a pipeline goes to PLAYING, that data has actually hit the sink.
-	  Original commit message from CVS:
-	  2005-08-18  Andy Wingo  <wingo@pobox.com>
-	  Make sure that when a pipeline goes to PLAYING, that data has
-	  actually hit the sink.
-	  * check/states/sinks.c (test_sink): A sink that doesn't get any
-	  data shouldn't return SUCCESS for going to either PLAYING or
-	  PAUSED. Test also the return values on the way back down.
-	  * gst/gstelement.c (gst_element_set_state): When changing the
-	  state of an element currently changing state asynchronously, go to
-	  lost-state after commiting the pending state. Makes future calls
-	  to get_state continue to return ASYNC.
-	  * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
-	  ASYNC when going to PLAYING if we still don't have preroll, as can
-	  happen with live sources.
-
-2005-08-18 16:15:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/pwg/advanced-types.xml: Hack long paragraph into 2 chunks as a workaround for buggy jadetex version in sid and b...
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-types.xml:
-	  Hack long paragraph into 2 chunks as a workaround for buggy
-	  jadetex version in sid and breezy that loops infinitely and
-	  eats all RAM.
-
-2005-08-18 16:00:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstevents.c: Provide more error margin in clock measurements to allow for g_get_current_time inaccuracies.
-	  Original commit message from CVS:
-	  * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
-	  (test_event), (timediff), (gstevents_suite):
-	  Provide more error margin in clock measurements to allow for
-	  g_get_current_time inaccuracies.
-
-2005-08-18 15:47:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/gst/gstevents.c: Fix error message output so I might be able to tell why the test works here but fails on the b...
-	  Original commit message from CVS:
-	  * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
-	  (test_event), (timediff), (gstevents_suite):
-	  Fix error message output so I might be able to tell why the
-	  test works here but fails on the build farm.
-
-2005-08-18 15:31:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  check/: I wrote a test!
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
-	  (test_event), (timediff), (gstevents_suite), (main):
-	  I wrote a test!
-	  * docs/design/part-seeking.txt:
-	  Spelling correction
-	  * docs/gst/tmpl/gstevent.sgml:
-	  Docs updates.
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  Treat a buffer-without-newsegment the same as a receiving
-	  a newsegment not in time format, and disable syncing to the clock
-	  with a warning.
-	  * gst/gstbus.c: (gst_bus_set_sync_handler):
-	  Assert if anyone tries to replace the existing sync_handler for bus,
-	  as only the owner should be setting it.
-	  * gst/gstevent.h:
-	  Have a fixed set of custom event enums with events identified by
-	  their structure name (as in 0.8), rather than a free-for-all
-	  allowing collisions between enum values from different plugins.
-	  * gst/gstpad.c: (gst_pad_class_init):
-	  Docs change.
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event):
-	  Handle out-of-band downstream events from the sending thread.
-
-2005-08-17 16:57:01 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpipeline.c (gst_pipeline_change_state): Interpret play-timeout==0 to mean no timeout at all. In that case, don...
-	  Original commit message from CVS:
-	  2005-08-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
-	  play-timeout==0 to mean no timeout at all. In that case, don't
-	  bother with a get_state or a warning, just return directly, even
-	  if it's ASYNC.
-
-2005-08-17 16:33:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasetransform.c: Debug changes.
-	  Original commit message from CVS:
-	  2005-08-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasetransform.c: Debug changes.
-	  * gst/gstutils.h:
-	  * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
-	  ensure bins post state change messages. A bit of a hack but I can't
-	  think of a way to avoid it.
-	  * check/gst/gstbin.c (test_watch_for_state_change): Added test.
-
-2005-08-16 17:23:55 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstadapter.*: New function, like peek() but you own the data. Not terribly efficient atm.
-	  Original commit message from CVS:
-	  2005-08-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstadapter.h:
-	  * gst/base/gstadapter.c (gst_adapter_take): New function, like
-	  peek() but you own the data. Not terribly efficient atm.
-
-2005-08-16 16:29:04 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstutils.*: Add two utility functions for tag handling.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
-	  (gst_element_found_tags):
-	  * gst/gstutils.h:
-	  Add two utility functions for tag handling.
-
-2005-08-16 12:15:46 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/: Fix docs to use _bin_add() before _link(), which fixes the examples with recent core versions (reported...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  Fix docs to use _bin_add() before _link(), which fixes the examples
-	  with recent core versions (reported by Madhan Raj M
-	  <raj_madan@rediffmail.com>, #313199).
-
-2005-08-16 09:42:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstvalue.c: Added subtract checks.
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  Added subtract checks.
-	  * docs/design/part-events.txt:
-	  Some more docs about newsegment
-	  * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
-	  Fix FIXME
-	  * gst/gstcaps.c: (gst_caps_to_string):
-	  Add comments, cleanups.
-	  * gst/gstelement.c: (gst_element_save_thyself):
-	  cleanups
-	  * gst/gstvalue.c: (gst_value_collect_int_range),
-	  (gst_string_unwrap), (gst_value_union_int_int_range),
-	  (gst_value_union_int_range_int_range),
-	  (gst_value_intersect_int_int_range),
-	  (gst_value_intersect_int_range_int_range),
-	  (gst_value_intersect_double_double_range),
-	  (gst_value_intersect_double_range_double_range),
-	  (gst_value_intersect_list), (gst_value_subtract_int_int_range),
-	  (gst_value_subtract_int_range_int),
-	  (gst_value_subtract_double_range_double),
-	  (gst_value_subtract_double_range_double_range),
-	  (gst_value_subtract_from_list), (gst_value_subtract_list),
-	  (gst_value_can_compare), (gst_value_compare_fraction):
-	  Cleanups, add comments, remove unneeded asserts.
-
-2005-08-15 18:15:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstbus.c:
-	* tools/gst-launch.c:
-	  don't convert NULL structures to strings
-	  Original commit message from CVS:
-	  don't convert NULL structures to strings
-
-2005-08-15 16:57:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	  docs/gst/gstreamer-sections.txt: made some defines private
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  made some defines private
-	  * docs/gst/tmpl/gstconfig.sgml:
-	  * docs/gst/tmpl/gstqueue.sgml:
-	  * docs/gst/tmpl/gsttaglist.sgml:
-	  * docs/gst/tmpl/gsttypes.sgml:
-	  * docs/gst/tmpl/gstutils.sgml:
-	  * docs/pwg/appendix-porting.xml:
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.c:
-	  * gst/base/gstbasesrc.h:
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
-	  * gst/gstelement.c: (gst_element_class_init):
-	  * gst/gstpad.c: (gst_pad_class_init):
-	  * gst/gstqueue.c: (gst_queue_class_init):
-	  * gst/gstxml.c: (gst_xml_class_init):
-	  documented all undocumented signal inline
-	  * libs/gst/controller/gst-controller.h:
-	  added padding
-
-2005-08-15 09:56:19 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/pwg/appendix-porting.xml: Document _set_link_function -> _set_setcaps_function.
-	  Original commit message from CVS:
-	  * docs/pwg/appendix-porting.xml:
-	  Document _set_link_function -> _set_setcaps_function.
-
-2005-08-14 22:29:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: add a .check target for running the check
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  add a .check target for running the check
-	  * check/gst-libs/controller.c: (GST_START_TEST):
-	  cosmetic fixups
-	  * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
-	  complete checks for gstbuffer; would be nice if I could get the
-	  gcov stuff to work so I can see if I actually completed gstbuffer.c
-	  * check/gstcheck.h:
-	  add ASSERT_BUFFER_REFCOUNT
-
-2005-08-13 11:45:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/MANIFEST:
-	  remove spider from dist
-	  Original commit message from CVS:
-	  remove spider from dist
-
-2005-08-13 11:43:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* win32/gstspider.vcproj:
-	  removed from HEAD
-	  Original commit message from CVS:
-	  removed from HEAD
-
-2005-08-13 10:33:22 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't spew out a warning if a tag that is already registered is re-r...
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
-	  * gst/gsttag.h:
-	  Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
-	  spew out a warning if a tag that is already registered
-	  is re-registered, unless it is re-registered with a
-	  different type (#308438).
-
-2005-08-12 14:30:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/: Add some paragraphs about state changes in 0.9 to the PWG and the porting guide, in particular about the n...
-	  Original commit message from CVS:
-	  * docs/pwg/appendix-porting.xml:
-	  * docs/pwg/building-state.xml:
-	  Add some paragraphs about state changes in 0.9 to the PWG
-	  and the porting guide, in particular about the new meaning
-	  of GST_STATE_PAUSED and how to write state change functions
-	  with concurrent access by multiple threads in mind.
-
-2005-08-11 17:39:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gst-helper.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gsthelper.c:
-	  added deprecation and since indexes added since tags
-	  Original commit message from CVS:
-	  added deprecation and since indexes
-	  added since tags
-
-2005-08-11 14:24:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Actually implement (re)setting the target on a ghostpad as described in the docs.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
-	  (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
-	  (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
-	  (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
-	  (gst_ghost_pad_set_target):
-	  Actually implement (re)setting the target on a ghostpad
-	  as described in the docs.
-
-2005-08-10 21:19:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gst.c: Check whether GST_DEBUG_NO_COLOR environment variable is set and disable coloured debug output if that is ...
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
-	  Check whether GST_DEBUG_NO_COLOR environment variable is
-	  set and disable coloured debug output if that is the case.
-
-2005-08-10 15:08:03 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gsttypefindhelper.c: The memory returned by gst_type_find_peek() needs to stay valid until the end of a type...
-	  Original commit message from CVS:
-	  * gst/base/gsttypefindhelper.c: (helper_find_peek),
-	  (gst_type_find_helper):
-	  The memory returned by gst_type_find_peek() needs to
-	  stay valid until the end of a typefind function, and
-	  typefind functions may keep results from different
-	  offsets around, so we can't just unref the buffer from
-	  the previous _peek(), but have to save all buffers
-	  returned by _peek() until typefinding is done and only
-	  free them then.
-
-2005-08-09 16:25:45 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * gst/gstutils.h:
-	  New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
-
-2005-08-08 16:01:12 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  fix up spec for latest CVS changes
-	  Original commit message from CVS:
-	  fix up spec for latest CVS changes
-
-2005-08-08 15:08:14 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/base/gstbasetransform.c: Fix a pretty good memleak.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
-	  Fix a pretty good memleak.
-
-2005-08-08 13:55:37 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstiterator.h: Fix wrong include and 'make distcheck'.
-	  Original commit message from CVS:
-	  * gst/gstiterator.h:
-	  Fix wrong include and 'make distcheck'.
-
-2005-08-08 13:38:34 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstbin.c: Use gst_element_post_message() instead.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_bus_handler):
-	  Use gst_element_post_message() instead.
-
-2005-08-08 13:31:09 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/: Add padding to our base elements' class and instance structs and to GstIterator (you will need to rebuild all p...
-	  Original commit message from CVS:
-	  * gst/base/gstadapter.h:
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.h:
-	  * gst/base/gstbasetransform.h:
-	  * gst/base/gstcollectpads.h:
-	  * gst/base/gstpushsrc.h:
-	  * gst/gstiterator.h:
-	  Add padding to our base elements' class and instance structs and
-	  to GstIterator (you will need to rebuild all plugins and apps!)
-
-2005-08-08 13:17:07 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstbin.c: Make default message forwarding from child->bus to bin->bus threadsafe and make it not emit warnings if...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_bus_handler):
-	  Make default message forwarding from child->bus to bin->bus
-	  threadsafe and make it not emit warnings if the parent has no bus.
-
-2005-08-08 12:14:20 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstelement.c: On paused->ready, set pad->caps to NULL, as is the documented behaviour in this state change. Fixes...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (activate_pads):
-	  On paused->ready, set pad->caps to NULL, as is the documented
-	  behaviour in this state change. Fixes playback of series of
-	  media files when visualization is enabled in Totem.
-
-2005-08-07 13:37:08 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/elements/gstcapsfilter.c: Allow NULL as filter-caps (which means "any").
-	  Original commit message from CVS:
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
-	  Allow NULL as filter-caps (which means "any").
-
-2005-08-05 17:28:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* common:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gst-controller.h:
-	* libs/gst/controller/gst-helper.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	  adding more entries to the docs and fix small doc-bugs
-	  Original commit message from CVS:
-	  adding more entries to the docs and fix small doc-bugs
-
-2005-08-05 13:42:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* check/gst-libs/.gitignore:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/.gitignore:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesrc.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* tests/check/libs/.gitignore:
-	  migrated some more docs to be inlined in the sources
-	  Original commit message from CVS:
-	  migrated some more docs to be inlined in the sources
-
-2005-08-05 12:59:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbasetransform.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* gst/base/gstcollectpads.c:
-	* gst/base/gstcollectpads.h:
-	* libs/gst/base/gstcollectpads.c:
-	* libs/gst/base/gstcollectpads.h:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gst-controller.h:
-	* libs/gst/controller/gst-helper.c:
-	* libs/gst/controller/gst-interpolation.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/lib.c:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs
-	  Original commit message from CVS:
-	  added long/short desc for controller docs
-	  added collectpads base class docs
-	  added correct includes to base-class docs
-
-2005-08-05 10:02:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* check/gst-libs/controller.c:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbasetransform.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* docs/gst/tmpl/gstconfig.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstelementdetails.sgml:
-	* docs/gst/tmpl/gstelementfactory.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstfilter.sgml:
-	* docs/gst/tmpl/gstformat.sgml:
-	* docs/gst/tmpl/gstghostpad.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstiterator.sgml:
-	* docs/gst/tmpl/gstmacros.sgml:
-	* docs/gst/tmpl/gstmemchunk.sgml:
-	* docs/gst/tmpl/gstminiobject.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstparse.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstquery.sgml:
-	* docs/gst/tmpl/gstqueue.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstregistrypool.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gstsystemclock.sgml:
-	* docs/gst/tmpl/gsttaglist.sgml:
-	* docs/gst/tmpl/gsttagsetter.sgml:
-	* docs/gst/tmpl/gsttrace.sgml:
-	* docs/gst/tmpl/gsttrashstack.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gsttypefindfactory.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gsturihandler.sgml:
-	* docs/gst/tmpl/gsturitype.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/gst/tmpl/gstversion.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	* gst/base/gstadapter.c:
-	* libs/gst/base/gstadapter.c:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gst-controller.h:
-	* libs/gst/controller/gst-helper.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	* tests/check/libs/controller.c:
-	  more tests (and fixes) for the controller more docs for the controller integrated companies docs for the adapter
-	  Original commit message from CVS:
-	  more tests (and fixes) for the controller
-	  more docs for the controller
-	  integrated companies docs for the adapter
-
-2005-08-05 06:57:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst-libs/controller.c:
-	* tests/check/libs/controller.c:
-	  cosmetic fixes
-	  Original commit message from CVS:
-	  cosmetic fixes
-
-2005-08-05 06:55:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/elements/gstfakesrc.c:
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbasetransform.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* docs/gst/tmpl/gstconfig.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstelementdetails.sgml:
-	* docs/gst/tmpl/gstelementfactory.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstfilter.sgml:
-	* docs/gst/tmpl/gstformat.sgml:
-	* docs/gst/tmpl/gstghostpad.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstiterator.sgml:
-	* docs/gst/tmpl/gstmacros.sgml:
-	* docs/gst/tmpl/gstmemchunk.sgml:
-	* docs/gst/tmpl/gstminiobject.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstparse.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstquery.sgml:
-	* docs/gst/tmpl/gstqueue.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstregistrypool.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gstsystemclock.sgml:
-	* docs/gst/tmpl/gsttaglist.sgml:
-	* docs/gst/tmpl/gsttagsetter.sgml:
-	* docs/gst/tmpl/gsttrace.sgml:
-	* docs/gst/tmpl/gsttrashstack.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gsttypefindfactory.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gsturihandler.sgml:
-	* docs/gst/tmpl/gsturitype.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/gst/tmpl/gstversion.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	* tests/check/elements/gstfakesrc.c:
-	  add sizetype tests for fakesrc
-	  Original commit message from CVS:
-	  add sizetype tests for fakesrc
-
-2005-08-04 19:40:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/elements/gstcapsfilter.c: Reimplement using basetransform, fixes buffer_alloc proxying among other things.
-	  Original commit message from CVS:
-	  2005-08-04  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
-	  fixes buffer_alloc proxying among other things.
-	  * gst/base/gstbasetransform.c:
-	  * gst/base/gstbasetransform.h:
-	  Revert patch to gstbasetransform from 7-28 removing
-	  delay_configure.
-	  * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
-	  * gst/base/gstbasetransform.c (gst_base_transform_get_size):
-	  Semantics changed, should return not the size of the output buffer
-	  but the byte size of a buffer with a given caps.
-	  * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
-	  debug object.
-	  (gst_base_transform_configure_caps): Don't set out_size here: (in,
-	  out) are not the pad caps until setcaps finishes.
-	  (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
-	  not-in-place case as well. Deal with changing from in-place to
-	  not-in-place within calling pad_alloc_buffer. Still a bit
-	  concerned about the overhead here...
-
-2005-08-04 11:56:57 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/base/gstadapter.h: Added gst_adapter_get_type() to the header
-	  Original commit message from CVS:
-	  * gst/base/gstadapter.h:
-	  Added gst_adapter_get_type() to the header
-
-2005-08-03 16:10:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  fixed distcheck breakage
-	  Original commit message from CVS:
-	  fixed distcheck breakage
-
-2005-08-03 15:59:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst-libs/controller.c:
-	* gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gstcontroller.c:
-	* tests/check/Makefile.am:
-	* tests/check/libs/controller.c:
-	  added check test suite for the controller fixed a doc typo
-	  Original commit message from CVS:
-	  added check test suite for the controller
-	  fixed a doc typo
-
-2005-08-03 13:30:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* gst/base/README:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/base/gstbasetransform.c:
-	* gst/base/gstpushsrc.c:
-	* gst/base/gstpushsrc.h:
-	* libs/gst/base/README:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.h:
-	  add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments
-	  Original commit message from CVS:
-	  add short/long description docs to base classes
-	  add pushsrc to the docs
-	  remove consolidated doc fragments
-
-2005-08-02 21:39:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* pkgconfig/gstreamer-controller-uninstalled.pc.in:
-	  that one too
-	  Original commit message from CVS:
-	  that one too
-
-2005-08-02 21:38:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* pkgconfig/gstreamer-controller.pc.in:
-	  added missing pc files
-	  Original commit message from CVS:
-	  added missing pc files
-
-2005-08-02 21:35:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* examples/Makefile.am:
-	* examples/controller/.gitignore:
-	* examples/controller/Makefile.am:
-	* examples/controller/audio-example.c:
-	* libs/gst/Makefile.am:
-	* libs/gst/controller/.gitignore:
-	* libs/gst/controller/Makefile.am:
-	* libs/gst/controller/gst-controller.c:
-	* libs/gst/controller/gst-controller.h:
-	* libs/gst/controller/gst-helper.c:
-	* libs/gst/controller/gst-interpolation.c:
-	* libs/gst/controller/gstcontroller.c:
-	* libs/gst/controller/gstcontroller.h:
-	* libs/gst/controller/gsthelper.c:
-	* libs/gst/controller/gstinterpolation.c:
-	* libs/gst/controller/lib.c:
-	* pkgconfig/Makefile.am:
-	* pkgconfig/gstreamer-control-uninstalled.pc.in:
-	* pkgconfig/gstreamer-control.pc.in:
-	* tests/old/examples/Makefile.am:
-	* tests/old/examples/controller/.gitignore:
-	* tests/old/examples/controller/Makefile.am:
-	* tests/old/examples/controller/audio-example.c:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/controller/.gitignore:
-	* tests/old/testsuite/controller/Makefile.am:
-	* tests/old/testsuite/controller/interpolator.c:
-	* testsuite/Makefile.am:
-	* testsuite/controller/.gitignore:
-	* testsuite/controller/Makefile.am:
-	* testsuite/controller/interpolator.c:
-	  added controller code removed dparam pc files
-	  Original commit message from CVS:
-	  added controller code
-	  removed dparam pc files
-
-2005-08-01 21:17:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstcollectpads.c: Broadcast the condition when shutting down, to make sure we wake all threads up. Shut down...
-	  Original commit message from CVS:
-	  * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
-	  (gst_collectpads_stop):
-	  Broadcast the condition when shutting down, to make sure we wake all
-	  threads up. Shut down pads on finalize, for safety.
-
-2005-08-01 17:26:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstbasetransform.c: Handle PAUSED->READY->PAUSED transition after negotiation occurred already.
-	  Original commit message from CVS:
-	  2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
-	  * gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_handle_buffer),
-	  (gst_base_transform_change_state):
-	  Handle PAUSED->READY->PAUSED transition after negotiation
-	  occurred already.
-	  * gst/gstmessage.c: (gst_message_init):
-	  Extra piece of debug for new messages.
-
-2005-08-01 16:43:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* docs/libs/Makefile.am:
-	  remove dparams deps from the docs
-	  Original commit message from CVS:
-	  remove dparams deps from the docs
-
-2005-08-01 16:17:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* configure.ac:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstformat.sgml:
-	* docs/gst/tmpl/gstghostpad.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstquery.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gsttaglist.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/gstreamer-libs.types:
-	* libs/gst/Makefile.am:
-	* libs/gst/control/.gitignore:
-	* libs/gst/control/Makefile.am:
-	* libs/gst/control/control.c:
-	* libs/gst/control/control.h:
-	* libs/gst/control/dparam.c:
-	* libs/gst/control/dparam.h:
-	* libs/gst/control/dparam_smooth.c:
-	* libs/gst/control/dparam_smooth.h:
-	* libs/gst/control/dparamcommon.h:
-	* libs/gst/control/dparammanager.c:
-	* libs/gst/control/dparammanager.h:
-	* libs/gst/control/dplinearinterp.c:
-	* libs/gst/control/dplinearinterp.h:
-	* libs/gst/control/unitconvert.c:
-	* libs/gst/control/unitconvert.h:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/dynparams/.gitignore:
-	* tests/old/testsuite/dynparams/Makefile.am:
-	* tests/old/testsuite/dynparams/dparamstest.c:
-	* testsuite/Makefile.am:
-	* testsuite/dynparams/.gitignore:
-	* testsuite/dynparams/Makefile.am:
-	* testsuite/dynparams/dparamstest.c:
-	* tools/Makefile.am:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  deactivate and remove dparams (libgstcontrol)
-	  Original commit message from CVS:
-	  deactivate and remove dparams (libgstcontrol)
-
-2005-08-01 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gsttypefindelement.*: Set caps on all outgoing buffers, not just the first one.
-	  Original commit message from CVS:
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_element_have_type), (gst_type_find_element_init),
-	  (stop_typefinding), (gst_type_find_element_handle_event),
-	  (gst_type_find_element_chain), (gst_type_find_element_getrange):
-	  * gst/elements/gsttypefindelement.h:
-	  Set caps on all outgoing buffers, not just the first one.
-
-2005-08-01 09:10:01 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gsttypefindelement.*: Set caps on first outgoing buffer when we've found the type.
-	  Original commit message from CVS:
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_element_have_type),
-	  (gst_type_find_element_check_set_buffer_caps),
-	  (gst_type_find_element_init), (stop_typefinding),
-	  (gst_type_find_element_handle_event),
-	  (gst_type_find_element_chain), (gst_type_find_element_getrange):
-	  * gst/elements/gsttypefindelement.h:
-	  Set caps on first outgoing buffer when we've found the type.
-
-2005-08-01 08:52:31 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/gst/: Remove some old cruft from docs.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstscheduler.sgml:
-	  * docs/gst/tmpl/gstschedulerfactory.sgml:
-	  Remove some old cruft from docs.
-
-2005-07-31 11:59:33 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gstpad.h: Fix inline docs for GstPadLinkReturn.
-	  Original commit message from CVS:
-	  * gst/gstpad.h:
-	  Fix inline docs for GstPadLinkReturn.
-	  * gst/gststructure.c: (gst_structure_has_name):
-	  * gst/gststructure.h:
-	  * docs/gst/gstreamer-sections.txt:
-	  New API: gst_structure_has_name().
-
-2005-07-30 15:00:07 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  configure.ac: Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64 and _LARGEFILE_SOURCE in config.h as required...
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
-	  and _LARGEFILE_SOURCE in config.h as required. Do not
-	  export those flags in our .pc files any longer (#142209).
-	  Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
-	  * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
-	  (gst_file_sink_do_seek), (gst_file_sink_event),
-	  (gst_file_sink_get_current_offset), (gst_file_sink_render):
-	  Redo seek/tell calls with large file support in mind; add some
-	  debugging messages; add log message that tells us when large
-	  file support is unavailable or not enabled for some reason.
-	  * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
-	  Add log message that tells us when large file support
-	  is unavailable or not enabled for some reason.
-
-2005-07-29 19:22:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstghostpad.c: Added test for removing an element with ghostpad from a bin.
-	  Original commit message from CVS:
-	  * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
-	  Added test for removing an element with ghostpad from a bin.
-	  Fixed test as current implementation does the right thing.
-	  * gst/gstghostpad.c: (gst_proxy_pad_class_init),
-	  (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
-	  (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
-	  (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
-	  (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
-	  (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
-	  (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
-	  (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
-	  (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
-	  (gst_proxy_pad_get_target), (gst_proxy_pad_init),
-	  (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
-	  (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
-	  (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
-	  (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
-	  (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
-	  (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
-	  * gst/gstghostpad.h:
-	  Clean up ghostpads, remove properties for internal stuff.
-	  Make threadsafe.
-	  Fix refcounting.
-	  Prepare for switching targets, not all use cases work yet.
-
-2005-07-29 19:19:29 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-gstghostpad.txt: Small update.
-	  Original commit message from CVS:
-	  * docs/design/part-gstghostpad.txt:
-	  Small update.
-	  * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
-	  (gst_bin_remove_func):
-	  Unlinking pads while holding the bin LOCK is not a good
-	  idea.
-	  * gst/gstpad.c: (gst_pad_class_init),
-	  (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
-	  (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
-	  No prob setting template after creating the pad.
-
-2005-07-29 15:34:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstbus.c: gst_bus_poll may be called from other threads. Handle this nicely by not making poll_data disappear off...
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
-	  (gst_bus_peek), (gst_bus_source_dispatch),
-	  (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
-	  (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
-	  gst_bus_poll may be called from other threads. Handle
-	  this nicely by not making poll_data disappear off the
-	  stack once gst_bus_poll returns.
-	  gst_bus_peek now increments the refcount on the returned
-	  message.
-
-2005-07-29 11:29:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-gstghostpad.txt: Overview of current GhostPad datastructures and use cases for changing the target.
-	  Original commit message from CVS:
-	  * docs/design/part-gstghostpad.txt:
-	  Overview of current GhostPad datastructures and use
-	  cases for changing the target.
-
-2005-07-28 15:38:46 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Added checks for hierarchy consistency whan adding linked elements to bins.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
-	  Added checks for hierarchy consistency whan adding linked
-	  elements to bins.
-	  * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
-	  Added check to test element scheduling without bin/pipeline.
-	  * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
-	  First add elements to bin, then link.
-	  * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
-	  (gst_bin_remove_func):
-	  Unlink pads from elements added/removed from bin to maintain
-	  hierarchy consistency.
-
-2005-07-28 11:49:56 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/base/gstbasetransform.*: Remove broken delay_configure (fixes renegotiation of software scaling pipelines); remov...
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
-	  (gst_base_transform_handle_buffer):
-	  * gst/base/gstbasetransform.h:
-	  Remove broken delay_configure (fixes renegotiation of software
-	  scaling pipelines); remove some leftover printf()s.
-
-2005-07-28 11:24:33 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstghostpad.c: Added some more tests for wrong hierarchy
-	  Original commit message from CVS:
-	  * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
-	  Added some more tests for wrong hierarchy
-	  * docs/design/part-overview.txt:
-	  Some updates.
-	  * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
-	  Cleanups.
-	  * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
-	  (gst_element_dispose):
-	  Some more cleanups.
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
-	  (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
-	  (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
-	  (gst_pad_set_caps), (gst_pad_send_event):
-	  Check for correct hierarchy when linking pads. Moving to
-	  strict requirement for ghostpads when linking elements in
-	  different bins.
-	  * gst/gstpad.h:
-	  Clean ups. Added WRONG_HIERARCHY return value.
-
-2005-07-28 10:38:02 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/base/gstbasetransform.c: Better debug if no transform is possible.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
-	  Better debug if no transform is possible.
-
-2005-07-27 20:22:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/random/wtay/network-transp: Some old doc I had.
-	  Original commit message from CVS:
-	  * docs/random/wtay/network-transp:
-	  Some old doc I had.
-
-2005-07-27 19:00:36 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  libs/gst/dataprotocol/dataprotocol.c: 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:47:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Fix compilation and fix event serialization.
-	  Original commit message from CVS:
-	  * check/gst-libs/gdp.c: (GST_START_TEST):
-	  * gst/elements/gstfakesink.c: (gst_fake_sink_event):
-	  Fix compilation and fix event serialization.
-
-2005-07-27 18:33:03 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  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-27 15:05:45 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/base/gstbasetransform.c: Make debugging actually useful.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
-	  (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
-	  (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
-	  Make debugging actually useful.
-
-2005-07-25 12:31:08 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstpad.c: Implement default fixation once again, so that gst_pad_fixate() actually does anything at all. This pro...
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
-	  (gst_pad_fixate_caps):
-	  Implement default fixation once again, so that gst_pad_fixate()
-	  actually does anything at all. This probably needs to be some
-	  sort of a last resort, and use profile-based fixation first, but
-	  since that doesn't exist yet, this is the best we have. Fixes
-	  visualization in Totem.
-
-2005-07-22 11:47:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-events.txt: Small update.
-	  Original commit message from CVS:
-	  * docs/design/part-events.txt:
-	  Small update.
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync), (gst_base_sink_activate_push),
-	  (gst_base_sink_activate_pull):
-	  Some more comments.
-	  * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
-	  (gst_fake_src_create):
-	  Fix handoff marshall.
-	  * gst/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_transform_ip):
-	  We're a real inplace element.
-	  * gst/gstbus.c: (gst_bus_post):
-	  Added some comments.
-	  * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
-	  * tests/muxing/case1.c: (main):
-	  * tests/sched/dynamic-pipeline.c: (main):
-	  * tests/sched/interrupt1.c: (main):
-	  * tests/sched/interrupt2.c: (main):
-	  * tests/sched/interrupt3.c: (main):
-	  * tests/sched/runxml.c: (main):
-	  * tests/sched/sched-stress.c: (main):
-	  * tests/seeking/seeking1.c: (event_received), (main):
-	  * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
-	  (main):
-	  * tests/threadstate/threadstate3.c: (main):
-	  * tests/threadstate/threadstate4.c: (main):
-	  * tests/threadstate/threadstate5.c: (main):
-	  Fix the tests.
-
-2005-07-21 17:22:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/part-seeking.txt: Some small additions.
-	  Original commit message from CVS:
-	  * docs/design/part-seeking.txt:
-	  Some small additions.
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_get_times), (gst_base_sink_do_sync),
-	  (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
-	  * gst/base/gstbasesink.h:
-	  discont values are gint64, handle the math correctly.
-	  * gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Make the basesrc report error if the source pad is not linked.
-	  * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
-	  (gst_queue_loop), (gst_queue_handle_src_query),
-	  (gst_queue_src_activate_push):
-	  Make queue collect data even if the srcpad is not linked.
-	  Start pushing out data as soon as it is linked.
-	  * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
-	  * gst/gstutils.h:
-	  Added gst_flow_get_name() to ease error reporting.
-
-2005-07-20 18:02:13 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstmessage.*: Added a bunch of messages for advanced seeking.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_segment_start),
-	  (gst_message_new_segment_done), (gst_message_parse_segment_start),
-	  (gst_message_parse_segment_done):
-	  * gst/gstmessage.h:
-	  Added a bunch of messages for advanced seeking.
-	  * gst/parse/grammar.y:
-	  * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
-	  (gst_dpman_state_changed):
-	  Fix some new-pad -> pad-added signals
-
-2005-07-20 17:22:27 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/: Document new-pad/state-change signal renames and the FixedList type rename.
-	  Original commit message from CVS:
-	  * docs/manual/appendix-porting.xml:
-	  * docs/pwg/appendix-porting.xml:
-	  Document new-pad/state-change signal renames and the FixedList
-	  type rename.
-
-2005-07-20 17:16:44 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  GstElement::new-pad -> pad-added, GstElement::state-change -> state-changed, GstValueFixedList -> GstValueArray, add ...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/random/ds/0.9-suggested-changes:
-	  * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
-	  * gst/gstelement.h:
-	  * gst/gstevent.h:
-	  * gst/gstformat.h:
-	  * gst/gstquery.h:
-	  * gst/gststructure.c: (gst_structure_value_get_generic_type),
-	  (gst_structure_parse_array), (gst_structure_parse_value):
-	  * gst/gstvalue.c: (gst_type_is_fixed),
-	  (gst_value_list_prepend_value), (gst_value_list_append_value),
-	  (gst_value_list_get_size), (gst_value_list_get_value),
-	  (gst_value_transform_array_string), (gst_value_serialize_array),
-	  (gst_value_deserialize_array), (gst_value_intersect_array),
-	  (gst_value_is_fixed), (_gst_value_initialize):
-	  * gst/gstvalue.h:
-	  GstElement::new-pad -> pad-added, GstElement::state-change ->
-	  state-changed, GstValueFixedList -> GstValueArray, add format and
-	  flags as their own arguments in gst_element_seek() (should improve
-	  "bindeability"), remove function generators since they don't work
-	  under a whole bunch of compilers (they were deprecated already
-	  anyway).
-
-2005-07-20 17:15:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst.supp:
-	* common:
-	* tests/check/gst.supp:
-	  patch from Edgard to properly suppress these warnings
-	  Original commit message from CVS:
-	  patch from Edgard to properly suppress these warnings
-
-2005-07-20 16:20:39 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstinfo.*: Fix illegal cast on some platforms (#309253).
-	  Original commit message from CVS:
-	  * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
-	  (_gst_debug_register_funcptr):
-	  * gst/gstinfo.h:
-	  Fix illegal cast on some platforms (#309253).
-
-2005-07-20 11:35:18 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstmessage.*: Add _new_custom, make _new_application a macro to _new_custom.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_custom):
-	  * gst/gstmessage.h:
-	  Add _new_custom, make _new_application a macro to _new_custom.
-
-2005-07-20 10:58:10 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.*: Add a gboolean to decide when to push out a discont.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_init),
-	  (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
-	  * gst/base/gstbasesrc.h:
-	  Add a gboolean to decide when to push out a discont.
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_loop), (gst_queue_handle_src_query),
-	  (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
-	  (gst_queue_set_property), (gst_queue_get_property):
-	  Some cleanups.
-	  * tests/threadstate/threadstate1.c: (main):
-	  Make a thread test compile and run... very silly..
-
-2005-07-20 10:13:46 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/appendix-porting.xml: Mention removal of libgstgconf-0.9.la and existence of gconf elements.
-	  Original commit message from CVS:
-	  * docs/manual/appendix-porting.xml:
-	  Mention removal of libgstgconf-0.9.la and existence of gconf
-	  elements.
-
-2005-07-20 08:29:06 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/pwg/: Document base classes, update sections of n-to-1 and 1-to-n (muxer, fix some code examples and links and u...
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-clock.xml:
-	  * docs/pwg/appendix-porting.xml:
-	  * docs/pwg/intro-preface.xml:
-	  * docs/pwg/other-base.xml:
-	  * docs/pwg/other-manager.xml:
-	  * docs/pwg/other-nton.xml:
-	  * docs/pwg/other-ntoone.xml:
-	  * docs/pwg/other-oneton.xml:
-	  * docs/pwg/pwg.xml:
-	  Document base classes, update sections of n-to-1 and 1-to-n (muxer,
-	  demuxer), remove n-to-n (was never written), fix some code examples
-	  and links and update the porting section to include all this.
-
-2005-07-19 17:46:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstqueue.*: Propagate GstFlowReturn more intelligently upstream and output an ERROR/EOS when streaming stopped du...
-	  Original commit message from CVS:
-	  * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
-	  (gst_queue_chain), (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_get_property):
-	  * gst/gstqueue.h:
-	  Propagate GstFlowReturn more intelligently upstream and output
-	  an ERROR/EOS when streaming stopped due to fatal error.
-
-2005-07-19 14:52:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  tools/gst-launch.c: Don't block forever for the state change to complete, the pipeline already did with a sensible ti...
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (check_intr), (event_loop), (main):
-	  Don't block forever for the state change to complete, the
-	  pipeline already did with a sensible timeout.
-
-2005-07-19 13:43:50 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Make sure we never call the create function is we got deactivated.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range):
-	  Make sure we never call the create function is we
-	  got deactivated.
-
-2005-07-19 11:27:07 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* gstreamer.spec.in:
-	  update for latest changes
-	  Original commit message from CVS:
-	  update for latest changes
-
-2005-07-19 10:40:49 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/parse/parse.l: Attempt to solve bug #172815.
-	  Original commit message from CVS:
-	  2005-07-19  Andy Wingo  <wingo@pobox.com>
-	  * gst/parse/parse.l: Attempt to solve bug #172815.
-
-2005-07-19 09:19:06 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Small docs updates.
-	  Original commit message from CVS:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-events.txt:
-	  * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
-	  Small docs updates.
-	  Only update the seeking values when we are not
-	  busy streaming.
-
-2005-07-18 17:43:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	* ChangeLog:
-	* gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.c:
-	  Oops, ignore the result of gst_pad_push_event here.
-	  Original commit message from CVS:
-	  Oops, ignore the result of gst_pad_push_event here.
-
-2005-07-18 17:12:36 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/base/gstbasesrc.c: Send discont event from the loop function, as pads aren't activated yet in the activate_push h...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_loop),
-	  (gst_base_src_activate_push):
-	  Send discont event from the loop function, as pads
-	  aren't activated yet in the activate_push handler.
-	  * gst/gstbin.c: (bin_bus_handler):
-	  Don't leak element name.
-
-2005-07-18 14:47:39 +0000  Andy Wingo <wingo@pobox.com>
-
-	  configure.ac: Use AS_LIBTOOL_TAGS.
-	  Original commit message from CVS:
-	  2005-07-18  Andy Wingo  <wingo@pobox.com>
-	  * configure.ac: Use AS_LIBTOOL_TAGS.
-
-2005-07-18 12:58:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/gstreamer.types: Remove deleted types.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types:
-	  Remove deleted types.
-
-2005-07-18 12:49:53 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	* check/elements/gstfakesrc.c:
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstbus.h:
-	* gst/gstconfig.h.in:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstelementfactory.h:
-	* gst/gsterror.c:
-	* gst/gsterror.h:
-	* gst/gstevent.h:
-	* gst/gstghostpad.c:
-	* gst/gstindex.c:
-	* gst/gstinfo.c:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstminiobject.h:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstparse.h:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* gst/gstpluginfeature.h:
-	* gst/gstquery.h:
-	* gst/gstscheduler.c:
-	* gst/gstscheduler.h:
-	* gst/gststructure.h:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* gst/gsttypefind.h:
-	* gst/gsttypes.h:
-	* gst/registries/gstlibxmlregistry.c:
-	* gst/registries/gstxmlregistry.c:
-	* gst/schedulers/threadscheduler.c:
-	* libs/gst/control/dparammanager.h:
-	* tests/check/elements/gstfakesrc.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  Removed plugable schedulers.
-	  Original commit message from CVS:
-	  Removed plugable schedulers.
-	  Removed Scheduler/Manager from elements.
-	  Removed gsttypes.h, rearranged includes.
-	  Removed dependency pad<->element, element<>pipeline, and
-	  various others,  fix includes.
-	  implement gst_pad_get_parent() with gst_object_get_parent()
-	  Make GstTask sefcontained.
-	  Fix _get_state() on GstBin, it did not return ASYNC with a 0
-	  timeout.
-	  Fix endless loop in iterator_fold_with_resync.
-
-2005-07-18 09:22:55 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Remove old file.
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/gstarch.h:
-	  Remove old file.
-
-2005-07-18 08:51:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/Makefile.am: No more cothreads.h
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  No more cothreads.h
-
-2005-07-18 08:43:27 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/cothreads.*: Let's remove these.
-	  Original commit message from CVS:
-	  * gst/cothreads.c:
-	  * gst/cothreads.h:
-	  Let's remove these.
-
-2005-07-18 08:28:48 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Some more docs in the works.
-	  Original commit message from CVS:
-	  * docs/design/part-dynamic.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-seeking.txt:
-	  Some more docs in the works.
-	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
-	  (gst_base_transform_getcaps), (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_sink_activate_push),
-	  (gst_base_transform_src_activate_pull),
-	  (gst_base_transform_set_passthrough),
-	  (gst_base_transform_is_passthrough):
-	  Refcounting fixes.
-	  * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
-	  Cleanups.
-	  * gst/gstevent.c: (gst_event_finalize):
-	  Set SRC to NULL.
-	  * gst/gstutils.c: (gst_element_unlink),
-	  (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
-	  (gst_pad_proxy_setcaps):
-	  * gst/gstutils.h:
-	  Add _get_parent_element() to get a pads parent as an element.
-
-2005-07-17 22:44:00 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Remove bogus test.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Remove bogus test.
-
-2005-07-17 22:26:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Refcounting fixes.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
-	  (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
-	  (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
-	  (gst_base_sink_event), (gst_base_sink_do_sync),
-	  (gst_base_sink_chain), (gst_base_sink_loop),
-	  (gst_base_sink_deactivate), (gst_base_sink_activate_push),
-	  (gst_base_sink_activate_pull), (gst_base_sink_change_state):
-	  Refcounting fixes.
-	  Fix logic for returning ASYNC when not prerolled.
-
-2005-07-17 22:22:52 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstqueue.c: Fix nasty refcount bug.
-	  Original commit message from CVS:
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event):
-	  Fix nasty refcount bug.
-
-2005-07-16 19:25:41 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
-
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	  Moved fdsrc to gst-plugins.
-	  Original commit message from CVS:
-	  Moved fdsrc to gst-plugins.
-
-2005-07-16 15:43:10 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
-
-	* ChangeLog:
-	  Forgot changelog entry
-	  Original commit message from CVS:
-	  Forgot changelog entry
-
-2005-07-16 15:41:04 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
-
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfdsrc.h:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfdsrc.h:
-	  gst/elements/gstfdsrc.c gst/elements/gstfdsrc.h gst/elements/gstelements.c gst/elements/Makefile.am
-	  Original commit message from CVS:
-	  2005-07-16 Philippe Khalaf <burger@speedy.org>
-	  * gst/elements/gstfdsrc.c
-	  * gst/elements/gstfdsrc.h
-	  * gst/elements/gstelements.c
-	  * gst/elements/Makefile.am
-	  Ported fdsrc to 0.9.
-
-2005-07-16 14:52:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Fix compile error.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_do_sync):
-	  Fix compile error.
-
-2005-07-16 14:41:25 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Store and use discont values when syncing buffers as described in design docs.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_event), (gst_base_sink_get_times),
-	  (gst_base_sink_do_sync), (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  Store and use discont values when syncing buffers as described
-	  in design docs.
-	  * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
-	  (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
-	  (gst_base_src_activate_push):
-	  Push discont event when starting.
-	  * gst/elements/gstidentity.c: (gst_identity_transform):
-	  Small cleanups.
-	  * gst/gstbin.c: (gst_bin_change_state):
-	  Small cleanups in base_time  distribution.
-	  * gst/gstelement.c: (gst_element_set_base_time),
-	  (gst_element_get_base_time), (gst_element_change_state):
-	  * gst/gstelement.h:
-	  Added methods for the base_time of the element.
-	  Some MT fixes.
-	  * gst/gstpipeline.c: (gst_pipeline_send_event),
-	  (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
-	  (gst_pipeline_get_last_stream_time):
-	  * gst/gstpipeline.h:
-	  MT fixes.
-	  Handle seeking as described in design doc, remove stream_time
-	  hack.
-	  Cleanups clock and stream_time selection code. Added accessors
-	  for the stream_time.
-
-2005-07-16 14:06:21 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gsterror.c (_gst_core_errors_init): Use the magic word..
-	  Original commit message from CVS:
-	  2005-07-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/gsterror.c (_gst_core_errors_init): Use the magic word..
-
-2005-07-16 13:50:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstbin.c: Make elements silent as the deep_notify refs the parent, which might make the test fail.
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (GST_START_TEST):
-	  Make elements silent as the deep_notify refs the
-	  parent, which might make the test fail.
-	  * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
-	  Don't hold the lock for too long.
-
-2005-07-16 12:33:13 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/base/gstbasesrc.c: Don't unref the caps we passed to gst_caps_make_writable() after passing them. gst_caps_make_w...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
-	  Don't unref the caps we passed to gst_caps_make_writable() after
-	  passing them. gst_caps_make_writable() will do that for us.
-
-2005-07-15 16:10:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro (#157311).
-	  Original commit message from CVS:
-	  2005-07-15  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
-	  (#157311).
-
-2005-07-15 14:59:22 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our own marshalling function for the handoff signal. Pro...
-	  Original commit message from CVS:
-	  2005-07-15  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
-	  own marshalling function for the handoff signal. Properly type the
-	  buffer as a buffer. Fixes some warnings. Should do a more general
-	  solution.
-	  (gst_identity_class_init): Plug into the right marshaller.
-
-2005-07-15 13:44:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Updated docs, mostly DISCONT related.
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-element-sink.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  Updated docs, mostly DISCONT related.
-
-2005-07-15 12:55:30 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  docs/pwg/building-pads.xml: s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
-	  Original commit message from CVS:
-	  * docs/pwg/building-pads.xml:
-	  s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
-
-2005-07-15 11:05:52 +0000  Andy Wingo <wingo@pobox.com>
-
-	* tools/gst-typefind.c:
-	  remove irrelevant code
-	  Original commit message from CVS:
-	  remove irrelevant code
-
-2005-07-15 11:04:18 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tools/gst-typefind.c: Update, add copyright block.
-	  Original commit message from CVS:
-	  2005-07-15  Andy Wingo  <wingo@pobox.com>
-	  * tools/gst-typefind.c: Update, add copyright block.
-	  * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
-	  Normalize and truncate caps before fixation.
-	  * gst/gstcaps.h:
-	  * gst/gstcaps.c (gst_caps_truncate): New function, destructively
-	  discards all but the first structure from its argument.
-
-2005-07-15 10:41:32 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.*: Make passthrough work using the bufferpools.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_init),
-	  (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
-	  (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
-	  (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
-	  (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
-	  (gst_base_transform_chain), (gst_base_transform_change_state),
-	  (gst_base_transform_set_passthrough),
-	  (gst_base_transform_is_passthrough):
-	  * gst/base/gstbasetransform.h:
-	  Make passthrough work using the bufferpools.
-	  Changed API a bit, subclasses have to write into a buffer
-	  provided by the base class.
-	  More debug info in nego functions.
-	  * gst/elements/gstidentity.c: (gst_identity_init),
-	  (gst_identity_transform):
-	  Port to new base class.
-
-2005-07-15 10:30:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Totally dump messages in -launch with the -m option.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (gst_message_new_state_changed):
-	  * tools/gst-launch.c: (event_loop), (main):
-	  Totally dump messages in -launch with the -m option.
-	  Fix message name for State messages,
-
-2005-07-14 18:45:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Post error messages on errors.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_loop):
-	  Post error messages on errors.
-
-2005-07-14 18:10:04 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstcaps.c: Remove debug info.
-	  Original commit message from CVS:
-	  * gst/gstcaps.c: (gst_caps_do_simplify):
-	  Remove debug info.
-	  * gst/gsterror.h:
-	  Define error for stream stopped.
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
-	  (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
-	  Do proper return values.
-	  * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
-	  (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
-	  (gst_pad_get_range):
-	  Better return values.
-	  * gst/gstpad.h:
-	  Reorganise return values, add macro to check for fatal errors.
-	  * gst/gstqueue.c: (gst_queue_chain):
-	  Return proper GstFlowReturn values,
-
-2005-07-14 09:35:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbasetransform.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* docs/gst/tmpl/gstconfig.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstelementdetails.sgml:
-	* docs/gst/tmpl/gstelementfactory.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstfilter.sgml:
-	* docs/gst/tmpl/gstformat.sgml:
-	* docs/gst/tmpl/gstghostpad.sgml:
-	* docs/gst/tmpl/gstimplementsinterface.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstiterator.sgml:
-	* docs/gst/tmpl/gstmacros.sgml:
-	* docs/gst/tmpl/gstmemchunk.sgml:
-	* docs/gst/tmpl/gstminiobject.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstparse.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstquery.sgml:
-	* docs/gst/tmpl/gstqueue.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstregistrypool.sgml:
-	* docs/gst/tmpl/gstscheduler.sgml:
-	* docs/gst/tmpl/gstschedulerfactory.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gstsystemclock.sgml:
-	* docs/gst/tmpl/gsttaglist.sgml:
-	* docs/gst/tmpl/gsttagsetter.sgml:
-	* docs/gst/tmpl/gsttrace.sgml:
-	* docs/gst/tmpl/gsttrashstack.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gsttypefindfactory.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gsturihandler.sgml:
-	* docs/gst/tmpl/gsturitype.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/gst/tmpl/gstversion.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstdparam.sgml:
-	* docs/libs/tmpl/gstdplinint.sgml:
-	* docs/libs/tmpl/gstdpman.sgml:
-	* docs/libs/tmpl/gstdpsmooth.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	* docs/libs/tmpl/gstunitconvert.sgml:
-	* gst/base/gstpushsrc.c:
-	* gst/base/gstpushsrc.h:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesink.h:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesink.h:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstfilesrc.h:
-	* libs/gst/base/gstpushsrc.c:
-	* libs/gst/base/gstpushsrc.h:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesink.h:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstfilesrc.h:
-	  more autistic cleanliness in functions/names/defines
-	  Original commit message from CVS:
-	  more autistic cleanliness in functions/names/defines
-
-2005-07-13 18:29:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstqueue.c:
-	* plugins/elements/gstqueue.c:
-	  fix debug ifdef
-	  Original commit message from CVS:
-	  fix debug ifdef
-
-2005-07-13 16:26:07 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate.
-	  Original commit message from CVS:
-	  2005-07-13  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
-	  source couldn't negotiate.
-
-2005-07-13 13:14:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst.supp:
-	* tests/check/gst.supp:
-	  add a suppression from Edgard
-	  Original commit message from CVS:
-	  add a suppression from Edgard
-
-2005-07-13 13:10:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  move two testsuite apps over to the check dir
-	  Original commit message from CVS:
-	  * testsuite/caps/Makefile.am:
-	  * testsuite/caps/value_compare.c:
-	  * testsuite/caps/value_intersect.c:
-	  * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
-	  move two testsuite apps over to the check dir
-
-2005-07-12 17:17:34 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasetransform.c: Added more debug info in the negotiate process.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
-	  Added more debug info in the negotiate process.
-	  * gst/gstmessage.h:
-	  Prepare for segment playback.
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
-	  Better debugging.
-	  * gst/gstutils.c:
-	  Some more docs.
-	  * tools/gst-launch.c: (main):
-	  NULL pipeline on errors.
-
-2005-07-12 17:04:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or not it comes from a malloc region. Make sure our copy ...
-	  Original commit message from CVS:
-	  2005-07-12  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
-	  not it comes from a malloc region. Make sure our copy gets freed.
-
-2005-07-12 16:28:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/gst/gstelement.c:
-	* check/gst/gstmessage.c:
-	* check/gst/gststructure.c:
-	* gst/gstelement.c:
-	* gst/gstmessage.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gststructure.c:
-	  fix refcounting of warning and error messages
-	  Original commit message from CVS:
-	  fix refcounting of warning and error messages
-
-2005-07-12 13:26:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  re-enable leak checking :)
-	  Original commit message from CVS:
-	  re-enable leak checking :)
-
-2005-07-12 12:20:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: add per-test valgrind targets
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  add per-test valgrind targets
-	  * check/gst-libs/gdp.c: (GST_START_TEST),
-	  (gst_data_protocol_suite), (main):
-	  clean up
-
-2005-07-12 09:41:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: instate more valgrindable tests
-	  Original commit message from CVS:
-	  2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-	  * check/Makefile.am:
-	  instate more valgrindable tests
-	  * check/elements/gstfakesrc.c: (chain_func), (event_func),
-	  (GST_START_TEST), (fakesrc_suite):
-	  * check/gst/gstpad.c: (GST_START_TEST):
-	  * check/gst/gststructure.c: (GST_START_TEST):
-	  fix test leaks
-	  * docs/gst/tmpl/gstminiobject.sgml:
-	  * gst/gstpad.c: (gst_pad_finalize):
-	  fix the static mutex leak
-
-2005-07-11 18:41:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: add two more tests for valgrinding
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  add two more tests for valgrinding
-	  * check/gst/gstvalue.c: (GST_START_TEST):
-	  test refcount of deserialized buffer, found a leak
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/gstreamer.types:
-	  * docs/gst/tmpl/gstminiobject.sgml:
-	  add miniobject to docs
-	  * gst/gstminiobject.c:
-	  add some docs
-	  * gst/gstvalue.c: (gst_value_deserialize_buffer),
-	  (gst_string_unwrap):
-	  fix a hard-to-find invalid write for one of the tests
-	  fix a leak for deserialized buffers
-
-2005-07-11 15:41:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  don't valgrind as part of make check for now
-	  Original commit message from CVS:
-	  don't valgrind as part of make check for now
-
-2005-07-11 15:22:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  specify tool
-	  Original commit message from CVS:
-	  specify tool
-
-2005-07-11 15:18:32 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/pwg/: Rewrite scheduling-chapter for scheduling model in 0.9. Add lots of example code and explanation for pad a...
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-events.xml:
-	  * docs/pwg/advanced-request.xml:
-	  * docs/pwg/advanced-scheduling.xml:
-	  * docs/pwg/appendix-porting.xml:
-	  * docs/pwg/building-boiler.xml:
-	  * docs/pwg/intro-preface.xml:
-	  * docs/pwg/other-ntoone.xml:
-	  Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
-	  of example code and explanation for pad activation, loop() and
-	  getrange() functions and a bit more. Remove old comments pointing
-	  to loop-functions.
-	  * examples/pwg/Makefile.am:
-	  Add loop/getrange examples.
-
-2005-07-11 15:10:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst.supp:
-	* check/gst/gst.c:
-	* check/gst/gstbuffer.c:
-	* check/gst/gstghostpad.c:
-	* check/gst/gstminiobject.c:
-	* configure.ac:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstsystemclock.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst.supp:
-	* tests/check/gst/gst.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstminiobject.c:
-	* tools/gst-launch.c:
-	  valgrind unit tests as check-local; add gst_deinit
-	  Original commit message from CVS:
-	  valgrind unit tests as check-local; add gst_deinit
-
-2005-07-11 15:06:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/elements/gstfakesrc.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfakesrc.c:
-	  add num-buffers property to basesrc
-	  Original commit message from CVS:
-	  add num-buffers property to basesrc
-
-2005-07-10 12:03:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.h:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfilesink.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfilesink.c:
-	  more macro splitting
-	  Original commit message from CVS:
-	  more macro splitting
-
-2005-07-10 00:07:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/gstelement.c: add debug
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_bus):
-	  add debug
-	  * tools/gst-launch.c: (check_intr), (event_loop):
-	  fix bus leaks
-
-2005-07-09 23:52:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  fix caps leak in both cases
-	  Original commit message from CVS:
-	  fix caps leak in both cases
-
-2005-07-09 23:48:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstpad.c:
-	  duh, remove unused var
-	  Original commit message from CVS:
-	  duh, remove unused var
-
-2005-07-09 23:47:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/gstpad.c:
-	  fix a caps leak
-	  Original commit message from CVS:
-	  fix a caps leak
-
-2005-07-09 23:33:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/base/gstbasesrc.c: add finalize method and clean up properly
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_finalize):
-	  add finalize method and clean up properly
-	  * gst/gstpipeline.c: (gst_pipeline_dispose):
-	  add debug
-
-2005-07-09 23:15:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstbin.c:
-	  don't get src for all messages; only for eos
-	  Original commit message from CVS:
-	  don't get src for all messages; only for eos
-
-2005-07-09 22:54:28 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstbin.c: add more things to check
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
-	  (gst_bin_suite):
-	  add more things to check
-	  * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
-	  * gst/gstelement.c:
-	  more debug
-
-2005-07-09 16:36:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/elements/gstfakesrc.c:
-	* check/gst-libs/gdp.c:
-	* check/gst/gst.c:
-	* check/gst/gstbin.c:
-	* check/gst/gstbuffer.c:
-	* check/gst/gstbus.c:
-	* check/gst/gstcaps.c:
-	* check/gst/gstdata.c:
-	* check/gst/gstelement.c:
-	* check/gst/gstghostpad.c:
-	* check/gst/gstiterator.c:
-	* check/gst/gstmessage.c:
-	* check/gst/gstobject.c:
-	* check/gst/gstpad.c:
-	* check/gst/gststructure.c:
-	* check/gst/gstsystemclock.c:
-	* check/gst/gsttag.c:
-	* check/gst/gstvalue.c:
-	* check/gstcheck.c:
-	* check/gstcheck.h:
-	* check/pipelines/cleanup.c:
-	* check/pipelines/simple_launch_lines.c:
-	* check/states/sinks.c:
-	* tests/check/elements/gstfakesrc.c:
-	* tests/check/generic/sinks.c:
-	* tests/check/gst/gst.c:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstbuffer.c:
-	* tests/check/gst/gstbus.c:
-	* tests/check/gst/gstcaps.c:
-	* tests/check/gst/gstdata.c:
-	* tests/check/gst/gstelement.c:
-	* tests/check/gst/gstghostpad.c:
-	* tests/check/gst/gstiterator.c:
-	* tests/check/gst/gstmessage.c:
-	* tests/check/gst/gstobject.c:
-	* tests/check/gst/gstpad.c:
-	* tests/check/gst/gststructure.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/check/gst/gsttag.c:
-	* tests/check/gst/gstvalue.c:
-	* tests/check/gstcheck.c:
-	* tests/check/gstcheck.h:
-	* tests/check/libs/gdp.c:
-	* tests/check/pipelines/cleanup.c:
-	* tests/check/pipelines/simple-launch-lines.c:
-	  add debugging category use GST_START_TEST now, so we add a debug line
-	  Original commit message from CVS:
-	  add debugging category
-	  use GST_START_TEST now, so we add a debug line
-
-2005-07-09 15:18:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/gstbin.c: add test for state change message on a bin
-	  Original commit message from CVS:
-	  * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
-	  add test for state change message on a bin
-	  * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
-	  add another test
-	  * gst/gstbin.c: (gst_bin_init):
-	  * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
-	  * gst/gstelement.c: (gst_element_post_message),
-	  (gst_element_set_state):
-	  * gst/gstelementfactory.c: (gst_element_factory_create):
-	  * gst/gstmessage.c: (gst_message_new):
-	  * gst/gstscheduler.c:
-	  various debugging additions and cleanups
-
-2005-07-08 16:41:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst/gstelement.c:
-	* gst/gstelement.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstelement.c:
-	  adding tests for elements
-	  Original commit message from CVS:
-	  adding tests for elements
-
-2005-07-08 16:16:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/registries/gstlibxmlregistry.c: plug more leaks.  A simple gst_init() now is leakfree, yay.
-	  Original commit message from CVS:
-	  * gst/registries/gstlibxmlregistry.c: (load_feature):
-	  plug more leaks.  A simple gst_init() now is leakfree, yay.
-
-2005-07-08 16:08:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/registries/gstlibxmlregistry.c:
-	  plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
-	  Original commit message from CVS:
-	  plug another memleak in registry loading - I have NO idea why this was returning a GstPlugin
-
-2005-07-08 14:50:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/registries/gstlibxmlregistry.c:
-	  I need to learn to stop doing this
-	  Original commit message from CVS:
-	  I need to learn to stop doing this
-
-2005-07-08 14:39:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	  add right variable
-	  Original commit message from CVS:
-	  add right variable
-
-2005-07-08 14:35:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: use GST_SET_ERROR_CFLAGS
-	  Original commit message from CVS:
-	  * configure.ac:
-	  use GST_SET_ERROR_CFLAGS
-	  * docs/faq/cvs.xml:
-	  change to ERROR_CFLAGS
-
-2005-07-08 14:01:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  configure.ac: make GST_ERROR_CFLAGS overridable and re-enable Werror
-	  Original commit message from CVS:
-	  * configure.ac:
-	  make GST_ERROR_CFLAGS overridable and re-enable Werror
-	  * docs/faq/cvs.xml:
-	  add a note about error CFLAGS
-	  * docs/gst/tmpl/gstfakesrc.sgml:
-	  * gst/elements/gstfakesrc.c:
-	  comment out some unused code
-	  * gst/gst.c: (split_and_iterate):
-	  * gst/registries/gstlibxmlregistry.c: (load_pad_template),
-	  (load_feature):
-	  plug some memleaks
-
-2005-07-07 15:07:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/libs/Makefile.am:
-	  make libs use same gtk-doc.mak
-	  Original commit message from CVS:
-	  make libs use same gtk-doc.mak
-
-2005-07-07 14:16:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* common:
-	* docs/gst/Makefile.am:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  factor out gtk-doc
-	  Original commit message from CVS:
-	  factor out gtk-doc
-
-2005-07-07 14:01:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/schedulers/threadscheduler.c: Unlock the STREAM_LOCK completely.
-	  Original commit message from CVS:
-	  * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
-	  (gst_thread_scheduler_dispose):
-	  Unlock the STREAM_LOCK completely.
-
-2005-07-07 13:14:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* examples/pwg/.gitignore:
-	* tests/old/examples/pwg/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-07-07 13:12:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* tests/instantiate/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-07-07 11:59:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/elements/.gitignore:
-	* check/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* tests/check/Makefile.am:
-	* tests/check/elements/.gitignore:
-	* tests/check/elements/gstfakesrc.c:
-	  adding an element test
-	  Original commit message from CVS:
-	  adding an element test
-
-2005-07-07 11:09:32 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message.
-	  Original commit message from CVS:
-	  2005-07-07  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
-	  debug message.
-
-2005-07-07 10:03:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/Makefile.am:
-	  another doc fix
-	  Original commit message from CVS:
-	  another doc fix
-
-2005-07-07 09:10:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/BUILD:
-	* docs/manual/Makefile.am:
-	  more macosx madness fixing
-	  Original commit message from CVS:
-	  more macosx madness fixing
-
-2005-07-07 08:43:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstquery.*: Remove old types
-	  Original commit message from CVS:
-	  * gst/gstquery.c:
-	  * gst/gstquery.h:
-	  Remove old types
-
-2005-07-07 08:16:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_base_src_get_range),
-	  (gst_base_src_default_negotiate), (gst_base_src_negotiate):
-	  Allow subclasses to implement their own negotiation.
-
-2005-07-06 17:17:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  docs/design/: Update design notes to reflect the movement of responsibility for bus handling from GstPipeline to
-	  Original commit message from CVS:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  Update design notes to reflect the movement of
-	  responsibility for bus handling from GstPipeline to
-	  GstBin
-
-2005-07-06 16:45:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  configure.ac: Remove unnecessary queue2/3/4 examples.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  Remove unnecessary queue2/3/4 examples.
-
-2005-07-06 16:22:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  examples/: Update a couple of the examples to work again.
-	  Original commit message from CVS:
-	  * examples/Makefile.am:
-	  * examples/helloworld/helloworld.c: (event_loop), (main):
-	  * examples/queue/queue.c: (event_loop), (main):
-	  * examples/queue2/queue2.c: (main):
-	  Update a couple of the examples to work again.
-	  * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
-	  (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
-	  Spelling corrections and extra debug.
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
-	  (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
-	  (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
-	  * gst/gstbin.h:
-	  * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
-	  (gst_pipeline_change_state):
-	  * gst/gstpipeline.h:
-	  Move the bus handler for children to the GstBin, and create a
-	  separate bus for receiving messages from children to the one the
-	  bus sends 'upwards' on.
-
-2005-07-06 13:25:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/: Make basesrc negotiate.
-	  Original commit message from CVS:
-	  * gst/base/README:
-	  * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
-	  (gst_base_sink_handle_object), (gst_base_sink_loop),
-	  (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.c: (gst_base_src_class_init),
-	  (gst_base_src_init), (gst_base_src_setcaps),
-	  (gst_base_src_getcaps), (gst_base_src_loop),
-	  (gst_base_src_default_negotiate), (gst_base_src_negotiate),
-	  (gst_base_src_start), (gst_base_src_change_state):
-	  * gst/base/gstbasesrc.h:
-	  Make basesrc negotiate.
-	  Handle the case where preroll fails in basesink.
-	  Update README.
-
-2005-07-06 13:20:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Implement the fixate function.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
-	  Implement the fixate function.
-	  Clean up acceptcaps.
-
-2005-07-06 12:24:50 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/pwg/: Remove never-written filter-factory chapter; I'll add the various base classes to part 4 ("other element t...
-	  Original commit message from CVS:
-	  * docs/pwg/building-filterfactory.xml:
-	  * docs/pwg/pwg.xml:
-	  Remove never-written filter-factory chapter; I'll add the various
-	  base classes to part 4 ("other element types") later on.
-
-2005-07-06 12:18:00 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  Add a chapter on caps negotiation, simplify the original code samples a bit w.r.t. caps negotiation, add link to the ...
-	  Original commit message from CVS:
-	  * docs/pwg/advanced-negotiation.xml:
-	  * docs/pwg/building-boiler.xml:
-	  * docs/pwg/building-pads.xml:
-	  * docs/pwg/pwg.xml:
-	  * examples/pwg/Makefile.am:
-	  Add a chapter on caps negotiation, simplify the original code
-	  samples a bit w.r.t. caps negotiation, add link to the advanced
-	  section. Add a bunch of examples showing different use cases of
-	  different types of caps negotiation. Upstream renegotiation isn't
-	  fully documented yet since nobody knows how that works.
-
-2005-07-06 11:34:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
-	* pkgconfig/gstreamer-dataprotocol.pc.in:
-	  pc file cleanups
-	  Original commit message from CVS:
-	  pc file cleanups
-
-2005-07-06 11:31:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  if pad has no parent, return NULL as list of internal links
-	  Original commit message from CVS:
-	  * check/gst/gstpad.c:
-	  * check/gstcheck.c:
-	  * gst/gstpad.c: (gst_pad_get_internal_links_default):
-	  if pad has no parent, return NULL as list of internal links
-
-2005-07-05 16:38:13 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/: s/BASESRC/BASE_SRC/g.
-	  Original commit message from CVS:
-	  2005-07-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfilesrc.c:
-	  * gst/elements/gstfakesrc.c:
-	  * gst/base/gstpushsrc.c:
-	  * gst/base/gstbasesrc.h:
-	  * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
-
-2005-07-05 15:28:18 +0000  Christian Schaller <uraeus@gnome.org>
-
-	* configure.ac:
-	* gstreamer.spec.in:
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  update spec file
-	  Original commit message from CVS:
-	  update spec file
-
-2005-07-05 12:17:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* Makefile.am:
-	  better report genration target (lcov needs a patch)
-	  Original commit message from CVS:
-	  better report genration target (lcov needs a patch)
-
-2005-07-05 10:58:21 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/elements, testsuite: Null if we got it...
-	  Original commit message from CVS:
-	  2005-07-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements, testsuite: Null if we got it...
-
-2005-07-05 10:20:14 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  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-07-05 09:35:22 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasetransform.c (gst_base_transform_setcaps): Default to returning TRUE for the case when tranform_caps r...
-	  Original commit message from CVS:
-	  2005-07-05  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
-	  Default to returning TRUE for the case when tranform_caps returns
-	  a fixed caps, like for identity or volume.
-
-2005-07-05 08:47:40 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/: Application message API change.
-	  Original commit message from CVS:
-	  2005-07-05  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstbus.c (pound_bus_with_messages):
-	  * check/gst/gstmessage.c (START_TEST):
-	  * check/pipelines/simple_launch_lines.c (got_handoff): Application
-	  message API change.
-	  * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
-	  logic weaks here: always run transform_caps, trying passthrough
-	  operation only if the original caps intersects with the transform.
-	  * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
-	  source and sink caps.
-	  * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
-	  Intersect the peer caps with the pad template before going into
-	  transform_caps.
-	  (gst_base_transform_transform_caps): More debugging.
-	  * gst/gstmessage.h (gst_message_new_application): Take a GstObject
-	  src argument.
-
-2005-07-04 15:08:30 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstutils.*: now returns the signal id for better wrapping in bindings.
-	  Original commit message from CVS:
-	  * gst/gstutils.c:
-	  * gst/gstutils.h:
-	  (gst_pad_add_*_probe): now returns the signal id for better wrapping
-	  in bindings.
-
-2005-07-04 09:22:51 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstpad.c: Only set explicit caps on pads.
-	  Original commit message from CVS:
-	  2005-07-04  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstpad.c: Only set explicit caps on pads.
-
-2005-07-01 16:46:59 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/network-clock.scm: Commentary update.
-	  Original commit message from CVS:
-	  2005-07-01  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock.scm: Commentary update.
-	  * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
-	  Didn't really make sense, not implementable with basetransform,
-	  etc.
-	  (gst_identity_transform): Unref inbuf via make_writable. Feeble
-	  attempt at implementing the sync property, needs an unlock method.
-	  * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
-	  New func, by default returns the same caps (the identity
-	  transformation).
-	  (gst_base_transform_getcaps): Uses transform_caps to return
-	  something sensible.
-	  (gst_base_transform_setcaps): Complicated logic to get caps on
-	  both pads, even if they are different, and to call set_caps once
-	  for every time both pads get their caps set.
-	  (gst_base_transform_handle_buffer): Give the ref to the transform
-	  function. Allows in-place modification of the buffer.
-	  * gst/base/gstbasetransform.h (transform_caps): New class method.
-	  Given caps on one side, what can I do on the other.
-	  (set_caps): Take two caps, one for each side of the element.
-	  * gst/gstpad.h:
-	  * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
-	  caps in place. This is safe because we can check the mutability of
-	  the caps, and a good idea because fixate functions are just called
-	  as a matter of last resort. (Not actually implemented.)
-	  (gst_pad_set_caps): If the caps we're setting is actually the same
-	  as the existing pad caps, just update the pointer without calling
-	  setcaps. Assert that caps is either NULL or fixed, as per the
-	  docs.
-	  * gst/gstghostpad.c: Update for fixate changes.
-
-2005-07-01 14:36:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/gstpad.c: Put the mini_object into GValue as a mini_object, not a gpointer.
-	  Original commit message from CVS:
-	  2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
-	  * gst/gstpad.c: (gst_pad_emit_have_data_signal):
-	  Put the mini_object into GValue as a mini_object,
-	  not a gpointer.
-
-2005-07-01 14:20:19 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  examples/pwg/Makefile.am: Fix buildbot again.
-	  Original commit message from CVS:
-	  * examples/pwg/Makefile.am:
-	  Fix buildbot again.
-
-2005-07-01 13:01:47 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/pwg/building-testapp.xml: Add extra check.
-	  Original commit message from CVS:
-	  * docs/pwg/building-testapp.xml:
-	  Add extra check.
-	  * examples/pwg/Makefile.am:
-	  Fix buildbot.
-
-2005-07-01 12:43:03 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  Enable building the PWG examples.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * examples/Makefile.am:
-	  * examples/pwg/Makefile.am:
-	  * examples/pwg/extract.pl:
-	  Enable building the PWG examples.
-	  * docs/pwg/advanced-interfaces.xml:
-	  Add URI interface stub.
-	  * docs/pwg/advanced-types.xml:
-	  * docs/pwg/other-autoplugger.xml:
-	  * docs/pwg/appendix-porting.xml:
-	  * docs/pwg/pwg.xml:
-	  Add porting guide (mostly stubs), remove autoplugging (see ADM).
-	  * docs/pwg/building-boiler.xml:
-	  * docs/pwg/building-chainfn.xml:
-	  * docs/pwg/building-pads.xml:
-	  * docs/pwg/building-props.xml:
-	  * docs/pwg/building-state.xml:
-	  * docs/pwg/building-testapp.xml:
-	  Update the building-*.xml parts for 0.9 changes. All examples
-	  code blocks compile in examples/pwg/*.
-
-2005-06-30 12:32:17 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/: Fix playbin/decodebin examples, update docs a bit, mention bus instead of signals in various places, me...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/appendix-checklist.xml:
-	  * docs/manual/appendix-integration.xml:
-	  * docs/manual/highlevel-components.xml:
-	  Fix playbin/decodebin examples, update docs a bit, mention bus
-	  instead of signals in various places, mention kmplayer and
-	  kaffeine since they have a working GStreamer backend in the KDE
-	  section.
-
-2005-06-30 12:26:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstqueue.c:
-	* plugins/elements/gstqueue.c:
-	  debug disable fixes
-	  Original commit message from CVS:
-	  debug disable fixes
-
-2005-06-30 12:18:19 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Added CHANGES-0.9 doc, updated status of other docs.
-	  Original commit message from CVS:
-	  * CHANGES-0.9:
-	  * docs/design/draft-ghostpads.txt:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/draft-query.txt:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-query.txt:
-	  Added CHANGES-0.9 doc, updated status of other docs.
-	  * gst/gstquery.h:
-	  Remove "hmm" macro
-
-2005-06-30 12:14:47 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.*: Some tweaks, only EOS and a buffer complete a preroll.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
-	  (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
-	  (gst_base_sink_change_state):
-	  * gst/base/gstbasesink.h:
-	  Some tweaks, only EOS and a buffer complete a preroll.
-
-2005-06-30 11:39:34 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy activate_push down to the internal pad as well.
-	  Original commit message from CVS:
-	  2005-06-30  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
-	  activate_push down to the internal pad as well.
-
-2005-06-30 10:59:34 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gsttaginterface.c: Some documentation fixes (#307394 and #307397).
-	  Original commit message from CVS:
-	  Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-	  * gst/gsttaginterface.c:
-	  Some documentation fixes (#307394 and #307397).
-
-2005-06-30 10:23:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/.gitignore:
-	* check/states/.gitignore:
-	* tests/check/gst/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-06-30 10:22:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  go back to the circular dependency for now
-	  Original commit message from CVS:
-	  go back to the circular dependency for now
-
-2005-06-30 10:10:00 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstvalue.c: Fix memleak (#309125).
-	  Original commit message from CVS:
-	  Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-	  * gst/gstvalue.c: (gst_value_intersect_list):
-	  Fix memleak (#309125).
-
-2005-06-30 09:59:27 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/advanced-dataaccess.xml: Fix fakesrc example to compile; doesn't work, bug somewhere...?
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  Fix fakesrc example to compile; doesn't work, bug somewhere...?
-	  * docs/manual/basics-pads.xml:
-	  Add reference for filtered caps to above chapter.
-
-2005-06-30 09:41:15 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Lame attempt at making the state change function a bit more readable.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
-	  (gst_bin_change_state):
-	  Lame attempt at making the state change function a bit
-	  more readable.
-
-2005-06-30 09:33:45 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/design/: Some more tweeks and additions to the docs.
-	  Original commit message from CVS:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-element-sink.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-preroll.txt:
-	  * docs/design/part-states.txt:
-	  Some more tweeks and additions to the docs.
-
-2005-06-30 09:23:54 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Removed atomic operations, use existing LOCK.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (_gst_do_pass_data_accumulator),
-	  (default_have_data), (gst_pad_class_init), (gst_pad_init),
-	  (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
-	  (gst_pad_check_pull_range), (gst_pad_get_range),
-	  (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
-	  * gst/gstpad.h:
-	  * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
-	  (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
-	  (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
-	  (gst_pad_remove_buffer_probe):
-	  Removed atomic operations, use existing LOCK.
-	  Move exception handling out of main code path.
-
-2005-06-30 07:45:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  drop circular reference
-	  Original commit message from CVS:
-	  drop circular reference
-
-2005-06-29 19:20:07 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  gst/gstpad.c: Fix accumulator, add default value by using _emitv() instead of _emit() for signal emission.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (_gst_do_pass_data_accumulator),
-	  (silly_return_true_function), (gst_pad_class_init),
-	  (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
-	  (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
-	  (gst_pad_send_event):
-	  Fix accumulator, add default value by using _emitv() instead
-	  of _emit() for signal emission.
-
-2005-06-29 16:57:59 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  Add probe example.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-dataaccess.xml:
-	  * examples/manual/Makefile.am:
-	  Add probe example.
-	  * gst/gstpad.c: (_gst_do_pass_data_accumulator):
-	  Make work (??).
-
-2005-06-29 16:45:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gstminiobject.c:
-	  fix for ppc, hopefully
-	  Original commit message from CVS:
-	  fix for ppc, hopefully
-
-2005-06-29 16:11:12 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/elements/gstfilesink.c: Simplify code so that we don't have to handle short writes and return GST_FLOW_ERROR if a...
-	  Original commit message from CVS:
-	  * gst/elements/gstfilesink.c: (gst_filesink_render):
-	  Simplify code so that we don't have to handle short
-	  writes and return GST_FLOW_ERROR if an error occured.
-
-2005-06-29 16:05:26 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/gst/gstreamer-docs.sgml: Remove probes more.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-docs.sgml:
-	  Remove probes more.
-
-2005-06-29 15:51:25 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  Remove old probes, add new g-signal-based probes and some utility functions.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstpad.sgml:
-	  * docs/gst/tmpl/gstprobe.sgml:
-	  * gst/Makefile.am:
-	  * gst/gstpad.c: (_gst_do_pass_data_accumulator),
-	  (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
-	  (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
-	  (gst_pad_push_event), (gst_pad_send_event):
-	  * gst/gstpad.h:
-	  * gst/gstutils.c: (gst_pad_add_data_probe),
-	  (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
-	  (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
-	  (gst_pad_remove_buffer_probe):
-	  * gst/gstutils.h:
-	  Remove old probes, add new g-signal-based probes and some utility
-	  functions.
-
-2005-06-29 15:17:25 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/: Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added the definition to the header file.
-	  Original commit message from CVS:
-	  * gst/gstelementfactory.c:
-	  * gst/gstutils.h:
-	  * gst/gstutils.c:
-	  Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
-	  the definition to the header file.
-
-2005-06-29 14:56:08 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/gst/Makefile.am (scan-build.stamp): Totally only check plugins from the source directory.
-	  Original commit message from CVS:
-	  2005-06-29  Andy Wingo  <wingo@pobox.com>
-	  * docs/gst/Makefile.am (scan-build.stamp): Totally only check
-	  plugins from the source directory.
-
-2005-06-29 14:52:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/tmpl/: Some fixings for blantently wrong text.
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gstbuffer.sgml:
-	  * docs/gst/tmpl/gstclock.sgml:
-	  Some fixings for blantently wrong text.
-
-2005-06-29 12:40:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/gst.c:
-	  logic was reversed, duh
-	  Original commit message from CVS:
-	  logic was reversed, duh
-
-2005-06-29 12:25:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will only scan the GST_PLUGIN_PATH locations, and not add system...
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * gst/gst.c: (add_path_func), (init_pre):
-	  * gst/gstregistry.c: (gst_registry_add_path):
-	  add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
-	  only scan the GST_PLUGIN_PATH locations, and not add
-	  system locations
-
-2005-06-29 12:23:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstutils.c:
-	  doc fixes
-	  Original commit message from CVS:
-	  doc fixes
-
-2005-06-29 12:02:13 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/advanced-autoplugging.xml: Fix autoplugging example.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  Fix autoplugging example.
-
-2005-06-29 11:46:16 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/: Try to get autoplugging working, fix type detection. Fix text in hello-world image.
-	  Original commit message from CVS:
-	  * docs/manual/advanced-autoplugging.xml:
-	  * docs/manual/mime-world.fig:
-	  Try to get autoplugging working, fix type detection. Fix text
-	  in hello-world image.
-
-2005-06-29 11:10:44 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Small debug line.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
-	  (gst_base_sink_change_state):
-	  Small debug line.
-	  * gst/gstclock.h:
-	  map SIGNAL and BROADCAST to the right function.
-	  * gst/gstobject.h:
-	  Remove redundant braces.
-	  * gst/gstpad.c: (gst_pad_set_caps):
-	  Don't call setcaps function when reseting caps to NULL.
-	  * gst/gstsystemclock.c: (gst_system_clock_dispose),
-	  (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
-	  (gst_system_clock_id_unschedule):
-	  Use BROADCAST as this is what we do.
-
-2005-06-29 10:24:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: We are actually prerolling before commiting the state change.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
-	  We are actually prerolling before commiting the state
-	  change.
-
-2005-06-29 09:25:51 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
-
-	  docs/manual/: Update (until threads/scheduling) Application Development Manual; remove GstThread, add GstBus, add sim...
-	  Original commit message from CVS:
-	  * docs/manual/advanced-clocks.xml:
-	  * docs/manual/advanced-interfaces.xml:
-	  * docs/manual/advanced-metadata.xml:
-	  * docs/manual/advanced-position.xml:
-	  * docs/manual/advanced-schedulers.xml:
-	  * docs/manual/advanced-threads.xml:
-	  * docs/manual/appendix-porting.xml:
-	  * docs/manual/basics-bins.xml:
-	  * docs/manual/basics-bus.xml:
-	  * docs/manual/basics-elements.xml:
-	  * docs/manual/basics-helloworld.xml:
-	  * docs/manual/basics-pads.xml:
-	  * docs/manual/highlevel-components.xml:
-	  * docs/manual/manual.xml:
-	  * docs/manual/thread.fig:
-	  Update (until threads/scheduling) Application Development Manual;
-	  remove GstThread, add GstBus, add simple porting checklist, add
-	  documentation for tag writing, clocks, make all examples until this
-	  part compile and run.
-	  * examples/manual/Makefile.am:
-	  Update from changes to Application Development Manual; add bus
-	  example, remove thread example.
-
-2005-06-28 19:45:26 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbus.c: Add debugging messages.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
-	  (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
-	  (gst_bus_source_dispatch):
-	  Add debugging messages.
-	  Make internal methods static.
-	  Handle the case where the bus is flushed in the handler.
-	  * gst/gstelement.c: (gst_element_get_bus):
-	  Fix refcount in _get_bus();
-	  * gst/gstpipeline.c: (gst_pipeline_change_state),
-	  (gst_pipeline_get_clock_func):
-	  Clock refcounting fixes.
-	  Handle the case where preroll timed out more gracefully.
-	  * gst/gstsystemclock.c: (gst_system_clock_dispose):
-	  Clean up the internal thread in dispose. This is needed
-	  for subclasses that actually get disposed.
-	  * gst/schedulers/threadscheduler.c:
-	  (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
-	  (gst_thread_scheduler_dispose):
-	  Free thread pool in dispose.
-
-2005-06-28 16:57:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/network-clock-utils.scm (debug, print-event): New utils.
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock-utils.scm (debug, print-event): New utils.
-	  * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
-	  (*packet-loss*): Unified loss probability.
-	  (network-time): Report out-of-band events.
-	  * tests/plot-data: Add support for out-of-band events. Hack it
-	  into this script instead of passing it down the pipe; should fix
-	  this later.
-
-2005-06-28 15:36:37 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  docs/gst/: Docs fixes.
-	  Original commit message from CVS:
-	  * docs/gst/gstreamer.types:
-	  * docs/gst/tmpl/gstbasesrc.sgml:
-	  * docs/gst/tmpl/gstpad.sgml:
-	  Docs fixes.
-
-2005-06-28 13:40:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Correctly proxy the check_pull_range function.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
-	  (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
-	  (gst_proxy_pad_do_fixatecaps):
-	  Correctly proxy the check_pull_range function.
-
-2005-06-28 12:45:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	  fix fake elements too
-	  Original commit message from CVS:
-	  fix fake elements too
-
-2005-06-28 12:01:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesink.h:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesink.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	  did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later
-	  Original commit message from CVS:
-	  did s/bases(rc/ink)_/base_s(rc/ink)_/; wim wants to remove base completely, but that's for later
-
-2005-06-28 11:48:57 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/network-clock.scm: Removed need for slib.
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock.scm: Removed need for slib.
-
-2005-06-28 11:36:43 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: The deprecated pad loop function is removed now.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
-	  (gst_basesink_preroll_queue_flush):
-	  * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
-	  * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
-	  (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
-	  (gst_proxy_pad_set_property):
-	  * gst/gstpad.c:
-	  * gst/gstpad.h:
-	  * gst/gstqueue.c: (gst_queue_init):
-	  The deprecated pad loop function is removed now.
-
-2005-06-28 11:33:22 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*): New parameters, simulate network packet loss.
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
-	  New parameters, simulate network packet loss.
-	  * tests/network-clock-utils.scm: Initialize the RNG.
-
-2005-06-28 11:02:18 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Flushing the preroll queue always needs to unlock the waiters.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
-	  (gst_basesink_event), (gst_basesink_deactivate):
-	  Flushing the preroll queue always needs to unlock the waiters.
-
-2005-06-28 10:45:48 +0000  Edward Hervey <bilboed@bilboed.com>
-
-	  gst/gstpipeline.c: Wheen a seek was successful on a pipeline, set the stream_time to the seek offset in order to have...
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_send_event):
-	  Wheen a seek was successful on a pipeline, set the stream_time to the
-	  seek offset in order to have a synchronized stream_time.
-
-2005-06-28 10:37:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: Call wrapper function instead of just calling the function pointers. This takes care of any lockin...
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
-	  (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
-	  (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
-	  (gst_proxy_pad_do_fixatecaps):
-	  Call wrapper function instead of just calling the function
-	  pointers. This takes care of any locking and whatmore.
-
-2005-06-28 10:28:31 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.*: CONNECTED -> LINKED.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
-	  (gst_pad_pull_range):
-	  * gst/gstpad.h:
-	  CONNECTED -> LINKED.
-
-2005-06-28 09:59:01 +0000  Andy Wingo <wingo@pobox.com>
-
-	  *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large source-munging commit!!!
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
-	  source-munging commit!!!
-
-2005-06-28 09:17:14 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	* docs/gst/tmpl/gstobject.sgml:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	  gst/gstobject.c (gst_object_unref, gst_object_ref)
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstobject.c (gst_object_unref, gst_object_ref)
-	  (gst_object_sink): Take gpointer arguments, not GstObject --
-	  avoids casts. Like GLib.
-
-2005-06-28 08:41:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy activate.
-	  Original commit message from CVS:
-	  2005-06-28  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
-	  activate.
-
-2005-06-27 18:39:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	* gst/gstpad.c:
-	  shut up gcc3
-	  Original commit message from CVS:
-	  shut up gcc3
-
-2005-06-27 18:35:05 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any remaining buffer.
-	  Original commit message from CVS:
-	  2005-06-27  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
-	  remaining buffer.
-	  * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
-	  returns a sorted copy of the trace list.
-	  (gst_alloc_trace_print_live): New API, only prints traces with
-	  live objects. Sort the list.
-	  (gst_alloc_trace_print_all): Sort the list.
-	  (gst_alloc_trace_print): Align columns.
-	  * gst/elements/gstttypefindelement.c:
-	  * gst/elements/gsttee.c:
-	  * gst/base/gstbasesrc.c:
-	  * gst/base/gstbasesink.c:
-	  * gst/base/gstbasetransform.c:
-	  * gst/gstqueue.c: Adapt for pad activation changes.
-	  * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
-	  sched.
-	  (gst_pipeline_dispose): Drop ref on sched.
-	  * gst/gstpad.c (gst_pad_init): Set the default activate func.
-	  (gst_pad_activate_default): Push mode by default.
-	  (pre_activate_switch, post_activate_switch): New stubs, things to
-	  do before and after switching activation modes on pads.
-	  (gst_pad_set_active): Take a boolean and not a mode, dispatch to
-	  the pad's activate function to choose which mode to activate.
-	  Shortcut on deactivation and call the right function directly.
-	  (gst_pad_activate_pull): New API, (de)activates a pad in pull
-	  mode.
-	  (gst_pad_activate_push): New API, same for push mode.
-	  (gst_pad_set_activate_function)
-	  (gst_pad_set_activatepull_function)
-	  (gst_pad_set_activatepush_function): Setters for new API.
-	  * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
-	  Trace all miniobjects.
-	  (gst_mini_object_make_writable): Unref the arg if we copy, like
-	  gst_caps_make_writable.
-	  * gst/gstmessage.c (_gst_message_initialize): No trace init.
-	  * gst/gstghostpad.c (gst_proxy_pad_do_activate)
-	  (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
-	  Adapt for new pad API.
-	  * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
-	  * gst/gstelement.h:
-	  * gst/gstelement.c (gst_element_iterate_src_pads)
-	  (gst_element_iterate_sink_pads): New API functions.
-	  * gst/gstelement.c (iterator_fold_with_resync): New utility,
-	  should fold into gstiterator.c in some form.
-	  (gst_element_pads_activate): Simplified via use of fold and
-	  delegation of decisions to gstpad->activate.
-	  * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
-	  help in debugging.
-	  * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
-	  class once in init, like gstmessage. Didn't run into this issue
-	  but it seems correct. Don't initialize a trace, gstminiobject does
-	  that.
-	  * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
-	  test, runs fakesrc ! fakesink, stopping on ::handoff via a message
-	  to the bus.
-	  (assert_live_count): New util function, uses alloc traces to check
-	  cleanup.
-	  * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
-	  To be modified when unlink drops the internal pad.
-
-2005-06-27 18:11:24 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbin.c: Cleanup the get_state() function a little, make sure it iterates the same set of elements.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
-	  (gst_bin_change_state):
-	  Cleanup the get_state() function a little, make sure it
-	  iterates the same set of elements.
-	  Added stub iterate_state_order().
-
-2005-06-27 14:40:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbasetransform.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstiterator.sgml:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/base/gstbasetransform.h:
-	* gst/gstelement.c:
-	* gst/gstiterator.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.h:
-	  adding basetransform and iterator docs
-	  Original commit message from CVS:
-	  adding basetransform and iterator docs
-
-2005-06-27 13:25:44 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/design/part-activation.txt: Notes on how activation should work -- not quite implemented yet.
-	  Original commit message from CVS:
-	  2005-06-27  Andy Wingo  <wingo@pobox.com>
-	  * docs/design/part-activation.txt: Notes on how activation should
-	  work -- not quite implemented yet.
-
-2005-06-27 08:54:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	  remove stuff that isn't there anymore
-	  Original commit message from CVS:
-	  remove stuff that isn't there anymore
-
-2005-06-27 08:16:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* gst/base/gstbasesrc.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstelement.h:
-	* libs/gst/base/gstbasesrc.h:
-	  more doc and whitespace fixes
-	  Original commit message from CVS:
-	  more doc and whitespace fixes
-
-2005-06-25 19:53:02 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstghostpad.c: At least get the chain function correct, needs more fixing.
-	  Original commit message from CVS:
-	  * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
-	  At least get the chain function correct, needs more
-	  fixing.
-
-2005-06-25 19:37:59 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Right, two problems here: ghostpads don't take locks and glib _rec_mutex_lock_full() with depth==0 still locks.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
-	  (gst_basesink_handle_object), (gst_basesink_event),
-	  (gst_basesink_do_sync), (gst_basesink_handle_event),
-	  (gst_basesink_change_state):
-	  * gst/gsttask.h:
-	  Right, two problems here: ghostpads don't take locks and
-	  glib _rec_mutex_lock_full() with depth==0 still locks.
-	  Catch illegal locking and g_warn them.
-
-2005-06-25 19:14:51 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/states/sinks.c: Have to check for completion now...
-	  Original commit message from CVS:
-	  * check/states/sinks.c: (START_TEST), (gst_object_suite):
-	  Have to check for completion now...
-
-2005-06-25 19:09:28 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Unlock STREAM_LOCK whatever the recursion was.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
-	  (gst_basesink_handle_object), (gst_basesink_event),
-	  (gst_basesink_do_sync), (gst_basesink_handle_event),
-	  (gst_basesink_change_state):
-	  * gst/gstpad.h:
-	  Unlock STREAM_LOCK whatever the recursion was.
-
-2005-06-25 17:54:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/base/gstbasesink.c: Reworked the base sink, handle event and buffer serialisation correctly and removed possible ...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_set_property),
-	  (gst_basesink_preroll_queue_empty),
-	  (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
-	  (gst_basesink_event), (gst_basesink_do_sync),
-	  (gst_basesink_handle_event), (gst_basesink_handle_buffer),
-	  (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
-	  (gst_basesink_change_state):
-	  Reworked the base sink, handle event and buffer serialisation
-	  correctly and removed possible deadlock.
-	  Handle EOS correctly.
-
-2005-06-25 17:51:12 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  Allow elements to post EOS in the state change function.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
-	  (gst_pipeline_change_state):
-	  * tools/gst-launch.c: (check_intr), (event_loop), (main):
-	  Allow elements to post EOS in the state change function.
-	  Fix up -launch, make it exit the poll loop when the
-	  pipeline actually changed state.
-	  Fix up warning parsing in -launch.
-
-2005-06-25 17:44:39 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/elements/gsttee.c: Core takes STREAM_LOCK for us now.
-	  Original commit message from CVS:
-	  * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
-	  (gst_tee_sink_activate):
-	  Core takes STREAM_LOCK for us now.
-
-2005-06-25 17:42:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: Keep track of current target state while performing a state change so that subclasses can do something interest...
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_set_state):
-	  * gst/gstelement.h:
-	  * gst/gstmessage.c: (gst_message_parse_error),
-	  (gst_message_parse_warning):
-	  Keep track of current target state while performing a state
-	  change so that subclasses can do something interesting.
-	  Fix parsing of warning/error messages when GError is NULL.
-
-2005-06-24 18:16:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/gstreamer.types:
-	* docs/gst/tmpl/gstbasesink.sgml:
-	* docs/gst/tmpl/gstbasesrc.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/manual/appendix-quotes.xml:
-	* gst/base/gstbasesrc.h:
-	* gst/elements/gstfakesrc.h:
-	* gst/gstmessage.h:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfakesrc.h:
-	  start pulling in base classes and elements for docs
-	  Original commit message from CVS:
-	  start pulling in base classes and elements for docs
-
-2005-06-24 07:49:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>
-
-	* ChangeLog:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  fixed make distcheck with gtk-doc 1.3
-	  Original commit message from CVS:
-	  fixed make distcheck with gtk-doc 1.3
-
-2005-06-23 17:11:49 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstelement.c: When the state did not change, also report NO_PREROLL when it matters.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_set_state), (gst_element_change_state):
-	  When the state did not change, also report NO_PREROLL
-	  when it matters.
-
-2005-06-23 17:09:21 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/: No unsafe task pausing please.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_event_default):
-	  * gst/gstqueue.c: (gst_queue_loop):
-	  No unsafe task pausing please.
-
-2005-06-23 17:07:08 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/schedulers/threadscheduler.c: Ref the task before pushing it on the threadpool. This makes sure that we have a re...
-	  Original commit message from CVS:
-	  * gst/schedulers/threadscheduler.c:
-	  (gst_thread_scheduler_task_start),
-	  (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
-	  Ref the task before pushing it on the threadpool. This
-	  makes sure that we have a ref when the threadfunction is
-	  actually called.
-
-2005-06-23 15:26:09 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the offset is greater than the file's size.
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
-	  offset is greater than the file's size.
-
-2005-06-23 15:04:48 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
-	  (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
-	  * gst/gstobject.c (gst_object_class_init): Make the class lock
-	  recursive. Wim won't let me drop deep_notify. Decodebin works
-	  again, whoopdy doo.
-
-2005-06-23 14:18:15 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.c (on_int_notify): Catches notify::caps on the internal pad, and hacks accordingly. Doesn't do it on ...
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
-	  internal pad, and hacks accordingly. Doesn't do it on the target
-	  pad because we change its caps. Probably catches all cases of
-	  interest tho.
-	  (gst_ghost_pad_set_property): Connect to notify::caps as
-	  appropritate.
-
-2005-06-23 13:20:44 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/network-clock.scm (plot-simulation): Pipe data to the elite python skript.
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock.scm (plot-simulation): Pipe data to the
-	  elite python skript.
-	  * tests/network-clock-utils.scm (define-parameter): New macro,
-	  defines a parameter that can be set via the command line.
-	  (set-parameter!, parse-parameter-arguments): Command line args
-	  parser.
-	  * tests/plot-data: Simple matplotlib-based plotter, takes input on
-	  stdin.
-
-2005-06-23 13:20:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/manual/appendix-quotes.xml:
-	  add more important documentation
-	  Original commit message from CVS:
-	  add more important documentation
-
-2005-06-23 11:43:39 +0000  Jan Schmidt <thaytan@mad.scientist.com>
-
-	  gst/elements/gsttypefindelement.c: Don't restart typefinding on a discont.
-	  Original commit message from CVS:
-	  2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_element_handle_event):
-	  Don't restart typefinding on a discont.
-	  * gst/gstelement.c: (gst_element_set_state):
-	  Debug spelling fix.
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
-	  Allow changing mode of an active pad.
-	  Debug output fixes.
-	  * gst/registries/gstlibxmlregistry.c: (load_feature):
-	  Don't cast a static pad template to a normal pad template.
-
-2005-06-23 11:25:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  remove gst_strtoll completely, since it didn't actually do anything more than what g_ascii_strtoull already does.
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
-	  * gst/gstvalue.c: (gst_value_deserialize_int_helper):
-	  remove gst_strtoll completely, since it didn't actually do
-	  anything more than what g_ascii_strtoull already does.
-	  check for range errors when deserializing
-	  do a cast for the unsigned cases; but further fixing needs
-	  a decision on what the interpretation of "(int)" and
-	  deserialization should be for values that fall outside the
-	  type's boundaries (ie, refuse, or interpret as casting)
-
-2005-06-23 10:37:09 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/states/sinks.c:
-	* docs/design/part-live-source.txt:
-	* docs/design/part-states.txt:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/elements/gstfakesrc.c:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gsttypes.h:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* plugins/elements/gstfakesrc.c:
-	* tests/check/Makefile.am:
-	* tests/check/generic/sinks.c:
-	* tools/gst-launch.c:
-	  Added support for live sources and other elements that cannot do preroll.
-	  Original commit message from CVS:
-	  Added support for live sources and other elements that
-	  cannot do preroll.
-	  Updated design docs, added live-source design doc.
-	  Implemented live source functionality in basesrc
-	  Fix error condition in _bin_get_state()
-	  Implement live source handling in -launch.
-	  Added check for live sources.
-	  Fixed case in GstBin where elements were changed state
-	  multiple times.
-
-2005-06-23 09:59:33 +0000  Andy Wingo <wingo@pobox.com>
-
-	  check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix borken refcounting.
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
-	  borken refcounting.
-
-2005-06-23 09:41:41 +0000  Andy Wingo <wingo@pobox.com>
-
-	* gst/gstpad.c:
-	  commit the file
-	  Original commit message from CVS:
-	  commit the file
-
-2005-06-23 09:41:09 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstpad.c (gst_pad_set_caps): Remove needless refs, gst_caps_replace takes care of this for us.
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
-	  gst_caps_replace takes care of this for us.
-
-2005-06-23 09:28:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full gst_pad_set_caps on the target, not just its setcaps() fu...
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
-	  gst_pad_set_caps on the target, not just its setcaps() function.
-
-2005-06-23 00:39:26 +0000  Andy Wingo <wingo@pobox.com>
-
-	  tests/: A network clock simulator.
-	  Original commit message from CVS:
-	  2005-06-23  Andy Wingo  <wingo@pobox.com>
-	  * tests/network-clock.scm:
-	  * tests/network-clock-utils.scm: A network clock simulator.
-	  Something of an algorithmic testbed before doing something in C.
-
-2005-06-22 19:57:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  make sure capslist.h gets disted
-	  Original commit message from CVS:
-	  make sure capslist.h gets disted
-
-2005-06-22 19:48:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  file fromstring.c was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file fromstring.c was initially added on branch BRANCH-GSTREAMER-0_8.
-
-2005-06-22 19:22:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/: copy over from 0.8, and add two with bitmasks specified with (int) 0xFF...
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/capslist.h:
-	  copy over from 0.8, and add two with bitmasks specified with
-	  (int) 0xFF...
-	  * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
-	  add test to parse everything from capslist.h
-	  * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
-	  (main):
-	  add test for structure deserialization
-	  * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
-	  add tests for deserialization of strings to int types
-	  * gst/gststructure.c: (gst_structure_nth_field_name):
-	  * gst/gststructure.h:
-	  add a way to get the name of a field referenced by index
-	  * gst/gstvalue.c: (gst_value_deserialize_int_helper):
-	  instead of checking if the resulting long long lies between
-	  min and max, we check if the long long would fit into
-	  a number of bytes for the final type.
-	  This fixes cases where a string represents 2^32 - 1, which
-	  when cast to int would be the (valid) -1, but is bigger than
-	  G_MAXINT
-
-2005-06-22 11:02:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* gst/parse/grammar.y:
-	  add a log line for type deserialization
-	  Original commit message from CVS:
-	  add a log line for type deserialization
-
-2005-06-22 10:52:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  return long long, not int, so gint64 deserialization actually works.  Is there any flag that makes the compiler check...
-	  Original commit message from CVS:
-	  * check/gst/gstvalue.c: (START_TEST):
-	  * gst/gstvalue.c: (gst_value_deserialize):
-	  return long long, not int, so gint64 deserialization actually
-	  works.  Is there any flag that makes the compiler check this ?
-	  Fixes #308559
-
-2005-06-22 09:55:16 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstbuffer.h: Added convenience macros for setting buffers in GValue.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.h:
-	  Added convenience macros for setting buffers in GValue.
-
-2005-06-21 17:41:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gst/: add a test deserializing int64, and comment part out because it fails, yay !
-	  Original commit message from CVS:
-	  * check/gst/.cvsignore:
-	  * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
-	  add a test deserializing int64, and comment part out because
-	  it fails, yay !
-
-2005-06-21 16:53:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/gst.c:
-	* tests/check/gst/gst.c:
-	  commit a file I forgot
-	  Original commit message from CVS:
-	  commit a file I forgot
-
-2005-06-21 16:48:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst/gstvalue.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstvalue.c:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/caps/Makefile.am:
-	* tests/old/testsuite/caps/value_serialize.c:
-	* tests/old/testsuite/test_gst_init.c:
-	* testsuite/Makefile.am:
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/value_serialize.c:
-	* testsuite/test_gst_init.c:
-	  move over a value_serialize test
-	  Original commit message from CVS:
-	  move over a value_serialize test
-
-2005-06-20 15:18:17 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  gst/gstpad.c: Small doc updates.
-	  Original commit message from CVS:
-	  * gst/gstpad.c:
-	  Small doc updates.
-	  * gst/gstvalue.c: (gst_value_compare_buffer),
-	  (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
-	  (gst_value_compare_flags), (gst_value_serialize_flags),
-	  (gst_value_deserialize_flags), (_gst_value_initialize):
-	  Fix serialisation of buffers, they are not boxed types anymore
-
-2005-06-20 15:14:58 +0000  Wim Taymans <wim.taymans@gmail.com>
-
-	  check/gst/gstcaps.c: Testcase to show error in buffer-on-caps serialisation.
-	  Original commit message from CVS:
-	  * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
-	  Testcase to show error in buffer-on-caps serialisation.
-
-2005-06-20 15:13:43 +0000  Andy Wingo <wingo@pobox.com>
-
-	  docs/random/wingo/porting-plugins-to-0.9: A pitiful document I will be adding to later.
-	  Original commit message from CVS:
-	  2005-06-20  Andy Wingo  <wingo@pobox.com>
-	  * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
-	  will be adding to later.
-
-2005-06-20 11:41:17 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock if its socks fill with rocks.
-	  Original commit message from CVS:
-	  2005-06-20  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
-	  if its socks fill with rocks.
-	  (gst_system_clock_obtain): Set the name on object construction.
-	  Avoid double-checked locking.
-
-2005-06-20 11:32:14 +0000  Tim-Philipp Müller <tim@centricular.net>
-
-	  gst/gsturi.c: Fix potential endless loop.
-	  Original commit message from CVS:
-	  * gst/gsturi.c: (gst_element_make_from_uri):
-	  Fix potential endless loop.
-
-2005-06-20 11:27:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/ghostpads/.gitignore:
-	* tests/old/testsuite/ghostpads/Makefile.am:
-	* tests/old/testsuite/ghostpads/ghostpads.c:
-	* testsuite/Makefile.am:
-	* testsuite/ghostpads/.gitignore:
-	* testsuite/ghostpads/Makefile.am:
-	* testsuite/ghostpads/ghostpads.c:
-	  remove another test that's obsolete
-	  Original commit message from CVS:
-	  remove another test that's obsolete
-
-2005-06-20 11:23:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/clock/.gitignore:
-	* tests/old/testsuite/clock/Makefile.am:
-	* tests/old/testsuite/clock/clock1.c:
-	* tests/old/testsuite/clock/clock2.c:
-	* tests/old/testsuite/clock/signedness.c:
-	* testsuite/Makefile.am:
-	* testsuite/clock/.gitignore:
-	* testsuite/clock/Makefile.am:
-	* testsuite/clock/clock1.c:
-	* testsuite/clock/clock2.c:
-	* testsuite/clock/signedness.c:
-	  remove clock testsuite, important stuff already moved to check
-	  Original commit message from CVS:
-	  remove clock testsuite, important stuff already moved to check
-
-2005-06-20 11:18:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* tests/old/testsuite/Makefile.am:
-	* tests/old/testsuite/bins/.gitignore:
-	* tests/old/testsuite/bins/Makefile.am:
-	* tests/old/testsuite/bins/interface.c:
-	* testsuite/Makefile.am:
-	* testsuite/bins/.gitignore:
-	* testsuite/bins/Makefile.am:
-	* testsuite/bins/interface.c:
-	  remove test that was already moved to check
-	  Original commit message from CVS:
-	  remove test that was already moved to check
-
-2005-06-19 11:32:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/Makefile.am: add gsttag
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  add gsttag
-	  * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
-	  (main):
-	  move over from testsuite dir and clean up
-	  * configure.ac:
-	  * gst/gsttag.c:
-	  * testsuite/Makefile.am:
-	  * testsuite/tags/.cvsignore:
-	  * testsuite/tags/Makefile.am:
-	  * testsuite/tags/merge.c:
-	  remove testsuite/tags
-
-2005-06-19 10:54:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* gst/gstbin.h:
-	* gst/gstbuffer.h:
-	  some more docs cleanup
-	  Original commit message from CVS:
-	  some more docs cleanup
-
-2005-06-19 10:31:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* configure.ac:
-	* tests/Makefile.am:
-	* tests/bufspeed/.gitignore:
-	* tests/bufspeed/Makefile.am:
-	* tests/bufspeed/README:
-	* tests/bufspeed/gstmempool.c:
-	* tests/bufspeed/gstmempool.h:
-	* tests/bufspeed/test1.c:
-	* tests/bufspeed/test2.c:
-	* tests/spidey_bench.c:
-	  remove bufspeed and spidey_bench
-	  Original commit message from CVS:
-	  remove bufspeed and spidey_bench
-
-2005-06-19 10:22:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* win32/gstenumtypes.c:
-	  clean up docs a little
-	  Original commit message from CVS:
-	  clean up docs a little
-
-2005-06-19 00:52:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  check/gstcheck.h: add macros for checking refcounts on objects and caps
-	  Original commit message from CVS:
-	  * check/gstcheck.h:
-	  add macros for checking refcounts on objects and caps
-	  * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
-	  add some more unit tests
-	  * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
-	  (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
-	  fix leaked refcounts (I hope :)) so unittest works
-	  * gst/gstpad.h:
-	  whitespace removal
-
-2005-06-18 22:33:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* ChangeLog:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	  back to head
-	  Original commit message from CVS:
-	  back to head
-
-2005-06-17 12:00:35 +0000  Andy Wingo <wingo@pobox.com>
-
-	* ChangeLog:
-	  changelog
-	  Original commit message from CVS:
-	  changelog
-
-2005-06-17 11:58:48 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus assert; it's always possible that the pad gets deactivated ...
-	  Original commit message from CVS:
-	  2005-06-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
-	  assert; it's always possible that the pad gets deactivated in
-	  between the checks in gstpad.c and the implementation. Rely on
-	  finish_preroll() to return a FLUSHING or similar instead of on the
-	  assert.
-
-2005-06-17 11:33:27 +0000  Andy Wingo <wingo@pobox.com>
-
-	  gst/base/gstbasesink.c (gst_basesink_event): Only wait for the clock and post an EOS message if we come out of finish...
-	  Original commit message from CVS:
-	  2005-06-17  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
-	  clock and post an EOS message if we come out of finish_preroll in
-	  the playing state.
-
-2005-06-17 09:58:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* README:
-	  incorporate plugins stuff and uninstalled stuff
-	  Original commit message from CVS:
-	  incorporate plugins stuff and uninstalled stuff
-
-2005-06-17 09:32:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* gst/indexers/.gitignore:
-	* plugins/indexers/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-06-17 09:12:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* check/gst/.gitignore:
-	* gst/base/.gitignore:
-	* gst/elements/.gitignore:
-	* gst/parse/.gitignore:
-	* gst/registries/.gitignore:
-	* gst/schedulers/.gitignore:
-	* libs/gst/base/.gitignore:
-	* libs/gst/bytestream/.gitignore:
-	* libs/gst/control/.gitignore:
-	* libs/gst/dataprotocol/.gitignore:
-	* libs/gst/getbits/.gitignore:
-	* plugins/elements/.gitignore:
-	* tests/check/gst/.gitignore:
-	* tools/.gitignore:
-	  ignore more
-	  Original commit message from CVS:
-	  ignore more
-
-2005-06-17 08:59:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* .gitignore:
-	* ChangeLog:
-	* README:
-	* check/.gitignore:
-	* examples/manual/.gitignore:
-	* gst/.gitignore:
-	* tests/check/.gitignore:
-	* tests/old/examples/manual/.gitignore:
-	  ignore more; fix README
-	  Original commit message from CVS:
-	  ignore more; fix README
-
-2005-06-16 17:50:16 +0000  David Schleef <ds@schleef.org>
-
-	  gst/elements/gstcapsfilter.c: Allow NULL as possible value for filter_caps property, indicating GST_CAPS_ANY.
-	  Original commit message from CVS:
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
-	  (gst_capsfilter_set_property): Allow NULL as possible value
-	  for filter_caps property, indicating GST_CAPS_ANY.
-
-2005-06-09 13:33:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gst/elements/gstfakesrc.c: fix debug output
-	  Original commit message from CVS:
-	  * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
-	  fix debug output
-	  * gst/schedulers/Makefile.am:
-	  use libgst prefix
-	  * gstreamer.spec.in:
-	  fix spec for it
-
-2005-06-09 12:23:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gstreamer.spec.in: clean up
-	  Original commit message from CVS:
-	  * gstreamer.spec.in:
-	  clean up
-
-2005-06-09 12:09:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	  gstreamer.spec.in: clean up
-	  Original commit message from CVS:
-	  * gstreamer.spec.in:
-	  clean up
-
-2005-06-09 12:03:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* TODO:
-	* docs/random/TODO-pre-0.9:
-	  have a real TODO, move old TODO
-	  Original commit message from CVS:
-	  have a real TODO, move old TODO
-
-2005-06-09 12:00:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  po updates
-	  Original commit message from CVS:
-	  po updates
-
-2005-06-09 11:12:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/de.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/it.po:
-	* po/nb.po:
-	* po/nl.po:
-	* po/ru.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* po/vi.po:
-	  update translations
-	  Original commit message from CVS:
-	  update translations
+	  systemclock: Use `futex_time64` syscall if available (32-bit systems) and use correct `struct timespec` definition
+	  See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1648
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3561>
 
-2005-06-08 22:16:27 +0000  Andy Wingo <wingo@pobox.com>
+2020-08-15 12:53:13 +0000  sezanzeb <to.213692@protonmail.ch>
 
-	  gst/gstutils.c: RPAD fixes all around.
-	  Original commit message from CVS:
-	  2005-06-08  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.c: RPAD fixes all around.
-	  (gst_element_link_pads): Refcounting fixes.
-	  * tools/gst-inspect.c:
-	  * tools/gst-xmlinspect.c:
-	  * parse/grammar.y:
-	  * gst/base/gsttypefindhelper.c:
-	  * gst/base/gstbasesink.c:
-	  * gst/gstqueue.c: RPAD fixes.
-	  * gst/gstghostpad.h:
-	  * gst/gstghostpad.c: New ghost pad implementation as full proxy
-	  pads. The tricky thing is they provide both source and sink
-	  interfaces, since they proxy the internal pad for the external
-	  pad, and vice versa. Implement with lower-level ProxyPad objects,
-	  with the interior proxy pad as a child of the exterior ghost pad.
-	  Should write a doc on this.
-	  * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
-	  (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
-	  gst_object API.
-	  * gst/gstpad.c: Big changes. No more stub base GstPad, now all
-	  pads are real pads. No ghost pads in this file. Not documenting
-	  the myriad s/RPAD/PAD/ and REALIZE fixes.
-	  (gst_pad_class_init): Add properties for "direction" and
-	  "template". Both are construct-only, so they can't change during
-	  the life of the pad. Fixes properly deriving from GstPad.
-	  (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
-	  derived objects, just set properties when creating the objects via
-	  g_object_new.
-	  (gst_pad_get_parent): Implement as a function, return NULL if the
-	  parent is not an element.
-	  (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
-	  (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
-	  * gst/gstobject.c (gst_object_class_init): Make name a construct
-	  property. Don't set it in the object init.
-	  * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
-	  with UNKNOWN direction.
-	  (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
-	  with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
-	  (gst_element_remove_pad): Remove ghost-pad special cases.
-	  (gst_element_pads_activate): Remove rpad cruft.
-	  * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
-	  catch the pad's-parent-not-an-element case.
-	  * gst/gst.h: Include gstghostpad.h.
-	  * gst/gst.c (init_post): No more real, ghost pads.
-	  * gst/Makefile.am: Add gstghostpad.[ch].
-	  * check/Makefile.am:
-	  * check/gst/gstbin.c:
-	  * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
-	  into a bin creates ghost pads, and that the refcounts are right.
-	  Partly moved from gstbin.c.
+	* gst/gst.c:
+	  gst_init: Removed wrong warning in docstring
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3562>
 
-2005-06-08 14:00:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-12-07 21:57:31 +0000  Hugo Svirak <hugosvirak@gmail.com>
 
-	  check/: ignore more
-	  Original commit message from CVS:
-	  * check/gst-libs/.cvsignore:
-	  * check/gst/.cvsignore:
-	  * check/pipelines/.cvsignore:
-	  ignore more
-	  * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
-	  (START_TEST), (cleanup_suite), (main):
-	  add some tests related to cleanup after running pipelines
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* gst/gstmemory.c:
+	* gst/gstmemory.h:
+	* gst/gstminiobject.c:
+	  docs: specify possibility of a NULL return
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3546>
 
-2005-06-08 13:57:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-12-10 11:33:38 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* ChangeLog:
-	* check/gst/gstbuffer.c:
-	* tests/check/gst/gstbuffer.c:
-	  add a GstBuffer unit test
-	  Original commit message from CVS:
-	  add a GstBuffer unit test
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: update for renamed log id macros
+	  See #1635.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3553>
 
-2005-06-08 13:45:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-12-10 11:32:25 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* ChangeLog:
-	  previous commit accidentally also added refcount defines for gstminiobject, logging that now
-	  Original commit message from CVS:
-	  previous commit accidentally also added refcount defines for gstminiobject, logging that now
+	* gst/gstinfo.h:
+	  info: rename new log macros from GST_*_OBJECT_ID -> GST_*_ID
+	  Fixes #1635
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3553>
 
-2005-06-08 13:42:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-12-10 03:54:23 +1100  Jan Schmidt <jan@centricular.com>
 
-	* check/Makefile.am:
-	* docs/faq/gst-uninstalled:
-	* gst/gstminiobject.h:
-	* tests/check/Makefile.am:
-	  add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in
-	  Original commit message from CVS:
-	  add a 'plugins' dir to the PLUGIN_PATH in the uninstalled script to drop random other plugin-having projects in
+	* gst/gstplugin.c:
+	  gstplugin: Handle static plugins in gst_plugin_load_by_name()
+	  gst_plugin_load_by_name() assumed a plugin has a filename,
+	  which isn't true for static plugins, leading to criticals.
+	  If a plugin is already loaded, just return the loaded plugin,
+	  which makes it work for static plugins as well as saving a
+	  moment for already-loaded dynamic plugins.
+	  Add locking in gst_plugin_is_loaded(), as a plugin may be
+	  still being loaded in another thread.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3552>
 
-2005-06-08 13:41:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-12-07 11:49:40 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* configure.ac:
-	  we did a prerelease
-	  Original commit message from CVS:
-	  we did a prerelease
+	* meson.build:
+	  meson: fix check for pthread_setname_np()
+	  Need to define _GNU_SOURCE.
+	  Fixes #1542
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3538>
 
-2005-06-08 13:41:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-11-29 15:12:51 +0100  Edward Hervey <edward@centricular.com>
 
-	* gst/gstobject.h:
-	  OBJECT acts on obj not caps
-	  Original commit message from CVS:
-	  OBJECT acts on obj not caps
+	* gst/gstinfo.c:
+	  gstinfo: Minor modification to avoid gst-indent pain
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>
 
-2005-06-08 13:41:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-11-29 10:03:14 +0100  Edward Hervey <edward@centricular.com>
 
-	* gst/gstelementfactory.c:
-	  add a debug line
-	  Original commit message from CVS:
-	  add a debug line
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Use new id-based debugging methods
+	  Clarifies the debug logs
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>
 
-2005-06-08 13:40:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-11-29 09:37:00 +0100  Edward Hervey <edward@centricular.com>
 
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	  white space fixes
-	  Original commit message from CVS:
-	  white space fixes
+	  gstinfo: Allow passing a string identifier for debugging
+	  This adds "id" variants to most debugging functions, and allows providing a
+	  string identifier instead of a GObject.
+	  This allows providing unified and clearer debug logs for all the
+	  non-gobject-based items, and opens the way for more unified logging.
+	  As an extension, copying the object name is avoided as much as possible, by
+	  using it directly instead of going through another copy.
+	  * API : gst_debug_message_get_object_id
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3483>
 
-2005-06-03 18:26:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+2022-12-05 02:29:08 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* ChangeLog:
-	* Makefile.am:
-	* common:
-	  added support for html unit test coverage reports
-	  Original commit message from CVS:
-	  added support for html unit test coverage reports
+	* meson.build:
+	  Back to development
+
+=== release 1.21.3 ===
+
+2022-12-05 01:28:21 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* NEWS:
+	* RELEASE:
+	* gstreamer.doap:
+	* meson.build:
+	  Release 1.21.3
 
-2005-06-02 15:45:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>
+2022-12-04 12:25:41 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	  gst/elements/gstcapsfilter.c: Free existing caps if the capsfilter changes. Add a FIXME about setting those caps on t...
-	  Original commit message from CVS:
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
-	  Free existing caps if the capsfilter changes. Add a FIXME about
-	  setting those caps on the pads.
-	  * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
-	  Before adding a ghost pad to a parent bin, check that there isn't
-	  already one for the element on the bin. Prevents infinite recursion
-	  when using decodebin in parse pipelines. Andy says he'll rewrite the
-	  way this works anyway, so ignore the hack.
+	* ChangeLog:
+	* docs/random/ChangeLog-0.8:
+	* docs/random/old/ChangeLog.gst-plugins:
+	* docs/random/old/ChangeLog.gstreamer:
+	  Remove ChangeLog files from git repository
+	  This information is tracked fully in the git repository, so
+	  no point having the ChangeLog duplicate it, and it interferes
+	  with grepping the repository.
+	  We are going to create the ChangeLogs on the fly when generating
+	  tarballs going forward (with a limited history), since it's still
+	  valuable for tarball consumers to be able to easily see a list of
+	  recent changes.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>
 
-2005-06-02 11:12:34 +0000  Andy Wingo <wingo@pobox.com>
+2022-11-07 00:10:39 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	  gst/elements/gsttypefindelement.c (do_pull_typefind): Query the file size, pass it on to the type find helper.
-	  Original commit message from CVS:
-	  2005-06-02  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
-	  file size, pass it on to the type find helper.
-	  * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
-	  segment_start and segment_end properly according to the seek
-	  method. Segment_end is still a bit flaky because offset can be
-	  negative for CUR and END cases, but it takes -1 as an "unset"
-	  value.
+	* meson.build:
+	* scripts/gen-changelog.py:
+	  meson: Generate ChangeLog files for release tarballs on dist
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>
 
-2005-06-02 09:42:02 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-30 16:16:53 +0100  Edward Hervey <edward@centricular.com>
 
-	  gst/: Bufferalloc: return GstFlowReturn to more accuratly report why allocation failed.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
-	  (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
-	  (gst_basesink_activate):
-	  * gst/base/gstbasesink.h:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
-	  (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
-	  (gst_pad_query), (gst_pad_start_task):
-	  * gst/gstpad.h:
-	  * gst/gstqueue.c: (gst_queue_bufferalloc),
-	  (gst_queue_handle_sink_event), (gst_queue_chain):
-	  Bufferalloc: return GstFlowReturn to more accuratly report
-	  why allocation failed.
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Handle gapless with flushing
+	  Don't reset the stream-start group-id when stop/pausing single queues. They are
+	  only resetted when re-used (in READY->PAUSED).
+	  Fixes #1586
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487>
 
-2005-06-02 09:39:21 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-12-01 08:16:45 +0100  Edward Hervey <edward@centricular.com>
 
-	  gst/gstpipeline.c: Take snapshot of state without blocking.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_send_event):
-	  Take snapshot of state without blocking.
+	* gst/gstinfo.c:
+	  gstinfo: Optimize color escape code creation
+	  When coloring is in use, those escape codes are going to be created many times
+	  for almost all debug lines.
+	  Don't create plenty of temporary allocations, and instead build the escape code
+	  ourselves statically
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3498>
 
-2005-06-02 08:26:58 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-30 09:59:09 +0100  Edward Hervey <edward@centricular.com>
 
-	  docs/design/: Small doc updates
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-caps.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-negotiation.txt:
-	  * docs/design/part-preroll.txt:
-	  Small doc updates
+	* tools/gst-inspect.c:
+	  gst-inspect: Don't leak list
+	  Just iterate the list instead of trying to be smart...
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3497>
 
-2005-05-30 16:28:41 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-24 18:02:27 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 
-	  gst/elements/gstidentity.c: Protect last_message property as it is accessed from multiple threads.
-	  Original commit message from CVS:
-	  * gst/elements/gstidentity.c: (gst_identity_event),
-	  (gst_identity_transform), (gst_identity_get_property):
-	  Protect last_message property as it is accessed from
-	  multiple threads.
+	* docs/plugins/gst_plugins_cache.json:
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  inputselector: Add drop-backwards property
+	  When sync-streams=true, drop backwards buffers on pad switch.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3256>
 
-2005-05-30 15:53:04 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-24 16:49:47 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 
-	  gst/gstelement.c: Slicker pad activation code.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_init),
-	  (gst_element_pads_activate), (gst_element_change_state):
-	  Slicker pad activation code.
+	* plugins/elements/gstinputselector.c:
+	* plugins/elements/gstinputselector.h:
+	  inputselector: Fix waiting on sync-mode=clock
+	  Basically copy over what clocksync does, but taking into account that we
+	  have multiple upstream latencies.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3256>
 
-2005-05-30 15:51:40 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-19 02:04:13 +1100  Jan Schmidt <jan@centricular.com>
 
-	  gst/: Move elementfactory methods to separate .h file.
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/gstelement.h:
-	  * gst/gstelementfactory.h:
-	  * gst/gsttypes.h:
-	  Move elementfactory methods to separate .h file.
+	* gst/gstevent.c:
+	  event: Add transfer none annotation to gst_event_new_stream_collection()
+	  Update the documentation
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387>
 
-2005-05-30 15:48:45 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-11 22:57:38 +1100  Jan Schmidt <jan@centricular.com>
 
-	  Small typo fixes, doc updates.
-	  Original commit message from CVS:
-	  * docs/design/part-overview.txt:
-	  * gst/gstsystemclock.h:
-	  Small typo fixes, doc updates.
+	* gst/gstevent.c:
+	* gst/gstevent.h:
+	* gst/gstpad.c:
+	* tests/check/gst/gstpad.c:
+	  pad: Fix sticky event ordering for instant-rate-change
+	  The event type for instant-rate-change events was poorly chosen,
+	  leading to them being re-sent too late and even after EOS.
+	  Add a mechanism in GstPad for the sticky event order to be
+	  different to the value of the event type to fix that up.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387>
 
-2005-05-30 15:46:15 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-18 16:57:16 +0100  Célestin Marot <c.marot@intopix.com>
 
-	  gst/gst.c: Remove cpu-opt flag.
-	  Original commit message from CVS:
-	  * gst/gst.c: (gst_init_get_popt_table), (init_post),
-	  (init_popt_callback):
-	  Remove cpu-opt flag.
+	* plugins/elements/gstfakesrc.c:
+	  fakesrc: avoid time overflow with datarate
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3433>
 
-2005-05-30 15:44:50 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-09-01 18:57:58 +0100  Colin Kinloch <colin.kinloch@collabora.com>
 
-	  gst/gstbuffer.*: Avoid typechecking in places where not needed.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_subbuffer_finalize),
-	  (gst_buffer_create_sub), (gst_buffer_is_span_fast):
-	  * gst/gstbuffer.h:
-	  Avoid typechecking in places where not needed.
-	  Added accessor for malloc_data.
+	* gst/gstvalue.c:
+	  gst: serialization of GLibDateTime
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2980>
 
-2005-05-30 15:41:54 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-18 14:24:30 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 
-	  gst/gstpad.c: Propagate errors from _set_caps() in configure_src/sink functions instead of returning TRUE.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
-	  (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
-	  (gst_pad_configure_sink), (gst_pad_configure_src),
-	  (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
-	  (gst_pad_start_task):
-	  Propagate errors from _set_caps() in configure_src/sink
-	  functions instead of returning TRUE.
-	  FLUSH events can travel up and downstream
+	* libs/gst/base/gstaggregator.c:
+	* libs/gst/base/gstaggregator.h:
+	* tests/check/libs/aggregator.c:
+	  aggregator: Implement force_live API
+	  Setting force_live lets aggregator behave as if it had at least one of
+	  its sinks connected to a live source, which should let us get rid of the
+	  fake live test source hack that is probably present in dozens of
+	  applications by now.
+	  + Expose API for subclasses to set and get force_live
+	  + Expose force-live properties in GstVideoAggregator and GstAudioAggregator
+	  + Adds a simple test
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3008>
 
-2005-05-30 15:36:09 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-09-28 03:08:39 +1000  Jan Schmidt <jan@centricular.com>
 
-	  gst/base/gstbasesink.c: Handle EOS in preroll.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
-	  (gst_basesink_activate):
-	  Handle EOS in preroll.
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstmultiqueue.h:
+	  multiqueue: Protect reconfiguration with a lock
+	  Add a lock to prevent overlapping of request and release
+	  pads, to close a race where multiqueue might try and
+	  add a slot with an id that hasn't quite finished being
+	  removed yet by another thread.
+	  Fix for https://gitlab.freedesktop.org/bilboed/gstreamer/-/issues/5
+	  and https://gitlab.freedesktop.org/bilboed/gstreamer/-/issues/11
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>
+
+2022-07-21 15:26:14 +0200  Edward Hervey <edward@centricular.com>
+
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Handle gapless input
+	  When dealing with gapless input (i.e. streams with changing group-id in
+	  GST_EVENT_STREAM_START), we need to take into account the elapsed
+	  running-time (if applicable) in order to properly calculate levels and output
+	  time. Without doing this all incoming data from future groups would be
+	  considered as being "late" and would be consumed immediately.
+	  This does **NOT** modify the actual segment and buffer times, and is only used
+	  internally.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>
 
-2005-05-30 15:34:13 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-27 14:30:30 +0200  Edward Hervey <edward@centricular.com>
 
-	  gst/gstqueue.c: Remove old pieces of code
-	  Original commit message from CVS:
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_loop), (gst_queue_handle_src_event):
-	  Remove old pieces of code
-	  Flushing the queue in an upstream event is a very bad idea.
+	* gst/gstpad.c:
+	  urisourcebin: Remove pending pad handling
+	  This was needed to support the legacy handling of changing streams (add new
+	  pads, send EOS and remove old pads).
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>
 
-2005-05-29 13:56:55 +0000  Benjamin Otte <otte@gnome.org>
+2022-11-15 19:14:14 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-	  file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY.
-	  Original commit message from CVS:
-	  file gstsimplescheduler.c was initially added on branch BRANCH-COMPANY.
+	* libs/gst/base/gsttypefindhelper.c:
+	  typefindhelper: Fix docs/annotations for the new functions
+	  Follow-up for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3418>
 
-2005-05-27 09:28:05 +0000  Andy Wingo <wingo@pobox.com>
+2022-11-09 16:57:15 -0300  Thibault Saunier <tsaunier@igalia.com>
 
-	* ChangeLog:
-	  remove conflict doobers
-	  Original commit message from CVS:
-	  remove conflict doobers
+	* tools/gst-inspect.c:
+	  inspect: Print default value of ValueArray properties
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3377>
 
-2005-05-27 09:27:35 +0000  Andy Wingo <wingo@pobox.com>
+2022-10-31 19:09:06 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 
-	  gst/gstminiobject.c (gst_value_mini_object_collect): Use gst_value_set_mini_object so as to add a ref on the object (...
-	  Original commit message from CVS:
-	  2005-05-26  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstminiobject.c (gst_value_mini_object_collect): Use
-	  gst_value_set_mini_object so as to add a ref on the object (which
-	  will be removed when the value is unset).
-	  * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
-	  arg type in ::handoff.
-	  * gst/gstelement.c (gst_element_change_state): Also deactivate
-	  pads in READY->NULL, just in case the element didn't make it to
-	  PAUSED. Wingo tested, Wim approved.
+	* libs/gst/base/gsttypefindhelper.c:
+	  typefindhelper: Use the new GstTypeFind * API
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>
 
-2005-05-26 10:50:12 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-31 18:33:19 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 
-	  gst/gstpad.c: A flushing pad cannot be used to alloc_buffer from.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
-	  (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
-	  (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
-	  A flushing pad cannot be used to alloc_buffer from.
+	* libs/gst/base/gsttypefindhelper.c:
+	* libs/gst/base/gsttypefindhelper.h:
+	  typefindhelper: Introduce a new API for working with a GstTypeFind *
+	  Introduce a new API that can return a GstTypeFind * with helper functions
+	  and data set around buffer data.
+	  While at it, drop factory field from GstTypeFindBufHelper. While it was
+	  useful for logging, it was not passed through function arguments and keeping
+	  it for logging would require an additional API increasing the API surface
+	  and making it harder to use.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>
 
-2005-05-26 10:48:53 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-11-15 14:45:56 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 
-	  gst/gstbus.*: Implement a real GSource and use g_main_context_wakeup() to signal new messages instead of the socketpair.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
-	  (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
-	  (gst_bus_source_dispatch), (gst_bus_source_finalize),
-	  (gst_bus_create_watch), (gst_bus_add_watch_full):
-	  * gst/gstbus.h:
-	  Implement a real GSource and use g_main_context_wakeup() to
-	  signal new messages instead of the socketpair.
+	* libs/gst/base/gsttypefindhelper.c:
+	* libs/gst/base/gsttypefindhelper.h:
+	  typefindhelper: Add helpers to improve type finding given the caps
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>
 
-2005-05-25 19:33:39 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-30 13:07:14 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 
-	  gst/: Fix state changes for non sinks. We now change sinks, then elements with unconnected srcpads, then the rest.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
-	  (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
-	  (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
-	  (gst_pad_send_event), (gst_pad_start_task):
-	  * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
-	  (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
-	  (gst_queue_sink_activate), (gst_queue_src_activate),
-	  (gst_queue_change_state):
-	  * gst/gstqueue.h:
-	  Fix state changes for non sinks. We now change sinks, then elements
-	  with unconnected srcpads, then the rest.
-	  More efficient queue unlocking in flush and state changes.
-	  Set the pad activate mode even if it does not have an activate
-	  function.
+	* libs/gst/base/gsttypefindhelper.c:
+	  typefindhelper: Update annotation for function parameters
+	  Fix the nullable/optional situation. allow-none is deprecated and
+	  replaced by either or both of the others.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>
 
-2005-05-25 16:09:34 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+2022-11-12 09:57:18 +0100  Edward Hervey <edward@centricular.com>
 
-	* ChangeLog:
-	* gst/elements/gsttypefindelement.h:
-	* plugins/elements/gsttypefindelement.h:
-	  happify buildbot
-	  Original commit message from CVS:
-	  happify buildbot
+	* gst/gststreams.c:
+	  streams: Reset stream id field on finalize
+	  If debugging is activated, the parent class finalize might attempt to read it
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>
+
+2022-11-09 09:28:37 +0100  Edward Hervey <edward@centricular.com>
 
-2005-05-25 15:57:57 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* gst/gstchildproxy.c:
+	  childproxy: Fix documentation
+	  Warning: Gst: gst_child_proxy_get_child_by_name_recurse: unknown parameter
+	  'parent' in documentation comment, should be 'child_proxy'
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3370>
 
-	  gst/base/gstbasesrc.c: Don't go in pull mode for non-seekable sources.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_activate):
-	  Don't go in pull mode for non-seekable sources.
-	  * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
-	  (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
-	  (free_entry), (stop_typefinding),
-	  (gst_type_find_element_handle_event), (find_peek),
-	  (gst_type_find_element_chain), (do_pull_typefind),
-	  (gst_type_find_element_change_state):
-	  Allow typefinding (w/o seeking) in push-mode, simplified version
-	  of what was in 0.8.
-	  * gst/gstutils.c: (gst_buffer_join):
-	  * gst/gstutils.h:
-	  gst_buffer_join() from 0.8.
+2022-11-08 17:45:37 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-25 13:59:18 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstallocator.c:
+	  allocator: Switch `allow-none` annotations to `nullable` / `optional`
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3364>
 
-	  gst/gstpad.c: Disable attempt at mode switching until it is figured out.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
-	  (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
-	  (gst_pad_send_event), (gst_pad_start_task):
-	  Disable attempt at mode switching until it is figured out.
+2022-11-08 17:44:54 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-25 11:50:11 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstallocator.c:
+	  allocator: Copy allocator name in gst_allocator_register()
+	  The parameter is not marked as `transfer full` and stays around in the
+	  hash table, so we will have to copy it ourselves.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3364>
 
-	  gst/: Implement gst_pad_pause/start/stop_task(), take STREAM lock in task function.
-	  Original commit message from CVS:
-	  * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
-	  (gst_basesink_finish_preroll), (gst_basesink_chain),
-	  (gst_basesink_loop), (gst_basesink_activate),
-	  (gst_basesink_change_state):
-	  * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
-	  (gst_basesrc_get_range), (gst_basesrc_loop),
-	  (gst_basesrc_activate):
-	  * gst/elements/gsttee.c: (gst_tee_sink_activate):
-	  * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
-	  (gst_real_pad_init), (gst_real_pad_set_property),
-	  (gst_real_pad_get_property), (gst_pad_set_active),
-	  (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
-	  (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
-	  (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
-	  (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
-	  (gst_pad_event_default_dispatch), (gst_pad_event_default),
-	  (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
-	  (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
-	  (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
-	  (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
-	  (gst_pad_stop_task):
-	  * gst/gstpad.h:
-	  * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
-	  (gst_queue_loop), (gst_queue_src_activate):
-	  * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
-	  (gst_task_get_state):
-	  * gst/gsttask.h:
-	  * gst/schedulers/threadscheduler.c:
-	  (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
-	  Implement gst_pad_pause/start/stop_task(), take STREAM lock
-	  in task function.
-	  Remove ACTIVE pad flag, use FLUSHING everywhere
-	  Added _pad_chain(), _pad_get_range() to call chain/getrange
-	  functions.
-	  Add locks around IS_FLUSHING when reading.
-	  Take STREAM lock in chain(), get_range() functions so plugins
-	  don't need to take it anymore.
+2022-11-08 08:56:47 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-2005-05-25 11:26:14 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* plugins/tracers/gstlatency.c:
+	  tracers: latency: document the 'reported' flag
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3359>
 
-	  tools/gst-launch.c: Unref message after using its contents instead of before.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Unref message after using its contents instead of
-	  before.
+2022-11-08 02:08:08 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-2005-05-24 16:47:06 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* meson.build:
+	  Back to development
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358>
 
-	  docs/design/: Docs updates.
-	  Original commit message from CVS:
-	  * docs/design/draft-ghostpads.txt:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/draft-query.txt:
-	  * docs/design/part-overview.txt:
-	  Docs updates.
-	  Added general overview doc.
-	  Added draft ghostpad replacement idea.
+=== release 1.21.2 ===
 
-2005-05-22 04:26:41 +0000  David Schleef <ds@schleef.org>
+2022-11-07 23:53:59 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	  docs/gst/tmpl/old/: I didn't intend to add these or check them in.
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/old/GstBin.sgml:
-	  * docs/gst/tmpl/old/GstBuffer.sgml:
-	  * docs/gst/tmpl/old/GstCaps.sgml:
-	  * docs/gst/tmpl/old/GstClock.sgml:
-	  * docs/gst/tmpl/old/GstCompat.sgml:
-	  * docs/gst/tmpl/old/GstData.sgml:
-	  * docs/gst/tmpl/old/GstElement.sgml:
-	  * docs/gst/tmpl/old/GstEvent.sgml:
-	  * docs/gst/tmpl/old/GstIndex.sgml:
-	  * docs/gst/tmpl/old/GstStructure.sgml:
-	  * docs/gst/tmpl/old/GstTag.sgml:
-	  * docs/gst/tmpl/old/cothreads.sgml:
-	  * docs/gst/tmpl/old/cothreads_compat.sgml:
-	  * docs/gst/tmpl/old/gettext.sgml:
-	  * docs/gst/tmpl/old/gobject2gtk.sgml:
-	  * docs/gst/tmpl/old/grammar.tab.sgml:
-	  * docs/gst/tmpl/old/gst-i18n-app.sgml:
-	  * docs/gst/tmpl/old/gst-i18n-lib.sgml:
-	  * docs/gst/tmpl/old/gst_private.sgml:
-	  * docs/gst/tmpl/old/gstaggregator.sgml:
-	  * docs/gst/tmpl/old/gstarch.sgml:
-	  * docs/gst/tmpl/old/gstatomic_impl.sgml:
-	  * docs/gst/tmpl/old/gstbufferstore.sgml:
-	  * docs/gst/tmpl/old/gstdata_private.sgml:
-	  * docs/gst/tmpl/old/gstdisksink.sgml:
-	  * docs/gst/tmpl/old/gstdisksrc.sgml:
-	  * docs/gst/tmpl/old/gstelementfactory.sgml:
-	  * docs/gst/tmpl/old/gstextratypes.sgml:
-	  * docs/gst/tmpl/old/gstfakesink.sgml:
-	  * docs/gst/tmpl/old/gstfakesrc.sgml:
-	  * docs/gst/tmpl/old/gstfdsink.sgml:
-	  * docs/gst/tmpl/old/gstfdsrc.sgml:
-	  * docs/gst/tmpl/old/gstfilesink.sgml:
-	  * docs/gst/tmpl/old/gstfilesrc.sgml:
-	  * docs/gst/tmpl/old/gsthttpsrc.sgml:
-	  * docs/gst/tmpl/old/gstidentity.sgml:
-	  * docs/gst/tmpl/old/gstindexfactory.sgml:
-	  * docs/gst/tmpl/old/gstmarshal.sgml:
-	  * docs/gst/tmpl/old/gstmd5sink.sgml:
-	  * docs/gst/tmpl/old/gstmultidisksrc.sgml:
-	  * docs/gst/tmpl/old/gstmultifilesrc.sgml:
-	  * docs/gst/tmpl/old/gstpadtemplate.sgml:
-	  * docs/gst/tmpl/old/gstpipefilter.sgml:
-	  * docs/gst/tmpl/old/gstschedulerfactory.sgml:
-	  * docs/gst/tmpl/old/gstsearchfuncs.sgml:
-	  * docs/gst/tmpl/old/gstshaper.sgml:
-	  * docs/gst/tmpl/old/gstspider.sgml:
-	  * docs/gst/tmpl/old/gstspideridentity.sgml:
-	  * docs/gst/tmpl/old/gststatistics.sgml:
-	  * docs/gst/tmpl/old/gsttee.sgml:
-	  * docs/gst/tmpl/old/gsttimecache.sgml:
-	  * docs/gst/tmpl/old/gsttypefindfactory.sgml:
-	  * docs/gst/tmpl/old/gstxmlregistry.sgml:
-	  * docs/gst/tmpl/old/gthread-cothreads.sgml:
-	  * docs/gst/tmpl/old/types.sgml:
-	  I didn't intend to add these or check them in.
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* gstreamer.doap:
+	* meson.build:
+	  Release 1.21.2
 
-2005-05-20 12:47:05 +0000  Christian Schaller <uraeus@gnome.org>
+2022-11-07 23:53:57 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-	* gstreamer.spec.in:
-	  update spec file
-	  Original commit message from CVS:
-	  update spec file
+	* ChangeLog:
+	  Update ChangeLogs for 1.21.2
 
-2005-05-19 19:54:01 +0000  David Schleef <ds@schleef.org>
+2022-11-07 09:27:09 -0500  Xavier Claessens <xavier.claessens@collabora.com>
 
-	  configure.ac: Use -no-common everywhere.  In a sane world, it would be the default in libtool, because without it, yo...
-	  Original commit message from CVS:
-	  * configure.ac: Use -no-common everywhere.  In a sane world, it
-	  would be the default in libtool, because without it, you can't
-	  build DLLs on Windows.
-	  * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstcpu.sgml:
-	  * docs/gst/tmpl/gstdata.sgml:
-	  * docs/gst/tmpl/gstthread.sgml:
+	* docs/meson.build:
+	  hotdoc: gst-hotdoc-plugins-scanner is not needed for libraries
+	  Meson >= 0.64.0 does not allow any more to add executables into
+	  hotdoc.generate_doc(..., dependencies: ...) and it should not be needed
+	  any way.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3352>
 
-2005-05-19 19:41:12 +0000  David Schleef <ds@schleef.org>
+2020-09-01 16:01:08 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 
-	  gst/gstminiobject.*: Add GValue set/get functions.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: (gst_value_set_mini_object),
-	  (gst_value_take_mini_object), (gst_value_get_mini_object):
-	  * gst/gstminiobject.h: Add GValue set/get functions.
+	* tests/check/gst/gstinfo.c:
+	  tests: gstinfo: Test set_threshold_from_string's new reset behavior
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
 
-2005-05-19 16:26:50 +0000  Wim Taymans <wim.taymans@gmail.com>
+2020-08-22 23:42:40 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 
-	  gst/: Make subbufer unref the parent in finalize. some more debugging info.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
-	  (gst_subbuffer_class_init), (gst_subbuffer_finalize),
-	  (gst_subbuffer_init), (gst_buffer_is_span_fast):
-	  * gst/gstbuffer.h:
-	  * gst/gstbus.c: (gst_bus_post):
-	  * gst/gstelement.c: (gst_element_get_random_pad):
-	  * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
-	  Make subbufer unref the parent in finalize.
-	  some more debugging info.
+	* tests/check/gst/gstinfo.c:
+	  tests: gstinfo: Make logging tests pass when GST_DEBUG is set
+	  Use gst_debug_set_threshold_from_string's new reset behavior to undo
+	  GST_DEBUG and ensure the logging tests have a known configuration.
+	  `gst_debug_set_threshold_from_string ("LOG", TRUE)` has the same effect
+	  as `gst_debug_set_threshold_from_string ("", TRUE)` followed by
+	  `gst_debug_set_default_threshold (GST_LEVEL_LOG)`.
+	  Don't bother remembering the default log level set when the test
+	  started. It will get reset by the next test, anyway.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
+
+2020-08-22 22:41:15 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
+
+	* gst/gstinfo.c:
+	  info: Reset patterns with set_threshold_from_string
+	  TLDR: Make `gst_set_threshold_from_string ("", TRUE)` reset *all*
+	  threshold settings, including those set by previous invocations of
+	  `gst_debug_set_threshold_from_string`.
+	  The docs say:
+	  @reset: %TRUE to clear all previously-set debug levels before setting
+	  new thresholds
+	  What actually happens is it sets the default threshold to `ERROR`,
+	  leaves the patterns in place and calls
+	  `gst_debug_category_reset_threshold` on each category.
+	  In effect, any category that is matched by a pattern gets reset to that
+	  threshold if the app changed it by directly invoking
+	  `gst_debug_category_set_threshold`. All other categories are reset to
+	  `ERROR`.
+	  In my opinion this parameter currently has little value, as the same
+	  effect can be achieved by including `ERROR` (without a pattern) in the
+	  string, as in `"foo*:WARNING,*bar:INFO,ERROR"`.
+	  What I actually expect it to do is reset *all* threshold settings,
+	  including those set by previous invocations of
+	  `gst_debug_set_threshold_from_string`, starting off with a clean slate
+	  for the patterns provided with the call.
+	  Otherwise there is no API to do this, besides:
+	  - Painfully removing patterns one-by-one via
+	  `gst_debug_unset_threshold_for_name` *if* you know what the patterns
+	  are.
+	  - Adding a `*:FOO` pattern to affect all categories, which makes the
+	  default threshold useless and practically leaks all the old
+	  patterns.
+	  In my opinion this also makes it fit better into the layers of threshold
+	  config, which is:
+	  1. Temporary:
+	  - `gst_debug_category_set_threshold`
+	  - `gst_debug_category_reset_threshold`
+	  2. Patterns:
+	  - `gst_debug_set_threshold_for_name`
+	  - `gst_debug_unset_threshold_for_name`
+	  - `gst_debug_set_threshold_from_string`
+	  - `GST_DEBUG`
+	  3. Default:
+	  - `gst_debug_set_default_threshold`
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/605>
+
+2022-09-21 10:05:05 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/gstpad.c:
+	  gstpad: Avoid race in (un)setting EOS flag on sinkpads
+	  The scenario is the following:
+	  * Thread 1 is pushing an EOS event on a sinkpad
+	  * Thread 2 is pushing a STREAM_START event on the same sinkpad before Thread 1
+	  returns. Note : It starts pushing the event after Thread 1 took the object lock.
+	  There is a potential race between:
+	  * The moment Thread 1 sets the EOS flag once it has finished sending the
+	  event (via store_sticky_event). When it does that it has both the STREAM and
+	  OBJECT lock
+	  * The moment Thread 2 sends the STREAM_START event (Which should release that
+	  EOS status), but removing the EOS flag is only done while holding the OBJECT
+	  lock and not the STREAM_LOCK, which means it could be re-set by Thread 1 before
+	  it then checks again the EOS flag (without the STREAM lock taken).
+	  The EOS flag unsetting by STREAM_START should be done with the STREAM lock
+	  taken, otherwise it will be racy.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1452
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3320>
+
+2022-11-06 18:10:44 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* tools/gst-inspect.c:
+	  gst-inspect: print doc urls for Rust plugins
+	  We have documentation for them now after all.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3346>
+
+2022-11-05 00:06:25 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* plugins/elements/gstidentity.c:
+	  identity: fix "handoff" signal docs
+	  The docs list an extra pad argument, which doesn't
+	  match the actual signal function signature. Probably
+	  a copy'n'paste mistake when copying things from fakesink.
+	  Fixes #1546
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3337>
+
+2022-10-24 12:13:14 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/gstpad.c:
+	  gstpad: Fix non-serialized sticky event push
+	  With non-serialized sticky events, such as GST_EVENT_INSTANT_RATE, we both want
+	  to store the event (for later re-linking) *AND* push the event in a non-blocking
+	  way.
+	  We therefore must *not* propagate pending sticky events if the event is "sticky
+	  or serialized" but only if it's "serialized"
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3254>
 
-2005-05-19 16:23:04 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-17 22:34:35 -0600  Michael Gruner <michael.gruner@ridgerun.com>
 
-	  gst/base/gstbasesink.c: Don't free preroll queue too early.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_class_init),
-	  (gst_basesink_init), (gst_basesink_finalize),
-	  (gst_basesink_activate), (gst_basesink_change_state):
-	  Don't free preroll queue too early.
+	* gst/parse/grammar.y.in:
+	  parse: do delayed set only if the target child was not found and fail otherwise
+	  When using the child proxy notation (child::property=value) it may
+	  happen that the target child does not exist at the time of parsing
+	  (i.e: decodebin creates the encoder according to the contents of the
+	  stream). On this cases, we want to delay the setting of the property
+	  to later, when new elements are added. Previous logic performed a
+	  delayed set even if the target child was found but the property
+	  was not found in it. This should be treated as a failure because,
+	  unlike missing elements, properties should not appear dynamically.
+	  By not failing, typos in property names may go unnoticed to the end
+	  user.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908>
+
+2022-10-18 18:15:12 +0200  Michael Gruner <michael.gruner@ridgerun.com>
 
-2005-05-19 14:52:16 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* gst/gstchildproxy.c:
+	* gst/gstchildproxy.h:
+	  childproxy: Implement a new ::get_child_by_name_recurse() API
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2908>
 
-	  gst/: Hi, I'm outdated. Please shoot me.
-	  Original commit message from CVS:
-	  * gst/Makefile.am:
-	  * gst/ROADMAP:
-	  Hi, I'm outdated. Please shoot me.
+2022-10-27 15:13:36 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-19 12:07:35 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* libs/gst/base/gstaggregator.c:
+	* libs/gst/base/gstbaseparse.c:
+	  core/base: Only post latency messages if the latency values have actually changed
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3282>
 
-	  gst/gstpipeline.c: Do not access variables after they have been deleted.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_send_event):
-	  Do not access variables after they have been deleted.
+2022-10-27 11:18:24 +0200  Edward Hervey <edward@centricular.com>
 
-2005-05-19 08:41:42 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* plugins/elements/gstconcat.c:
+	  concat: Properly propagate EOS seqnum
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3284>
 
-	  tools/gst-inspect.c: A plugin feature does unfortunatly not use the object name yet...
-	  Original commit message from CVS:
-	  * tools/gst-inspect.c: (print_plugin_features):
-	  A plugin feature does unfortunatly not use the
-	  object name yet...
+2022-10-25 09:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-18 17:35:23 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gsturi.c:
+	* libs/gst/net/gstnettimepacket.c:
+	* libs/gst/net/gstntppacket.c:
+	  Fix various warnings from gobject-introspection
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261>
 
-	  gst/gstbuffer.c: Port _span() functions to new subbuffers.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
-	  Port _span() functions to new subbuffers.
+2022-10-22 01:43:22 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-18 13:49:08 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* tools/gst-inspect.c:
+	  gst-inspect: Hide GST_PARAM_DOC_SHOW_DEFAULT flag
+	  It's known flag but only for documentation purpose. Don't show
+	  its (and user cannot understand) value 0x2000
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3241>
 
-	  gst/gstbin.c: Fix clock settery in bins when adding kids after the clock has been selected.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func):
-	  Fix clock settery in bins when adding kids after the clock has
-	  been selected.
+2022-10-22 18:34:14 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-18 13:23:24 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* libs/gst/net/gstnetclientclock.c:
+	  net: Add missing nullable annotation on the name parameter in the net/NTP clock constructors
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3249>
 
-	  gst/elements/gstidentity.c: Workaround until signals support GstMiniObject.
-	  Original commit message from CVS:
-	  * gst/elements/gstidentity.c: (gst_identity_class_init):
-	  Workaround until signals support GstMiniObject.
+2022-10-22 22:04:57 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-18 11:34:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>
+	* gst/gstpadtemplate.c:
+	  padtemplate: Fix annotations
+	  gst_caps_replace() does not take ownership of the new caps
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3248>
 
-	  gst/gstbuffer.c: Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
-	  Original commit message from CVS:
-	  * gst/gstbuffer.c:
-	  Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
+2022-10-22 05:29:59 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-18 09:55:43 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* tools/gst-inspect.c:
+	  gst-inspect: Don't print link to doc if it's known to be unavailable
+	  "gst_element_factory_get_skip_documentation() == true" means
+	  documentation was intentionally skipped for the element feature
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3243>
 
-	  gst/base/: Ported and added adapter to the base classes.
-	  Original commit message from CVS:
-	  * gst/base/Makefile.am:
-	  * gst/base/gstadapter.c: (gst_adapter_base_init),
-	  (gst_adapter_class_init), (gst_adapter_init),
-	  (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
-	  (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
-	  (gst_adapter_flush), (gst_adapter_available),
-	  (gst_adapter_available_fast):
-	  * gst/base/gstadapter.h:
-	  Ported and added adapter to the base classes.
+2022-10-21 11:47:11 +0200  François Laignel <fengalin@free.fr>
 
-2005-05-17 17:50:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstquery.c:
+	  gst: uri query: fix inconsistent `uri` nullability  assertion
+	  Functions `gst_query_set_uri` and `gst_query_set_uri_redirection`
+	  can both set a `NULL` `uri`, as annotated in the documentation.
+	  However the functions bodies reject `NULL` `uri`s.
+	  See [1] for a discussion on that matter.
+	  [1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1134#note_1600988
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3237>
 
-	  gst/: Make sure the class is reffed/unreffed once before threads can be used.  Fixes #304551.
-	  Original commit message from CVS:
-	  * gst/gst.c:
-	  * gst/gstmessage.c:
-	  Make sure the class is reffed/unreffed once before threads can be
-	  used.  Fixes #304551.
+2022-10-21 11:11:13 +0200  Thibault Saunier <tsaunier@igalia.com>
 
-2005-05-17 17:37:43 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* docs/gst-hotdoc-plugins-scanner.c:
+	  docs: plugins-scanner: Handle interface used for plugin API properties
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3236>
 
-	  gst/: Don't queue buffers in basesink when we are flushing.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
-	  (gst_basesink_chain_unlocked), (gst_basesink_activate):
-	  * gst/gstminiobject.c: (gst_mini_object_get_type),
-	  (gst_mini_object_free):
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
-	  (gst_pad_push), (gst_pad_push_event):
-	  * gst/gstqueue.c: (gst_queue_change_state):
-	  Don't queue buffers in basesink when we are flushing.
-	  Unref buffer when flushing in basesink.
-	  Flush queue when going to READY
-	  Unref buffer when _push() returns an error.
-	  Don't free MiniObject instance when refcount is incremented
-	  in _finalize() so that we can recover objects.
+2022-10-18 03:08:44 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-17 17:22:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* docs/gst-hotdoc-plugins-scanner.c:
+	  docs: plugin-scanner: Stop updating "long-name" metadata
+	  The "long-name" value can be environment dependent, and it's not
+	  actually used by our documentation.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3208>
 
-	* ChangeLog:
-	* common:
-	* docs/manual/advanced-schedulers.xml:
-	* docs/manual/appendix-checklist.xml:
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-interfaces.xml:
-	* docs/pwg/advanced-request.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/intro-preface.xml:
-	* examples/plugins/example.c:
-	* examples/plugins/example.h:
-	* tests/old/examples/plugins/example.c:
-	* tests/old/examples/plugins/example.h:
-	  small doc fixes
-	  Original commit message from CVS:
-	  small doc fixes
+2022-10-19 22:30:38 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-17 14:11:32 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/parse/grammar.y.in:
+	  parse: Adjust debug log level
+	  That's not an error case at all
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3228>
 
-	  gst/: Clear queue when going to READY.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
-	  (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
-	  * gst/gstqueue.c: (gst_queue_change_state):
-	  Clear queue when going to READY.
-	  Remove IN_SETCAPS flag too.
+2022-10-19 13:34:28 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-17 14:01:51 +0000  Tim-Philipp Müller <tim@centricular.net>
+	* gst/gstdeviceproviderfactory.c:
+	* gst/gstelementfactory.c:
+	  {element,deviceprovider}factory: g_object_new() can't ever return NULL
+	  So treat it as the assertion it is.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
 
-	  gst/base/gstbasesrc.c: Remove implicit cast from gboolean to GstElementStateReturn; make sure we still return failure...
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
-	  Remove implicit cast from gboolean to GstElementStateReturn;
-	  make sure we still return failure in paused => ready case if
-	  the parent class fails to change state and our own stop
-	  vfunc succeeds.
+2022-10-19 13:33:39 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-17 10:41:51 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstelementfactory.c:
+	  elementfactory: Handle element factory loading failure in gst_element_factory_create_valist() not as assertion
+	  In gst_element_factory_create_with_properties() it is a normal error
+	  path so let's keep this consistent.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
 
-	  tools/gst-launch.c: Message was unreffed too soon.
-	  Original commit message from CVS:
-	  * tools/gst-launch.c: (event_loop):
-	  Message was unreffed too soon.
+2022-10-19 13:28:06 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-16 21:17:14 +0000  Andy Wingo <wingo@pobox.com>
+	* gst/gstdeviceproviderfactory.c:
+	* gst/gstelementfactory.c:
+	* gst/gstmeta.c:
+	* gst/gstregistry.c:
+	* gst/gsttaglist.c:
+	* gst/gstvalue.c:
+	  gst: Use G_TYPE_INVALID instead of 0 for GTypes
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3226>
 
-	  gst/gstbin.c (sink_iterator_filter): Err... um...
-	  Original commit message from CVS:
-	  2005-05-16  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbin.c (sink_iterator_filter): Err... um...
-	  * check/gst/gstbin.c (test_ghost_pads): New test for the
-	  ghosting-if-elements-not-in-same-bin behavior.
+2022-09-15 00:06:49 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 
-2005-05-16 21:05:21 +0000  David Schleef <ds@schleef.org>
+	* tests/check/pipelines/parse-launch.c:
+	  tests: parse-launch: remove assignment order tests
+	  These tests relied on setting the name of an element twice to verify
+	  that the last one set took precedence, however name is a CONSTRUCT property
+	  and the parser now errors out when such properties are set twice, in
+	  g_object_new_with_properties .
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3026>
 
-	  gst/gstminiobject.c: Use g_atomic_int_get() instead of accessing refcount directly.
-	  Original commit message from CVS:
-	  * gst/gstminiobject.c: Use g_atomic_int_get() instead of
-	  accessing refcount directly.
+2022-09-13 23:16:08 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 
-2005-05-16 20:21:55 +0000  David Schleef <ds@schleef.org>
+	* gst/parse/grammar.y.in:
+	* gst/parse/types.h:
+	* tests/check/pipelines/parse-launch.c:
+	  parse: refactor to make use of gst_element_factory_make_with_properties
+	  Instead of creating the element first, then setting properties and
+	  presets, we gather those and construct the element with the properties.
+	  This means users of gst_parse_launch can now set construct-only
+	  properties.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1380
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3026>
 
-	  check/Makefile.am: 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:
+2022-10-18 16:41:36 +0200  Bunio_FH <buniofh@gmail.com>
 
-2005-05-15 23:18:40 +0000  David Schleef <ds@schleef.org>
+	* gst/gstminiobject.c:
+	  gstminiobject: shares capacity increase
+	  during the MSE (WebKit) tests from Apple suite:
+	  https://hls-streaming.cdn-apple.com/hls_conformance/dist/v1.1/index.html?pretty=true&whitelist=MSE%20Suite
+	  webkit attempts to add a single audio buffer containing ~35.5k frames.
+	  when corresponding GstSamples are pulled buffer is being referenced
+	  more than object capacity allows: 2^15-1. since the case could be considered
+	  malformed a surgical patch is applied to increase the capacity.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3221>
 
-	  gst/elements/gstelements.c: Don't include headers that were just removed.
-	  Original commit message from CVS:
-	  * gst/elements/gstelements.c: Don't include headers that were
-	  just removed.
+2022-10-15 12:31:17 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-15 23:16:29 +0000  David Schleef <ds@schleef.org>
+	* gst/gstatomicqueue.c:
+	* gst/gstbuffer.c:
+	* gst/gstbufferpool.c:
+	* gst/gstbufferpool.h:
+	* gst/gstelement.c:
+	* gst/gstevent.c:
+	* gst/gstinfo.c:
+	* gst/gstmessage.c:
+	* gst/gstobject.c:
+	* gst/gstparse.c:
+	* gst/gstpipeline.c:
+	* gst/gstquery.c:
+	* gst/gststructure.c:
+	* gst/gsttaglist.c:
+	* gst/gsttoc.c:
+	* gst/gsturi.c:
+	* gst/gstutils.c:
+	  core: Add/fix various annotations
+	  And fix memory leaks/null pointer dereferences in GstUri in error cases.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
 
-	  gst/elements/Makefile.am: Remove some elements that don't need to be in the core (or even exist at all).
-	  Original commit message from CVS:
-	  * gst/elements/Makefile.am: Remove some elements that don't
-	  need to be in the core (or even exist at all).
-	  * gst/elements/gstaggregator.c:
-	  * gst/elements/gstaggregator.h:
-	  * gst/elements/gstmd5sink.c:
-	  * gst/elements/gstmd5sink.h:
-	  * gst/elements/gstmultifilesrc.c:
-	  * gst/elements/gstmultifilesrc.h:
-	  * gst/elements/gstpipefilter.c:
-	  * gst/elements/gstpipefilter.h:
-	  * gst/elements/gstshaper.c:
-	  * gst/elements/gstshaper.h:
-	  * gst/elements/gststatistics.c:
-	  * gst/elements/gststatistics.h:
-	  * po/POTFILES.in: Remove above files.
+2022-10-15 12:24:46 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-14 18:01:12 +0000  Andy Wingo <wingo@pobox.com>
+	* libs/gst/check/gstharness.c:
+	  check: Add/fix various annotations
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
 
-	  gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter so as to get the refs right.
-	  Original commit message from CVS:
-	  2005-05-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
-	  so as to get the refs right.
-	  (sink_iterator_filter): New function, wraps bin_element_is_sink,
-	  unreffing objects that don't pass the filter.
+2022-10-15 12:20:08 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-14 17:12:11 +0000  Andy Wingo <wingo@pobox.com>
+	* libs/gst/net/gstnetaddressmeta.c:
+	* libs/gst/net/gstnettimepacket.c:
+	* libs/gst/net/gstnettimeprovider.c:
+	* libs/gst/net/gstntppacket.c:
+	  net: Add/fix various annotations
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
 
-	  gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after gst_element_set_bus.
-	  Original commit message from CVS:
-	  2005-05-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
-	  gst_element_set_bus.
-	  (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
-	  normal cases, this will destroy the bus.
-	  * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
-	  object.
+2022-10-15 12:18:28 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-14 15:54:49 +0000  Andy Wingo <wingo@pobox.com>
+	* libs/gst/base/gstqueuearray.c:
+	  base: Add/fix annotations in GstQueueArray
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
 
-	  gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin has no sinks.
-	  Original commit message from CVS:
-	  2005-05-14  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
-	  has no sinks.
+2022-10-14 23:48:09 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-14 15:32:36 +0000  Andy Wingo <wingo@pobox.com>
+	* libs/gst/controller/gsttimedvaluecontrolsource.c:
+	  controller: Add/fix various annotations
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194>
 
-	  gst/gstutils.c (gst_element_link_pads): Instead of calling gst_pad_link, call pad_link_maybe_ghosting,
-	  Original commit message from CVS:
-	  2005-05-13  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstutils.c (gst_element_link_pads): Instead of calling
-	  gst_pad_link, call pad_link_maybe_ghosting,
-	  (pad_link_maybe_ghosting): Links pads, making sure that the
-	  elements being linked are in the same bin.
-	  (find_common_root, object_has_ancestor, ghost_up, remove_pad):
-	  Helpers for pad_link_maybe_ghosting.
+2022-10-07 14:39:47 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-2005-05-13 12:53:47 +0000  Tim-Philipp Müller <tim@centricular.net>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: fix input buffering
+	  We need to be able to buffer at least the aggregator latency +
+	  upstream latency, which is the value used to compute the aggregator
+	  deadline.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3138>
 
-	* ChangeLog:
-	* configure.ac:
-	  Require GLib >= 2.4.0 (for the g_atomic_* funcs)
-	  Original commit message from CVS:
-	  Require GLib >= 2.4.0 (for the g_atomic_* funcs)
+2022-10-01 04:58:04 +1000  Jan Schmidt <jan@centricular.com>
 
-2005-05-13 10:18:41 +0000  Christian Schaller <uraeus@gnome.org>
+	* gst/gstbin.c:
+	  gstbin: Use g_queue_clear_full()
+	  Use g_queue_clear_full() to release the child list
+	  instead of iterating over the list twice.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
 
-	* gstreamer.spec.in:
-	  add missing .h file to spec file
-	  Original commit message from CVS:
-	  add missing .h file to spec file
+2022-10-01 04:55:49 +1000  Jan Schmidt <jan@centricular.com>
 
-2005-05-13 09:27:24 +0000  Tim-Philipp Müller <tim@centricular.net>
+	* gst/gstbin.c:
+	  gstbin: Fix a potential leak in gst_bin_do_deep_add_remove()
+	  If a child element of a bin is unparented while
+	  gst_bin_do_deep_add_remove() is iterating the children,
+	  don't leak a ref to it.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
 
-	* ChangeLog:
-	* docs/design/part-element-source.txt:
-	  Mention GstPushSrc
-	  Original commit message from CVS:
-	  Mention GstPushSrc
+2022-10-01 04:54:20 +1000  Jan Schmidt <jan@centricular.com>
 
-2005-05-12 19:45:44 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstiterator.c:
+	  gstiterator: Don't use gst_object_unref() for a GObject
+	  The owner of a GstIterator is a plain GObject. Don't unref it
+	  with gst_object_unref(), or it will be logged in tracer
+	  info incorrectly.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3101>
 
-	  gst/: Identify sinks by their flag to avoid overly complicated checks (fow now).
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_init),
-	  (gst_basesink_activate):
-	  * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
-	  (gst_basesrc_is_seekable):
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	  (bin_element_is_sink), (gst_bin_change_state):
-	  * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
-	  * gst/gstelement.h:
-	  Identify sinks by their flag to avoid overly complicated
-	  checks (fow now).
-	  Do state changes even for elements not reachable from the
-	  sinks.
-	  BaseSink is a sink now :)
-	  Some more debugging info in the basesrc.
+2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-05-12 15:09:17 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* meson.build:
+	  Back to development
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
 
-	  gst/gstbin.c: Implement _query on a bin, similar to _send_event.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
-	  Implement _query on a bin, similar to _send_event.
+=== release 1.21.1 ===
 
-2005-05-12 13:59:58 +0000  Tim-Philipp Müller <tim@centricular.net>
+2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-	  gst/base/gstbasesrc.c: Discont event offset format should be GST_FORMAT_BYTES, not GST_FORMAT_TIME.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
-	  Discont event offset format should be GST_FORMAT_BYTES,
-	  not GST_FORMAT_TIME.
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* gstreamer.doap:
+	* meson.build:
+	  Release 1.21.1
 
-2005-05-12 13:18:14 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-	  gst/gstbin.c: Same fix as Ronald's but without the signal.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
-	  Same fix as Ronald's but without the signal.
+	* ChangeLog:
+	  Update ChangeLogs for 1.21.1
 
-2005-05-12 12:27:07 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+2022-10-03 11:16:25 +0200  Edward Hervey <edward@centricular.com>
 
-	  gst/gstutils.c: No, an element is not a pad.
-	  Original commit message from CVS:
-	  * gst/gstutils.c: (gst_element_query_position):
-	  No, an element is not a pad.
+	* plugins/elements/gstqueue2.c:
+	  queue2: Hold the lock when modifying sinkresult
+	  As it's done elsewhere. Avoids a potential race of the field being modified in
+	  the meantime.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3110>
 
-2005-05-12 12:17:23 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+2018-03-28 17:54:15 +0200  Philipp Zabel <p.zabel@pengutronix.de>
 
-	  gst/gstbin.c: If a child is removed from a bin while we remove the child from the bin and while we're retrieving its ...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
-	  (gst_bin_get_state):
-	  If a child is removed from a bin while we remove the child from
-	  the bin and while we're retrieving its state, signal this to the
-	  get_state function so we abort the wait (instead of waiting for
-	  a timeout) and can immediately re-iterate over all other elements.
+	* gst/gstbuffer.c:
+	* gst/gstmeta.c:
+	* gst/gstmeta.h:
+	* libs/gst/base/gstadapter.c:
+	* libs/gst/base/gstbasetransform.c:
+	  buffer: drop parent meta in deep copy/foreach_metadata
+	  The purpose of a deep buffer copy is to be able to release the source
+	  buffer and all its dependencies. Attaching the parent buffer meta to
+	  the newly created deep copy needlessly keeps holding a reference to the
+	  parent buffer.
+	  The issue this solves is the fact you need to allocate more
+	  buffers, as you have free buffers being held for no reason. In the good
+	  cases it will use more memory, in the bad case it will stall your
+	  pipeline (since codecs often need a minimum number of buffers to
+	  actually work).
+	  Fixes #283
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928>
 
-2005-05-12 10:43:14 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-09-26 14:17:18 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	  gst/base/: Added is_seekable to BaseSrc
-	  Original commit message from CVS:
-	  * gst/base/Makefile.am:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
-	  (gst_basesrc_start):
-	  * gst/base/gstbasesrc.h:
-	  * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
-	  (gst_pushsrc_base_init), (gst_pushsrc_class_init),
-	  (gst_pushsrc_init), (gst_pushsrc_create):
-	  * gst/base/gstpushsrc.h:
-	  Added is_seekable to BaseSrc
-	  Added simple PushSrc.
+	* gst/gsturi.c:
+	  gsturi: When setting the same string again do nothing
+	  Otherwise code like gst_uri_set_host(uri, gst_uri_get_host(uri)) would
+	  first free the string, then create a copy of the freed string and then
+	  assigned that.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3076>
 
-2005-05-11 09:21:24 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-09-15 16:22:23 +0200  Edward Hervey <edward@centricular.com>
 
-	  gst/: Fix refcounting in utils function.
-	  Original commit message from CVS:
-	  * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
-	  * gst/gstutils.c: (gst_element_get_compatible_pad_template),
-	  (gst_element_link_pads), (gst_element_query_position),
-	  (gst_element_query_convert), (intersect_caps_func),
-	  (gst_pad_query_position), (gst_pad_query_convert):
-	  Fix refcounting in utils function.
-	  No point in trying to activate a pad when it's added, it could
-	  be added from the state change function and then we deadlock, the
-	  element has to decide what to do.
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: Avoid useless codepath
+	  If QoS is disabled, skip the whole computation (avoids calculating values which
+	  won't be needed)
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3034>
 
-2005-05-11 03:37:10 +0000  Andy Wingo <wingo@pobox.com>
+2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
-	  gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
-	  Original commit message from CVS:
-	  2005-05-10  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
-	  *all* the arguments.
-	  * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
-	  stream lock if it's a FLUSH_DONE; normal flushes don't get the
-	  lock (according to the docs -- if this is wrong change the docs).
-	  * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
-	  flush messages in the NULL state.
-	  * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
-	  message immediately and return.
-	  (gst_bus_set_flushing): New function. If a bus is flushing, it
-	  flushes out any queued messages and immediately unrefs new
-	  messages. This is so when an element goes to NULL, all of the
-	  unhandled messages coming from it can be freed, and their
-	  references to the element dropped. In other words: message source
-	  ref considered harmful :P
-	  * gst/gstbin.c (gst_bin_change_state): Unref peer element when
-	  we're finished with it.
-	  * gst/gstmessage.c (gst_message_new_state_changed):
+	* meson.build:
+	  meson: Use implicit builtin dirs in pkgconfig generation
+	  Starting with Meson 0.62, meson automatically populates the variables
+	  list in the pkgconfig file if you reference builtin directories in the
+	  pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
+	  We need this, because ${prefix}/libexec is a hard-coded value which is
+	  incorrect on, for example, Debian.
+	  Bump requirement to 0.62, and remove version compares that retained
+	  support for older Meson versions.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
 
-2005-05-10 14:51:49 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-09-12 09:46:43 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	* gst/gstvalue.c:
-	  remove stupid printf
-	  Original commit message from CVS:
-	  remove stupid printf
+	* data/bash-completion/helpers/meson.build:
+	* data/meson.build:
+	* libs/gst/helpers/meson.build:
+	* tests/validate/meson.build:
+	* tools/meson.build:
+	  meson: Set install_tag on some targets
+	  Trying to follow recommendation from Meson documentation:
+	  https://mesonbuild.com/Installing.html#installation-tags
+	  Move tools into 'bin' or 'bin-devel' categories to keep only libs and
+	  plugins in the default 'runtime' category. This simplifies distribution
+	  of GStreamer application skipping parts that are not needed, similarly
+	  to what Cerbero does by hardcoding huge list of files.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
 
-2005-05-10 14:50:55 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-31 18:08:08 +0200  Paweł Stawicki <stawel+gstreamer@gmail.com>
 
-	  gst/gstvalue.c: Added flags serialize/deserialize/compare code.
-	  Original commit message from CVS:
-	  * gst/gstvalue.c: (gst_value_compare_flags),
-	  (gst_value_serialize_flags), (gst_value_deserialize_flags),
-	  (_gst_value_initialize):
-	  Added flags serialize/deserialize/compare code.
+	* plugins/elements/gstqueue2.c:
+	  queue2: Fix deadlock when deactivate is called in pull mode
+	  check is flush was called before waiting on condition
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2967>
 
-2005-05-09 21:37:54 +0000  Andy Wingo <wingo@pobox.com>
+2022-09-15 16:23:16 +0200  Edward Hervey <edward@centricular.com>
 
-	  gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps): Intersect the peer's caps with our caps.
-	  Original commit message from CVS:
-	  2005-05-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
-	  Intersect the peer's caps with our caps.
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: If available, return average bitrate upstream
+	  Helps improve queue2 buffering for single stream playback (ex: FLAC or mp3)
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3033>
 
-2005-05-09 15:54:26 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+2022-08-26 08:43:34 -0400  Thibault Saunier <tsaunier@igalia.com>
 
-	  gst/: Handle negative offsets better. Fixes decodebin.
-	  Original commit message from CVS:
-	  * gst/base/gsttypefindhelper.c: (helper_find_peek):
-	  * gst/elements/gsttypefindelement.c: (find_peek):
-	  Handle negative offsets better. Fixes decodebin.
+	* gst/gstelement.c:
+	  Build documentation for rust plugins
+	  - Update the docker image we use, starting using the standard one adding
+	  `gtk4-doc` as required by rust plugins
+	  - Update the plugins_doc_caches as required, some more plugins are built
+	  with the new image
+	  - Install ninja from pip as the version from F31 is too old
+	  - Avoid buildings all GSreamer plugins when building the doc as it takes
+	  time and resources for no good reason
+	  - Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
+	  documentation, leading to warnings in hotdoc.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
 
-2005-05-09 14:47:15 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-26 08:39:16 -0400  Thibault Saunier <tsaunier@igalia.com>
 
-	  gst/: Implement accept_caps.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
-	  (gst_base_transform_event):
-	  * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
-	  Implement accept_caps.
-	  Fix silly lock/unlock mismatch in base class.
+	* docs/gst-hotdoc-plugins-scanner.c:
+	  docs: plugin-scanner: Minor debug enhancement
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
 
-2005-05-09 10:53:13 +0000  Wim Taymans <wim.taymans@gmail.com>
+2021-01-28 08:40:56 +0200  Jordan Petridis <jordan@centricular.com>
 
-	* ChangeLog:
-	* docs/design/draft-push-pull.txt:
-	* gst/base/gstbasesrc.c:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gsttypefindelement.c:
+	* gst/gst_private.h:
 	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstqueryutils.c:
-	* gst/gstqueryutils.h:
-	* gst/gstqueue.c:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
-	* libs/gst/base/gstbasesrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttypefindelement.c:
-	* tools/gst-inspect.c:
-	* tools/gst-xmlinspect.c:
-	  Remove old query functions. Ported old code.
-	  Original commit message from CVS:
-	  Remove old query functions. Ported old code.
-	  Added position/convert helper functions to gstutils.
-	  Reordered gstpad.c code, grouping relevant things.
-	  Remove gst_message_new(), always need to speficy a specific
-	  message.
+	* gst/gstinfo.c:
+	  gstinfo: remove the vasprintf fallback
+	  We are always building our printf implementation, even when
+	  GST_DEBUG is disabled, since we are exposing api (gst_print*)
+	  that's dependant on our printf behavior.
+	  We don't need to keep __gst_info_fallback_vasprintf around anymore.
+	  Close #640
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/739>
+
+2021-03-24 14:20:18 -0500  Zebediah Figura <z.figura12@gmail.com>
+
+	* meson.build:
+	  meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
+	  GLib made the unfortunate decision to prevent libgobject from ever being
+	  unloaded, which means that now any library which registers a static type
+	  can't ever be unloaded either (and any library that depends on those,
+	  ad nauseam).
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
 
-2005-05-09 06:21:10 +0000  Andy Wingo <wingo@pobox.com>
+2021-04-19 10:49:42 -0400  Doug Nazar <nazard@nazar.ca>
 
-	  gst/gstiterator.h: Add some includes.
-	  Original commit message from CVS:
-	  2005-05-09  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstiterator.h: Add some includes.
-	  * gst/gstqueryutils.h: Include more headers.
-	  * gst/gstpad.h:
-	  * gst/gstpad.c (gst_pad_query_position): New routine, replaces
-	  some uses of gst_pad_query.
-	  * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
-	  NULL out parameters.
-	  (gst_query_new_position): New proc, allocates a new position
-	  query.
-	  * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
-	  gstqueryutils.c to the build.
-	  * gst/gststructure.c (gst_structure_set_valist): Implement with
-	  the generic G_VALUE_COLLECT.
+	* gst/gstregistry.c:
+	  registry: skip integration testsuite directory during plugin scan
+	  When using an uninstalled development environment and running the
+	  validation tests, the number of log files can grow substantially,
+	  slowing down startup.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/799>
+
+2022-08-30 10:48:18 -0400  Xavier Claessens <xavier.claessens@collabora.com>
+
+	* gst/gstbufferpool.c:
+	  doc: Clarify that gst_buffer_pool_acquire_buffer() blocks by default
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2955>
 
-2005-05-08 17:07:05 +0000  Edward Hervey <bilboed@bilboed.com>
+2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
 
-	  gst/Makefile.am: Added gstqueryutils.h to the list of headers to install, that was a 'nachty' move wingo :)
-	  Original commit message from CVS:
-	  * gst/Makefile.am: (gst_headers):
-	  Added gstqueryutils.h to the list of headers to install, that was
-	  a 'nachty' move wingo :)
+	* meson.build:
+	* plugins/elements/meson.build:
+	* plugins/tracers/meson.build:
+	  meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
+	  Removing some copy pasted code
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
 
-2005-05-06 21:41:22 +0000  Andy Wingo <wingo@pobox.com>
+2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
 
-	  gst/gstquery.h
-	  Original commit message from CVS:
-	  2005-05-06  Andy Wingo  <wingo@pobox.com>
-	  * gst/gstquery.h
-	  * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
-	  GstData, init a memchunk.
-	  (standard_definitions): Add a few query types, deprecate a few.
-	  (gst_query_get_type): New proc.
-	  (_gst_query_copy, _gst_query_free, gst_query_new): GstData
-	  implementation.
-	  (gst_query_new_application, gst_query_get_structure): New public
-	  procs.
-	  * docs/design/draft-query.txt: Removed LINKS from the query types,
-	  because all the rest can be dispatched to other pads -- seemed
-	  ugly to have a query that couldn't be dispatched. internal_links
-	  is fine as a pad method.
-	  * gst/gstpad.h: Add query2 as a pad method, add the new functions
-	  in gstpad.c, but maintain binary compatibility for the moment.
-	  Will fix before 0.9 is out.
-	  * gst/gstqueryutils.c:
-	  * gst/gstqueryutils.h: New files, implement 3 methods for each
-	  query type: parse_query, parse_response, and set. Probably need an
-	  allocator as well.
-	  * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
-	  * gst/elements/gstfilesink.c (gst_filesink_query2):
-	  * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
-	  query_types, and formats methods.
-	  * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
-	  (gst_pad_set_query2_function): New functions.
-	  (gst_real_pad_init): Set query2_default as the default query2
-	  function. Basically just dispatches to internally linked pads.
-	  Needs review!
-	  * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
-	  without using the atomic operations. Only one thread can possibly
-	  be accessing the data at this point. Changed so as to avoid
-	  gst_atomic operations.
+	* docs/meson.build:
+	* gst/meson.build:
+	* libs/gst/base/meson.build:
+	* libs/gst/check/meson.build:
+	* libs/gst/controller/meson.build:
+	* libs/gst/net/meson.build:
+	* meson.build:
+	  meson: Namespace the plugins_doc_dep/libraries variables
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
 
-2005-05-06 19:50:23 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
 
-	  gst/gstpad.c: Also set caps if we use the fallback buffer alloc.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
-	  Also set caps if we use the fallback buffer alloc.
+	* meson.build:
+	  meson: Rename plugins list and make them "dependency" objects
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
 
-2005-05-06 17:33:55 +0000  Tim-Philipp Müller <tim@centricular.net>
+2022-08-31 14:23:59 +0200  Martin Dørum <martid0311@gmail.com>
 
-	  Purge GstAtomic stuff from docs and win32 makefiles as well
-	  Original commit message from CVS:
-	  * docs/gst/Makefile.am:
-	  * docs/gst/gstreamer-docs.sgml:
-	  * docs/gst/gstreamer-sections.txt:
-	  * docs/gst/tmpl/gstatomic.sgml:
-	  * docs/gst/tmpl/gstmemchunk.sgml:
-	  * testsuite/elements/struct_i386.h:
-	  * win32/GStreamer.vcproj:
-	  * win32/Makefile:
-	  Purge GstAtomic stuff from docs and win32 makefiles as well
+	* gst/gstpluginloader.c:
+	  gstpluginloader: Don't hang on short reads/writes
+	  If read_one or write_one was called but the stream closed before it could
+	  read/write a whole packet, read_one/write_one would hang indefinitely,
+	  consuming 100% CPU. This commit fixes that by treating a short read/write
+	  as an error.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2964>
 
-2005-05-06 17:10:49 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-31 09:15:08 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	  gst/: Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
-	  * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
-	  * gst/gstpad.c: (gst_pad_peer_get_caps):
-	  * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
-	  (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
-	  (gst_queue_src_activate), (gst_queue_change_state):
-	  * gst/gstqueue.h:
-	  * gst/gstutils.c: (gst_element_get_compatible_pad_template),
-	  (intersect_caps_func):
-	  Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
-	  Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
-	  Some fixes for the peer_get_caps() change.
+	* gst/gst.c:
+	  gst_init: Initialize static plugins just before dynamic plugins
+	  All plugins needs to be initialized after `gst_initialized = TRUE;`
+	  otherwise they could complain that gst_init() has not been called.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2962>
 
-2005-05-06 16:19:59 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-05-31 15:18:03 +0200  Stéphane Cerveau <scerveau@collabora.com>
 
-	  gst/base/gstbasesink.c: Actually do something with error codes returned from the push functions.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
-	  (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
-	  (gst_basesink_activate):
-	  Actually do something with error codes returned from the push
-	  functions.
+	* docs/meson.build:
+	  docs: disable in static build
+	  Following gst-plugins-base, disable docs if static_build
+	  in:
+	  - gstreamer
+	  - gst-plugins-good
+	  - gst-plugins-ugly
+	  - gst-libav
+	  - gstreamer-vaapi
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
 
-2005-05-06 08:25:19 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-24 12:42:12 -0400  Olivier Crête <olivier.crete@collabora.com>
 
-	  Some more documentation.
-	  Original commit message from CVS:
-	  * docs/design/part-element-sink.txt:
-	  * docs/design/part-element-source.txt:
-	  * gst/base/gstbasesink.c: (gst_basesink_class_init),
-	  (gst_basesink_event), (gst_basesink_activate):
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
-	  (gst_basesrc_activate):
-	  * gst/base/gstbasesrc.h:
-	  * gst/gstelement.c: (gst_element_pads_activate):
-	  Some more documentation.
-	  Fixed scheduling decision in _pads_activate().
+	* gst/gstvalue.c:
+	  value: Use g_critical() when trying to serialize things that can't be
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
 
-2005-05-05 21:59:53 +0000  Andy Wingo <wingo@pobox.com>
+2022-08-01 14:00:20 -0400  Olivier Crête <olivier.crete@collabora.com>
 
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	  final cruft fixage
-	  Original commit message from CVS:
-	  final cruft fixage
+	* gst/gstvalue.c:
+	* tests/check/gst/gstvalue.c:
+	  gstvalue: Don't loop forever when serializing invalid flag
+	  The serialization code would loop forever if an invalid flag was sent into it.
+	  With unit test for this corner case.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2823>
+
+2022-08-23 19:40:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstbin.c:
+	  bin: Don't propagate state change errors of elements in locked state
+	  Theoretically having elements in locked state should not have any effect
+	  at all when the surrounding bin is doing state changes. However
+	  previously a state change error of a locked element would cause the
+	  bin's state change to also fail, which is clearly not intended.
+	  State change failures of locked elements are to be handled by whoever
+	  set the element to locked state. By always returning them here it is
+	  impossible for the owner of the element to handle state change failures
+	  gracefully without potentially affecting the whole pipeline's state
+	  changes.
+	  Non-failure returns are still returned as-is as the distinction between
+	  ASYNC/NO_PREROLL/SUCCESS has big consequences on the state changes of
+	  the bin and overall pipeline. Theoretically SUCCESS should also be
+	  returned in all cases but I can't estimate the effects this would have
+	  on the overall pipeline.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2932>
 
-2005-05-05 21:45:54 +0000  Andy Wingo <wingo@pobox.com>
+2022-08-17 16:27:36 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttypefindelement.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	  cruft removal
-	  Original commit message from CVS:
-	  cruft removal
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: Improve debug output to better understand why pads are not ready or can't accept more data
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2907>
 
-2005-05-05 21:42:24 +0000  Andy Wingo <wingo@pobox.com>
+2022-08-15 20:07:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gstbasesrc.h:
-	* gst/base/gstbasetransform.c:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.h:
-	* libs/gst/base/gstbasetransform.c:
-	  revert cruft
-	  Original commit message from CVS:
-	  revert cruft
+	* gst/gstmeta.c:
+	* gst/gstmeta.h:
+	* tests/check/gst/gstmeta.c:
+	  meta: Set the parent refcount of the GstStructure correctly
+	  The parent refcount is of the *transformed* buffer, not the input
+	  buffer.
+	  Also update the docs to clarify that @transbuf is the transformed
+	  buffer, and not the buffer on which a transformation is being
+	  performed.
+	  Due to this bug, modifying the structure of a meta that has been
+	  copied to another buffer fails with:
+	  gst_structure_set: assertion 'IS_MUTABLE (structure) || field == NULL' failed
+	  Add a test for the same.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2890>
 
-2005-05-05 21:37:34 +0000  Andy Wingo <wingo@pobox.com>
+2022-07-09 17:04:07 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  revert accidental commit of cruft -- doh
-	  Original commit message from CVS:
-	  revert accidental commit of cruft -- doh
+	* gst/gst.c:
+	  gst: Protect initialization state with a recursive mutex.
+	  Otherwise a gst_init() call from a plugin would deadlock if the plugin
+	  is loaded as part of registry updating.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
 
-2005-05-05 15:02:40 +0000  Andy Wingo <wingo@pobox.com>
+2022-07-09 17:02:26 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	  check/pipelines/simple_launch_lines.c (test_2_elements): "Fix" the test suite.
-	  Original commit message from CVS:
-	  2005-05-05  Andy Wingo  <wingo@pobox.com>
-	  * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
-	  the test suite.
+	* gst/gstregistry.c:
+	  registry: Remove dead code
+	  Initialization/updating of the registry can't possible fail and all code
+	  paths always returned TRUE.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
 
-2005-05-05 11:43:06 +0000  Christian Schaller <uraeus@gnome.org>
+2022-07-09 16:50:54 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	* gstreamer.spec.in:
-	  fix broken spec file
-	  Original commit message from CVS:
-	  fix broken spec file
+	* gst/gst.c:
+	  gst: Don't fail gst_init() if updating the registry fails
+	  Everything is already marked as initialized at that point and by failing
+	  no tracers would be loaded or plugin feature rank overrides would be
+	  applied.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2740>
 
-2005-05-05 09:31:59 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-03 12:32:24 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-	  gst/: Added object to help in making collect pad based elements.
-	  Original commit message from CVS:
-	  * gst/base/Makefile.am:
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_init),
-	  (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
-	  * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
-	  (gst_collectpads_class_init), (gst_collectpads_init),
-	  (gst_collectpads_finalize), (gst_collectpads_new),
-	  (gst_collectpads_set_function), (gst_collectpads_add_pad),
-	  (find_pad), (gst_collectpads_remove_pad),
-	  (gst_collectpads_is_active), (gst_collectpads_collect),
-	  (gst_collectpads_collect_range), (gst_collectpads_start),
-	  (gst_collectpads_stop), (gst_collectpads_peek),
-	  (gst_collectpads_pop), (gst_collectpads_available),
-	  (gst_collectpads_read), (gst_collectpads_flush),
-	  (gst_collectpads_chain):
-	  * gst/base/gstcollectpads.h:
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstelements.c:
-	  * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
-	  (gst_fakesink_get_times), (gst_fakesink_event),
-	  (gst_fakesink_preroll), (gst_fakesink_render):
-	  * gst/elements/gstfilesink.c: (gst_filesink_class_init),
-	  (gst_filesink_init), (gst_filesink_set_location),
-	  (gst_filesink_open_file), (gst_filesink_close_file),
-	  (gst_filesink_pad_query), (gst_filesink_event),
-	  (gst_filesink_render), (gst_filesink_change_state):
-	  * gst/elements/gstfilesink.h:
-	  Added object to help in making collect pad based elements.
-	  Ported filesink.
-	  Make event function in sink baseclass return gboolean.
+	* plugins/tracers/gstleaks.c:
+	  tracers: leaks: delay type name lookup
+	  Micro optimisation: Store the quark of the type name when tracking
+	  objects and only do the quark to string conversion (hashtable lookup)
+	  later when we actually need the string.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
 
-2005-05-05 09:28:01 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-08-03 12:10:02 +0100  Corentin Damman <c.damman@intopix.com>
 
-	  gst/: Fix name lookup in GstBin.
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_send_event), (compare_name),
-	  (gst_bin_get_by_name):
-	  * gst/gstbuffer.h:
-	  * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
-	  (gst_clock_finalize):
-	  * gst/gstdata.c: (gst_data_replace):
-	  * gst/gstdata.h:
-	  * gst/gstelement.c: (gst_element_request_pad),
-	  (gst_element_pads_activate):
-	  * gst/gstobject.c: (gst_object_init), (gst_object_ref),
-	  (gst_object_unref):
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_set_checkgetrange_function),
-	  (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
-	  (gst_pad_check_pull_range), (gst_pad_pull_range),
-	  (gst_static_pad_template_get_caps), (gst_pad_start_task),
-	  (gst_pad_pause_task), (gst_pad_stop_task):
-	  * gst/gstutils.c: (gst_element_get_compatible_pad_template),
-	  (gst_element_request_pad), (gst_pad_proxy_getcaps):
-	  Fix name lookup in GstBin.
-	  Added _data_replace() function and _buffer_replace()
-	  Use finalize method to clean up clock.
-	  Fix refcounting on request pads.
-	  Fix pad schedule mode error.
-	  Some more object refcounting debug info,
+	* plugins/tracers/gstleaks.c:
+	  tracers: leaks: fix potentially invalid memory access when trying to detect object type
+	  The is_gst_mini_object_check would sometimes detect a proper GObject
+	  as a mini object, and then bad things happen.
+	  We know whether a pointer is a proper GObject or a MiniObject here
+	  though, so just pass that information to the right code paths and
+	  avoid the heuristics altogether.
+	  Eliminates all remaining uses of object_is_gst_mini_object().
+	  Fixes #1334
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
+
+2022-08-03 12:10:02 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-05-04 21:29:44 +0000  Andy Wingo <wingo@pobox.com>
+	* plugins/tracers/gstleaks.c:
+	  tracers: leaks: fix potentially invalid memory access when trying to detect object type
+	  The is_gst_mini_object_check would sometimes detect a proper GObject
+	  as a mini object, and then bad things happen.
+	  We know whether a pointer is a proper GObject or a MiniObject here
+	  though, so just pass that information to the right code paths and
+	  avoid the heuristics altogether.
+	  There are probably more cases where the check should be eliminated.
+	  Fixes #1334, maybe
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2832>
 
-	  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.
+2022-07-28 19:44:20 +0000  Rafael Sobral <rafaelsobral@pm.me>
 
-2005-05-04 19:41:05 +0000  Christian Schaller <uraeus@gnome.org>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: fix reversed active/flushing arguments in debug log output
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2813>
 
-	* gstreamer.spec.in:
-	  fix up spec file to work for 0.9 branch
-	  Original commit message from CVS:
-	  fix up spec file to work for 0.9 branch
+2022-05-26 15:26:40 +0100  Philippe Normand <philn@igalia.com>
 
-2005-05-03 12:46:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstversion.h.in:
+	  GST_CHECK_VERSION: Fix unexpected "git = next version" assumption
+	  1.21.0.1 should not satisfy a check for 1.22.0.
+	  If someone needs more control they should do a feature check for
+	  the symbol in the headers or lib.
+	  Based on a similar patch by Tim-Philipp Müller for libnice.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2501>
 
-	  gst/gstplugin.c: apply patch from #172526 to make register work on MacOSX
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_check_module),
-	  (gst_plugin_check_file), (gst_plugin_load_file):
-	  apply patch from #172526 to make register work on MacOSX
+2022-07-19 04:05:55 +0900  Seungha Yang <seungha@centricular.com>
 
-2005-05-02 16:50:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gststructure.c:
+	* gst/gststructure.h:
+	* tests/check/gst/gststructure.c:
+	  gststructure: Add gst_structure_get_flags method
+	  We don't prevent setting G_TYPE_FLAGS on GstStructure
+	  but no helper method for getting the value.
+	  Add a method similar to gst_structure_get_enum()
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2770>
 
-	  file .cvsignore was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file .cvsignore was initially added on branch BRANCH-GSTREAMER-0_8.
+2022-07-18 15:46:21 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-02 15:31:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: Reset EOS flag after receiving a stream-start event
+	  And also don't assert that there are no buffers queued up when handling
+	  an EOS event. The pad's streaming thread might've already received a new
+	  stream-start event and queued up a buffer in the meantime.
+	  This still leaves a race condition where the srcpad task sees all pads
+	  in EOS state and finishes the stream, while shortly afterwards a pad
+	  might receive a stream-start event again, but this doesn't seem to be
+	  solveable with the current aggregator design.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2769>
 
-	* ChangeLog:
-	* tests/old/testsuite/indexers/cache1.c:
-	* tests/old/testsuite/indexers/indexdump.c:
-	* testsuite/indexers/cache1.c:
-	* testsuite/indexers/indexdump.c:
-	  more print format fixes
-	  Original commit message from CVS:
-	  more print format fixes
+2022-07-12 10:49:27 +0000  Corentin Damman <c.damman@intopix.com>
 
-2005-05-02 15:20:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* plugins/tracers/gstleaks.c:
+	  tracers: leaks: fix object-refings.class flags
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2749>
 
-	* ChangeLog:
-	* gst/gstconfig.h.in:
-	* tests/old/testsuite/debug/printf_extension.c:
-	* tests/old/testsuite/elements/property.h:
-	* testsuite/debug/printf_extension.c:
-	* testsuite/elements/property.h:
-	  merges from 0.8 for 64 bit issues
-	  Original commit message from CVS:
-	  merges from 0.8 for 64 bit issues
+2022-07-09 18:05:58 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-02 13:55:21 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstdevicemonitor.c:
+	  devicemonitor: Use a sync bus handler for the provider to avoid accumulating all messages until the provider is stopped
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/981
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2741>
 
-	  Added draft for new query API.
-	  Original commit message from CVS:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/draft-query.txt:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
-	  (gst_basesrc_start):
-	  Added draft for new query API.
-	  Added draft for better selecting scheduling methods.
-	  Make basesrc ignore length if the subclass does not support
-	  it.
+2022-07-08 16:37:51 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 
-2005-05-02 11:54:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstinfo.c:
+	  gstinfo: Parse "NONE" as a valid level name
+	  This allows using `NONE` in `GST_DEBUG`,
+	  `gst_debug_set_threshold_from_string`, etc. It was accessible before,
+	  but only via the integer `0`.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2734>
 
-	* ChangeLog:
-	* gst/Makefile.am:
-	  automake 1.5 fixes
-	  Original commit message from CVS:
-	  automake 1.5 fixes
+2022-06-29 08:57:42 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-05-02 11:47:17 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstpad.c:
+	* gst/gsttracerutils.c:
+	* gst/gsttracerutils.h:
+	  tracing: add hooks for gst_pad_chain() / gst_pad_chain_list()
+	  This allows tracing buffers when they arrive in a pad instead of just
+	  when they are pushed out of a pad.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2682>
 
-	* ChangeLog:
-	* docs/faq/Makefile.am:
-	* docs/manual/Makefile.am:
-	* docs/manuals.mak:
-	* docs/pwg/Makefile.am:
-	* gst/Makefile.am:
-	  possible fixes for automake-1.5
-	  Original commit message from CVS:
-	  possible fixes for automake-1.5
+2022-06-29 10:55:13 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-28 16:28:28 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gst.c:
+	* meson.build:
+	  coding style: allow declarations after statement
+	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
+	  and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
 
-	  gst/: Better debugging of clocking info.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_base_init),
-	  (gst_basesink_pad_getcaps), (gst_basesink_init),
-	  (gst_basesink_do_sync):
-	  * gst/gstclock.c: (gst_clock_entry_new):
-	  * gst/gstevent.c: (gst_event_discont_get_value):
-	  * gst/gstpipeline.c: (pipeline_bus_handler),
-	  (gst_pipeline_change_state):
-	  * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
-	  Better debugging of clocking info.
-	  Allow NULL values when getting discont values.
+2022-06-22 09:43:02 +0200  Jonas Danielsson <jonas.danielsson@spiideo.com>
 
-2005-04-27 14:19:46 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gst.c:
+	  gst: add missing define guard
+	  If compiled with -Dgstreamer:gst_debug=false and we have
+	  GST_REMOVE_DISABLED defined we will get the following compiler error:
+	  ```
+	  [...]/libgstreamer-1.0.so.0.2100.0.p/gst.c.o: in function `gst_deinit':
+	  [...]/gst/gst.c:1258: undefined reference to `_priv_gst_debug_cleanup'
+	  [...] hidden symbol `_priv_gst_debug_cleanup' isn't defined
+	  ```
+	  Add the missing define guard to avoid this.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2648>
 
-	  check/gst/: Increase timeout for checks.
-	  Original commit message from CVS:
-	  * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
-	  * check/gst/gstpad.c: (gst_pad_suite):
-	  Increase timeout for checks.
+2022-06-21 11:51:35 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-04-27 13:52:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* tests/check/gst/gstbin.c:
+	  bin: Fix race conditions in tests
+	  The latency messages are non-deterministic and can arrive before/after
+	  async-done or during state-changes as they are posted by e.g. sinks from
+	  their streaming thread but bins are finishing asynchronous state changes
+	  from a secondary helper thread.
+	  To solve this, expect latency messages at any time and assert that we
+	  receive one at some point during the test.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643>
 
-	  check/Makefile.am: fix the broken rule for cleanup.  Apparently this rule is only needed on FC2, so maybe this warran...
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  fix the broken rule for cleanup.  Apparently this rule is
-	  only needed on FC2, so maybe this warrants further autotool
-	  inspection.
+2022-06-20 16:45:19 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-04-26 18:07:45 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstelement.c:
+	* tests/check/gst/gstelement.c:
+	  element: Fix requesting of pads with string templates
+	  Previously it was only possible to request them with the exact template
+	  name, e.g. 'src_%s', but not with "instantiated" names that would match
+	  this template, e.g.'src_foo_bar'.
+	  This is now possible and a test was added for this, in addition to
+	  fixing a previously invalid test.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2635>
 
-	  gst/gsttrashstack.h: Ooohh. a nasty one! After having a failed pop() from the stack, it's possible that the stack is ...
-	  Original commit message from CVS:
-	  * gst/gsttrashstack.h:
-	  Ooohh. a nasty one! After having a failed pop() from the stack,
-	  it's possible that the stack is empty. In that case, don't
-	  follow the NULL pointer.
+2022-05-17 10:18:28 -0700  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-25 13:00:47 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstbuffer.h:
+	* gst/gstmemory.h:
+	  Add GstMemoryMapInfo to be used with g_auto()
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
 
-	  gst/: Remove gst_library_load as it does more harm than good with the new g_module flags.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_set_checkgetrange_function),
-	  (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
-	  (gst_pad_check_pull_range), (gst_pad_pull_range),
-	  (gst_static_pad_template_get_caps), (gst_pad_start_task),
-	  (gst_pad_pause_task), (gst_pad_stop_task):
-	  * gst/gstplugin.c: (gst_plugin_load):
-	  * gst/gstplugin.h:
-	  Remove gst_library_load as it does more harm than good with
-	  the new g_module flags.
-	  Revert bogus caps template check in pad linking, pad caps
-	  are important when linking not the template, which is more
-	  general than the current caps.
+2022-05-13 11:51:09 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-25 11:51:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstbuffer.c:
+	* gst/gstbuffer.h:
+	* tests/check/gst/gstbuffer.c:
+	  Add GstBufferMapInfo to be used with g_auto()
+	  We need a separate typedef for this feature because GstMapInfo itself
+	  can be initialized by gst_memory_map() in which case info.memory should
+	  not be unreffed.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2412>
 
-	* tests/Makefile.am:
-	  there is no speed.  really.
-	  Original commit message from CVS:
-	  there is no speed.  really.
+2022-06-20 15:29:21 +0100  Philippe Normand <philn@igalia.com>
 
-2005-04-25 09:51:06 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* tools/gst-inspect.c:
+	  gst-inspect: Fix inspection of third-party plugins
+	  Since commit de57657de1d1916503b4ad451ac13a3e191465f8 inspecting a third-party
+	  plugin would trigger a segfault (Address boundary error) due to the missing
+	  sentinel in the list of GStreamer modules.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2636>
 
-	  gst/autoplug/: Die, spider, die.
-	  Original commit message from CVS:
-	  * gst/autoplug/.cvsignore:
-	  * gst/autoplug/Makefile.am:
-	  * gst/autoplug/gstsearchfuncs.c:
-	  * gst/autoplug/gstsearchfuncs.h:
-	  * gst/autoplug/gstspider.c:
-	  * gst/autoplug/gstspider.h:
-	  * gst/autoplug/gstspideridentity.c:
-	  * gst/autoplug/gstspideridentity.h:
-	  * gst/autoplug/spidertest.c:
-	  Die, spider, die.
+2022-06-14 16:30:08 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-25 09:45:35 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* docs/meson.build:
+	* docs/plugins/coretracers/index.md:
+	* docs/plugins/coretracers/sitemap.txt:
+	  docs: ensure coretracers plugin index page is index.html
+	  And not blank.html
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
 
-	  gst/gstpad.*: Added stubs for unimplemented functions.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
-	  (gst_pad_pull_range), (gst_static_pad_template_get_caps),
-	  (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
-	  * gst/gstpad.h:
-	  Added stubs for unimplemented functions.
+2022-06-12 23:28:21 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-25 03:54:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>
+	* tools/gst-inspect.c:
+	  gst-inspect: print link to documentation for gstreamer elements
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2592>
 
-	  file python-elements.txt was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file python-elements.txt was initially added on branch BRANCH-GSTREAMER-0_8.
+2022-05-19 04:59:58 +0000  Adam Doupe <adamdoupe@gmail.com>
 
-2005-04-24 23:53:06 +0000  David Schleef <ds@schleef.org>
+	* libs/gst/base/gstqueuearray.c:
+	  queuearray: Fix potential heap overflow when expanding GstQueueArray
+	  Check that elt_size*newsize doesn't overflow when expanding a
+	  GstQueueArray, which has the potential for a heap overwrite.
+	  Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1232
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2606>
 
-	  gst/gstpad.h: Disable some unimplemented functions.  Wim, please fix.
-	  Original commit message from CVS:
-	  * gst/gstpad.h: Disable some unimplemented functions.  Wim,
-	  please fix.
+2022-06-15 12:56:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 
-2005-04-24 22:49:45 +0000  David Schleef <ds@schleef.org>
+	* libs/gst/check/gstharness.c:
+	  docs: harness: Fix example
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2602>
 
-	  Convert everything from GstAtomicInt to g_atomic_int_*, and remove gstatomic.
-	  Original commit message from CVS:
-	  Convert everything from GstAtomicInt to g_atomic_int_*, and
-	  remove gstatomic.
-	  * gst/Makefile.am:
-	  * gst/gstatomic.c:
-	  * gst/gstatomic.h:
-	  * gst/gstatomic_impl.h:
-	  * gst/gstbuffer.c:
-	  * gst/gstcaps.c:
-	  * gst/gstcaps.h:
-	  * gst/gstclock.c:
-	  * gst/gstclock.h:
-	  * gst/gstdata.c:
-	  * gst/gstdata.h:
-	  * gst/gstdata_private.h:
-	  * gst/gstevent.c:
-	  * gst/gstinfo.c:
-	  * gst/gstinfo.h:
-	  * gst/gstmessage.c:
-	  * gst/gstobject.c:
-	  * gst/gstobject.h:
-	  * gst/gststructure.c:
-	  * gst/gststructure.h:
-	  * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
-	  * gst/gstutils.h:
+2022-06-14 17:29:31 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-24 22:44:13 +0000  David Schleef <ds@schleef.org>
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: fix potential crash on shutdown
+	  The mq we get out of the weak ref might be NULL if we're
+	  shutting down, which could cause assertion failures or
+	  crashes.
+	  It might also cause miscompilations where the compiler just
+	  optimises away the NULL check because it jumps to a code path
+	  that then dereferences the pointer which clearly isn't going
+	  to work. Seems like something like this happens with gcc 11.
+	  Fixes #1262
+	  Co-authored-by: Doug Nazar <nazard@nazar.ca>
+	  Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2599>
 
-	  check/gst/gstpad.c: Oh yeah, it's always nice to make the regressions tests work.  Remove some code that is no longer...
-	  Original commit message from CVS:
-	  * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
-	  make the regressions tests work.  Remove some code that is no
-	  longer true.
-	  * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
-	  Disable warning for pads without templates.
+2022-06-14 03:29:41 -0600  James Hilliard <james.hilliard1@gmail.com>
 
-2005-04-24 21:16:45 +0000  David Schleef <ds@schleef.org>
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: fix warning: ‘is_query’ may be used uninitialized in this function
+	  Fixes:
+	  ../plugins/elements/gstmultiqueue.c: In function ‘gst_multi_queue_loop’:
+	  ../plugins/elements/gstmultiqueue.c:2394:19: warning: ‘is_query’ may be used uninitialized in this function [-Wmaybe-uninitialized]
+	  2394 |     if (object && !is_query)
+	  |                   ^~~~~~~~~
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2593>
 
-	  gst/gstpad.c: Remove handling of filtered caps.  Fix/merge functions that handle filtered links.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
-	  functions that handle filtered links.
-	  * gst/gstpad.h: Remove 'appfilter' field and prototypes of
-	  removed functions.
-	  * gst/gstutils.c: Fix/remove utility functions that handle
-	  filtered caps.
-	  * gst/gstutils.h:
-	  * gst/gstvalue.c: Add serialization/deserialization of caps
-	  * gst/parse/grammar.y: Ignore filtered caps when linking.  This
-	  requires fixing so that the filter caps notation creates
-	  a capsfilter element and sets the filter_caps property.  I
-	  think everyone probably wants to keep the shorthand notation.
-	  * docs/gst/tmpl/gstelement.sgml: updates for API changes.
-	  * docs/gst/tmpl/gstpad.sgml:
-	  * gst/elements/gstelements.c: Register capsfilter element.
-	  * gst/Makefile.am: fix spacing
-	  * docs/random/ds/0.9-suggested-changes: random
+2022-06-10 11:40:18 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-23 23:29:47 +0000  David Schleef <ds@schleef.org>
+	* docs/random/moving-plugins:
+	  docs: update technical howto in moving-plugins
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2583>
 
-	  gst/elements/: New element that acts like an identity, but filters caps.  Will eventually replace filtered caps in pa...
-	  Original commit message from CVS:
-	  * gst/elements/Makefile.am:
-	  * gst/elements/gstcapsfilter.c: New element that acts like an
-	  identity, but filters caps.  Will eventually replace filtered
-	  caps in pad linking.
-	  * gst/gstutils.c: (gst_element_create_all_pads): New function
-	  to create all the ALWAYS pads that are registered with an
-	  element class.  This functionality should eventually be
-	  merged in with GstElement initialization.
-	  * gst/gstutils.h:
-	  * testsuite/trigger/README: part of trigger test code that should
-	  have been checked in a long time ago.
+2022-06-08 11:33:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
-2005-04-23 23:25:08 +0000  David Schleef <ds@schleef.org>
+	* gst/gst_private.h:
+	* gst/gstclock.c:
+	  clock: Use g_atomic_rc_box for refcounting entry clocks
+	  g_atomic_rc_box was added in GLib 2.58, and we require 2.62 now, so we
+	  can fix the FIXME and use this.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
 
-	  gst/Makefile.am: Remove as-libtool stuff.  It's likely not and hard to carry around.
-	  Original commit message from CVS:
-	  * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
-	  needed with new versions of libtool (nobody will confirm this),
-	  and hard to carry around.
-	  * gst/autoplug/Makefile.am:
-	  * gst/base/Makefile.am:
-	  * gst/elements/Makefile.am:
-	  * gst/indexers/Makefile.am:
-	  * gst/schedulers/Makefile.am:
-	  * libs/gst/bytestream/Makefile.am:
-	  * libs/gst/control/Makefile.am:
-	  * libs/gst/dataprotocol/Makefile.am:
-	  * libs/gst/getbits/Makefile.am:
+2022-04-06 12:56:30 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-21 17:10:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+	* gst/gstdevicemonitor.c:
+	* meson.build:
+	* tests/check/gst/gsturi.c:
+	  Bump GLib requirement to >= 2.62
+	  Can't require 2.64 yet because of
+	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
 
-	  file Makefile.am was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file Makefile.am was initially added on branch BRANCH-GSTREAMER-0_8.
+2022-06-01 09:25:29 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-2005-04-21 09:37:34 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: handle gst_base_transform_query_caps() returning NULL
+	  If gst_base_transform_transform_caps() returns NULL, gst_base_transform_query_caps()
+	  will return NULL as well.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2532>
 
-	  docs/design/: Some more docs.
-	  Original commit message from CVS:
-	  * docs/design/draft-push-pull.txt:
-	  * docs/design/part-MT-refcounting.txt:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-caps.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbus.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * docs/design/part-push-pull.txt:
-	  * docs/design/part-query.txt:
-	  Some more docs.
+2022-05-18 17:03:27 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 
-2005-04-21 09:33:31 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gst_private.h:
+	* gst/gstclock.c:
+	  clock: Avoid creating a weakref with every entry
+	  Creating and destroying weakrefs takes a write lock on a global
+	  `GRWLock`. This makes for a very contended lock when the pipeline has
+	  many synchronizing elements.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2530>
 
-	  gst/: Use parent refcount in GstMessage to ensure GstStructure consistency.
-	  Original commit message from CVS:
-	  * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
-	  (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_message_get_structure):
-	  * gst/gstmessage.h:
-	  * gst/gststructure.c: (gst_structure_set_parent_refcount),
-	  (gst_structure_copy_conditional):
-	  Use parent refcount in GstMessage to ensure GstStructure
-	  consistency.
-	  Cleaned up headers a bit.
+2022-05-31 14:27:51 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-2005-04-20 09:10:42 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* libs/gst/base/gstbasetransform.c:
+	  basetransform: fix critical if transform_caps() returned NULL
+	  klass->transform_caps() may return NULL, which was raising this
+	  critical:
+	  GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2528>
 
-	  gst/: Make gst_caps_replace() work like other _replace() functions.
-	  Original commit message from CVS:
-	  * gst/base/gstbasesink.c: (gst_basesink_base_init),
-	  (gst_basesink_pad_getcaps), (gst_basesink_init),
-	  (gst_basesink_chain_unlocked):
-	  * gst/base/gsttypefindhelper.c: (helper_find_suggest),
-	  (gst_type_find_helper):
-	  * gst/elements/gsttypefindelement.c:
-	  (gst_type_find_element_have_type), (gst_type_find_element_init),
-	  (stop_typefinding), (gst_type_find_element_handle_event),
-	  (find_suggest), (gst_type_find_element_chain),
-	  (gst_type_find_element_checkgetrange),
-	  (gst_type_find_element_getrange), (do_typefind),
-	  (gst_type_find_element_activate):
-	  * gst/gstbuffer.c: (_gst_buffer_sub_free),
-	  (gst_buffer_default_free), (gst_buffer_default_copy),
-	  (gst_buffer_set_caps):
-	  * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
-	  (gst_caps_replace):
-	  * gst/gstmessage.c: (gst_message_new),
-	  (gst_message_new_state_changed):
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_set_checkgetrange_function),
-	  (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
-	  (gst_pad_set_caps), (gst_pad_check_pull_range),
-	  (gst_pad_pull_range), (gst_static_pad_template_get_caps):
-	  * gst/gstpad.h:
-	  * gst/gsttypefind.c: (gst_type_find_register):
-	  Make gst_caps_replace() work like other _replace() functions.
-	  Use _caps_replace() where possible.
-	  Make sure _message_new() initialises its field.
-	  Add gst_static_pad_template_get_caps()
+2022-05-29 20:38:38 +1000  tom schuring <tomschuring@gmail.com>
 
-2005-04-18 08:53:02 +0000  Andy Wingo <wingo@pobox.com>
+	* gst/gstplugin.c:
+	  plugin: add Apache 2 license to known licenses
+	  the licence in gstreamer/subprojects/gstreamer/gst/gstplugin.c
+	  currently is defined to be one of:
+	  LGPL GPL QPL GPL/QPL MPL BSD MIT/X11 0BSD Proprietary
+	  The open source project for the kinesis plugin is using an
+	  Apache 2.0 license. Because "Apache 2.0" is not one of the
+	  supported licenses it automatically falls back to Proprietary.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2514>
 
-	  gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
-	  Original commit message from CVS:
-	  2005-04-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
+2022-01-21 20:31:27 -0300  Thibault Saunier <tsaunier@igalia.com>
 
-2005-04-18 08:24:30 +0000  Andy Wingo <wingo@pobox.com>
+	* gst/gst_private.h:
+	* gst/gststructure.c:
+	* gst/gstvalue.c:
+	* tests/check/gst/gststructure.c:
+	  structure: Fix serializing with new format inside arrays/lists
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1554>
 
-	* ChangeLog:
-	* gst/base/gstbasesrc.c:
-	* libs/gst/base/gstbasesrc.c:
-	  gst/base/gstbasesrc.c (gst_basesrc_set_property)
-	  Original commit message from CVS:
-	  2005-04-18  Andy Wingo  <wingo@pobox.com>
-	  * gst/base/gstbasesrc.c (gst_basesrc_set_property)
-	  (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
-	  to PROP_....
+2022-05-18 10:04:08 +0800  WANG Xuerui <xen0n@gentoo.org>
 
-2005-04-16 20:27:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstconfig.h.in:
+	  gstreamer/gst/gstconfig.h.in: Add support for LoongArch
+	  While current and future LoongArch machines that are supposed to run
+	  GStreamer all support unaligned accesses, there might be future
+	  lower-end cores (e.g. the embedded product line) without such support,
+	  and we may not want to penalize these use cases.
+	  So, mark LoongArch as not supporting unaligned accesses for now, and
+	  hope the compilers do a good job optimizing them. We can always flip
+	  switch later.
+	  Suggested-by: CHEN Tao <redeast_cn@outlook.com>
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2443>
+
+2022-05-12 20:15:44 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/gstelement.c:
+	  element: Add sanity check with a critical warning if a pad is requested for a pad template that is not installed on the element class
+	  Various elements are assuming that the pointer matches a pad template
+	  they know about, and also randomly created pad templates might be
+	  missing some important information that is necessary to create a valid
+	  pad.
+	  For example, creating a new pad template for audiomixer's sinkpad
+	  without providing the correct GType would cause audiomixer to create a
+	  GstAggregatorPad. That will then later fail spectacularly because it
+	  assumes that it got a GstAudioAggregatorPad.
+	  Passing a pad template that does not belong to the element class in here
+	  will easily lead to undefined behaviour.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2410>
 
-	* NEWS:
-	* tests/Makefile.am:
-	  NEWS build
-	  Original commit message from CVS:
-	  NEWS build
+2022-04-25 11:03:35 +0200  Stéphane Cerveau <scerveau@collabora.com>
 
-2005-04-16 20:16:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* tests/check/gst/gstcaps.c:
+	  tests: test fixed caps
+	  Add a test entry to check wether a caps is fixed
+	  or not.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
 
-	  removed some line
-	  Original commit message from CVS:
-	  removed some line
+2022-04-25 10:59:21 +0200  Stéphane Cerveau <scerveau@collabora.com>
 
-2005-04-16 16:28:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstcaps.c:
+	* tests/check/pipelines/seek.c:
+	  caps: warn with wrong mediatype in gst_caps_new_empty_simple
+	  If passing ANY/EMPTY to gst_caps_new_empty_simple
+	  as a mediatype, a warning will be displayed to alert
+	  on this misuse of the API.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
 
-	* docs/faq/gst-uninstalled:
-	  add gst-plugins-base to pkgconfig path
-	  Original commit message from CVS:
-	  add gst-plugins-base to pkgconfig path
+2022-05-05 20:39:52 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-04-14 17:17:30 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: Don't send multiple caps events with the same caps
+	  Every time aggregator is reconfiguring it will try to negotiate new
+	  caps. If these resulting caps are the same as the previously negotiated
+	  caps then don't send a new caps event with the same caps again.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
 
-	  docs/faq/using.xml: Add note on gstreamer-properties (#154996).
-	  Original commit message from CVS:
-	  * docs/faq/using.xml:
-	  Add note on gstreamer-properties (#154996).
+2022-05-05 15:05:43 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-04-13 17:41:29 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: Only send events up to CAPS event from gst_aggregator_set_src_caps()
+	  Otherwise setting the srcpad caps based on the sinkpad caps event will
+	  already push a segment event downstream before the upstream segment is
+	  known.
+	  If the upstream segments are just forwarded when the upstream segment
+	  event arrives this would result in two segment events being sent
+	  downstream, of which the first one will usually be simply wrong.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2372>
 
-	  docs/random/bbb/optional-properties: Some analysis on optional properties.
-	  Original commit message from CVS:
-	  * docs/random/bbb/optional-properties:
-	  Some analysis on optional properties.
+2022-05-05 09:00:17 +0200  Edward Hervey <edward@centricular.com>
 
-2005-04-12 15:00:30 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Increase initial interleave growth rate
+	  In the case where not all streams have received any data, growing the interleave
+	  by only 100ms is too restrictive and would cause some (valid) mpeg-ts streams to
+	  hang.
+	  Bump up the interleave growth rate for those use-cases to 500ms per input (still
+	  up to the limit of 5s).
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2370>
 
-	  Use libxml2 for registry parsing, use staticpadtemplates in elementfactories. Makes gst_init() +/- 10x faster.
-	  Original commit message from CVS:
-	  * docs/gst/tmpl/gstelementfactory.sgml:
-	  * gst/gstelement.h:
-	  * gst/gstelementfactory.c: (gst_element_factory_init),
-	  (gst_element_factory_cleanup), (gst_element_register),
-	  (__gst_element_factory_add_static_pad_template),
-	  (gst_element_factory_get_static_pad_templates),
-	  (gst_element_factory_can_src_caps),
-	  (gst_element_factory_can_sink_caps):
-	  * gst/registries/Makefile.am:
-	  * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
-	  (gst_xml_registry_class_init), (gst_xml_registry_init),
-	  (gst_xml_registry_new), (gst_xml_registry_set_property),
-	  (gst_xml_registry_get_property), (get_time), (make_dir),
-	  (gst_xml_registry_get_perms_func),
-	  (plugin_times_older_than_recurse), (plugin_times_older_than),
-	  (gst_xml_registry_open_func), (gst_xml_registry_load_func),
-	  (gst_xml_registry_save_func), (gst_xml_registry_close_func),
-	  (add_to_char_array), (read_string), (read_uint), (read_enum),
-	  (load_pad_template), (load_feature), (load_plugin), (load_paths),
-	  (gst_xml_registry_load), (gst_xml_registry_load_plugin),
-	  (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
-	  (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
-	  (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
-	  (gst_xml_registry_rebuild):
-	  * gst/registries/gstlibxmlregistry.h:
-	  * tools/gst-compprep.c: (main):
-	  * tools/gst-inspect.c: (print_pad_templates_info):
-	  * tools/gst-xmlinspect.c: (print_element_info):
-	  Use libxml2 for registry parsing, use staticpadtemplates in
-	  elementfactories. Makes gst_init() +/- 10x faster.
+2022-05-02 11:41:52 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-12 10:52:55 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* plugins/elements/gstfilesink.c:
+	  filesink: fix handling of non-existing paths with musl
+	  Fixes #1194
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2341>
 
-	* ChangeLog:
-	* gst/base/Makefile.am:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesrc.c:
-	* gst/base/gsttypefindhelper.c:
-	* gst/base/gsttypefindhelper.h:
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gsttypefindelement.c:
-	* gst/elements/gsttypefindelement.h:
-	* gst/gstpipeline.c:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/gstbasesink.c:
-	* libs/gst/base/gstbasesrc.c:
-	* libs/gst/base/gsttypefindhelper.c:
-	* libs/gst/base/gsttypefindhelper.h:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gsttypefindelement.c:
-	* plugins/elements/gsttypefindelement.h:
-	  Added typefind helper.
-	  Original commit message from CVS:
-	  Added typefind helper.
-	  Small preroll fix in the base sink.
-	  Disable typefind code in basesrc.
-	  Crude port of typefindelement.
-	  Fakesrc cleanups.
+2022-04-09 21:07:43 +0100  Tim-Philipp Müller <tim@centricular.com>
 
-2005-04-12 09:16:00 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstregistry.c:
+	  registry: skip Rust dep builddirs when searching for plugins recursively
+	  These artefacts confuse the plugin scanner and may cause noisy warnings
+	  (and slow down things).
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/68
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2146>
 
-	* check/gst/gstdata.c:
-	* tests/check/gst/gstdata.c:
-	  Increase timeout some more
-	  Original commit message from CVS:
-	  Increase timeout some more
+2020-11-26 18:11:12 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 
-2005-04-11 12:02:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: forward gap event information to gap buffer
+	  When the GAP event was flagged with MISSING_DATA, subclasses
+	  may want to adopt a different behaviour, for example by repeating
+	  the last buffer.
+	  As we turn these gap events into gap buffers, we need to flag
+	  those, we do so with a new custom meta.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/708>
 
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  only dirs
-	  Original commit message from CVS:
-	  only dirs
+2022-02-25 16:54:37 -0500  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-11 11:40:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* libs/gst/helpers/meson.build:
+	  meson: Add PYTHONPATH to load GDB helper module
+	  Meson generates a gdbinit file that will automatically load gstreamer
+	  script. However that script uses a helper python module that needs
+	  PYTHONPATH to be pointing into the right location in the source
+	  tree to be able to find gst_gdb.py.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1796>
 
-	* check/Makefile.am:
-	* tests/check/Makefile.am:
-	  fix distcheck
-	  Original commit message from CVS:
-	  fix distcheck
+2022-04-20 09:38:16 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-2005-04-11 11:24:53 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* plugins/tracers/gstleaks.c:
+	  gstleaks: log the number of alive objects
+	  Can help checking if the number of alive objects is growing over time or stays stable.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2245>
 
-	  check/: Fix up the timeout so that the test does not fail.
-	  Original commit message from CVS:
-	  * check/gst/gstbus.c: (gstbus_suite):
-	  * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
-	  * check/gstcheck.h:
-	  Fix up the timeout so that the test does not fail.
+2022-04-19 14:05:16 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-2005-04-11 09:53:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstbuffer.h:
+	  gstreamer: Document various caps for the reference timestamp meta
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
 
-	* tests/old/testsuite/Makefile.am:
-	* testsuite/Makefile.am:
-	  dist trigger
-	  Original commit message from CVS:
-	  dist trigger
+2022-03-25 10:18:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-10 21:42:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* docs/random/i18n:
+	  Always define ENABLE_NLS
+	  GLib guarantees libintl API is always available, provided by
+	  proxy-libintl as last resort. GLib itself unconditionally define
+	  ENABLE_NLS.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
 
-	* gst/gstelement.c:
-	  work with debug disabled
-	  Original commit message from CVS:
-	  work with debug disabled
+2022-03-25 10:20:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-10 20:29:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* docs/meson.build:
+	* gst/gettext.h:
+	* gst/gst-i18n-app.h:
+	* gst/gst-i18n-lib.h:
+	  Delete unused i18n headers
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
 
-	* gst/gstobject.c:
-	  work with debug disabled
-	  Original commit message from CVS:
-	  work with debug disabled
+2022-03-25 09:59:23 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-04-10 18:19:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* docs/gst-hotdoc-plugins-scanner.c:
+	* gst/gst.c:
+	* gst/gstelement.c:
+	* gst/gsterror.c:
+	* gst/gstpipeline.c:
+	* gst/gstregistry.c:
+	* gst/gsttaglist.c:
+	* gst/gsturi.c:
+	* gst/gstutils.c:
+	* gst/parse/grammar.y.in:
+	* libs/gst/base/gstbasesink.c:
+	* libs/gst/base/gstbasesrc.c:
+	* libs/gst/base/gstbasetransform.c:
+	* plugins/elements/gstcapsfilter.c:
+	* plugins/elements/gstdownloadbuffer.c:
+	* plugins/elements/gstfdsink.c:
+	* plugins/elements/gstfilesink.c:
+	* plugins/elements/gstfilesrc.c:
+	* plugins/elements/gstidentity.c:
+	* plugins/elements/gstqueue.c:
+	* plugins/elements/gstqueue2.c:
+	* plugins/elements/gsttypefindelement.c:
+	* tools/tools.h:
+	  Replace gst-i18n-*.h with gi18n-lib.h
+	  GLib guarantees libintl is always present, using proxy-libintl as
+	  last resort. There is no need to mock gettex API any more.
+	  This fix static build on Windows because G_INTL_STATIC_COMPILATION must
+	  be defined before including libintl.h, and glib does it for us as part
+	  as including glib.h.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028>
 
-	* autogen.sh:
-	  ignore already applied patch
-	  Original commit message from CVS:
-	  ignore already applied patch
+2022-04-18 15:44:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
-2005-04-08 11:34:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+	* gst/meson.build:
+	* meson.build:
+	  meson: Add -Wl,-rpath,${libdir} on macOS
+	  We made the gstreamer installation prefix relocatable by picking up
+	  plugins relative to the location of libgstreamer-1.0.dylib, similar to
+	  how it's done for Windows:
+	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
+	  This had a lot of side-effects:
+	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
+	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
+	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
+	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
+	  A partial fix for the cerbero side of these was:
+	  https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
+	  However, this relied on the consumers knowing that they need to add
+	  `LC_RPATH` entries to the libdir of the prefix. This is done
+	  automatically by build systems like Meson, but not by others, such as
+	  Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
+	  RPATH entries to the gstreamer-1.0.pc file.
+	  This also has the side-effect of fixing the loading of gstreamer rust
+	  plugins on macOS:
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2218>
+
+2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>
+
+	* gst/gstplugin.c:
+	  gst_plugin_load_file: force plugin reload if diff filename
+	  If a file includes a new version of a plugin that exits in the
+	  registry, the output of gst-inspect is incorrect. The output has the
+	  correct version but incorrect filename, and element description.
+	  This seems to have also fixed some documentation issues.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1344>
+
+2020-05-29 11:29:56 -0300  Tulio Beloqui <tulio.beloqui@pexip.com>
 
-	  file gstparent.c was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file gstparent.c was initially added on branch BRANCH-GSTREAMER-0_8.
+	* gst/gstdevicemonitor.c:
+	  gstdevicemonitor: added cleanup of signal handlers and hidden providers list
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2182>
 
-2005-04-08 11:34:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>
+2022-04-15 17:00:24 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 
-	  file gstparent.h was initially added on branch BRANCH-GSTREAMER-0_8.
-	  Original commit message from CVS:
-	  file gstparent.h was initially added on branch BRANCH-GSTREAMER-0_8.
+	* plugins/tracers/gstleaks.c:
+	  gstleaks: fix pthread_atfork return value check
+	  pthread_atfork() returns 0 on success.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2195>
 
-2005-04-06 17:30:48 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-04-13 16:59:50 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	  gst/: More work on the generic source base class, implement seeking, query.
-	  Original commit message from CVS:
-	  * gst/base/README:
-	  * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
-	  (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
-	  (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
-	  (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
-	  (gst_basesrc_check_get_range), (gst_basesrc_loop),
-	  (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
-	  (gst_basesrc_stop), (gst_basesrc_activate),
-	  (gst_basesrc_change_state), (basesrc_find_peek),
-	  (basesrc_find_suggest), (gst_basesrc_type_find):
-	  * gst/base/gstbasesrc.h:
-	  * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
-	  (gst_filesrc_class_init), (gst_filesrc_init),
-	  (gst_filesrc_finalize), (gst_filesrc_set_location),
-	  (gst_filesrc_set_property), (gst_filesrc_get_property),
-	  (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
-	  (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
-	  (gst_filesrc_create_read), (gst_filesrc_create),
-	  (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
-	  * gst/elements/gstfilesrc.h:
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_lost_state), (gst_element_pads_activate):
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
-	  (gst_pad_pull_range):
-	  * gst/gstpad.h:
-	  More work on the generic source base class, implement seeking,
-	  query.
-	  Make filesrc extend the base source class.
-	  Added gst_pad_set_checkgetrange_function to GstPad.
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Fix wrong condition order from last commit
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2171>
 
-2005-04-06 11:08:07 +0000  Andy Wingo <wingo@pobox.com>
+2022-04-12 19:22:51 +0300  Sebastian Dröge <sebastian@centricular.com>
 
-	  pkgconfig/: New files.
-	  Original commit message from CVS:
-	  2005-04-06  Andy Wingo  <wingo@pobox.com>
-	  * pkgconfig/gstreamer-base.pc.in:
-	  * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
-	  * pkgconfig/Makefile.am:
-	  * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
+	* libs/gst/net/gstptpclock.c:
+	  ptpclock: Allow at least 100ms delay between Sync/Follow_Up and Delay_Req/Delay_Resp messages
+	  It doesn't matter for measurement purposes whether receiving them takes
+	  a while and various PTP servers are not prioritizing to send them,
+	  causing them to be dropped unnecessarily and preventing proper
+	  synchronization with such servers.
+	  This is especially a problem if the RTTs in the network are very low
+	  compared to the additional delay imposed by the server.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2161>
 
-2005-04-05 17:41:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-04-12 01:01:23 +0900  Seungha Yang <seungha@centricular.com>
 
-	* docs/faq/cvs.xml:
-	  add a note
-	  Original commit message from CVS:
-	  add a note
+	* tools/gst-launch.c:
+	* tools/meson.build:
+	  win32: Enable high-resolution timer for MinGW build
+	  timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
+	  header instead, which defines struct and APIs in case of our MinGW
+	  toolchain. Note that in case of native Windows10 SDK (MSVC build),
+	  mmsystem.h will include timeapi.h
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153>
 
-2005-04-05 08:44:20 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-04-08 13:44:53 +1000  Matthew Waters <matthew@centricular.com>
 
-	  gst/: Made base source class, make fakesrc extend it.
-	  Original commit message from CVS:
-	  * gst/base/Makefile.am:
-	  * gst/base/README:
-	  * gst/base/gstbasesink.c: (gst_basesink_base_init),
-	  (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
-	  (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
-	  (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
-	  * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
-	  (gst_basesrc_base_init), (gst_basesrc_class_init),
-	  (gst_basesrc_init), (gst_basesrc_get_formats),
-	  (gst_basesrc_get_query_types), (gst_basesrc_query),
-	  (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
-	  (gst_basesrc_set_property), (gst_basesrc_get_property),
-	  (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
-	  (gst_basesrc_loop), (gst_basesrc_activate),
-	  (gst_basesrc_change_state):
-	  * gst/base/gstbasesrc.h:
-	  * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
-	  (gst_fakesrc_class_init), (gst_fakesrc_init),
-	  (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
-	  (gst_fakesrc_get_property), (gst_fakesrc_create):
-	  * gst/elements/gstfakesrc.h:
-	  * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
-	  (gst_filesrc_open_file), (gst_filesrc_loop),
-	  (gst_filesrc_activate), (filesrc_find_peek),
-	  (gst_filesrc_type_find):
-	  Made base source class, make fakesrc extend it.
-	  Add comments to basesink class.
-	  Some filesrc cleanup.
+	* gst/gst.c:
+	  gst: remove custom logger for critical/warnings/fatals
+	  It's not really needed anymore (only calls out to
+	  g_log_default_handler() and interferes with applications using
+	  g_log_set_default_handler().
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2135>
 
-2005-04-01 10:14:45 +0000  Andy Wingo <wingo@pobox.com>
+2022-04-01 21:47:59 +0800  Haihua Hu <jared.hu@nxp.com>
 
-	* tests/memchunk/gmemchunktest.c:
-	  add support for google malloc if available
-	  Original commit message from CVS:
-	  add support for google malloc if available
+	* tools/gst-launch.c:
+	  ximagesink/xvimagesink: use GST_XINITTHREADS to ensure call to XInitThreads
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2098>
 
-2005-04-01 02:41:35 +0000  David Schleef <ds@schleef.org>
+2022-04-02 00:16:29 +1100  Jan Schmidt <jan@centricular.com>
 
-	  gst/gstplugin.c: Switch to using G_MODULE_BIND_LOCAL, which means plugins are now expected to link against libgstreamer.
-	  Original commit message from CVS:
-	  * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
-	  Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
-	  expected to link against libgstreamer.
-	  * gst/base/Makefile.am: link against libgstreamer
-	  * gst/elements/Makefile.am: same
+	* libs/gst/base/gstaggregator.c:
+	  aggregator: Improve debugging of arriving buffers
+	  Log some details about the buffers that are arriving and
+	  being enqueued on each sink pad.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2096>
 
-2005-03-31 15:00:11 +0000  Andy Wingo <wingo@pobox.com>
+2022-04-02 00:46:21 +1100  Jan Schmidt <jan@centricular.com>
 
-	  tests/instantiate/: Add test to test speed of caps copy and free.
-	  Original commit message from CVS:
-	  2005-03-31  Andy Wingo  <wingo@pobox.com>
-	  * tests/instantiate/Makefile.am:
-	  * tests/instantiate/caps.c: Add test to test speed of caps copy
-	  and free.
-	  * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
-	  GMemChunk to be fair.
-	  * gst/gsttrashstack.h: Remove warning about using the fallback
-	  trash stack implementation, it's still faster than malloc.
+	* gst/gstpad.c:
+	  gstreamer: Remove GST_DATAFLOW debug category
+	  Nothing has logged anything to this category since event and
+	  buffer dataflow was de-unified in 2005.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2097>
 
-2005-03-31 10:10:55 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-03-30 11:06:02 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	  gst/: Added start/stop methods to transform base class so subclasses don't need to deal with state changes even.
-	  Original commit message from CVS:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
-	  (gst_base_transform_class_init), (gst_base_transform_init),
-	  (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
-	  (gst_base_transform_get_property),
-	  (gst_base_transform_sink_activate),
-	  (gst_base_transform_src_activate),
-	  (gst_base_transform_change_state):
-	  * gst/base/gstbasetransform.h:
-	  * gst/elements/gstidentity.c: (gst_identity_class_init),
-	  (gst_identity_event), (gst_identity_check_perfect),
-	  (gst_identity_transform), (gst_identity_start),
-	  (gst_identity_stop):
-	  Added start/stop methods to transform base class so subclasses
-	  don't need to deal with state changes even.
+	* meson.build:
+	  Use gmodule-no-export-2.0
+	  We don't need `-Wl,--export-dynamic`, that's used only for executables
+	  that needs to export an API to be used by plugins they load.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
 
-2005-03-31 10:10:21 +0000  Andy Wingo <wingo@pobox.com>
+2022-03-25 15:00:20 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	* tests/memchunk/gmemchunktest.c:
-	  add per-thread stats
-	  Original commit message from CVS:
-	  add per-thread stats
+	* docs/meson.build:
+	* libs/gst/base/meson.build:
+	* libs/gst/check/meson.build:
+	* libs/gst/controller/meson.build:
+	* libs/gst/helpers/meson.build:
+	* meson.build:
+	* plugins/elements/meson.build:
+	* tests/benchmarks/meson.build:
+	* tests/check/meson.build:
+	* tests/examples/adapter/meson.build:
+	* tests/examples/controller/meson.build:
+	* tests/examples/helloworld/meson.build:
+	* tests/examples/memory/meson.build:
+	* tests/examples/netclock/meson.build:
+	* tests/examples/ptp/meson.build:
+	* tests/examples/stepping/meson.build:
+	* tests/examples/streamiddemux/meson.build:
+	* tests/examples/streams/meson.build:
+	  Remove glib and gobject dependencies everywhere
+	  They are part of gst_dep already and we have to make sure to always have
+	  gst_dep. The order in dependencies matters, because it is also the order
+	  in which Meson will set -I args. We want gstreamer's config.h to take
+	  precedence over glib's private config.h when it's a subproject.
+	  While at it, remove useless fallback args for gmodule/gio dependencies,
+	  only gstreamer core needs it.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
 
-2005-03-31 09:46:28 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-03-24 14:15:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	  gst/: Added rate to the discont event to prepare for variable speed and reverse playback.
-	  Original commit message from CVS:
-	  * gst/gstevent.c: (gst_event_new_discontinuous_valist),
-	  (gst_event_new_discontinuous), (gst_event_discont_get_value):
-	  * gst/gstevent.h:
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_pull_range):
-	  Added rate to the discont event to prepare for variable speed
-	  and reverse playback.
+	* meson.build:
+	  Fix cross build with mingw32
+	  At least on Ubuntu 20.04 the x86_64-w64-mingw32-gcc toolchain defaults
+	  to WinXP. We require at least Vista for FILE_STANDARD_INFO.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2022>
 
-2005-03-30 14:09:01 +0000  Andy Wingo <wingo@pobox.com>
+2020-09-04 20:52:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 
-	* tests/memchunk/gmemchunktest.c:
-	  Commit mem chunk test; probably will be removed later.
-	  Original commit message from CVS:
-	  Commit mem chunk test; probably will be removed later.
+	* data/android/GStreamer.java:
+	* data/meson.build:
+	* gst/gstandroid.c:
+	* gst/meson.build:
+	  Android: Implement JNI_OnLoad()
+	  When building for Android, chances are that gstreamer is going to be
+	  loaded from Java using System.loadLibrary(). In that case we can
+	  initialize GStreamer (including static plugins), redirect log functions,
+	  etc.
+	  This code is copied from cerbero because it can be used with
+	  gstreamer-full-1.0 too. Cerbero needs to be adapted to drop that code
+	  and generate gst_init_static_plugins() function.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/617>
 
-2005-03-30 03:57:39 +0000  David Schleef <ds@schleef.org>
+2021-09-11 12:17:56 -0300  Thibault Saunier <tsaunier@igalia.com>
 
-	  A little example program to show how trigger-based elements can work.
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * testsuite/trigger/Makefile.am:
-	  * testsuite/trigger/trigger.c: A little example program to show
-	  how trigger-based elements can work.
+	* meson.build:
+	* tools/meson.build:
+	  tools: Add support for building gstreamer tools against gst-full
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
 
-2005-03-29 16:18:12 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-03-30 10:01:33 +0200  Edward Hervey <edward@centricular.com>
 
-	  gst/: Simplify pad activation.
-	  Original commit message from CVS:
-	  * gst/base/Makefile.am:
-	  * gst/base/README:
-	  * gst/base/gstbasesink.c: (gst_basesink_get_type),
-	  (gst_basesink_base_init), (gst_basesink_class_init),
-	  (gst_basesink_pad_getcaps), (gst_basesink_init),
-	  (gst_basesink_activate), (gst_basesink_change_state):
-	  * gst/base/gstbasesink.h:
-	  * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
-	  (gst_base_transform_base_init), (gst_base_transform_finalize),
-	  (gst_base_transform_class_init), (gst_base_transform_init),
-	  (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
-	  (gst_base_transform_event), (gst_base_transform_getrange),
-	  (gst_base_transform_chain), (gst_base_transform_handle_buffer),
-	  (gst_base_transform_set_property),
-	  (gst_base_transform_get_property),
-	  (gst_base_transform_sink_activate),
-	  (gst_base_transform_src_activate),
-	  (gst_base_transform_change_state):
-	  * gst/base/gstbasetransform.h:
-	  * gst/elements/gstidentity.c: (gst_identity_finalize),
-	  (gst_identity_class_init), (gst_identity_init),
-	  (gst_identity_event), (gst_identity_check_perfect),
-	  (gst_identity_transform), (gst_identity_set_property),
-	  (gst_identity_get_property), (gst_identity_change_state):
-	  * gst/elements/gstidentity.h:
-	  * gst/gstelement.c: (gst_element_get_state_func),
-	  (gst_element_lost_state), (gst_element_pads_activate):
-	  * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
-	  (gst_pad_check_pull_range), (gst_pad_pull_range):
-	  * gst/gstpad.h:
-	  Simplify pad activation.
-	  Added function to check if pull_range can be performed.
-	  Error out when pulling inactive or flushing pads.
-	  Removed const from refcounted types as it does not make sense.
-	  Simplify pad templates in basesink
-	  Added base class for simple 1-to-1 transforms.
-	  Make identity subclass the base transform.
+	* gst/gstquark.c:
+	* gst/gstquark.h:
+	* gst/gstquery.c:
+	* gst/gstquery.h:
+	  query: Add a new stream selection query
+	  This new API allows querying whether elements can handle stream selection
+	  themselves or not.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1905>
 
-2005-03-29 14:34:51 +0000  Andy Wingo <wingo@pobox.com>
+2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 
-	  docs/: Add these files to CVS. Now I really don't understand what's going on, but like whatever. I want green buildbot!
-	  Original commit message from CVS:
-	  2005-03-29  Andy Wingo  <wingo@pobox.com>
-	  * docs/libs/gstreamer-libs-overrides.txt:
-	  * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
-	  really don't understand what's going on, but like whatever. I want
-	  green buildbot!
+	* meson.build:
+	  meson: Bump all meson requirements to 0.60
+	  Lots of new warnings ever since
+	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
 
-2005-03-29 14:12:48 +0000  Andy Wingo <wingo@pobox.com>
+2022-01-05 19:33:06 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
 
-	  docs/: Dist the overrides files.
-	  Original commit message from CVS:
-	  2005-03-29  Andy Wingo  <wingo@pobox.com>
-	  * docs/gst/Makefile.am:
-	  * docs/libs/Makefile.am: Dist the overrides files.
-	  * check/Makefile.am (clean-local): Remove .libs directories.
-	  * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
-	  elements to EXTRA_DIST, so po/ files are happy.
+	* libs/gst/base/gstaggregator.c:
+	  compositor: send translated navigation events to the relevant sink pads
+	  Fixes #888
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495>
 
-2005-03-29 13:10:25 +0000  Andy Wingo <wingo@pobox.com>
+2022-02-23 17:39:18 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
 
-	  po/POTFILES: Remove gstspider.c.
-	  Original commit message from CVS:
-	  2005-03-29  Andy Wingo  <wingo@pobox.com>
-	  * po/POTFILES: Remove gstspider.c.
-	  * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
-	  * docs/libs/gstreamer-libs-docs.sgml:
-	  * docs/libs/gstreamer-libs-sections.txt: Remove the section on
-	  bytestream.
-	  * tests/complexity.c (main): Set the length of the preroll queue
-	  on the sinks to prevent a lockup.
+	* gst/gstevent.c:
+	* gst/gstmessage.c:
+	  documentation: improve misleading wording
+	  The documentation for several gst_*_writable_structure functions stated
+	  that they would never return NULL, without making clear that the passed
+	  object is required to be writable. This changes the wording in those
+	  cases to make that requirement more clear.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1784>
 
-2005-03-29 11:39:17 +0000  Andy Wingo <wingo@pobox.com>
+2022-03-10 18:22:49 +0000  Philippe Normand <philn@igalia.com>
 
-	  libs/gst/dataprotocol/: Remove test, it's the same as the one in check/gst-libs/gdp.c.
-	  Original commit message from CVS:
-	  2005-03-29  Andy Wingo  <wingo@pobox.com>
-	  * libs/gst/dataprotocol/Makefile.am:
-	  * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
-	  the same as the one in check/gst-libs/gdp.c.
+	* gst/gsturi.c:
+	  uri: Build doubly-linked list by prepending items
+	  As outlined in the API documentation, g_list_append() iterates over the whole
+	  list, which can quickly introduce performance issues when the list becomes very
+	  big, such as for data URIs for instance.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
 
-2005-03-29 10:55:39 +0000  Andy Wingo <wingo@pobox.com>
+2022-03-08 12:04:41 +0000  Philippe Normand <philn@igalia.com>
 
-	  po/, docs/gst/: Commit automatic changes to docs and po files.
-	  Original commit message from CVS:
-	  2005-03-29  Andy Wingo  <wingo@pobox.com>
-	  * po/, docs/gst/: Commit automatic changes to docs and po files.
-	  * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
-	  the versioned libgstbase.
-	  * check/Makefile.am: Depend on an unversioned gst-register, seems
-	  to make autoconf happier.
-	  * gst/base/Makefile.am: Make libgstbase a versioned lib.
+	* plugins/elements/gsttypefindelement.c:
+	  typefind: Skip parsing of data URIs
+	  Commit a46ab2ced20d757e0e770d4de1edc3a152cc4f2f introduced a regression,
+	  breaking typefinding for media content muxed in mp4 container and serialized to
+	  data URIs. For this case it doesn't make sense to look for a file extension, so
+	  skip URI parsing.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
 
-2005-03-28 14:54:33 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-03-15 14:00:06 +0100  Corentin Noël <tintou@noel.tf>
 
-	* ChangeLog:
-	* configure.ac:
-	* docs/design/part-gstelement.txt:
-	* docs/design/part-negotiation.txt:
-	* docs/design/part-preroll.txt:
-	* docs/design/part-scheduling.txt:
-	* docs/design/part-states.txt:
-	* gst/Makefile.am:
-	* gst/base/Makefile.am:
-	* gst/base/README:
-	* gst/base/gstbasesink.c:
-	* gst/base/gstbasesink.h:
-	* gst/elements/Makefile.am:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesink.h:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	* libs/gst/base/Makefile.am:
-	* libs/gst/base/README:
-	* libs/gst/base/gstbasesink.c:
 	* libs/gst/base/gstbasesink.h:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesink.h:
-	  Added state change code.
-	  Original commit message from CVS:
-	  Added state change code.
-	  Added/updated docs.
-	  Added sink base class, make fakesink extend the base class.
-	  Small cleanups in GstPipeline.
-
-2005-03-26 22:07:53 +0000  David Schleef <ds@schleef.org>
+	  basesink: Fix annotations
+	  We should annotate the Class and not the object itself.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1965>
 
-	  gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality is broken and should be implemented in a different li...
-	  Original commit message from CVS:
-	  * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
-	  is broken and should be implemented in a different library.
-	  * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
-	  * gst/gst.h: remove gstcpu.h
-	  * gst/gstcpu.c: remove
-	  * gst/gstcpu.h: remove
-	  * gst/Makefile.am.future: Remove this file.  It's ancient.
+2022-03-11 18:08:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-03-25 09:57:42 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* data/bash-completion/helpers/meson.build:
+	* data/meson.build:
+	* libs/gst/helpers/meson.build:
+	  Meson: Set install_tag on some files
+	  Meson tries to guess the tag (runtime, devel, etc) for every installed
+	  file, but it cannot guess them all. There is a list at the end of
+	  meson-log.txt of files we need to tag manually.
+	  See https://mesonbuild.com/Installing.html#installation-tags.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
 
-	  gst/gstbin.c: Add default event/set_manager handlers. The set_manager handler takes care that the manager is distribu...
-	  Original commit message from CVS:
-	  * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
-	  (gst_bin_send_event):
-	  Add default event/set_manager handlers. The set_manager handler
-	  takes care that the manager is distributed over kids that were
-	  already in the bin before the manager was set. The event handler
-	  is a utility virtual function that sends the event over all sinks,
-	  so that gst_element_send_event (bin, event); has the expected
-	  behaviour.
-	  * gst/gstpad.c: (gst_pad_event_default):
-	  Re-install default event handling for discontinuities, so that
-	  seeking works without requiring hacks in applications or extra
-	  code in sinks.
-	  * gst/gstpipeline.c: (gst_pipeline_class_init),
-	  (gst_pipeline_send_event):
-	  Half hack, half utility: set a pipeline to PAUSED for seek events,
-	  since that is the only way we can guarantee a/v sync. Means that
-	  you can do gst_element_seek (pipeline, method, pos); on a pipeline
-	  and it "just works".
+2022-03-02 17:07:37 +0100  Edward Hervey <edward@centricular.com>
 
-2005-03-25 09:35:01 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+	* plugins/elements/gstmultiqueue.c:
+	  multiqueue: Fix interleave calculation for data before segment start
+	  This commit modifies the interleave calculation to allow growing when incoming
+	  data is before the segment start.
+	  The rationale is that there is no requirement whatsoever for data before the
+	  segment start to be "coherent" on all streams.
+	  For example, a demuxer could rightfully send data from the video stream from the
+	  previous keyframe (potentially quite a bit before the segment start) and the
+	  audio from just before the segment start.
+	  This will activate the same logic as growing the interleave when some streams
+	  haven't received buffers yet.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
 
-	  gst/gstpipeline.c: Lock/unlock mismatch.
-	  Original commit message from CVS:
-	  * gst/gstpipeline.c: (gst_pipeline_use_clock):
-	  Lock/unlock mismatch.
+2021-08-06 08:30:39 +0200  Edward Hervey <edward@centricular.com>
 
-2005-03-25 00:35:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* plugins/elements/gstmultiqueue.c:
+	* plugins/elements/gstmultiqueue.h:
+	  multiqueue: Improve interleave calculation at startup and EOS
+	  * When a stream receives EOS, it will no longer change, we shouldn't take that
+	  stream into account for interleave calculation.
+	  * When streams (re)appear, we do not want to grow the initial interleave values
+	  to excessive values. Instead of setting it to a default of 5s, progressively
+	  grow it to that maximum.
+	  * When the status of input streams change (i.e. going to/from "some haven't
+	  received data yet" and "all have received data"), update the interleave
+	  immediately instead of waiting for (potentially) 5s of data before updating
+	  it.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1892>
 
-	  docs/faq/gst-uninstalled: add gst-plugins-base
-	  Original commit message from CVS:
-	  * docs/faq/gst-uninstalled:
-	  add gst-plugins-base
-	  * docs/gst/Makefile.am:
-	  don't error out until docs are fixed
-	  * docs/gst/gstreamer.types:
-	  remove thread
+2021-12-20 17:31:17 +0100  sergei.kovalev <sergei@pexip.com>
 
-2005-03-22 14:23:49 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* tests/check/gstreamer.supp:
+	  check: Fix valgrind suppression for debug function list
+	  Fix suppression to support release and debug builds.
+	  Here is the debug build call stack:
+	  ```
+	  ==10707==    by 0x48B5520: g_malloc (gmem.c:106)
+	  ==10707==    by 0x48D19DC: g_slice_alloc (gslice.c:1069)
+	  ==10707==    by 0x48D3947: g_slist_copy_deep (gslist.c:619)
+	  ==10707==    by 0x48D38B8: g_slist_copy (gslist.c:567)
+	  ==10707==    by 0x4ADC90B: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+	  ```
+	  In release build `g_slist_copy (gslist.c:567)` got inlined:
+	  ```
+	  ==15419==    by 0x48963E0: g_malloc (gmem.c:106)
+	  ==15419==    by 0x48AA382: g_slice_alloc (gslice.c:1069)
+	  ==15419==    by 0x48AB732: g_slist_copy_deep (gslist.c:619)
+	  ==15419==    by 0x4A39B8F: gst_debug_remove_with_compare_func (gstinfo.c:1504)
+	  ```
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1814>
 
-	  Activated more tests.
-	  Original commit message from CVS:
-	  * check/Makefile.am:
-	  * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
-	  * gst/gststructure.c: (gst_structure_set_valist),
-	  (gst_structure_copy_conditional):
-	  Activated more tests.
-	  Added message test.
-	  Added G_TYPE_POINTER to GstStructure.
+2022-02-21 10:49:15 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
 
-2005-03-22 11:32:59 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* docs/gst/running.md:
+	* docs/index.md:
+	* gst/gstregistry.c:
+	  Remove the uninstalled term
+	  Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
+	  The `uninstalled` is the old name and the project should stick to a
+	  single name for the procedure.
+	  Remove the term from all the files, exceptions are variables from
+	  dependencies like `uninstalled_variables` from pkgconfig and
+	  `meson-uninstalled`.
+	  Adjust mentions of the script in the documentation and README.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
 
-	  Docs updates
-	  Original commit message from CVS:
-	  * docs/design/part-TODO.txt:
-	  * docs/design/part-events.txt:
-	  * docs/design/part-gstbin.txt:
-	  * docs/design/part-gstbus.txt:
-	  * docs/design/part-gstpipeline.txt:
-	  * docs/design/part-messages.txt:
-	  * gst/gstbus.c:
-	  * gst/gstmessage.c:
-	  Docs updates
+2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
 
-2005-03-21 18:17:57 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* README.md:
+	  Maintain build instructions at a single location
+	  Do not maintain similar build instructions within each gst-plugins-*
+	  subproject and the subproject/gstreamer subproject. Use the build
+	  instructions from the mono-repository and link to them via hyperlink.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
 
-	  gst/gstbus.c: Fix copy-and-paste error.
-	  Original commit message from CVS:
-	  * gst/gstbus.c: (gst_bus_post):
-	  Fix copy-and-paste error.
+2022-02-23 10:13:54 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2005-03-21 17:34:02 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstbuffer.h:
+	  buffer: Clarify that the MARKER flag maps to the corresponding RTP header flag
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776>
 
-	* ChangeLog:
-	* check/Makefile.am:
-	* common:
-	* gst/Makefile.am:
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gstidentity.h:
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttee.h:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstbus.c:
-	* gst/gstbus.h:
-	* gst/gstcaps.h:
-	* gst/gstdata.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.c:
-	* gst/gstevent.h:
-	* gst/gstmessage.c:
-	* gst/gstmessage.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* gst/gstprobe.h:
-	* gst/gstqueue.c:
-	* gst/gstqueue.h:
-	* gst/gstscheduler.c:
-	* gst/gstscheduler.h:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gsttaginterface.h:
-	* gst/gsttagsetter.h:
-	* gst/gsttask.c:
-	* gst/gsttask.h:
-	* gst/gstthread.c:
-	* gst/gstthread.h:
-	* gst/gsttypes.h:
-	* gst/schedulers/Makefile.am:
-	* gst/schedulers/cothreads_compat.h:
-	* gst/schedulers/entryscheduler.c:
-	* gst/schedulers/faircothreads.c:
-	* gst/schedulers/faircothreads.h:
-	* gst/schedulers/fairscheduler.c:
-	* gst/schedulers/gstbasicscheduler.c:
-	* gst/schedulers/gstoptimalscheduler.c:
-	* gst/schedulers/gthread-cothreads.h:
-	* gst/schedulers/threadscheduler.c:
-	* libs/gst/Makefile.am:
-	* libs/gst/bytestream/bytestream.c:
-	* libs/gst/bytestream/filepad.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/Makefile.am:
-	* plugins/elements/gstelements.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfakesrc.h:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstidentity.h:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstqueue.h:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttee.h:
-	* tests/benchmarks/complexity.c:
-	* tests/benchmarks/mass-elements.c:
-	* tests/check/Makefile.am:
-	* tests/complexity.c:
-	* tests/mass_elements.c:
-	* tests/old/testsuite/states/locked.c:
-	* tests/old/testsuite/states/parent.c:
-	* testsuite/states/locked.c:
-	* testsuite/states/parent.c:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-md5sum.c:
-	* tools/gst-typefind.c:
-	* tools/gst-xmlinspect.c:
-	  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.
+2022-02-27 13:17:40 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2005-03-10 12:51:45 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* gst/gstregistry.c:
+	  registry: Fix multi-line `#warning` compiler warning
+	  subprojects/gstreamer/gst/gstregistry.c:1593: unexpected character `"'
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1802>
 
-	  Doc updates.
-	  Original commit message from CVS:
-	  * docs/design/part-MT-refcounting.txt:
-	  * docs/design/part-clocks.txt:
-	  * docs/design/part-gstelement.txt:
-	  * docs/design/part-gstobject.txt:
-	  * docs/design/part-standards.txt:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
-	  (gst_bin_remove_func), (gst_bin_remove):
-	  * gst/gstbin.h:
-	  * gst/gstbuffer.c:
-	  * gst/gstcaps.h:
-	  * testsuite/clock/clock1.c: (main):
-	  * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
-	  (main):
-	  * testsuite/dlopen/loadgst.c: (do_test):
-	  * testsuite/refcounting/bin.c: (add_remove_test1),
-	  (add_remove_test2), (main):
-	  * testsuite/refcounting/element.c: (main):
-	  * testsuite/refcounting/element_pad.c: (main):
-	  * testsuite/refcounting/pad.c: (main):
-	  * tools/gst-launch.c: (sigint_handler_sighandler):
-	  * tools/gst-typefind.c: (main):
-	  Doc updates.
-	  Added doc about clock.
-	  removed gst_bin_iterate_recurse_up(), marked methods
-	  for removal.
-	  Fix more testsuites.
+2022-02-21 11:37:26 -0500  Xavier Claessens <xavier.claessens@collabora.com>
 
-2005-03-09 17:28:52 +0000  Wim Taymans <wim.taymans@gmail.com>
+	* libs/gst/helpers/meson.build:
+	  devenv: Add some missing GStreamer specific env variables
+	  This should make "meson devenv" closer to what "gst-env.py" sets.
+	  - GST_VALIDATE_SCENARIOS_PATH
+	  - GST_VALIDATE_APPS_DIR
+	  - GST_OMX_CONFIG_DIR
+	  - GST_ENCODING_TARGET_PATH
+	  - GST_PRESET_PATH
+	  - GST_PLUGIN_SCANNER
+	  - GST_PTP_HELPER
+	  - _GI_OVERRIDES_PATH
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
+
+2021-11-03 17:05:07 +1100  Matthew Waters <matthew@centricular.com>
 
-	  Fix _pad_get_direction wrt ghostpads.
-	  Original commit message from CVS:
-	  * gst/gstpad.c: (gst_pad_get_direction),
-	  (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
-	  (gst_pad_collect_valist):
-	  * testsuite/bins/interface.c: (main):
-	  * testsuite/caps/audioscale.c: (test_caps):
-	  * testsuite/caps/caps.c: (test1), (test2), (test3):
-	  * testsuite/caps/deserialize.c: (main):
-	  * testsuite/caps/enumcaps.c: (main):
-	  * testsuite/caps/filtercaps.c: (main):
-	  * testsuite/caps/intersect2.c: (main):
-	  * testsuite/caps/random.c: (main):
-	  * testsuite/caps/renegotiate.c: (my_fixate), (main):
-	  * testsuite/caps/sets.c: (check_caps):
-	  * testsuite/caps/simplify.c: (check_caps), (main):
-	  * testsuite/caps/subtract.c: (check_caps):
-	  Fix _pad_get_direction wrt ghostpads.
-	  Fix caps testsuite.
+	* libs/gst/check/gsttestclock.c:
+	  tests/clock: avoid a race cranking
+	  Scenario:
+	  - Source 1 requesting and waiting a clock id
+	  - Source 2 requesting and waiting on a clock id
+	  - Test attempting to crank both sources in the same GstHarness
+	  gst_test_clock_crank() originally dropped locks between the retrieving
+	  of the next clock id and advancing to the next clock id.  This would
+	  mean that both sources would race each other attempting to complete
+	  their clock waits.  Sometimes the operations would be performed in the
+	  correct order, other times they would not and a FALSE return value would
+	  be produced.
+	  This would lead to an assertion in gst_harness_push_from_src() expecting
+	  that all clock cranks to succeed.
+	  Fix by ensuring that the clock wait produced is dealt with before
+	  processing the next by not dropping the relevant locks after retrieving
+	  the next clock id.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1299>
+
+2021-11-02 15:58:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	  doc: Fix doc comment for GstChildProxy
+	  This removes warning like:
+	  ../subprojects/gstreamer/gst/gstchildproxy.h:57: Error: Gst: identifier not found on the first line:
+	  * #GstChildProxyInterface::get_child_by_name:
+	  ^
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1297>
 
-2005-03-09 16:10:59 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-02-06 22:54:42 +0900  Seungha Yang <seungha@centricular.com>
 
-	* ChangeLog:
-	* check/Makefile.am:
-	* check/gst/gstbin.c:
-	* check/gst/gstsystemclock.c:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstiterator.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	* gst/gstutils.h:
-	* gst/schedulers/entryscheduler.c:
-	* gst/schedulers/gstbasicscheduler.c:
-	* tests/check/Makefile.am:
-	* tests/check/gst/gstbin.c:
-	* tests/check/gst/gstsystemclock.c:
-	* tests/old/testsuite/bins/interface.c:
-	* testsuite/bins/interface.c:
-	  Added GstBin test.
-	  Original commit message from CVS:
-	  Added GstBin test.
-	  Added GstSystemClock test.
-	  Implemented clock distribution code in GstBin.
-	  Implemented iterate sinks method for future use.
-	  Rearranged gstelement.h
-	  Fix GstIterator comparison bug.
-	  Moved some code to GstPipeline, mostly clocking related.
+	* gst/gstinfo.c:
+	* libs/gst/check/libcheck/libcompat/libcompat.h:
+	* libs/gst/net/gstptpclock.c:
+	  gstinfo,ptpclock,libcheck: Use GetCurrentProcessId() instead of getpid() on Windows
+	  getpid() shouldn't be used in case of UWP. Use GetCurrentProcessId()
+	  instead which provides exactly the same functionality and can be
+	  used with UWP as well.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
 
-2005-03-09 11:08:18 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-02-07 02:49:15 +0900  Seungha Yang <seungha@centricular.com>
 
-	  Bump version number, we're now 0.9.0
-	  Original commit message from CVS:
-	  * configure.ac:
-	  * gst/gst_private.h:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
-	  (gst_bin_remove_func), (gst_bin_remove),
-	  (gst_bin_get_by_name_recurse_up):
-	  * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
-	  (gst_clock_id_compare_func), (gst_clock_id_wait),
-	  (gst_clock_id_wait_async), (gst_clock_init),
-	  (gst_clock_adjust_unlocked), (gst_clock_get_time):
-	  * gst/gstelement.h:
-	  * gst/gstinfo.c: (_gst_debug_init):
-	  * gst/gstobject.h:
-	  * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
-	  (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
-	  * gst/gstpad.h:
-	  Bump version number, we're now 0.9.0
-	  Add future debugging category.
-	  Fix NULL _unref() in _get_by_name_recurse_up
-	  Rearrange gstpad.h.
-	  Update some docs.
+	* meson.build:
+	* tests/check/elements/fdsrc.c:
+	* tests/check/gst/gstpoll.c:
+	  check: Disable some tests if pipe() is unavailable for UWP build
+	  pipe() and _pipe() are not allowed on UWP
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
 
-2005-03-08 17:42:29 +0000  Wim Taymans <wim.taymans@gmail.com>
+2021-10-01 20:27:28 +0900  Seungha Yang <seungha@centricular.com>
 
-	* ChangeLog:
-	* gst/elements/gstaggregator.c:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstfdsink.c:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gstmd5sink.c:
-	* gst/elements/gstmultifilesrc.c:
-	* gst/elements/gstshaper.c:
-	* gst/elements/gststatistics.c:
-	* gst/elements/gsttee.c:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstqueue.c:
-	* gst/gstthread.c:
-	* gst/schedulers/gstbasicscheduler.c:
-	* gst/schedulers/gstoptimalscheduler.c:
-	* plugins/elements/gstaggregator.c:
-	* plugins/elements/gstfakesink.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstfdsink.c:
-	* plugins/elements/gstfdsrc.c:
-	* plugins/elements/gstfilesink.c:
-	* plugins/elements/gstfilesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstmd5sink.c:
-	* plugins/elements/gstmultifilesrc.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gstshaper.c:
-	* plugins/elements/gststatistics.c:
-	* plugins/elements/gsttee.c:
-	  Remove threadsafe properties. Fix elements because GObject complains when installing a property before declaring a se...
-	  Original commit message from CVS:
-	  Remove threadsafe properties. Fix elements because GObject
-	  complains when installing a property before declaring a
-	  set/get_property handler.
-	  Rearrange gstelement.h file, use STATE macros for state locks.
-	  Free mutexes in the finalize method instead of dispose.
+	* meson.build:
+	* tests/check/gst/gstmeta.c:
+	* tests/check/gst/gstpoll.c:
+	* tools/gst-inspect.c:
+	  meson: Do hard build error for some MSVC warnings
+	  Handle various MSVC warnings as errors for development version.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
 
-2005-03-08 15:57:15 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-02-08 23:30:00 +0900  Seungha Yang <seungha@centricular.com>
 
-	  Added parentage check.
-	  Original commit message from CVS:
-	  * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
-	  * gst/gstthread.c: (gst_thread_release_children_locks):
-	  Added parentage check.
-	  Fix build og GstThread again.
+	* libs/gst/check/libcheck/libcompat/libcompat.h:
+	  Remove some trailing white spaces
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006>
 
-2005-03-08 14:38:06 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-01-31 13:01:10 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
 
-	  Docs updates, clean up some headers.
-	  Original commit message from CVS:
-	  * docs/design/part-MT-refcounting.txt:
-	  * docs/design/part-conventions.txt:
-	  * docs/design/part-gstobject.txt:
-	  * docs/design/part-relations.txt:
-	  * docs/design/part-standards.txt:
-	  * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
-	  (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
-	  (gst_bin_get_by_name), (gst_bin_get_by_interface),
-	  (gst_bin_iterate_all_by_interface):
-	  * gst/gstbuffer.h:
-	  * gst/gstclock.h:
-	  * gst/gstelement.c: (gst_element_class_init),
-	  (gst_element_change_state), (gst_element_set_loop_function):
-	  * gst/gstelement.h:
-	  * gst/gstiterator.c:
-	  * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
-	  (gst_object_unref), (gst_object_sink), (gst_object_dispose),
-	  (gst_object_dispatch_properties_changed), (gst_object_set_name),
-	  (gst_object_set_parent), (gst_object_unparent),
-	  (gst_object_check_uniqueness):
-	  * gst/gstobject.h:
-	  Docs updates, clean up some headers.
-	  Free iterators in GstBin.
-	  GstObject is now looking good.
+	* gst/gstevent.c:
+	  navigation: add more constructors for navigation events
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1610>
 
-2005-03-07 18:33:37 +0000  Wim Taymans <wim.taymans@gmail.com>
+2022-02-08 12:58:52 +1100  Matthew Waters <matthew@centricular.com>
 
-	  check/: Added checks.
-	  Original commit message from CVS:
-	  * check/.cvsignore:
-	  * check/Makefile.am:
-	  * check/gst-libs/.cvsignore:
-	  * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
-	  * check/gst/.cvsignore:
-	  * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
-	  (START_TEST), (gstbus_suite), (main):
-	  * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
-	  * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
-	  (gst_data_suite), (main):
-	  * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
-	  (add_fold_func), (gstiterator_suite), (main):
-	  * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
-	  (thread_name_object), (thread_name_object_default),
-	  (gst_object_name_compare), (gst_object_suite), (main):
-	  * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
-	  (gst_pad_suite), (main):
-	  * check/gstcheck.c: (gst_check_log_message_func),
-	  (gst_check_log_critical_func), (gst_check_init):
-	  * check/gstcheck.h:
-	  * check/pipelines/simple_launch_lines.c: (setup_pipeline),
-	  (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
-	  Added checks.
+	* gst/gstregistry.c:
+	  registry: enable relocatable builds for anywhere with dladdr()
+	  Such as Linux/BSD's.
+	  Matches the Windows/macOS behaviour.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1662>
 
-2005-03-07 18:29:36 +0000  Wim Taymans <wim.taymans@gmail.com>
+2021-12-08 22:13:15 +0000  Jose Quaresma <quaresma.jose@gmail.com>
 
-	  gst/gstiterator.*: Added missing files.
-	  Original commit message from CVS:
-	  * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
-	  (gst_list_iterator_next), (gst_list_iterator_resync),
-	  (gst_list_iterator_free), (gst_iterator_new_list),
-	  (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
-	  (gst_iterator_free), (gst_iterator_push), (filter_next),
-	  (filter_resync), (filter_uninit), (filter_free),
-	  (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
-	  (gst_iterator_foreach), (find_custom_fold_func),
-	  (gst_iterator_find_custom):
-	  * gst/gstiterator.h:
-	  Added missing files.
+	* gst/gstpluginloader.c:
+	  gstpluginloader: show the reason when spawning of gst-plugin-scanner fail
+	  This fix helps in cross compiling when the meson tests runs using a qemu wraper
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1578>
 
-2005-03-07 18:27:42 +0000  Wim Taymans <wim.taymans@gmail.com>
+2021-10-22 18:40:07 -0300  Martin Reboredo <yakoyoku@gmail.com>
 
-	* ChangeLog:
-	* Makefile.am:
-	* configure.ac:
-	* docs/design/part-MT-refcounting.txt:
-	* docs/design/part-conventions.txt:
-	* docs/design/part-gstobject.txt:
-	* docs/design/part-relations.txt:
-	* examples/mixer/mixer.c:
-	* examples/thread/thread.c:
-	* gst/Makefile.am:
-	* gst/autoplug/gstsearchfuncs.c:
-	* gst/autoplug/gstspider.c:
-	* gst/autoplug/gstspideridentity.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttypefindelement.c:
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gstbin.c:
-	* gst/gstbin.h:
-	* gst/gstbuffer.c:
-	* gst/gstbuffer.h:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstclock.c:
-	* gst/gstclock.h:
-	* gst/gstcompat.h:
-	* gst/gstcpu.c:
-	* gst/gstdata.c:
-	* gst/gstdata.h:
-	* gst/gstelement.c:
-	* gst/gstelement.h:
-	* gst/gstevent.h:
-	* gst/gstformat.c:
-	* gst/gstformat.h:
-	* gst/gstindex.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstmemchunk.c:
-	* gst/gstobject.c:
-	* gst/gstobject.h:
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	* gst/gstpipeline.c:
-	* gst/gstpipeline.h:
-	* gst/gstplugin.c:
-	* gst/gstpluginfeature.c:
-	* gst/gstpluginfeature.h:
-	* gst/gstprobe.c:
-	* gst/gstquery.c:
-	* gst/gstquery.h:
-	* gst/gstqueue.c:
-	* gst/gstscheduler.c:
-	* gst/gststructure.c:
-	* gst/gststructure.h:
-	* gst/gstsystemclock.c:
-	* gst/gstsystemclock.h:
-	* gst/gsttag.c:
-	* gst/gsttaginterface.c:
-	* gst/gsttaglist.c:
-	* gst/gsttagsetter.c:
-	* gst/gstthread.c:
-	* gst/gsttrashstack.h:
-	* gst/gsttypefind.c:
-	* gst/gsttypes.h:
-	* gst/gstutils.c:
-	* gst/gstutils.h:
 	* gst/gstvalue.c:
-	* gst/parse/grammar.y:
-	* gst/schedulers/gstbasicscheduler.c:
-	* gst/schedulers/gstoptimalscheduler.c:
-	* libs/gst/bytestream/bytestream.c:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	* plugins/elements/gstfakesrc.c:
-	* plugins/elements/gstidentity.c:
-	* plugins/elements/gstqueue.c:
-	* plugins/elements/gsttee.c:
-	* plugins/elements/gsttypefindelement.c:
-	* po/nb.po:
-	* po/ru.po:
-	* tests/old/examples/mixer/mixer.c:
-	* tests/old/examples/thread/thread.c:
-	* tests/threadstate/threadstate2.c:
-	* tools/gst-compprep.c:
-	* tools/gst-inspect.c:
-	* tools/gst-launch.c:
-	* tools/gst-md5sum.c:
-	* tools/gst-xmlinspect.c:
-	  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.
+	  gstvalue: De/Serialization of GBytes
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1232>
 
-2005-02-25 00:10:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+2022-02-08 16:24:13 +1100  Sebastian Mueller <sebastian.mueller@nirovision.com>
 
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	  another no-debug build fix
-	  Original commit message from CVS:
-	  another no-debug build fix
+	* gst/gstcontext.c:
+	  context: fix transfer annotation
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1663>
+
+2020-02-17 21:50:54 -0600  Zebediah Figura <zfigura@codeweavers.com>
 
-2005-02-24 23:41:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* libs/gst/base/gstbaseparse.c:
+	* tests/check/libs/baseparse.c:
+	  baseparse: Don't truncate the duration to milliseconds in gst_base_parse_convert_default().
+	  There's no need to do this, and it can make seeking far less accurate.
+	  For a specific use case: I am working with a long (45-minute) MPEG-1 layer 3 file, which has a constant bit rate but no seeking tables. Trying to seek the pipeline immediately after pausing it, without the ACCURATE flag, to a location 41 minutes in, yields a location that is potentially over ten seconds ahead of where it should be. This patch improves that drastically.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
 
-	* gst/schedulers/faircothreads.c:
-	  disable debug build fix
-	  Original commit message from CVS:
-	  disable debug build fix
+2022-02-07 19:33:31 -0600  Zebediah Figura <zfigura@codeweavers.com>
 
-2005-02-24 17:12:19 +0000  Andy Wingo <wingo@pobox.com>
+	* libs/gst/base/gstbaseparse.c:
+	  baseparse: Trace time with GST_TIME_FORAMT in gst_base_parse_convert_default().
+	  Be consistent with how we trace time in general.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/374>
 
-	  tests/: New files, good for running complexity benchmarks.
-	  Original commit message from CVS:
-	  2005-02-24  Andy Wingo  <wingo@pobox.com>
-	  * tests/bench-complexity.scm:
-	  * tests/complexity.gnuplot: New files, good for running complexity
-	  benchmarks.
+2022-02-07 09:46:46 +0200  Sebastian Dröge <sebastian@centricular.com>
 
-2005-02-24 15:36:22 +0000  Andy Wingo <wingo@pobox.com>
+	* gst/gstbufferpool.c:
+	  bufferpool: Deactivate pool and get rid of references to other objects from dispose instead of finalize
+	  During dispose the pool will still have a reference count of 1 and all
+	  API on it can still be safely called.
+	  Subclasses will have already freed their own data before finalize is
+	  called but would nonetheless be called into again via the pool
+	  deactivation.
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1645>
 
-	  tests/: New test, sets up N elements, at each level teeing into M streams per element. Eeeenteresting.
-	  Original commit message from CVS:
-	  2005-02-24  Andy Wingo  <wingo@pobox.com>
-	  * tests/Makefile.am:
-	  * tests/complexity.c: New test, sets up N elements, at each level
-	  teeing into M streams per element. Eeeenteresting.
+2022-02-07 16:51:25 +1100  Matthew Waters <matthew@centricular.com>
 
-2005-02-24 12:31:12 +0000  Andy Wingo <wingo@pobox.com>
+	* gst/gstpluginloader.c:
+	* meson.build:
+	  pluginloader: support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir)
+	  i.e. if GST_PLUGIN_SUBDIR is 'some/lib/path', then the default plugin
+	  loading assumed that there was only 'lib' as it only went up a single
+	  directory to then find the plugin scanner.
+	  Fix to support multiple subdirectories for GST_PLUGIN_SUBDIR (libdir).
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/995
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
 
-	  tests/mass_elements.gnuplot: gnuplot file for the mass_elements benchmark. Run as gnuplot mass_elements.gnuplot > foo...
-	  Original commit message from CVS:
-	  2005-02-24  Andy Wingo  <wingo@pobox.com>
-	  * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
-	  benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
-	  running bench-mass_elements.scm.
-	  * tests/bench-mass_elements.scm: New script, runs mass_elements
-	  for various numbers of identities, outputting the results to a
-	  file. Requires guile 1.6. Just for testing.
+2022-02-07 16:36:13 +1100  Matthew Waters <matthew@centricular.com>
 
-2005-02-23 15:14:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstregistry.c:
+	  registry: check the value of dladdr()
+	  info.dli_fname could be NULL.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/994
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
 
-	* gst/schedulers/fairscheduler.c:
-	  one more fix
-	  Original commit message from CVS:
-	  one more fix
+2022-02-07 16:33:03 +1100  Matthew Waters <matthew@centricular.com>
 
-2005-02-23 15:06:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* gst/gstregistry.c:
+	  registry: check the return value of g_win32_get_package_installation_directory_of_module()
+	  g_win32_get_package_installation_directory_of_module() may return NULL
+	  in some circumstances and we need to deal with that.
+	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/996
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>
 
-	* ChangeLog:
-	* gst/schedulers/fairscheduler.c:
-	  compile with debug disabled
-	  Original commit message from CVS:
-	  compile with debug disabled
+2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
 
-2005-02-22 16:34:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>
+	* meson.build:
+	  Back to development
+	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
 
-	* ChangeLog:
-	* configure.ac:
-	  hunting season on 0.9 is now OPEN
-	  Original commit message from CVS:
-	  hunting season on 0.9 is now OPEN
+=== release 1.20.0 ===
 
diff --git a/NEWS b/NEWS
index 3ada886..9802493 100644
--- a/NEWS
+++ b/NEWS
@@ -1,14 +1,11 @@
-GStreamer 1.18 Release Notes
+GStreamer 1.22 Release Notes
 
-GStreamer 1.18.0 was originally released on 8 September 2020.
+GStreamer 1.22.0 was originally released on 23 January 2023.
 
-The latest bug-fix release in the 1.18 series is 1.18.4 and was released
-on 15 March 2021.
-
-See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
+See https://gstreamer.freedesktop.org/releases/1.22/ for the latest
 version of this document.
 
-Last updated: Monday 15 March 2021, 13:00 UTC (log)
+Last updated: Monday 23 January 2023, 17:00 UTC (log)
 
 Introduction
 
@@ -21,2883 +18,1222 @@ fixes and other improvements.
 
 Highlights
 
--   GstTranscoder: new high level API for applications to transcode
-    media files from one format to another
+-   AV1 video codec support improvements
+-   New HLS, DASH and Microsoft Smooth Streaming adaptive streaming
+    clients
+-   Qt6 support for rendering video inside a QML scene
+-   Minimal builds optimised for binary size, including only the
+    individual elements needed
+-   Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and
+    stabilisation
+-   WebRTC simulcast support and support for Google Congestion Control
+-   WebRTC-based media server ingestion/egress (WHIP/WHEP) support
+-   New easy to use batteries-included WebRTC sender plugin
+-   Easy RTP sender timestamp reconstruction for RTP and RTSP
+-   ONVIF timed metadata support
+-   New fragmented MP4 muxer and non-fragmented MP4 muxer
+-   New plugins for Amazon AWS storage and audio transcription services
+-   New gtk4paintablesink and gtkwaylandsink renderers
+-   New videocolorscale element that can convert and scale in one go for
+    better performance
+-   High bit-depth video improvements
+-   Touchscreen event support in navigation API
+-   Rust plugins now shipped in macOS and Windows/MSVC binary packages
+-   H.264/H.265 timestamp correction elements for PTS/DTS reconstruction
+    before muxers
+-   Improved design for DMA buffer sharing and modifier handling for
+    hardware-accelerated video decoders/encoders/filters and
+    capturing/rendering on Linux
+-   Video4Linux2 hardware accelerated decoder improvements
+-   CUDA integration and Direct3D11 integration and plugin improvements
+-   New H.264 / AVC, H.265 / HEVC and AV1 hardware-accelerated video
+    encoders for AMD GPUs using the Advanced Media Framework (AMF) SDK
+-   applemedia: H.265 / HEVC video encoding + decoding support
+-   androidmedia: H.265 / HEVC video encoding support
+-   New “force-live” property for audiomixer, compositor, glvideomixer,
+    d3d11compositor etc.
+-   Lots of new plugins, features, performance improvements and bug
+    fixes
 
--   High Dynamic Range (HDR) video information representation and
-    signalling enhancements
+Major new features and changes
 
--   Instant playback rate change support
+AV1 video codec support improvements
 
--   Active Format Description (AFD) and Bar Data support
+AV1 is a royalty free next-generation video codec by AOMedia and a free
+alternative to H.265/HEVC.
 
--   RTSP server and client implementations gained ONVIF trick modes
-    support
+While supported in earlier versions of GStreamer already, this release
+saw a lot of improvements across the board:
 
--   Hardware-accelerated video decoding on Windows via DXVA2 /
-    Direct3D11
+-   Support for hardware encoding and decoding via VAAPI/VA, AMF, D3D11,
+    NVCODEC, QSV and Intel MediaSDK. Hardware codecs for AV1 are slowly
+    becoming available in embedded systems and desktop GPUs (AMD, Intel,
+    NVIDIA), and these can now be used via GStreamer.
 
--   Microsoft Media Foundation plugin for video capture and
-    hardware-accelerated video encoding on Windows
+-   New AV1 RTP payloader and depayloader elements.
 
--   qmlgloverlay: New overlay element that renders a QtQuick scene over
-    the top of an input video stream
+-   New encoder settings in the AOM reference encoder-based av1enc
+    element.
 
--   imagesequencesrc: New element to easily create a video stream from a
-    sequence of jpeg or png images
+-   Various improvements in the AV1 parser and in the MP4/Matroska/WebM
+    muxers/demuxers.
+
+-   dav1d and rav1e based software decoder/encoder elements shipped as
+    part of the binaries.
 
--   dashsink: New sink to produce DASH content
+-   AV1 parser improvements and various bugfixes all over the place.
 
--   dvbsubenc: New DVB Subtitle encoder element
+Touchscreen event support in Navigation API
 
--   MPEG-TS muxing now also supports TV broadcast compliant muxing with
-    constant bitrate muxing and SCTE-35 support
+The Navigation API supports the sending of key press events and mouse
+events through a GStreamer pipeline. Typically these will be picked up
+by a video sink on which these events happen and then the event is
+transmitted into the pipeline so it can be handled by elements inside
+the pipeline if it wasn’t handled by the application.
 
--   rtmp2: New RTMP client source and sink element from-scratch
-    implementation
+This has traditionally been used for DVD menu support, but can also be
+used to forward such inputs to source elements that render a web page
+using a browser engine such as WebKit or Chromium.
 
--   svthevcenc: New SVT-HEVC-based H.265 video encoder
+This API has now gained support for touchscreen events, and this has
+been implemented in various plugins such as the GTK, Qt, XV, and x11
+video sinks as well as the wpevideosrc element.
 
--   vaapioverlay: New compositor element using VA-API
+GStreamer CUDA integration
 
--   rtpmanager gained support for Google’s Transport-Wide Congestion
-    Control (twcc) RTP extension
+-   New gst-cuda library
+-   integration with D3D11 and NVIDIA dGPU NVMM elements
+-   new cudaconvertscale element
 
--   splitmuxsink and splitmuxsrc gained support for auxiliary video
-    streams
+GStreamer Direct3D11 integration
 
--   webrtcbin now contains some initial support for renegotiation
-    involving stream addition and removal
+-   New gst-d3d11 public library
+    -   gst-d3d11 library is not integrated with GStreamer documentation
+        system yet. Please refer to the examples
+-   d3d11screencapture: Add Windows Graphics Capture API based capture
+    mode, including Win32 application window capturing
+-   d3d11videosink and d3d11convert can support flip/rotation and crop
+    meta
+-   d3d11videosink: New emit-present property and present signal so that
+    applications can overlay an image on Direct3D11 swapchain’s
+    backbuffer via Direct3D/Direct2D APIs. See also C++ and Rust
+    examples
+-   d3d11compositor supports YUV blending/composing without intermediate
+    RGB(A) conversion to improve performance
+-   Direct3D11 video decoders are promoted to GST_RANK_PRIMARY or
+    higher, except for the MPEG2 decoder
 
--   RTP support was enhanced with new RTP source and sink elements to
-    easily set up RTP streaming via rtp:// URIs
+H.264/H.265 timestamp correction elements
 
--   avtp: New Audio Video Transport Protocol (AVTP) plugin for
-    Time-Sensitive Applications
+-   Muxers are often picky and need proper PTS/DTS timestamps set on the
+    input buffers, but that can be a problem if the encoded input media
+    stream comes from a source that doesn’t provide proper signalling of
+    DTS, such as is often the case for RTP, RTSP and WebRTC streams or
+    Matroska container files. Theoretically parsers should be able to
+    fix this up, but it would probably require fairly invasive changes
+    in the parsers, so two new elements h264timestamper and
+    h265timestamper bridge the gap in the meantime and can reconstruct
+    missing PTS/DTS.
 
--   Support for the Video Services Forum’s Reliable Internet Stream
-    Transport (RIST) TR-06-1 Simple Profile
+Easy sender timestamp reconstruction for RTP and RTSP
 
--   Universal Windows Platform (UWP) support
+-   it was always possible to reconstruct and retrieve the original RTP
+    sender timestamps in GStreamer, but required a fair bit of
+    understanding of the internal mechanisms and the right property
+    configuration and clock setup.
 
--   rpicamsrc: New element for capturing from the Raspberry Pi camera
+-   rtspsrc and rtpjitterbuffer gained a new
+    “add-reference-timestamp-meta” property that if set puts the
+    original absolute reconstructed sender timestamps on the output
+    buffers via a meta. This is particularly useful if the sender is
+    synced to an NTP clock or PTP clock. The original sender timestamps
+    are either based on the RTCP NTP times, NTP RTP header extensions
+    (RFC6051) or RFC7273-style clock signalling.
 
--   RTSP Server TCP interleaved backpressure handling improvements as
-    well as support for Scale/Speed headers
+Qt6 support
 
--   GStreamer Editing Services gained support for nested timelines,
-    per-clip speed rate control and the OpenTimelineIO format.
+-   new qml6glsink element for Qt6 similar to the existing Qt5 element.
+    Matching source and overlay elements will hopefully follow in the
+    near future.
 
--   Autotools build system has been removed in favour of Meson
+OpenGL + Video library enhancements
 
-Major new features and changes
+-   Support for new video formats (NV12_4L4, NV12_16L32S, NV12_8L128,
+    NV12_10BE_8L128) and dmabuf import in more formats (Y410, Y212_LE,
+    Y212_BE, Y210, NV21, NV61)
 
-Noteworthy new features and API
-
-Instant playback rate changes
-
-Changing the playback rate as quickly as possible so far always required
-a flushing seek. This generally works, but has the disadvantage of
-flushing all data from the playback pipeline and requiring the demuxer
-or parser to do a full-blown seek including resetting its internal state
-and resetting the position of the data source. It might also require
-considerable decoding effort to get to the right position to resume
-playback from at the higher rate.
-
-This release adds a new mechanism to achieve quasi-instant rate changes
-in certain playback pipelines without interrupting the flow of data in
-the pipeline. This is activated by sending a seek with the
-GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag and start_type = stop_type =
-GST_SEEK_TYPE_NONE. This flag does not work for all pipelines, in which
-case it is necessary to fall back to sending a full flushing seek to
-change the playback rate. When using this flag, the seek event is only
-allowed to change the current rate and can modify the trickmode flags
-(e.g. keyframe only or not), but it is not possible to change the
-current playback position, playback direction or do a flush.
-
-This is particularly useful for streaming use cases like HLS or DASH
-where the streaming download should not be interrupted when changing
-rate.
-
-Instant rate changing is handled in the pipeline in a specific sequence
-which is detailed in the seeking design docs. Most elements don’t need
-to worry about this, only elements that sync to the clock need some
-special handling which is implemented in the GstBaseSink base class, so
-should be taken care of automatically in most normal playback pipelines
-and sink elements.
-
-See Jan’s GStreamer Conference 2019 talk “Changing Playback Rate
-Instantly” for more information.
-
-You can try this feature by passing the -i command line option to
-gst-play-1.0. It is supported at least by qtdemux, tsdemux, hlsdemux,
-and dashdemux.
-
-Google Transport-Wide Congestion Control
-
-rtpmanager now supports the parsing and generating of RTCP messages for
-the Google Transport-Wide Congestion Control RTP Extension, as described
-in:
-https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01.
-
-This “just” provides the required plumbing/infrastructure, it does not
-actually make effect any actual congestion control on the sender side,
-but rather provides information for applications to use to make such
-decisions.
-
-See Håvard’s “Google Transport-Wide Congestion Control” talk for more
-information about this feature.
-
-GstTranscoder: a new high-level transcoding API for applications
-
-The new GstTranscoder library, along with transcodebin and
-uritranscodebin elements, provides high level API for applications to
-transcode media files from one format to another. Watch Thibault’s talk
-“GstTranscoder: A High Level API to Quickly Implement Transcoding
-Capabilities in your Applications” for more information.
-
-This also comes with a gst-transcoder-1.0 command line utility to
-transcode one URI into another URI based on the specified encoding
-profile.
-
-Active Format Description (AFD) and Bar Data support
-
-The GstVideo Ancillary Data API has gained support for Active Format
-Description (AFD) and Bar data.
-
-This includes various two new buffer metas: GstVideoAFDMeta and
-GstVideoBarMeta.
-
-GStreamer now also parses and extracts AFD/Bar data in the h264/h265
-video parsers, and supports both capturing them and outputting them in
-the decklink elements. See Aaron’s lightning talk at the GStreamer
-Conference for more background.
-
-ONVIF trick modes support in both GStreamer RTSP server and client
-
--   Support for the various trick modes described in section 6 of the
-    ONVIF streaming spec has been implemented in both gst-rtsp-server
-    and rtspsrc.
--   Various new properties in rtspsrc must be set to take advantage of
-    the ONVIF support
--   Examples are available here: test-onvif-server.c and
-    test-onvif-client.c
--   Watch Mathieu Duponchelle’s talk “Implementing a Trickmode Player
-    with ONVIF, RTSP and GStreamer” for more information and a live
-    demo.
-
-GStreamer Codecs library with decoder base classes
-
-This introduces a new library in gst-plugins-bad which contains a set of
-base classes that handle bitstream parsing and state tracking for the
-purpose of decoding different codecs. Currently H264, H265, VP8 and VP9
-are supported. These bases classes are meant primarily for internal use
-in GStreamer and are used in various decoder elements in connection with
-low level decoding APIs like DXVA, NVDEC, VAAPI and V4L2 State Less
-decoders. The new library is named gstreamer-codecs-1.0 /
-libgstcodecs-1.0 and is not yet guaranteed to be API stable across major
-versions.
-
-MPEG-TS muxing improvements
-
-The GStreamer MPEG-TS muxer has seen major improvements on various
-fronts in this cycle:
-
--   It has been ported to the GstAggregator base class which means it
-    can work in defined-latency mode with live input sources and
-    continue streaming if one of the inputs stops producing data.
-
--   atscmux, a new ATSC-specific tsmux subclass
-
--   Constant Bit Rate (CBR) muxing support via the new bitrate property
-    which allows setting the target bitrate in bps. If this is set the
-    muxer will insert null packets as padding to achieve the desired
-    multiplex-wide constant bitrate.
-
--   compliance fixes for TV broadcasting use cases (esp. ATSC). See
-    Jan’s talk “TV Broadcast compliant MPEG-TS” for details.
-
--   Streams can now be added and removed at runtime: Until now, any
-    streams in tsmux had to be present when the element started
-    outputting its first buffer. Now they can appear at any point during
-    the stream, or even disappear and reappear later using the same PID.
-
--   new pcr-interval property allows applications to configure the
-    desired interval instead of hardcoding it
-
--   basic SCTE-35 support. This is enabled by setting the scte-35-pid
-    property on the muxer. Sending SCTE-35 commands is then done by
-    creating the appropriate SCTE-35 GstMpegtsSection and sending them
-    on the muxer.
-
--   MPEG-2 AAC handling improvements
-
-New elements
-
--   New qmlgloverlay element for rendering a QtQuick scene over the top
-    of a video stream. qmlgloverlay requires that Qt support adopting an
-    external OpenGL context and is known to work on X11 and Windows.
-    Wayland is known not to work due to limitations within Qt. Check out
-    the example to see how it works.
+-   Improved support for tiled formats with arbitrary tile dimensions,
+    as needed by certain hardware decoders/encoders
 
--   The clocksync element is a generic element that can be placed in a
-    pipeline to synchronise passing buffers to the clock at that point.
-    This is similar to identity sync=true, but because it isn’t
-    GstBaseTransform-based, it can process GstBufferLists without
-    breaking them into separate GstBuffers. It is also more discoverable
-    than the identity option. Note that you do not need to insert this
-    element into your pipeline to make GStreamer sync to the pipeline
-    clock, this is usually handled automatically by the elements in the
-    pipeline (sources and sinks mostly). This element is useful to feed
-    non-live input such as local files into elements that expect live
-    input such as webrtcbin.`
-
--   New imagesequencesrc element to easily create a video stream from a
-    sequence of JPEG or PNG images (or any other encoding where the type
-    can be detected), basically a multifilesrc made specifically for
-    image sequences.
-
--   rpicamsrc element for capturing raw or encoded video (H.264, MJPEG)
-    from the Raspberry Pi camera. This works much like the popular
-    raspivid command line utility but outputs data nicely timestamped
-    and formatted in order to integrate nicely with other GStreamer
-    elements. Also comes with a device provider so applications can
-    discover the camera if available.
-
--   aatv and cacatv video filters that transform video ASCII art style
-
--   avtp: new Audio Video Transport Protocol (AVTP) plugin for Linux.
-    See Andre Guedes’ talk “Audio/Video Bridging (AVB) support in
-    GStreamer” for more details.
-
--   clockselect: a pipeline element that enables clock selection/forcing
-    via gst-launch pipeline syntax.
-
--   dashsink: Add new sink to produce DASH content. See Stéphane’s talk
-    or blog post for details.
-
--   dvbsubenc: a DVB subtitle encoder element
-
--   microdns: a libmicrodns-based mdns device provider to discover RTSP
-    cameras on the local network
-
--   mlaudiosink: new audio sink element for the Magic Leap platform,
-    accompanied by an MLSDK implementation in the amc plugin
+-   glvideomixer: New “crop-left,”crop-right, “crop-top” and
+    “crop-bottom” pad properties for cropping inputs
 
--   msdkvp9enc: VP9 encoder element for the Intel MediaSDK
+-   OpenGL support for gst_video_sample_convert():
 
--   rist: new plugin implementing support for the Video Services Forum’s
-    Reliable Internet Stream Transport (RIST) TR-06-1 Simple Profile.
-    See Nicolas’ blog post “GStreamer support for the RIST
-    Specification” for more details.
-
--   rtmp2: new RTMP client source and sink elements with fully
-    asynchronous network operations, better robustness and additional
-    features such as handling ping and stats messages, and adobe-style
-    authentication. The new rtmp2src and rtmp2sink elements should be
-    API-compatible with the old rtmpsrc / rtmpsink elements and should
-    work as drop-in replacements.
+    -   Used for video snapshotting and thumbnailing, to convert buffers
+        retrieved from appsinks or sink “last-sample” properties in
+        JPG/PNG thumbnails.
+    -   This function can now take samples and buffers backed by GL
+        textures as input and will automatically plug a gldownload
+        element in that case.
 
--   new RTP source and sink elements to easily set up RTP streaming via
-    rtp:// URIs: The rtpsink and rtpsrc elements add an URI interface so
-    that streams can be decoded with decodebin using rtp:// URIs. These
-    can be used as follows: ``` gst-launch-1.0 videotestsrc ! x264enc !
-    rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234
+High bit-depth support (10, 12, 16 bits per component value) improvements
 
-    gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1
-    ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0 rtpsrc
-    uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay !
-    avdec_h264 ! videoconvert ! xvimagesink
+-   compositor can now handle any supported input format and also mix
+    high-bitdepth (10-16 bit) formats (naively)
 
-    gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay
-    config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0
-    rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay
-    ! avdec_mpeg4 ! videoconvert ! xvimagesink ```
+-   videoflip has gained support for higher bit depth formats.
 
--   svthevcenc: new SVT-HEVC-based H.265 video encoder
+-   vp9enc, vp9dec now support 12-bit formats and also 10-bit 4:4:4
 
--   switchbin: new helper element which chooses between a set of
-    processing chains (paths) based on input caps, and changes the
-    active chain if new caps arrive. Paths are child objects, which are
-    accessed by the GstChildProxy interface. See the switchbin
-    documentation for a usage example.
+WebRTC
 
--   vah264dec: new experimental va plugin with an element for H.264
-    decoding with VA-API using GStreamer’s new stateless decoder
-    infrastructure (see Linux section below).
-
--   v4l2codecs: introduce an V4L2 CODECs Accelerator supporting the new
-    CODECs uAPI in the Linux kernel (see Linux section below)
+-   Allow insertion of bandwidth estimation elements e.g. for Google
+    Congestion Control (GCC) support
+
+-   Initial support for sending or receiving simulcast streams
+
+-   Support for asynchronous host resolution for STUN/TURN servers
+
+-   GstWebRTCICE was split into base classes and implementation to make
+    it possible to plug custom ICE implementations
+
+-   webrtcsink: batteries-included WebRTC sender (Rust)
+
+-   whipsink: WebRTC HTTP ingest (WHIP) to a MediaServer (Rust)
+
+-   whepsrc: WebRTC HTTP egress (WHEP) from a MediaServer (Rust)
+
+-   Many other improvements and bug fixes
+
+New HLS, DASH and MSS adaptive streaming clients
+
+A new set of “adaptive demuxers” to support HLS, DASH and MSS adaptive
+streaming protocols has been added. They provide improved performance,
+new features and better stream compatibility compared to the previous
+elements. These new elements require a “streams-aware” pipeline such as
+playbin3, uridecodebin3 or urisourcebin.
+
+The previous elements’ design prevented implementing several use-cases
+and fixing long-standing issues. The new elements were re-designed from
+scratch to tackle those:
+
+-   Scheduling Only 3 threads are present, regardless of the number of
+    streams selected. One in charge of downloading fragments and
+    manifests, one in charge of outputting parsed data downstream, and
+    one in charge of scheduling. This improves performance, resource
+    usage and latency.
+
+-   Better download control The elements now directly control the
+    scheduling and download of manifests and fragments using libsoup
+    directly instead of depending on external elements for downloading.
+
+-   Stream selection, only the selected streams are downloaded. This
+    improves bandwith usage. Switching stream is done in such a way to
+    ensure there are no gaps, meaning the new stream will be switched to
+    only once enough data for it has been downloaded.
+
+-   Internal parsing, the downloaded streams are parsed internally. This
+    allows the element to fully respect the various specifications and
+    offer accurate buffering, seeking and playback. This is especially
+    important for HLS streams which require parsing for proper
+    positioning of streams.
+
+-   Buffering and adaptive rate switching, the new elements handle
+    buffering internally which allows them to have a more accurate
+    visibility of which bandwith variant to switch to.
+
+Playbin3, Decodebin3, UriDecodebin3, Parsebin improvements
+
+The “new” playback elements introduced in 1.18 (playbin3 and its various
+components) have been refactored to allow more use-cases and improve
+performance. They are no longer considered experimental, so applications
+using the legacy playback elements (playbin and (uri)decodebin) can
+migrate to the new components to benefit from these improvements.
+
+-   Gapless The “gapless” feature allows files and streams to be
+    fetched, buffered and decoded in order to provide a “gapless”
+    output. This feature has been refactored extensively in the new
+    components:
+    -   A single (uri)decodebin3 (and therefore a single set of
+        decoders) is used. This improves memory and cpu usage, since on
+        identical codecs a single decoder will be used.
+    -   The “next” stream to play will be pre-rolled “just-in-time”
+        thanks to the buffering improvements in urisourcebin (see below)
+    -   This feature is now handled at the uridecodebin3 level.
+        Applications that wish to have a “gapless” stream and process it
+        (instead of just outputting it, for example for transcoding,
+        retransmission, …) can now use uridecodebin3 directly. Note that
+        a streamsynchronizer element is required in that case.
+-   Buffering improvements The urisourcebin element is in charge of
+    fetching and (optionally) buffering/downloading the stream. It has
+    been extended and improved:
+    -   When the parse-streams property is used (by default in
+        uridecodebin3 and playbin3), compatible streams will be demuxed
+        and parsed (via parsebin) and buffering will be done on the
+        elementary streams. This provides a more accurate handling of
+        buffering. Previously buffering was done on a best-effort basis
+        and was mostly wrong (i.e. downloading more than needed).
+    -   Applications can use urisourcebin with this property as a
+        convenient way of getting elementary streams from a given URI.
+    -   Elements can handle buffering themselves (such as the new
+        adaptive demuxers) by answering the GST_QUERY_BUFFERING query.
+        In that case urisourcebin will not handle it.
+-   Stream Selection Efficient stream selection was previously only
+    possible within decodebin3. The downside is that this meant that
+    upstream elements had to provide all the streams from which to chose
+    from, which is inefficient. With the addition of the
+    GST_QUERY_SELECTABLE query, this can now be handled by elements
+    upstream (i.e. sources)
+    -   Elements that can handle stream selection internally (such as
+        the new adaptive demuxer elements) answer that query, and handle
+        the stream selection events themselves.
+    -   In this case, decodebin3 will always process all streams that
+        are provided to it.
+-   Instant URI switching This new feature allows switching URIs
+    “instantly” in playbin3 (and uridecodebin3) without having to change
+    states. This mimics switching channels on a television.
+    -   If compatible, decoders will be re-used, providing lower
+        latency/cpu/memory than by switching states.
+    -   This is enabled by setting the instant-uri property to true,
+        setting the URI to switch to immediately, and then disabling the
+        instant-uri property again afterwards.
+-   playbin3, decodebin3, uridecodebin3, parsebin, and urisrc are no
+    longer experimental
+    -   They were originally marked as ‘technology preview’ but have
+        since seen extensive usage in production settings, so are
+        considered ready for general use now.
+
+Fraunhofer AAC audio encoder HE-AAC and AAC-LD profile support
+
+-   fdkaacenc:
+    -   Support for encoding to HE-AACv1 and HE-AACv2 profile
+    -   Support for encoding to AAC Low Delay (LD) profile
+    -   Advanced bitrate control options via new “rate-control”,
+        “vbr-preset”, “peak-bitrate”, and “afterburner” properties
+
+RTP rapid synchronization support in the RTP stack (RFC6051)
+
+RTP provides several mechanisms how streams can be synchronized relative
+to each other, and how absolute sender times for RTP packets can be
+obtained. One of these mechanisms is via RTCP, which has the
+disadvantage that the synchronization information is only distributed
+out-of-band and usually some time after the start.
+
+GStreamer’s RTP stack, specifically the rtpbin, rtpsession and
+rtpjitterbuffer elements, now also have support for retrieving and
+sending the same synchronization information in-band via RTP header
+extensions according to RFC6051 (Rapid Synchronisation of RTP Flows).
+Only 64-bit timestamps are supported currently.
+
+This provides per packet synchronization information from the very
+beginning of a stream and allows accurate inter-stream, and (depending
+on setup) inter-device, synchronization at the receiver side.
+
+ONVIF XML Timed Metadata support
+
+The ONVIF standard implemented by various security cameras also
+specifies a format for timed metadata that is transmitted together with
+the audio/video streams, usually over RTSP.
+
+Support for this timed metadata is implemented in the MP4 demuxer now as
+well as the new fragmented MP4 muxer and the new non-fragmented MP4
+muxer from the GStreamer Rust plugins. Additionally, the new onvif
+plugin ‒ which is part of the GStreamer Rust plugins ‒ provides general
+elements for handling the metadata and e.g. overlaying certain parts of
+it over a video stream.
+
+As part of this support for absolute UTC times was also implemented
+according to the requirements of the ONVIF standards in the
+corresponding elements.
+
+MP3 gapless playback support
+
+While MP3 can probably considered a legacy format at this point, a new
+feature was added with this release.
+
+When playing back plain MP3 files, i.e. outside a container format,
+switches between files can now be completely gapless if the required
+metadata is provided inside the file. There is no standardized metadata
+for this, but the LAME MP3 encoder writes metadata that can be parsed by
+the mpegaudioparse element now and forwarded to decoders for ensuring
+removal of padding samples at the front and end of MP3 files.
+
+“force-live” property for audio + video aggregators
+
+This is a quality of life fix for playout and streaming applications
+where it is common to have audio and video mixer elements that should
+operate in live mode from the start and produce output continuously.
+
+Often one would start a pipeline without any inputs hooked up to these
+mixers in the beginning, and up until now there was no way to easily
+force these elements into live mode from the start. One would have to
+add an initial live video or audio test source as dummy input to achieve
+this.
+
+The new “force-live” property makes these audio and video aggregators
+start in live mode without the need for any dummy inputs, which is
+useful for scenarios where inputs are only added after starting the
+pipeline.
+
+This new property should usually be used in connection with the
+“min-upstream-latency” property, i.e. you should always set a non-0
+minimum upstream latency then.
+
+This is now supported in all GstAudioAggregator and GstVideoAggregator
+subclasses such as audiomixer, audiointerleave, compositor,
+glvideomixer, d3d11compositor, etc.
+
+New elements and plugins
+
+-   new cudaconvertscale element that can convert and scale in one pass
+
+-   new gtkwaylandsink element based on gtksink, but similar to
+    waylandsink and uses Wayland APIs directly instead of rendering with
+    Gtk/Cairo primitives. This approach is only compatible with Gtk3,
+    and like gtksink this element only supports Gtk3.
+
+-   new h264timestamper and h265timestamper elements to reconstruct
+    missing pts/dts from inputs that might not provide them such as
+    e.g. RTP/RTSP/WebRTC inputs (see above)
 
--   zxing new plugin to detect QR codes and barcodes, based on libzxing
-
--   also see the Rust plugins section below which contains plenty of new
-    exciting plugins written in Rust!
+-   mfaacdec, mfmp3dec: Windows MediaFoundation AAC and MP3 decoders
 
-New element features and additions
+-   new msdkav1enc AV1 video encoder element
 
-GStreamer core
+-   new nvcudah264enc, nvcudah265enc, nvd3d11h264enc, and nvd3d11h265enc
+    NVIDIA GPU encoder elements to support zero-copy encoding, via CUDA
+    and Direct3D11 APIs, respectively
 
--   filesink: Add a new “full” buffer mode. Previously the default and
-    full modes were the same. Now the default mode is like before: it
-    accumulates all buffers in a buffer list until the threshold is
-    reached and then writes them all out, potentially in multiple
-    writes. The new full mode works by always copying memory to a single
-    memory area and writing everything out with a single write once the
-    threshold is reached.
+-   new nvautogpuh264enc and nvautogpuh265enc NVIDIA GPU encoder
+    elements: The auto GPU elements will automatically select a target
+    GPU instance in case multiple NVIDIA desktop GPUs are present, also
+    taking into account the input memory. On Windows CUDA or Direct3D11
+    mode will be determined by the elements automatically as well. Those
+    new elements are useful if target GPU and/or API mode (either CUDA
+    or Direct3D11 in case of Windows) is undeterminable from the encoder
+    point of view at the time when pipeline is configured, and therefore
+    lazy target GPU and/or API selection are required in order to avoid
+    unnecessary memory copy operations.
 
--   multiqueue: Add stats property and
-    current-level-{buffers, bytes, time} pad properties to query the
-    current levels of the corresponding internal queue.
+-   new nvav1dec AV1 NVIDIA desktop GPU decoder element
 
-Plugins Base
+-   new qml6glsink element to render video with Qt6
 
--   alsa: implement a device provider
+-   qsv: New Intel OneVPL/MediaSDK (a.k.a Intel Quick Sync) based
+    decoder and encoder elements, with gst-d3d11 (on Windows) and gst-va
+    (on Linux) integration
 
--   alsasrc: added use-driver-timestamp property to force use of
-    pipeline timestamps (and disable driver timestamps) if so desired
+    -   Support multi-GPU environment, for example, concurrent video
+        encoding using Intel iGPU and dGPU in a single pipeline
+    -   H.264 / H.265 / VP9 and JPEG decoders
+    -   H.264 / H.265 / VP9 / AV1 / JPEG encoders with dynamic encoding
+        bitrate update
+    -   New plugin does not require external SDK for building on Windows
 
--   audioconvert: fix changing the mix-matrix property at runtime
+-   vulkanoverlaycompositor: new vulkan overlay compositor element to
+    overlay upstream GstVideoOverlayCompositonMeta onto the video
+    stream.
 
--   appsrc: added support for segment forwarding or custom GstSegments
-    via GstSample, enabled via the handle-segment-change property. This
-    only works for segments in TIME format for now.
+-   vulkanshaderspv: performs operations with SPIRV shaders in Vulkan
 
--   compositor: various performance optimisations, checkerboard drawing
-    fixes, and support for VUYA format
+-   win32ipcvideosink, win32ipcvideosrc: new shared memory videosrc/sink
+    elements for Windows
 
--   encodebin: Fix and refactor smart encoding; ensure that a single
-    segment is pushed into encoders; improve force-key-unit event
-    handling.
+-   wicjpegdec, wicpngdec: Windows Imaging Component (WIC) based JPEG
+    and PNG decoder elements.
 
--   opusenc: Add low delay option (audio-type=restricted-lowdelay) to
-    disable the SILK layer and achieve only 5ms delay.
+-   Many exciting new Rust elements, see Rust section below
 
--   opusdec: add stats property to retrieve various decoder statistics.
+New element features and additions
 
--   uridecodebin3: Let decodebin3 do its stream selection if no one
-    answers
+-   audioconvert: Dithering now uses a slightly slower, less biased PRNG
+    which results in better quality output. Also dithering can now be
+    enabled via the new “dithering-threshold” property for target bit
+    depths of more than 20 bits.
 
--   decodebin3: Avoid overriding explicit user selection of streams
+-   av1enc: Add “keyframe-max-dist” property for controlling max
+    distance between keyframes, as well as “enc-pass”, “keyframe-mode”,
+    “lag-in-frames” and “usage-profile” properties.
 
--   playbin: add flag to force use of software decoders over any
-    hardware decoders that might also be available
+-   cccombiner: new “output-padding” property
 
--   playbin3, playbin: propagate sink context
+-   decklink: Add support for 4k DCI, 8k/UHD2 and 8k DCI modes
 
--   rawvideoparse: Fix tiling support, allow setting colorimetry
+-   dvbsubenc: Support for >SD resolutions is working correctly now.
 
--   subparse: output plain utf8 text instead of pango-markup formatted
-    text if downstream requires it, useful for interop with elements
-    that only accept utf8-formatted subtitles such as muxers or closed
-    caption converters.
+-   fdkaacenc: Add HE-AAC / HE-AACv2 profile support
 
--   tcpserversrc, tcpclientsrc: add stats property with TCP connection
-    stats (some are only available on Linux though)
+-   glvideomixer: New “crop-left,”crop-right, “crop-top” and
+    “crop-bottom” pad properties for cropping inputs
 
--   timeoverlay: add show-times-as-dates, datetime-format and
-    datetime-epoch properties to display times with dates
+-   gssink: new ‘content-type’ property. Useful when one wants to upload
+    a video as video/mp4 instead of ’video/quicktime` for example.
 
--   videorate: Fix changing rate property during playback; reverse
-    playback fixes; update QoS events taking into account our rate
+-   jpegparse: Rewritten using the common parser library
 
--   videoscale: pass through and transform size sensitive metas instead
-    of just dropping them
-
-Plugins Good
-
--   avidemux can handle H.265 video now. Our advice remains to
-    immediately cease all contact and communication with anyone who
-    hands you H.265 video in an AVI container, however.
-
--   avimux: Add support for S24LE and S32LE raw audio and v210 raw video
-    formats; support more than 2 channels of raw audio.
-
--   souphttpsrc: disable session sharing and cookie jar when the cookies
-    property is set; correctly handle seeks past the end of the content
-
--   deinterlace: new YADIF deinterlace method which should provide
-    better quality than the existing methods and is LGPL licensed;
-    alternate fields are supported as input to the deinterlacer as well
-    now, and there were also fixes for switching the deinterlace mode on
-    the fly.
-
--   flvmux: in streamable mode allow adding new pads even if the initial
-    header has already been written. Old clients will only process the
-    initial stream, new clients will get a header with the new streams.
-    The skip-backwards-streams property can be used to force flvmux to
-    skip and drop a few buffers rather than produce timestamps that go
-    backward and confuse librtmp-based clients. There’s also better
-    handling for timestamp rollover when streaming for a long time.
-
--   imagefreeze: Add live mode, which can be enabled via the new is-live
-    property. In this mode frames will only be output in PLAYING state
-    according to the negotiated framerate, skipping frames if the output
-    can’t keep up (e.g. because it’s blocked downstream). This makes it
-    possible to actually use imagefreeze in live pipelines without
-    having to manually ensure somehow that it starts outputting at the
-    current running time and without still risking to fall behind
-    without recovery.
-
--   matroskademux, qtdemux: Provide audio lead-in for some lossy formats
-    when doing accurate seeks, to make sure we can actually decode
-    samples at the desired position. This is especially important for
-    non-linear audio/video editing use-cases.
-
--   matroskademux, matroskamux: Handle interlaced field order (tff, bff)
-
--   matroskamux:
-
-    -   new offset-to-zero property to offset all streams to start at
-        zero. This takes the timestamp of the earliest stream and
-        offsets it so that it starts at 0. Some software (VLC,
-        ffmpeg-based) does not properly handle Matroska files that start
-        at timestamps much bigger than zero, which could happen with
-        live streams.
-    -   added a creation-time property to explicitly set the creation
-        time to write into the file headers. Useful when remuxing, for
-        example, but also for live feeds where the DateUTC header can be
-        set a UTC timestamp corresponding to the beginning of the file.
-    -   the muxer now also always waits for caps on sparse streams, and
-        warns if caps arrive after the header has already been sent,
-        otherwise the subtitle track might be silently absent in the
-        final file. This might affect applications that send sparse data
-        into matroskamux via an appsrc element, which will usually not
-        send out the initial caps before it sends out the first buffer.
-
--   pulseaudio: device provider improvements: fix discovery of
-    newly-added devices and hide the alsa device provider if we provide
-    alsa devices
-
--   qtdemux: raw audio handling improvements, support for AC4 audio, and
-    key-units trickmode interval support
-
--   qtmux:
-
-    -   was ported to the GstAggregator base class which allows for
-        better handling of live inputs, but might entail minor
-        behavioural changes for sparse inputs if inputs are not live.
-    -   has also gained a force-create-timecode-trak property to create
-        a timecode trak in non-mov flavors, which may not be supported
-        by Apple but is supported by other software such as Final Cut
-        Pro X
-    -   also a force-chunks property to force the creation of chunks
-        even in single-stream files, which is required for Apple ProRes
-        certification.
-    -   also supports 8k resolutions in prefill mode with ProRes.
-
--   rtpbin gained a request-jitterbuffer signal which allows
-    applications to plug in their own jitterbuffer implementation such
-    as the threadsharing jitterbuffer from the Rust plugins, for
-    example.
-
--   rtprtxsend: add clock-rate-map property to allow generic RTP input
-    caps without a clock-rate whilst still supporting the max-size-time
-    property for bundled streams.
-
--   rtpssrcdemux: introduce max-streams property to guard against
-    attacks where the sender changes SSRC for every RTP packet.
-
--   rtph264pay, rtph264pay: implement STAP-A and various aggregation
-    modes controled by the new aggegrate-mode property: none to not
-    aggregate NAL units (as before), zero-latency to aggregate NAL units
-    until a VCL or suffix unit is included, or max to aggregate all NAL
-    units with the same timestamp (which adds one frame of latency). The
-    default has been kept at none for backwards compatibility reasons
-    and because various RTP/RTSP implementions don’t handle aggregation
-    well. For WebRTC use cases this should be set to zero-latency,
-    however.
-
--   rtpmp4vpay: add support for config-interval=-1 to resend headers
-    with each IDR keyframe, like other video payloaders.
-
--   rtpvp8depay: Add wait-for-keyframe property for waiting until the
-    next keyframe after packet loss. Useful if the video stream was not
-    encoded with error resilience enabled, in which case packet loss
-    tends to cause very bad artefacts when decoding, and waiting for the
-    next keyframe instead improves user experience considerably.
-
--   splitmuxsink and splitmuxsrc can now handle auxiliary video streams
-    in addition to the primary video stream. The primary video stream is
-    still used to select fragment cut points at keyframe boundaries.
-    Auxilliary video streams may be broken up at any packet - so
-    fragments may not start with a keyframe for those streams.
-
--   splitmuxsink:
-
-    -   new muxer-preset and sink-preset properties for setting
-        muxer/sink presets
-    -   a new start-index property to set the initial fragment id
-    -   and a new muxer-pad-map property which explicitly maps
-        splitmuxsink pads to the muxer pads they should connect to,
-        overriding the implicit logic that tries to match pads but
-        yields arbitrary names.
-    -   Also includes the actual sink element in the fragment-opened and
-        fragment-closed element messages now, which is especially useful
-        for sinks without a location property or when finalisation of
-        the fragments is done asynchronously.
-
--   videocrop: add support for Y444, Y41B and Y42B pixel formats
-
--   vp8enc, vp9enc: change default value of VP8E_SET_STATIC_THRESHOLD
-    from 0 to 1 which matches what Google WebRTC does and results in
-    lower CPU usage; also added a new bit-per-pixel property to select a
-    better default bitrate
-
--   v4l2: add support for ABGR, xBGR, RGBA, and RGBx formats and for
-    handling interlaced video in alternate fields interlace mode (one
-    field per buffer instead of one frame per picture with both fields
-    interleaved)
-
--   v4l2: Profile and level probing support for H264, H265, MPEG-4,
-    MPEG-2, VP8, and VP9 video encoders and decoders
-
-Plugins Ugly
-
--   asfdemux: extract more metadata: disc number and disc count
-
--   x264enc:
-
-    -   respect YouTube bitrate recommendation when user sets the
-        YouTube profile preset
-    -   separate high-10 video formats from 8-bit formats to improve
-        depth negotiation and only advertise suitable input raw formats
-        for the desired output depth
-    -   forward downstream colorimetry and chroma-site restrictions to
-        upstream elements
-    -   support more color primaries/mappings
-
-Plugins Bad
-
--   av1enc: add threads, row-mt and tile-{columns,rows} properties for
-    this AOMedia AV1 encoder
-
--   ccconverter: implement support for CDP framerate conversions
-
--   ccextractor: Add remove-caption-meta property to remove caption
-    metas from the outgoing video buffers
-
--   decklink: add support for 2K DCI video modes, widescreen NTSC/PAL,
-    and for parsing/outputting AFD/Bar data. Also implement a simple
-    device provider for Decklink devices.
-
--   dtlsrtpenc: add rtp-sync property which synchronises RTP streams to
-    the pipeline clock before passing them to funnel for merging with
-    RTCP.
-
--   fdkaac: also decode MPEG-2 AAC; encoder now supports more
-    multichannel/surround sound layouts
-
--   hlssink2: add action signals for custom playlist/fragment handling:
-    Instead of always going through the file system API we allow the
-    application to modify the behaviour. For the playlist itself and
-    fragments, the application can provide a GOutputStream. In addition
-    the sink notifies the application whenever a fragment can be
-    deleted.
-
--   interlace: can now output data in alternate fields mode; added field
-    switching mode for 2:2 field pattern
-
--   iqa: Add a mode property to enable strict mode that checks that all
-    the input streams have the exact same number of frames; also
-    implement the child proxy interface
-
--   mpeg2enc: add disable-encode-retries property for lower CPU usage
-
--   mpeg4videoparse: allow re-sending codec config at IDR via
-    config-interval=-1
-
--   mpegtsparse: new alignment property to determine number of TS
-    packets per output buffer, useful for feeding an MPEG-TS stream for
-    sending via udpsink. This can be used in combination with the
-    split-on-rai property that makes sure to start a new output buffer
-    for any TS packet with the Random Access Indicator set. Also set
-    delta unit buffer flag on non-random-access buffers.
-
--   mpegdemux: add an ignore-scr property to ignore the SCR in
-    non-compliant MPEG-PS streams with a broken SCR, which will work as
-    long as PTS/DTS in the PES header is consistently increasing.
-
--   tsdemux:
-
-    -   add an ignore-pcr property to ignore MPEG-TS streams with broken
-        PCR streams on which we can’t reliably recover correct
-        timestamps.
-    -   new latency property to allow applications to lower the
-        advertised worst-case latency of 700ms if they know their
-        streams support this (must have timestamps in higher frequency
-        than required by the spec)
-    -   support for AC4 audio
-
--   msdk - Intel Media SDK plugin for hardware-accelerated video
-    decoding and encoding on Windows and Linux:
-
-    -   mappings for more video formats: Y210, Y410, P012_LE, Y212_LE
-    -   encoders now support bitrate changes and input format changes in
-        playing state
-    -   msdkh264enc, msdkh265enc: add support for CEA708 closed caption
-        insertion
-    -   msdkh264enc, msdkh265enc: set Region of Interest (ROI) region
-        from ROI metas
-    -   msdkh264enc, msdkh265enc: new tune property to enable low-power
-        mode
-    -   msdkh265enc: add support 12-bit 4:2:0 encoding and 8-bit 4:2:2
-        encoding and VUYA, Y210, and Y410 as input formats
-    -   msdkh265enc: add support for screen content coding extension
-    -   msdkh265dec: add support for main-12/main-12-intra,
-        main-422-10/main-422-10-intra 10bit,
-        main-422-10/main-422-10-intra 8bit,
-        main-422-12/main-422-12-intra, main-444-10/main-444-10-intra,
-        main-444-12/main-444-12-intra, and main-444 profiles
-    -   msdkvp9dec: add support for 12-bit 4:4:4
-    -   msdkvpp: add support for Y410 and Y210 formats, cropping via
-        properties, and a new video-direction property.
-
--   mxf: Add support for CEA-708 CDP from S436 essence tracks. mxfdemux
-    can now handle Apple ProRes
-
--   nvdec: add H264 + H265 stateless codec implementation nvh264sldec
-    and nvh265sldec with fewer features but improved latency. You can
-    set the environment variable GST_USE_NV_STATELESS_CODEC=h264 to use
-    the stateless decoder variant as nvh264dec instead of the “normal”
-    NVDEC decoder implementation.
-
--   nvdec: add support for 12-bit 4:4:4/4:2:0 and 10-bit 4:2:0 decoding
-
--   nvenc:
-
-    -   add more rate-control options, support for B-frame encoding (if
-        device supports it), an aud property to toggle Access Unit
-        Delimiter insertion, and qp-{min,max,const}-{i,p,b} properties.
-    -   the weighted-pred property enables weighted prediction.
-    -   support for more input formats, namely 8-bit and 10-bit RGB
-        formats (BGRA, RGBA, RGB10A2, BGR10A2) and YV12 and VUYA.
-    -   on-the-fly resolution changes are now supported as well.
-    -   in case there are multiple GPUs on the system, there are also
-        per-GPU elements registered now, since different devices will
-        have different capabilities.
-    -   nvh265enc can now support 10-bit YUV 4:4:4 encoding and 8-bit
-        4:4:4 / 10-bit 4:2:0 formats up to 8K resolution (with some
-        devices). In case of HDR content HDR related SEI nals will be
-        inserted automatically.
-
--   openjpeg: enable multi-threaded decoding and add support for
-    sub-frame encoding (for lower latency)
-
--   rtponviftimestamp: add opt-out “drop-out-of-segment” property
-
--   spanplc: new stats property
-
--   srt: add support for IPv6 and for using hostnames instead of IP
-    addresses; add streamid property, but also allow passing the id via
-    the stream URI; add wait-for-connection property to srtsink
-
--   timecodestamper: this element was rewritten with an updated API
-    (properties); it has gained many new properties, seeking support and
-    support for linear timecode (LTC) from an audio stream.
-
--   uvch264src now comes with a device provider to advertise available
-    camera sources that support this interface (mostly Logitech C920s)
-
--   wpe: Add software rendering support and support for mouse scroll
-    events
-
--   x265enc: support more 8/10/12 bits 4:2:0, 4:2:2 and 4:4:4 profiles;
-    add support for mastering display info and content light level
-    encoding SEIs
-
-gst-libav
-
--   Add mapping for SpeedHQ video codec used by NDI
-
--   Add mapping for aptX and aptX-HD
-
--   avivf_mux: support VP9 and AV1
-
--   avvidenc: shift output buffer timestamps and output segment by 1h
-    just like x264enc does, to allow for negative DTS.
-
--   avviddec: Limit default number of decoder threads on systems with
-    more than 16 cores, as the number of threads used in avdec has a
-    direct impact on the latency of the decoder, which is of as many
-    frames as threads, so a large numbers of threads can make for
-    latency levels that can be problematic in some applications.
-
--   avviddec: Add thread-type property that allows applications to
-    specify the preferred multithreading method (auto, frame, slice).
-    Note that thread-type=frame may introduce additional latency
-    especially in live pipelines, since it introduces a decoding delay
-    of number of thread frames.
+-   msdk:
 
-Plugin and library moves
+    -   new msdkav1enc AV1 video encoder element
+    -   msdk decoders: Add support for Scaler Format Converter (SFC) on
+        supported Intel platforms for hardware accelerated conversion
+        and scaling
+    -   msdk encoders: support import of dmabuf, va memory and D3D11
+        memory
+    -   msdk encoders: add properties for low delay bitrate control and
+        max frame sizes for I/P frames
+    -   msdkh264enc, msdkh265enc: more properties to control intra
+        refresh
+    -   note that on systems with multi GPUs the Windows D3D11
+        integration might only work reliably if the Intel GPU is the
+        primary GPU
 
--   There were no plugin moves or library moves in this cycle.
+-   mxfdemux: Add support for Canon XF-HEVC
 
--   The rpicamsrc element was moved into -good from an external
-    repository on github.
+-   openaptx: Support the freeaptx library
 
-Plugin removals
+-   qroverlay:
 
-The following elements or plugins have been removed:
+    -   new “qrcode-case-sensitive” property allows encoding case
+        sensitive strings like wifi SSIDs or passwords.
+    -   added the ability to pick up data to render from an
+        upstream-provided custom GstQROverlay meta
 
--   The yadif video deinterlacing plugin from gst-plugins-bad, which was
-    one of the few GPL licensed plugins, has been removed in favour of
-    deinterlace method=yadif.
+-   qtdemux: Add support for ONVIF XML Timed MetaData and AVC-Intra
+    video
 
--   The avdec_cdgraphics CD Graphics video decoder element from
-    gst-libav was never usable in GStreamer and we now have a cdgdec
-    element written in Rust in gst-plugins-rs to replace it.
+-   rfbsrc now supports the uri handler interface, so applications can
+    use RFB/VNC sources in uridecodebin(3) and playbin, with
+    e.g. rfb://:password@10.1.2.3:5903?shared=1
 
--   The VDPAU plugin has been unmaintained and unsupported for a very
-    long time and does not have the feature set we expect from
-    hardware-accelerated video decoders. It’s been superseded by the
-    nvcodec plugin leveraging NVIDIA’s NVDEC API.
+-   rtponviftimestamp: Add support for using reference timestamps
 
-Miscellaneous API additions
+-   rtpvp9depay now has the same keyframe-related properties as
+    rtpvp8depay and rtph264depay: “request-keyframe” and
+    “wait-for-keyframe”
 
-GStreamer core
-
--   gst_task_resume(): This new API allows resuming a task if it was
-    paused, while leaving it in stopped state if it was stopped or not
-    started yet. This can be useful for callback-based driver workflows,
-    where you basically want to pause and resume the task when buffers
-    are notified while avoiding the race with a gst_task_stop() coming
-    from another thread.
-
--   info: add printf extensions GST_TIMEP_FORMAT and GST_STIMEP_FORMAT
-    for printing GstClockTime/GstClockTimeDiff pointers, which is much
-    more convenient to use in debug log statements than the usual
-    GST_TIME_FORMAT-followed-by-GST_TIME_ARGS dance. Also add an
-    explicit GST_STACK_TRACE_SHOW_NONE enum value.
-
--   gst_element_get_current_clock_time() and
-    gst_element_get_current_running_time(): new helper functions for
-    getting an element clock’s time, and the clock time minus base time,
-    respectively. Useful when adding additional input branches to
-    elements such as compositor, audiomixer, flvmux, interleave or
-    input-selector to determine initial pad offsets and such.
-
--   seeking: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED to just skip
-    B-frames during trick mode, showing both keyframes + P-frame, and
-    add support for it in h264parse and h265parse.
-
--   elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE to allow
-    elements to advertise that they are hardware-based or interact with
-    hardware. This has multiple applications:
-
-    -   it makes it possible to easily differentiate hardware and
-        software based element implementations such as audio or video
-        encoders and decoders. This is useful in order to force the use
-        of software decoders for specific use cases, or to check if a
-        selected decoder is actually hardware-accelerated or not.
-    -   elements interacting with hardware and their respective drivers
-        typically don’t know the actually supported capabilities until
-        the element is set into at least READY state and can open a
-        device handle and probe the hardware.
-
--   gst_uri_from_string_escaped(): identical to gst_uri_from_string()
-    except that the userinfo and fragment components of the URI will not
-    be unescaped while parsing. This is needed for correctly parsing
-    usernames or passwords with : in them .
-
--   paramspecs: new GstParamSpec flag GST_PARAM_CONDITIONALLY_AVAILABLE
-    to indicate that a property might not always exist.
-
--   gst_bin_iterate_all_by_element_factory_name() finds elements in a
-    bin by factory name
-
--   pad: gst_pad_get_single_internal_link() is a new convenience
-    function to return the single internal link of a pad, which is
-    useful e.g. to retrieve the output pad of a new multiqueue request
-    pad.
-
--   datetime: Add constructors to create datetimes with timestamps in
-    microseconds, gst_date_time_new_from_unix_epoch_local_time_usecs()
-    and gst_date_time_new_from_unix_epoch_utc_usecs().
-
--   gst_debug_log_get_lines() gets debug log lines formatted in the same
-    way the default log handler would print them
-
--   GstSystemClock: Add GST_CLOCK_TYPE_TAI as GStreamer abstraction for
-    CLOCK_TAI, to support transmission offloading features where network
-    packets are timestamped with the time they are deemed to be actually
-    transmitted. Useful in combination with the new AVTP plugin.
-
--   miscellaneous utility functions: gst_clear_uri(),
-    gst_structure_take().
-
--   harness: Added gst_harness_pull_until_eos()
-
--   GstBaseSrc:
-
-    -   gst_base_src_new_segment() allows subclasses to update the
-        segment to be used at runtime from the ::create() function. This
-        deprecates gst_base_src_new_seamless_segment()
-    -   gst_base_src_negotiate() allows subclasses to trigger format
-        renegotiation at runtime from inside the ::create() or ::alloc()
-        function
-
--   GstBaseSink: new stats property and gst_base_sink_get_stats() method
-    to retrieve various statistics such as average frame rate and
-    dropped/rendered buffers.
-
--   GstBaseTransform: gst_base_transform_reconfigure() is now public
-    API, useful for subclasses that need to completely re-implement the
-    ::submit_input_buffer() virtual method
-
--   GstAggregator:
-
-    -   gst_aggregator_update_segment() allows subclasses to update the
-        output segment at runtime. Subclasses should use this function
-        rather than push a segment event onto the source pad directly.
-    -   new sample selection API:
-        -   subclasses should now call gst_aggregator_selected_samples()
-            from their ::aggregate() implementation to signal that they
-            have selected the next samples they will aggregate
-        -   GstAggregator will then emit the samples-selected signal
-            where handlers can then look up samples per pad via
-            gst_aggregator_peek_next_sample().
-        -   This is useful for example to atomically update input pad
-            properties in mixer subclasses such as compositor.
-            Applications can now update properties with precise control
-            of when these changes will take effect, and for which input
-            buffer(s).
-    -   gst_aggregator_finish_buffer_list() allows subclasses to push
-        out a buffer list, improving efficiency in some cases.
-    -   a ::negotiate() virtual method was added, for consistency with
-        other base classes and to allow subclasses to completely
-        override the negotiation behaviour.
-    -   the new ::sink_event_pre_queue() and ::sink_query_pre_queue()
-        virtual methods allow subclasses to intercept or handle
-        serialized events and queries before they’re queued up
-        internally.
-
-GStreamer Plugins Base Libraries
-
-Audio library
-
--   audioaggregator, audiomixer: new output-buffer-duration-fraction
-    property which allows use cases such as keeping the buffers output
-    by compositor on one branch and audiomixer on another perfectly
-    aligned, by requiring the compositor to output a n/d frame rate, and
-    setting output-buffer-duration-fraction to d/n on the audiomixer.
-
--   GstAudioDecoder: new max-errors property so applications can
-    configure at what point the decoder should error out, or tell it to
-    just keep going
-
--   gst_audio_make_raw_caps() and gst_audio_formats_raw() are
-    bindings-friendly versions of the GST_AUDIO_CAPS_MAKE() C macro.
-
--   gst_audio_info_from_caps() now handles encoded audio formats as well
-
-PbUtils library
-
--   GstEncodingProfile:
-    -   Do not restrict number of similar profiles in a container
-    -   add GstValue serialization function
--   codec utils now support more H.264/H.265 profiles/levels and have
-    improved extension handling
-
-RTP library
-
--   rtpbasepayloader: Add scale-rtptime property for scaling RTP
-    timestamp according to the segment rate (equivalent to RTSP speed
-    parameter). This is useful for ONVIF trickmodes via RTSP.
-
--   rtpbasepayload: add experimental property for embedding twcc
-    sequencenumbers for Transport-Wide Congestion Control (gated behind
-    the GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY environment
-    variable) - more generic API for enabling this is expected to land
-    in the next development cycle.
-
--   rtcpbuffer: add RTPFB_TYPE_TWCC for Transport-Wide Congestion
-    Control
-
--   rtpbuffer: add
-    gst_rtp_buffer_get_extension_onebyte_header_from_bytes()``, so that one can parse theGBytes`
-    returned by gst_rtp_buffer_get_extension_bytes()
-
--   rtpbasedepayload: Add max-reorder property to make the
-    previously-hardcoded value when to consider a sender to have
-    restarted configurable. In some scenarios it’s particularly useful
-    to set max-reorder=0 to disable the behaviour that the depayloader
-    will drop packets: when max-reorder is set to 0 all
-    reordered/duplicate packets are considered coming from a restarted
-    sender.
-
-RTSP library
-
--   add gst_rtsp_url_get_request_uri_with_control() to create request
-    uri combined with control url
-
--   GstRTSPConnection: add the possibility to limit the Content-Length
-    for RTSP messages via
-    gst_rtsp_connection_set_content_length_limit(). The same
-    functionality is also exposed in gst-rtsp-server.
-
-SDP library
-
--   add support for parsing the extmap attribute from caps and storing
-    inside caps The extmap attribute allows mapping RTP extension header
-    IDs to well-known RTP extension header specifications. See RFC8285
-    for details.
-
-Tags library
-
--   update to latest iso-code and support more languages
-
--   add tags for acoustid id & acoustid fingerprint, plus MusicBrainz ID
-    handling fixes
-
-Video library
-
--   High Dynamic Range (HDR) video information representation and
-    signalling enhancements:
-
-    -   New APIs for HDR video information representation and
-        signalling:
-        -   GstVideoMasteringDisplayInfo: display color volume info as
-            per SMPTE ST 2086
-        -   GstVideoContentLightLevel: content light level specified in
-            CEA-861.3, Appendix A.
-        -   plus functions to serialise/deserialise and add them to or
-            parse them from caps
-        -   gst_video_color_{matrix,primaries,transfer}_{to,from}_iso():
-            new utilility functions for conversion from/to ISO/IEC
-            23001-8
-        -   add ARIB STD-B67 transfer chracteristic function
-        -   add SMPTE ST 2084 support and BT 2100 colorimetry
-        -   define bt2020-10 transfer characteristics for clarity:
-            bt707, bt2020-10, and bt2020-12 transfer characteristics are
-            functionally identical but have their own unique values in
-            the specification.
-    -   h264parse, h265parse: Parse mastering display info and content
-        light level from SEIs.
-    -   matroskademux: parse HDR metadata
-    -   matroskamux: Write MasteringMetadata and Max{CLL,FALL}. Enable
-        muxing with HDR meta data if upstream provided it
-    -   avviddec: Extract HDR information if any and map bt2020-10, PQ
-        and HLG transfer functions
-
--   added bt601 transfer function (for completeness)
-
--   support for more pixel formats:
-
-    -   Y412 (packed 12 bits 4:4:4:4)
-    -   Y212 (packed 12 bits 4:2:2)
-    -   P012 (semi-planar 4:2:0)
-    -   P016_{LE,BE} (semi-planar 16 bits 4:2:0)
-    -   Y444_16{LE,BE} (planar 16 bits 4:4:4)
-    -   RGB10A2_LE (packed 10-bit RGB with 2-bit alpha channel)
-    -   NV12_32L32 (NV12 with 32x32 tiles in linear order)
-    -   NV12_4L4 (NV12 with 4x4 tiles in linear order)
-
--   GstVideoDecoder:
-
-    -   new max-errors property so applications can configure at what
-        point the decoder should error out, or tell it to just keep
-        going
-
-    -   new qos property to disable dropping frames because of QoS, and
-        post QoS messages on the bus when dropping frames. This is
-        useful for example in a scenario where the decoded video is
-        tee-ed off to go into a live sink that syncs to the clock in one
-        branch, and an encoding and save to file pipeline in the other
-        branch. In that case one wouldn’t want QoS events from the video
-        sink make the decoder drop frames because that would also leave
-        gaps in the encoding branch then.
-
--   GstVideoEncoder:
-
-    -   gst_video_encoder_finish_subframe() is new API to push out
-        subframes (e.g. slices), so encoders can split the encoding into
-        subframes, which can be useful to reduce the overall end-to-end
-        latency as we no longer need to wait for the full frame to be
-        encoded to start decoding or sending out the data.
-    -   new min-force-key-unit-interval property allows configuring the
-        minimum interval between force-key-unit requests and prevents a
-        big bitrate increase if a lot of key-units are requested in a
-        short period of time (as might happen in live streaming RTP
-        pipelines when packet loss is detected).
-    -   various force-key-unit event handling fixes
-
--   GstVideoAggregator, compositor, glvideomixer: expose
-    max-last-buffer-repeat property on pads. This can be used to have a
-    compositor display either the background or a stream on a lower
-    zorder after a live input stream freezes for a certain amount of
-    time, for example because of network issues.
-
--   gst_video_format_info_component() is new API to find out which
-    components are packed into a given plane, which is useful to prevent
-    us from assuming a 1-1 mapping between planes and components.
-
--   gst_video_make_raw_caps() and gst_video_formats_raw() are
-    bindings-friendly versions of the GST_VIDEO_CAPS_MAKE() C macro.
-
--   video-blend: Add support for blending on top of 16 bit per component
-    formats, which makes sure we can support every currently supported
-    raw video format for blending subtitles or logos on top of video.
-
--   GST_VIDEO_BUFFER_IS_TOP_FIELD() and
-    GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() convenience macros to check
-    whether the video buffer contains only the top field or bottom field
-    of an interlaced picture.
-
--   GstVideoMeta now includes an alignment field with the
-    GstVideoAlignment so buffer producers can explicitly specify the
-    exact geometry of the planes, allowing users to easily know the
-    padded size and height of each plane. Default values will be used if
-    this is not set.
-
-    Use gst_video_meta_set_alignment() to set the alignment and
-    gst_video_meta_get_plane_size() or gst_video_meta_get_plane_height()
-    to compute the plane sizes or plane heights based on the information
-    in the video meta.
-
--   gst_video_info_align_full() works like gst_video_info_align() but
-    also retrieves the plane sizes.
-
-MPEG-TS library
-
--   support for SCTE-35 sections
-
--   extend support for ATSC tables:
-
-    -   System Time Table (STT)
-    -   Master Guide Table (MGT)
-    -   Rating Region Table (RRT)
+-   rtspsrc: Various RTSP servers are using invalid URL operations for
+    constructing the control URL. Until GStreamer 1.16 these worked
+    correctly because GStreamer was just appending strings itself to
+    construct the control URL, but starting version 1.18 the correct URL
+    operations were used. With GStreamer 1.22, rtspsrc now first tries
+    with the correct control URL and if that fails it will retry with
+    the wrongly constructed control URL to restore support for such
+    servers.
 
-Miscellaneous performance, latency and memory optimisations
-
-As always there have been many performance and memory usage improvements
-across all components and modules. Some of them have already been
-mentioned elsewhere so won’t be repeated here.
+-   rtspsrc and rtpjitterbuffer gained a new
+    “add-reference-timestamp-meta” property that makes them put the
+    unmodified original sender timestamp on output buffers for NTP or
+    PTP clock synced senders
 
-The following list is only a small snapshot of some of the more
-interesting optimisations that haven’t been mentioned in other contexts
-yet:
+-   srtsrc, srtsink: new “auto-reconnect” property to make it possible
+    to disable automatic reconnects (in caller mode) and make the
+    elements post an error immediately instead; also stats improvements
 
--   caps negotiation, structure and GValue performance optimizations
+-   srtsrc: new “keep-listening” property to avoid EOS on disconnect and
+    keep the source running while it waits for a new connection.
 
--   systemclock: clock waiting performance improvements (moved from
-    GstPoll to GCond for waiting), especially on Windows.
+-   videocodectestsink: added YUV 4:2:2 support
 
--   rtpsession: add support for buffer lists on the recv path for better
-    performance with higher packet rate streams.
+-   wasapi2src: Add support for process loopback capture
 
--   rtpjitterbuffer: internal timer handling has been rewritten for
-    better performance, see Nicolas’ talk “Revisiting RTP Jitter Buffer
-    Timers” for more details.
+-   wpesrc: Add support for modifiers in key/touch/pointer events
 
--   H.264/H.265 parsers and RTP payloaders/depayloaders have been
-    optimised for latency to make sure data is processed and pushed out
-    as quickly as possible
+Plugin and library moves
 
--   video-scaler: correctness and performance improvements, esp. for
-    interlaced formats and GBRA
+-   The xingmux plugin has been moved from gst-plugins-ugly into
+    gst-plugins-good.
 
--   GstVideoEncoder has gained new API to push out subframes
-    (e.g. slices), so encoders can split the encoding into subframes,
-    which can be useful to reduce the overall end-to-end latency as we
-    no longer need to wait for the full frame to be encoded to start
-    decoding or sending out the data.
+-   The various Windows directshow plugins in gst-plugins-bad have been
+    unified into a single directshow plugin.
 
-    This is complemented by the new GST_VIDEO_BUFFER_FLAG_MARKER which
-    is a video-specific buffer flag to mark the end of a video frame, so
-    elements can know that they have received all data for a frame
-    without waiting for the beginning of the next frame. This is similar
-    to how the RTP marker flag is used in many RTP video mappings.
+Plugin removals
 
-    The video encoder base class now also releases the internal stream
-    lock before pushing out data, so as to not block the input side of
-    things from processing more data in the meantime.
+-   The dxgiscreencapsrc element has been removed, use
+    d3d11screencapturesrc instead
 
-Miscellaneous other changes and enhancements
-
--   it is now possible to modify the initial rank of plugin features
-    without modifying the source code or writing code to do so
-    programmatically via the GST_PLUGIN_FEATURE_RANK environment
-    variable. Users can adjust the rank of plugin(s) by passing a
-    comma-separated list of feature:rank pairs where rank can be a
-    numerical value or one of NONE, MARGINAL, SECONDARY, PRIMARY, and
-    MAX. Example: GST_PLUGIN_FEATURE_RANK=myh264dec:MAX,avdec_h264:NONE
-    sets the rank of the myh264dec element feature to the maximum and
-    that of avdec_h264 to 0 (none), thus ensuring that myh264dec is
-    prefered as H264 decoder in an autoplugging context.
-
--   GstDeviceProvider now does a static probe on start as fallback for
-    providers that don’t support dynamic probing to make things easier
-    for users
+Miscellaneous API additions
 
-WebRTC
+-   GST_AUDIO_FORMAT_INFO_IS_VALID_RAW() and
+    GST_VIDEO_FORMAT_INFO_IS_VALID_RAW() can be used to check if a
+    GstAudioFormatInfo or GstVideoFormatInfo has been initialised to a
+    valid raw format.
 
--   webrtcbin now contains initial support for renegotiation involving
-    stream addition and removal. There are a number of caveats to this
-    initial renegotiation support and many complex scenarios are known
-    to require some work.
+-   Video SEI meta: new GstVideoSEIUserDataUnregisteredMeta to carry
+    H.264 and H.265 metadata from SEI User Data Unregistered messages.
 
--   webrtcbin now exposes the internal ICE object for advanced
-    configuration options. Using the internal ICE object, it is possible
-    to toggle UDP or TCP connection usage as well as provide local
-    network addresses.
-
--   Fix a number of call flows within webrtcbin’s GstPromise handling
-    where a promise was never replied to. This has been fixed and now a
-    promise will always receive a reply.
-
--   webrtcbin now exposes a latency property for configuring the
-    internal rtpjitterbuffer latency and buffering when receiving
-    streams.
-
--   webrtcbin now only synchronises the RTP part of a stream, allowing
-    RTCP messages to skip synchronisation entirely.
-
--   Fixed most of the webrtcbin state properties (connection-state,
-    ice-connection-state, signaling-state, but not ice-gathering-state
-    as that requires newer API in libnice and will be fixed in the next
-    release series) to advance through the state values correctly. Also
-    implemented DTLS connection states in the DTLS elements so that
-    peer-connection-state is not always new.
-
--   webrtcbin now accounts for the a=ice-lite attribute in a remote SDP
-    offer and will configure the internal ICE implementation
-    accordingly.
-
--   webrtcbin will now resolve .local candidate addresses using the
-    system DNS resolver. .local candidate addresses are now produced by
-    web browsers to help protect the privacy of users.
-
--   webrtcbin will now add candidates found in the SDP to the internal
-    ICE agent. This was previously unsupported and required using the
-    add-ice-candidate signal manually from the application.
-
--   webrtcbin will now correctly parse a TURN URI that contains a
-    username or password with a : in it.
-
--   The GStreamer WebRTC library gained a GstWebRTCDataChannel object
-    roughly matching the interface exposed by the WebRTC specification
-    to allow for easier binding generation and use of data channels.
-
-OpenGL integration
-
-GStreamer OpenGL bindings/build related changes
-
--   The GStreamer OpenGL library (libgstgl) now ships pkg-config files
-    for platform-specific API where libgstgl provides a public
-    integration interface and a pkg-config file for a dependency on the
-    detected OpenGL headers. The new list of pkg-config files in
-    addition to the original gstreamer-gl-1.0 are gstreamer-gl-x11-1.0,
-    gstreamer-gl-wayland-1.0, gstreamer-gl-egl-1.0, and
-    gstreamer-gl-prototypes-1.0 (for OpenGL headers when including
-    gst/gl/gstglfuncs.h).
-
--   GStreamer OpenGL now ships some platform-specific introspection data
-    for platforms that have a public interface. This should allow for
-    easier integration with bindings involving platform specific
-    functionality. The new introspection data files are named
-    GstGLX11-1.0, GstGLWayland-1.0, and GstGLEGL-1.0.
-
-GStreamer OpenGL Features
-
--   The iOS implementation no longer accesses UIKit objects off the main
-    thread fixing a loud warning message when used in iOS applications.
-
--   Support for mouse and keyboard handling using the GstNavigation
-    interface was added for the wayland implementation complementing the
-    already existing support for the X11 and Windows implementations.
-
--   A new helper base class for source elements, GstGLBaseSrc is
-    provided to ease writing source elements producing OpenGL video
-    frames.
-
--   Support for some more 12-bit and 16-bit video formats (Y412_LE,
-    Y412_BE, Y212_LE, Y212_BE, P012_LE, P012_BE, P016, NV16, NV61) was
-    added to glcolorconvert.
-
--   glupload can now import dma-buf’s into external-oes textures.
-
--   A new display type for EGLDevice-based systems was added. It is
-    currently opt-in by using either the GST_GL_PLATFORM=egl-device
-    environment variable or manual construction
-    (gst_gl_display_egl_device_new*()) due to compatibility issues with
-    some platforms.
-
--   Support was added for WinRT/UWP using the ANGLE project for running
-    OpenGL-based pipelines within a UWP application.
-
--   Various elements now support changing the GstGLDisplay to be used at
-    runtime in simple cases. This is primarily helpful for changing or
-    adding an OpenGL-based video sink that must share an OpenGL context
-    with an external source to an already running pipeline.
-
-GStreamer Vulkan integration
-
--   There is now a GStreamer Vulkan library to provide integration
-    points and helpers with applications and external GStreamer Vulkan
-    based elements. The structure of the library is modelled similarly
-    to the already existing GStreamer OpenGL library. Please note that
-    the API is still unstable and may change in future releases,
-    particularly around memory handling. The GStreamer Vulkan library
-    contains objects for sharing the vkInstance, vkDevice, vkQueue,
-    vkImage, VkMemory, etc with other elements and/or the application as
-    well as some helper objects for using Vulkan in an application or
-    element.
+-   vulkan: Expose gst_vulkan_result_to_string()
 
--   Added support for building and running on/for the Android and
-    Windows systems to complement the existing XCB, Wayland, MacOS, and
-    iOS implementations.
-
--   XCB gained support for mouse/keyboard events using the GstNavigation
-    API.
+Miscellaneous performance, latency and memory optimisations
 
--   New vulkancolorconvert element for converting between color formats.
-    vulkancolorconvert can currently convert to/from all 8-bit RGBA
-    formats as well as 8-bit RGBA formats to/from the YUV formats AYUV,
-    NV12, and YUY2.
+-   liborc 0.4.33 adds support for aarch64 (64-bit ARM) architecture
+    (not enabled by default on Windows yet though) and improvements for
+    32-bit ARM and should greatly enhance performance for certain
+    operations that use ORC.
 
--   New vulkanviewconvert element for converting between stereo view
-    layouts. vulkanviewconvert can currently convert between all of the
-    single memory formats (side-by-side, top-bottom, column-interleaved,
-    row-interleaved, checkerboard, left, right, mono).
+-   as always there have been plenty of performance, latency and memory
+    optimisations all over the place.
 
--   New vulkanimageidentity element for a blit from the input vulkan
-    image/s to a new vulkan image/s.
+Miscellaneous other changes and enhancements
 
--   The vulkansink element can now scale the input image to the output
-    window/surface size where that information is available.
+-   the audio/video decoder base classes will not consider decoding
+    errors a hard error by default anymore but will continue trying to
+    decode. Previously more than 10 consecutive errors were considered a
+    hard error but this caused various partially broken streams to fail.
+    The threshold is configurable via the “max-errors” property.
 
--   The vulkanupload element can now configure a transfer from system
-    memory to VulkanImage-based memory. Previously, this required two
-    vulkanupload elements.
+-   compatibility of the GStreamer PTP clock implementation with
+    different PTP server implementations was improved, and
+    synchronization is achieved successfully in various scenarios that
+    failed before.
 
 Tracing framework and debugging improvements
 
--   gst_tracing_get_active_tracers() returns a list of active tracer
-    objects. This can be used to interact with tracers at runtime using
-    GObject API such as action signals. This has been implemented in the
-    leaks tracer for snapshotting and retrieving leaked/active objects
-    at runtime.
-
--   The leaks tracer can now be interacted with programmatically at
-    runtime via GObject action signals:
-
-    -   get-live-object returns a list of live (allocated) traced
-        objects
-    -   log-live-objects logs a list of live objects into the debug log.
-        This is the same as sending the SIGUSR1 signal on unix systems,
-        but works on all operating systems including Windows.
-    -   activity-start-tracking, activity-get-checkpoint,
-        activity-log-checkpoint, activity-stop-tracking: add support for
-        tracking and checkpointing objects, similar to what was
-        previously available via SIGUSR2 on unix systems, but works on
-        all operating systems including Windows.
-
--   various GStreamer gdb debug helper improvements:
-
-    -   new ‘gst-pipeline-tree’ command
-    -   more gdb helper functions: gst_element_pad(), gst_pipeline() and
-        gst_bin_get()
-    -   support for queries and buffers
-    -   print more info for segment events, print event seqnums, object
-        pointers and structures
-    -   improve gst-print command to show more pad and element
-        information
-
-Tools
+New tracers
 
-gst-launch-1.0
+-   buffer-lateness: Records lateness of buffers and the reported
+    latency for each pad in a CSV file. Comes with a script for
+    visualisation.
 
--   now prints the pipeline position and duration if available when the
-    pipeline is advancing. This is hopefully more user-friendly and
-    gives visual feedback on the terminal that the pipeline is actually
-    up and running. This can be disabled with the --no-position command
-    line option.
+-   pipeline-snapshot: Creates a .dot file of all pipelines in the
+    application whenever requested via SIGUSR1 (on UNIX systems)
 
--   the parse-launch pipeline syntax now has support for presets:
-    use@preset=<preset-name>" after an element to load a preset.
+-   queue-levels: Records queue levels for each queue in a CSV file.
+    Comes with a script for visualisation.
 
-gst-inspect-1.0
+Debug logging system improvements
 
--   new --color command line option to force coloured output even if not
-    connected to a tty
+-   new log macros GST_LOG_ID, GST_DEBUG_ID, GST_INFO_ID,
+    GST_WARNING_ID, GST_ERROR_ID, and GST_TRACE_ID allow passing a
+    string identifier instead of a GObject. This makes it easier to log
+    non-gobject-based items and also has performance benefits.
 
-gst-tester-1.0 (new)
+Tools
 
--   gst-tester-1.0 is a new tool for plugin developers to launch
-    .validatetest files with TAP compatible output, meaning it can
-    easily and cleanly be integrated with the meson test harness. It
-    allows you to use gst-validate (from the gst-devtools module) to
-    write integration tests in any GStreamer repository whilst keeping
-    the tests as close as possible to the code. The tool transparently
-    handles gst-validate being installed or not: if it is not installed
-    those integration tests will simply be skipped.
+-   gst-play-1.0 gained a --no-position command line option to suppress
+    position/duration queries, which can be useful to reduce debug log
+    noise.
 
-gst-play-1.0
+GStreamer FFMPEG wrapper
 
--   interactive keyboard controls now also work on Windows
+-   Fixed bitrate management and timestamp inaccuracies for video
+    encoders
 
-gst-transcoder-1.0 (new)
+-   Fix synchronization issues and errors created by the (wrong)
+    forwarding of upstream segment events by ffmpeg demuxers.
 
--   gst-transcoder-1.0 is a new command line tool to transcode one URI
-    into another URI based on the specified encoding profile using the
-    new GstTranscoder API (see above).
+-   Clipping meta support for gapless mp3 playback
 
 GStreamer RTSP server
 
--   Fix issue where the first few packets (i.e. keyframes) could
-    sometimes be dropped if the rtsp media pipeline had a live input.
-    This was a regression from GStreamer 1.14. There are more fixes
-    pending for that which will hopefully land in 1.18.1.
-
--   Fix backpressure handling when sending data in TCP interleave mode
-    where RTSP requests and responses and RTP/RTCP packets flow over the
-    same RTSP TCP connection: The previous implementation would at some
-    point stop sending data to other clients when a single client
-    stopped consuming data or did not consume data fast enough. This
-    obviously created problems for shared media, where the same stream
-    from a single producer pipeline is sent to multiple clients. Instead
-    we now manage a backlog in the server’s stream-transport component
-    and remove slow clients once this backlog exceeds a maximum duration
-    (which is currently hardcoded).
-
--   Onvif Streaming Specification trick modes support (see section at
-    the beginning)
-
--   Scale/Speed header support: Speed will deliver the data at the
-    requested speed, which means increasing the data bandwidth for
-    speeds > 1.0. Scale will attempt to do the same without affecting
-    the overall bandwidth requirement vis-a-vis normal playback speed
-    (e.g. it might drop data for fast-forward playback).
-
--   rtspclientsink: send buffer lists in one go for better performance
-
-GStreamer VAAPI
-
--   A lot of work was done adding support for media-driver (iHD), the
-    new VAAPI driver for Intel, mostly for Gen9 onwards.
-
--   Available color formats and frame sizes are now detected at run-time
-    according to the context configuration.
-
--   Gallium drivers have been re-enabled in the allowed drivers list
-
--   Improved the mapping between VA formats and GStreamer formats by
-    generating a mapping table at run-time since even among different
-    drivers the mapping might be different, particularly for RGB with
-    little endianness.
-
--   The experimental Flexible Encoding Infrastructure (FEI) elements
-    have been removed since they were not really actively maintained or
-    tested.
-
--   Enhanced the juggling of DMABuf buffers and VASurface metas
+-   Add RFC5576 Source-specific media attribute to the SDP media for
+    signalling the CNAME
 
--   New vaapioverlay element: a compositor element using VA VPP blend
-    capabilities to accelerate overlaying and compositing. Example
-    pipeline:
+-   Add support for adjusting request response on pipeline errors
 
-          gst-launch-1.0 -vf videotestsrc ! vaapipostproc ! tee name=testsrc ! queue \
-          ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 name=overlay ! vaapisink \
-          testsrc. ! queue ! overlay.
+    -   Give the application the possibility to adjust the error code
+        when responding to a request. For that purpose the pipeline’s
+        bus messages are emitted to subscribers through a
+        “handle-message” signal. The subscribers can then check those
+        messages for errors and adjust the response error code by
+        overriding the virtual method
+        GstRTSPClientClass::adjust_error_code().
 
-vaapipostproc
+-   Add gst_rtsp_context_set_token() method to make it possible to set
+    the RTSPToken on some RTSPContext from bindings such as the Python
+    bindings.
 
--   added video-orientation support, supporting frame mirroring and
-    rotation
+-   rtspclientsink gained a “publish-clock-mode” property to configure
+    whether the pipeline clock should be published according to RFC7273
+    (RTP Clock Source Signalling), similar to the same API on
+    GstRTSPMedia.
 
--   added cropping support, either via properties (crop-left,
-    crop-right, crop-bottom and crop-top) or buffer meta.
+GStreamer VA-API support
 
--   new skin-tone-enhancenment-level property which is the iHD
-    replacement of the i965 driver’s sink-tone-level. Both are
-    incompatible with each other, so both were kept.
+-   Development activity has shifted towards the new va plugin, with
+    gstreamer-vaapi now basically in maintenance-only mode. Most of the
+    below refers to the va plugin (not gstreamer-vaapi).
 
--   handle video colorimetry
+-   new gst-va library for GStreamer VA-API integration
 
--   support HDR10 tone mapping
+-   vajpegdec: new JPEG decoder
 
-vaapisink
+-   vah264enc, vah265enc: new H.264/H.265 encoders
 
--   resurrected wayland backend for non-weston compositors by extracting
-    the DMABuf from the VASurface and rendering it.
+-   vah264lpenc, vah265lpenc: new low power mode encoders
 
--   merged the video overlay API for wayland. Now applications can
-    define the “window” to render on.
+-   vah265enc: Add extended formats support such as 10/12 bits, 4:2:2
+    and 4:4:4
 
--   demoted the vaapisink element to secondary rank since libva
-    considers rendering as a second-class feature.
+-   Support encoder reconfiguration
 
-VAAPI Encoders
+-   vacompositor: Add new compositor element using the VA-API VPP
+    interface
 
--   new common target-percentage property which is the desired target
-    percentage of bitrate for variable rate control.
+-   vapostproc:
 
--   encoders now extract their caps from the driver at registration
-    time.
+    -   new “scale-method” property
+    -   Process HDR caps if supported
+    -   parse video orientation from tags
 
--   vaapivp9enc: added support for low power mode and support for
-    profile 2 (profile 0 by default)
+-   vaapipostproc: Enable the use of DMA-Buf import and export
+    (gstreamer-vaapi)
 
--   vaapih264enc: new max-qp property that sets the maximum quantization
-    value. Support for ICQ and QBVR bitrate control mode, adding a
-    quality-factor property for these modes. Support baseline profile as
-    constrained-baseline
+GStreamer Video4Linux2 support
 
--   vaapih265enc:
+-   Added support for Mediatek Stateless CODEC (VP8, H.264, VP9)
 
-    -   support for main-444 and main-12 encoding profiles.
-    -   new max-qp property that sets the maximum quantization value.
-    -   support for ICQ and QBVR bitrate control mode, adding a
-        quality-factor property for these modes.
-    -   handle SCC profiles.
-    -   num-tile-cols and num-tile-row properties to specify the number
-        of tiles to use.
-    -   the low-delay-b property was deprecated and is now determined
-        automatically.
-    -   improved profile selection through caps.
+-   Stateless H.264 interlaced decoder support
 
-VAAPI Decoders
+-   Stateless H.265 decoder support
 
--   Decoder surfaces are not bound to their context any longer and can
-    thus be created and used dynamically, removing the deadlock
-    headache.
+-   Stateful decoder support for driver resolution change events
 
--   Reverse playback is now fluid
+-   Stateful decoding support fixes for NXP/Amphion driver
 
--   Forward Region-of-Interest (ROI) metas downstream
+-   Support for hardware crop in v4l2src
 
--   GLTextureUploadMeta uses DMABuf when GEM is not available. Now
-    Gallium drivers can use this meta for rendering with EGL.
+-   Conformance test improvement for stateful decoders
 
--   vaapivp9dec: support for 4:2:2 and 4:4:4 chroma type streams
-
--   vaapih265dec: skip all pictures prior to the first I-frame. Enable
-    passing range extension flags to the driver. Handle SCC profiles.
-
--   vaapijpegdec: support for 4:0:0, 4:1:1, 4:2:2 and 4:4:4 chroma types
-    pictures
-
--   vaapih264dec: handle baseline streams as constrained-baseline if
-    possible and make it more tolerant when encountering unknown NALs
+-   Fixes for Raspberry Pi CODEC
 
 GStreamer OMX
 
--   omxvideoenc: use new video encoder subframe API to push out slices
-    as soon as they’re ready
-
--   omxh264enc, omxh265enc: negotiate subframe mode via caps. To enable
-    it, force downstream caps to video/x-h264,alignment=nal or
-    video/x-h265,alignment=nal.
-
--   omxh264enc: Add ref-frames property
-
--   Zynq ultrascale+ specific video encoder/decoder improvements:
-
-    -   GRAY8 format support
-    -   support for alternate fields interlacing mode
-    -   video encoder: look-ahead, long-term-ref, and long-term-freq
-        properties
+-   There were no changes in this module
 
 GStreamer Editing Services and NLE
 
--   Added nested timelines and subproject support so that GES projects
-    can be used as clips, potentially serializing nested projects in the
-    main file or referencing external project files.
-
--   Implemented an OpenTimelineIO GES formatter. This means GES and
-    GStreamer can now load and save projects in all the formats
-    supported by otio.
-
--   Implemented a GESMarkerList object which allow setting timed
-    metadata on any GES object.
-
--   Fixed audio rendering issues during clip transition by ensuring that
-    a single segment is pushed into encoders.
-
--   The GESUriClipAsset API is now MT safe.
-
--   Added ges_meta_container_register_static_meta() to allow fixing a
-    type for a specific metadata without actually setting a value.
-
--   The framepositioner element now handles resizing the project and
-    keeps the same positioning when the aspect ratio is not changed .
-
--   Reworked the documentation, making it more comprehensive and much
-    more detailed.
-
--   Added APIs to retrieve natural size and framerate of a clip (for
-    example in the case of URIClip it is the framerate/size of the
-    underlying file).
-
--   ges_container_edit() is now deprecated and GESTimelineElement gained
-    the ges_timeline_element_edit() method so the editing API is now
-    usable from any element in the timeline.
-
--   GESProject::loading was added so applications can be notified about
-    when a new timeline starts loading.
-
--   Implemented the GstStream API in GESTimeline.
-
--   Added a way to add a timeoverlay inside the test source (potentially
-    with timecodes).
+-   Handle compositors that are bins around the actual compositor
+    implementation (like glvideomixers which wraps several elements)
 
--   Added APIs to convert times to frame numbers and vice versa:
+-   Add a mode to disable timeline editing API so the user can be in
+    full control of its layout (meaning that the user is responsible for
+    ensuring its validity/coherency)
 
-    -   ges_timeline_get_frame_time()
+-   Add a new fade-in transition type
 
-    -   ges_timeline_get_frame_at()
+-   Add support for non-1/1 PAR source videos
 
-    -   ges_clip_asset_get_frame_time()
-
-    -   ges_clip_get_timeline_time_from_source_frame()
-
-        Quite a few validate tests have been implemented to check the
-        behavior for various demuxer/codec formats
-
--   Added ges_layer_set_active_for_tracks() which allows muting layers
-    for the specified tracks
-
--   Deprecated GESImageSource and GESMultiFileSource now that we have
-    imagesequencesrc which handles the imagesequence “protocol”
-
--   Stopped exposing ‘deinterlacing’ children properties for clip types
-    where they do not make sense.
-
--   Added support for simple time remapping effects
+-   Fix frame accuracy when working with very low framerate streams
 
 GStreamer validate
 
--   Introduced the concept of “Test files” allowing to implement “all
-    included” test cases, meaning that inside the file the following can
-    be defined:
+-   Clean up and stabilize API so we can now generate rust bindings
 
-    -   The application arguments
-    -   The validate configurations
-    -   The validate scenario
+-   Enhance the appsrc-push action type allowing to find tune the
+    buffers more in details
 
-    This replaces the previous big dictionary file in
-    gst-validate-launcher to implement specific test cases.
+-   Add an action type to verify currently configured pad caps
 
-    We set several variables inside the files (as well as inside
-    scenarios and config files) to make them relocatable.
+-   Add a way to run checks from any thread after executing a ‘wait’
+    action. This is useful when waiting on a signal and want to check
+    the value of a property right when it is emited for example.
 
-    The file format has been enhanced so it is easier to read and write,
-    for example line ending with a coma or (curly) brackets can now be
-    used as continuation marker so you do not need to add \ at the end
-    of lines to write a structure on several lines.
+GStreamer Python Bindings
 
--   Support the imagesequence “protocol” and added integration tests for
-    it.
+-   Add a Gst.init_python() function to be called from plugins which
+    will initialise everything needed for the GStreamer Python bindings
+    but not call Gst.init() again since this will have been called
+    already.
 
--   Added action types to allow the scenario to run the Test Clock for
-    better reproducibility of tests.
+-   Add support for the GstURIHandlerInterface that allows elements to
+    advertise what URI protocols they support.
 
--   Support generating tests to check that seeking is frame accurate
-    (base on ssim).
+GStreamer C# Bindings
 
--   Added ways to record buffers checksum (in different ways) in the
-    validateflow module.
+-   Fix AppSrc and AppSink constructors
 
--   Added vp9 encoding tests.
+-   The C# bindings have yet to be updated to include new 1.22 API,
+    which requires improvements in various places in the bindings /
+    binding generator stack. See issue #1718 in GitLab for more
+    information and to track progress.
 
--   Enhanced seeking action types implementation to allow support for
-    segment seeks.
+GStreamer Rust Bindings and Rust Plugins
 
--   Output improvements:
+The GStreamer Rust bindings are released separately with a different
+release cadence that’s tied to gtk-rs, but the latest release has
+already been updated for the new GStreamer 1.22 API. Check the bindings
+release notes for details of the changes since 0.18, which was released
+around GStreamer 1.20.
 
-    -   Logs are now in markdown formats (and bat is used to dump them
-        if available).
-    -   File format issues in scenarios/configs/tests files are nicely
-        reported with the line numbers now.
+gst-plugins-rs, the module containing GStreamer plugins written in Rust,
+has also seen lots of activity with many new elements and plugins. A
+list of all Rust plugins and elements provided with the 0.9 release can
+be found in the repository.
+
+-   33% of GStreamer commits are now in Rust (bindings + plugins), and
+    the Rust plugins module is also where most of the new plugins are
+    added these days.
+
+-   The Rust plugins are now shipped as part of the Windows MSVC + macOS
+    binary packages. See below for the list of shipped plugins and the
+    status of Rust support in cerbero.
+
+-   The Rust plugins are also part of the documentation on the GStreamer
+    website now.
+
+-   Rust plugins can be used from any programming language. To the
+    outside they look just like a plugin written in C or C++.
+
+New Rust plugins and elements
+
+-   rtpav1pay / rtpav1depay: RTP (de)payloader for the AV1 video codec
+-   gtk4paintablesink: a GTK4 video sink that provides a GdkPaintable
+    for rendering a video in any place inside a GTK UI. Supports
+    zero-copy rendering via OpenGL on Linux and macOS.
+-   ndi: source, sink and device provider for NewTek NDI protocol
+-   onvif: Various elements for parsing, RTP (de)payloading, overlaying
+    of ONVIF timed metadata.
+-   livesync: Element for converting a live stream into a continuous
+    stream without gaps and timestamp jumps while preserving live
+    latency requirements.
+-   raptorq: Encoder/decoder elements for the RaptorQ FEC mechanism that
+    can be used for RTP streams (RFC6330).
+
+WebRTC elements
+
+-   webrtcsink: a WebRTC sink (batteries included WebRTC sender with
+    specific signalling)
+-   whipsink: WebRTC HTTP ingest (WHIP) to MediaServer
+-   whepsrc: WebRTC HTTP egress (WHEP) from MediaServer
+-   rtpgccbwe: RTP bandwidth estimator based on the Google Congestion
+    Control algorithm (GCC), used by webrtcsink
+
+Amazon AWS services
+
+-   awss3src / awss3sink: A source and sink element to talk to the
+    Amazon S3 object storage system.
+-   awss3hlssink: A sink element to store HLS streams on Amazon S3.
+-   awstranscriber: an element wrapping the AWS Transcriber service.
+-   awstranscribeparse: an element parsing the packets of the AWS
+    Transcriber service.
+
+Video Effects (videofx)
+
+-   roundedcorners: Element to make the corners of a video rounded via
+    the alpha channel.
+-   colordetect: A pass-through filter able to detect the dominant
+    color(s) on incoming frames, using color-thief.
+-   videocompare: Compare similarity of video frames. The element can
+    use different hashing algorithms like Blockhash, DSSIM, and others.
+
+New MP4 muxer + Fragmented MP4 muxer
+
+-   fmp4mux: New fragmented MP4/ISOBMFF/CMAF muxer for generating
+    e.g. DASH/HLS media fragments.
+-   isomp4mux: New non-fragmented, normal MP4 muxer.
+
+Both plugins provides elements that replace the existing qtmux/mp4mux
+element from gst-plugins-good. While not feature-equivalent yet, the new
+codebase and using separate elements for the fragment and non-fragmented
+case allows for easier extensability in the future.
+
+Cerbero Rust support
+
+-   Starting this release, cerbero has support for building and shipping
+    Rust code on Linux, Windows (MSVC) and macOS. The Windows (MSVC) and
+    macOS binaries also ship the GStreamer Rust plugins in this release.
+    Only dynamic plugins are built and shipped currently.
+
+-   Preliminary support for Android, iOS and Windows (MinGW) exists but
+    more work is needed. Check the tracker issue for more details about
+    future work.
+
+-   The following plugins are included currently: audiofx, aws, cdg,
+    claxon, closedcaption, dav1d, fallbackswitch, ffv1, fmp4, gif,
+    hlssink3, hsv, json, livesync, lewton, mp4, ndi, onvif, rav1e,
+    regex, reqwest, raptorq, png, rtp, textahead, textwrap, threadshare,
+    togglerecord, tracers, uriplaylistbin, videofx, webrtc, webrtchttp.
 
-GStreamer Python Bindings
+Build and Dependencies
 
--   Python 2.x is no longer supported
+-   meson 0.62 or newer is required
 
--   Support mapping buffers without any memcpy:
+-   GLib >= 2.62 is now required (but GLib >= 2.64 is strongly
+    recommended)
 
-    -   Added a ContextManager to make the API more pythonic
+-   libnice >= 0.1.21 is now required and contains important fixes for
+    GStreamer’s WebRTC stack.
 
-            with buf.map(Gst.MapFlags.READ | Gst.MapFlags.WRITE) as info:
-                info.data[42] = 0
+-   liborc >= 0.4.33 is recommended for 64-bit ARM support and 32-bit
+    ARM improvements
 
--   Added high-level helper API for constructing pipelines:
+-   onnx: OnnxRT >= 1.13.1 is now required
 
-    -   Gst.Bin.make_and_add(factory_name, instance_name=None)
-    -   Gst.Element.link_many(element, ...)
+-   openaptx: can now be built against libfreeaptx
 
-GStreamer C# Bindings
+-   opencv: allow building against any 4.x version
 
--   Bind gst_buffer_new_wrapped() manually to fix memory handling.
+-   shout: libshout >= 2.4.3 is now required
 
--   Fix gst_promise_new_with_change_func() where bindgen didn’t properly
-    detect the func as a closure.
+-   gstreamer-vaapi’s Meson build options have been switched from a
+    custom combo type (yes/no/auto) to the built-in Meson feature type
+    (enabled/disabled/auto)
 
--   Declare GstVideoOverlayComposition and GstVideoOverlayRectangle as
-    opaque type and subclasses of Gst.MiniObject. This changes the API
-    but without this all usage will cause memory corruption or simply
-    not work.
+-   The GStreamer Rust plugins module gst-plugins-rs is now considered
+    an essential part of the GStreamer plugin offering and packagers and
+    distributors are strongly encouraged to package and ship those
+    plugins alongside the existing plugin modules.
 
--   on Windows, look for gstreamer, glib and gobject DLLs using the MSVC
-    naming convention (i.e. gstvideo-1.0-0.dll instead of
-    libgstvideo-1.0-0.dll).
+-   we now make use of Meson’s install tags feature which allows
+    selective installation of installl components and might be useful
+    for packagers.
 
-    The names of these DLLs have to be hardcoded in the bindings, and
-    most C# users will probably be using the Microsoft toolchain anyway.
+Monorepo build (gst-build)
 
-    This means that the MSVC compiler is now required to build the
-    bindings, MingW will no longer work out of the box.
+-   new “orc-source” build option to allow build against a
+    system-installed liborc instead of forcing the use of orc as a
+    subproject.
 
-GStreamer Rust Bindings and Rust Plugins
-
-The GStreamer Rust bindings are released separately with a different
-release cadence that’s tied to gtk-rs, but the latest release has
-already been updated for the new GStreamer 1.18 API, so there’s
-absolutely no excuse why your next GStreamer application can’t be
-written in Rust anymore.
-
-gst-plugins-rs, the module containing GStreamer plugins written in Rust,
-has also seen lots of activity with many new elements and plugins.
-
-What follows is a list of elements and plugins available in
-gst-plugins-rs, so people don’t miss out on all those potentially useful
-elements that have no C equivalent.
-
-Rust audio plugins
-
--   audiornnoise: New element for audio denoising which implements the
-    noise removal algorithm of the Xiph RNNoise library, in Rust
--   rsaudioecho: Port of the audioecho element from gst-plugins-good
-    rsaudioloudnorm: Live audio loudness normalization element based on
-    the FFmpeg af_loudnorm filter
--   claxondec: FLAC lossless audio codec decoder element based on the
-    pure-Rust claxon implementation
--   csoundfilter: Audio filter that can use any filter defined via the
-    Csound audio programming language
--   lewtondec: Vorbis audio decoder element based on the pure-Rust
-    lewton implementation
-
-Rust video plugins
-
--   cdgdec/cdgparse: Decoder and parser for the CD+G video codec based
-    on a pure-Rust CD+G implementation, used for example by karaoke CDs
--   cea608overlay: CEA-608 Closed Captions overlay element
--   cea608tott: CEA-608 Closed Captions to timed-text (e.g. VTT or SRT
-    subtitles) converter
--   tttocea608: CEA-608 Closed Captions from timed-text converter
--   mccenc/mccparse: MacCaption Closed Caption format encoder and parser
--   sccenc/sccparse: Scenarist Closed Caption format encoder and parser
--   dav1dec: AV1 video decoder based on the dav1d decoder implementation
-    by the VLC project
--   rav1enc: AV1 video encoder based on the fast and pure-Rust rav1e
-    encoder implementation
--   rsflvdemux: Alternative to the flvdemux FLV demuxer element from
-    gst-plugins-good, not feature-equivalent yet
--   rsgifenc/rspngenc: GIF/PNG encoder elements based on the pure-Rust
-    implementations by the image-rs project
-
-Rust text plugins
-
--   textwrap: Element for line-wrapping timed text (e.g. subtitles) for
-    better screen-fitting, including hyphenation support for some
-    languages
-
-Rust network plugins
-
--   reqwesthttpsrc: HTTP(S) source element based on the Rust
-    reqwest/hyper HTTP implementations and almost feature-equivalent
-    with the main GStreamer HTTP source souphttpsrc
--   s3src/s3sink: Source/sink element for the Amazon S3 cloud storage
--   awstranscriber: Live audio to timed text transcription element using
-    the Amazon AWS Transcribe API
-
-Generic Rust plugins
-
--   sodiumencrypter/sodiumdecrypter: Encryption/decryption element based
-    on libsodium/NaCl
--   togglerecord: Recording element that allows to pause/resume
-    recordings easily and considers keyframe boundaries
--   fallbackswitch/fallbacksrc: Elements for handling potentially
-    failing (network) sources, restarting them on errors/timeout and
-    showing a fallback stream instead
--   threadshare: Set of elements that provide alternatives for various
-    existing GStreamer elements but allow to share the streaming threads
-    between each other to reduce the number of threads
--   rsfilesrc/rsfilesink: File source/sink elements as replacements for
-    the existing filesrc/filesink elements
-
-Build and Dependencies
-
--   The Autotools build system has finally been removed in favour of the
-    Meson build system. Developers who currently use gst-uninstalled
-    should move to gst-build.
-
--   API and plugin documentation are no longer built with gtk_doc. The
-    gtk_doc documentation has been removed in favour of a new unified
-    documentation module built with hotdoc (also see “Documentation
-    improvements” section below). Distributors should use the
-    documentation release tarball instead of trying to package hotdoc
-    and building the documentation from scratch.
-
--   gst-plugins-bad now includes an internal copy of libusrsctp, as
-    there are problems in usrsctp with global shared state, lack of API
-    stability guarantees, and the absence of any kind of release
-    process. We also can’t rely on distros shipping a version with the
-    fixes we need. Both firefox and Chrome bundle their own copies too.
-    It is still possible to build against an external copy of usrsctp if
-    so desired.
-
--   nvcodec no longer needs the NVIDIA NVDEC/NVENC SDKs available at
-    build time, only at runtime. This allows distributions to ship this
-    plugin by default and it will just start to work when the required
-    run-time SDK libraries are installed by the user, without users
-    needing to build and install the plugin from source.
-
--   the gst-editing-services tarball is now named gst-editing-services
-    for consistency (used to be gstreamer-editing-services).
-
--   the gst-validate tarball has been superseded by the gst-devtools
-    tarball for consistency with the git module name.
-
-gst-build
-
-gst-build is a meta-module and serves primarily as our uninstalled
-development environment. It makes it easy to build most of GStreamer,
-but unlike Cerbero it only comes with a limited number of external
-dependencies that can be built as subprojects if they are not found on
-the system.
-
-gst-build is based on Meson and replaces the old autotools
-gst-uninstalled script.
-
--   The ‘uninstalled’ target has been renamed to ‘devenv’
-
--   Experimental gstreamer-full library containing all built plugins and
-    their deps when building with -Ddefault_library=static. A monolithic
-    library is easier to distribute, and may be required in some
-    environments. GStreamer core, GLib and GObject are always included,
-    but external dependencies are still dynamically linked. The
-    gst-full-libraries meson option allows adding other GStreamer
-    libraries to the gstreamer-full build. This is an experiment for now
-    and its behaviour or API may still change in future releases.
-
--   Add glib-networking as a subproject when glib is a subproject and
-    load gio modules in the devenv, tls option control whether to use
-    openssl or gnutls.
-
--   git-worktree: Allow multiple worktrees for subproject branches
-
--   Guard against meson being run from inside the uninstalled devenv, as
-    this might have unexpected consequences.
-
--   our ffmpeg and x264 meson ports have been updated to the latest
-    stable version (you might need to update the subprojects checkout
-    manually though, or just remove the checkouts so meson checks out
-    the latest version again; improvements for this are pending in
-    meson, but not merged yet).
+-   GStreamer command line tools can now be linked to the gstreamer-full
+    library if it’s built
 
 Cerbero
 
 Cerbero is a meta build system used to build GStreamer plus dependencies
 on platforms where dependencies are not readily available, such as
-Windows, Android, iOS and macOS.
+Windows, Android, iOS, and macOS.
 
 General improvements
 
--   Recipe build steps are done in parallel wherever possible. This
-    leads to massive improvements in overall build time.
--   Several recipes were ported to Meson, which improved build times
--   Moved from using both GnuTLS and OpenSSL to only OpenSSL
--   Moved from yasm to nasm for all assembly compilation
--   Support zsh when running the cerbero shell command
--   Numerous version upgrades for dependencies
--   Default to xz for tarball binary packages. bz2 can be selected with
-    the --compress-method option to package.
--   Added boolean variant for controlling the optimization level:
-    -v optimization
--   Ship .pc pkgconfig files for all plugins in the binary packages
--   CMake and nasm will only be built by Cerbero if the system versions
-    are unusable
--   The nvcodec variant was removed and the nvcodec plugin is built by
-    default now (as it no longer requires the SDK to be installed at
-    build time, only at runtime)
+-   Rust support was added for all support configurations, controlled by
+    the rust variant; see above for more details
+-   All pkgconfig files are now reliably relocatable without requiring
+    pkg-config --define-prefix. This also fixes statically linking with
+    GStreamer plugins using the corresponding pkgconfig files.
+-   New documentation on how to build a custom GStreamer repository
+    using Cerbero, please see the README
+-   HTTPS certificate checking is enabled for downloads on all platforms
+    now
+-   Fetching now automatically retries on error for robustness against
+    transient errors
+-   Support for building the new Qt6 plugin was added
+-   pkgconfig files for various recipes were fixed
+-   Several recipes were updated to newer versions
+-   New plugins: adaptivedemux2 aes codectimestamper dav1d
+-   New libraries: cuda webrtcnice
 
 macOS / iOS
 
--   Minimum iOS SDK version bumped to 11.0
--   Minimum macOS SDK version bumped to 10.11
--   No longer need to manually add support for newer iOS SDK versions
--   Added Vulkan elements via MoltenVK
--   Build times were improved by code-signing all build tools
--   macOS framework ships all gstreamer libraries instead of an outdated
-    subset
--   Ship pkg-config in the macOS framework package
--   fontconfig: Fix EXC_BAD_ACCESS crash on iOS ARM64
--   Improved App Store compatibility by setting LC_VERSION_MIN_MACOSX,
-    fixing relocations, and improved bitcode support
+-   Added support for running Cerbero on ARM64 macOS
+-   GStreamer.framework and all libraries in it are now relocatable,
+    which means they use LC_RPATH entries to find dependencies instead
+    of using an absolute path. If you link to GStreamer using the
+    pkgconfig files, no action is necessary. However, if you use the
+    framework directly or link to the libraries inside the framework by
+    hand, then you need to pass -Wl,-rpath,<path_to_libdir> to the
+    linker.
+-   Apple bitcode support was dropped, since Apple has deprecated it
+-   macOS installer now correctly advertises support for both x86_64 and
+    arm64
+-   macOS framework now ships the gst-rtsp-server-1.0 library
+-   Various fixes were made to make static linking to gstreamer
+    libraries and plugins work correctly on macOS
+-   When statically linking to the applemedia plugin using Xcode 13, you
+    will need to pass -fno-objc-msgsend-selector-stubs which works
+    around a backwards-incompatible change in Xcode 14. This is not
+    required for the rest of GStreamer at present, but will be in the
+    future.
+-   macOS installer now shows the GStreamer logo correctly
 
 Windows
 
--   MinGW-GCC toolchain was updated to 8.2. It uses the Universal CRT
-    instead of MSVCRT which eliminates cross-CRT issues in the Visual
-    Studio build.
--   Require Windows 7 or newer for running binaries produced by Cerbero
--   Require Windows x86_64 for running Cerbero to build binary packages
--   Cerbero no longer uses C:/gstreamer/1.0 as a prefix when building.
-    That prefix is reserved for use by the MSI installers.
--   Several recipes can now be buit with Visual Studio instead of MinGW.
-    Ported to meson: opus, libsrtp, harfbuzz, cairo, openh264, libsoup,
-    libusrsctp. Existing build system: libvpx, openssl.
--   Support building using Visual Studio for 32-bit x86. Previously we
-    only supported building for 32-bit x86 using the MinGW toolchain.
--   Fixed annoying msgmerge popups in the middle of cerbero builds
--   Added configuration options vs_install_path and vs_install_version
-    for specifying custom search locations for older Visual Studio
-    versions that do not support vswhere. You can set these in
-    ~/.cerbero/cerbero.cbc where ~ is the MSYS homedir, not your Windows
-    homedir.
--   New Windows-specific plugins: d3d11, mediafoundation, wasapi2
--   Numerous compatibility and reliability fixes when running Cerbero on
-    Windows, especially non-English locales
--   proxy-libintl now exports the same symbols as gettext, which makes
-    it a drop-in replacement
--   New mapping variant for selecting the Visual Studio CRT to use:
-    -v vscrt=<value>. Valid values are md, mdd, and auto (default). A
-    separate prefix is used when building with either md (release) or
-    mdd (debug), and the outputted package will have +debug in the
-    filename. This variant is also used for selecting the correct Qt
-    libraries (debug vs release) to use when building with -v qt5 on
-    Windows.
--   Support cross-compile on Windows to Windows ARM64 and ARMv7
--   Support cross-compile on Windows to the Universal Windows Platform
-    (UWP). Only the subset of plugins that can be built entirely with
-    Visual Studio will be selected in this case. To do so, use the
-    config/cross-uwp-universal.cbc configuration, which will build
-    ARM64, x86, and x86_64 binaries linked to the release CRT, with
-    optimizations enabled, and debugging turned on. You can combine this
-    with -v vscrt=mdd to produce binaries linked to the debug CRT. You
-    can turn off optimizations with the -v nooptimization variant.
+-   MSVC is now required by default on Windows, and the Visual Studio
+    variant is enabled by default
+    -   To build with MinGW, use the mingw variant
+-   Visual Studio props files were updated for newer Visual Studio
+    versions
+-   Visual Studio 2015 support was dropped
+-   MSYS2 is now supported as the base instead of MSYS. Please see the
+    README for more details. Some advantages include:
+    -   Faster build times, since parallel make works
+    -   Faster bootstrap, since some tools are provided by MSYS2
+    -   Other speed-ups due to using MSYS2 tools instead of MSYS
+-   Faster download by using powershell instead of hand-rolled Python
+    code
+-   Many recipes were ported from Autotools to Meson, speeding up the
+    build
+-   Universal Windows Platform is no longer supported, and binaries are
+    no longer shipped for it
+-   New documentation on how to force a specific Visual Studio
+    installation in Cerbero, please see the README
+-   New plugins: qsv wavpack directshow amfcodec wic win32ipc
+-   New libraries: d3d11
 
 Windows MSI installer
 
--   Require Windows 7 or newer for running GStreamer
--   Fixed some issues with shipping of pkg-config in the Windows
-    installers
--   Plugin PDB debug files are now shipped in the development package,
-    not the runtime package
--   Ship installers for 32-bit binaries built with Visual Studio
--   Ship debug and release “universal” (ARM64, X86, and X86_64) tarballs
-    built for the Universal Windows Platform
--   Windows MSI installers now install into separate prefixes when
-    building with MSVC and MinGW. Previously both would be installed
-    into C:/gstreamer/1.0/x86 or C:/gstreamer/1.0/x86_64. Now, the
-    installation prefixes are:
-
-  ----------------------------------------------------------------------------------------------------------------
-  Target                      Path                                 Build options
-  --------------------------- ------------------------------------ -----------------------------------------------
-  MinGW 32-bit                C:/gstreamer/1.0/mingw_x86           -c config/win32.cbc
-
-  MinGW 64-bit                C:/gstreamer/1.0/mingw_x86_64        -c config/win64.cbc
-
-  MSVC 32-bit                 C:/gstreamer/1.0/msvc_x86            -c config/win32.cbc -v visualstudio
-
-  MSVC 64-bit                 C:/gstreamer/1.0/msvc_x86_64         -c config/win64.cbc -v visualstudio
-
-  MSVC 32-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86      -c config/win32.cbc -v visualstudio,vscrt=mdd
-
-  MSVC 64-bit (debug)         C:/gstreamer/1.0/msvc-debug_x86_64   -c config/win64.cbc -v visualstudio,vscrt=mdd
-  ----------------------------------------------------------------------------------------------------------------
-
-Note: UWP binary packages are tarballs, not MSI installers.
+-   Universal Windows Platform prebuilt binaries are no longer available
 
 Linux
 
--   Support creating MSI installers using WiX when cross-compiling to
-    Windows
--   Support running cross-windows binaries with Wine when using the
-    shell and runit cerbero commands
--   Added bash-completion support inside the cerbero shell on Linux
--   Require a system-wide installation of openssl on Linux
--   Added variant -v vaapi to build gstreamer-vaapi and the new gstva
-    plugin
--   Debian packaging was disabled because it does not work. Help in
-    fixing this is appreciated.
--   Trimmed the list of packages needed for bootstrap on Linux
+-   Various fixes for RHEL/CentOS 7 support
+-   Added support for running on Linux ARM64
 
 Android
 
--   Updated to NDK r21
--   Support Vulkan
--   Support Qt 5.14+ binary package layout
+-   Android support now requires Android API version 21 (Lollipop)
+-   Support for Android Gradle plugin 7.2
 
 Platform-specific changes and improvements
 
 Android
 
--   opensles: Remove hard-coded buffer-/latency-time values and allow
-    openslessink to handle 48kHz streams.
+-   Android SDK 21 is required now as minimum SDK version
 
--   photography interface and camera source: Add additional settings
-    relevant to Android such as: Exposure mode property, extra colour
-    tone values (aqua, emboss, sketch, neon), extra scene modes
-    (backlight, flowers, AR, HDR), and missing virtual methods for
-    exposure mode, analog gain, lens focus, colour temperature, min &
-    max exposure time. Add new effects and scene modes to Camera
-    parameters.
+-   androidmedia: Add H.265 / HEVC video encoder mapping
 
-macOS and iOS
+-   Implement JNI_OnLoad() to register static plugins etc. automatically
+    in case GStreamer is loaded from Java using System.loadLibrary(),
+    which is also useful for the gst-full deployment scenario.
 
--   vtdec can now output to Vulkan-backed memory for zerocopy support
-    with the Vulkan elements.
+Apple macOS and iOS
 
-Windows
+-   The GLib version shipped with the GStreamer binaries does not
+    initialize an NSApp and does not run a NSRunLoop on the main thread
+    anymore. This was a custom GLib patch and caused it to behave
+    different from the GLib shipped by Homebrew or anybody else.
 
--   d3d11videosink: new Direct3D11-based video sink with support for
-    HDR10 rendering if supported.
-
--   Hardware-accelerated video decoding on Windows via DXVA2 /
-    Direct3D11 using native Windows APIs rather than per-vendor SDKs
-    (like MSDK for Intel or NVCODEC for NVidia). Plus modern Direct3D11
-    integration rather than the almost 20-year old Direct3D9 from
-    Windows XP times used in d3dvideosink. Formats supported for
-    decoding are H.264, H.265, VP8, and VP9, and zero-copy operation
-    should be supported in combination with the new d3d11videosink. See
-    Seungha’s blog post “Windows DXVA2 (via Direct3D 11) Support in
-    GStreamer 1.17” for more details.
-
--   Microsoft Media Foundation plugin for hardware-accelerated video
-    encoding on Windows using native Windows APIs rather than per-vendor
-    SDKs. Formats supported for encoding are H.264, H.265 and VP9. Also
-    includes audio encoders for AAC and MP3. See Seungha’s blog post
-    “Bringing Microsoft Media Foundation to GStreamer” for some more
-    details about this.
-
--   new mfvideosrc video capture source element using the latest Windows
-    APIs rather than ancient APIs used by ksvideosrc/winks. ksvideosrc
-    should be considered deprecated going forward.
-
--   d3d11: add d3d11convert, a color space conversion and rescaling
-    element using shaders, and introduce d3d11upload and d3d11download
-    elements that work just like glupload and gldownload but for D3D11.
-
--   Universal Windows Platform (UWP) support, including official
-    GStreamer binary packages for it. Check out Nirbheek’s latest blog
-    post “GStreamer 1.18 supports the Universal Windows Platform” for
-    more details.
-
--   systemclock correctness and reliability fixes, and also don’t start
-    the system clock at 0 any longer (which shouldn’t make any
-    difference to anyone, as absolute clock time values are supposed to
-    be meaningless in themselves, only the rate of increase matters).
-
--   toolchain specific plugin registry: the registry cache is now named
-    differently for MSVC and MinGW toolchains/packages, which should
-    avoid problems when switching between binaries built with a
-    different toolchain.
-
--   new wasapi2 plugin mainly to support UWP applications. The core
-    logic of this plugin is almost identical to existing wasapi plugin,
-    but the main target is Windows 10 and UWP. This plugin uses WinRT
-    APIs, so will likely not work on Windows 8 or older. Unlike the
-    existing wasapi plugin, this plugin supports automatic stream
-    routing (auto fallback when device was removed) and device level
-    mute/volume control. Exclusive streaming mode is not supported,
-    however, and loopback features are not implemented yet. It is also
-    only possible to build this plugin with MSVC and the Windows 10 SDK,
-    it can’t be cross-compiled with the MingW toolchain.
-
--   new dxgiscreencapsrc element which uses the Desktop Duplication API
-    to capture the desktop screen at high speed. This is only supported
-    on Windows 8 or later. Compared to the existing elements
-    dxgiscreencapsrc offers much better performance, works in High DPI
-    environments and draws an accurate mouse cursor.
-
--   d3dvideosink was downgraded to secondary rank, d3d11videosink is
-    preferred now. Support OverlayComposition for GPU overlay
-    compositing of subtitles and logos.
-
--   debug log output fixes, esp. with a non-UTF8 locale/codepage
-
--   speex, jack: fixed crashes on Windows caused by cross-CRT issues
-
--   gst-play-1.0 interactive keyboard controls now also work on Windows
+    The change was originally introduced because various macOS APIs
+    require a NSRunLoop to run on the main thread to function correctly
+    but as this change will never get merged into GLib and it was
+    reverted for 1.22. Applications that relied on this behaviour should
+    move to the new gst_macos_main() function, which also does not
+    require the usage of a GMainLoop.
 
-Linux
+    See e.g. gst-play.c for an example for the usage of
+    gst_macos_main().
 
--   kmssink: Add support for P010 and P016 formats
+-   GStreamer.framework and all libraries in it are now relocatable,
+    which means they use LC_RPATH entries to find dependencies instead
+    of using an absolute path. If you link to GStreamer using the
+    pkgconfig files, no action is necessary. However, if you use the
+    framework directly or link to the libraries inside the framework by
+    hand, then you need to pass -Wl,-rpath,<path_to_libdir> to the
+    linker.
 
--   vah264dec: new experimental va plugin with an element for H.264
-    decoding with VA-API. This novel approach, different from
-    gstreamer-vaapi, uses the gstcodecs library for decoder state
-    handling, which it is hoped will make for cleaner code because it
-    uses VA-API without further layers or wrappers. Check out Víctor’s
-    blog post “New VA-API H.264 decoder in gst-plugins-bad” for the full
-    lowdown and the limitations of this new plugin, and how to give it a
-    spin.
+-   avfvideosrc: Allow specifying crop coordinates during screen capture
 
--   v4l2codecs: introduce a V4L2 CODECs Accelerator. This plugin will
-    support the new CODECs uAPI in the Linux kernel, which consists of
-    an accelerator interface similar to DXVA, NVDEC, VDPAU and VAAPI. So
-    far H.264 and VP8 are supported. This is used on certain embedded
-    systems such as i.mx8m, rk3288, rk3399, Allwinner H-series SoCs.
+-   vtenc, vtdec: H.265 / HEVC video encoding + decoding support
 
-Documentation improvements
-
--   unified documentation containing tutorials, API docs, plugin docs,
-    etc. all under one roof, shipped in form of a documentation release
-    tarball containing both devhelp and html documentation.
-
--   all documentation is now generated using hotdoc, gtk-doc is no
-    longer used. Distributors should use the above-mentioned
-    documentation release tarball instead of trying to package hotdoc
-    and building the documentation from scratch.
-
--   there is now documentation for wrapper plugins like gst-libav and
-    frei0r, as well as tracer plugins.
-
--   for more info, check out Thibault’s “GStreamer Documentation”
-    lightning talk from the 2019 GStreamer Conference.
-
--   new API for plugins to support the documentation system:
-
-    -   new GParamSpecFlag GST_PARAM_DOC_SHOW_DEFAULT to make
-        gst-inspect-1.0 (and the documentation) show the paramspec’s
-        default value rather than the actually set value as default
-    -   GstPadTemplate getter and setter for “documentation caps”,
-        gst_pad_template_set_documentation_caps() and
-        gst_pad_template_get_documentation_caps(): This can be used in
-        elements where the caps of pad templates are dynamically
-        generated and/or dependent on the environment, to override the
-        caps shown in the documentation (usually to advertise the full
-        set of possible caps).
-    -   gst_type_mark_as_plugin_api() for marking types as plugin API,
-        used for plugin-internal types like enums, flags, pad
-        subclasses, boxed types, and such.
+-   osxaudiosrc: Support a device as both input and output
 
-Possibly Breaking Changes
+    -   osxaudiodeviceprovider now probes devices more than once to
+        determine if the device can function as both an input AND and
+        output device. Previously, if the device provider detected that
+        a device had any output capabilities, it was treated solely as
+        an Audio/Sink. This caused issues for devices that have both
+        input and output capabilities (for example, USB interfaces for
+        professional audio have both input and output channels). Such
+        devicesare now listed as both an Audio/Sink as well as an
+        Audio/Source.
 
--   GstVideo: the canonical list of raw video formats (for use in caps)
-    has been reordered, so video elements such as videotestsrc or
-    videoconvert might negotiate to a different format now than before.
-    The new format might be a higher-quality format or require more
-    processing overhead, which might affect pipeline performance.
-
--   mpegtsdemux used to wrongly advertise H.264 and H.265 video
-    elementary streams as alignment=nal. This has now been fixed and
-    changed to alignment=none, which means an h264parse or h265parse
-    element is now required after tsdemux for some pipelines where there
-    wasn’t one before, e.g. in transmuxing scenarios (tsdemux ! tsmux).
-    Pipelines without such a parser may now fail to link or error out at
-    runtime. As parsers after demuxers and before muxers have been
-    generally required for a long time now it is hoped that this will
-    only affect a small number of applications or pipelines.
-
--   The Android opensles audio source and sink used to have hard-coded
-    buffer-/latency-time values of 20ms. This is no longer needed with
-    newer Android versions and has now been removed. This means a higher
-    or lower value might now be negotiated by default, which can affect
-    pipeline performance and latency.
+-   osxaudio: support hidden devices on macOS
 
-Known Issues
+    -   These are devices that will not be shown in the macOS UIs and
+        that cannot be retrieved without having the specific UID of the
+        hidden device. There are cases when you might want to have a
+        hidden device, for example when having a virtual speaker that
+        forwards the data to a virtual hidden input device from which
+        you can then grab the audio. The blackhole project supports
+        these hidden devices and this change provides a way that if the
+        device id is a hidden device it will use it instead of checkinf
+        the hardware list of devices to understand if the device is
+        valid.
 
--   None in particular
-
-Contributors
-
-Aaron Boxer, Adam Duskett, Adam x Nilsson, Adrian Negreanu, Akinobu
-Mita, Alban Browaeys, Alcaro, Alexander Lapajne, Alexandru Băluț, Alex
-Ashley, Alex Hoenig, Alicia Boya García, Alistair Buxton, Ali Yousuf,
-Ambareesh “Amby” Balaji, Amr Mahdi, Andoni Morales Alastruey, Andreas
-Frisch, Andre Guedes, Andrew Branson, Andrey Sazonov, Antonio Ospite,
-aogun, Arun Raghavan, Askar Safin, AsociTon, A. Wilcox, Axel MÃ¥rtensson,
-Ayush Mittal, Bastian Bouchardon, Benjamin Otte, Bilal Elmoussaoui,
-Brady J. Garvin, Branko Subasic, Camilo Celis Guzman, Carlos Rafael
-Giani, Charlie Turner, Cheng-Chang Wu, Chris Ayoup, Chris Lord,
-Christoph Reiter, cketti, Damian Hobson-Garcia, Daniel Klamt, Daniel
-Molkentin, Danny Smith, David Bender, David Gunzinger, David Ing, David
-Svensson Fors, David Trussel, Debarshi Ray, Derek Lesho, Devarsh
-Thakkar, dhilshad, Dimitrios Katsaros, Dmitriy Purgin, Dmitry Shusharin,
-Dominique Leuenberger, Dong Il Park, Doug Nazar, dudengke, Dylan McCall,
-Dylan Yip, Ederson de Souza, Edward Hervey, Eero Nurkkala, Eike Hein,
-ekwange, Eric Marks, Fabian Greffrath, Fabian Orccon, Fabio D’Urso,
-Fabrice Bellet, Fabrice Fontaine, Fanchao L, Felix Yan, Fernando
-Herrrera, Francisco Javier Velázquez-García, Freyr, Fuwei Tang, Gaurav
-Kalra, George Kiagiadakis, Georgii Staroselskii, Georg Lippitsch, Georg
-Ottinger, gla, Göran Jönsson, Gordon Hart, Gregor Boirie, Guillaume
-Desmottes, Guillermo Rodríguez, Haakon Sporsheim, Haihao Xiang, Haihua
-Hu, Havard Graff, HÃ¥vard Graff, Heinrich Kruger, He Junyan, Henry
-Wilkes, Hosang Lee, Hou Qi, Hu Qian, Hyunjun Ko, ibauer, Ignacio Casal
-Quinteiro, Ilya Smelykh, Jake Barnes, Jakub Adam, James Cowgill, James
-Westman, Jan Alexander Steffens, Jan Schmidt, Jan Tojnar, Javier Celaya,
-Jeffy Chen, Jennifer Berringer, Jens Göpfert, Jérôme Laheurte, Jim
-Mason, Jimmy Ohn, J. Kim, Joakim Johansson, Jochen Henneberg, Johan
-Bjäreholt, Johan Sternerup, John Bassett, Jonas Holmberg, Jonas Larsson,
-Jonathan Matthew, Jordan Petridis, Jose Antonio Santos Cadenas, Josep
-Torra, Jose Quaresma, Josh Matthews, Joshua M. Doe, Juan Navarro,
-Juergen Werner, Julian Bouzas, Julien Isorce, Jun-ichi OKADA, Justin
-Chadwell, Justin Kim, Keri Henare, Kevin JOLY, Kevin King, Kevin Song,
-Knut Andre Tidemann, Kristofer Björkström, krivoguzovVlad, Kyrylo
-Polezhaiev, Lenny Jorissen, Linus Svensson, Loïc Le Page, Loïc Minier,
-Lucas Stach, Ludvig Rappe, Luka Blaskovic, luke.lin, Luke Yelavich,
-Marcin Kolny, Marc Leeman, Marco Felsch, Marcos Kintschner, Marek
-Olejnik, Mark Nauwelaerts, Markus Ebner, Martin Liska, Martin Theriault,
-Mart Raudsepp, Matej Knopp, Mathieu Duponchelle, Mats Lindestam, Matthew
-Read, Matthew Waters, Matus Gajdos, Maxim Paymushkin, Maxim P.
-Dementiev, Michael Bunk, Michael Gruner, Michael Olbrich, Miguel París
-Díaz, Mikhail Fludkov, Milian Wolff, Millan Castro, Muhammet Ilendemli,
-Nacho García, Nayana Topolsky, Nian Yan, Nicola Murino, Nicolas
-Dufresne, Nicolas Pernas Maradei, Niels De Graef, Nikita Bobkov, Niklas
-Hambüchen, Nirbheek Chauhan, Ognyan Tonchev, okuoku, Oleksandr
-Kvl,Olivier Crête, Ondřej Hruška, Pablo Marcos Oltra, Patricia Muscalu,
-Peter Seiderer, Peter Workman, Philippe Normand, Philippe Renon, Philipp
-Zabel, Pieter Willem Jordaan, Piotr DrÄ…g, Ralf Sippl, Randy Li, Rasmus
-Thomsen, Ratchanan Srirattanamet, Raul Tambre, Ray Tiley, Richard
-Kreckel, Rico Tzschichholz, R Kh, Robert Rosengren, Robert Tiemann,
-Roman Shpuntov, Roman Sivriver, Ruben Gonzalez, Rubén Gonzalez,
-rubenrua, Ryan Huang, Sam Gigliotti, Santiago Carot-Nemesio, Saunier
-Thibault, Scott Kanowitz, Sebastian Dröge, Sebastiano Barrera, Seppo
-Yli-Olli, Sergey Nazaryev, Seungha Yang, Shinya Saito, Silvio
-Lazzeretti, Simon Arnling Bååth, Siwon Kang, sohwan.park, Song Bing,
-Soohyun Lee, Srimanta Panda, Stefano Buora, Stefan Sauer, Stéphane
-Cerveau, Stian Selnes, Sumaid Syed, Swayamjeet, Thiago Santos, Thibault
-Saunier, Thomas Bluemel, Thomas Coldrick, Thor Andreassen, Tim-Philipp
-Müller, Ting-Wei Lan, Tobias Ronge, trilene, Tulio Beloqui, U. Artie
-Eoff, VaL Doroshchuk, Varunkumar Allagadapa, Vedang Patel, Veerabadhran
-G, Víctor Manuel Jáquez Leal, Vivek R, Vivia Nikolaidou, Wangfei, Wang
-Zhanjun, Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier
-Claessens, Xidorn Quan, Xu Guangxin, Yan Wang, Yatin Maan, Yeongjin
-Jeong, yychao, Zebediah Figura, Zeeshan Ali, Zeid Bekli, Zhiyuan Sraf,
-Zoltán Imets,
-
-… and many others who have contributed bug reports, translations, sent
-suggestions or helped testing.
-
-Stable 1.18 branch
-
-After the 1.18.0 release there will be several 1.18.x bug-fix releases
-which will contain bug fixes which have been deemed suitable for a
-stable branch, but no new features or intrusive changes will be added to
-a bug-fix release usually. The 1.18.x bug-fix releases will be made from
-the git 1.18 branch, which will be a stable branch.
-
-1.18.0
-
-1.18.0 was released on 8 September 2020.
-
-1.18.1
-
-The first 1.18 bug-fix release (1.18.1) was released on 26 October 2020.
-
-This release only contains bugfixes and it should be safe to update from
-1.18.0.
-
-Highlighted bugfixes in 1.18.1
-
--   important security fixes
--   bug fixes and memory leak fixes
--   various stability and reliability improvements
-
-gstreamer
-
--   aggregator: make peek() has() pop() drop() buffer API threadsafe
--   gstvalue: don’t write to const char *
--   meson: Disallow DbgHelp for UWP build
--   info: Fix build on Windows ARM64 device
--   build: use cpu_family for arch checks
--   basetransform: Fix in/outbuf confusion of _default_transform_meta
--   Fix documentation
--   info: Load DbgHelp.dll using g_module_open()
--   padtemplate: mark documentation caps as may be leaked
--   gstmeta: intern registered impl string
--   aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST()
--   ptp_helper_post_install.sh: deal with none
--   skip elements/leak.c if tracer is not available
--   aggregator: Wake up source pad in PAUSED<->PLAYING transitions
--   input-selector: Wake up blocking pads when releasing them
--   ptp: Also handle gnu/kfreebsd
-
-gst-plugins-base
-
--   theoradec: Set telemetry options only if they are nonzero
--   glslstage: delete shader on finalize of stage
--   urisourcebin: Fix crash caused by use after free
--   decodebin3: Store stream-start event on output pad before exposing
-    it
--   Add some missing nullable annotations
--   typefind/xdgmime: Validate mimetypes to be valid GstStructure names
-    before using them
--   uridecodebin3: Forward upstream events to decodebin3 directly
--   video-converter: Add fast paths from v210 to I420/YV12, Y42B, UYVY
-    and YUY2
--   videoaggregator: Limit accepted caps by template caps
--   gstrtpbuffer: fix header extension length validation
--   decodebin3: only force streams-selected seqnum after a
-    select-streams
--   videodecoder: don’t copy interlace-mode from reference state
--   enable abi checks
--   multihandlesink: Don’t pass NULL caps to gst_caps_is_equal
--   audio: video: Fix in/outbuf confusion of transform_meta
--   meson: Always wrap “prefix” option with join_paths() to make Windows
-    happy
--   videoaggregator: ensure peek_next_sample() uses the correct caps
--   meson: Actually build gstgl without implicit include dirs
--   videoaggregator: Don’t require any pads to be configured for
-    negotiating source pad caps
--   gst-libs: gl: Fix documentation typo and clarify
-    gl_memory_texsubimage
--   audioaggregator: Reset offset if the output rate is renegotiated
--   video-anc: Implement transform functions for AFD/Bar metas
--   appsrc: Wake up the create() function on caps changes
--   rtpbasepayload: do not forget delayed segment when forwarding gaps
-
-gst-plugins-good
-
--   v4l2object: Only offer inactive pools and if needed
--   vpx: Fix the check to unfixed/unknown framerate to set bitrate
--   qmlglsink: fix crash when created/destroyed in quick succession
--   rtputils: Count metas with an empty tag list for copying/keeping
--   rtpbin: Remove the rtpjitterbuffer with the stream
--   rtph26*depay: drop FU’s without a corresponding start bit
--   imagefreeze: Response caps query from srcpad
--   rtpmp4gdepay: Allow lower-case “aac-hbr” instead of correct
-    “AAC-hbr”
--   rtspsrc: Fix push-backchannel-buffer parameter mismatch
--   jpegdec: check buffer size before dereferencing
--   flvmux: Move stream skipping to GstAggregatorPadClass.skip_buffer
--   v4l2object: plug memory leak
--   splitmuxsink: fix sink pad release while PLAYING
-
-gst-plugins-bad
-
--   codecparsers: h264parser: guard against ref_pic_markings overflow
--   v4l2codecs: Various fixes
--   h265parse: Don’t enable passthrough by default
--   srt: Fix “Fix timestamping”
--   srt: Fixes for 1.4.2
--   dtlsconnection: Ignore OpenSSL system call errors
--   h265parse: set interlace-mode=interleaved on interlaced content
--   Replace GPL v2 with LGPL v2 in COPYING file
--   srt: Consume the error from gst_srt_object_write
--   srt: Check socket state before retrieving payload size
--   x265enc: fix deadlock on reconfig
--   webrtc: Require gstreamer-sdp in the pkg-config file
--   srtsrc: Fix timestamping
--   mfvideosrc: Use only the first video stream per device
--   srtobject: typecast SRTO_LINGER to linger
--   decklink: Correctly order the different dependent mode tables
--   wasapisrc: Make sure that wasapisrc produces data in loopback mode
--   wpesrc: fix some caps leaks using the non-GL output
--   smoothstreaming: clear live adapter on seek
--   vtdec/vulkan: use Shared storage mode for IOSurface textures
--   wpe: Move webview load waiting to WPEView
--   wpe: Use proper callback for TLS errors signal handling
--   kmssink: Do not source using padded width/height
--   avtp: avtpaafdepay: fix crash when building caps
--   opencv: set opencv_dep when option is disabled to fix the build
--   line21encoder: miscellaneous enhancements
--   Hls youtube issues with urisourcebin/queue2
--   rtmp2: Replace stats queue with stats lock
--   rtmp2sink: support EOS event for graceful connection shutdown
--   mpegtsmux: Make handling of sinkpads thread-safe
--   hlssink2: Actually release splitmuxsink’s pads
--   mpegtsmux: Don’t create streams with reserved PID
-
-gst-plugins-ugly
-
--   no changes
-
-gst-libav
-
--   avaudenc/avvidenc: Reopen encoding session if it’s required
--   avauddec/audenc/videnc: Don’t return GST_FLOW_EOS when draining
--   avauddec/avviddec: Avoid dropping non-OK flow return
--   avcodecmap: Enable 24 bit WMA Lossless decoding
-
-gst-rtsp-server
-
--   rtsp-stream: collect rtp info when blocking
--   rtsp-media: set a 0 storage size for TCP receivers
--   rtsp-stream: preroll on gap events
--   rtsp-media: do not unblock on unsuspend
-
-gstreamer-vaapi
-
--   decoder: don’t reply src caps query with allowed if pad is fixed
--   plugins: decode: fix a DMA caps typo in ensure_allowed_srcpad_caps
-
-gstreamer-sharp
-
--   Add bindings for some missing 1.18 API
-
-gst-omx
-
--   omxvideodec: support interlace-mode=interleaved input
-
-gst-python
-
--   no changes
-
-gst-editing-services
-
--   ges: Do not recreate auto-transitions when changing clip assets
--   ges: Fix a copy/paste mistake in meson file
-
-gst-integration-testsuites
-
--   medias: Update for h265parse passthrough behavior change
--   update validate.test.h265parse.alternate test
-
-gst-build
-
--   windows: Detect Strawberry Perl and error out early
--   {pygobject,pycairo}.wrap: point to stable refs
-
-Cerbero build tool and packaging changes in 1.18.1
-
--   Add macOS Big Sur support
--   gst-plugins-bad: Ship rtpmanagerbad plugin
--   gstreamer-1.0: Don’t enable DbgHelp for UWP build
--   pango: fix font corruption on windows
--   cairo: use thread local storage to grant one windows HDC per thread
--   small fixes for Xcode 12
--   cerbero: Re-add alsa-devel to bootstrap on Linux
--   FreeType: update to 2.10.4 to fix security vulnerability
-
-Contributors to 1.18.1
-
-Aaron Boxer, Adam Williamson, Andrew Wesie, Arun Raghavan, Bastien
-Reboulet, Brent Gardner, Edward Hervey, François Laignel, Guillaume
-Desmottes, Havard Graff, He Junyan, Hosang Lee, Jacek Tomaszewski, Jakub
-Adam, Jan Alexander Steffens (heftig), Jan Schmidt, Jérôme Laheurte,
-Jordan Petridis, Marc Leeman, Marian Cichy, Marijn Suijten, Mathieu
-Duponchelle, Matthew Waters, Michael Tretter, Nazar Mokrynskyi, Nicolas
-Dufresne, Niklas Hambüchen, Nirbheek Chauhan, Olivier Crête, Philippe
-Normand, raghavendra, Ricky Tang, Sebastian Dröge, Seungha Yang,
-sohwan.park, Stéphane Cerveau, Thibault Saunier, Tim-Philipp Müller, Tom
-Schoonjans, Víctor Manuel Jáquez Leal, Will Miller, Xavier Claessens, Xℹ
-Ruoyao, Zebediah Figura,
-
-… and many others who have contributed bug reports, translations, sent
-suggestions or helped testing. Thank you all!
-
-List of merge requests and issues fixed in 1.18.1
-
--   List of Merge Requests applied in 1.18.1
--   List of Issues fixed in 1.18.1
-
-1.18.2
-
-The second 1.18 bug-fix release (1.18.2) was released on 6 December
-2020.
-
-This release only contains bugfixes and it should be safe to update from
-1.18.x.
-
-Highlighted bugfixes in 1.18.2
-
--   Fix MPEG-TS timestamping regression when playing DVB streams
--   compositor: fix artefacts in certain input scaling/conversion
-    situations and make sure that the output format is actually
-    supported, plus renegotiation fixes
--   Fix sftp:// URI playback in decodebin/playbin via giosrc
--   adaptivedemux/dashdemux/hlsdemux fixes
--   rtsp-server fixes
--   android media: fix crash when encoding AVC
--   fix races in various unit tests
--   lots of other bug fixes and memory leak fixes
--   various stability, performance and reliability improvements
--   g-i annotation fixes
--   build fixes
-
-gstreamer
-
--   bin: When removing a sink, check if the EOS status changed
--   info: colorize PIDs in log messages
--   aggregator: Include min-upstream-latency in buffering time, helps
-    especially with performance issues on single core systems where
-    there are a lot of threads running
--   typefind: copy seqnum to new segment event, fixing issues with
-    oggdemux operating in push mode with typefind operating in pull mode
--   identity, clocksync: Also provide system clock if sync=false
--   queue2: Fix modes in scheduling query handling
--   harness: Handle element not being set cleanly
--   g-i: Add some missing nullable annotations, and fix some nullable
-    annotations:
-    -   gst_test_clock_process_next_clock_id() returns nullable
-    -   gst_stream_type_get_name() is not nullable
--   build: fix build issue when compiling for 32-bit architectures with
-    64-bit time_t (e.g. riscv32) by increasing padding in
-    GstClockEntryImpl in gst_private.h
-
-gst-plugins-base
-
--   gl/eagl: internal view resize fixes for glimagesink
--   video-converter: increase the number of cache lines for resampling,
-    fixes significant color issues and artefacts with “special” resizing
-    parameters in compositor
--   compositor: Don’t crash in prepare_frame() if the pad was just
-    removed
--   decodebin3: Properly handle caps query with no filter
--   videoaggregator: Guarantee that the output format is supported
--   videoaggregator: Fix locking around vagg->info
--   gluploadelement: Avoid race condition of base class’ context
--   gluploadelement: Avoid race condition of inside upload creation
--   gl: Fix prototype of glGetSynciv()
--   tcpserversink: Don’t assume g_socket_get_remote_address() succeeds
--   video-aggregator: Fix renegotiation when using convert pads
--   videoaggregator: document and fix locking in convert pad
--   audiodecoder, videodecoder: Don’t reset max-errors property value in
-    reset()
--   audioencoder: Fix incorrect GST_LOG_OBJECT usage
--   pbutils: Fix segfault when using invalid encoding profile
--   g-i: videometa: gir annotate the size of plane array in new API
--   examples/gl/gtk: Add missing dependency on gstgl
--   video: fix doc warning
-
-gst-plugins-good
-
--   rpicamsrc: add vchostif library as it is required to build
-    successful
--   deinterlace: Enable x86 assembly with nasm on MSVC
--   v4l2: caps negotiate wrong as interlace feature
--   aacparse: Fix caps change handling
--   rtspsrc: Use URI hash for stream id
--   flvmux: Release pads via GstAggregator
--   qtmux: Chain up when releasing pad, and fix some locking
--   matroska-mux: Fix sparse stream crash
--   Splitmux testsuite races
-
-gst-plugins-bad
-
--   tsparse: timestamp packetized buffers, fixing timestamp handling
-    regression in connection with dvbsrc in MeTV
--   ttmlparse: fix issues in aggregation of input TTML
--   mpegdemux: Set duration on seeking query if possible, fixes seeking
-    in MPEG-PS streams in gst-play-1.0
--   mpegtsdemux: Fix off by one error
--   adaptivedemux: Store QoS values on the element
--   adaptivedemux: Don’t calculate bitrate for header/index fragments
--   hlsdemux: Don’t double-free variant streams on errors
--   mpegtspacketizer: Handle PCR issues with adaptive streams
--   player: call ref_sink on pipeline
--   vkdeviceprovider: Avoid deadlock on physical device
--   wlvideoformat: fix DMA format convertor
--   Webrtc shutdown crashes
--   decklink: Update enum value bounds check in gst_decklink_get_mode()
--   decklink: correct framerate 2KDCI 23.98
--   amc: Fix crash when encoding AVC
--   d3d11videoprocessor: Fix wrong input/output supportability check
--   opencv: allow compilation against 4.5.x
--   tests: svthevcenc: Fix test_encode_simple
--   tests: dtls: Don’t set dtlsenc state before linking
--   mpegtsmux: Restore intervals when creating TsMux
--   adaptivedemux, hlsdemux, curl: Use actual object for logging
--   gi: player: Fix get_current_subtitle_track() annotation
-
-gst-plugins-ugly
-
--   no changes
-
-gst-libav
-
--   avauddec: Check planar-ness of frame rather than context, fixes
-    issue with aptX HD decoding
-
-gst-rtsp-server
-
--   stream: collect a clock_rate when blocking
--   media: Ignore GstRTSPStreamBlocking from incomplete streams, to
-    prevent cases with prerolling when the inactive stream prerolls
-    first and the server proceeds without waiting for the active stream.
-    When there are no complete streams (during DESCRIBE), we will listen
-    to all streams.
--   media: Use guint64 for setting the size-time property on rtpstorage,
-    fixes potential crashes or memory corruption.
--   media: Get rates only on sender streams, fixing issue with ONVIF
-    audio backchannel streams
--   media: Plug memory leak
-
-gstreamer-vaapi
-
--   H265 decoder: Fix a typo in scc reference setting
-
-gstreamer-sharp
-
--   no changes
-
-gst-omx
-
--   no changes
-
-gst-python
-
--   no changes
-
-gst-editing-services
-
--   Fix static build
--   ges_init(): Fix potential initialisation crash on error
-
-gst-integration-testsuites
-
--   no changes
-
-gst-build
-
--   gst-env: use Path.open() in get_pkgconfig_variable_from_pcfile(),
-    fixes issues with python 3.5
--   subprojects: pin orc to 0.4.32 release (was 0.4.29) and pin libpsl
-    to 0.21.1 (was master)
-
-Cerbero build tool and packaging changes in 1.18.2
-
--   build-tools: copy the removed site.py from setuptools, fixing python
-    programs (like meson) from using libraries from incorrect places
-
-Contributors to 1.18.2
-
-Arun Raghavan, Bing Song, Chris Bass, Chris Duncan, Chris White, David
-Keijser, David Phung, Edward Hervey, Fabrice Fontaine, Guillaume
-Desmottes, Guiqin Zou, He Junyan, Jan Alexander Steffens (heftig), Jan
-Schmidt, Jason Pereira, Jonathan Matthew, Jose Quaresma, Julian Bouzas,
-Khem Raj, Kristofer Björkström, Marijn Suijten, Mart Raudsepp, Mathieu
-Duponchelle, Matthew Waters, Nicola Murino, Nicolas Dufresne, Nirbheek
-Chauhan, Olivier Crête, Philippe Normand, Rafostar, Randy Li, Sanchayan
-Maity, Sebastian Dröge, Seungha Yang, Thibault Saunier, Tim-Philipp
-Müller, Vivia Nikolaidou, Xavier Claessens
-
-… and many others who have contributed bug reports, translations, sent
-suggestions or helped testing. Thank you all!
+Windows
 
-List of merge requests and issues fixed in 1.18.2
+-   win32ipcvideosink, win32ipcvideosrc: new shared memory videosrc/sink
+    elements
 
--   List of Merge Requests applied in 1.18.2
--   List of Issues fixed in 1.18.2
+-   wasapi2: Add support for process loopback capture for a specified
+    PID (requires Windows 11/Windows Server 2022)
 
-1.18.3
+-   The Windows universal UWP build is currently non-functional and will
+    need updating after the recent GLib upgrade. It is unclear if anyone
+    is using these binaries, so if you are please make yourself known.
 
-The third 1.18 bug-fix release (1.18.3) was released on 13 January 2021.
+-   wicjpegdec, wicpngdec: Windows Imaging Component (WIC) based JPEG
+    and PNG decoder elements.
 
-This release only contains bugfixes and it should be safe to update from
-1.18.x.
+-   mfaacdec, mfmp3dec: Windows MediaFoundation AAC and MP3 decoders
 
-Highlighted bugfixes in 1.18.3
+-   The uninstalled development environment supports PowerShell 7 now
 
--   fix ogg playback regression for ogg files that also have ID3 or APE
-    tags
--   compositor: fix artefacts and invalid memory access when blending
-    subsampled formats
--   exported mini object ref/unref/copy functions for use in bindings
-    such as gstreamer-sharp
--   Add support for Apple silicon (M1) to cerbero package builder
--   Ship RIST plugin in binary packages
--   various stability, performance and reliability improvements
--   memory leak fixes
--   build fixes
+Linux
 
-gstreamer
+-   Improved design for DMA buffer sharing and modifier handling for
+    hardware-accelerated video decoders/encoders/filters and
+    capture/rendering on Linux and Linux-like system.
 
--   gst: Add non-inline ref/unref/copy/replace methods for various mini
-    objects (buffer, bufferlist, caps, context, event, memory, message,
-    promise, query, sample, taglist, uri) for use in bindings such as
-    gstreamer-sharp
--   harness: don’t use GST_DEBUG_OBJECT with GstHarness which is not a
-    GObject
+-   kmssink
 
-gst-plugins-base
+    -   new “fd” property which allows an application to provide their
+        own opened DRM device fd handle to kmssink. That way an
+        application can lease multiple fd’s from a DRM master to display
+        on different CRTC outputs at the same time with multiple kmssink
+        instances, for example.
+    -   new “skip-vsync” property to achieve full framerate with legacy
+        emulation in drivers.
+    -   HDR10 infoframe support
 
--   audiorate: Make buffer writable before changing its metadata
--   compositor: fix blending of subsampled components
--   decodebin3: When reconfiguring a slot make sure that the ghostpad is
-    unlinked
--   decodebin3: Release selection lock when pushing EOS
--   encodebasebin: Ensure that parsers are compatible with selected
-    encoders
--   tagdemux: resize and trim buffer in place to fix interaction with
-    oggdemux
--   videoaggregator: Pop out old buffers on timeout
--   video-blend: fix blending 8-bit and 16-bit frames together
--   appsrc: fix signal documentation
--   gl: document some GL caps specifics
--   libvisual: workaround clang compiler warning
+-   va plugin and gstreamer-vaapi improvements (see above)
 
-gst-plugins-good
+-   waylandsink: Add “rotate-method” property and “render-rectangle”
+    property
 
--   deinterlace: fix build of assembly optimisations on macOS
--   splitmuxsink: Avoid deadlock when releasing a pad from a running
-    muxer
--   splitmuxsink: fix bogus fragment split
--   v4l2object: Map correct video format for RGBA
--   videoflip: fix possible crash when changing video-direction/method
-    while running
+-   new gtkwaylandsink element based on gtksink, but similar to
+    waylandsink and uses Wayland APIs directly instead of rendering with
+    Gtk/Cairo primitives. This approach is only compatible with Gtk3,
+    and like gtksink this element only supports Gtk3.
 
-gst-plugins-bad
+Documentation improvements
 
--   assrender: fix mutex handling in certain flushing/error situations
--   dvbsuboverlay: Add support for dynamic resolution update
--   dashsink: fix critical log of dynamic pipeline
--   d3d11shader: Fix ID3DBlob object leak
--   d3d11videosink: Prepare window once streaming started
--   decklinkaudiosrc: Fix duration of the first audio frame after each
-    discont
--   intervideosrc: fix negotiation of interlaced caps
--   msdk: needn’t close mfx session when failed, fixes double free /
-    potential crash
--   msdk: check GstMsdkContext instead of mfxSession instance
--   srt: fix locking when retrieving stats
--   rtmp2src: fix leaks when connection is cancelled during startup or
-    connection fails
+-   The GStreamer Rust plugins are now included and documented in the
+    plugin documentation.
 
-gst-plugins-ugly
+Possibly Breaking Changes
 
--   no changes
+-   the Opus audio RTP payloader and depayloader no longer accept the
+    lower case encoding-format=multiopus but instead produce and accept
+    only the upper case variant encoding-format=MULTIOPUS, since those
+    should always be upper case in GStreamer (caps fields are always
+    case sensitive). This should hopefully only affect applications
+    where RTP caps are set manually and multi-channel audio (>= 3
+    channels) is used.
 
-gst-libav
+-   wpesrc: the URI handler protocols changed from wpe:// and web:// to
+    web+http://, web+https://, and web+file:// which means URIs are RFC
+    3986 compliant and the source can simply strip the prefix from the
+    protocol.
 
--   avauddec: Drain decoder on decoding failure, fixes timestamps after
-    decoding errors
+-   The Windows screen capture element dxgiscreencapsrc has been
+    removed, please use d3d11screencapturesrc instead.
 
-gst-rtsp-server
+-   On Android the minimum supported Android API version is now version
+    21 and has been increased from 16.
 
--   rtsp-media: Only count senders when counting blocked streams
--   rtsp-client: Only unref client watch context on finalize, to avoid
-    deadlock
+-   On macOS, the GLib version shipped with the GStreamer binaries will
+    no longer initialize an NSApp or run an NSRunLoop on the main
+    thread. See macOS/iOS section above for details.
 
-gstreamer-vaapi
+-   decklink: The decklink plugin is now using the 12.2.2 version of the
+    SDK and will not work with drivers older than version 12.
 
--   no changes
+-   On iOS Apple Bitcode support was removed from the binaries. This
+    feature is deprecated since XCode 14 and not used on the App Store
+    anymore.
 
-gstreamer-sharp
+-   The MP4/Matroska/WebM muxers now require the “stream-format” to be
+    provided as part of the AV1 caps as only the original “obu-stream”
+    format is supported in these containers and not the “annexb” format.
 
--   no changes
+Known Issues
 
-gst-omx
+-   The Windows UWP build in Cerbero needs fixing after the recent GLib
+    upgrade (see above)
 
--   no changes
+-   The C# bindings have not been updated to include new 1.22 API yet
+    (see above)
 
-gst-python
+Statistics
 
--   no changes
+-   4072 commits
 
-gst-editing-services
+-   2224 Merge Requests
 
--   launch: Ensure to add required ref to profiles from project
--   tests: fix meson test env setup to make sure we use the right
-    gst-plugin-scanner
+-   716 Issues
 
-gst-integration-testsuites
+-   200+ Contributors
 
--   no changes
+-   ~33% of all commits and Merge Requests were in Rust modules
 
-gst-build
+-   4747 files changed
 
--   meson: Update zlib.wrap to use wrapdb instead of github fork
+-   469633 lines added
 
-Cerbero build tool and packaging changes in 1.18.3
+-   209842 lines deleted
 
--   Add support for Apple silicon
--   Build and ship RIST plugin
+-   259791 lines added (net)
 
-Contributors to 1.18.3
+Contributors
 
-Andoni Morales Alastruey, Edward Hervey, Haihao Xiang, Haihua Hu, Hou
-Qi, Ignacio Casal Quinteiro, Jakub Adam, Jan Alexander Steffens
-(heftig), Jan Schmidt, Jordan Petridis, Lawrence Troup, Lim Siew Hoon,
-Mathieu Duponchelle, Matthew Waters, Nicolas Dufresne, Raju Babannavar,
-Sebastian Dröge, Seungha Yang, Thibault Saunier, Tim-Philipp Müller,
-Tobias Ronge, Vivia Nikolaidou,
+Ádám Balázs, Adam Doupe, Adrian Fiergolski, Adrian Perez de Castro, Alba
+Mendez, Aleix Conchillo Flaqué, Aleksandr Slobodeniuk, Alicia Boya
+García, Alireza Miryazdi, Andoni Morales Alastruey, Andrew Pritchard,
+Arun Raghavan, A. Wilcox, Bastian Krause, Bastien Nocera, Benjamin
+Gaignard, Bill Hofmann, Bo Elmgreen, Boyuan Zhang, Brad Hards, Branko
+Subasic, Bruce Liang, Bunio FH, byran77, Camilo Celis Guzman, Carlos
+Falgueras García, Carlos Rafael Giani, Célestin Marot, Christian Wick,
+Christopher Obbard, Christoph Reiter, Chris Wiggins, Chun-wei Fan, Colin
+Kinloch, Corentin Damman, Corentin Noël, Damian Hobson-Garcia, Daniel
+Almeida, Daniel Morin, Daniel Stone, Daniels Umanovskis, Danny Smith,
+David Svensson Fors, Devin Anderson, Diogo Goncalves, Dmitry Osipenko,
+Dongil Park, Doug Nazar, Edward Hervey, ekwange, Eli Schwartz, Elliot
+Chen, Enrique Ocaña González, Eric Knapp, Erwann Gouesbet, Evgeny
+Pavlov, Fabian Orccon, Fabrice Fontaine, Fan F He, F. Duncanh, Filip
+Hanes, Florian Zwoch, François Laignel, Fuga Kato, George Kiagiadakis,
+Guillaume Desmottes, Gu Yanjie, Haihao Xiang, Haihua Hu, Havard Graff,
+Heiko Becker, He Junyan, Henry Hoegelow, Hiero32, Hoonhee Lee, Hosang
+Lee, Hou Qi, Hugo Svirak, Ignacio Casal Quinteiro, Ignazio Pillai, Igor
+V. Kovalenko, Jacek Skiba, Jakub Adam, James Cowgill, James Hilliard,
+Jan Alexander Steffens (heftig), Jan Lorenz, Jan Schmidt, Jianhui Dai,
+jinsl00000, Johan Sternerup, Jonas Bonn, Jonas Danielsson, Jordan
+Petridis, Joseph Donofry, Jose Quaresma, Julian Bouzas, Junsoo Park,
+Justin Chadwell, Khem Raj, Krystian Wojtas, László Károlyi, Linus
+Svensson, Loïc Le Page, Ludvig Rappe, Marc Leeman, Marek Olejnik, Marek
+Vasut, Marijn Suijten, Mark Nauwelaerts, Martin Dørum, Martin Reboredo,
+Mart Raudsepp, Mathieu Duponchelle, Matt Crane, Matthew Waters, Matthias
+Clasen, Matthias Fuchs, Mengkejiergeli Ba, MGlolenstine, Michael Gruner,
+Michiel Konstapel, Mikhail Fludkov, Ming Qian, Mingyang Ma, Myles
+Inglis, Nicolas Dufresne, Nirbheek Chauhan, Olivier Crête, Pablo Marcos
+Oltra, Patricia Muscalu, Patrick Griffis, Paweł Stawicki, Peter
+Stensson, Philippe Normand, Philipp Zabel, Pierre Bourré, Piotr
+Brzeziński, Rabindra Harlalka, Rafael Caricio, Rafael Sobral, Rafał
+Dzięgiel, Raul Tambre, Robert Mader, Robert Rosengren, Rodrigo
+Bernardes, Rouven Czerwinski, Ruben Gonzalez, Sam Van Den Berge,
+Sanchayan Maity, Sangchul Lee, Sebastian Dröge, Sebastian Fricke,
+Sebastian Groß, Sebastian Mueller, Sebastian Wick, Sergei Kovalev,
+Seungha Yang, Seungmin Kim, sezanzeb, Sherrill Lin, Shingo Kitagawa,
+Stéphane Cerveau, Talha Khan, Taruntej Kanakamalla, Thibault Saunier,
+Tim Mooney, Tim-Philipp Müller, Tomasz Andrzejak, Tom Schuring, Tong Wu,
+toor, Tristan Matthews, Tulio Beloqui, U. Artie Eoff, Víctor Manuel
+Jáquez Leal, Vincent Cheah Beng Keat, Vivia Nikolaidou, Vivienne
+Watermeier, WANG Xuerui, Wojciech Kapsa, Wonchul Lee, Wu Tong, Xabier
+Rodriguez Calvar, Xavier Claessens, Yatin Mann, Yeongjin Jeong, Zebediah
+Figura, Zhao Zhili, Zhiyuaniu, مهدي شينون (Mehdi Chinoune),
 
 … and many others who have contributed bug reports, translations, sent
-suggestions or helped testing. Thank you all!
-
-List of merge requests and issues fixed in 1.18.3
-
--   List of Merge Requests applied in 1.18.3
--   List of Issues fixed in 1.18.3
-
-1.18.4
-
-The fourth 1.18 bug-fix release (1.18.4) was released on 15 March 2021.
-
-This release only contains bugfixes and security fixes and it should be
-safe to update from 1.18.x.
-
-Highlighted bugfixes in 1.18.4
-
--   important security fixes for ID3 tag reading, matroska and realmedia
-    parsing, and gst-libav audio decoding
--   audiomixer, audioaggregator: input buffer handling fixes
--   decodebin3: improve stream-selection message handling
--   uridecodebin3: make “caps” property work
--   wavenc: fix writing of INFO chunks in some cases
--   v4l2: bt601 colorimetry, allow encoder resolution changes, fix
-    decoder frame rate negotiation
--   decklinkvideosink: fix auto format detection, and fixes for 29.97fps
-    framerate output
--   mpeg-2 video handling fixes when seeking
--   avviddec: fix bufferpool negotiation and possible memory corruption
-    when changing resolution
--   various stability, performance and reliability improvements
--   memory leak fixes
--   build fixes: rpicamsrc, qt overlay example, d3d11videosink on UWP
-
-gstreamer
-
--   info: Don’t leak log function user_data if the debug system is
-    compiled out
--   task: Use SetThreadDescription() Win32 API for setting thread names,
-    which preserves thread names in dump files.
--   buffer, memory: Mark info in map functions as caller-allocates and
-    pass allocation params as const pointers where possible
--   clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
-
-gst-plugins-base
-
--   tag: id3v2: fix frame size check and potential invalid reads
--   audio: Fix gst_audio_buffer_truncate() meta handling for
-    non-interleaved audio
--   audioresample: respect buffer layout when draining
--   audioaggregator: fix input_buffer ownership
--   decodebin3: change stream selection message owner, so that the app
-    sends the stream-selection event to the right element
--   rtspconnection: correct data_size when tunneled mode
--   uridecodebin3: make caps property work
--   video-converter: Don’t upsample invalid lines
--   videodecoder: Fix racy critical when pool negotiation occurs during
-    flush
--   video: Convert gst_video_info_to_caps() to take self as const ptr
--   examples: added qt core dependency for qt overlay example
-
-gst-plugins-good
-
--   matroskademux: header parsing fixes
--   rpicamsrc: depend on posix threads and vchiq_arm to fix build on
-    raspios again
--   wavenc: Fixed INFO chunk corruption, caused by odd sized data not
-    being padded
--   wavpackdec: Add floating point format support to fix distortions in
-    some cases
--   v4l2: recognize V4L2 bt601 colorimetry again
--   v4l2videoenc: support resolution change stream encode
--   v4l2h265codec: fix HEVC profile string issue
--   v4l2object: Need keep same transfer as input caps
--   v4l2videodec: Fix vp8 and vp9 streams can’t play on board with
-    vendor bsp
--   v4l2videodec: fix src side frame rate negotiation
-
-gst-plugins-bad
-
--   avwait: Don’t post messages with the mutex locked
--   d3d11h264dec: Reconfigure decoder object on DPB size change and keep
-    track of actually configured DPB size
--   dashsink: fix double unref of sinkpad caps
--   decklinkvideosink: Use correct numerator for 29.97fps
--   decklinkvideosink: fix auto format detection
--   decklinksrc: Use a more accurate capture time
--   d3d11videosink: Fix build error on UWP
--   interlace: negotiation and buffer leak fixes
--   mpegvideoparse: do not clip, so decoder receives data from keyframe
-    even if it’s before the segment start
--   mpegtsparse: Fix switched DTS/PTS when set-timestamps=false
--   nvh264sldec: Reopen decoder object if larger DPB size is required
--   sdpsrc: fix double free if sdp is provided as string via the
-    property
--   vulkan: Fix elements long name.
-
-gst-plugins-ugly
-
--   rmdemux: Make sure we have enough data available when parsing
-    audio/video packets
-
-gst-libav
-
--   avviddec: take the maximum of the height/coded_height
--   viddec: don’t configure an incorrect buffer pool when receiving a
-    gap event
--   audiodec: fix stack overflow in gst_ffmpeg_channel_layout_to_gst()
-
-gst-rtsp-server
-
--   rtspclientsink: fix deadlock on shutdown if no data has been
-    received yet
--   rtspclientsink: fix leaks in unit tests
--   rtsp-stream: avoid deadlock in send_func
--   rtsp-client: cleanup transports during TEARDOWN
-
-gstreamer-vaapi
-
--   h264 encoder: append encoder exposure to aud
--   postproc: Fix a problem of propose_allocation when passthrough
--   glx: Iterate over FBConfig and select 8 bit color size
-
-gstreamer-sharp
-
--   no changes
-
-gst-omx
-
--   no changes
-
-gst-python
-
--   no changes
-
-gst-editing-services
-
--   group: Use proper group constructor
-
-gst-integration-testsuites
-
--   no changes
-
-gst-build
-
--   no changes
-
-Cerbero build tool and packaging changes in 1.18.4
-
--   macOS: more BigSur fixes
--   glib: Backport patch to set thread names on Windows 10
-
-Contributors to 1.18.4
+suggestions or helped testing.
 
-Alicia Boya García, Ashley Brighthope, Bing Song, Branko Subasic, Edward
-Hervey, Guillaume Desmottes, Haihua Hu, He Junyan, Hou Qi, Jan Alexander
-Steffens (heftig), Jeongki Kim, Jordan Petridis, Knobe, Kristofer
-Björkström, Marijn Suijten, Matthew Waters, Paul Goulpié, Philipp Zabel,
-Rafał Dzięgiel, Sebastian Dröge, Seungha Yang, Staz M, Stéphane Cerveau,
-Thibault Saunier, Tim-Philipp Müller, Víctor Manuel Jáquez Leal, Vivia
-Nikolaidou, Vladimir Menshakov,
+Stable 1.22 branch
 
-… and many others who have contributed bug reports, translations, sent
-suggestions or helped testing. Thank you all!
+After the 1.22.0 release there will be several 1.22.x bug-fix releases
+which will contain bug fixes which have been deemed suitable for a
+stable branch, but no new features or intrusive changes will be added to
+a bug-fix release usually. The 1.22.x bug-fix releases will be made from
+the git 1.22 branch, which will be a stable branch.
 
-List of merge requests and issues fixed in 1.18.4
+1.22.0
 
--   List of Merge Requests applied in 1.18.4
--   List of Issues fixed in 1.18.4
+1.22.0 was originally released on 23 January 2023.
 
-Schedule for 1.20
+Schedule for 1.24
 
-Our next major feature release will be 1.20, and 1.19 will be the
-unstable development version leading up to the stable 1.20 release. The
-development of 1.19/1.20 will happen in the git master branch.
+Our next major feature release will be 1.24, and 1.23 will be the
+unstable development version leading up to the stable 1.24 release. The
+development of 1.23/1.24 will happen in the git main branch of the
+GStreamer mono repository.
 
-The plan for the 1.20 development cycle is yet to be confirmed, but it
-is now expected that feature freeze will take place some time in April
-2021, with the first 1.20 stable release hopefully around April/May
-2021.
+The plan for the 1.24 development cycle is yet to be confirmed.
 
-1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
-1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
+1.24 will be backwards-compatible to the stable 1.22, 1.20, 1.18, 1.16,
+1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
 
 ------------------------------------------------------------------------
 
 These release notes have been prepared by Tim-Philipp Müller with
-contributions from Mathieu Duponchelle, Matthew Waters, Nirbheek
-Chauhan, Sebastian Dröge, Thibault Saunier, and Víctor Manuel Jáquez
-Leal.
+contributions from Edward Hervey, Matthew Waters, Nicolas Dufresne,
+Nirbheek Chauhan, Olivier Crête, Sebastian Dröge, Seungha Yang, and
+Thibault Saunier.
 
 License: CC BY-SA 4.0
diff --git a/README b/README.md
similarity index 80%
rename from README
rename to README.md
index 300b398..79e1942 100644
--- a/README
+++ b/README.md
@@ -1,4 +1,4 @@
-GStreamer 1.18.x stable series
+GStreamer 1.20.x stable series
 
 WHAT IT IS
 ----------
@@ -26,7 +26,7 @@ We track bugs, feature requests and merge requests (patches) in GitLab at
 
   https://gitlab.freedesktop.org/gstreamer/
 
-You can join us on IRC - #gstreamer on irc.freenode.org
+You can join us on IRC - #gstreamer on irc.oftc.net
 
 GStreamer 1.0 series
 --------------------
@@ -169,64 +169,8 @@ Find more information about the various packages at
 
   https://gstreamer.freedesktop.org/download/
 
-COMPILING FROM SOURCE TARBALLS
-------------------------------
-
-- again, make sure that you really need to install from source!
-  If GStreamer is one of your first projects ever that you build from source,
-  consider taking on an easier project.
-
-- you need a recent version of Meson installed, see
-
-    http://mesonbuild.com/Getting-meson.html
-
-  and
-
-    https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
-
-- run
-
-    meson build
-    ninja -C build
-
-  to build GStreamer.
-
-- if you want to install it (not required, but what you usually want to do), run
-
-    ninja -C build install
-
-- try out a simple test:
-  gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
-  (If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
-
-  If it outputs a bunch of messages from fakesrc and fakesink, everything is
-  ok.
-
-  If it did not work, keep in mind that you might need to adjust the
-  PATH and/or LD_LIBRARY_PATH environment variables to make the system
-  find GStreamer in the prefix where you installed (by default that is /usr/local).
-
-- After this, you're ready to install gst-plugins, which will provide the
-  functionality you're probably looking for by now, so go on and read
-  that README.
-
-COMPILING FROM GIT
-------------------
-
-You can build an uninstalled GStreamer from git for development or testing
-purposes without affecting your system installation.
-
-Get started with:
-
-    git clone https://gitlab.freedesktop.org/gstreamer/gst-build
-    meson build
-    ninja -C build
-    ninja -C build uninstalled
-
-For more information, see the `gst-build` module and its documentation:
-
-  https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
-
+For in-depth instructions about building GStreamer visit:
+[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
 
 PLUG-IN DEPENDENCIES AND LICENSES
 ---------------------------------
diff --git a/RELEASE b/RELEASE
index 2e8aa8c..dd68d14 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-This is GStreamer core 1.18.4.
+This is GStreamer core 1.22.0.
 
 The GStreamer team is thrilled to announce a new major feature release
 of your favourite cross-platform multimedia framework!
@@ -6,13 +6,12 @@ of your favourite cross-platform multimedia framework!
 As always, this release is again packed with new features, bug fixes and
 other improvements.
 
-The 1.18 release series adds new features on top of the 1.16 series and is
-part of the API and ABI-stable 1.x release series of the GStreamer multimedia
-framework.
+The 1.22 release series adds new features on top of the 1.20 series and is
+part of the API and ABI-stable 1.x release series.
 
 Full release notes can be found at:
 
-  https://gstreamer.freedesktop.org/releases/1.18/
+  https://gstreamer.freedesktop.org/releases/1.22/
 
 Binaries for Android, iOS, Mac OS X and Windows will usually be provided
 shortly after the release.
@@ -54,13 +53,16 @@ with other GStreamer modules for a complete multimedia experience.
 
  - gst-editing-services: library an plugins for non-linear editing
 
+ - gst-plugins-rs: an exciting collection of well-maintained plugins written
+                   in the Rust programming language (usable from any language)
+
 ==== Download ====
 
 You can find source releases of gstreamer in the download
 directory: https://gstreamer.freedesktop.org/src/gstreamer/
 
 The git repository and details how to clone it can be found at
-https://gitlab.freedesktop.org/gstreamer/
+https://gitlab.freedesktop.org/gstreamer/gstreamer/
 
 ==== Homepage ====
 
@@ -68,10 +70,9 @@ The project's website is https://gstreamer.freedesktop.org/
 
 ==== Support and Bugs ====
 
-We have recently moved from GNOME Bugzilla to GitLab on freedesktop.org
-for bug reports and feature requests:
+We track bugs and feature requests in GitLab:
 
-  https://gitlab.freedesktop.org/gstreamer
+  https://gitlab.freedesktop.org/gstreamer/gstreamer/
 
 Please submit patches via GitLab as well, in form of Merge Requests. See
 
@@ -82,13 +83,17 @@ for more details.
 For help and support, please subscribe to and send questions to the
 gstreamer-devel mailing list (see below for details).
 
-There is also a #gstreamer IRC channel on the Freenode IRC network.
+There is also a #gstreamer IRC channel on the OFTC IRC network, which is
+also bridged into the Matrix network.
+
+Please do not submit support requests in GitLab, we only use it
+for bug tracking and merge requests review.
 
 ==== Developers ====
 
-GStreamer source code repositories can be found on GitLab on freedesktop.org:
+The GStreamer source code repository can be found on GitLab on freedesktop.org:
 
-  https://gitlab.freedesktop.org/gstreamer
+  https://gitlab.freedesktop.org/gstreamer/gstreamer/
 
 and can also be cloned from there and this is also where you can submit
 Merge Requests or file issues for bugs or feature requests.
diff --git a/data/android/GStreamer.java b/data/android/GStreamer.java
new file mode 100644
index 0000000..066b215
--- /dev/null
+++ b/data/android/GStreamer.java
@@ -0,0 +1,105 @@
+/**
+ * Copy this file into your Android project and call init(). If your project
+ * contains fonts and/or certificates in assets, uncomment copyFonts() and/or
+ * copyCaCertificates() lines in init().
+ */
+package org.freedesktop.gstreamer;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import android.content.Context;
+import android.content.res.AssetManager;
+import android.system.Os;
+
+public class GStreamer {
+    private static native void nativeInit(Context context) throws Exception;
+
+    public static void init(Context context) throws Exception {
+        //copyFonts(context);
+        //copyCaCertificates(context);
+        nativeInit(context);
+    }
+
+    private static void copyFonts(Context context) {
+        AssetManager assetManager = context.getAssets();
+        File filesDir = context.getFilesDir();
+        File fontsFCDir = new File (filesDir, "fontconfig");
+        File fontsDir = new File (fontsFCDir, "fonts");
+        File fontsCfg = new File (fontsFCDir, "fonts.conf");
+
+        fontsDir.mkdirs();
+
+        try {
+            /* Copy the config file */
+            copyFile (assetManager, "fontconfig/fonts.conf", fontsCfg);
+            /* Copy the fonts */
+            for(String filename : assetManager.list("fontconfig/fonts/truetype")) {
+                File font = new File(fontsDir, filename);
+                copyFile (assetManager, "fontconfig/fonts/truetype/" + filename, font);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void copyCaCertificates(Context context) {
+        AssetManager assetManager = context.getAssets();
+        File filesDir = context.getFilesDir();
+        File sslDir = new File (filesDir, "ssl");
+        File certsDir = new File (sslDir, "certs");
+        File certs = new File (certsDir, "ca-certificates.crt");
+
+        certsDir.mkdirs();
+
+        try {
+            /* Copy the certificates file */
+            copyFile (assetManager, "ssl/certs/ca-certificates.crt", certs);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void copyFile(AssetManager assetManager, String assetPath, File outFile) throws IOException {
+        InputStream in = null;
+        OutputStream out = null;
+        IOException exception = null;
+
+        if (outFile.exists())
+            outFile.delete();
+
+        try {
+            in = assetManager.open(assetPath);
+            out = new FileOutputStream(outFile);
+
+            byte[] buffer = new byte[1024];
+            int read;
+            while ((read = in.read(buffer)) != -1) {
+                out.write(buffer, 0, read);
+            }
+            out.flush();
+        } catch (IOException e) {
+            exception = e;
+        } finally {
+            if (in != null)
+                try {
+                    in.close();
+                } catch (IOException e) {
+                    if (exception == null)
+                        exception = e;
+                }
+            if (out != null)
+                try {
+                    out.close();
+                } catch (IOException e) {
+                    if (exception == null)
+                        exception = e;
+                }
+            if (exception != null)
+                throw exception;
+        }
+    }
+}
diff --git a/data/bash-completion/completions/gst-inspect-1.0 b/data/bash-completion/completions/gst-inspect-1.0
index 667e503..25391ae 100644
--- a/data/bash-completion/completions/gst-inspect-1.0
+++ b/data/bash-completion/completions/gst-inspect-1.0
@@ -20,7 +20,7 @@
 
 _GST_HELPERDIR="${BASH_SOURCE[0]%/*}/../helpers"
 
-if [[ ! -d "$_GST_HELPERDIR"  ]]; then
+if [[ ! -f $_GST_HELPERDIR/gst ]]; then
 	_GST_HELPERDIR="$(pkg-config --variable=bashhelpersdir gstreamer-1.0)"
 else
 	_GST_HELPERDIR=`cd "$_GST_HELPERDIR"; pwd`
diff --git a/data/bash-completion/completions/gst-launch-1.0 b/data/bash-completion/completions/gst-launch-1.0
index 80ad34c..b678c86 100644
--- a/data/bash-completion/completions/gst-launch-1.0
+++ b/data/bash-completion/completions/gst-launch-1.0
@@ -20,7 +20,7 @@
 
 _GST_HELPERDIR="${BASH_SOURCE[0]%/*}/../helpers"
 
-if [[ ! -d "$_GST_HELPERDIR" ]]; then
+if [[ ! -f $_GST_HELPERDIR/gst ]]; then
 	_GST_HELPERDIR="$(pkg-config --variable=bashhelpersdir gstreamer-1.0)"
 else
 	_GST_HELPERDIR=`cd "$_GST_HELPERDIR"; pwd`
diff --git a/data/bash-completion/helpers/gst.in b/data/bash-completion/helpers/gst.in
index 42cfb26..03a50eb 100644
--- a/data/bash-completion/helpers/gst.in
+++ b/data/bash-completion/helpers/gst.in
@@ -23,7 +23,7 @@ if [[ ! -x "$_GST_HELPER" ]]
 then
         helper="$(pkg-config --variable=helpersdir gstreamer-@GST_API_VERSION@)/gst-completion-helper"
 
-        if [ -x "$helper" ]
+        if [ -x "$helper" ]
         then
           _GST_HELPER=$helper
         fi
diff --git a/data/bash-completion/helpers/meson.build b/data/bash-completion/helpers/meson.build
index c5399bf..160b2e5 100644
--- a/data/bash-completion/helpers/meson.build
+++ b/data/bash-completion/helpers/meson.build
@@ -6,4 +6,5 @@ bash_helper_conf.set('GST_API_VERSION', apiversion)
 configure_file(input : 'gst.in',
     output : 'gst',
     install_dir : bash_helpers_dir,
-    configuration : bash_helper_conf)
+    configuration : bash_helper_conf,
+    install_tag : 'bin')
diff --git a/data/meson.build b/data/meson.build
index c9130e0..ac01dc0 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,5 +1,13 @@
 if (bashcomp_found)
   subdir('bash-completion/helpers')
-  install_data('bash-completion/completions/gst-launch-1.0', install_dir : bash_completions_dir)
-  install_data('bash-completion/completions/gst-inspect-1.0', install_dir : bash_completions_dir)
+  install_data('bash-completion/completions/gst-launch-1.0',
+    install_dir : bash_completions_dir,
+    install_tag : 'bin')
+  install_data('bash-completion/completions/gst-inspect-1.0',
+    install_dir : bash_completions_dir,
+    install_tag : 'bin')
+endif
+
+if host_system == 'android'
+  install_data('android/GStreamer.java', install_dir: get_option('datadir') / 'gst-android/ndk-build')
 endif
diff --git a/docs/gst-hotdoc-plugins-scanner.c b/docs/gst-hotdoc-plugins-scanner.c
index f530f86..ffcdd3c 100644
--- a/docs/gst-hotdoc-plugins-scanner.c
+++ b/docs/gst-hotdoc-plugins-scanner.c
@@ -8,7 +8,7 @@
 #include <glib/gprintf.h>
 #include <gst/gst.h>
 #include <gio/gio.h>
-#include "gst/gst-i18n-app.h"
+#include <glib/gi18n.h>
 
 static GRegex *cleanup_caps_field = NULL;
 static void _add_object_details (GString * json, GString * other_types,
@@ -406,8 +406,15 @@ _add_properties (GString * json, GString * other_types,
       } else if (G_IS_PARAM_SPEC_FLAGS (spec)) {
         _serialize_flags (other_types, spec->value_type);
       } else if (G_IS_PARAM_SPEC_OBJECT (spec)) {
+        GType inst_type = spec->value_type;
+        GObject *obj = g_value_get_object (&value);
+
+        if (obj) {
+          inst_type = G_OBJECT_TYPE (obj);
+        }
+
         _serialize_object (other_types, seen_other_types, spec->value_type,
-            spec->value_type);
+            inst_type);
       }
     }
 
@@ -752,6 +759,10 @@ _add_factory_details (GString * json, GstElementFactory * factory)
       gchar *val;
       gchar *key = *k;
 
+      /* "long-name" can be varying depending on environment, skip this */
+      if (g_strcmp0 (key, "long-name") == 0)
+        continue;
+
       val = json_strescape (gst_element_factory_get_metadata (factory, key));
       g_string_append_printf (json, "%s\"%s\": \"%s\"", f ? "" : ",", key, val);
       f = FALSE;
@@ -823,7 +834,8 @@ _add_element_details (GString * json, GString * other_types,
       gst_element_factory_create (GST_ELEMENT_FACTORY (feature), NULL);
   char s[20];
 
-  g_assert (element);
+  if (!element)
+    g_error ("Couldn't not make `%s`", GST_OBJECT_NAME (feature));
 
   g_string_append_printf (json,
       "\"%s\": {"
@@ -917,6 +929,10 @@ main (int argc, char *argv[])
     for (tmp = features; tmp; tmp = tmp->next) {
       GstPluginFeature *feature = tmp->data;
       if (GST_IS_ELEMENT_FACTORY (feature)) {
+        GstElementFactory *factory = GST_ELEMENT_FACTORY (feature);
+        if (gst_element_factory_get_skip_documentation (factory))
+          continue;
+
         if (!f)
           g_string_append_printf (json, ",");
         _add_element_details (json, other_types, seen_other_types, feature);
diff --git a/docs/gst/running.md b/docs/gst/running.md
index df5f4eb..65f5e6f 100644
--- a/docs/gst/running.md
+++ b/docs/gst/running.md
@@ -38,8 +38,8 @@ the non-versioned one if it is set.
 
 Setting this variable to an empty string will cause GStreamer not to
 scan any system paths at all for plug-ins. This can be useful if you're
-running uninstalled (for development purposes) or while running
-testsuites.
+running a development environment (for development purposes) or while
+running testsuites.
 
 **`GST_PLUGIN_PATH`, `GST_PLUGIN_PATH_1_0`.**
 
@@ -131,6 +131,12 @@ hand.
 Since GStreamer 1.2 it is also possible to specify debug levels by name,
 e.g. `GST_DEBUG=*:WARNING,*audio*:LOG`
 
+The categories and log levels are evaluated from left to right, with later
+entries overriding any previously-set levels for categories, e.g.
+`GST_DEBUG=decodebin:LOG,*:INFO` will set the decodebin category back to
+INFO level whereas `GST_DEBUG=*:INFO,decodebin:LOG` will log everything at
+INFO level apart from decodebin which will be logged at LOG level.
+
 **`GST_DEBUG_NO_COLOR`.**
 
 Set this environment variable to any value ("1" typically) to switch
@@ -228,6 +234,13 @@ updating the plugin registry. This is useful for embedded device which
 is not updating the plugins frequently, it will save time when doing
 `gst_init()`.
 
+**`GST_REGISTRY_MODE`. (Since: 1.20)**
+
+Set this environment variable to make Gstreamer change the file
+permissions of the plugin cache / registry. If not set, default is to
+limit read / write permissions to current user only. Set mode shall
+be from one to four octal digits as used in chmod.
+
 **`GST_TRACE`.**
 
 Enable memory allocation tracing. Most GStreamer objects have support
diff --git a/docs/index.md b/docs/index.md
index 8240c79..4237705 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -94,7 +94,7 @@ the non-versioned one if it is set.
 
 Setting this variable to an empty string will cause GStreamer not to
 scan any system paths at all for plug-ins. This can be useful if you're
-running uninstalled (for development purposes) or while running
+running a development environment (for development purposes) or while running
 testsuites.
 
 **GST_PLUGIN_PATH, GST_PLUGIN_PATH_1_0.**
diff --git a/docs/meson.build b/docs/meson.build
index e1aecb5..4dad0d3 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -8,11 +8,20 @@ if meson.is_cross_build()
     subdir_done()
 endif
 
+if static_build
+    if get_option('doc').enabled()
+        error('Documentation enabled but not supported when building statically.')
+    endif
+
+    message('Building statically, can\'t build the documentation')
+    subdir_done()
+endif
+
 hotdoc_plugin_scanner = executable('gst-hotdoc-plugins-scanner',
   'gst-hotdoc-plugins-scanner.c',
   c_args : gst_c_args,
   include_directories : [configinc],
-  dependencies : [gobject_dep, gmodule_dep, glib_dep, gio_dep, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, gio_dep],
   install_dir : helpers_install_dir,
   link_with: [printf_lib],
   install: true,
@@ -27,7 +36,7 @@ configure_file(
 
 plugins_cache_generator = find_program(join_paths(meson.current_build_dir(), 'gst-plugins-doc-cache-generator'))
 plugins_cache = join_paths(meson.current_source_dir(), 'plugins', 'gst_plugins_cache.json')
-plugins_doc_dep = custom_target('build-doc-cache',
+gst_plugins_doc_dep = custom_target('build-doc-cache',
     command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
     input: plugins,
     output: 'gst_plugins_cache.json',
@@ -42,7 +51,7 @@ if not hotdoc_p.found()
 endif
 
 hotdoc_req = '>= 0.11.0'
-hotdoc_version = run_command(hotdoc_p, '--version').stdout()
+hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
 if not hotdoc_version.version_compare(hotdoc_req)
     if get_option('doc').enabled()
         error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
@@ -65,6 +74,14 @@ foreach extension: required_hotdoc_extensions
     endif
 endforeach
 
+if static_build
+    if get_option('doc').enabled()
+        error('Documentation enabled but not supported when building statically.')
+    endif
+
+    message('Building statically, can\'t build the documentation')
+    subdir_done()
+endif
 
 if not build_gir
     if get_option('doc').enabled()
@@ -90,7 +107,7 @@ version_entities = configure_file(input : 'version.in',
 
 gst_excludes = []
 foreach h: ['gettext.h', 'glib-compat-private.h', 'glib-compat.h',
-            'gst-i18n-app.h', 'gst-i18n-lib.h', 'gst_private.h',
+            'gst_private.h',
             'gstelementdetails.h', 'gstmacros.h', 'gstmarshal.h',
             'math-compat.h', 'parse/grammar.tab.h',
             '../libs/gst/base/gstindex.h',
@@ -113,8 +130,9 @@ libs_doc = [hotdoc.generate_doc('gstreamer',
     gi_index: 'gst/gi-index.md',
     gi_smart_index: true,
     gi_c_source_roots: [join_paths(meson.current_source_dir(), '../gst/'), ],
-    dependencies: [gst_dep, glib_dep, gobject_dep, gmodule_dep, hotdoc_plugin_scanner],
+    dependencies: [gst_dep, gmodule_dep],
     extra_assets: [join_paths(meson.current_source_dir(), 'images')],
+    depends: gst_gir[0],
 )]
 
 libs = [
@@ -139,8 +157,9 @@ foreach lib: libs
       gi_index: join_paths('libs/', name, 'index.md'),
       gi_smart_index: true,
       gi_order_generated_subpages: true,
-      dependencies: deps + [hotdoc_plugin_scanner],
+      dependencies: deps,
       install: false,
+      depends: gir[0],
   )]
 endforeach
 
@@ -152,18 +171,18 @@ plugins_doc = [
         gst_index: 'plugins/index.md',
         gst_smart_index: true,
         gst_c_sources: ['../plugins/elements/*.c', '../plugins/elements/*.h'],
-        dependencies: [plugins_doc_dep],
+        dependencies: [gst_plugins_doc_dep],
         gst_cache_file: plugins_cache,
         gst_plugin_name: 'coreelements',
     ),
     hotdoc.generate_doc('coretracers',
         project_version: apiversion,
-        sitemap: 'plugins/sitemap.txt',
-        index: 'plugins/blank.md',
-        gst_index: 'plugins/blank.md',
+        sitemap: 'plugins/coretracers/sitemap.txt',
+        index: 'plugins/coretracers/index.md',
+        gst_index: 'plugins/coretracers/index.md',
         gst_smart_index: true,
         gst_c_sources: ['../plugins/tracers/*.c', '../plugins/tracers/*.h'],
-        dependencies: [plugins_doc_dep],
+        dependencies: [gst_plugins_doc_dep],
         gst_cache_file: plugins_cache,
         gst_plugin_name: 'coretracers',
     )
diff --git a/docs/plugins/blank.md b/docs/plugins/coretracers/index.md
similarity index 100%
rename from docs/plugins/blank.md
rename to docs/plugins/coretracers/index.md
diff --git a/docs/plugins/coretracers/sitemap.txt b/docs/plugins/coretracers/sitemap.txt
new file mode 100644
index 0000000..058a271
--- /dev/null
+++ b/docs/plugins/coretracers/sitemap.txt
@@ -0,0 +1 @@
+gst-index
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json
index 17c3764..cbe32ab 100644
--- a/docs/plugins/gst_plugins_cache.json
+++ b/docs/plugins/gst_plugins_cache.json
@@ -92,6 +92,18 @@
                         "type": "gboolean",
                         "writable": true
                     },
+                    "sync-to-first": {
+                        "blurb": "Automatically set ts-offset based on running time of the first buffer and pipeline's running time (i.e., ts-offset = \"pipeline running time\" - \"buffer running time\"). When enabled, clocksync element will update ts-offset on the first buffer per flush event or READY to PAUSED state change. This property can be useful in case that buffer timestamp does not necessarily have to be synchronized with pipeline's running time, but duration of the buffer through clocksync element needs to be synchronized with the amount of clock time go. Note that mixed use of ts-offset and this property would be racy if clocksync element is running already.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "ts-offset": {
                         "blurb": "Timestamp offset in nanoseconds for synchronisation, negative for earlier sync",
                         "conditionally-available": false,
@@ -135,7 +147,7 @@
                 },
                 "properties": {
                     "active-pad": {
-                        "blurb": "Currently active src pad",
+                        "blurb": "Currently active sink pad",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
@@ -1218,6 +1230,18 @@
                         "type": "guint",
                         "writable": true
                     },
+                    "stats": {
+                        "blurb": "Statistics",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "application/x-identity-stats, num-bytes=(guint64)0, num-buffers=(guint64)0;",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstStructure",
+                        "writable": false
+                    },
                     "sync": {
                         "blurb": "Synchronize to pipeline clock",
                         "conditionally-available": false,
@@ -1308,6 +1332,18 @@
                         "type": "gboolean",
                         "writable": true
                     },
+                    "drop-backwards": {
+                        "blurb": "Drop backwards buffers on pad switch",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "n-pads": {
                         "blurb": "The number of sink pads",
                         "conditionally-available": false,
@@ -2445,6 +2481,18 @@
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
+                    },
+                    "drop-mode": {
+                        "blurb": "The drop mode to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "drop-all (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstValveDropMode",
+                        "writable": true
                     }
                 },
                 "rank": "none"
@@ -2796,6 +2844,26 @@
                         "value": "1"
                     }
                 ]
+            },
+            "GstValveDropMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Drop all buffers and events",
+                        "name": "drop-all",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Drop all buffers but forward sticky events",
+                        "name": "forward-sticky-events",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Convert all dropped buffers into gap events and forward sticky events",
+                        "name": "transform-to-gap",
+                        "value": "2"
+                    }
+                ]
             }
         },
         "package": "GStreamer",
@@ -2812,6 +2880,7 @@
         "package": "GStreamer",
         "source": "gstreamer",
         "tracers": {
+            "factories": {},
             "latency": {},
             "leaks": {},
             "log": {},
diff --git a/docs/random/API b/docs/random/API
deleted file mode 100644
index 4962b32..0000000
--- a/docs/random/API
+++ /dev/null
@@ -1,2 +0,0 @@
-* signals should use dashes in their names, not underscores, so ::notify
-  works correctly
diff --git a/docs/random/ChangeLog-0.8 b/docs/random/ChangeLog-0.8
deleted file mode 100644
index 6fec574..0000000
--- a/docs/random/ChangeLog-0.8
+++ /dev/null
@@ -1,8759 +0,0 @@
-2005-02-22  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* docs/libs/tmpl/gstdparam.sgml:
-	* docs/libs/tmpl/gstdplinint.sgml:
-	* docs/libs/tmpl/gstdpman.sgml:
-	* docs/libs/tmpl/gstdpsmooth.sgml:
-	* docs/libs/tmpl/gstunitconvert.sgml:
-	  more docs for the state of dparams
-
-2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstelementfactory.c: (gst_element_factory_create):
-	* gst/gstobject.c: (gst_object_init),
-	(gst_object_set_name_default), (gst_object_set_name):
-	  name objects by default, not in gst_element_factory_create. Allows
-	  using elements created with g_object_new. (fixes #167283)
-
-2005-02-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstinfo.c: (_gst_debug_init), (gst_debug_log_default):
-	  make the time that debugging functions print relative to when
-	  gst_init was called
-
-2005-02-18  Tim-Philipp Müller  <tim at centricular dot net>
-
-	* gst/gsttaginterface.c:
-	  Fix inline docs: tag setter vararg functions are NULL-terminated,
-	  GST_TAG_INVALID doesn't exist any more.
-
-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!!!!!
-	fixes memory corruption on 64bit platforms
-
-2005-02-15  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/intro-basics.xml:
-	  fixed a few typos, relabeled introductionary list of types
-	* docs/random/ensonic/dparams.txt:
-	  more notes abut dparam changes
-	* libs/gst/control/dparam.c: (gst_dparam_attach):
-	* libs/gst/control/dparammanager.c:
-	* libs/gst/control/dparammanager.h:
-	  - many comments and notes on dparam implementation
-	  - new dparams are were not initialized to the default value
-	    from param spec
-
-2005-02-14  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	submitted by: Peter Astakhov
-
-	* po/LINGUAS:
-	* po/ru.po:
-	  adding Russian translation
-
-2005-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  make sure popt is added to gtk-doc flags.  Fixes #147782.
-
-2005-02-09  Tim-Philipp Müller  <tim at centricular dot net>
-
-	* docs/faq/using.xml:
-	  Fix typo in FAQ (artssink => artsdsink)
-
-2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* tools/gst-launch.1.in:
-	  Fix typo (#166699).
-
-2005-02-08  Tim-Philipp Müller  <tim at centricular dot net>
-
-	* docs/faq/using.xml:
-	  Add -v argument to fakesrc/fakesink gst-launch line,
-	  so that the promised output will actually show up.
-
-2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstthread.c: (gst_thread_change_state):
-	  Implement state-change error handling (#166073).
-
-2005-02-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
-	  Release interrupt after handling (#166250).
-
-2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  back to HEAD
-
-=== release 0.8.9 ===
-
-2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	  releasing 0.8.9, "Like Eating Glass"
-
-2005-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	submitted by: Clytie Siddall
-
-	* po/vi.po: Added Vietnamese translation
-
-2005-02-07  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Tim Philipp-Müller
-
-	* configure.ac:
-	* gst/gstpad.c:
-	  unref data when probe function returns FALSE.  Fixes #166362
-
-2005-02-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gst.c: (gst_init_get_popt_table):
-	  Fix typo (#166269).
-
-2005-02-04  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstelement.c (gst_element_get_compatible_pad_template): Fix
-	the debugging on whether the caps are compatible.
-
-2005-02-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/basics-elements.xml:
-	  Fix two typos.
-
-2005-02-02  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (remove_decoupled),
-	(schedule_chain), (get_invalid_call), (chain_invalid_call),
-	(loop_group_schedule_function), (gst_opt_scheduler_iterate):
-	Remove some FIXMEs after analysing and commenting why they
-	are not issues.
-
-2005-02-02  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_class_init), (gst_opt_scheduler_init),
-	(gst_opt_scheduler_finalize), (remove_decoupled), (schedule_chain),
-	(get_invalid_call), (chain_invalid_call),
-	(get_group_schedule_function), (loop_group_schedule_function),
-	(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
-	(gst_opt_scheduler_state_transition),
-	(gst_opt_scheduler_add_element),
-	(gst_opt_scheduler_remove_element), (gst_opt_scheduler_interrupt),
-	(gst_opt_scheduler_error), (gst_opt_scheduler_pad_link),
-	(gst_opt_scheduler_pad_unlink), (gst_opt_scheduler_iterate),
-	(gst_opt_scheduler_show):
-	Added lock to protect scheduler data structures.
-
-2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* testsuite/threads/threadi.c: (cb_data):
-	  Fix buglet in test.
-
-2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* testsuite/threads/Makefile.am:
-	* testsuite/threads/threadi.c: (cb_data), (cb_play), (main):
-	  On Wim's request, split the test in three separately-compiled
-	  tests that each test a very specific bug. Two of them still fail,
-	  will create bugs for those. threadi.c indicates why they fail.
-
-2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(get_group_schedule_function):
-	  Try to work with the threading mess that queue_link is.
-
-2005-02-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstbin.c: (gst_bin_remove_func):
-	  Explicitely make an element release locks in a group when being
-	  remove from a bin.
-	* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
-	  If there's no scheduler, always return immediately (similar to
-	  gst_element_interrupt).
-
-2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstbin.c: (gst_bin_child_state_change_func):
-	  Remove a piece of code that could never be reached.
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstpad.c: (gst_pad_push), (gst_pad_pull),
-	(gst_pad_call_get_function):
-	* gst/gstpad.h:
-	* testsuite/pad/Makefile.am:
-	  Fix #150546, enable tests.
-
-2005-01-31  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Fix description for buffer-frames=0.
-	* docs/gst/tmpl/gstbin.sgml:
-	* gst/gstbin.c: (gst_bin_child_state_change_func),
-	(gst_bin_change_state), (gst_bin_change_state_norecurse):
-	* gst/gstbin.h:
-	* testsuite/threads/Makefile.am:
-	* testsuite/threads/threadi.c: (cb_timeout), (cb_quit), (cb_eos),
-	(cb_state), (cb_play), (main):
-	  Fix non-recursive state changes to *really* change the state
-	  of the object, and not just call parent_class->state_change.
-	  Fix a lot of lockups caused by this. Fixes #132775. Add test
-	  for the problem. Also enable test to show #142588 (fixed).
-	* gst/gstthread.c: (gst_thread_change_state),
-	(gst_thread_child_state_change):
-	  Don't exit the thread if we go to NULL and are inside thread
-	  context. Instead, return control to the main thread context
-	  and exit from there.
-	* gst/gstelement.c: (gst_element_disable_threadsafe_properties):
-	  Don't unset virtual functions, since those may still be used.
-	  That's not necessarily correct, but suffices for now.
-	* configure.ac:
-	* testsuite/Makefile.am:
-	* testsuite/pad/Makefile.am:
-	* testsuite/pad/chainnopull.c: (gst_test_sink_class_init),
-	(gst_test_sink_base_init), (gst_test_sink_chain),
-	(gst_test_sink_init), (main):
-	* testsuite/pad/getnopush.c: (gst_test_src_class_init),
-	(gst_test_src_base_init), (gst_test_src_get), (gst_test_src_init),
-	(main):
-	* testsuite/pad/link.c: (gst_test_element_class_init),
-	(gst_test_element_base_init), (gst_test_src_get),
-	(gst_test_src_loop), (gst_test_src_init), (gst_test_filter_chain),
-	(gst_test_filter_loop), (gst_test_filter_init),
-	(gst_test_sink_chain), (gst_test_sink_loop), (gst_test_sink_init),
-	(cb_error), (main):
-	  Add tests to show #150546. Pass, but should fail (currently
-	  disabled from the testsuite).
-	* gst/gstscheduler.c: (gst_scheduler_dispose):
-	  Dereference child schedulers on dispose (#94464).
-	* testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
-	  Fix typo.
-	* testsuite/threads/thread.c: (main):
-	  Add more debug.
-
-2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstpad.c: (gst_pad_push):
-	  Oops, revert previous commit, broke testsuite...
-
-2005-01-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstpad.c: (gst_pad_push):
-	  Add check that the pad on which the push is performed is not a
-	  get-based pad (#150546).
-
-2005-01-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_handle_event):
-	  Fix buffer pushing if stream EOSes during typefinding.
-
-2005-01-28  Edward Hervey  <bilboed@bilboed.com>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstvalue.c: (gst_string_wrap):
-	  Allow NULL-strings as argument (#165365).
-
-2005-01-27  Stephane Wirtel  <stephane.wirtel@belgacom.net>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/schedulers/faircothreads.c:
-	(gst_fair_scheduler_cothread_queue_show):
-	  Fix build without debug enabled.
-
-2005-01-26  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* docs/libs/tmpl/gstdparam.sgml:
-	* docs/libs/tmpl/gstdplinint.sgml:
-	* docs/libs/tmpl/gstdpman.sgml:
-	* docs/libs/tmpl/gstdpsmooth.sgml:
-	* docs/libs/tmpl/gstputbits.sgml:
-	* docs/libs/tmpl/gstunitconvert.sgml:
-	* libs/gst/control/dparam.c:
-	* libs/gst/control/dparam.h:
-	* libs/gst/control/dparammanager.c:
-	(gst_dpman_add_required_dparam_callback),
-	(gst_dpman_add_required_dparam_direct),
-	(gst_dpman_add_required_dparam_array),
-	(gst_dpman_remove_required_dparam), (gst_dpman_attach_dparam),
-	(gst_dpman_get_dparam), (gst_dpman_get_dparam_type),
-	(gst_dpman_get_manager)
-	  restructured DParam docs
-
-2005-01-25  Tim-Philipp Müller  <tim at centricular dot net>
-
-	* gst-element-check.m4:
-	  Only check for gst-inspect if we haven't already
-	  found it in previous element check runs
-
-2005-01-25  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  fixed install rules to treat style.css as optional
-
-2005-01-24  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  install style.css along with docs
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstdata.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* gst/gstbin.h:
-	* gst/gstelement.c: (gst_element_class_init):
-	* gst/gstelement.h:
-	  fixing incomplete docs
-
-2005-01-24  Tim-Philipp Müller  <tim at centricular dot net>
-
-	* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
-	  Don't unref seek event twice when fflush() fails
-	  
-2005-01-22  David Schleef  <ds@schleef.org>
-
-	* configure.ac: Add --disable-valgrind. (partial fix for #164890)
-
-2005-01-21  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  added params for deprecation guards
-	* gst/gst.c:
-	* gst/gst.h:
-	* gst/gsterror.c: (_gst_resource_errors_init),
-	(_gst_stream_errors_init):
-	* gst/gsterror.h:
-	  documented some more enums
-
-2005-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
-	* gst/autoplug/gstspideridentity.c:
-	Cosmetic fix - spider_find_peek should be static
-	* gst/parse/parse.l:
-	Applying fix for #164261
-
-2005-01-18  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* gst/gstbuffer.h:
-	* gst/gsttag.h:
-	* gst/gstvalue.c:
-	  added docs for the TAG defines
-
-2005-01-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/schedulers/gstoptimalscheduler.c: (schedule_group):
-	  Only unref entry if there is an entry.
-
-2005-01-17  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(remove_from_group), (schedule_group), (normalize_group),
-	(gst_opt_scheduler_iterate):
-	Also ref/unref decoupled elements before iterating the
-	group since they are not added to the list of elements.
-
-2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/highlevel-components.xml:
-	  Add subtitle/streamselection as new features to playbin.
-
-2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/manual.xml:
-	  Re-enable dataaccess docs (oops).
-
-2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	* docs/random/mimetypes:
-	  Add documentation on libsndfile types (#163309), by Steve Baker
-	  <steve@stevebaker.org>.
-	* gst/gstelement.c: (gst_element_release_request_pad):
-	  If an element has no explicit function, just remove the pad.
-
-2005-01-17  Luca Ognibene  <luogni@tin.it>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
-	  Fix memleak (#163801).
-
-2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
-	  I think this is actually more correct...
-
-2005-01-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
-	  Another workaround for memory access while destroyed in callback.
-	  Please, someone with refcount knowledge, have a look at this.
-
-2005-01-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/faq.xml:
-	* docs/faq/legal.xml:
-	  move the legal Q&A here
-
-2005-01-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
-	(gst_tee_request_new_pad):
-	  Fix negotiation.
-
-2005-01-14  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
-
-	* docs/random/omega/caps2:
-	* testsuite/caps/caps_strings:
-	  replace framerate aproximations by their real value
-	  (24000/1001, 30000/1001, 60000/1001)
-	  Partially fixes bug #164049
-
-2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/Makefile.am:
-	  don't fail on the stupid GstPoptOption
-
-2005-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstpad.h:
-	* gst/gstprobe.c:
-	  allow probes to work on ghost pads by realizing the pad
-	  probe debugging
-
-2005-01-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstpad.sgml:
-	* gst/gstpad.c: (gst_pad_set_active_recursive):
-	* gst/gstpad.h:
-	  Add gst_pad_set_active_recursive().
-
-2005-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/random/release:
-	  updates
-	* gst/gst_private.h:
-	* gst/gstinfo.c:
-	* gst/gstobject.c:
-	  move deep_notify logging to a new category
-	* gst/gstprobe.c:
-	* gst/gstprobe.h:
-	  add stuff so bindings can wrap probes
-
-2005-01-09  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
-
-	* gst/gstplugin.c: (gst_plugin_load):
-	  Fix plugin loading if plugin/lib was already loaded. Fixes
-	  #163383
-
-2005-01-09  Sebastien Cote  <sc5@hermes.usherb.ca>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstpluginfeature.c: (gst_plugin_feature_ensure_loaded):
-	  Protect plugin loading by a mutex so it's threadsafe. Fixes
-	  #163234.
-
-2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstevent.c: (_gst_event_copy):
-	  Reference source object when copying events, since it'll be
-	  dereferenced on event dereferencing as well.
-
-2005-01-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstevent.sgml:
-	* gst/gstevent.c: (gst_event_new_filler_stamped),
-	(gst_event_filler_get_duration):
-	* gst/gstevent.h:
-	  Add two new functions for filler events (which are used to
-	  synchronize streams if one of them is not having any data
-	  for a while) without interrupting the actual data-stream.
-	  Basically a no-op.
-	* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
-	(gst_queue_link_sink), (gst_queue_link_src),
-	(gst_queue_change_state):
-	  Allow for renegotiation while filled. Required for stream
-	  switching while playing.
-
-2005-01-08  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_link_many):
-	  fix up g_return_if_fail's
-	* po/LINGUAS:
-	* po/de.po:
-	  add German translation, that was somehow not included
-
-2005-01-08  Stephane LOEUILLET  <stephane.loeuillet@tiscali.fr>
-
-	* docs/random/mimetypes:
-	  add 2 more 4CC code for DV (HDTV and SDTV-LongPlay profiles)
-	  do not add them to riff-lib as they are not common
-
-2005-01-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
-	  Check for existence of probe after performing the probe before
-	  re-accessing it to prevent segfaults caused by removal of the
-	  probe in the callback.
-
-2005-01-05  David Schleef  <ds@schleef.org>
-
-	* testsuite/registry/Makefile.am:
-	* testsuite/registry/gst-print-formats.c:
-	(print_pad_templates_info), (print_element_list),
-	(print_typefind_list), (list_sort_func), (get_typefind_mime_list),
-	(g_list_uniqify), (get_pad_templates_info),
-	(get_element_mime_list), (print_mime_list), (main): A little
-	program that looks through the registry to find elements of
-	a given type.  Not particularly interesting as a test, except
-	that there's no other test covering the same area.
-
-2005-01-05  David Schleef  <ds@schleef.org>
-
-	* tools/gst-launch.c: (idle_func), (fault_handler_sighandler),
-	(fault_handler_sigaction), (fault_spin),
-	(sigint_handler_sighandler), (play_handler), (main): Fix deadlocks
-	in signal.h-type signal handlers by not calling forbidden functions,
-	including gst_element_set_state().
-
-2005-01-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.h: Mark _gst_reserved[] as private
-
-2005-01-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.c: Fix doc build problem.
-
-2005-01-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.c: Add some documentation
-
-2005-01-05  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/README:
-	  another shell oneliner for empty return value docs
-	* gst/gstcaps.c:
-	* gst/gstvalue.c:
-	* libs/gst/control/dparam.c:
-	  more doc fixes (parameters and return values)
-
-2005-01-05  Vincent Torri  <torri@iecn.u-nancy.fr>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstregistry.h:
-	* gst/registries/gstxmlregistry.c:
-	  Fix macro's for Mingw (fixes #162276).
-
-2005-01-04  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/README:
-	  quick shell oneliner to find undocumented members
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstscheduler.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	  more enumtypes cleanup
-	* gst/gsterror.h:
-	  activated documentation comments, now someone needs to document
-	  the enums :(
-
-2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/manual.xml:
-	  Add dataaccess part (doh!).
-
-2005-01-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-autoplugging.xml:
-	  Fix typo (intiate -> initiate).
-
-2005-01-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/bbb/streamselection:
-	  Add some notes on how to handle multi-subtitle/-audio streams.
-
-2004-12-30  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	  removed gstenumtypes section from docs and put all the enums into
-	  their sections
-
-2004-12-27  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
-
-	* gst/gstplugin.c:
-	  document gst_library_load a bit more (riff special case + return
-	  value if already loaded)
-	* testsuite/bytestream/filepadsink.c:
-	  plugin name is 'gstbytestream', not 'bytestream'
-
-2004-12-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/bbb/subtitles:
-	  Add some first mind rumblings on proper subtitle support.
-
-2004-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/ca.po:
-	* po/sv.po:
-	  updated translations
-
-2004-12-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-dataaccess.xml:
-	  Add section on how to use fakesrc/fakesink/identity in your
-	  application, plus section on how to embed plugins. Also mention
-	  probes.
-	* docs/manual/appendix-checklist.xml:
-	* docs/manual/appendix-debugging.xml:
-	* docs/manual/appendix-gnome.xml:
-	* docs/manual/appendix-integration.xml:
-	  Debug -> checklist, GNOME -> integration, add sections on Linux,
-	  KDE integration and add other things useful for application
-	  development.
-	* docs/manual/manual.xml:
-	  Remove some fixmes, update some file pointers.
-	* docs/pwg/appendix-checklist.xml:
-	  Fix typo.
-	* docs/pwg/building-boiler.xml:
-	  Remove ugly header and add commented fixme.
-	* docs/pwg/pwg.xml:
-	  Add fixme.
-	* examples/manual/Makefile.am:
-	  Add example for added docs.
-
-2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  back to HEAD
-
-=== release 0.8.8 ===
-
-2004-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	  Releasing 0.8.8, "I'll Take Care Of You"
-
-2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  second prerelease
-
-2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Wim Taymans
-
-	* gst/gstbin.c:
-	  Fix for #159852 - make iterate emission threadsafe
-
-2004-12-21  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/cvs.xml:
-	  notes about new fdo account request
-
-2004-12-20  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	  Added missing short docs. Added ids for navigation.
-
-2004-12-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-schedulers.xml:
-	* docs/manual/advanced-threads.xml:
-	  Rewrites. Remove cothreads, go a bit into opt specifically,
-	  document threads and their gotchas, and do some technical stuff
-	  on autoplugging plus add some working examples. Fixes #157395.
-	* examples/manual/Makefile.am:
-	  Add typefind/autoplugger example (one that actually works).
-	  Remove queue example since it's a duplicate of the thread one.
-
-2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstvalue.c: (gst_value_deserialize_string):
-	  use deprecated g_value_set_string_take_ownership to keep compatible
-	  with glib 2.2
-
-2004-12-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstvalue.c: (gst_value_deserialize_string):
-	  revert last patch, only dom a g_utf8_validate now before accepting
-	  the string - caps parsing strips " from strings so we can't rely on
-	  them
-	* testsuite/caps/value_serialize.c: (test_string_deserialization):
-	  disable a test that tested the above and comment it
-
-2004-12-16  Steve Lhomme <steve.lhomme@free.fr>
-
-	Patch reviewed by David Schleef  <ds@schleef.org>
-
-	* win32/gstenumtypes.c: Update from gst/gstenumtypes.c (See
-	bug #153882)
-	* win32/gstenumtypes.h: same
-
-2004-12-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstpad.c: (gst_pad_query):
-	  Do query on realized pad, similar to how convert/send_event handle
-	  this. Also makes sense, since this pad belongs to the function to
-	  which this query will be sent. Fixes #158163.
-
-2004-12-16  Christian Fredrik Kalager Schaller  <uraeus@gnome.org>
-
-	* docs/manual/appendix-programs.xml: fix pipeline to actually work
-
-2004-12-16  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
-
-	* docs/faq/general.xml: fix pipeline to actually work
-
-2004-12-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstvalue.c: (gst_value_deserialize_string):
-	  check that a simple string that gets deserialized does not contain
-	  invalid characters
-	* testsuite/caps/value_serialize.c: (test_string_deserialization):
-	  remove a test that tested a wring behaviour
-
-2004-12-16  Matt Kraai  <kraai@alumni.cmu.edu>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/intro-motivation.xml:
-	  Fix typos.
-
-2004-12-16  Edward Hervey  <bilboed@bilboed.com>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/gst/tmpl/gstprobe.sgml:
-	  Fix documentation of probe callback - it is supposed to return
-	  FALSE, not TRUE, to remove data from the stream (#159087).
-
-2004-12-16  Daniel Gazard  <dany42@free.fr>
-
-	Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstelementfactory.c: (gst_element_factory_create):
-	  Fix compile failure if compiling without libxml2 support (#149936).
-
-2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/highlevel-components.xml:
-	  Move spider from autoplugging to components. Autoplugging is for
-	  internals, not for solutions. ;-).
-
-2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/ds/0.9-suggested-changes:
-	  Make note on device/location/uri property names.
-
-2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/advanced-position.xml:
-	* docs/manual/advanced-schedulers.xml:
-	* docs/manual/advanced-threads.xml:
-	* docs/manual/appendix-gnome.xml:
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/appendix-quotes.xml:
-	* docs/manual/autoplugging.xml:
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-data.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-helloworld.xml:
-	* docs/manual/basics-init.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/basics-plugins.xml:
-	* docs/manual/bins-api.xml:
-	* docs/manual/bins.xml:
-	* docs/manual/buffers-api.xml:
-	* docs/manual/buffers.xml:
-	* docs/manual/clocks.xml:
-	* docs/manual/components.xml:
-	* docs/manual/cothreads.xml:
-	* docs/manual/debugging.xml:
-	* docs/manual/dparams-app.xml:
-	* docs/manual/dynamic.xml:
-	* docs/manual/elements-api.xml:
-	* docs/manual/elements.xml:
-	* docs/manual/factories.xml:
-	* docs/manual/gnome.xml:
-	* docs/manual/goals.xml:
-	* docs/manual/helloworld.xml:
-	* docs/manual/helloworld2.xml:
-	* docs/manual/highlevel-components.xml:
-	* docs/manual/highlevel-xml.xml:
-	* docs/manual/init-api.xml:
-	* docs/manual/intro-basics.xml:
-	* docs/manual/intro-motivation.xml:
-	* docs/manual/intro-preface.xml:
-	* docs/manual/intro.xml:
-	* docs/manual/links-api.xml:
-	* docs/manual/links.xml:
-	* docs/manual/manual.xml:
-	* docs/manual/motivation.xml:
-	* docs/manual/pads-api.xml:
-	* docs/manual/pads.xml:
-	* docs/manual/plugins-api.xml:
-	* docs/manual/plugins.xml:
-	* docs/manual/programs.xml:
-	* docs/manual/queues.xml:
-	* docs/manual/quotes.xml:
-	* docs/manual/schedulers.xml:
-	* docs/manual/states-api.xml:
-	* docs/manual/states.xml:
-	* docs/manual/threads.xml:
-	* docs/manual/typedetection.xml:
-	* docs/manual/win32.xml:
-	* docs/manual/xml.xml:
-	  Try 2. This time, include a short preface as a "general
-	  introduction", also add code blocks around all code samples
-	  so they get compiled. We still need a way to tell readers
-	  the filename of the code sample. In some cases, don't show
-	  all code in the documentation, but do include it in the generated
-	  code. This allows for focussing on specific bits in the docs,
-	  while still having a full test application available.
-	* examples/manual/Makefile.am:
-	  Fix up examples for new ADM. Add several of the new examples that
-	  were either added or were missing from the build system.
-	* examples/manual/extract.pl:
-	  Allow nameless blocks.
-
-2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/elements-api.xml:
-	* docs/manual/helloworld.xml:
-	* examples/manual/extract.pl:
-	  fix last example.  Add example of adding code blocks that are not
-	  shown in docbook output.
-
-2004-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/dynamic.xml:
-	* docs/manual/elements-api.xml:
-	* docs/manual/gnome.xml:
-	* docs/manual/helloworld2.xml:
-	* docs/manual/init-api.xml:
-	* docs/manual/queues.xml:
-	* docs/manual/threads.xml:
-	* docs/manual/xml.xml:
-	* examples/manual/extract.pl:
-	  Make it possible to extract example code from separate blocks.
-	  Should make Ronald happy.
-
-2004-12-15  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(remove_from_group), (group_elements_set_visited),
-	(normalize_group), (gst_opt_scheduler_iterate):
-	Fix bug where a flag was not updated on a decoupled entry point 
-	because we were just checking the group element list and decoupled
-	elements are not in that list..
-
-2004-12-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/manual/advanced-autoplugging.xml:
-	* docs/manual/advanced-clocks.xml:
-	* docs/manual/advanced-dparams.xml:
-	* docs/manual/advanced-interfaces.xml:
-	* docs/manual/advanced-metadata.xml:
-	* docs/manual/advanced-position.xml:
-	* docs/manual/advanced-schedulers.xml:
-	* docs/manual/advanced-threads.xml:
-	* docs/manual/appendix-debugging.xml:
-	* docs/manual/appendix-gnome.xml:
-	* docs/manual/appendix-programs.xml:
-	* docs/manual/appendix-quotes.xml:
-	* docs/manual/appendix-win32.xml:
-	* docs/manual/autoplugging.xml:
-	* docs/manual/basics-bins.xml:
-	* docs/manual/basics-data.xml:
-	* docs/manual/basics-elements.xml:
-	* docs/manual/basics-helloworld.xml:
-	* docs/manual/basics-init.xml:
-	* docs/manual/basics-pads.xml:
-	* docs/manual/basics-plugins.xml:
-	* docs/manual/bins-api.xml:
-	* docs/manual/bins.xml:
-	* docs/manual/buffers-api.xml:
-	* docs/manual/buffers.xml:
-	* docs/manual/clocks.xml:
-	* docs/manual/components.xml:
-	* docs/manual/cothreads.xml:
-	* docs/manual/debugging.xml:
-	* docs/manual/dparams-app.xml:
-	* docs/manual/dynamic.xml:
-	* docs/manual/elements-api.xml:
-	* docs/manual/elements.xml:
-	* docs/manual/factories.xml:
-	* docs/manual/gnome.xml:
-	* docs/manual/goals.xml:
-	* docs/manual/helloworld.xml:
-	* docs/manual/helloworld2.xml:
-	* docs/manual/highlevel-components.xml:
-	* docs/manual/highlevel-xml.xml:
-	* docs/manual/init-api.xml:
-	* docs/manual/intro-motivation.xml:
-	* docs/manual/intro-preface.xml:
-	* docs/manual/intro.xml:
-	* docs/manual/links-api.xml:
-	* docs/manual/links.xml:
-	* docs/manual/manual.xml:
-	* docs/manual/motivation.xml:
-	* docs/manual/pads-api.xml:
-	* docs/manual/pads.xml:
-	* docs/manual/plugins-api.xml:
-	* docs/manual/plugins.xml:
-	* docs/manual/programs.xml:
-	* docs/manual/queues.xml:
-	* docs/manual/quotes.xml:
-	* docs/manual/schedulers.xml:
-	* docs/manual/states-api.xml:
-	* docs/manual/states.xml:
-	* docs/manual/threads.xml:
-	* docs/manual/typedetection.xml:
-	* docs/manual/win32.xml:
-	* docs/manual/xml.xml:
-	  First try at rewriting the ADM. Needs lotsamore work, but some
-	  parts might already be somewhat useful.
-	* docs/pwg/advanced-interfaces.xml:
-	  Remove properties interface, it never actually existed (except for
-	  on my HD...).
-
-2004-12-13  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_set_explicit_caps): Allow caps to
-	be NULL (bug #160220).
-
-2004-12-13  David Schleef  <ds@schleef.org>
-
-	* configure.ac: remove all mmx stuff, because it's not used.
-	* docs/random/ds/0.9-suggested-changes: additional notes
-	* include/Makefile.am: we don't use these anymore
-	* include/mmx.h: remove
-	* include/sse.h: remove
-
-2004-12-13  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
-
-	* docs/random/mimetypes:
-	  Add FOURCC code for h264 codec (VSSH)
-	  Add alternate FOURCC codes for h263 related codecs
-
-2004-12-10  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/manual/programs.xml:
-	  Added more gst-launch examples.
-
-2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_handle_src_query):
-	  Check for availability again.
-
-2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstcaps.c: (gst_caps_compare_structures):
-	  Simple caps go first. This has the nice side-effect of fixing an
-	  obscure warning.
-
-2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstversion.h.in:
-	  Protect header.
-
-2004-12-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_schedule_run_queue), (schedule_chain),
-	(gst_opt_scheduler_get_wrapper):
-	  When we're recursing into a chain run, only run the directly
-	  related group, not all queued ones. This will fix a possible
-	  deadlock in chains with more than two groups.
-
-2004-12-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* autogen.sh:
-	  remove patch if autopoint fails
-
-2004-12-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	  Document Thomas' addition, fix build, make Luis the sheriff happy.
-
-2004-12-07  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	  add accessor for version field
-
-2004-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	submitted by: Luca Ferretti <elle.uca@infinito.it>
-
-	* po/LINGUAS:
-	* po/it.po:
-	  New tranlation added: Italian
-
-2004-12-03  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstpad.c: (gst_pad_is_negotiated),
-	(gst_pad_get_negotiated_caps):
-	  GST_RPAD_* will only operate on a RealPad (it casts the pointer,
-	  it doesn't actually check the contents), so be sure to hand it
-	  a RealPad else we'll crash.
-
-2004-12-03  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
-	(gst_queue_link), (gst_queue_handle_src_query):
-	Reverted to 1.110 until this makes the testsuite and various
-	apps work.
-
-2004-12-01  Christian Fredrik Kalager Schaller <christian@fluendo.com>
-
-	* docs/upload.mak: fix included CVS conflict strings
-
-2004-12-01  William Jon McCann  <mccann@jhu.edu>
-
-	Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstelement.c: (gst_element_error_full):
-	  Use g_error_new_literal because error text may have
-	  percentage signs in it. Fixes #160019.
-
-2004-12-01  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstbufferstore.c:
-	(gst_buffer_store_add_buffer_func):
-	  don't try to make subbuffers bigger than they can be. (fixes
-	  #159970)
-
-2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstvalue.sgml:
-	  Add new function to docs to fix build.
-
-2004-11-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
-	* gst/gstpad.c: (_gst_pad_default_fixate_value),
-	(_gst_pad_default_fixate_foreach):
-	* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
-	* gst/gstvalue.h:
-	  Deprecate _type_is_fixed, use _value_is_fixed instead, since
-	  in some cases (arrays), the fixedness depends on the content.
-	* gst/gstqueue.c: (gst_queue_handle_src_query):
-	  Check for availability before doing something.
-
-2004-11-29  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/threads/Makefile.am:
-	* testsuite/threads/signals.c: (gst_test_get_type),
-	(gst_test_class_init), (gst_test_init), (gst_test_dispose),
-	(gst_test_set_property), (gst_test_get_property),
-	(gst_test_do_signal1), (signal2_handler), (gst_test_do_signal2),
-	(gst_test_do_prop), (run_thread), (main):
-	Added a bunch of testcases that show threadsafety bugs in glib.
-
-2004-11-29  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/manual/programs.xml:
-	  Added a first batch of gst-launch examples, as provided by Ronald
-	  and others from the devel-mlist
-
-2004-11-28  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_negotiate_pads):
-	  simplify
-	* gst/gstvalue.c: (gst_string_wrap), (gst_string_unwrap),
-	(gst_value_serialize_string), (gst_value_deserialize_string):
-	  add unwrapping of previously wrapped strings. Fix bug in wrapping
-	  while at it.
-	* testsuite/caps/value_serialize.c: (test1),
-	(test_string_serialization), (test_string_deserialization), (main):
-	  add tests for string (de)serialization
-
-2004-11-26  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/threads/159566.c: (object_deep_notify), (main):
-	* testsuite/threads/Makefile.am:
-	Added testsuite to show bug #159566
-
-2004-11-25  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstthread.c: (gst_thread_dispose), (gst_thread_change_state),
-	(gst_thread_child_state_change), (gst_thread_main_loop):
-	Ref the thread object in the GThread mainloop. Break out of the
-	thread mainloop if it holds the last ref. This properly exits
-	the threads when disposing the thread from its own context. It
-	also avoids possible deadlocks in the dispose function.
-
-2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>
-
-	* gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
-	it is necessary to wait.
-
-2004-11-24  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/building-boiler.xml:
-	  Make description somewhat clearer.
-
-2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/upload.mak:
-	  Apparently docs changed location on FDO's server.
-
-2004-11-23  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/appendix-checklist.xml:
-	  Add some random notes on things to check when writing an element.
-	  This list can be extended as people see fit.
-
-2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>
-
-	* gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
-	(gst_queue_link_src): Allow for renegotiating the caps of the sink
-	pad. The queue will now wait until it is empty and forward the new
-	caps to the source.
-	* gst/gstbin.c (gst_bin_set_element_sched)
-	(gst_bin_unset_element_sched): Make sure that all elements and
-	links are registered and unregistered with the scheduler exactly
-	once. This elaborates on a fix by Benjamin Otte, but
-	guarantees that decoupled elements are also registered.
-
-2004-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/quotes.xml:
-	  add a quote
-	* configure.ac:
-	* gst/gst.c:
-	* gst/gstinfo.c:
-	  add LIBDIR and move init message higher up so it's at the start
-
-2004-11-08  Christian Fredrik Kalager Schaller  <christian@fluendo.com>
-
-	* gst/schedulers/Makefile.am: fix disted build fair by including .h file
-	* gstreamer.spec.in: add fair
-
-2004-11-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
-	* gst/elements/gstidentity.c: (gst_identity_class_init):
-	  Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
-	  <teuf@gnome.org> (#157263).
-	* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
-	(gst_type_find_handle_src_query):
-	  Subtract size of internally stored data from position queries.
-
-2004-11-07  Martin Soto  <martinsoto@users.sourceforge.net>
-
-	* gst/schedulers/fairscheduler.c:
-	* gst/schedulers/faircothreads.c:
-	* gst/schedulers/faircothreads.h:
-	New cothread based scheduler: Fair scheduler.
-	* gst/schedulers/gthread-cothreads.h: 
-	Add the standard #if around the whole file.
-	Defining symbol GTHREAD_COTHREADS_NO_DEFINITIONS will now prevent
-	compilation of the functions defined in this file. This is
-	necessary to be able to use this file as a normal header.
-	* gst/schedulers/Makefile.am: Add compiling support for fair
-	scheduler.
-	* docs/gst/Makefile.am (IGNORE_HFILES): Exclude internal fair
-	scheduler cothreads layer from documentation generation.
-
-2004-11-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	  Don't crash if that function is not implemented.
-
-2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Another typo.
-
-2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/intro-preface.xml:
-	  Hm, ok, so the brackets weren't really useful...
-	* docs/pwg/other-ntoone.xml:
-	  Fix embarassing typo.
-
-2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/intro-preface.xml:
-	  Rewrite preface.
-
-2004-11-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-chainfn.xml:
-	* docs/pwg/building-signals.xml:
-	* docs/pwg/building-state.xml:
-	* docs/pwg/building-testapp.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/other-manager.xml:
-	* docs/pwg/other-source.xml:
-	  Typo fixes.
-	* docs/pwg/other-manager.xml:
-	  Add some first content. No example code yet.
-	* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
-	  Remove double newlines.
-
-2004-11-04  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(remove_from_group), (normalize_group), (group_migrate_connected),
-	(gst_opt_scheduler_iterate):
-	* testsuite/schedulers/.cvsignore:
-	* testsuite/schedulers/Makefile.am:
-	* testsuite/schedulers/queue_link.c: (main):
-	Added testcase for scheduler segfault.
-	Fix scheduler segfault when removing a decoupled
-	entry point as the last element from a group.
-
-2004-11-03  Christophe Fergeau  <teuf@gnome.org>
-
-	* gst/gstmarshal.list: add missing marshaller, fixes build
-
-2004-11-03  Christophe Fergeau  <teuf@gnome.org>
-
-	* docs/random/signal: added notes about using BOXED for GstBuffer
-	signal marshallers, not POINTER
-
-2004-11-03  Christophe Fergeau  <teuf@gnome.org>
-
-	* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
-	POINTER=>BOXED changes to marshal GstBuffers
-
-2004-11-03  Christophe Fergeau  <teuf@gnome.org>
-
-	* gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is 
-	a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
-
-2004-11-03  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstmacros.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/random/ensonic/interfaces.txt:
-	* gst/gstinfo.h:
-	  added some more docs, removed two obsolete defines
-
-2004-11-02  Kjartan Maraas <as at gnome.org>
-
-	reviewed by: Wim Taymans, Ronald Bultje.
-
-	* gst/cothreads.c: (cothread_create):
-	* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
-	(gst_bin_child_state_change_func):
-	* gst/gstbuffer.c: (gst_buffer_span):
-	* gst/gstelement.c: (gst_element_get_index),
-	(gst_element_get_event_masks), (gst_element_get_query_types),
-	(gst_element_get_formats):
-	* gst/gsterror.c: (_gst_core_errors_init),
-	(_gst_library_errors_init), (_gst_resource_errors_init),
-	(_gst_stream_errors_init):
-	* gst/gstobject.c: (gst_object_default_deep_notify):
-	* gst/gstpad.c: (gst_pad_get_event_masks),
-	(gst_pad_get_internal_links_default):
-	* gst/gstplugin.c: (gst_plugin_register_func),
-	(gst_plugin_get_module):
-	* gst/gststructure.c: (gst_structure_get_string),
-	(gst_structure_get_abbrs), (gst_structure_from_abbr),
-	(gst_structure_to_abbr):
-	* gst/gstutils.c: (gst_print_element_args):
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(setup_group_scheduler), (gst_opt_scheduler_iterate):
-	Aplied part of patch #157127: Cleanup of issues reported by 
-	sparse.
-	Also do not try to use cothreads when there is no cothread
-	context yet.
-
-2004-11-02  Sebastien Cote <sc5 at hermes.usherb.ca>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(gst_opt_scheduler_iterate):
-	Applied patch #154061. Running a pipeline in which an element 
-	calls GST_ELEMENT_ERROR in the chain function, the opt 
-	scheduler doesn't unref the chain so it never gets freed.
-
-2004-11-02  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gststructure.c: (gst_structure_get_abbrs),
-	(gst_structure_from_abbr), (gst_structure_to_abbr):
-	Remove that ugly if-then thing in the code that converts
-	between strings and types.
-
-2004-11-02  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstscheduler.c: (gst_scheduler_add_element),
-	(gst_scheduler_remove_element), (gst_scheduler_state_transition):
-	Aplied clock distribution patch, this should fix bug
-	#148787.
-
-2004-10-27  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	Submitted by: Kjartan Maraas <kmaraas@broadpark.no>
-
-	* po/LINGUAS:
-	* po/nb.po:
-	  Added Norwegian Bokmaal translation
-
-2004-10-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* tools/gst-inspect.c: (print_signal_info):
-	  print signal arguments as pointers if they are
-
-2004-10-22  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/pwg/building-boiler.xml:
-	  exchanged GTK_ macros with G_TYPE macros (as pointed out by mathrick)
-
-2004-10-19  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/parse/parse.l:
-	* testsuite/parse/parse1.c: (main):
-	Since parse can do 'element name=a:b' make 'a:b.' work as
-	well. 
-	Added testcase to verify fix.
-
-2004-10-19  Wim Taymans  <wim at fluendo dot com>
-
-	* tools/gst-inspect.c: (print_pad_info), (print_plugin_features):
-	Use the realpad when printing the direction.
-	Add extra \n when printing extensions of typefind factories.
-
-2004-10-13  David Schleef  <ds@schleef.org>
-
-	* examples/manual/Makefile.am: $< isn't portable in Makefile
-	rules.
-
-2004-10-13  Stefan Kost  <ensonic@users.sf.net>
-
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstversion.sgml:
-	* gst/gstbin.c:
-	  more api documentation
-	* gst/gstplugin.c: (gst_plugin_register_func),
-	(gst_plugin_check_file), (gst_plugin_load_file):
-	  better error signaling and logging
-
-2004-10-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
-	  Subtract current queue contents from position queries.
-
-2004-10-11  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gsturi.c (gst_uri_get_location): unescape string
-	(gst_uri_construct): escape string.
-
-2004-10-11  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_renegotiate), (gst_pad_try_set_caps),
-	(gst_pad_try_set_caps_nonfixed):
-	  allow renegotiation of unconnected pads (as inside spider). Simply
-	  return OK if unconnected - mimic try_set_caps there.
-
-2004-10-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstbin.c: (gst_bin_sync_children_state):
-	  Add missing break.
-
-2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_get):
-	Set element to EOS before sending EOS event
-
-2004-10-08  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_handle_event):
-	Handle EOS events when doing the transition from
-	typefind to data passing. This should fix the
-	infinite loops in short files.
-
-2004-10-07  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/gstthread.c: (gst_thread_change_state),
-	(gst_thread_child_state_change):
-	Make sure no iteration happens while performing
-	the state change as it could mess up the internal
-	consistency of the thread state.
-
-2004-10-07  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/gstthread.c: (gst_thread_dispose), (gst_thread_sync),
-	(gst_thread_change_state), (gst_thread_child_state_change):
-	Do not try to grab the iterate lock in the state change method
-	when we are in the same thread as the iterate or else we
-	could deadlock. Some other cleanups.
-
-2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  bump nano to cvs
-
-=== release 0.8.7 ===
-
-2004-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	  releasing 0.8.7, "A Cruise"
-
-2004-10-06  Stephane Loeuillet  <stephane.loeuillet@tiscali.fr>
-
-	* docs/random/mimetypes:
-	Add an entry for Sony ATRAC3 audio format with mime-type
-	used by rmdemux et riff-read
-
-2004-10-06  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/elements/gsttypefindelement.c: (stop_typefinding):
-	Push the buffer store instead of clearing it in case that
-	the stream is not seekable.
-
-2004-10-06  Wim Taymans  <wim at fluendo dot com>
-
-	* gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
-	(gst_thread_main_loop):
-	Lock the iteration and the state change so that automatic
-	negotiation and fixation does not happen at the same time
-	as the in stream negotiation.
-
-2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  bump nano to cvs
-
-=== release 0.8.6 ===
-
-2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	  releasing 0.8.6, "Narc"
-
-2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  prerel bump
-
-2004-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Steve Lhomme
-
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/gstthread.c:
-	  Fix for #153881
-
-2004-10-01  Wim Taymans  <wim at fluendo dot com>
-
-	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
-	Fix threadsafety of the crc checking function.
-
-2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Ronald Bultje
-
-	* gst/elements/gsttypefindelement.c: (stop_typefinding),
-	(gst_type_find_element_handle_event),
-	(gst_type_find_element_chain):
-	* gst/elements/gsttypefindelement.h:
-	 #153657.
-	 Filter out discont event from seekable sources when typefind
-	 asks them to seek.  Fixes typefind with demuxers for
-	 avi, asf and matroska.
-
-2004-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstcaps.c:
-	* gst/gstcaps.h:
-	* gst/gstpad.c:
-	  Revert preferred caps: (#147789)
-
-2004-09-19  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/dirent.c:
-	  fix a memory leak
-
-2004-09-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  bump for prerelease
-
-2004-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/Makefile.am:
-	* docs/manual/elements-api.xml:
-	  restructure so that common stuff is shown first
-	* docs/manual/init-api.xml:
-	  convert to examples
-	* docs/manual/manual.xml:
-	* docs/manuals.mak:
-	* docs/url.entities:
-	  link to API on the website, possibly override later in build
-	* examples/manual/.cvsignore:
-	  ignore more
-	* examples/manual/Makefile.am:
-	  add more examples
-	* examples/manual/extract.pl:
-	  error out on failure
-
-2004-09-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/tmpl/gstthread.sgml:
-	* docs/manual/init-api.xml:
-	* examples/manual/Makefile.am:
-	  convert two code bits to examples
-
-2004-09-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstelement.c: (gst_element_change_state):
-	  Well, actually, I was about to remove this insane assert when
-	  I noticed Wim already did that. A warning is nice so we can
-	  fix actual ugs (using --g-fatal-warnings and backtraces), so
-	  I added that instead.
-
-2004-09-06  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
-	(gst_element_threadsafe_properties_post_run),
-	(gst_element_set_state), (gst_element_change_state):
-	Added extra refcounting around various places. 
-
-2004-09-06  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstpad.c: (gst_pad_link_call_link_functions):
-	Fix debug info.
-
-2004-09-06  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
-	(remove_from_group):
-	Some more debug info.
-
-2004-09-03  Wim Taymans  <wim@fluendo.com>
-
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
-	(gst_fakesrc_init), (gst_fakesrc_set_clock),
-	(gst_fakesrc_set_property), (gst_fakesrc_get_property),
-	(gst_fakesrc_get), (gst_fakesrc_change_state):
-	* gst/elements/gstfakesrc.h:
-	* gst/elements/gstidentity.c: (gst_identity_class_init),
-	(gst_identity_init), (gst_identity_chain),
-	(gst_identity_set_property), (gst_identity_get_property),
-	(gst_identity_change_state):
-	* gst/elements/gstidentity.h:
-	Added datarate properties to limit the datarate.
-
-2004-08-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspider.c: (plugin_init):
-	  don't set a rank. We don't want to autoplug by inserting spiders.
-
-2004-08-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspider.c: (gst_spider_class_init),
-	(gst_spider_identity_plug):
-	  add a template for spider's sink
-	* gst/gst.c: (gst_register_core_elements):
-	  queue's rank should be NULL, we don't want spider to add it.
-
-2004-08-18  David Schleef  <ds@schleef.org>
-
-	* docs/gst/Makefile.am: Remove --ignore-fail-on-non-empty (#150331)
-	* docs/libs/Makefile.am: same
-	* docs/gst/tmpl/gstxml.sgml: Remove GstXMLNs
-	* docs/random/ds/0.9-planning: random additions
-	* docs/random/ds/0.9-suggested-changes: same
-	* gst/gstxml.h: remove vestigal GstXMLNs definition
-
-	Preferred caps: (#147789)
-	* docs/gst/gstreamer-sections.txt: Add symbols
-	* docs/gst/tmpl/gstcaps.sgml: Add symbols
-	* gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
-	(gst_caps_append), (gst_caps_copy_1), (gst_caps_intersect),
-	(gst_caps_union), (gst_caps_save_thyself), (gst_caps_load_thyself),
-	(gst_caps_get_preferred), (gst_caps_set_preferred),
-	(gst_caps_get_structure_by_id), (gst_caps_prefer_foreach),
-	(gst_caps_use_preferred): Handle caps preferences
-	* gst/gstcaps.h: Add caps preferences
-	* gst/gstpad.c: (gst_pad_link_get_preferred),
-	(gst_pad_link_fixate), (gst_pad_link_call_link_functions),
-	(gst_pad_renegotiate), (gst_pad_guess_preferred),
-	(gst_pad_get_caps), (gst_pad_push):  Use caps preferences for
-	negotiation.
-
-2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_request_new_pad):
-	* gst/elements/gstaggregator.c: (gst_aggregator_base_init),
-	(gst_aggregator_init):
-	* gst/elements/gstfakesink.c: (gst_fakesink_base_init),
-	(gst_fakesink_init):
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
-	(gst_fakesrc_init):
-	* gst/elements/gstfdsink.c: (gst_fdsink_base_init),
-	(gst_fdsink_init):
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
-	* gst/elements/gstfilesink.c: (gst_filesink_base_init),
-	(gst_filesink_init):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
-	(gst_filesrc_init):
-	* gst/elements/gstidentity.c: (gst_identity_base_init),
-	(gst_identity_init):
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
-	(gst_multifilesrc_init):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
-	(gst_pipefilter_init):
-	* gst/elements/gststatistics.c: (gst_statistics_base_init),
-	(gst_statistics_init):
-	* gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
-	* gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
-	  s/gst_pad_new/&_from_template/
-	  register pad templates in the base_init function
-	  add static pad template definitions
-
-2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* testsuite/bytestream/gstbstest.c: (gst_bstest_init):
-	* testsuite/dynparams/dparamstest.c: (gst_dptest_init):
-	* testsuite/refcounting/pad.c: (main):
-	* testsuite/refcounting/thread.c: (create_thread_ghostpads):
-	  s/gst_pad_new/&_from_template/
-	  prepare deprecation of gst_pad_new
-
-2004-08-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Luca Ognibene <skaboy81@virgilio.it>
-
-	* gst/gstcaps.c:
-	* gst/gstelement.c:
-	* gst/gstpad.c:
-	* gst/gstxml.c:
-	  fix memleaks.  Fixes #150001
-
-2004-08-17  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/random/ds/0.9-suggested-changes:
-	  add notes - mostly about pad templates
-
-2004-08-16  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/GStreamer.vcproj:
-	  temporary locale files are .gmo not .mo
-
-2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: bump nano to cvs
-
-=== release 0.8.5 ===
-
-2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  releasing 0.8.5, "Stuttgart"
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-	* docs/random/release:
-	  updates for release
-
-2004-08-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Wim Taymans (wim@fluendo.com)
-
-	* gst/gstbuffer.c:
-	* gst/gstindex.h:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	  copy KEY_UNIT and DELTA_UNIT flags correctly.  Fixes #150242
-
-2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* win32/MANIFEST:
-	  add win32 dir to the build.  Fixes #149981.
-
-2004-08-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  bump libtool versioning
-	* gst/gststructure.c:
-	  mark function as static
-	* po/af.po:
-	* po/az.po:
-	* po/ca.po:
-	* po/cs.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sq.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	  translations update
-	* win32/README.txt:
-	  trademark protection
-
-2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  fix GST_ORIGIN
-	  set GST_PACKAGE to source, and distinguish between release and other
-	* tools/gst-inspect.c:
-	  print out plugin an element factory is part of so we see this info
-
-2004-08-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstschedulerfactory.sgml:
-	  reorder docs a little, make GstBuffer's more sensible.
-	* gst/gstbuffer.h:
-	  API: added GST_BUFFER_FLAG_DELTA_UNIT
-	* gst/gstscheduler.c:
-	  comment API addition
-
-2004-08-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
-	  work with non-regular files that can be mmapped (like /dev/zero)
-	* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
-	  get rid of typefinds that require a seek when we can't seek instead
-	  of trying them over and over again
-	* tools/gst-launch.c: (idle_func), (error_cb), (main):
-	  return non-zero failure value when the pipeline was interrupted or
-	  an error occurred
-
-2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	* win32/GStreamer.vcproj:
-	  compile and install the locales
-
-2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstvalue.c:
-	  fix a possible memory leak under Windows
-
-2004-08-11  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/GStreamer.vcproj:
-	  fix a memory leak that occured under Windows
-	* win32/gstreamer.def:
-	  add gst_scheduler_register
-
-2004-08-11  Benjamin Otte  <otte@gnome.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* gst/gstscheduler.c: (gst_scheduler_register):
-	* gst/gstscheduler.h:
-	  API:
-	  add gst_scheduler_register shortcut similar to gst_element_register
-	* gst/schedulers/entryscheduler.c: (plugin_init):
-	* gst/schedulers/gstbasicscheduler.c: (plugin_init):
-	* gst/schedulers/gstoptimalscheduler.c: (plugin_init):
-	  use it
-
-2004-08-10  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstvalue.h:
-	  fix a memory leak that occured under Windows
-
-2004-08-10  Colin Walters  <walters@redhat.com>
-
-	* gst/registries/gstxmlregistry.c (gst_xml_registry_open_func):
-	Don't use O_EXCL to open temporary registry.  It will prevent
-	registry creation if a temporary one already exists, which
-	is unnecessary.
-
-2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstvalue.sgml:
-	  remove some valuable stuff from the documentation due to the use of GST_EXPORT
-
-2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstbytestream.vcproj:
-	* win32/gstelements.vcproj:
-	* win32/gstgetbits.vcproj:
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/GStreamer.vcproj:
-	* win32/gst-register.vcproj:
-	* win32/gstspider.vcproj:
-	  update the include and lib dirs to fit standard libraries as
-	  described in the Win32 manual
-
-2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	* win32/gstversion.h:
-	  enable NLS again, push the version number for the coming 0.8.5 release
-
-2004-08-09  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstvalue.h:
-	  export gst_type_XXX for windows DLLs
-
-2004-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/gst-uninstalled:
-	  fix PKG_CONFIG_PATH and PYTHONPATH
-	* gst/schedulers/Makefile.am:
-	  cleanup
-	* libs/gst/bytestream/bytestream.c:
-	  remove newline
-	* po/LINGUAS:
-	* po/sq.po:
-	  adding Albanian translation (Laurent Dhima)
-	* po/cs.po:
-	  updated
-
-2004-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/ca.po:
-	* po/sv.po:
-	  updated translations
-
-2004-08-04  Benjamin Otte  <otte@gnome.org>
-
-	* tests/mass_elements.c: (main):
-	  allow specifying src and sink element explicitly, so I can test
-	  videotestsrc instead of fakesrc
-
-2004-08-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
-	(gst_structure_id_empty_new), (gst_structure_empty_new),
-	(gst_structure_copy):
-	  add gst_structure_id_empty_new_with_size to allow preallocating
-	  value array sizes. Use this in gst_structure_copy to get rid of
-	  reallocs.
-	  don't do quark=>string=>quark when copying structures
-
-2004-08-03  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* docs/manual/win32.xml:
-	* win32/README.txt:
-	  update documentation with the clean version of dependencies
-
-2004-08-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c:
-	(gst_entry_scheduler_remove_element):
-	  fix for GST_DISABLE_DEBUG
-	* tools/gst-launch.c: (print_tag):
-	  fixes for G_DISABLE_ASSERT
-
-2004-08-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gst.c: (gst_register_core_elements):
-	  fix for G_DISABLE_ASSERT
-	* gst/gstinfo.c: (__gst_in_valgrind):
-	  add for GST_DISABLE_DEBUG
-
-2004-08-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/parse/parse.l:
-	  fix for G_DISABLE_ASSERT
-
-2004-08-03  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstbin.c: (gst_bin_get_type),
-	(gst_bin_child_state_change_func):
-	* gst/gstthread.c: (gst_thread_change_state):
-	Backported some debug logging from a reverted patch
-	Don't try to destroy the thread twice. Added some more
-	debugging in GstThread. Unlock and signal even if we
-	are in the thread context.
-
-2004-08-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/uk.po:
-	  updated translation
-
-2004-07-30  David Schleef  <ds@schleef.org>
-
-	* gst/gstatomic_impl.h: Enable atomic code for x86_64
-
-2004-07-29  David Schleef  <ds@schleef.org>
-
-	* libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test):
-	Use GST_READ_GUINTxx_BE(), since it accesses unaligned memory.
-
-2004-07-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
-	(gst_bin_add_func), (gst_bin_remove_func),
-	(gst_bin_child_state_change), (gst_bin_child_state_change_func),
-	(set_kid_state_func), (gst_bin_change_state), (gst_bin_set_state),
-	(gst_bin_change_state_norecurse), (gst_bin_dispose),
-	(gst_bin_sync_children_state):
-	* gst/gstbin.h:
-	* gst/gstthread.c: (gst_thread_class_init), (gst_thread_release),
-	(gst_thread_change_state):
-	* testsuite/states/Makefile.am:
-	  revert state change patches as agreed so we can rework them
-	  gradually
-
-2004-07-29  Benjamin Otte  <otte@gnome.org>
-
-	* libs/gst/control/Makefile.am:
-	  link to libgstreamer (fixes Debian bug 262019, see
-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=262019 )
-
-2004-07-29  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/caps/fraction-convert.c: (check_from_double_convert),
-	(check_from_fraction_convert), (transform_test), (main):
-	Make the test less pedantic about float roundoff errors.
-
-2004-07-29  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
-	(gst_filesrc_srcpad_event):
-	  make seek events to before start/after end of file not fail, but
-	  seek to start/end instead
-	* testsuite/caps/fraction-convert.c: (check_from_double_convert):
-	  add more output
-
-2004-07-29  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_set_explicit_caps):
-	  check that caps are fixed
-	* gst/gstpad.c: (gst_pad_template_new):
-	  don't try to simplify caps, costs too much time on gst_init
-	* gst/gstplugin.c: (gst_plugin_add_feature):
-	  G_ERROR if features are added twice
-	* gst/gsttypefind.c: (gst_type_find_register):
-	* gst/gstelementfactory.c: (gst_element_register):
-	  don't add features twice
-	* docs/random/ds/0.9-suggested-changes:
-	  add note about possible gst_init optimization
-
-2004-07-28  David Schleef  <ds@schleef.org>
-
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/struct_i386.h:
-	* testsuite/elements/struct_size.c: (main):  A little test
-	to keep distcheck from working if someone changes a structure
-	size accidentally.
-
-2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* docs/libs/tmpl/gstbytestream.sgml:
-	* docs/libs/tmpl/gstcontrol.sgml:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* docs/libs/tmpl/gstgetbits.sgml:
-	* libs/gst/bytestream/Makefile.am:
-	* libs/gst/bytestream/bytestream.c:
-	* libs/gst/bytestream/bytestream.h:
-	* libs/gst/control/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/getbits/Makefile.am:
-	* libs/gst/getbits/getbits.h:
-	  various doc and style fixes, adding bytestream to libs docs.
-
-2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	* libs/gst/control/dparam.c:
-	  more doc fixes.  gst-libs docs now build the same way as gst.
-
-2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* testsuite/Makefile.am:
-	* testsuite/bins/Makefile.am:
-	* testsuite/caps/Makefile.am:
-	* testsuite/cleanup/Makefile.am:
-	* testsuite/clock/Makefile.am:
-	* testsuite/debug/Makefile.am:
-	* testsuite/dlopen/Makefile.am:
-	* testsuite/dynparams/Makefile.am:
-	* testsuite/elements/.cvsignore:
-	* testsuite/elements/Makefile.am:
-	* testsuite/enumcaps/Makefile.am:
-	* testsuite/enumcaps/enumcaps.c:
-	* testsuite/ghostpads/Makefile.am:
-	* testsuite/indexers/Makefile.am:
-	* testsuite/negotiation/Makefile.am:
-	* testsuite/parse/Makefile.am:
-	* testsuite/plugin/Makefile.am:
-	* testsuite/refcounting/Makefile.am:
-	* testsuite/schedulers/.cvsignore:
-	* testsuite/states/Makefile.am:
-	* testsuite/tags/Makefile.am:
-	* testsuite/threads/Makefile.am:
-	  fold enumcaps into caps dir
-	  clean up Makefile.am's for testsuite
-
-2004-07-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/Makefile.am:
-	* docs/libs/Makefile.am:
-	  clean up docs build.  Fixes needless rebuilding of template files.
-
-2004-07-28  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstbin.c: (set_kid_state_func), (gst_bin_set_state):
-	* gst/gstthread.c: (gst_thread_release), (gst_thread_set_state):
-	Make sure that a bin state change tries to keep the children
-	in sync. 
-	Added debug logging to the thread.
-
-2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/GStreamer.vcproj:
-	* win32/gstreamer.def:
-	  more exports for the plugins
-
-2004-07-27  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstgetbits.vcproj:
-	* win32/gstgetbits.def:
-	* win32/msvc71.sln:
-	  add support for the getbits plugin
-
-2004-07-27  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstvalue.c: (gst_value_transform_double_fraction),
-	(gst_value_transform_fraction_double), (_gst_value_initialize):
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/fraction-convert.c: (check_from_double_convert),
-	(check_from_fraction_convert), (transform_test), (main):
-	Added transform functions between double and fraction.
-	Added testcase to verify transforms
-
-2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/GStreamer.vcproj:
-	  rename GStreamer-0.8.lib to libgstreamer.lib
-
-2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstelements.vcproj:
-	* win32/gstoptimalscheduler.vcproj:
-	  fixes for the Release build
-
-2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	  update the version number
-
-2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/GStreamer.vcproj:
-	  add gstinterface to the build
-
-2004-07-26  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstreamer.def:
-	  add many definitions needed by plugins,
-	  GST_CAT_DEFAULT only available in the Debug build ?
-
-2004-07-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_set_eos_recursive):
-	  various whitespace fixes.
-	  doc fix, fixes #148497
-
-2004-07-25  Benjamin Otte  <otte@gnome.org>
-
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
-	  don't delay links on the sink elements, it causes unnegotiated
-	  links.
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_base_init):
-	  add our padtemplates, we indeed do have some.
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_handle_event),
-	(gst_type_find_element_chain):
-	  don't push data when typefinding failed.
-	* gst/gstpad.c: (gst_pad_link_fixate):
-	  check that no fixate function returns empty caps.
-	* gst/gstpad.c: (gst_pad_push):
-	  check that the link is negotiated before data gets pushed.
-	* tools/gst-register.c: (main):
-	  don't assert (fixes #148283)
-
-2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstconfig.sgml:
-	  add GST_PLUGIN_EXPORT definition
-
-2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstplugin.h:
-	* gst/gstconfig.h.in:
-	* win32/gstconfig.h:
-	* win32/gstelements.def:
-	* win32/gstelements.vcproj:
-	* win32/gstoptimalscheduler.def:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/gstspider.def:
-	* win32/gstspider.vcproj:
-	  remove unused .def files and export symbols using GST_PLUGIN_DEFINE
-
-2004-07-25  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  remove GST_CAT_DEFAULT because the type has changed
-
-2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstbytestream.vcproj:
-	* win32/gstelements.vcproj:
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/GStreamer.vcproj:
-	* win32/gst-register.vcproj:
-	* win32/gstspider.vcproj:
-	* win32/msvc71.sln:
-	  Copy the files where needed after building, The testsuite will be
-	  built separately
-
-2004-07-25  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	* win32/README.txt:
-	* docs/manual/win32.xml:
-	Fixed the plugin and GStreamer location
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstreamer.def:
-	More exports for the plugins
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstinfo.h:
-	Marc was right, we need to export literally GST_CAT_DEFAULT
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	NLS crashes in gettext, disabled until this is solved
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	Should use NLS when available
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/registries/gstxmlregistry.c:
-	removing the file doesn't seem to be a good idea on Linux
-
-2004-07-24  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/registries/gstxmlregistry.c:
-	Remove the registry before renaming the tempfile (needed for Windows)
-
-2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
-	(gst_multifilesrc_init), (gst_multifilesrc_set_property),
-	(gst_multifilesrc_get_property), (gst_multifilesrc_get):
-	* gst/elements/gstmultifilesrc.h:
-	Added newmedia property so it generates newmedia events between each
-	file when property is set, as well as fixed eos handling
-
-2004-07-22  David Schleef  <ds@schleef.org>
-
-	* gst/gststructure.c: (gst_structure_id_empty_new),
-	(gst_structure_empty_new):  Set type field correctly.
-	* gst/gststructure.h: Check type field correctly.
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/structure.c: (test1), (main): Add a very small
-	test for structures.
-
-2004-07-22  David Schleef  <ds@schleef.org>
-
-	* docs/random/ds/0.9-suggested-changes: more comments
-	* tools/gst-launch.c: (idle_func): Fix hard-to-translate string.
-
-2004-07-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelementfactory.c: (gst_element_register):
-	  set the factory in the class struct, so gst_element_get_factory
-	  actually works
-	* gst/parse/grammar.y:
-	  set element to playing when it gets unlocked as we can't rely on the
-	  bin state - all elements in the bin state might still be locked in
-	  NULL)
-
-2004-07-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_set_state_func):
-	  make this a static function
-
-2004-07-22  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
-	(gst_opt_scheduler_pad_link):
-	fix 147894-2 and the group_link problem.
-
-2004-07-22  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
-	(handoff_identity), (main):
-	* testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
-	(handoff_identity), (main):
-	* testsuite/schedulers/Makefile.am:
-	* testsuite/schedulers/group_link.c: (main):
-	Show bug in scheduler when linking chain and loop based element 
-	where the chain based element was not yet in a group.
-
-2004-07-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/.cvsignore:
-	* gst/autoplug/.cvsignore:
-	* gst/elements/.cvsignore:
-	* gst/indexers/.cvsignore:
-	* libs/gst/bytestream/.cvsignore:
-	* libs/gst/control/.cvsignore:
-	* libs/gst/getbits/.cvsignore:
-	* testsuite/states/.cvsignore:
-	* testsuite/threads/.cvsignore:
-	  keep this up to date, since I seem to be the only one who cares
-	  about not missing files on commits (editor's note: no you don't,
-	  but feel free to change them at the time you add stuff instead
-	  of later on)
-
-2004-07-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init),
-	(gst_bin_fix_state), (gst_bin_add_func), (gst_bin_remove_func),
-	(gst_bin_child_state_change_func), (set_kid_state_func),
-	(gst_bin_set_state), (gst_bin_change_state_norecurse):
-	  make state changes work correctly and reentrant (so removing
-	  elements from bins during state changes of bins doesn't cause
-	  segfaults or even wrong states)
-	  add debugging category and debugging output to print children states
-	* gst/gstbin.c: (gst_bin_dispose): 
-	  add some assertion checks
-	* gst/gstbin.h:
-	* gst/gstbin.c: (gst_bin_sync_children_state):
-	  deprecate this function - it just does gst_bin_set_state (bin,
-	  GST_STATE (bin)) 
-	* testsuite/threads/queue.c: (main):
-	  don't use gst_bin_sync_children_state anymore
-	* testsuite/states/Makefile.am:
-	* testsuite/states/bin.c:
-	  test that the state changes of bins work as expected
-	* gst/gstthread.c: (gst_thread_class_init), (gst_thread_set_state):
-	  some adjustments to change states correctly, too
-	* gst/gstthread.c: (gst_thread_change_state):
-	  don't enable/disable "threadsafe" properties, they're unused and
-	  cause random segfaults
-	* testsuite/threads/Makefile.am:
-	  the queue check randomly passes now, ignore it
-
-2004-07-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c:
-	  check if data is NULL before outputting debug info. (fixes #145100)
-
-2004-07-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c:
-	(gst_entry_scheduler_loop_wrapper),
-	(gst_entry_scheduler_chain_wrapper),
-	(gst_entry_scheduler_get_wrapper):
-	  reset the state when the cothread starts, so we don't get assertion
-	  failures on restarting of cothreads
-
-2004-07-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_link_pads_filtered):
-	  use correct sinkpad, if only sinkpad is specified, but not srcpad
-	  (fixes #147889)
-	* gst/gstelement.c: (gst_element_set_state_func),
-	(gst_element_change_state): ref/unref the element, signal handlers
-	could get rid of the element otherwise
-
-2004-07-20  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/ds/0.9-suggested-changes:
-	  Make note about renaming fixed-list to array.
-	* gst/gstvalue.c: (gst_value_intersect_fixed_list),
-	(_gst_value_initialize):
-	  Add array intersections.
-	* testsuite/caps/intersect2.c: (main):
-	  Add test for array intersections.
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: back to cvs
-
-=== release 0.8.4 ===
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  releasing 0.8.4, "Paella"
-	  bump libtool versioning
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/ca.po:
-	  adding Catalan translation (Jordi Mallach)
-
-2004-07-20  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/147894-2.c: (queue_empty), (queue_filled),
-	(handoff_identity), (main):
-	* testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
-	(handoff_identity), (main):
-	* testsuite/schedulers/Makefile.am:
-	Added failing testcase for variant of #147894
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: David Moore
-
-	* gst/schedulers/gstoptimalscheduler.c: (group_has_element),
-	(schedule_group), (gst_opt_scheduler_schedule_run_queue),
-	(group_migrate_connected):
-	* testsuite/schedulers/Makefile.am:
-	  fix for #142813 (Deadlock in optimal scheduler)
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Wim Taymans
-
-	* gst/schedulers/gstoptimalscheduler.c: (group_has_element),
-	(gst_opt_scheduler_schedule_run_queue),
-	(gst_opt_scheduler_get_wrapper), (get_group),
-	(group_migrate_connected):
-	* testsuite/schedulers/Makefile.am:
-	  fix for #147819 (Add some checks in the opt scheduler)
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Benjamin Otte
-
-	* gst/gstelementfactory.c: (__gst_element_details_set):
-	  fix for #147929: running gst-register in non-utf8 locale can cause
-	  invalid registry
-
-2004-07-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Wim Taymans
-
-	* gst/schedulers/gstoptimalscheduler.c: (group_num_elements),
-	(group_has_element), (element_get_reachables_func),
-	(group_migrate_connected):
-	  fix for #147894 (opt scheduler decoupled elements mismanagement)
-	* testsuite/schedulers/Makefile.am:
-	  testsuite app now passes
-
-2004-07-19  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/147819.c: (handoff_identity1),
-	(handoff_identity2), (main):
-	* testsuite/schedulers/Makefile.am:
-	Added testcase for bug 147819
-
-2004-07-19  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/147894.c: (queue_empty), (queue_filled),
-	(handoff_identity), (main):
-	* testsuite/schedulers/Makefile.am:
-	Added testcase for bug 147894
-
-2004-07-16  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/142183-2.c: (handoff_identity), (main):
-	* testsuite/schedulers/142183.c: (handoff_identity), (main):
-	* testsuite/schedulers/Makefile.am:
-	Added testsuite for bug 142183 in its two incarnations. Refcount
-	is not increased for scheduled elements and threadsafe properties
-	mutexes are not properly unlocked.
-
-2004-07-16  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (gst_opt_scheduler_init),
-	(create_chain), (destroy_chain), (create_group), (destroy_group),
-	(add_to_group), (merge_groups), (group_elements), (group_inc_link),
-	(group_dec_link), (gst_opt_scheduler_pad_link),
-	(group_inc_links_for_element), (group_migrate_connected):
-	Call group_inc_link with the proper src->sink ordering -- 
-	break this, and we break sort_chain. patch from wingo for bug
-	147713.
-	Partially revert patch 1.89. When adding a loop based element to 
-	the scheduler, the links to other groups are automatically followed
-	and incremented. This should not happen because the bin will call
-	pad_link explicitly for those connection, resulting in them counted 
-	twice. Results in assertion failure on pipeline cleanup.
-
-2004-07-16  Wim Taymans  <wim@fluendo.com>
-
-	* testsuite/schedulers/143777-2.c: (main):
-	* testsuite/schedulers/147713.c: (handoff_src), (handoff_sink),
-	(main):
-	* testsuite/schedulers/Makefile.am:
-	Added cleanup code to testcase 143777-2.
-	Added testcase to show bug 147713, does not really show the
-	deadlock as I can't figure out how to trigger it, but it does
-	demonstrate bad ordering in the scheduler.
-
-2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstvalue.c: (gst_value_deserialize_fraction):
-	  change strndup to g_strndup.  Fixes #147707
-
-2004-07-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/af.po:
-	* po/az.po:
-	* po/cs.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	  updated translations
-
-2004-07-16  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstvalue.c: (gst_greatest_common_divisor):
-	  use ints and return ints, fractions only use ints, too, so this
-	  avoids accidently casting multiplications to unsigned
-	(gst_value_lcopy_fraction): it's ints, not uint32
-	(gst_value_set_fraction): disallow minint, multiplying and negation
-	  are broken with it
-	(gst_value_fraction_multiply): fix to make large numbers work and get
-	rid of the assumption that the multiplication of two ints fits an
-	int64 - dunno if that's true for all systems
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/fraction-multiply-and-zero.c:
-	(check_multiplication), (check_equal), (zero_test), (main):
-	  add tests for all the stuff above
-	* testsuite/caps/value_compare.c: (test1):
-	  fix comment
-	* tests/.cvsignore:
-	* testsuite/caps/.cvsignore:
-	* testsuite/debug/.cvsignore:
-	* testsuite/dlopen/.cvsignore:
-	* testsuite/states/.cvsignore:
-	  get up to date
-
-2004-07-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/bins-api.xml:
-	* docs/manual/factories.xml:
-	* docs/manual/helloworld.xml:
-	* docs/manual/links-api.xml: 
-          fixes for out of date info, incorrect info and grammar
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/pads.xml:
-	* docs/manual/pads-api.xml: grammar fix
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/pads-api.xml: typo + grammar fix
-
-2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  add new symbols
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	  update docs
-	* gst/gststructure.c: (gst_structure_set_valist),
-	(gst_structure_from_abbr), (gst_structure_to_abbr):
-	* gst/gstvalue.c: (gst_value_compare_double), (gst_type_is_fixed),
-	(gst_greatest_common_divisor), (gst_value_init_fraction),
-	(gst_value_copy_fraction), (gst_value_collect_fraction),
-	(gst_value_lcopy_fraction), (gst_value_set_fraction),
-	(gst_value_get_fraction_numerator),
-	(gst_value_get_fraction_denominator),
-	(gst_value_fraction_multiply), (gst_value_serialize_fraction),
-	(gst_value_deserialize_fraction),
-	(gst_value_transform_fraction_string),
-	(gst_value_transform_string_fraction),
-	(gst_value_compare_fraction), (_gst_value_initialize):
-	* gst/gstvalue.h:
-	  adding GstFraction GValue type, get/set, and multiply
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/fraction.c: (test), (main):
-	* testsuite/caps/string-conversions.c: (main):
-	* testsuite/caps/value_compare.c: (test1), (main):
-	  add regression tests for GstFraction
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-	
-	* docs/manual/init-api.xml: Grammar fix
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/states.xml: Fix inconsistent information
-
-2004-07-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_set_state):
-	* gst/gstpad.c: (gst_pad_try_set_caps):
-	* gst/gststructure.c:
-	* gst/gstthread.c: (gst_thread_child_state_change):
-	* gst/gstvalue.c: (gst_value_compare_double):
-	* gst/gstvalue.h:
-	* testsuite/parse/parse1.c: (main):
-	  debugging additions and style cleanups
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-        * docs/manual/states.xml: Grammar fix
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/pads.xml: Grammar fix
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/elements.xml: Fixed image reference
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/goals.xml: Grammar fix
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/motivation.xml:
-	Bonobo is no longer "emerging" and added sentence regarding tcp plugins
-
-2004-07-15  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/manual/motivation.xml: Fix spelling
-
-2004-07-15  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.h: 
-	  Don't GST_ERROR_OBJECT empty strings - Solaris doesn't like NULL
-	  strings.
-	* gst/gstelement.c (gst_element_class_init):
-	  GError's are boxed, not objects
-	* gst/gstmarshal.list:
-	  update list for the fixed error signal
-
-2004-07-14  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gsttag.c: Add a tag merge func for pointers. The header was
-	there all along, but the function wasn't. (guile-gstreamer's build
-	system uses the address of the function -- I wasn't actually
-	trying to use this.)
-
-2004-07-14  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstpad.c (gst_pad_try_set_caps): Naive link functions (such
-	as gst_pad_proxy_pad_link) just link to every other pad when they
-	are called. In the case where the graph has cycles, this will mean
-	that a call to try_set_caps will recurse. Allow this recursion
-	and return OK, while we wait for the first try_set_caps to give a
-	proper return value.
-	(gst_pad_link_call_link_functions): Since this function is the
-	only one to set the NEGOTIATING flag on a pad, if the flag is set
-	it means that the link functions have indirectly recursed. If this
-	happens, error out to avoid infinite recursion and an eventual
-	SEGV.
-	(gst_real_pad_class_init): Remove a crufty GtkObject comment.
-	(gst_pad_proxy_getcaps): Intersect the result with the template
-	caps to ensure that the return value is valid.
-
-2004-07-14  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstdata.c (gst_data_is_writable): s/>=/>/. If there is only
-	one refcount, the calling function is the owner of the buffer.
-
-2004-07-14  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
-	(gst_opt_scheduler_pad_link), (group_migrate_connected):
-	Fix stupid warning when an element is to be migrated but
-	is already migrated.
-
-2004-07-14  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (group_dec_link),
-	(gst_opt_scheduler_pad_link), (group_migrate_connected):
-	Make sure that a single non-loop-based element does not 
-	end up in a group. This fixes the testsuite again.
-
-2004-07-14  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (create_group),
-	(add_to_group), (merge_groups), (schedule_group),
-	(gst_opt_scheduler_get_wrapper), (group_elements),
-	(group_dec_link), (gst_opt_scheduler_pad_link),
-	(group_migrate_connected), (gst_opt_scheduler_pad_unlink),
-	(gst_opt_scheduler_iterate):
-	move isolated groups to a new chain.
-	Emit a warning instead of segfaulting in some error cases.
-	Fix a bug where the link count between groups was not calculated 
-	correctly. Fixes #144510.
-
-2004-07-13  Steve Lhomme  <steve.lhomme@free.fr>
-	* gst/elements/gstfilesrc.c:
-	  Binary files support under Windows now OK
-      
-2004-07-13  Benjamin Otte  <otte@gnome.org>
-
-	  compatibility fixes for Solaris 8/gcc 2.95
-	* configure.ac:
-	  include libintl libs in LDFLAGS
-	* gstvalue.c (gst_value_deserialize_buffer):
-	  cast isxdigit stuff to int to silence compiler warning
-
-2004-07-12  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gsttypes.h:
-	  get rid of GST_O_READONLY, GST_FILE_MODE_READ and
-	  GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
-	  just causes support madness
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
-	  make it work without this
-	* gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
-	(gst_file_index_commit):
-	  glib IO channels don't want binary mode
-	* testsuite/bytestream/filepadsink.c: (main):
-	* testsuite/bytestream/test1.c: (read_param_file):
-	  use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
-
-2004-07-12  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_class_init),
-	(gst_element_set_state), (gst_element_set_state_func):
-	  virutalize gst_element_set_state, use set_state member in class
-	  struct that was already added in 0.7 for this.
-	* gst/gstbin.c: (gst_bin_foreach), (set_kid_state_func), 
-	(gst_bin_change_state):
-	  make gst_bin_foreach works similar to other foreach functions, plug
-	  memleaks in it. Make functions using it work with the new approach.
-	  Document gst_bin_foreach, so it can be exported if we want to
-	* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_state):
-	  use virtualized set_state to make set_state on bins set the state of
-	  all its children.
-
-2004-07-12  Benjamin Otte  <otte@gnome.org>
-
-	* configure.ac:
-	  require valgrind >= 2.1 (fixes Gentoo bug 53967, see
-	  http://bugs.gentoo.org/show_bug.cgi?id=53967)
-	* gst/gstpad.c: (gst_pad_alloc_buffer):
-	  allow buffer_alloc functions to return NULL and allocate a normal
-	  buffer in that case
-
-2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesrc.c:
-	* gst/indexers/gstfileindex.c:
-	* gst/gsttypes.h:
-	* testsuite/bytestream/filepadsink.c:
-	* testsuite/bytestream/test1.c:
-	  Handle binary files under Windows
-
-2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
-	* docs/manual/win32.xml:
-	* win32/config.h:
-	* win32/gst-register.vcproj:
-	* win32/gstreamer.def:
-	  Update to another gettext public build
-
-2004-07-12  Steve Lhomme  <steve.lhomme@free.fr>
-	* gst/gstplugin.c:
-	  Fix an impossible C syntax
-	* win32/config.h:
-	  Disable i18n under Windows for the moment
-	* win32/gst-register.vcproj:
-	  Use this configuration
-
-2004-07-12  Jan Schmidt  <thaytan@mad.scientis.com>
-	* docs/manual/quotes.xml:
-	  Keep the quotes file alive
-	* docs/random/ds/0.9-suggested-changes:
-	  Add the suggestion of including a 'rowstride' as part of video
-	  format caps
-
-2004-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_set_state),
-	(gst_element_change_state):
-	  d'oh.  Set PENDING state correctly before forcing bin to change.
-	* gst/gststructure.c: (gst_structure_value_get_generic_type),
-	(gst_structure_parse_fixed_list):
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_state_transition):
-	* testsuite/states/parent.c: (main):
-	  remove comment now that it's fixed.
-
-2004-07-11  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstclock.h:
-	  GST_SECOND shouldn't cause a conversion to unsigned.
-	* testsuite/clock/.cvsignore:
-	* testsuite/clock/Makefile.am:
-	* testsuite/clock/signedness.c: (main):
-	  make sure it never will again
-
-2004-07-11  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstbin.c (gst_bin_add_func): If we're adding an element
-	whose state is higher than the bin state, raise the bin state to
-	ensure that bin state := highest child state.
-	
-2004-07-11  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstbin.c (gst_bin_foreach): New static function. Calls a
-	procedure on the children of a bin. Assumes that the procedure can
-	change the set of children.
-	(set_kid_state_func): New static function.
-	(gst_bin_change_state): Use gst_bin_foreach to call
-	set_kid_state_func. Fixes a bug: if a child had a state-change
-	handler that removes it from the bin, there would be a segfault.
-	Hopefully it should also work in the case where the state-change
-	handler on one child adds or removes other children. In any case,
-	fixes should go to gst_bin_foreach.
-
-2004-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_set_state):
-	  compatibility fix for latest plugins release.  Change loop back
-	  to while {}
-
-2004-07-09  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstbin.c: (gst_bin_remove), (gst_bin_dispose):
-	* gst/gstthread.c: (gst_thread_dispose), (gst_thread_catch),
-	(gst_thread_main_loop):
-	Since remove is virtual in GstBin we must not assume the 
-	elements GList to have anothing useful.
-	Add some more logging to GstThread and be a bit more paranoid
-	when resetting the scheduler.
-	Set the state of the bin to NULL before removing the children.
-
-2004-07-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* testsuite/threads/Makefile.am:
-	* testsuite/threads/threadg.c:
-	  added test to check if problem when removing all elements from a
-	  GstThread before setting GstThread state to NULL
-
-2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* gst/gstbin.c: (gst_bin_change_state):
-	* gst/gstelement.c: (gst_element_set_state),
-	(gst_element_change_state):
-	  rework so that for bins we try to set the state on all children
-	  as well even if the bin is in the correct state already.
-	  change while to do so at least one iteration is done.
-	  For regular elements, we fall back to the previous behaviour for
-	  now since we first need a new plugins release.
-	* testsuite/states/parent.c: (main):
-	  test for this case
-	  Fixes #123774
-
-2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gst/gstqueue.c: (gst_queue_class_init), (gst_queue_finalize),
-	(gst_queue_chain), (gst_queue_get), (gst_queue_handle_src_event),
-	(gst_queue_release_locks), (gst_queue_change_state),
-	(gst_queue_set_property):
-	  add proper lock debugging.  Change dispose to finalize, since
-	  we're freeing mutexes and other stuff which should happen only once.
-
-2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/pwg/building-state.xml:
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_change_state):
-	* gst/gstelement.c: (gst_element_change_state):
-	* gst/gstthread.c: (gst_thread_change_state):
-	  catch wrong state changes in element base class.
-
-2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gst/gstinfo.h:
-	  clean up layout a little.
-
-2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* configure.ac:
-	* testsuite/Makefile.am:
-	* testsuite/states/Makefile.am:
-	* testsuite/states/parent.c: (main):
-	  re-enable states testsuite dir.  Add test for state changes and
-	  parent behaviour
-
-2004-07-09  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_pad_link), (group_elements_set_visited),
-	(element_get_reachables_func), (element_get_reachables),
-	(debug_element), (rechain_group), (group_migrate_connected),
-	(gst_opt_scheduler_pad_unlink):
-	Do not try to migrate decoupled elements to a new group since
-	they are not added to groups.
-
-2004-07-08  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_error_func):
-	  make reentrant (= allow removing elements in error handler)
-
-2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gst/gstpad.c: (gst_pad_event_default_dispatch),
-	(gst_pad_send_event), (gst_pad_call_chain_function):
-	  events sent to elements below PAUSED cannot be handled, so
-	  don't try to
-
-2004-07-08  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(chain_recursively_migrate_group), (create_group),
-	(schedule_group), (gst_opt_scheduler_pad_link),
-	(group_elements_set_visited), (element_get_reachables_func),
-	(element_get_reachables), (group_can_reach_group), (debug_element),
-	(rechain_group), (group_migrate_connected),
-	(gst_opt_scheduler_pad_unlink):
-	* testsuite/schedulers/Makefile.am:
-	Implemented group splitting and rechaining.
-	Fixes 143777 and 143777-2 in the testsuite.
-
-2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
-	  extra debugging
-	* gst/gstevent.h:
-	* gst/gstinfo.c: (gst_debug_log_default):
-	  print time nicely.  add thread pointer until someone figures out
-	  a completely portable way of getting at thread id's.
-	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_try),
-	(_invent_event), (gst_pad_pull), (gst_pad_event_default_dispatch),
-	(gst_pad_call_chain_function):
-	  extra debugging
-	* gst/schedulers/gstoptimalscheduler.c:
-	(get_group_schedule_function), (loop_group_schedule_function),
-	(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
-	(pad_clear_queued), (gst_opt_scheduler_iterate):
-	  rename BUFPEN and friends to DATAPEN since that's what they are.
-
-2004-07-07  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_chain):
-	* gst/gstbuffer.h:
-	* gst/gstpad.c:
-	  cleanups and debugging
-
-2004-07-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* configure.ac:
-	* gst/gstvalue.c: (gst_value_compare_enum),
-	(gst_value_serialize_enum), (gst_value_deserialize_enum),
-	(gst_value_can_compare), (gst_value_compare):
-	* testsuite/Makefile.am:
-	* testsuite/enumcaps/Makefile.am:
-	* testsuite/enumcaps/enumcaps.c:
-	  Fix enum serialization, deserialization, comparison in caps, add
-	  a test to ensure that this continues working in the future.
-
-2004-07-06  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
-	Fix memleak.
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
-	* gst/gstplugin.h:
-	* gst/registries/gstxmlregistry.c:
-	(plugin_times_older_than_recurse), (plugin_times_older_than),
-	(gst_xml_registry_parse_padtemplate):
-	  only rebuild registry when actual plugins have a newer time than
-	  the registry.  Fixes #145520
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/manual.xml:
-	* docs/manual/win32.xml:
-	  add chapter on win32 building.  fixes #142422
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Sebastien Cote <sc5 at hermes.usherb.ca>
-
-	* gst/autoplug/gstspider.c: (gst_spider_init),
-	(gst_spider_dispose):
-	  fix spider memleaks.  fixes #137863
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	patch by: Joe Marcus Clarke <marcus at freebsd dot org>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_pad_unlink):
-	  fix SIGBUS error, fixes #145338
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstobject.c: (gst_object_replace):
-	* gst/gstscheduler.c: (gst_scheduler_get_clock):
-	* gst/gstsystemclock.c: (gst_system_clock_obtain):
-	  clean up clock lifecycle.  Fixes #109831
-
-2004-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/cs.po:
-	  added Czech translation (Miloslav Trmac)
-
-2004-07-04  David Schleef  <ds@schleef.org>
-
-	* tools/Makefile.am:
-	* tools/gst-xmlinspect.1.in:  Add man page. (bug #140219)
-
-2004-07-04  David Schleef  <ds@schleef.org>
-
-	* common/m4/gst-doc.m4: Check for docbook2html 0.6.10 (bug #139909)
-
-2004-07-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstbin.c: (gst_bin_restore_thyself):
-	  chain to parent restore so the bins get restored correctly
-          in the editor
-
-2004-07-03  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_save_thyself), (gst_caps_load_thyself):
-	Actually do something in these functions, like before the big
-	caps change.  (bug #145137)
-
-2004-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_get_compatible_pad_template),
-	(gst_element_get_compatible_pad_filtered):
-	* gst/gstthread.c: (gst_thread_main_loop):
-	  more debugging
-
-2004-07-02  David Schleef  <ds@schleef.org>
-
-	* gst/gstinfo.h: wrap #pragmas in #ifdefs for the correct compiler
-	* gst/gstobject.h:
-	* gst/gstparse.h:
-	* gst/gsttrace.h:
-	* gst/gstxml.h:
-
-2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstpad.c: (gst_pad_check_schedulers),
-	(gst_pad_can_link_filtered), (gst_pad_link_filtered),
-	(gst_pad_link_prepare):
-	  revert until testsuite is fixed
-
-2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/Makefile.am:
-	* testsuite/caps/filtercaps.c: (main):
-	* testsuite/clock/clock1.c: (main):
-	* testsuite/dynparams/dparamstest.c: (gst_dptest_chain), (main):
-	  fix some more tests
-
-2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/cleanup/cleanup1.c: (create_pipeline):
-	* testsuite/cleanup/cleanup2.c: (create_pipeline):
-	* testsuite/cleanup/cleanup4.c: (main):
-	  fix testsuite
-
-2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* libs/gst/control/control.c:
-	* libs/gst/control/dparam.c:
-	* libs/gst/control/dparam_smooth.c: (gst_dpsmooth_get_type):
-	* libs/gst/control/dparammanager.c:
-	* libs/gst/control/dparammanager.h:
-	* testsuite/dynparams/Makefile.am:
-	* testsuite/dynparams/dparamstest.c: (gst_dptest_base_init),
-	(gst_dptest_change_state), (gst_dptest_chain), (main):
-	  fix testcase for dparams
-	  add debugging category
-
-2004-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/Rules:
-	  change path
-
-2004-07-02  Benjamin Otte  <otte@gnome.org>
-
-	* tests/.cvsignore:
-	* tests/Makefile.am:
-	* tests/mass_elements.c: (gst_get_current_time), (main):
-	  add simple benchmark to test various speeds of fakesrc ! identity !
-	  identity ! ... ! fakesink.
-	  Usage: mass_elements [num_identities] [num_buffers]
-	  If not specified they default to 1000.
-
-2004-07-02  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_check_schedulers),
-	(gst_pad_can_link_filtered), (gst_pad_link_filtered),
-	(gst_pad_link_prepare):
-	  check that pads that get linked belong to the same manager. The old
-	  code allowed linking elements before putting them into bins, so it
-	  worked to link them and then put them in different threads, which
-	  lead to weird behaviour.
-	  Since this effectively disallows linking elements before putting
-	  them in a bin, some applications might not work after this and error
-	  out. If these applications are too critical, we might need to revert
-	  that patch. Please test this before the next release...
-
-2004-06-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstpad.c: (gst_pad_get_caps):
-	  throw an error if the getcaps function does not return a subset of
-	  the template caps.
-	* libs/gst/bytestream/filepad.c: (gst_file_pad_chain):
-	  make disconts without position info an error in debugging
-	* tests/spidey_bench.c: (handoff), (main):
-	  don't count first try when averaging
-
-2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstplugin.c: (gst_plugin_load_file):
-	  figure out problem with dynamic test
-
-2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/Makefile.am:
-	  fix docs build
-
-2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/POTFILES.in:
-	* po/af.po:
-	* po/az.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* tools/gst-register.c: (plugin_added_func), (main):
-	  i18n-ize -register, fix plural
-
-2004-06-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstidentity.c: (gst_identity_class_init),
-	(gst_identity_init), (gst_identity_chain),
-	(gst_identity_set_property), (gst_identity_get_property):
-	* gst/elements/gstidentity.h:
-	  check for perfect stream
-
-2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstidentity.c: (gst_identity_chain):
-	  print offset_end
-
-2004-06-25  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	  doc fixes
-
-2004-06-24  David Schleef  <ds@schleef.org>
-
-	* autogen.sh:  Remove call to env, since the buildbot isn't
-	broken anymore.
-
-2004-06-24  Wim Taymans  <wim@fluendo.com>
-
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
-	(gst_multifdsink_class_init), (gst_multifdsink_init),
-	(gst_multifdsink_add), (gst_multifdsink_remove),
-	(gst_multifdsink_clear), (gst_multifdsink_chain),
-	(gst_multifdsink_set_property), (gst_multifdsink_get_property):
-	* gst/elements/gstmultifdsink.h:
-	Added an element that writes to multiple filedescriptors at once.
-
-2004-06-24  Benjamin Otte  <otte@gnome.org>
-
-	* gst/parse/grammar.y:
-	  don't try to link elements before they have been added to bins
-
-2004-06-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* libs/gst/bytestream/filepad.c: (gst_file_pad_available),
-	(gst_file_pad_get_length):
-	* libs/gst/bytestream/filepad.h:
-	  add 2 new functions
-
-2004-06-22  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	remove from docs, the define that Benjamin removed from gstelement.h
-
-2004-06-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.h:
-	  remove define that referenced a nonexisting GstElement struct member
-
-2004-06-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstdata.c: (gst_data_is_writable):
-	  whoops, return values were wrong, so writable data was marked as
-	  non-writable and vice versa. (fixes #143953, spotted by Francis
-	  Labonte)
-	  Shows how rarely we need to copy data ;)
-
-2004-06-20  Benjamin Otte  <otte@gnome.org>
-
-	* testsuite/schedulers/.cvsignore:
-	* testsuite/schedulers/Makefile.am:
-	* testsuite/schedulers/143777-2.c: (main):
-	  add test for opt breakage in bug #143777
-
-2004-06-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_call_chain_function):
-	  check for if we were unlinked while inside the chainfunction (fixes
-	  entrygthread having issues with #143777)
-	* testsuite/schedulers/143777.c: (main):
-	* testsuite/schedulers/Makefile.am:
-	  add a test for that fix
-
-2004-06-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstvalue.c: (gst_value_set_int_range):
-	  test that start is smaller then end
-	* libs/gst/bytestream/Makefile.am:
-	* libs/gst/bytestream/filepad.c: 
-	* libs/gst/bytestream/filepad.h:
-	  add GstFilePad - a pad that behaves like a FILE*
-	* testsuite/bytestream/.cvsignore:
-	* testsuite/bytestream/Makefile.am:
-	* testsuite/bytestream/filepadsink.c: 
-	  test for the GstFilePad
-
-2004-06-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstidentity.c: (gst_identity_class_init),
-	(gst_identity_init), (gst_identity_set_clock),
-	(gst_identity_chain), (gst_identity_set_property),
-	(gst_identity_get_property):
-	* gst/elements/gstidentity.h:
-	* gst/gstclock.c: (gst_clock_id_wait):
-          add a "sync" property to sync to the clock
-
-2004-06-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstelementfactory.c: (gst_element_factory_create):
-	  make the freakin "elementfactory bla has no type" message more
-	  useful. So we actually can do something when someone shows up
-	  complaining about it.
-
-2004-06-15  Johan Dahlin  <johan@gnome.org>
-
-	* tools/gst-inspect.c (main): Fallback to plugin if no element is
-	found. This matches the old behavior better. Thanks to Thomas for
-	pointing out.
-
-2004-06-14  David Schleef  <ds@schleef.org>
-
-	* gst/gstcpu.c: (gst_cpuid_i386): Fix problem when using
-	-fomit-frame-pointer.  Appears to generate correct code in
-	other cases as well.
-
-2004-06-14  Johan Dahlin  <johan@gnome.org>
-
-	* tools/gst-inspect.c (main): Add two new command line options: -a
-	to print all elements and -n to print the name on each line. Also
-	fix some error reporting.
-	(main): Simplify, remove -n and always print names if -a is specified
-
-2004-06-13  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/gstconfig.h:
-	* win32/GSTreamer.vcproj:
-	* win32/Makefile:
-	* gst/gstconfig.h.in:
-	* gst/gst.h:
-	* gst/gstbin.h:
-	* gst/gstelement.h:
-	* gst/gstevent.h:
-	* gst/gstobject.h:
-	* gst/gstpad.h:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstconfig.sgml:
-          rename GSTREAMER_EXPORT(S) to GST_EXPORT(S)
-
-2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstconfig.sgml:
-	Add the GSTREAMER_EXPORT macro to the docs
-
-2004-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* tools/gst-compprep.c: (handle_xmlerror), (main):
-	Add a check for the version that introduced SetStructuredError to fix
-	the build on FC1
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/msvc71.sln:
-	* win32/testsuite/:
-          prepare to compile the testsuite with MSVC
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* docs/manual/win32.xml:
-          attempt to transform the Win32 README into an XML doc
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gst.c:
-	* gst/gstbin.*:
-	* gst/config.h.in:
-	* gst/gstelement.*:
-	* gst/gstevent.h:
-	* gst/gstobject.*:
-	* gst/gstpad.h:
-	* tools/gst-register.c:
-	* win32/gstreamer.def:
-          extern symbols are now exported for the Windows DLL
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* gst/gstinfo.h:
-          fix a problem to enable/disable DEBUG under MSVC
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/:
-          enable more debug code in DEBUG build
-
-2004-06-12  Steve Lhomme  <steve.lhomme@free.fr>
-
-	* win32/config.h:
-	* gst/gst-i18n-app.h:
-          enable NLS under Windows
-
-2004-06-12  Jan Schmidt  <thaytan@mad.scientist.com>
-	* tools/gst-compprep.c: (handle_xmlerror), (main):
-	  Make an error that baffled me a bit clearer
-
-2004-06-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstqueue.c:
-          don't use g_queue_get_length () because it's 2.4, use ->length
-
-2004-06-11  Steve Lhomme  <steve.lhomme@free.fr>
-
-	reviewed by Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* tools/gst-inspect.c: (print_signal_info):
-	  don't free random data twice. (fixes #144185)
-
-2004-06-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstqueue.c:
-	* gst/gstqueue.h:
-	  fix removing from the wrong queue on event timeout
-	  fix disposing of the event queue by casting correctly
-	  add mutexes for handling the event queue
-	  someone was sleeping when fixing queue last time around :)
-
-2004-06-10  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gst.c (gst_init_check_with_popt_table): Do not fail on
-	errors, like gtk. It makes it more useful in bindings.  Fixes #141692.
-
-2004-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/random/gdp:
-	* libs/gst/dataprotocol/dataprotocol-test.c: (buffer_test):
-	* libs/gst/dataprotocol/dataprotocol.c:
-	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
-	(gst_dp_buffer_from_header):
-	* libs/gst/dataprotocol/dataprotocol.h:
-	* libs/gst/dataprotocol/dp-private.h:
-          rev version to 0.1, add buffer flags and copy them
-
-2004-06-09  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstbuffer.c (gst_buffer_default_copy): Don't forget to merge
-	the flags from the buffer we're copying.
-
-2004-06-09  Wim Taymans  <wim@fluendo.com>
-
-	* gst/elements/gstfakesink.c: (gst_fakesink_chain):
-	* gst/elements/gstidentity.c: (gst_identity_init),
-	(gst_identity_chain):
-	Print more buffer info in fakesink.
-	Make identity output similar to fakesink.
-
-2004-06-07  Daniel Gazard  <dany42@free.fr>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* configure.ac:
-	  fix cross compiling not working. (fixes #143741)
-
-2004-06-07  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_set_time_delay):
-	  add failure check
-	* gst/gstinfo.h:
-	  put brackets around macro arguments of GST_TIME_ARGS, add note to
-	  move it to correct header in 0.9
-
-2004-06-07  Benjamin Otte  <otte@gnome.org>
-
-	* gst/indexers/gstfileindex.c: (gst_file_index_get_writer_id),
-	(gst_file_index_load), (_file_index_id_save_entries),
-	(gst_file_index_commit), (gst_file_index_add_association),
-	(gst_file_index_add_entry), (gst_file_index_get_assoc_entry),
-	(gst_file_index_plugin_init):
-	  make debugging use a default category
-
-2004-06-06  David Moore  <dcm@acm.org>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
-	(gst_fdsrc_change_state):
-	  reset offset counter when going READY => PAUSED. (fixes #142903)
-
-2004-06-06  ed@catmur.co.uk
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/registries/gstxmlregistry.c:
-	(gst_xml_registry_rebuild_recurse):
-	  don't rely on g_dir_open to figure out if a file is a directory, use
-	  explicit G_TEST_IS_DIR. Reiserfs4 allows opening files as
-	  directories. (fixes #142850)
-
-2004-06-06  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
-	  fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
-	* libs/gst/bytestream/adapter.c:
-	* libs/gst/bytestream/adapter.h:
-	  fix copyright in header and typo in debugging category name
-
-2004-06-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* configure.ac:
-	  bump nano to cvs
-
-=== release 0.8.3 ===
-
-2004-06-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  update libtool versioning
-	  do a new release
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* gst/gstinfo.c: (_gst_debug_init):
-	  put back GST_CAT_DATAFLOW to fix API breakage
-
-2004-06-04  David Schleef  <ds@schleef.org>
-
-	* autogen.sh: Add a temporary 'env' to test buildbot problems.
-
-2004-06-04  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* configure.ac:
-	  bump nano to cvs
-
-=== release 0.8.2 ===
-
-2004-06-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst.c: (parse_debug_list), (gst_init_check_with_popt_table):
-	  check GST_DEBUG environment variable which is parsed the same way
-	  as --gst-debug=
-
-2004-05-28  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* gst/elements    : gstaggregator.c gstfakesink.c gstfakesrc.c
-			    gstmd5sink.c gstshaper.c gsttee.c
-			    gsttypefindelement.c
-	* gst/schedulers  : gstbasicscheduler.c gstoptimalscheduler.c
-
-	  - removing trailing commas at end of enums
-	    it is correct C99 code but C90 compilers would complain
-	    (AIX, Forte, ...)
-	    ('should' fix #143290, at least partially)
-
-2004-05-27  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (remove_from_chain),
-	(chain_group_set_enabled), (create_group), (add_to_group),
-	(merge_groups), (setup_group_scheduler), (group_elements),
-	(gst_opt_scheduler_iterate), (gst_opt_scheduler_show):
-	Don't try to follow the pad connections with other groups
-	when a loop based element is added to the scheduler because
-	the bin will inform the scheduler about the pad links a little
-	later.
-
-2004-05-27  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
-	(remove_from_chain), (chain_group_set_enabled),
-	(setup_group_scheduler), (group_element_set_enabled),
-	(gst_opt_scheduler_state_transition), (gst_opt_scheduler_iterate),
-	(gst_opt_scheduler_show):
-	Elements without a group can do a state change as well, just wait
-	with the setup of the scheduling function when it is added to a
-	chain.
-
-2004-05-27  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (add_to_chain),
-	(remove_from_chain), (chain_group_set_enabled), (add_to_group),
-	(merge_groups), (setup_group_scheduler),
-	(group_inc_links_for_element), (gst_opt_scheduler_iterate),
-	(gst_opt_scheduler_show):
-	Fixes to maintain internal consistency of the scheduler data
-	structures. 
-	 - adding an enabled group to a chain should increment the
-	   number of enabled elements in that chain.
-         - removing an enabled group from a chain could disable the
-	   chain.
-	 - removing a disabled group from a chain could enable the
-	   chain.
-	 - add g_assert when internal inconsistency is detected.
-	 - adding an element to a group could increase the number of
-	   links this group has with other groups.
-	 - merging two groups also merges the chains.
-	 - also show group links in the _show method.
-	   
-
-2004-05-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstcaps.c: (gst_caps_structure_simplify):
-	  don't print error messages when there is no error
-	* gst/gstvalue.c: (gst_value_compare_int_range):
-	  compare the second value, too
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/random.c: (assert_on_error), (main):
-	  add tests to make sure the two things above are checked for
-
-2004-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps):
-	* libs/gst/dataprotocol/dataprotocol.h:
-          wrap header in GST_ENABLE_NEW.  make code use it
-
-2004-05-23  Johan Dahlin  <johan@gnome.org>
-
-	* tools/gst-inspect.c (main): Cleanup most parts of it, don't be
-	so verbose and print GstElement signal names all the time.
-
-2004-05-22  David Schleef  <ds@schleef.org>
-
-	* gst/registries/gstxmlregistry.c:
-	(gst_xml_registry_parse_padtemplate): Fix warning on OS X.
-	(bug #142957)
-
-2004-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  scrub cflags for glib2 so gcc doesn't complain when glib is in
-	  /usr/local
-
-2004-05-21  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstcpu.c (gst_cpuid_i386): Protect some gcc asm stuff with
-	__GNUC__, patch from Brian Cameron, fixes bug #142804
-
-2004-05-20  David Schleef  <ds@schleef.org>
-
-	* gst/gstindex.c: (gst_index_compare_func): Fix overflows in
-	comparison code.  (bug #142819)
-
-2004-05-20  Wim Taymans  <wim@fluendo.com>
-
-	* gst/gstbuffer.c: (gst_buffer_default_copy):
-	* gst/gstbuffer.h:
-	Added Comment to a flag.
-	copy relevant flags in _buffer_copy.
-
-2004-05-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	reviewed by: Wim Taymans <wim at fluendo dot com>
-
-	* gst/gstbuffer.h:
-          add GST_BUFFER_IN_CAPS buffer flag
-	* gst/gststructure.c: (gst_structure_value_get_generic_type),
-	(gst_structure_parse_any_list), (gst_structure_parse_list),
-	(gst_structure_parse_fixed_list), (gst_structure_parse_value):
-	* gst/gstvalue.c: (gst_value_serialize_any_list),
-	(gst_value_transform_any_list_string),
-	(gst_value_list_prepend_value), (gst_value_list_append_value),
-	(gst_value_list_get_size), (gst_value_list_get_value),
-	(gst_value_transform_list_string),
-	(gst_value_transform_fixed_list_string),
-	(gst_value_serialize_list), (gst_value_serialize_fixed_list),
-	(gst_value_deserialize_fixed_list), (gst_type_is_fixed),
-	(_gst_value_initialize):
-	* gst/gstvalue.h:
-          add a GST_TYPE_FIXED_LIST which is fixed by definition and uses
-          < , > as a format.
-	* testsuite/caps/string-conversions.c: (main):
-          add regression tests for < >
-
-2004-05-20  Johan Dahlin  <johan@gnome.org>
-
-	* docs/gst/Makefile.am (all-local): Re-add
-
-2004-05-20  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/libs/Makefile.am:
-	* docs/libs/gstreamer-libs-docs.sgml:
-          fix distcheck issues
-
-2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* libs/gst/dataprotocol/Makefile.am:
-          add to autotest
-
-2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/dataprotocol/dataprotocol.c:
-	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
-	(gst_dp_packet_from_event), (gst_dp_event_from_packet):
-	* libs/gst/dataprotocol/dp-private.h:
-	  use GST macros to read/write fixed length ints
-	  add some more asserts
-
-2004-05-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/libs/gstreamer-libs-docs.sgml:
-	* docs/libs/gstreamer-libs-sections.txt:
-	  remove idct and putbits
-	* configure.ac:
-	* docs/libs/tmpl/gstdataprotocol.sgml:
-	* libs/gst/Makefile.am:
-	* libs/gst/dataprotocol/Makefile.am:
-	* libs/gst/dataprotocol/dataprotocol-test.c: (conversion_test),
-	(buffer_test), (caps_test), (event_test), (main):
-	* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
-	(gst_dp_dump_byte_array), (gst_dp_init),
-	(gst_dp_header_payload_length), (gst_dp_header_payload_type),
-	(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
-	(gst_dp_packet_from_event), (gst_dp_buffer_from_header),
-	(gst_dp_caps_from_packet), (gst_dp_event_from_packet),
-	(gst_dp_validate_header), (gst_dp_validate_payload),
-	(gst_dp_validate_packet), (plugin_init):
-	* libs/gst/dataprotocol/dataprotocol.h:
-	* libs/gst/dataprotocol/dp-private.h:
-	  add dataprotocol
-
-2004-05-19  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstvalue.c: (gst_value_deserialize_int_helper):
-	  fix int variable deserialization and add a helper so we can actually
-	  debug this.
-
-2004-05-18  David Schleef  <ds@schleef.org>
-
-	* testsuite/debug/commandline.c: (main): Call ./commandline, not
-	  argv[0].  Calling yourself is probably not the best way to
-	  construct a test like this, btw.
-
-2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstbin.c: (gst_bin_iterate_func), (gst_bin_iterate):
-	  don't claim to be more intelligent than a scheduler when the
-	  scheduler claims the pipeline is stopped
-	* gst/schedulers/entryscheduler.c: (safe_cothread_switch),
-	(safe_cothread_destroy),
-	(gst_entry_scheduler_remove_all_cothreads),
-	(gst_entry_scheduler_reset), (_remove_cothread),
-	(gst_entry_scheduler_state_transition):
-	  hold off cothread destruction if we're not in main cothread
-	* configure.ac:
-	* testsuite/Makefile.am:
-	  add new test dir
-	* testsuite/schedulers/.cvsignore:
-	* testsuite/schedulers/Makefile.am:
-	  add tests
-	* testsuite/schedulers/relink.c: (cb_handoff), (main):
-	  check relinking and adding/removing elements from a running pipeline
-	* testsuite/schedulers/unlink.c: (cb_handoff), (main):
-	  check unlinking in a running pipeline
-	* testsuite/schedulers/unref.c: (cb_handoff), (main):
-	  check unreffing a running pipeline
-	* testsuite/schedulers/useless_iteration.c: (main):
-	  check iterating a pipeline that contains running threads works
-
-2004-05-18  David Schleef  <ds@schleef.org>
-
-	* docs/gst/Makefile.am: Add all-local target for when HAVE_GTK_DOC
-          is false.
-
-2004-05-18  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
-	(setup_group_scheduler), (gst_opt_scheduler_pad_link):
-	Fixed an error introduced with patch for 1.63. When setting
-	a get based element as the entry point in a group, make sure
-	to mark the group as GET based.
-
-2004-05-18  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (create_group),
-	(setup_group_scheduler), (loop_group_schedule_function),
-	(gst_opt_scheduler_pad_link):
-	Added some more debug info and fixed a bug where the group
-	type was set to LOOP but it was in fact unknown.
-
-2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/schedulers/entryscheduler.c: (gst_entry_scheduler_reset):
-	  make resetting scheduler work twice in a row
-
-2004-05-18  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
-	(CREATE_USERIALIZATION), (_gst_value_initialize),
-	(gst_value_compare_float), (gst_value_serialize_float),
-	(gst_value_deserialize_float), (gst_value_compare_enum),
-	(gst_value_serialize_enum), (gst_value_deserialize_enum):
-	  add serialization and comparison functions for long, int64, enum and
-	  float values
-	* gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
-	  use best serialization function in type hierarchy instead of only a
-	  matching one. This is required for enums to work.
-	* gst/parse/grammar.y:
-	  use gst_caps_deserialize
-	* testsuite/parse/Makefile.am:
-	  parse1 now works
-	* testsuite/parse/parse1.c: (main):
-	  remove aggregator check, aggregator is broken, this test works now
-	  but fails because of bug #138012
-	* testsuite/parse/parse2.c: (main):
-	  s/xvideosink/xvimagesink - this test looks a lot like we should
-	  disable it
-
-2004-05-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstelement.c: (gst_element_class_init):
-	  whoops, store the signal id correctly
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_chain_wrapper):
-	  detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
-	  chain function isn't linked
-
-2004-05-13  Jan Schmidt  <thaytan@mad.scientist.com>
-	* configure.ac:
-	Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
-	support until we decide where the flags should be used
-	* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
-	Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
-	* gst/gstpad.c: (gst_pad_link_call_link_functions):
-	Output refused caps in the debug info
-
-2004-05-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstidentity.c: (gst_identity_chain):
-          add duration debug
-	* gst/gstinfo.c: (gst_debug_log_default):
-          add timestamp
-
-2004-05-13  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpipeline.c: (gst_pipeline_dispose),
-	(gst_pipeline_change_state):
-	  call gst_scheduler_reset on dispose (fixes #141416)
-
-2004-05-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
-	  compute mapsize correctly
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
-	  use correct datatypes when calling a varargs function
-	* gst/elements/gsttypefindelement.c: (stop_typefinding):
-	  push a DISCONT event as first thing
-	* gst/gst_private.h:
-	* gst/gstinfo.c: (_gst_debug_init):
-	  remove GST_DATAFLOW debugging category
-	* gst/gstbin.c: (gst_bin_iterate):
-	  use GST_SCHEDULING category
-	* gst/gstpad.c: (gst_pad_get_type), (_invent_event),
-	(gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
-	(gst_pad_call_get_function):
-	  add GST_DATAFLOW to easily track flow of buffers or events.
-	* gst/gstqueue.c: (gst_queue_get_type),
-	(gst_queue_handle_pending_events), (gst_queue_chain),
-	(gst_queue_get), (gst_queue_handle_src_event):
-	  use own static debugging category GST_DATAFLOW for dataflow,
-	  use DEBUG category for showing which path events go, use LOG
-	  category for buffers.
-
-2004-05-10  David Schleef  <ds@schleef.org>
-
-	* docs/gst/gstreamer-sections.txt: Add gst_element_no_more_pads.
-
-2004-05-10  David Schleef  <ds@schleef.org>
-
-	* docs/gst/Makefile.am: Dear gtk-doc, please print out the unused
-	symbols, because otherwise we don't know what they are.  Thanks,
-	the GStreamer team.
-	* gst/registries/gstxmlregistry.c: (make_dir): Remove a spurious ;
-
-2004-05-10  David Schleef  <ds@schleef.org>
-
-	(from Steve Lhomme)
-	* win32/Makefile: When using make clean the MS Visual Studio makefiles
-	are deleted.  Fix.
-	* win32/Makefile.inspect:
-	* win32/Makefile.launch:
-	* win32/Makefile.register:
-
-2004-05-10  David Schleef  <ds@schleef.org>
-
-	* gst/gstinfo.h: Add missing inline function.
-	* gst/gsttrace.c: add include
-	* gst/parse/grammar.y: remove unused code
-	* gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
-	more portable.
-	* tools/gst-register.c: wrap unistd.h
-	
-	More additions/fixes from Steve for the MSVC build.
-	* win32/GStreamer.vcproj:
-	* win32/Makefile:
-	* win32/Makefile.inspect:
-	* win32/Makefile.launch:
-	* win32/Makefile.register:
-	* win32/README.txt:
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	* win32/gst-register.vcproj:
-	* win32/gstbytestream.def:
-	* win32/gstbytestream.vcproj:
-	* win32/gstconfig.h:
-	* win32/gstelements.def:
-	* win32/gstelements.vcproj:
-	* win32/gstenumtypes.c:
-	* win32/gstenumtypes.h:
-	* win32/gstoptimalscheduler.def:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/gstreamer.def:
-	* win32/gstspider.def:
-	* win32/gstspider.vcproj:
-	* win32/gstversion.h:
-	* win32/msvc71.sln:
-
-2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstelement.c: (gst_element_class_init),
-	(gst_element_no_more_pads):
-	* gst/gstelement.h:
-	  add gst_element_no_more_pads and the "no-more-pads" signal
-
-2004-05-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstregistry.c: (gst_registry_add_plugin):
-	  refuse to add plugins when a plugin with same name is already
-	  registered. Fixes a bunch of "How to remove plugins?" issues.
-	  May lead to other problems though, let's test
-
-2004-05-10  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3
-	* docs/manual/pads-api.xml : audio/wav => audio/x-wav
-	* docs/random/uraeus/gstreamer_and_midi.txt : audio/wav => audio/x-wav
-
-2004-05-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tests/Makefile.am: fix am16 issue
-
-2004-05-09  Benjamin Otte  <otte@gnome.org>
-
-	* libs/gst/bytestream/Makefile.am:
-	  we should indeed add .c files to makefiles or they won't be built
-	  (d'oh)
-
-2004-05-08  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_proxy_fixate):
-	  really reduce the set of caps
-
-2004-05-08  Benjamin Otte  <otte@gnome.org>
-
-	* tests/Makefile.am:
-	* tests/spidey_bench.c: (handoff), (main):
-	  add benchmark to test how long spider needs to create a pipeline
-
-2004-05-08  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_unnegotiate):
-	  mark links as unengaged when unnegotiating instead of deactivating.
-	  This way pads aren't marked as unengaged when going PLAYING=>PAUSED
-
-2004-05-08  Benjamin Otte  <otte@gnome.org>
-
-	* docs/manual/helloworld.xml:
-	  s/audiosink/osssink (patch by Patrick Guimond)
-
-2004-05-07  David Schleef  <ds@schleef.org>
-
-	* configure.ac: Make sure GST_INT_CFLAGS is not clobbered,
-	since it contains important stuff.
-
-2004-05-07  David Schleef  <ds@schleef.org>
-
-	* testsuite/caps/caps.c: (test3), (main): A check for appending
-	ANY caps.
-
-2004-05-07  David Schleef  <ds@schleef.org>
-
-	* common/m4/as-compiler-flag.m4: Properly quote arguments,
-	which may contain commas.  Fixes detection of -Wa,-mregnames
-
-2004-05-06  David Schleef  <ds@schleef.org>
-
-	Changes to handle compilers that don't have variadic macro
-	support.  In particular, glib headers define some inlines
-	that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
-	builds.
-	* gst/Makefile.am:
-	* gst/cothreads.c:
-	* gst/elements/gstfdsink.c:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfilesink.c:
-	* gst/elements/gstfilesrc.c:
-	* gst/gst_private.h:
-	* gst/gstatomic.c:
-	* gst/gstcaps.c: (gst_caps_append):
-	* gst/gstcpu.c: (gst_cpuid_i386):
-	* gst/gstelement.c:
-	* gst/gsterror.c:
-	* gst/gstfilter.c:
-	* gst/gstinfo.h:
-	* gst/gstprobe.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gststructure.c:
-	* gst/gsttaginterface.c:
-	* gst/gsttrace.c: (gst_trace_new):
-	* gst/gsttrashstack.c:
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-	* gst/parse/grammar.y:
-	* gst/parse/parse.l:
-	* tools/gst-inspect.c: (main):
-	* tools/gst-launch.c: (main):
-	* tools/gst-xmlinspect.c: (PUT_STRING):
-
-2004-05-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get),
-	(gst_filesrc_change_state), (gst_filesrc_srcpad_event):
-	* gst/elements/gstfilesrc.h:
-	  send NEW_MEDIA events correctly
-	* gst/elements/gsttypefindelement.c: (start_typefinding),
-	(gst_type_find_element_handle_event):
-	  restart typefinding when we get a NEW_MEDIA event
-	* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
-	(gst_bin_dispose):
-	  don't die when someone removes elements in callbacks
-	* gst/gstelement.c: (gst_element_change_state):
-	  improve debugging
-	* gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
-	  we need a NEW_MEDIA event to engage a link
-	* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
-	  don't g_print debugging stuff
-	* testsuite/caps/simplify.c: (check_caps):
-
-2004-05-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/parse/grammar.y:
-	  use GST_ERROR instead of g_warning, and always throw a GST_ERROR 
-
-2004-05-04  Benjamin Otte  <otte@gnome.org>
-
-	* testsuite/caps/renegotiate.c: (main):
-	  improve output in error case
-
-2004-05-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/parse/grammar.y:
-	  fix assert to not trigger when there's no error argument
-	* gst/parse/parse.l:
-	  fix definition of caps to allow more than two structures
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/renegotiate.c: (main):
-	  it's sinesrc and works in that case
-
-2004-05-04  Wim Taymans  <wim@fluendo.com>
-
-	* gst/schedulers/gstoptimalscheduler.c: (remove_from_group),
-	(group_dec_link), (gst_opt_scheduler_pad_unlink):
-	when removing an element from a group, we always need to
-	decrement the link count that this group had with other 
-	groups through the element.
-	added an extra assert to catch inconsistencies when decrementing
-	the link count.
-
-2004-05-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* examples/appreader/Makefile.am:
-	* examples/cutter/Makefile.am:
-	* examples/events/Makefile.am:
-	* examples/helloworld/Makefile.am:
-	* examples/helloworld2/Makefile.am:
-	* examples/launch/Makefile.am:
-	* examples/manual/Makefile.am:
-	* examples/mixer/Makefile.am:
-	* examples/pingpong/Makefile.am:
-	* examples/plugins/Makefile.am:
-	* examples/queue/Makefile.am:
-	* examples/queue2/Makefile.am:
-	* examples/queue3/Makefile.am:
-	* examples/queue4/Makefile.am:
-	* examples/retag/Makefile.am:
-	* examples/thread/Makefile.am:
-	* examples/typefind/Makefile.am:
-	* examples/xml/Makefile.am:
-	* gst/Makefile.am:
-	* gst/autoplug/Makefile.am:
-	* gst/elements/Makefile.am:
-	* gst/gstcompat.h:
-	* gst/indexers/Makefile.am:
-	* gst/parse/Makefile.am:
-	* gst/registries/Makefile.am:
-	* gst/schedulers/Makefile.am:
-	* libs/gst/bytestream/Makefile.am:
-	* libs/gst/control/Makefile.am:
-	* libs/gst/getbits/Makefile.am:
-	* po/af.po:
-	* po/az.po:
-	* po/en_GB.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sr.po:
-	* po/sv.po:
-	* po/tr.po:
-	* po/uk.po:
-	* tests/Makefile.am:
-	* tests/bufspeed/Makefile.am:
-	* tests/instantiate/Makefile.am:
-	* tests/memchunk/Makefile.am:
-	* tests/muxing/Makefile.am:
-	* tests/negotiation/Makefile.am:
-	* tests/probes/Makefile.am:
-	* tests/sched/Makefile.am:
-	* tests/seeking/Makefile.am:
-	* tests/threadstate/Makefile.am:
-	* testsuite/caps/Makefile.am:
-	* testsuite/cleanup/Makefile.am:
-	* testsuite/dlopen/Makefile.am:
-	* testsuite/dynparams/Makefile.am:
-	* testsuite/plugin/Makefile.am:
-	* testsuite/states/Makefile.am:
-	* tools/Makefile.am:
-          reorganize compile/link flags to be consistent
-          put gst_info in gstcompat.h and actually use GST_DISABLE_DEPRECATED
-
-2004-05-04  David Schleef  <ds@schleef.org>
-
-	The "once more, with feeling" check-in.
-	* testsuite/caps/Makefile.am: dist caps_strings
-	* testsuite/caps/renegotiate.c: (main): This test triggers a
-	  segfault in the core.  Marking as failing.
-
-2004-05-03  David Schleef  <ds@schleef.org>
-
-	* testsuite/caps/deserialize.c: (main): Fix problems noticed
-	  by the build bots.
-	* testsuite/caps/renegotiate.c: (main): Same.
-
-2004-05-03  David Schleef  <ds@schleef.org>
-
-	* testsuite/caps/renegotiate.c: (my_fixate), (main): Another test.
-
-2004-05-03  David Schleef  <ds@schleef.org>
-
-	* testsuite/caps/deserialize.c: (main): Use the srcdir environment
-	  variable to find our source file.
-
-2004-05-03  David Schleef  <ds@schleef.org>
-
-	* configure.ac:  Link plugins with libgstreamer and dependent
-	  libraries
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/caps_strings:
-	* testsuite/caps/deserialize.c: (main): Add a little test to slog
-	  through a file of caps strings and test each one
-
-2004-05-04  Benjamin Otte  <otte@gnome.org>
-
-	* libs/gst/bytestream/Makefile.am:
-	* libs/gst/bytestream/adapter.c: 
-	* libs/gst/bytestream/adapter.h:
-	  add GstAdapter, similar to bytestream, but doesn't require ugly event
-	  handling or uglier loopbased elements
-
-2004-05-03  David Schleef  <ds@schleef.org>
-
-	* testsuite/caps/Makefile.am: Fix spelling of ??????????????????????
-	* testsuite/caps/erathostenes.c:
-	* testsuite/caps/eratosthenes.c: (eratosthenes), (main):
-
-2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/pwg/pwg.xml:
-          remove hardcoded stylesheet path (duh)
-	* docs/random/release:
-	* docs/gst/gstreamer-sections.txt:
-	* gst/Makefile.am:
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstcaps.c:
-	* gst/gstevent.c:
-	* gst/gstformat.c:
-	* gst/gstinfo.c:
-	* gst/gstinfo.h:
-	* gst/gstinterface.c:
-	* gst/gstmemchunk.c:
-	* gst/gstprobe.c:
-	* gst/gstquery.c:
-	* gst/gstregistry.c:
-	* gst/gstregistrypool.c:
-	* gst/gststructure.c:
-	* gst/gsttaginterface.c:
-	* gst/gstthread.c:
-	* gst/gsttrace.c:
-	* gst/gsttypefind.c: (gst_type_find_factory_get_type):
-	* gst/gsturi.c:
-	* gst/gstvalue.c:
-          deprecate gst_info; remove gstlog.h
-   
-
-2004-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* po/en_GB.po:
-	* po/sv.po:
-	* po/uk.po:
-          updated translations
-
-2004-05-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstbin.c: (gst_bin_dispose):
-	  better debugging
-
-2004-05-03  Johan Dahlin  <johan@gnome.org>
-
-	* gst/schedulers/gstoptimalscheduler.c
-	(gst_opt_scheduler_pad_unlink): Check if element is non-NULL and
-	really is a GstElement. Avoids critical when running gst-launch -v
-	and a oggdemux/decoding pipeline.
-
-2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* docs/gst/tmpl/gstpipeline.sgml :
-	* docs/manual/elements-api.xml :
-		doc fix by Patrick Guimond (Protector) from devel ML
-		reviewed by ronald
-
-2004-05-02  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* docs/gst/Makefile.am :
-	* docs/libs/Makefile.am :
-		apply a patch from Arwed v. Merkatz so that gtk-doc
-		generated docs install (same for .devhelp file)
-		(fixes part 1 of #138836)
-
-2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* docs/faq/dependencies.xml: typo
-	* docs/faq/getting.xml :
-	    - fix download URL for new gstreamer site
-	    - hide sf.net download page as latest version aren't there
-	    - fix apt URLs
-	    - fill "get via CVS" paragraph (link to dev page on the site)
-	* docs/faq/general.xml:
-	    hide status tables as they no more exists
-	    change case on plugins license file to reflect reality
-	* docs/faq/troubleshooting.xml:
-	    remove the wiki question/answer as there is no more wiki
-
-2004-04-30  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsterror.h:
-          include the headers needed for declarations used in this header
-
-2004-04-30  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* docs/random/uraeus/gstreamer_and_midi.txt :
-	  add .kar (midi + karaoke/lyrics 'track') doc to midi doc.
-	  (fixes #132288)
-
-2004-04-30  Sebastien Cote  <sc5@hermes.usherb.ca>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gthread-cothreads.h:
-	  free allocated data for main cothread, too when destroying context
-	  (fixes #141417)
-
-2004-04-29  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
-
-	* docs/manual/goals.xml : remove duplicated paragraph at end 
-	of doc page (fixes #141448)
-
-2004-04-29  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
-	Patch from Sebastien Cote to fix leakage of events. (bug #141414)
-
-2004-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
-          fix property
-	* gst/gstcaps.c:
-          fix doc string
-	* po/POTFILES.in:
-          rename typefind source file
-
-2004-04-28  David Schleef  <ds@schleef.org>
-
-	Several new files from Steve Lhomme's MSVC patch (bug #141317):
-	* win32/GStreamer.vcproj:
-	* win32/Makefile:
-	* win32/config.h:
-	* win32/dirent.c: (_topendir), (_treaddir), (_tclosedir),
-	(_trewinddir), (_ttelldir), (_tseekdir):
-	* win32/dirent.h:
-	* win32/gst-inspect.vcproj:
-	* win32/gst-launch.vcproj:
-	* win32/gst-register.vcproj:
-	* win32/gstbytestream.vcproj:
-	* win32/gstelements.vcproj:
-	* win32/gstoptimalscheduler.vcproj:
-	* win32/gstspider.vcproj:
-	* win32/gtchar.h:
-	* win32/mman.c: (mmap), (mprotect), (msync), (munmap):
-	* win32/mman.h:
-	* win32/mman.inl:
-	* win32/msvc71.sln:
-
-2004-04-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gst.c: (init_post):
-	* gst/gstinfo.c:
-	  remove useless _gst_progname stuff
-	* tools/gst-inspect.c: (print_field), (print_caps):
-	  improve caps output
-
-2004-04-28  David Schleef  <ds@schleef.org>
-
-	Disable parsing of a lot of files that aren't part of the
-	exported API.  Move corresponding template files to old/,
-	waiting for removal when they don't contain anything
-	interesting.
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/cothreads.sgml:
-	* docs/gst/tmpl/cothreads_compat.sgml:
-	* docs/gst/tmpl/gettext.sgml:
-	* docs/gst/tmpl/gobject2gtk.sgml:
-	* docs/gst/tmpl/grammar.tab.sgml:
-	* docs/gst/tmpl/gst-i18n-app.sgml:
-	* docs/gst/tmpl/gst-i18n-lib.sgml:
-	* docs/gst/tmpl/gst_private.sgml:
-	* docs/gst/tmpl/gstaggregator.sgml:
-	* docs/gst/tmpl/gstarch.sgml:
-	* docs/gst/tmpl/gstatomic_impl.sgml:
-	* docs/gst/tmpl/gstbufferstore.sgml:
-	* docs/gst/tmpl/gstdata_private.sgml:
-	* docs/gst/tmpl/gstdisksink.sgml:
-	* docs/gst/tmpl/gstdisksrc.sgml:
-	* docs/gst/tmpl/gstelementfactory.sgml:
-	* docs/gst/tmpl/gstextratypes.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfdsink.sgml:
-	* docs/gst/tmpl/gstfdsrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gsthttpsrc.sgml:
-	* docs/gst/tmpl/gstidentity.sgml:
-	* docs/gst/tmpl/gstindexfactory.sgml:
-	* docs/gst/tmpl/gstmarshal.sgml:
-	* docs/gst/tmpl/gstmd5sink.sgml:
-	* docs/gst/tmpl/gstmultidisksrc.sgml:
-	* docs/gst/tmpl/gstmultifilesrc.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstpipefilter.sgml:
-	* docs/gst/tmpl/gstschedulerfactory.sgml:
-	* docs/gst/tmpl/gstsearchfuncs.sgml:
-	* docs/gst/tmpl/gstshaper.sgml:
-	* docs/gst/tmpl/gstspider.sgml:
-	* docs/gst/tmpl/gstspideridentity.sgml:
-	* docs/gst/tmpl/gststatistics.sgml:
-	* docs/gst/tmpl/gsttee.sgml:
-	* docs/gst/tmpl/gsttimecache.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gsttypefindfactory.sgml:
-	* docs/gst/tmpl/gstxmlregistry.sgml:
-	* docs/gst/tmpl/gthread-cothreads.sgml:
-	* docs/gst/tmpl/old/cothreads.sgml:
-	* docs/gst/tmpl/old/cothreads_compat.sgml:
-	* docs/gst/tmpl/old/gettext.sgml:
-	* docs/gst/tmpl/old/gobject2gtk.sgml:
-	* docs/gst/tmpl/old/grammar.tab.sgml:
-	* docs/gst/tmpl/old/gst-i18n-app.sgml:
-	* docs/gst/tmpl/old/gst-i18n-lib.sgml:
-	* docs/gst/tmpl/old/gst_private.sgml:
-	* docs/gst/tmpl/old/gstaggregator.sgml:
-	* docs/gst/tmpl/old/gstarch.sgml:
-	* docs/gst/tmpl/old/gstatomic_impl.sgml:
-	* docs/gst/tmpl/old/gstbufferstore.sgml:
-	* docs/gst/tmpl/old/gstdata_private.sgml:
-	* docs/gst/tmpl/old/gstdisksink.sgml:
-	* docs/gst/tmpl/old/gstdisksrc.sgml:
-	* docs/gst/tmpl/old/gstelementfactory.sgml:
-	* docs/gst/tmpl/old/gstextratypes.sgml:
-	* docs/gst/tmpl/old/gstfakesink.sgml:
-	* docs/gst/tmpl/old/gstfakesrc.sgml:
-	* docs/gst/tmpl/old/gstfdsink.sgml:
-	* docs/gst/tmpl/old/gstfdsrc.sgml:
-	* docs/gst/tmpl/old/gstfilesink.sgml:
-	* docs/gst/tmpl/old/gstfilesrc.sgml:
-	* docs/gst/tmpl/old/gsthttpsrc.sgml:
-	* docs/gst/tmpl/old/gstidentity.sgml:
-	* docs/gst/tmpl/old/gstindexfactory.sgml:
-	* docs/gst/tmpl/old/gstmarshal.sgml:
-	* docs/gst/tmpl/old/gstmd5sink.sgml:
-	* docs/gst/tmpl/old/gstmultidisksrc.sgml:
-	* docs/gst/tmpl/old/gstmultifilesrc.sgml:
-	* docs/gst/tmpl/old/gstpadtemplate.sgml:
-	* docs/gst/tmpl/old/gstpipefilter.sgml:
-	* docs/gst/tmpl/old/gstschedulerfactory.sgml:
-	* docs/gst/tmpl/old/gstsearchfuncs.sgml:
-	* docs/gst/tmpl/old/gstshaper.sgml:
-	* docs/gst/tmpl/old/gstspider.sgml:
-	* docs/gst/tmpl/old/gstspideridentity.sgml:
-	* docs/gst/tmpl/old/gststatistics.sgml:
-	* docs/gst/tmpl/old/gsttee.sgml:
-	* docs/gst/tmpl/old/gsttimecache.sgml:
-	* docs/gst/tmpl/old/gsttypefindfactory.sgml:
-	* docs/gst/tmpl/old/gstxmlregistry.sgml:
-	* docs/gst/tmpl/old/gthread-cothreads.sgml:
-	* docs/gst/tmpl/old/types.sgml:
-	* docs/gst/tmpl/types.sgml:
-
-	Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
-	gtkdoc-scan doesn't like files with the same name in different
-	directories.
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gsttypefind.c: 
-	* gst/elements/gsttypefind.h:
-	* gst/elements/gsttypefindelement.c:
-	* gst/elements/gsttypefindelement.h:
-
-2004-04-28  David Schleef  <ds@schleef.org>
-
-	A bunch of portability fixes, derived from Steve Lhomme's MSVC
-	patch (bug #141317):
-	* gst/gst-i18n-lib.h: Allow disabling gettext.
-	* gst/gstatomic_impl.h: disable warning when it's dumb.
-	* gst/gstclock.c: fix include
-	* gst/gstcompat.h: fix variadic macro
-	* gst/gstinfo.c: fix include
-	* gst/gstmacros.h: add defines for inlines on MSVC
-	* gst/gstplugin.c: fix includes
-	* gst/gstregistry.c: fix includes
-	* gst/gstregistry.h: use S_IREAD, etc., if S_IRUSR isn't defined
-	* gst/gstsystemclock.c: fix include
-	* gst/gsttrace.c: (gst_trace_new), (gst_trace_text_flush): use
-	S_IREAD if S_IRUSR isn't defined.  fix use of non-portable functions
-	* gst/registries/gstxmlregistry.c:
-	(gst_xml_registry_parse_element_factory): fix use of non-portable
-	functions
-	* libs/gst/control/dparam.h: Remove trailing comma in enum definition
-	* libs/gst/control/dparammanager.h: same
-
-2004-04-28  David Schleef  <ds@schleef.org>
-
-	Move a bunch of unused files to old/ with names that are
-	not case-insensitive-unique.  These files still contain some
-	useful information that needs to be merged into gstbin.sgml,
-	etc., so they shouldn't be deleted yet.
-	* docs/gst/tmpl/GstBin.sgml:
-	* docs/gst/tmpl/GstBuffer.sgml:
-	* docs/gst/tmpl/GstCaps.sgml:
-	* docs/gst/tmpl/GstClock.sgml:
-	* docs/gst/tmpl/GstCompat.sgml:
-	* docs/gst/tmpl/GstData.sgml:
-	* docs/gst/tmpl/GstElement.sgml:
-	* docs/gst/tmpl/GstEvent.sgml:
-	* docs/gst/tmpl/GstIndex.sgml:
-	* docs/gst/tmpl/GstStructure.sgml:
-	* docs/gst/tmpl/GstTag.sgml:
-	* docs/gst/tmpl/old/GstBin.sgml:
-	* docs/gst/tmpl/old/GstBuffer.sgml:
-	* docs/gst/tmpl/old/GstCaps.sgml:
-	* docs/gst/tmpl/old/GstClock.sgml:
-	* docs/gst/tmpl/old/GstCompat.sgml:
-	* docs/gst/tmpl/old/GstData.sgml:
-	* docs/gst/tmpl/old/GstElement.sgml:
-	* docs/gst/tmpl/old/GstEvent.sgml:
-	* docs/gst/tmpl/old/GstIndex.sgml:
-	* docs/gst/tmpl/old/GstStructure.sgml:
-	* docs/gst/tmpl/old/GstTag.sgml:
-
-2004-04-28  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_copy), (gst_caps_free),
-	(gst_caps_append), (gst_caps_append_structure),
-	(gst_caps_get_size), (gst_caps_get_structure), (gst_caps_copy_1),
-	(gst_caps_set_simple), (gst_caps_set_simple_valist),
-	(gst_caps_is_any), (gst_caps_is_empty), (gst_caps_is_chained),
-	(gst_caps_is_fixed), (gst_caps_is_always_compatible),
-	(gst_caps_intersect), (gst_caps_normalize),
-	(gst_caps_transform_to_string):  Patch from Tim-Philipp Müller
-	to fix GST_CAPS() and GST_IS_CAPS(). (bug #141304)
-	* gst/gstcaps.h: use GST_IS_CAPS().
-
-2004-04-26  David Schleef  <ds@schleef.org>
-
-	* gst/gstcpu.c: (gst_cpuid_i386): Don't clobber ebx in inline
-	assembly.  gcc doesn't handle it correctly. (bug #141083)
-	* gst/gsttrashstack.h: same
-
-2004-04-25  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_change_state):
-	  fix assertion to do an int comparison
-
-2004-04-25  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
-	  better debugging output on error
-
-2004-04-25  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_subtract):
-	  fix memleak
-
-2004-04-23  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstvalue.c: (gst_value_compare_buffer),
-	(_gst_value_initialize):
-	  add comparison function for buffers
-
-2004-04-22  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/pwg.xml:
-	  Just found out that this so-called "ima-wav" format is really
-	  just "dvi adpcm" (according to the MS WAV documentation). So
-	  renaming it. We didn't use it yet anyway.
-
-2004-04-23  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_is_always_compatible):
-	  call gst_caps_is_subset
-
-2004-04-23  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_subtract), (gst_caps_is_equal), 
-	(gst_caps_is_subset):
-	  add documentation
-
-2004-04-23  Benjamin Otte  <otte@gnome.org>
-	  
-	* gst/gstcaps.c: (gst_caps_structure_subtract_field),
-	(gst_caps_structure_subtract), (gst_caps_subtract),
-	(gst_caps_structure_figure_out_union),
-	(gst_caps_structure_simplify), (gst_caps_do_simplify):
-	  fix simplifying and subtracting not working correctly with optional
-	  properties
-	  solve assorted problems that make it now simplify ebven more
-	* docs/gst/tmpl/gstcaps.sgml:
-	* gst/gstcaps.h:
-	  make gst_caps_do_simplify return a bool to indicate if it simplified
-	* testsuite/caps/simplify.c: (main):
-	  add more checks. The tests is quite a bit useless right now because
-	  the core is heavily simplifying itself.
-	* testsuite/caps/caps.h:
-	  fix caps to contain all optional properties
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	  update for recent API changes
-	* gst/gstcaps.c: (gst_caps_do_simplify):
-	  fix to stop trying with a freed structure
-	* gst/gstpad.c: (gst_pad_link_fixate):
-	  simplify caps
-	* gst/gstpad.c: (gst_pad_template_get_caps_by_name):
-	  remove C++ comment
-	* gst/gstpad.h:
-	  deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
-	* gst/gststructure.c: (gst_structure_value_get_generic_type),
-	(gst_structure_to_string):
-	  keep the correct type when using lists of ranges
-	* gst/gstvalue.c: (gst_value_list_prepend_value),
-	(gst_value_list_append_value):
-	  copy the value before adding to the list (d'oh)
-	* gst/gstvalue.c: (gst_value_subtract_int_range_int),
-	(gst_value_subtract_int_range_int_range):
-	  handle overflows correctly
-	* gst/gstvalue.c: (gst_value_subtract_from_list):
-	  fix memleak
-	* testsuite/caps/caps.h:
-	  add a caps that caused segfaults
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* testsuite/refcounting/pad.c: (main):
-	  fix test
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_subtract):
-	  allow subtracting ANY and EMPTY from ANY caps
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_append), (gst_caps_intersect),
-	(gst_caps_union):
-	  only simplify in functions that create new caps. Simplifying in
-	  gst_caps_append breaks tests.
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_structure_simplify):
-	  unset GValue after use
-	* gst/gstcaps.c: (gst_caps_append), 
-	* gst/gstpad.c: (gst_pad_link_fixate), (gst_pad_template_new):
-	  use gst_caps_simplify (reduces registry size by 30%)
-	* gst/gstpad.c: (gst_pad_template_new):
-	  don't allow NULL caps
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* docs/gst/gstreamer-sections.txt:
-	  add gst_caps_do_simplify
-	* gst/gstcaps.c:
-	  add documentation for gst_caps_do_simplify
-	* gst/gstvalue.h:
-	  fix typo in gst_value_register_subtract_func declaration for gst-doc
-
-2004-04-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_from_string_inplace):
-	  fix bug when converting from empty string.
-	* gst/gstcaps.c: (gst_caps_new_any), (gst_caps_new_simple),
-	(gst_caps_new_full_valist), (gst_caps_copy), (gst_caps_copy_1):
-	  use gst_caps_new_empty to allocate a new caps. Only that function
-	  allocates memory for caps now.
-	* gst/gstcaps.c: (gst_caps_remove_and_get_structure),
-	(gst_caps_remove_structure):
-	  add ability to remove one structure (but not to header yet)
-	* gst/gstcaps.c: (gst_caps_compare_structures),
-	(gst_caps_simplify), (gst_caps_structure_figure_out_union),
-	(gst_caps_structure_simplify), (gst_caps_do_simplify),
-	* gst/gstcaps.h:
-	  add gst_caps_do_simplify that tries to simplify a caps in place.
-	  Deprecate old gst_caps_simplify function.
-	* testsuite/caps/caps.h:
-	  add caps.h containing a common set of caps to test against.
-	* testsuite/caps/sets.c: (check_caps), (main):
-	  use it.
-	* testsuite/caps/.cvsignore:
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/simplify.c: (check_caps), (main):
-	  add test to check correctness and efficency of caps simplification.
-
-2004-04-22  Sebastien Cote <sc5@hermes.usherb.ca>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstparse.c: (_gst_parse_escape):
-	  Free the GString used in _gst_parse_escape()
-
-2004-04-21  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstpad.c: (gst_pad_link_negotiate):
-	  refuse to link if the link is not possible
-	* configure.ac:
-	* testsuite/Makefile.am:
-	* testsuite/negotiation/.cvsignore:
-	* testsuite/negotiation/Makefile.am:
-	* testsuite/negotiation/pad_link.c: (main):
-	  add test that checks the above behaviour
-
-2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-          add newly added API
-
-2004-04-21  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_init),
-	(gst_filesrc_get_mmap), (gst_filesrc_get_read), (gst_filesrc_get),
-	(gst_filesrc_open_file), (gst_filesrc_close_file),
-	(gst_filesrc_srcpad_query), (gst_filesrc_srcpad_event):
-	* gst/elements/gstfilesrc.h:
-          add support for non-regular files (#140734)
-
-2004-04-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_link_fixate):
-	  add sophisticated error checking code to see if fixation functions
-	  did their fixation right
-
-2004-04-21  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
-	  check for ANY caps before appending/unioning
-	* gst/gstcaps.c: (gst_caps_is_subset),
-	(gst_caps_is_equal), (gst_caps_structure_subtract_field),
-	(gst_caps_structure_subtract), (gst_caps_subtract):
-	* gst/gstcaps.h:
-	  add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
-	  the API. deprecate gst_caps_is_equal_fixed
-	* gst/gstpad.c: (gst_pad_try_set_caps):
-	* gst/gstqueue.c: (gst_queue_link):
-	  s/gst_caps_is_equal_fixed/gst_caps_is_equal/
-	* gst/gststructure.c: (gst_structure_get_name_id):
-	* gst/gststructure.h:
-	  add function gst_structure_get_name_id
-	* gst/gstvalue.c: (gst_value_subtract_int_int_range),
-	(gst_value_create_new_range), (gst_value_subtract_int_range_int),
-	(gst_value_subtract_int_range_int_range),
-	(gst_value_subtract_double_double_range),
-	(gst_value_subtract_double_range_double),
-	(gst_value_subtract_double_range_double_range),
-	(gst_value_subtract_from_list), (gst_value_subtract_list),
-	(gst_value_can_intersect), (gst_value_subtract),
-	(gst_value_can_subtract), (gst_value_register_subtract_func),
-	(_gst_value_initialize):
-	* gst/gstvalue.h:
-	  add support for subtracting values from each other. Note that
-	  subtracting means subtracting as in set theory. Required for caps
-	  stuff above.
-	* testsuite/caps/.cvsignore:
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/erathostenes.c: (erathostenes), (main):
-	* testsuite/caps/sets.c: (check_caps), (main):
-	* testsuite/caps/subtract.c: (check_caps), (main):
-	  add tests for subtraction and equality code.
-
-2004-04-20  David Schleef  <ds@schleef.org>
-
-	* gst/autoplug/Makefile.am:  Fix some little buglets in last checkin.
-	* gst/indexers/Makefile.am:
-	* gst/schedulers/Makefile.am:
-	* libs/gst/bytestream/Makefile.am:
-	* libs/gst/control/Makefile.am:
-	* libs/gst/getbits/Makefile.am:
-
-2004-04-20  David Schleef  <ds@schleef.org>
-
-	* common/as-libtool.mak: Fine-tune DLL building.
-	* configure.ac: Link plugins against libgstreamer.  Define plugindir
-	(like gst-plugins)
-	* examples/plugins/Makefile.am: remove plugindir
-	* gst/autoplug/Makefile.am: DLL building fixes
-	* gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
-	Windows.
-	* gst/elements/gstelements.c: Conditionally disable pipefilter.
-	* gst/indexers/Makefile.am: DLL building fixes
-	* gst/schedulers/Makefile.am: DLL building fixes.
-	* libs/gst/bytestream/Makefile.am: DLL building fixes.
-	* libs/gst/control/Makefile.am: same
-	* libs/gst/getbits/Makefile.am: same
-	* testsuite/Makefile.am: New dlopen directory
-	* testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
-	when dlopened.
-	* testsuite/dlopen/dlopen_gst.c: (main): same
-	* testsuite/dlopen/loadgst.c: (do_test): same
-
-2004-04-20  David Schleef  <ds@schleef.org>
-
-	* gst/parse/grammar.y:  Apply patch from Sebastien Cote
-	<sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
-
-2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_wait),
-	(gst_element_set_time_delay), (gst_element_change_state):
-          Use GST_TIME_*
-
-2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspider.c: (gst_spider_link_sometimes),
-	(gst_spider_identity_plug):
-	  improve debugging messages
-	* gst/gstbin.c: (gst_bin_remove_func):
-	  make sure the state_change function is only called with simple state
-	  transitions
-
-2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfakesink.c: (gst_fakesink_state_error_get_type),
-	(gst_fakesink_set_property), (gst_fakesink_chain):
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_set_property):
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_set_property):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
-	* gst/elements/gstidentity.c: (gst_identity_chain),
-	(gst_identity_set_property):
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_set_property):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_set_property):
-          add warnings to _set_property for unknown arguments
-          use GST_TIME_FORMAT/GST_TIME_ARGS for timestamp printing
-
-2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* docs/manuals.mak:
-          add .po file download snippet
-          fix a bug in the doc makefile
-
-2004-04-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* po/LINGUAS:
-	* po/en_GB.po:
-          Added en_GB translation (Gareth Owen)
-
-2004-04-20  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstpad.c (_invent_event): Clean up
-
-2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* testsuite/caps/filtercaps.c: (main):
-	  fix test to test things correctly (caps are complicated)
-
-2004-04-20  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/filtercaps.c: (main):
-	  add test (that doesn't work right now, but should)
-
-2004-04-19  David Schleef  <ds@schleef.org>
-
-	* configure.ac: Add test for allowing unaligned access.  Add define
-	to put in gstconfig.h.
-	* docs/gst/gstreamer-sections.txt: New symbols
-	* docs/gst/tmpl/gstcompat.sgml: Check in changes made by gtkdoc
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstparse.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* gst/gstconfig.h.in: Add GST_HAVE_UNALIGNED_ACCESS
-	* gst/gstutils.h: Add macros for unaligned memory access.  Useful
-	on most !i386/!powerpc architectures.  From Daniel Gazard
-	<daniel.gazard@free.fr>.  (bug #140156)
-	* po/af.po: Check in changes made by gettext.
-	* po/az.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sr.po:
-	* po/sv.po:
-
-2004-04-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c: 
-	(gst_entry_scheduler_yield):
-	  refuse to yield when decoupled elements insist on doing that.
-	  At least it's better than crashing
-
-2004-04-19  David Schleef  <ds@schleef.org>
-
-	* docs/libs/Makefile.am: Change sinclude to include
-	* docs/gst/Makefile.am: same
-	* pkgconfig/Makefile.am:  Remove GNU-ism from makefile target
-
-2004-04-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/uk.po:
-          Added Ukrainian translation (Maxim V. Dziumanenko)
-
-2004-04-19  Johan Dahlin  <johan@gnome.org>
-
-	* gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
-	checking here, do it before calling the function.
-	Clean up, use for loops instead of while loops while iterating
-	over lists.
-
-	* gst/autoplug/gstspider.c (gst_spider_request_new_pad): Fix typo
-	in debug message.
-	(gst_spider_create_and_plug): Improve debug message.
-	General: Replace while loops which iterates over GLists with for
-	loops. Which are much cleaner, improves readability, especially
-	for gst_spider_identity_plug
-
-	* gst/gstpad.c (_invent_event): Fix parameters to warning macros,
-	fixes bug 140477
-
-2004-04-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/tr.po:
-          Added Turkish translation (Baris Cicek)
-
-2004-04-18  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/faq/troubleshooting.xml:
-	  Mention gst-register in the FAQ (fixes 139045).
-
-2004-04-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-
-2004-04-17  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_dispose):
-	  simplify
-	* gst/gstpad.c: (gst_pad_call_chain_function):
-	  don't create loads of events due to bad macro usage
-
-2004-04-16  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
-	* gst/gstpad.c: (_gst_pad_default_fixate_foreach):
-	* gst/gstvalue.c: (gst_value_serialize_buffer),
-	(gst_value_deserialize_buffer), (gst_type_is_fixed),
-	(_gst_value_initialize): Create a new function gst_type_is_fixed()
-	to indicate types that are fixed wrt caps or not.  Switching to
-	this function fixes (bug #140298).
-	* gst/gstvalue.h:
-
-2004-04-16  David Schleef  <ds@schleef.org>
-
-	* common/m4/gst-arch.m4:  Implmenent a whitelist and blacklist
-	for GST_UNALIGNED_ACESS, since we essentially know which archs
-	are ok.
-
-2004-04-17  Benjamin Otte  <otte@gnome.org>
-
-	* docs/gst/Makefile.am:
-	  ignore gst/parse directory when building docs (fixes #140205)
-
-2004-04-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/refcounting/mem.c: (vmsize):
-          do error checking
-
-2004-04-16  Johan Dahlin  <johan@gnome.org>
-
-	* docs/gst/gstreamer-sections.txt: Add gst_pad_call_chain_function
-	and gst_pad_call_get_function.
-
-2004-04-15  David Schleef  <ds@schleef.org>
-
-	* common/m4/gst-arch.m4: Add GST_UNALIGNED_ACCESS() macro that
-	checks if we can access unaligned memory.
-	* configure.ac: Use it.
-
-2004-04-16  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
-	(gst_filesrc_change_state), (gst_filesrc_srcpad_event):
-	* gst/elements/gstfilesrc.h:
-	  s/seek_happened/need_discont/ and require discont before sending any
-	  data
-
-2004-04-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.c: (gst_value_serialize_buffer),
-	(gst_value_deserialize_buffer), (_gst_value_initialize):
-	Register these types as fundamental types. (bug #140015)
-
-2004-04-16  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_new),
-	(gst_pad_link_free), (gst_pad_link_try), (_invent_event),
-	(gst_pad_pull):
-	  implement enforcing discont events before buffers are passed. This
-	  allows state changes of only some elements and later correctly going
-	  on where they left off (or in short: you can now set audio sinks to
-	  NULL to release the device when the pipeline is paused)
-	* gst/gstpad.c: (gst_pad_call_chain_function),
-	(gst_pad_call_get_function):
-	* gst/gstpad.h:
-	  add gst_pad_call_chain_function and gst_pad_call_get_function for
-	  scheduler interaction. They are required because of the changes
-	  above.
-	* gst/schedulers/entryscheduler.c: (get_buffer),
-	(gst_entry_scheduler_chain_wrapper),
-	(gst_entry_scheduler_get_wrapper),
-	(gst_entry_scheduler_state_transition),
-	(gst_entry_scheduler_pad_link):
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_chain_wrapper),
-	(gst_basic_scheduler_src_wrapper),
-	(gst_basic_scheduler_chainhandler_proxy),
-	(gst_basic_scheduler_gethandler_proxy),
-	(gst_basic_scheduler_cothreaded_chain),
-	(gst_basic_scheduler_chain_elements):
-	* gst/schedulers/gstoptimalscheduler.c:
-	(get_group_schedule_function), (pad_clear_queued),
-	(gst_opt_scheduler_pad_link):
-	  use the new functions instead of calling get/chain-functions
-	  directly.
-
-2004-04-15  David Schleef  <ds@schleef.org>
-
-	* docs/gst/gstreamer-sections.txt: Remove deprecated symbols.
-	* docs/gst/tmpl/gstinfo.sgml: same
-	* docs/gst/tmpl/gstutils.sgml: Remove a bunch of bogus crap that
-	gtk-doc put here.
-	* gst/gstutils.h: Remove the \ that was confusing gtk-doc.
-	* examples/queue/queue.c: (main):  We iterate pipelines, not
-	bins.  (bug #139996)
-
-2004-04-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Add MS RLE support. Also document Qt RLE although I have no sample
-	  files for that yet. And document an extra property for ADPCM.
-
-2004-04-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
-	(_gst_plugin_fault_handler_setup):  Disable more stuff on
-	Windows.
-
-2004-04-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstinfo.c: (_gst_debug_init): Change some internal
-	symbol names to not conflict with new gstinfo.h symbols.
-	* gst/gstinfo.h: Add inline functions for all those crazy
-	compilers that don't know how to handle variadic macros (MSVC).
-
-2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: bump nano to 1
-
-=== release 0.8.1 ===
-
-2004-04-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-          releasing 0.8.1, "Snow Brigade"
-
-2004-04-14  David Schleef  <ds@schleef.org>
-
-	* testsuite/Makefile.am: define tests_ignore
-	* testsuite/Rules: Added new tests_ignore, which get compiled,
-	but not run (generally because they're inconsistent or have
-	heisenbugs).  Now we can ensure all the .c files compile in
-	testsuite/.
-	* testsuite/bins/Makefile.am: define tests_ignore
-	* testsuite/bytestream/Makefile.am:
-	* testsuite/caps/Makefile.am:
-	* testsuite/clock/Makefile.am:
-	* testsuite/debug/Makefile.am:
-	* testsuite/debug/global.c: (gst_debug_log_one),
-	(gst_debug_log_two): Fix compilation problem.
-	* testsuite/dynparams/Makefile.am:
-	* testsuite/elements/Makefile.am:
-	* testsuite/ghostpads/Makefile.am:
-	* testsuite/indexers/Makefile.am:
-	* testsuite/parse/Makefile.am:
-	* testsuite/plugin/Makefile.am:
-	* testsuite/refcounting/Makefile.am:
-	* testsuite/refcounting/element_pad.c: (main): Don't return leak
-	results, because it's not calculated correctly.
-	* testsuite/refcounting/pad.c: (main): same
-	* testsuite/states/Makefile.am:
-	* testsuite/tags/Makefile.am:
-	* testsuite/threads/Makefile.am:
-
-2004-04-14  David Schleef  <ds@schleef.org>
-
-	* gst/gstcpu.c: (gst_cpuid_i386): Add workaround for gcc-3.2
-	generating bad code around the cpu detection asm code.
-
-2004-04-14  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/gst-inspect.c: (print_element_info):
-          print numeric version of rank as well, since we added some - 1
-          rank values to elements
-
-2004-04-13  David Schleef  <ds@schleef.org>
-
-	* configure.ac:  Disable various code when compiling for MinGW.
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
-	* gst/registries/gstxmlregistry.c: (make_dir):
-
-2004-04-13  David Schleef  <ds@schleef.org>
-
-	* gst/Makefile.am:
-	* gst/gstcpu.c: (gst_cpuid_i386): Convert asm source into inline
-	assembly.
-	* gst/gstcpuid_i386.s: remove
-
-2004-04-13  David Schleef  <ds@schleef.org>
-
-	* docs/gst/tmpl/gstaggregator.sgml: Random checkin because gtk-doc
-	seems to think it needs to be done.
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfdsink.sgml:
-	* docs/gst/tmpl/gstfdsrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstidentity.sgml:
-	* docs/gst/tmpl/gstmd5sink.sgml:
-	* docs/gst/tmpl/gstmultifilesrc.sgml:
-	* docs/gst/tmpl/gstpipefilter.sgml:
-	* docs/gst/tmpl/gstshaper.sgml:
-	* docs/gst/tmpl/gstspider.sgml:
-	* docs/gst/tmpl/gstspideridentity.sgml:
-	* docs/gst/tmpl/gststatistics.sgml:
-	* docs/gst/tmpl/gsttee.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-
-2004-04-13  David Schleef  <ds@schleef.org>
-
-	* configure.ac: Changes to remove POSIXisms (mmap in this case)
-	and to build DLLs on Windows.
-	* gst/Makefile.am:
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get),
-	(gst_filesrc_open_file):
-	* gst/schedulers/Makefile.am:
-
-2004-04-13  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_structure_fixate_field_nearest_int),
-	(gst_caps_structure_fixate_field_nearest_double):  Fix bug in
-	fixating lists.
-
-2004-04-12  David Schleef  <ds@schleef.org>
-
-	* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
-	(gst_buffer_free_chunk): Added gst_buffer_get_type() and changed
-	to using it.
-	* gst/gstbuffer.h: Changed GST_BUFFER_TYPE to gst_buffer_get_type()
-	* gst/gstcaps.c: (gst_caps_is_fixed_foreach): Buffer is a fixed type
-	* gst/gstpad.c: (_gst_pad_default_fixate_foreach): same
-	* gst/gststructure.c: (gst_structure_set_valist),
-	(gst_structure_from_abbr), (gst_structure_to_abbr): Add vararg
-	support for buffers.
-	* gst/gsttag.c: (gst_tag_register): Constify a prototype that was
-	intended to be const.
-	* gst/gsttag.h: same
-	* gst/gstvalue.c: (gst_value_serialize_buffer),
-	(gst_value_deserialize_buffer), (_gst_value_initialize):  Add code
-	to (de)serialize buffers.
-	* testsuite/caps/Makefile.am:  Add a bit of buffer testing
-	* testsuite/caps/string-conversions.c: (main):
-	* testsuite/caps/value_serialize.c: add new test
-
-2004-04-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Document MS video 1 (video/x-msvideocodec) mimetype/format.
-
-2004-04-11  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gstbasicscheduler.c: (plugin_init):
-	  rename categories to basic_*
-	* gst/schedulers/gstbasicscheduler.c: 
-	(gst_basic_scheduler_chain_wrapper),
-	(gst_basic_scheduler_chainhandler_proxy),
-	(gst_basic_scheduler_gethandler_proxy),
-	(gst_basic_scheduler_eventhandler_proxy):
-	  debugging category fixes - put common stuff in log category
-	* gst/schedulers/gstbasicscheduler.c: 
-	(gst_basic_scheduler_chain_elements):
-	  dirty fix: call gst_basic_scheduler_cothreaded_chain when already
-	  active and linking two active chains
-
-2004-04-10  Benjamin Otte  <otte@gnome.org>
-
-	* docs/pwg/intro-preface.xml:
-	  fix dead links and remove reference to Wiki
-
-2004-04-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/schedulers/gstbasicscheduler.c:
-	  make sure we can switch back to the main function if we're still in
-	  the main function (supposed to fix #139617)
-	* gst/schedulers/gthread-cothreads.h:
-	  don't throw an error when switching to the same cothread
-
-2004-04-09  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstbin.c: (gst_bin_get_type):
-	* gst/gstclock.c: (gst_clock_get_type):
-	* gst/gstindex.c: (gst_index_get_type):
-	* gst/gstobject.c: (gst_object_get_type),
-	(gst_signal_object_get_type):
-	* gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
-	(gst_pad_template_get_type), (gst_ghost_pad_get_type):
-	* gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
-	* gst/gstqueue.c: (gst_queue_get_type):
-	* gst/gstregistry.c: (gst_registry_get_type):
-	* gst/gstsystemclock.c: (gst_system_clock_get_type):
-	* gst/gstthread.c: (gst_thread_get_type):
-	  don't use memchunks for these objects, use malloc instead
-
-2004-04-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/.cvsignore:
-	* docs/gst/Makefile.am:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstaggregator.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfdsink.sgml:
-	* docs/gst/tmpl/gstfdsrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilesrc.sgml:
-	* docs/gst/tmpl/gstidentity.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstmd5sink.sgml:
-	* docs/gst/tmpl/gstmultifilesrc.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpipefilter.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstqueue.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstscheduler.sgml:
-	* docs/gst/tmpl/gstshaper.sgml:
-	* docs/gst/tmpl/gstspider.sgml:
-	* docs/gst/tmpl/gstspideridentity.sgml:
-	* docs/gst/tmpl/gststatistics.sgml:
-	* docs/gst/tmpl/gstsystemclock.sgml:
-	* docs/gst/tmpl/gsttee.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-          further doc build fixes
-
-2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/Makefile.am:
-          make docs exit on scanning problems
-          fix nonsrcdir build issues
-	* docs/gst/gstreamer-sections.txt:
-          adding stuff from -unused
-	* gst/gstqueue.h:
-          create GstQueueSize
-	* gst/schedulers/cothreads_compat.h:
-          fix cothread warnings
-
-2004-04-07  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-          remove defines deprecated by Benjamin
-
-2004-04-07  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
-	  when the buffer is complete, don't check if other buffers are needed
-	* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
-	  check that the offset is >0 so we don't try to read before the
-	  beginning of the file
-	* gst/gstpad.c: (gst_pad_set_pad_template):
-	  sink the template, so we don't end up with 130k pad templates
-
-2004-04-06  Benjamin Otte  <otte@gnome.org>
-
-	* gst/autoplug/gstspider.c: (gst_spider_link_add):
-	  don't ref the element, adding already reffed it. And we didn't unref
-	  it later anyway... (huge memleak when you used many spider elements)
-	* gst/gstelement.c: (gst_element_base_class_finalize):
-	* gst/gstelementfactory.c: (gst_element_factory_cleanup),
-	(gst_element_register):
-	* gst/gsturi.c: (gst_element_make_from_uri):
-	  use gst_object_(un)ref instead of g_object(un)ref
-
-2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstbuffer.h:
-	  remove macro that wouldn't work anymore because struct member has
-	  been removed.
-	* gst/schedulers/entryscheduler.c: (schedule_forward):
-	  fix segfault for unconnected pads
-	
-2004-04-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	reviewed by David Schleef <ds@schleef.org>
-
-	* gst/gstinfo.h:
-	  *_FORMAT modifiers should require putting a % in front of them for
-	  consistency reasons.
-
-2004-04-05  Colin Walters  <walters@redhat.com>
-
-	* configure.ac (VALGRIND_CFLAGS, VALGRIND_LIBS): Remove spurious
-	space.
-
-2004-04-05  Benjamin Otte  <otte@gnome.org>
-
-	* configure.ac:
-	* gst/Makefile.am:
-	* gst/gst_private.h:
-	* gst/gstinfo.c: (__gst_in_valgrind), (_gst_debug_init):
-	  add support for detecting if GStreamer runs inside valgrind.
-	  requires valgrind (d'oh) and --enable-debug for correct cdetection.
-	  print a big message in valgrind that GStreamer has detected it's
-	  running inside and might now use different code.
-	* gst/gstmemchunk.c: (populate), (free_area),
-	(gst_mem_chunk_destroy), (gst_mem_chunk_alloc),
-	(gst_mem_chunk_free):
-	  flag memchunks for valgrind, so it can detect leaking of chunks.
-	  This allows detecting leaks of GstBuffer and GstEvent correctly
-	  inside valgrind.
-
-2004-04-05  David Schleef  <ds@schleef.org>
-
-	* gst/gsttrace.h:  Fix #ifdef nesting (bug #139109) Patch from
-	  jensgr@gmx.net (Jens Granseuer)
-
-2004-04-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstbuffer.c: (_gst_buffer_sub_free),
-	(gst_buffer_default_free), (gst_buffer_default_copy),
-	(gst_buffer_alloc_chunk), (gst_buffer_free_chunk),
-	(gst_buffer_new), (gst_buffer_create_sub):  Allocate GstBuffer
-	structures in one place.
-
-2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstinfo.h: adding Ronald's timestamp debugging defines
-          (GST_TIME_FORMAT, GST_TIME_ARGS)
-
-2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/elements/Makefile.am:
-          disable test until it stops breaking make distcheck
-
-2004-04-05  Johan Dahlin  <johan@gnome.org>
-
-	* po/sv.po: Updated translation
-
-2004-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstplugin.c: (gst_plugin_load_file):
-          fix segfault for when original plugin was loaded statically
-
-2004-04-05  Benjamin Otte  <otte@gnome.org>
-
-	* testsuite/debug/category.c: (main):
-	* testsuite/debug/commandline.c: (main):
-	* testsuite/debug/output.c: (main):
-	  fix tests to work again with debugging enabled
-
-2004-04-05  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_pad_link):
-	  fix to work with recent scheduling changes
-
-2004-04-05  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c: (some functions, dunno which,
-	prepareChangeLog doesn't work when cvs indents):
-	  don't throw an error when no element can be scheduled, there's too
-	  many weird reasons why it doesn't work. Return STOPPED instead.
-	  decoupled elemts' schedulability doesn't depend on bufpens.
-
-2004-04-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_pad_select):
-	  fix uninitialized variable warnings
-
-2004-04-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_collect_valist):
-	  fix uninitialized variable warning
-	* gst/schedulers/entryscheduler.c: (schedule_forward):
-	  fix shadowed variable
-
-2004-04-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
-	(gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
-	(gst_pad_select):
-	* gst/gstpad.h:
-	* gst/gstscheduler.c: (gst_scheduler_pad_select),
-	(gst_scheduler_lock_element), (gst_scheduler_unlock_element):
-	* gst/gstscheduler.h:
-	  implement gst_pad_collect as replacement for gst_pad_select.
-	  deprecate gst_pad_select and gst_scheduler_(un)lock_element
-	  add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
-	  new pad_select, lock and unlock calls.
-	* gst/cothreads.c: (cothread_destroy), (cothread_switch):
-	* gst/cothreads.h:
-	* gst/schedulers/cothreads_compat.h:
-	* gst/schedulers/gthread-cothreads.h:
-	  remove unused cothread_lock and cothread_unlock calls
-	* gst/schedulers/entryscheduler.c:
-	(gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
-	(_can_schedule_loop), (gst_entry_scheduler_get_handler),
-	(gst_entry_scheduler_pad_select):
-	  update to new API
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
-	(gst_basic_scheduler_pad_select):
-	  remove useless lock and unlock calls, update pad_select to new API
-	  (untested)
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_class_init):
-	  remove useless select, lock and unlock function calls
-	* gst/elements/gstaggregator.c: (gst_aggregator_loop):
-	  use gst_pad_collect instead of gst_pad_select
-
-2004-04-04  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c: (_can_schedule_get),
-	(can_schedule_pad), (can_schedule), (schedule), (schedule_forward),
-	(schedule_next_element), (print_entry):
-	  add can_schedule_pad to handle element states.
-	  add schedule_forward to select the correct entry to schedule next
-
-2004-04-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c: 
-	  remove unused variable, fix error inside Rb, fix compile warning in
-	  unreachable code
-
-2004-04-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/entryscheduler.c:
-	  completely revamp the inner workings, so it's a lot easier to
-	  understand and extend
-
-2004-04-03  Andy Wingo  <wingo@pobox.com>
-
-	* gst/schedulers/gstoptimalscheduler.c (GstOptSchedulerGroupLink):
-	Rename ->group1 and ->group2 to ->src and ->sink, respectively.
-	This allows better introspection of pipeline topology.
-	(add_to_chain): Don't do trickery to put loop elements first;
-	rather, queue a chain sort by marking the chain as dirty.
-	(remove_from_chain): Mark the chain dirty.
-	(sort_chain): New function. Sorts the group list so that terminal
-	sinks are first. This means elements on the sink side will be
-	preferentially sscheduled before elements on the src side of the
-	pipeline.
-	(chain_recursively_migrate_group): Use OTHER_GROUP_LINK.
-	(schedule_chain): If the chain is marked DIRTY, call sort_chain.
-	(gst_opt_scheduler_pad_link, gst_opt_scheduler_pad_unlink)
-	(group_inc_link): Change argument and variable names to match the
-	new link structure member names (src and sink).
-	(group_dec_link): Add some description
-
-2004-04-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/autoplug/gstspider.c: (gst_spider_identity_plug):
-	* gst/gstinfo.h:
-	* testsuite/debug/category.c: (main):
-	* testsuite/debug/commandline.c: (main):
-	* testsuite/debug/output.c: (main):
-	* testsuite/debug/printf_extension.c: (main):
-	  fix to successfully build and test with --disable-gst-debug
-	  configure switch (fixes #138705)
-
-2004-04-03  Benjamin Otte  <otte@gnome.org>
-
-	* docs/pwg/building-boiler.xml:
-	  add cvs login line and s/anonymous/anoncvs/
-
-2004-04-03  Tim-Phillip Müller  <t.i.m@zen.co.uk>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/gststructure.c: (gst_structure_free):
-	  memleak fix: free fields array (partial fix for #134839)
-
-2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/ds/0.9-suggested-changes:
-	  Add a note to change handoff use in fakesrc to be usable in
-	  a more generic way (fakesrc should be renamed to appsrc or so).
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
-	  Change signal type to scope, so we can fill the buffer in the
-	  handoff handler (that's the whole use of this signal...).
-
-2004-04-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/other-ntoone.xml:
-	  Document muxers and n-to-1 elements.
-
-2004-04-01  Martin Soto  <martinsoto@users.sourceforge.net>
-
-	* gst/registries/gstxmlregistry.c
-	(gst_xml_registry_rebuild_recurse): Fix the algorithm to
-	determine if a file is a G_MODULE. The old one discards paths
-	containing "so" somewhere in the middle. My home directory is
-	called "soto". Go figure...
-
-2004-03-31  David Schleef  <ds@schleef.org>
-
-	* gst/gstbuffer.c: (gst_buffer_join):  Add function gst_buffer_join()
-	to eventually deprecate gst_buffer_merge().  (bug: #136408)
-	* gst/gstbuffer.h:
-
-2004-03-31  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.c: (gst_value_union_int_int_range),
-	(gst_value_union_int_range_int_range), (gst_value_can_union),
-	(gst_value_union), (_gst_value_initialize):  Add some union
-	implementations.  We didn't have any previously.
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/audioscale.c: (gst_audioscale_expand_value),
-	(gst_audioscale_getcaps), (test_caps), (main): A little test
-	that is the same as the caps manipulation in audioscale.
-
-2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/faq/general.xml:
-	  add entry about "does gst support format X?"
-
-2004-03-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstthread.c:
-	  fix docs
-	* gst/gstutils.h:
-	  fix GST_BOILERPLATE_FULL to not throw casting errors on C++
-
-2004-03-30  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
-	  set the offset of the buffer to the requested offset
-	* gst/elements/gsttypefind.c: (stop_typefinding):
-	  revert patch 1.18 (which I unfortunately don't know the reason for).
-	  This is needed to allow downstream elements to seek. Otherwise
-	  typefind might overwrite a previous seek by downstream elements.
-	  This lead to errors with id3tag and typefind on some mp3s.
-	* gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
-	(gst_entry_scheduler_iterate):
-	  be more verbose when debugging
-
-2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstcaps.c: (gst_caps_from_string_inplace):
-          make sure we don't get NULL strings
-
-2004-03-30  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstcaps.c:
-	* gst/gstelement.c:
-	* gst/gstelementfactory.c: (gst_element_factory_get_type):
-	* gst/gstindex.c: (gst_index_resolver_get_type),
-	(gst_index_get_type), (gst_index_factory_get_type):
-	* gst/gstinfo.c:
-	* gst/gstpad.c:
-	* gst/gstplugin.c:
-	* gst/gsturi.c: (gst_uri_handler_get_type):
-	* gst/gstvalue.c:
-          first batch of documentation fixes
-
-2004-03-29  David Schleef  <ds@schleef.org>
-
-	* docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
-	* docs/gst/gstreamer-docs.sgml:  More hacking
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/cothreads_compat.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/gst/tmpl/gthread-cothreads.sgml:
-	* docs/random/ds/0.9-suggested-changes:
-	* gst/elements/gstfakesink.h: doc fixes
-	* gst/elements/gstfakesrc.h: doc fixes
-	* gst/gstcaps.c: doc fixes
-	* gst/gstcaps.h: doc fixes
-	* gst/gstelement.c: doc fixes
-	* gst/gstelement.h: doc fixes
-	* gst/gstindex.c: doc fixes
-	* gst/gstinfo.c: doc fixes
-	* gst/gstpad.c: doc fixes
-	* gst/gstpad.h: doc fixes
-	* gst/gstplugin.c: doc fixes
-	* gst/gsttypefind.h: doc fixes
-	* gst/gsturi.c: doc fixes
-	* gst/gstvalue.c: doc fixes
-
-2004-03-29  Colin Walters  <walters@redhat.com>
-
-	* gst/registries/gstxmlregistry.c (get_time)
-	(plugin_times_older_than_recurse):
-	Use the result of stat to determine whether a path is a file,
-	so we don't attempt to opendir() files.
-
-2004-03-29  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c: (gst_pad_set_explicit_caps):
-	  print caps in debugging output when setting caps failed
-	* gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
-	(schedule_next_element), (get_buffer), (run_chainhandler),
-	(element_may_start), (gst_entry_scheduler_chain_handler),
-	(gst_entry_scheduler_get_handler),
-	(gst_entry_scheduler_state_transition),
-	(gst_entry_scheduler_pad_link):
-	  make this scheduler a testcase for mandatory
-	  discont-before-first-buffer which is needed if we want to allow apps
-	  to release the sound device.
-	  add SCHED_ASSERT macro to print scheduler state before an assertion
-	  triggers.
-
-2004-03-29  Benjamin Otte  <otte@gnome.org>
-
-	* COPYING:
-	  replace by LGPL (former COPYING.LIB). The core is completely
-	  licensed LGPL.
-	* COPYING.LIB:
-	  remove
-
-2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/af.po:
-	* po/sv.po:
-          updated Afrikaans and Swedish
-
-2004-03-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/az.po:
-          adding Azerbaijani (M??tin ??mirov)
-
-2004-03-28  Martin Soto  <martinsoto@users.sourceforge.net>
-
-	* gst/gstelement.h: 
-	* gst/gstelement.c (gst_element_set_time_delay): New function for
-	setting element time taking into account a hardware buffering
-	delay.
-	(gst_element_set_time): Now just an invocation of
-	gst_element_set_time_delay.
-	* gst/gstclock.h: 
-	* gst/gstclock.c (gst_clock_get_event_time_delay): New function
-	allowing to set event times in the future.
-	(gst_clock_get_event_time): Now just an invocation of
-	gst_clock_get_event_time_delay.
-
-2004-03-28  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstbin.c: (gst_bin_set_element_sched),
-	(gst_bin_unset_element_sched):
-	  don't add decoupled elements to schedulers - otherwise it's
-	  impossible to control if a link to a decoupled element was already
-	  removed from a scheduler or not.
-	* gst/schedulers/cothreads_compat.h:
-	* gst/schedulers/gthread-cothreads.h:
-	  add COTHREADS_TYPE macro. Make do_cothread_set_func a macro so there
-	  is no "unused" warning.
-	* gst/schedulers/Makefile.am:
-	* gst/schedulers/entryscheduler.c:
-	  add new scheduler, based on ideas from talking to David and Martin.
-	  It's supposed to be small and correct. Currently it's also slow (but
-	  it's not noticable)
-	* examples/retag/retag.c: (main):
-	* testsuite/bytestream/test1.c: (main):
-	  fix missing NULLs at end of variadic functions
-	* testsuite/elements/.cvsignore:
-	  update
-
-2004-03-28  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* gst/gstevent.h:
-	Added GST_EVENT_ANY for GstEvents that pass a GstStructure
-
-2004-03-25  David Schleef  <ds@schleef.org>
-
-	* docs/gst/gstreamer-sections.txt:  More doc hacking.
-	* docs/gst/tmpl/gstaggregator.sgml:
-	* docs/gst/tmpl/gstautoplugfactory.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstbufferstore.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstmd5sink.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstsearchfuncs.sgml:
-	* docs/gst/tmpl/gstshaper.sgml:
-	* docs/gst/tmpl/gstspider.sgml:
-	* docs/gst/tmpl/gsttee.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
-	and we don't support it.
-	* gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
-	(gst_use_threads), (gst_has_threads): same
-	* gst/gstthreaddummy.c: same
-	* gst/autoplug/gstspider.c: Make gst_spider_details static.
-	* gst/autoplug/gstspider.h: same
-	* gst/elements/gstaggregator.h: Remove bogus function from header
-	* gst/elements/gstfakesink.h: same
-	* gst/elements/gstfakesrc.h: same
-	* gst/elements/gstmd5sink.h: same
-	* gst/elements/gstshaper.h: same
-	* gst/elements/gsttee.h: same
-	* gst/gstbin.c: doc fixes
-	* gst/gstbin.h: Remove unused definition.
-	* gst/gstbuffer.c: doc fixes
-	* gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
-	* gst/gstfilter.c: doc fixes
-	* gst/gsttag.c: doc fixes
-	* gst/gstvalue.c: doc fixes
-
-2004-03-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Document typefinding.
-	* docs/pwg/other-oneton.xml:
-	  Document one-to-n elements, demuxers and parsers.
-
-2004-03-25  Tim-Philipp Müller <t.i.m@zen.co.uk>
-
-	reviewed by: David Schleef  <ds@schleef.org>
-
-	* configure.ac: Check bison version (bug #127838)
-
-2004-03-25  David Schleef  <ds@schleef.org>
-
-	* docs/gst/gstreamer-docs.sgml: More fine tuning.
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstautoplug.sgml:
-	* docs/gst/tmpl/gststaticautoplug.sgml:
-	* docs/gst/tmpl/gststaticautoplugrender.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-
-2004-03-24  David Schleef  <ds@schleef.org>
-
-	* docs/gst/gstreamer-docs.sgml:  I got tired of the reference
-	manual being such complete crap, that I decided to do major
-	hacking of it.  This checkin replaces any fine tuning that
-	may have been done previously, with the benefit of actually
-	being complete for much of the API that was changed since
-	0.6.  Further fine tuning will occur shortly.  (bug #134721)
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/GstBin.sgml:
-	* docs/gst/tmpl/GstBuffer.sgml:
-	* docs/gst/tmpl/GstCaps.sgml:
-	* docs/gst/tmpl/GstClock.sgml:
-	* docs/gst/tmpl/GstCompat.sgml:
-	* docs/gst/tmpl/GstData.sgml:
-	* docs/gst/tmpl/GstElement.sgml:
-	* docs/gst/tmpl/GstEvent.sgml:
-	* docs/gst/tmpl/GstIndex.sgml:
-	* docs/gst/tmpl/GstStructure.sgml:
-	* docs/gst/tmpl/GstTag.sgml:
-	* docs/gst/tmpl/cothreads.sgml:
-	* docs/gst/tmpl/cothreads_compat.sgml:
-	* docs/gst/tmpl/gettext.sgml:
-	* docs/gst/tmpl/grammar.tab.sgml:
-	* docs/gst/tmpl/gst-i18n-app.sgml:
-	* docs/gst/tmpl/gst-i18n-lib.sgml:
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gst_private.sgml:
-	* docs/gst/tmpl/gstaggregator.sgml:
-	* docs/gst/tmpl/gstarch.sgml:
-	* docs/gst/tmpl/gstatomic.sgml:
-	* docs/gst/tmpl/gstatomic_impl.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstbufferstore.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstcompat.sgml:
-	* docs/gst/tmpl/gstconfig.sgml:
-	* docs/gst/tmpl/gstcpu.sgml:
-	* docs/gst/tmpl/gstdata.sgml:
-	* docs/gst/tmpl/gstdata_private.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstenumtypes.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstevent.sgml:
-	* docs/gst/tmpl/gstfakesink.sgml:
-	* docs/gst/tmpl/gstfakesrc.sgml:
-	* docs/gst/tmpl/gstfilesink.sgml:
-	* docs/gst/tmpl/gstfilter.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstinfo.sgml:
-	* docs/gst/tmpl/gstinterface.sgml:
-	* docs/gst/tmpl/gstlog.sgml:
-	* docs/gst/tmpl/gstmacros.sgml:
-	* docs/gst/tmpl/gstmarshal.sgml:
-	* docs/gst/tmpl/gstmd5sink.sgml:
-	* docs/gst/tmpl/gstmultifilesrc.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstparse.sgml:
-	* docs/gst/tmpl/gstpipeline.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstpluginfeature.sgml:
-	* docs/gst/tmpl/gstqueue.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstregistry.sgml:
-	* docs/gst/tmpl/gstregistrypool.sgml:
-	* docs/gst/tmpl/gstscheduler.sgml:
-	* docs/gst/tmpl/gstsearchfuncs.sgml:
-	* docs/gst/tmpl/gstshaper.sgml:
-	* docs/gst/tmpl/gstspider.sgml:
-	* docs/gst/tmpl/gstspideridentity.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gstsystemclock.sgml:
-	* docs/gst/tmpl/gsttag.sgml:
-	* docs/gst/tmpl/gsttaginterface.sgml:
-	* docs/gst/tmpl/gsttee.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	* docs/gst/tmpl/gsttrace.sgml:
-	* docs/gst/tmpl/gsttrashstack.sgml:
-	* docs/gst/tmpl/gsttypefind.sgml:
-	* docs/gst/tmpl/gsttypes.sgml:
-	* docs/gst/tmpl/gsturi.sgml:
-	* docs/gst/tmpl/gsturitype.sgml:
-	* docs/gst/tmpl/gstutils.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	* docs/gst/tmpl/gstversion.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/gst/tmpl/gstxmlregistry.sgml:
-	* docs/gst/tmpl/gthread-cothreads.sgml:
-	* docs/gst/tmpl/types.sgml:
-
-2004-03-24  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/other-sink.xml:
-	* docs/pwg/other-source.xml:
-	  Documentation on how to write source and sink elements. Other
-	  stuff in chapter 4 (1-to-n/demuxer, n-to-1/muxer, n-to-n,
-	  manager, autoplugger) are all still pending.
-
-2004-03-25  Benjamin Otte  <otte@gnome.org>
-
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/gst-compprep-check:
-	  add check to make sure gst-compprep works
-	* testsuite/elements/gst-inspect-check.in:
-	  improve initialization output
-	* testsuite/Makefile.am:
-	* testsuite/gst-inspect-check:
-	  remove old file
-
-2004-03-24  David Schleef  <ds@schleef.org>
-
-	* testsuite/elements/Makefile.am:
-	* testsuite/elements/gst-inspect-check.in: Add gst-inspect-check
-	to the testsuite.
-
-2004-03-24  Benjamin Otte  <otte@gnome.org>
-
-	* libs/gst/control/dparam.c: (gst_dparam_attach),
-	(gst_dparam_detach):
-	* libs/gst/control/dparammanager.c: (gst_dpman_init):
-	  fix lvalue casts for real
-
-2004-03-24  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_src_wrapper):
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_loop_wrapper), (gst_opt_scheduler_get_wrapper),
-	(pad_clear_queued), (gst_opt_scheduler_add_element),
-	(gst_opt_scheduler_remove_element):
-	  fix GStreamer to not have issues with lvalue casts anymore (fixes
-	  #136841)
-
-2004-03-24  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c:
-	  add documentation about a gobject quirk where the object hasn't the
-	  correct class pointer set on initialization
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_src_wrapper):
-	  make sure to not run into an infinite loop
-
-2004-03-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstutils.c: (gst_util_dump_mem):
-	* gst/gstutils.h:
-	  first argument of gst_util_dump_mem should be const
-
-2004-03-22  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstvalue.h: Clean up a little bit.
-
-2004-03-21  Tim-Philipp Müller <t.i.m@zen.co.uk>
-
-	reviewed by Benjamin Otte  <otte@gnome.org>
-
-	* gst/autoplug/gstspider.c: (gst_spider_dispose):
-	* gst/elements/gstaggregator.c: (gst_aggregator_finalize),
-	(gst_aggregator_class_init), (gst_aggregator_init):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_init),
-	(gst_filesrc_dispose), (gst_filesrc_set_location):
-	* gst/elements/gstidentity.c: (gst_identity_finalize),
-	(gst_identity_class_init), (gst_identity_chain):
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
-	* gst/elements/gststatistics.c: (gst_statistics_finalize),
-	(gst_statistics_class_init):
-	* gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
-	(gst_tee_get_property):
-	  clean up used memory in this elements correctly on teardown (closes
-	  #137279)
-
-2004-03-20  Colin Walters  <walters@redhat.com>
-
-	* gst/registries/gstxmlregistry.c:
-	(gst_xml_registry_open_func, gst_xml_registry_close_func): Make
-	registry saving atomic.
-
-2004-03-20  Colin Walters  <walters@redhat.com>
-
-	* gst/registries/gstxmlregistry.c (gst_xml_registry_get_perms_func):
-        Just use
-	access() instead of actually creating and deleting files.
-
-2004-03-18  David Schleef  <ds@schleef.org>
-
-	* configure.ac:  Remove HAVE_ATOMIC_H test, since it's unused.
-	(bug #137625)
-
-2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/sv.po: updated translation (Christian Rose)
-
-2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfilesink.c: (gst_filesink_get_formats),
-	(gst_filesink_get_query_types), (_do_init),
-	(gst_filesink_handle_event), (gst_filesink_uri_get_protocols):
-          return FALSE silently
-	* po/af.po: updated translation (Petri Jooste)
-
-2004-03-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* configure.ac:
-          dist common properly
-	* po/af.po:
-	* po/fr.po:
-	* po/nl.po:
-	* po/sr.po:
-	* po/sv.po:
-          refreshing translations
-
-2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/LINGUAS:
-	* po/sv.po:
-	* po/af.po:
-          adding Swedish (Christian Rose) and Afrikaans (Petri Jooste)
-
-2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am: use common/release.mak
-
-2004-03-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/gst-uninstalled:
-          adding gst-monkeysaudio to the list of possible plugin dirs
-
-2004-03-16  David Schleef  <ds@schleef.org>
-
-	* gst/gst.c: (gst_get_popt_options), (gst_init_get_popt_table),
-	(gst_init_check_with_popt_table):  Fix some gettext strings to
-	make them easier to translate.  Required making the strings
-	non-const.
-
-2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: bump nano to 1
-
-=== release 0.8.0 ===
-
-2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: release 0.8.0, "Executive Slacks"
-
-2004-03-16  Johan Dahlin  <johan@gnome.org>
-
-	* gst/schedulers/gstoptimalscheduler.c
-	(gst_opt_scheduler_pad_unlink): Remove double ;,
-        spotted by Scott Wheeler
-
-2004-03-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: bump libtool version
-
-2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstcaps.h:
-	* gst/gststructure.h:
-          add reserved padding
-
-2004-03-15  Benjamin Otte  <otte@gnome.org>
-
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
-	  set the first parameter for select call correctly.
-	  (fixes #137230)
-
-2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* *.c,*.h: don't mix tabs and spaces
-
-2004-03-15  Johan Dahlin  <johan@gnome.org>
-
-	* gst/schedulers/gstoptimalscheduler.c
-	(gst_opt_scheduler_pad_unlink): Fix bug that causes totem to
-	crash on MPEG playback. My boolean arithmetic is a bit rusty.
-
-	* tools/Makefile.am (EXTRA_DIST): Add gst-indent
-	
-2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/Rules:
-          fix gst-register rules
-
-2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/Rules:
-          use versioned gst-register
-
-2004-03-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/libs/gstreamer-libs-sections.txt:
-          remove </SUBSECTION>
-	* gst/gstplugin.c:
-	* gst/gstregistry.c: (gst_registry_add_plugin):
-	* gst/registries/gstxmlregistry.c: (gst_xml_registry_get_type),
-	(gst_xml_registry_open_func), (gst_xml_registry_close_func):
-          add debugging and fix some comment blocks
-
-2004-03-15  Johan Dahlin  <johan@gnome.org>
-
-	* *.h: Revert indent changes.
-	
-2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/registries/gstxmlregistry.c: (gst_xml_registry_load_plugin):
-          g_error_free the g_error
-	* tools/gst-feedback-m.m:
-          check for other versions of gstreamer
-	* tools/gst-indent:
-          use sh, not bash
-
-2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/gst-register.c: do not spill paths when registries are not
-          writable, until we fix the "user running gst-register" case.
-
-2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* *.c, *.h: commit of gst-indent run on core
-
-2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/gst-indent:
-	* tools/Makefile.am:
-	  add our indentation style as a script
-
-2004-03-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/sr.po:
-	* po/LINGUAS:
-	  added Serbian translation
-
-2004-03-13  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c:
-	  add documentation note about gst_element_found_tags_for_pad not
-	  being usable in getfunctions. (see #137042)
-
-2004-03-12  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.h: jdahlin, what are you smoking?  We can't just
-	change API right now!  Readd gst_caps_is_simple() macro.
-	* gst/gstelement.c: (gst_element_base_class_finalize): Fix
-	uninitialized variable.  I'd bet this caused crashes.
-	* gst/gstinfo.c: (gst_debug_print_object):  Fix 64-bit cleanliness.
-
-2004-03-12  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstcaps.h (GST_CAPS_IS_SIMPLE): Capitalize macro
-	* gst/gstcaps.h: Clean up
-
-	* gst/gst.c (init_post): call gst_caps_get_type() instead of
-	_gst_caps_initalize()
-
-	* gst/gstcaps.c: Style fixes, stay closer to glib and friends
-	(_gst_caps_initialize): Remove, in favor for gst_caps_get_type()
-
-	* gst/gststructure.c (gst_structure_get_type): Ditto
-
-	* gst/gststructure.h: Ditto
-	
-2004-03-11  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_init):
-	  Reset default max. values in queues. Reason is simply to avoid
-	  braindead use. If you want wider values, use the properties. The
-	  default is supposed to always work. Wider values would make this
-	  beast a memory hog by default (250 full-PAL RGB32 video frames?
-	  That's 440 MB! No thank you).
-
-2004-03-10  David Schleef  <ds@schleef.org>
-
-	* tools/gst-run.c: (main):  Fix crash when no relevant tools
-	were found.  (bug #136793)
-
-2004-03-10  Johan Dahlin  <johan@gnome.org>
-
-	* gst/schedulers/gstoptimalscheduler.c
-	(gst_opt_scheduler_pad_unlink): Implement unlink for elements with
-	links to elements within the same group, so we can finally remove
-	that annoying warning. Refactor the code a little bit
-	(group_dec_links_for_element): Split out
-
-2004-03-09  David Schleef  <ds@schleef.org>
-
-	* docs/manual/dparams-app.xml:  Fix to handle double dparams.
-	(bug #134863)
-
-2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: first bug fix due to major/minor bump
-
-2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: bump nano to 1
-
-=== release 0.7.6 ===
-
-2004-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* NEWS:
-	* RELEASE:
-	* configure.ac:
-          releasing 0.7.6, "Almost"
-	* po/fr.po:
-	* po/nl.po:
-	* tools/Makefile.am:
-	* tools/gst-feedback-m.m:
-          unversioned source
-
-2004-03-09  Johan Dahlin  <johan@gnome.org>
-
-	Reviewed by: Thomas Vander Stichele
-
-	* gst/gstelement.c (gst_element_class_init): register second
-	parameter as GST_TYPE_G_ERROR instead of G_TYPE_POINTER, so
-	language bindings can (de)marshall correctly.
-
-	* gst/gsterror.h: Add GST_TYPE_G_ERROR and cleanup a little bit
-
-	* gst/gsterror.c (gst_g_error_get_type): New function
-
-	* gst/gstmarshal.list: Remove VOID:OBJECT,POINTER,STRING, replace
-	with VOID:OBJECT,OBJECT,STRING 
-
-2004-03-10  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* gst/registries/gstxmlregistry.c: (gst_xml_registry_load):
-	Free a leaked g_timer on early returns.
-
-2004-03-08  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-types.xml:
-	  Add cinepak description.
-
-2004-03-07  David Schleef  <ds@schleef.org>
-
-	* docs/random/mimetypes:  Added cinepak description
-
-2004-03-07  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstbin.c (gst_bin_remove): Debugging fixes.
-
-	* gst/schedulers/gstoptimalscheduler.c (destroy_group): Assert
-	there are no links to other groups when a group is destroyed.
-	(gst_opt_scheduler_pad_unlink): If the unlink means an element is
-	removed from a group, make sure the link count to elements linked
-	to other pads is appropriately decremented. This really fixes
-	#135672.
-
-	The 1.60->1.61 patch has been reapplied in light of this fix.
-
-	* gst/gstelement.c (gst_element_dispose): Really protect against
-	multiple invocations this time.
-
-2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gsttag.sgml:
-          remove some deprecated functions, document some existing ones
-	* gst/gsttag.c: (gst_tag_get_flag):
-	* gst/gsttag.h:
-          add accessor function
-
-2004-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gsttag.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/gsttag.c: (gst_tag_get_flag):
-	* gst/gsttag.h:
-
-2004-03-06  Christophe Fergeau  <teuf@gnome.org>
-
-	* gst/autoplug/gstspider.c: (gst_spider_identity_plug): fixed caps
-	leak
-
-2004-03-05  David Schleef  <ds@schleef.org>
-
-	* REQUIREMENTS: Add bison and flex.
-	* configure.ac: Fix comment about bison.
-	* docs/random/ds/0.9-suggested-changes: yer ma
-	* tools/gst-inspect.c: (print_element_info):  Fix warning.
-
-2004-03-05  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_error_full):
-	  revert recent recursive state changing commit - messing with other
-	  elements' states is evil and should be done by apps only.
-
-2004-03-05  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstelement.c: (gst_element_get_compatible_pad_template):
-	  check for empty intersection instead of NULL caps
-	(gst_element_get_compatible_pad_filtered):
-	  remove old workaround that is only a bug nowadays
-
-2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_error_full):
-          make elements try to recursively change state to PAUSED on all
-          parents after an error to suppress ensuing warnings
-	* gst/parse/grammar.y:
-          make it check if it was able to sync the state, and throw an error
-          if not, so stuff like
-          oggdemux ! vorbisdec ! osssink gets caught
-
-2004-03-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: use ${libdir} for PLUGINS_DIR since on 64bit
-          it contains lib64; use AS_AC_EXPAND to handle it properly
-
-2004-03-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstcpuid_i386.s:  Remove unused code
-	* libs/gst/getbits/getbits.c: (gst_getbits_init),
-	(gst_getbits_newbuf): Remove MMX code
-	* libs/gst/getbits/getbits.h: Remove MMX code
-
-2004-03-04  David I. Lehn  <dlehn@users.sourceforge.net>
-
-	* debian/.cvsignore:
-	* debian/README.Debian:
-	* debian/changelog:
-	* debian/control:
-	* debian/control.in:
-	* debian/copyright:
-	* debian/gstreamer-core-libs-dev.files:
-	* debian/gstreamer-core-libs.files:
-	* debian/gstreamer-core.files:
-	* debian/gstreamer-core.postinst:
-	* debian/gstreamer-core.postrm:
-	* debian/gstreamer-doc.files:
-	* debian/gstreamer-doc.links:
-	* debian/gstreamer-doc.lintian:
-	* debian/gstreamer-runtime.files:
-	* debian/gstreamer-runtime.manpages:
-	* debian/gstreamer-runtime.postinst:
-	* debian/gstreamer-runtime.postrm:
-	* debian/gstreamer-tools.files:
-	* debian/gstreamer-tools.manpages:
-	* debian/libgstreamer-dev.files:
-	* debian/libgstreamer0.4.1.files:
-	* debian/libgstreamerVERSION.files:
-	* debian/rules:
-	Debian package info not maintained here.
-
-2004-03-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
-	* gst/gstbin.c: (gst_bin_class_init):
-	* gst/gstelement.c: (gst_element_class_init):
-	* gst/gstindex.c: (gst_index_class_init):
-	* gst/gstobject.c: (gst_object_class_init),
-	(gst_signal_object_class_init):
-	* gst/gstpad.c: (gst_pad_template_class_init):
-	* gst/gstregistry.c: (gst_registry_class_init):
-	* gst/gsturi.c: (gst_uri_handler_base_init):
-	* gst/gstxml.c: (gst_xml_class_init):
-	* libs/gst/control/dparam.c: (gst_dparam_class_init):
-	* libs/gst/control/dparammanager.c: (gst_dpman_class_init):
-          make all signal names use dashes instead of underscore
-
-2004-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: AC_SUBST GLIB_ONLY CFLAGS and LIBS
-
-2004-03-03  Benjamin Otte  <otte@gnome.org>
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	  revert last commit by Andy Wingo. It causes segfaults on unreffing
-	  in Rhythmbox. (see bug #135672)
-
-2004-03-02  Christophe Fergeau  <teuf@gnome.org>
-
-	* po/fr.po: fix typo
-
-2004-03-02  Christophe Fergeau  <teuf@gnome.org>
-
-	* tools/gst-inspect.c: (main): 
-	* tools/gst-launch.c: (main): add calls to bind_textdomain_codeset
-
-2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-          get GLIB_ONLY and POPT flags for the nonversioned binaries
-	* tools/Makefile.am:
-          use them
-
-2004-03-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst.c: (init_post):
-          change so that GST_REGISTRY now is where the global registry gets
-          saved, since that is where plugins now get attached to first, and
-          spilled over to the user registry.  Note that in the case of using
-          GST_REGISTRY env var, we don't want to affect any real registries
-          beyond the one given by this var, and thus we don't set a user
-          registry to spill to.  So make sure GST_REGISTRY is writable.
-
-2004-03-01  David Schleef  <ds@schleef.org>
-
-	* AUTHORS:  Added some names.  Add yourself if you're missing.
-
-2004-03-01  David Schleef  <ds@schleef.org>
-
-	* MAINTAINERS: Add
-
-2004-03-01  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-          remove whitespace
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstdata.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-          doc update
-	* docs/manuals.mak:
-          add a FIXME
-	* docs/pwg/intro-preface.xml:
-	* docs/pwg/pwg.xml:
-          remove GNOME
-	* gst/gst.c: (init_post):
-          try GST_PLUGIN_PATH paths for the _global_registry first
-	* gst/gstelement.h:
-          add the error message as well, otherwise (null) debug info doesn't
-          make much sense
-	* tools/gst-register.c: (main):
-          spill paths to next registry if this registry is not writable
-	* po/fr.po:
-	* po/nl.po:
-          translation updates
-
-2004-03-01  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstbuffer.c (_gst_buffer_initialize): 
-	* gst/gstdata.c (gst_data_get_type): 
-	* gst/gstevent.c (_gst_event_initialize): Use gst_data_copy,
-	instead of ref, since some applications that uses GBoxed
-	routines depends on a function that actually returns a copy.
-
-2004-02-27  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstbuffer.h:
-	  remove gst_buffer_free, use gst_data_unref
-	* gst/gstdata.c: (gst_data_get_type):
-	  use refcounting in GstData GBoxed registration
-	* gst/gstdata.h:
-	  remove gst_data_free, use gst_data_unref
-
-2004-02-27  Johan Dahlin  <johan@gnome.org>
-
-	* gst/gstdata.c (gst_data_get_type): New function, register
-	GstData as a GBoxed type.
-
-	* gst/gstdata.h (GST_TYPE_DATA): New macro
-
-2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am:
-	* gstreamer.spec.in:
-          put back RELEASE
-	* gst/Makefile.am:
-          clean up non-disting of built files
-	* testsuite/debug/commandline.c:
-          test fix for option rename
-
-2004-02-26  David Schleef  <ds@schleef.org>
-
-	* configure.ac:  We don't really need glib-2.3.  Also remove
-	some unneeded checks for library functions.
-	* gst/Makefile.am:  Instead, we need to not dist files created
-	by glib-genmarshal.
-
-2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-          bump glib required version to 2.3.0 for g_value_takes_boxed
-
- 2004-02-25  Christian Fredrik Kalager Schaller <uraeus@gnome.org>
-
-	* common/m4/gst-docs.m4
-	change flavour text from enable to disable as enable is our default
-	closes bug Bug 135304
-
-=== release 0.7.5 ===
- 
- 2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
- 
-	* NEWS:
-          instate NEWS file
-	* Makefile.am:
-	* gstreamer.spec.in:
-	* RELEASE:
-          put back release
-	* configure.ac:
-	* docs/random/release:
-          more updates
-
-2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* po/fr.po:
-	* po/nl.po:
-          remove hyphen from codec tags
-
-2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/parse/Makefile.am:
-          fix dependency so that a make from a clean build works the first
-          time
-
-2004-02-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/random/release:
-          update release strategy
-	* po/fr.po:
-          auto-update po file
-	* po/nl.po:
-          update dutch translation
-
-2004-02-25  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/debugging.xml:
-        fix manual for new debugging system
-
-2004-02-25  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstpad.c (gst_pad_link_prepare): Re-add
-	gst_pad_link_prepare. Please email the list with specific reasons
-	for reverting.
-
-2004-02-24  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstelement.c (gst_element_dispose): Protect against multiple
-	invocations.
-
-	* gst/schedulers/gstoptimalscheduler.c:
-	I added a mess of prototypes at the top of the file by way of
-	documentation. Some of the operations on chains and groups were
-	re-organized.
-
-	(create_group): Added a type argument so if the group is enabled,
-	the setup_group_scheduler knows what to do.
-	(group_elements): Added a type argument here, too, to be passed on
-	to create_group.
-	(group_element_set_enabled): If an unlinked PLAYING element is
-	added to a bin, we have to create a new group to hold the element,
-	and this function will be called before the group is added to the
-	chain. Thus we have a valid case for group->chain==NULL. Instead
-	of calling chain_group_set_enabled, just set the flag on the group
-	(the chain's status will be set when the group is added to it).
-	(gst_opt_scheduler_state_transition, chain_group_set_enabled):
-	Setup the group scheduler when the group is enabled, not
-	specifically when an element goes PAUSED->PLAYING. This means
-	PLAYING elements can be added, linked, and scheduled into a
-	PLAYING pipeline, as was intended.
-	(add_to_group): Don't ref the group twice. I don't know when this
-	double-ref got in here. Removing it has the potential to cause
-	segfaults if other parts of the scheduler are buggy. If you find
-	that the scheduler is segfaulting for you, put in an extra ref
-	here and see if that hacks over the underlying issue. Of course,
-	then find out what code is unreffing a group it doesn't own...
-	(create_group): Make the extra refcount floating, and remove it
-	after adding the element. This means that...
-	(unref_group): Destroy when the refcount reaches 0, not 1, like
-	every other refcounted object in the known universe.
-	(remove_from_group): When a group becomes empty, set it to be not
-	active, and remove it from its chain. Don't unref it again,
-	there's no floating reference any more.
-	(destroy_group): We have to remove the group from the chain in
-	remove_from_group (rather than here) to break refcounting cycles
-	(the chain always has a ref on the group). So assert that
-	group->chain==NULL.
-	(ref_group_by_count): Removed, it was commented out anyway.
-	(merge_chains): Use the remove_from_chain and add_to_chain
-	primitives to do the reparenting, instead of rolling our own
-	implementation.
-	(add_to_chain): The first non-disabled group in the chain's group
-	list will be the entry point for the chain. Because buffers can
-	accumulate in loop elements' peer bufpens, we preferentially
-	schedule loop groups before get groups to avoid unnecessary
-	execution of get-based groups when the bufpens are already full.
-	(gst_opt_scheduler_schedule_run_queue): Debug fixes.
-	(get_group_schedule_function): Ditto.
-	(loop_group_schedule_function): Ditto.
-	(gst_opt_scheduler_loop_wrapper): Ditto.
-	(gst_opt_scheduler_iterate): Ditto.
-
-	I understand the opt scheduler now, yippee!
-
-	* gst/gstpad.c: All throughout, added FIXMEs to look at for 0.9.
-	(gst_pad_get_name, gst_pad_set_chain_function) 
-	(gst_pad_set_get_function, gst_pad_set_event_function) 
-	(gst_pad_set_event_mask_function, gst_pad_get_event_masks) 
-	(gst_pad_get_event_masks_default, gst_pad_set_convert_function) 
-	(gst_pad_set_query_function, gst_pad_get_query_types) 
-	(gst_pad_get_query_types_default) 
-	(gst_pad_set_internal_link_function) 
-	(gst_pad_set_formats_function, gst_pad_set_link_function) 
-	(gst_pad_set_fixate_function, gst_pad_set_getcaps_function) 
-	(gst_pad_set_bufferalloc_function, gst_pad_unlink) 
-	(gst_pad_renegotiate, gst_pad_set_parent, gst_pad_get_parent) 
-	(gst_pad_add_ghost_pad, gst_pad_proxy_getcaps) 
-	(gst_pad_proxy_pad_link, gst_pad_proxy_fixate) 
-	(gst_pad_get_pad_template_caps, gst_pad_check_compatibility) 
-	(gst_pad_get_peer, gst_pad_get_allowed_caps) 
-	(gst_pad_alloc_buffer, gst_pad_push, gst_pad_pull) 
-	(gst_pad_selectv, gst_pad_select, gst_pad_template_get_caps) 
-	(gst_pad_event_default_dispatch, gst_pad_event_default) 
-	(gst_pad_dispatcher, gst_pad_send_event, gst_pad_convert_default) 
-	(gst_pad_convert, gst_pad_query_default, gst_pad_query) 
-	(gst_pad_get_formats_default, gst_pad_get_formats): Better
-	argument checks, and some doc fixes.
-
-	(gst_pad_custom_new_from_template): Um, does anyone
-	use these functions? Actually make a custom pad instead of a
-	normal one.
-	(gst_pad_try_set_caps): Transpose some checks.
-	(gst_pad_try_set_caps_nonfixed): Same, and use a macro to check if
-	the pad is in negotiation.
-	(gst_pad_try_relink_filtered): Use pad_link_prepare.
-	
-	* gst/gstelement.c: Remove prototypes also defined in gstclock.h.
-
-	* gst/gstelement.h: 
-	* gst/gstclock.h: Un-deprecate the old clocking API, as discussed
-	on the list.
-
-2004-02-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstbin.c: (gst_bin_add):
-          add error for not being able to add elements
-
-2004-02-22  Julien MOUTTE <julien@moutte.net>
-
-	* gst/gsttag.c: (_gst_tag_initialize): Registering 2 new tags,
-	audio-codec and video-codec.
-
-2004-02-22  Benjamin Otte  <otte@gnome.org>
-
-	reported by: Padraig O'Briain <padraig.obriain@sun.com>
-
-	* autogen.sh:
-	  replace test -e with test -x for mkinstalldirs to be more portable.
-	  (fixes #134816)
-
-2004-02-22  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstpad.c:
-	  revert last patch from Andy, it makes gst_pad_can_link_filtered much
-	  too noisy
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* gst/gsttag.h:
-	  add GST_TAG_ALBUM_VOLUME_{COUNT,NUMBER}
-	* libs/gst/control/dparam.c: (gst_dparam_attach):
-	* libs/gst/control/dparammanager.c: (gst_dpman_attach_dparam):
-	  check that types for attached dparams match
-
-2004-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfilesink.c: (gst_filesink_open_file):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
-          fix errors
-
-2004-02-20  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstbin.c:
-	* gst/gstbuffer.c:
-	* gst/gstplugin.c:
-	* gst/registries/gstxmlregistry.c: 
-	* gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.
-
-	* gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
-	(gst_element_add_pad): DEBUG->INFO, some fixes.
-	(gst_element_get_compatible_pad_template): Just see if the
-	templates' caps intersect, not if one is a strict subset of the
-	other. This conforms more to what gst_pad_link_intersect() does.
-	(gst_element_class_add_pad_template): Don't memcpy the pad
-	template, just ref it.
-	(gst_element_get_compatible_pad_filtered): Clean up debug messages
-
-	* gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
-	(gst_pad_link_filtered): Debug changes.
-	(gst_pad_link_prepare): New function, consolidated from
-	can_link_filtered and link_filtered.
-
-	* gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
-	look more like that of the functions in gstelement.c
-
-	* gst/gstinfo.c (gst_debug_print_object): Put a space before the
-	object, and return the empty string if object is NULL.
-
-	* gst/parse/parse.l: Remove trailing newlines when calling PRINT.
-	* gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
-	LOG, not DEBUG. We still get flex info on debug.
-
-	* gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
-	debug string more verbose.
-	(plugin_times_older_than): DEBUG->LOG.
-
-2004-02-20  Julien MOUTTE <julien@moutte.net>
-
-	* gst/gsttag.h: Adding video-codec and audio-codec for demuxers which
-	will emit found_tag for each stream they demux with the codec.
-
-2004-02-20  Benjamin Otte  <otte@gnome.org>
-
-	* gst/gstevent.c: (_gst_event_copy), (_gst_event_free):
-	  copy navigation event correctly. Check freeing tag lists. 
-	* gst/gstthread.c: (gst_thread_change_state):
-	  don't abort() on state changing mess - it might happen because of
-	  bugs.
-	* gst/gstvalue.c: (gst_value_set_caps), (gst_value_get_caps):
-	  use boxed functions
-	* gst/gstvalue.h:
-	  fix GST_VALUE_HOLDS_CAPS
-
-2004-02-19  David Schleef  <ds@schleef.org>
-
-	* gst/gstinfo.h:  Copy G_STRFUNC implementation from glib-2.4
-	and use it for GST_FUNCTION.  (bug #134750)
-
-2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/fr.po:
-	* po/nl.po:
-          updating translations
-
-2004-02-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/gst-run.c: (get_candidates), (main): some fixes from jdahlin
-
-2004-02-18  kost@imn.htwk-leipzig.de
-
-	reviewed by: David Schleef  <ds@schleef.org>
-
-	* docs/libs/gstreamer-libs-sections.txt:  Add missing sections
-	for libgstcontrol.
-
-2004-02-18  David Schleef  <ds@schleef.org>
-
-	* libs/gst/control/dparam.c: (gst_dparam_class_init):
-	* libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
-	(gst_dpsmooth_new): Additional fixes to get double dparams working.
-	* tools/gst-inspect.c: (print_element_info): Support dumping of
-	double dparam information.
-
-2004-02-17  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
-	Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
-	* gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
-	Use GST_TYPE_CAPS in signal prototype.
-	* gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
-	Convert GST_TYPE_CAPS to boxed.
-	* gst/gstelement.c: (gst_element_class_init):
-	Use GST_TYPE_TAG_LIST in signal prototype.
-	* gst/gstindex.c: (gst_index_class_init):
-	* gst/gstindex.h:
-	Add GST_TYPE_INDEX_ENTRY type.
-	* gst/gstmarshal.list:
-	Add necessary marshal types.
-	* gst/gstpad.c: (gst_real_pad_class_init),
-	(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
-	(gst_pad_recover_caps_error):
-	Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
-	* gst/gststructure.c: (_gst_structure_initialize),
-	(gst_structure_copy), (_gst_structure_copy_conditional):
-	* gst/gststructure.h:
-	Convert GST_TYPE_STRUCTURE to boxed.
-	* gst/gsttag.c: (gst_tag_list_get_type):
-	* gst/gsttag.h:
-	Add GST_TYPE_TAG_LIST type.
-
-2004-02-17  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/gstpad.c: (gst_pad_try_set_caps): Reverting my change according
-	to what we agreed with david.
-	* gst/gstpad.h: adding GST_PAD_IS_NEGOTIATING macro.
-
-2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/nl.po: update translation
-
-2004-02-17  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/autoplug/gstspider.c: (gst_spider_identity_plug):
-	  throw an error if spider is trying to play a mime type there is
-          no decoder for
-	* po/POTFILES.in:
-          add gst/autoplug/gstspider.c for translation
-
-2004-02-17  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/gstpad.c: (gst_pad_try_set_caps): We are nice people. Return 
-	silently when the pad is negotiating.
-
-2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/Makefile.am:
-          add script to run gstreamer uninstalled 
-	* docs/faq/faq.xml:
-	* docs/faq/developing.xml:
-	* docs/faq/gst-uninstalled:
-          extract script to run gstreamer uninstalled
-	* docs/manuals.mak:
-          add EXTRA_SOURCES variable for Makefile.am's to set to
-          use additional SOURCE files for the doc build
-
-2004-02-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstatomic_impl.h: Fedora 2 test package patch for S390
-
-2004-02-15  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
-	bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
-	an error was thrown by osssink. Basically a state change failure for
-	an element in a different scheduling group was considered as
-        successful, which means that caps nego was going on and weird stuff
-        happened. Like I wrote in the comment there, if someone wants to
-        revert that please drop me a mail explaining why because I really see
-        no point in keeping that broken behaviour there.
-	* gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
-	be empty, we then return NULL which will trigger a nice error when 
-	pulling from the pad.
-
-2004-02-13  David Schleef  <ds@schleef.org>
-
-	* libs/gst/control/dparam.c: (gst_dparam_class_init),
-	(gst_dparam_get_property), (gst_dparam_set_property),
-	(gst_dparam_do_update_default):
-	* libs/gst/control/dparam.h:
-	* libs/gst/control/dparam_smooth.c: (gst_dpsmooth_class_init),
-	(gst_dpsmooth_new), (gst_dpsmooth_set_property),
-	(gst_dpsmooth_get_property), (gst_dpsmooth_value_changed_double),
-	(gst_dpsmooth_do_update_double):
-	* libs/gst/control/dparam_smooth.h:
-	* libs/gst/control/dparammanager.c:
-	(gst_dpman_inline_direct_update):
-	Add support for double dparams.
-
-2004-02-13  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
-	* gst/gstclock.h: Avoid using 64-bit % operator (slow!)
-
-2004-02-13  Mattias Wadman  <mattias@sudac.org>
-
-	reviewed by: David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
-	(gst_fdsrc_init), (gst_fdsrc_set_property),
-	(gst_fdsrc_get_property), (gst_fdsrc_get):
-	* gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
-	and sends an EOS event if file descriptor reading times out.
-
-2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-          add calls to AM_CONDITIONAL for subsystems for automake 1.6.x
-
-2004-02-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac: pass required libxml version as argument
-	(bug reported by Christophe Fergeau)
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-  
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/libs/gstreamer-libs-docs.sgml:
-          version API docs
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstinfo.c:
-	* gst/gstregistrypool.c: (gst_registry_pool_plugin_filter),
-	(gst_registry_pool_feature_filter):
-	* gst/gstthread.c: (gst_thread_class_init):
-	* gst/gstvalue.c:
-          add includes exposed by building without libxml
-	* gst/indexers/Makefile.am:
-          do not build fileindex when LOADSAVE disabled; we should have
-          a better libxml check later since fileindex depends on xml, not
-          LOADSAVE or REGISTRY
-	* libs/gst/control/Makefile.am:
-          link with m
-	* tools/Makefile.am:
-          fix wrong source code for gst-xmlinspect
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-          fix gcov help output
-          move calls to and use new GST_CHECK_DISABLE_SUBSYSTEM
-	* docs/random/release:
-          some updated releasing notes
-	* gstreamer.spec.in:
-          more updates
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/faq/faq.xml:
-	* docs/manual/manual.xml:
-	* docs/pwg/pwg.xml:
-	* docs/pwg/titlepage.xml:
-          put version in documentation
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/Makefile.am: fix man page installation
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	  don't check for libxml when load/save and registry disabled (#105844)
-	* gstreamer.spec.in:
-          sync with fedora candidate spec
-
-2004-02-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/fr.po:
-	* po/nl.po:
-          replace multidisksrc with multifilesrc
-
-2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* po/POTFILES.in:
-	  update to multidisksrc => multifilesrc file renaming (#134145)
-
-2004-02-11  David Schleef  <ds@schleef.org>
-
-	* docs/gst/tmpl/gstcaps.sgml:  Fix stuff that mentions GstProps
-	* docs/gst/tmpl/gstpadtemplate.sgml: same
-	* docs/gst/tmpl/gstreamer-unused.sgml: Remove GstProps
-	* gst/gstobject.c: (gst_object_set_name_default): Do the memleak
-	fixing dance.
-	* gst/gstutils.c: Remove disabled code that uses GstProps.
-	* gst/registries/gstxmlregistry.h: same
-	* docs/random/ds/0.9-suggested-changes: random notes
-
-2004-02-11  kost@imn.htwk-leipzig.de
-
-	reviewed by: David Schleef  <ds@schleef.org>
-
-	* gst/gstclock.c: (gst_clock_entry_new): fixes structure
-	initialisation of clock (bug #134128)
-
-2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
-	(gst_multifilesrc_class_init), (gst_multifilesrc_init),
-	(gst_multifilesrc_set_property), (gst_multifilesrc_get_property),
-	(gst_multifilesrc_get), (gst_multifilesrc_open_file),
-	(gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
-	* gst/elements/gstmultifilesrc.h:
-          rename multidisksrc to multifilesrc (part of #122200)
-
-2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manuals.mak:
-          fix automake complaints
-	* gst-element-check.m4:
-          fix unquotedness
-
-2004-02-11  David Schleef  <ds@schleef.org>
-
-	* docs/gst/Makefile.am: Call gst_init() in built gstreamer-scan.
-	* gst/gstatomic_impl.h: Disable sparc implementation.
-
-2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst-element-check.m4:
-          fix underquoted macros as reported by automake 1.8.x (#133800)
-	* configure.ac:
-          require gettext 0.11.5 so ulonglong.m4 gets checked out and copied
-          by autopoint (fixes #132996)
-
-2004-02-10  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstpad.c (gst_pad_custom_new): Add a FIXME, this is a hacky
-	way to do inheritance.
-	(gst_pad_get_event_masks, gst_pad_get_event_masks_default) 
-	(gst_pad_get_query_types, gst_pad_get_query_types_default):
-	Routine docs.
-	(gst_pad_set_link_function, gst_pad_set_fixate_function) 
-	(gst_pad_set_getcaps_function): Doc from Dave's negotation random
-	doc.
-	(gst_pad_unlink, gst_pad_is_linked): Docs.
-	(gst_pad_renegotiate): A brief description of capsnego.
-	(gst_pad_try_set_caps): Document.
-	(gst_pad_try_set_caps_nonfixed): Document.
-	(gst_pad_can_link_filtered, gst_pad_link_filtered): Doc fixes.
-	(gst_pad_set_parent): Deprecated (although not out of the API).
-	(gst_pad_get_parent): Deprecated, although many plugins use this.
-	(gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad): Doc that these
-	are private and will go away in 0.9.
-	(gst_pad_perform_negotiate): Doc.
-	(gst_pad_link_unnegotiate): I think this is meant to be static.
-	(gst_pad_get_negotiated_caps, gst_pad_get_pad_template_caps) 
-	(gst_pad_template_get_caps_by_name, gst_pad_check_compatibility) 
-	(gst_pad_get_peer): Doc updates.
-	(gst_pad_caps_change_notify): Doc.
-	(gst_pad_alloc_buffer, gst_pad_push, gst_static_pad_template_get) 
-	(gst_ghost_pad_new): Doc fixes.
-
-	* gst/gstobject.c (gst_object_get_parent, gst_object_unparent) 
-	(gst_object_check_uniqueness): 
-
-	* gst/gstelement.c (gst_element_add_pad) 
-	(gst_element_add_ghost_pad, gst_element_remove_pad) 
-	(gst_element_remove_ghost_pad, gst_element_get_pad) 
-	(gst_element_get_static_pad, gst_element_get_pad_list) 
-	(gst_element_class_get_pad_template_list) 
-	(gst_element_class_get_pad_template): Work on the docs.
-	(gst_element_get_pad_template_list): Uses the class method.
-	(gst_element_get_compatible_pad_template): Docs, and consolidate
-	some test conditions. 
-	(gst_element_get_pad_from_template): New static function.
-	(gst_element_request_compatible_pad): Docs, and work with
-	non-request compatible templates. 
-	(gst_element_get_compatible_pad_filtered): Docs and remove
-	redundant checks.
-	(gst_element_get_compatible_pad, gst_element_link_pads_filtered) 
-	(gst_element_link_filtered, gst_element_link_many) 
-	(gst_element_link, gst_element_link_pads) 
-	(gst_element_unlink_many): Docs.
-
-2004-02-05  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstpad.c (_gst_real_pad_fixate_accumulator):
-	s/pointer/boxed/.
-
-	* gst/gstmarshal.list (VOID:BOXED, BOXED:BOXED): New marshallers.
-
-	* gst/gstpad.c (gst_real_pad_class_init): Use a BOXED:BOXED
-	marshaller for ::fixate, and VOID:BOXED for ::caps-nego-failed,
-	with the type=GST_TYPE_CAPS. This allows language bindings to know
-	what kind of data they're dealing with.
-
-	* gst/gstcaps.c (_gst_caps_value_init): GBoxed values initialize
-	to NULL when g_value_init is called. GstCaps, which rolls its own
-	type implementation, now does the same instead of allocating empty
-	caps.
-	(_gst_caps_initialize, _gst_caps_collect_value,
-	_gst_caps_lcopy_value): Provide collect_value and lcopy_value type
-	table methods. This allows G_VALUE_COLLECT to work.
-
-2004-02-05  Andy Wingo  <wingo@pobox.com>
-
-	* configure.ac:
-	* testsuite/Makefile.am (SUBDIRS): 
-	* testsuite/ghostpads/Makefile.am: 
-	* testsuite/ghostpads/ghostpads.c: A new test for ghost pads.
-
-	* gst/gstpad.c (gst_pad_add_ghost_pad, gst_pad_remove_ghost_pad):
-	These two routines are the only ones that set
-	GST_GPAD_REALPAD(gpad), the ghost pad list, and the ghost pad's
-	pad template. They should be made static, depending on ABI needs.
-	(gst_real_pad_dispose): Handle the case of ghost pads without a
-	parent. Assert after dealing with ghost pads that the ghost pad
-	list is empty.
-	(gst_ghost_pad_class_init): New property added, ::real-pad. Can be
-	set after creation.
-	(gst_ghost_pad_dispose): Set ::real-pad to NULL.
-	(gst_ghost_pad_set_property, gst_ghost_pad_get_property): New
-	functions. set_property will call add_ghost_pad/remove_ghost_pad
-	as appropriate.
-	(gst_ghost_pad_new): All the work is offloaded to g_object_new.
-
-	* gst/gstelement.c (gst_element_add_pad): Handle ghost pads as well.
-	(gst_element_add_ghost_pad): Remove code duplicated from _add_pad.
-	(gst_element_remove_pad): Handle ghost pads as well.
-	(gst_element_remove_ghost_pad): Deprecated (could be removed,
-	depending on API-stability needs).
-
-2004-02-05  Andy Wingo  <wingo@pobox.com>
-
-	* gst/gstbin.[ch]: (gst_bin_get_by_interface): GTypes are scalars,
-	of course they're const
-
-2004-02-11  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/Makefile.am:
-	* tools/gst-feedback:
-	* tools/gst-feedback-0.7:
-          make gst-feedback versioned too for consistency
-
-2004-02-11  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
-	(gst_pad_try_set_caps): Fix format strings for GST_PTR_FORMAT.
-
-2004-02-10  Julien MOUTTE <julien@moutte.net>
-
-	* gst/gstevent.c: (_gst_event_free): Sometimes a tag event arrives but
-	the structure does not contain a valid tag list. Adding a safety check
-	to remove a noisy warning in that case.
-
-2004-02-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst.c: fix name to be in line with others
-
-2004-02-09  Julien MOUTTE <julien@moutte.net>
-
-	* libs/gst/bytestream/bytestream.c: (gst_bytestream_peek): We should
-	not shout that loud when len is 0. Just return 0 silently.
-
-2004-02-09  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
-	because data_unref has one and I prefer the debug to be symetric.
-	* gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
-	were refed when added to the queue and unrefed only once when the queue
-	was flushed. Now the flush handler unref the buffers two times : first
-	unref for the ref added when pushing in the queue's tail and second
-	unref to destroy the flushed buffer.
-
-2004-02-08  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/pwg/building-boiler.xml: fix cvs checkout documentation
-
-2004-02-06  David Schleef  <ds@schleef.org>
-
-	* docs/random/ds/0.9-suggested-changes: Random ramblings
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
-	to int before printing.
-	* gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
-	* gst/parse/parse.l: same.  See bug #129600
-
-2004-02-06  David Schleef  <ds@schleef.org>
-
-	* gst/gstindex.c: (gst_index_add_format), (gst_index_add_id),
-	(gst_index_add_entry), (gst_index_add_associationv),
-	(gst_index_add_association): Add gst_index_add_associationv()
-	and clean up gst_index_add_association(). #127133
-
-2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* autogen.sh: check out common with right tag if CVS/Tag exists
-
-2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/ghostpads/ghostpads.c: (main):
-          fix testsuite from segfaulting
-
-2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* Makefile.am: add release target
-	* configure.ac: bump nano to 1
-	* docs/random/release:
-
-2004-02-06  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstcaps.h:
-	* gst/gstelement.c: (gst_element_base_class_init),
-	(gst_element_class_set_details), (gst_element_clear_pad_caps):
-	* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
-	(gst_pad_try_set_caps), (gst_pad_can_link_filtered),
-	(gst_real_pad_dispose):
-	* gst/gststructure.c: (gst_structure_free),
-	(gst_structure_from_string):
-	  put reverted patch back in
-	* gst/gstelement.c: (gst_element_remove_pad):
-	  free explicit caps if they're set
-	* gst/gstpad.c: (_gst_pad_default_fixate_func):
-	  copy the structure when fixating
-
-2004-02-05  David Schleef  <ds@schleef.org>
-
-	* gst/gstmarshal.list:
-	* gst/gstpad.c: (gst_real_pad_class_init),
-	(_gst_real_pad_fixate_accumulator):
-	Revert POINTER->BOXED change in signal marshaller.
-
-=== release 0.7.4 ===
-                                                                                
-2004-02-06  Thomas Vander Stichele  <thomas at apestaart dot org>
-                                                                                
-        * NEWS: GStreamer 0.7.4 "Wooden Eels" released
-        * configure.ac: changed for release
-
-2004-02-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
-
-	* gstreamer.spec.in:
-          bump required version of gtk-doc
-
-2004-02-05  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstcaps.h:
-	* gst/gstelement.c: (gst_element_base_class_init),
-	(gst_element_class_set_details), (gst_element_clear_pad_caps):
-	* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
-	(gst_pad_try_set_caps), (gst_pad_can_link_filtered),
-	(gst_real_pad_dispose):
-	* gst/gststructure.c: (gst_structure_free),
-	(gst_structure_from_string):
-          revert patch that breaks applications, reapply after release
-          to get this fixed properly
-
-2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* gst/gsttag.h:
-	  remove duplicated field GST_TAG_APPLICATION. It's GST_TAG_ENCODER
-
-2004-02-04  David Schleef  <ds@schleef.org>
-
-	Fix some memleaks:
-	* gst/autoplug/gstspider.c: (gst_spider_request_new_pad),
-	(gst_spider_plug_from_srcpad):
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
-
-2004-02-04  David Schleef  <ds@schleef.org>
-
-	* gst/gstelement.c: (gst_element_clear_pad_caps): Make sure we have
-	a GstRealPad before accessing its structure members.
-
-2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstclock.c: (gst_clock_init), (gst_clock_set_speed),
-	(gst_clock_get_speed):
-	* gst/gstclock.h:
-	  reset padding, remove unused fields
-
-2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	  use get_allowed_caps, not get_caps (fixes #132519)
-	* gst/elements/gsttypefind.c: (stop_typefinding):
-	  use correct order when sending buffers and seeking
-
-2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* gst/gstelement.h:
-	* gst/gstpad.h:
-	* gst/gstqueue.h:
-          upgrade libtool CURRENT, reset padding
-
-2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * configure.ac:
-          bump to prerelease
-          put back AM_PROG_LIBTOOL to make libtoolize stop complaining
-
-2004-02-04  David Schleef  <ds@schleef.org>
-
-	* docs/random/ds/0.9-suggested-changes: random notes
-	* gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
-	(gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
-	Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
-	expansion.
-	* gst/elements/gstfilesink.c: (gst_filesink_get_formats),
-	(gst_filesink_get_query_types): same
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
-	(gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
-	* gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
-	to use new GST_PTR_FORMAT.
-	* gst/gstelement.h: deprecate function factory macros
-	GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
-	These are our last variadic macros that can't be replaced with
-	inlines.  Celebrate!  Also fix a typo in an #ifdef that was
-	attempting to deprecate gst_element_clock_wait().
-	* gst/gstevent.h: same
-	* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
-	(gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
-	* gst/gstpad.h: deprecate function factory macros similar to above.
-
-2004-02-04  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* tools/Makefile.am:
-	* tools/gst-run.c: (popt_callback), (hash_print_key),
-	(find_highest_version), (unmangle_libtool), (get_dir_of_binary),
-	(get_candidates), (main):
-          add new source file to generate non-versioned wrapper binaries
-          for our tools.
-
-2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstevent.c: (_gst_event_free):
-	  actually break; inside the switch statement
-	* gst/parse/grammar.y:
-	  fix memleak where GValues weren't unset
-
-2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gststructure.c: (gst_structure_from_string):
-	  fix huge memleak
-	* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
-	(new_entry), (gst_type_find_element_chain):
-	* gst/gstelement.c: (gst_element_base_class_init),
-	(gst_element_class_set_details):
-	* gst/gstpad.c: (gst_pad_can_link_filtered):
-	  fix smaller memleaks
-	* gst/gstpad.c: (gst_real_pad_dispose):
-	  check that explicit caps are gone
-	* gst/gststructure.c: (gst_structure_free):
-	  actually free the structure
-	* gst/gstelement.c: (gst_element_clear_pad_caps):
-	  unset explicit caps
-
-2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* tools/Makefile.am:
-	  use AM_CFLAGS since all the CFLAGS are the same
-	  use AM_LDFAGS
-
-2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/gnome.xml:
-          expand example a little
-	* gst/gst.c: (gst_init_with_popt_table),
-	(gst_init_check_with_popt_table), (init_pre), (init_popt_callback):
-          make sure popt option displays are done with right textdomain
-          use GstPoptOption type
-	* gst/gst.h:
-          create GstPoptOption type
-
-2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsterror.c: (_gst_stream_errors_init):
-	* gst/gsterror.h:
-          adding error type for no codec
-	* po/POTFILES.in:
-          add gst-inspect
-	* po/nl.po:
-          update dutch translation
-	* tools/gst-inspect.c: (print_element_list), (main):
-          do proper internationalization
-	* tools/gst-launch.c: (idle_func):
-          remove commented out function call
-
-2004-02-03  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/README:
-          add some error fixing notes
-	* docs/gst/gstreamer-sections.txt:
-          remove double entries
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-          remove override
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gsttag.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/gsttag.h:
-          sync header prototypes with c decls
-	* gst/gsttaginterface.c:
-          fix doc headers
-
-2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/parse/Makefile.am:
-	* gst/gstobject.h:
-	  get rid of gstmarshal.h dependency. It's not needed.
-	* gst/gst.h:
-	* gst/elements/gstfakesink.c:
-	* gst/elements/gstfakesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/gstbin.c:
-	* gst/gstelement.c:
-	* gst/gstindex.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstthread.c:
-	* gst/gstxml.c:
-	* libs/gst/control/dparam.c:
-	* libs/gst/control/dparammanager.c:
-	  include gstmarshal.h.
-	Fixes #132045
-
-2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_init),
-	(gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
-	(gst_filesrc_map_region), (gst_filesrc_get_mmap):
-	* gst/elements/gstfilesrc.h:
-	  don't ref the filesrc when creating mmaped buffers. Don't keep a
-	  list of not-yet-destroyed buffers.
-	* gst/gstbuffer.h:
-	  Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
-
-2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst.c: (init_pre):
-          remove textdomain
-
-2004-02-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-events.xml:
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/other-manager.xml:
-	* docs/pwg/other-nton.xml:
-	* docs/pwg/other-ntoone.xml:
-	* docs/pwg/other-oneton.xml:
-	* docs/pwg/pwg.xml:
-	  All sort of documentation... Forgot what. Point is that I want this
-	  in before I leave. The 'other-*' will be the last section and will
-	  explain issues specific to these type of elements.
-
-2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
-	(gst_filesrc_get_read):
-	  set all the values on buffers that we can
-
-2004-02-02  David Schleef  <ds@schleef.org>
-
-	Change usage of isblah() to g_ascii_isblah() to be more locale
-	independent.  (#133076)
-	* gst/gsturi.c: (gst_uri_protocol_check_internal):
-	* gst/gstutils.c:
-	* gst/parse/parse.l:
-
-2004-02-02  Jon Trowbridge  <trow@gnu.org>
-
-	reviewed by: David Schleef  <ds@schleef.org>
-
-	Fix memory leaks:
-	* gst/gstcaps.c: (gst_caps_to_string):
-	* gst/registries/gstxmlregistry.c:
-	(gst_xml_registry_add_path_list_func),
-	(gst_xml_registry_parse_padtemplate):
-
-2004-02-02  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_default_error):
-          suffix error messages with period
-
-2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
-	* gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
-	* gst/gsterror.c: (gst_error_get_message):
-          Suffix with dots
-	* po/fr.po:
-	* po/nl.po:
-          Update translation files
-
-2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	* gst/elements/gstfakesink.c: (gst_fakesink_change_state):
-	* gst/elements/gstfilesink.c: (gst_filesink_open_file),
-	(gst_filesink_close_file), (gst_filesink_handle_event),
-	(gst_filesink_chain):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
-	(gst_filesrc_get_read), (gst_filesrc_open_file):
-	* gst/elements/gstidentity.c: (gst_identity_chain):
-	* gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_get),
-	(gst_pipefilter_chain), (gst_pipefilter_open_file):
-	* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
-	* gst/gsterror.c: (_gst_core_errors_init),
-	(_gst_library_errors_init), (_gst_resource_errors_init),
-	(_gst_stream_errors_init), (gst_error_get_message):
-	* gst/gstpad.c: (gst_pad_set_explicit_caps),
-	(gst_pad_recover_caps_error), (gst_pad_pull):
-	* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_chainhandler_proxy),
-	(gst_basic_scheduler_gethandler_proxy),
-	(gst_basic_scheduler_cothreaded_chain):
-          Suffix error messages with period.
-          Use (NULL) instead of NULL
-
-2004-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/gstelement.c: (gst_element_error_full):
-          add element path to error
-
-2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/random/mimetypes:
-	  update raw int/float info
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* gst/gsttag.h:
-	  add GST_TAG_ENCODER
-
-2004-01-30  David Schleef  <ds@schleef.org>
-
-	* gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
-	  missing (#132991)
-
-2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>
-
-	reviewed by Benjamin Otte 
-	  parts of the patch submitted in bug #113913
-
-	* configure.ac:
-	  use AC_C_INLINE. Use = instead of == with test
-	* examples/plugins/example.c:
-	* gst/autoplug/gstspideridentity.c:
-	* gst/elements/gstfdsrc.c:
-	* gst/elements/gstfilesrc.c:
-	* gst/elements/gstidentity.c:
-	* gst/elements/gstmultidisksrc.c:
-	* gst/elements/gststatistics.c:
-	* gst/gstelement.c:
-	* gst/gstobject.c:
-	* gst/gstpad.c:
-	* gst/gstpipeline.c:
-	* gst/gstthread.c:
-	  don't end enums with a comma
-	* gst/gstindex.c: (gst_index_compare_func):
-	  do explicit casting to gint
-	* gst/gsttrace.c: (gst_trace_text_flush):
-	  #define strsize as a macro
-
-2004-01-30  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/README:
-	* docs/gst/gstreamer-docs.sgml:
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gsterror.sgml:
-	* docs/gst/tmpl/gstinterface.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gststructure.sgml:
-	* docs/gst/tmpl/gsttag.sgml:
-	* docs/gst/tmpl/gsttaginterface.sgml:
-	* docs/gst/tmpl/gstvalue.sgml:
-	make sure all API ends up in the built docs
-	* gst/gstinterface.c:
-	* gst/gststructure.c: (gst_structure_id_set_value),
-	(gst_structure_set_value), (gst_structure_id_get_value):
-	* gst/gststructure.h:
-	* gst/gstvalue.h:
-        sync .h with .c declarations
-
-2004-01-30  Julien Moutte  <julien@moutte.net>
-
-	* libs/gst/bytestream/bytestream.c: Reverting my event handling patch.
-	Ronald will fix riffread.
-
-2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-interfaces.xml:
-	  Added tuner interface docs.
-
-2004-01-30  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/random/mimetypes:
-	  correct Theora information
-	* gst/gstelement.h:
-	  make GST_ELEMENT_ERROR do a GST_ERROR_OBJECT
-
-2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_error_full):
-	* gst/gstelement.h:
-          GST_ELEMENT_ERROR in enum -> _IN_ERROR
-
-2004-01-29  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get),
-	(gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
-	again and even before DISCONT.
-	* gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
-	* libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
-	bytestream so that it's not stopping to fill the bytestream if events
-	different than EOS or DISCONT are received. Instead it process them so
-	that they go downstream.
-
-2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	* gst/elements/gstfakesink.c: (gst_fakesink_change_state):
-	* gst/elements/gstfilesink.c: (gst_filesink_open_file),
-	(gst_filesink_close_file), (gst_filesink_handle_event),
-	(gst_filesink_chain):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
-	(gst_filesrc_get_read), (gst_filesrc_open_file):
-	* gst/elements/gstidentity.c: (gst_identity_chain):
-	* gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_get),
-	(gst_pipefilter_chain), (gst_pipefilter_open_file):
-	* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
-	* gst/gstelement.h:
-	* gst/gstpad.c: (gst_pad_set_explicit_caps),
-	(gst_pad_recover_caps_error), (gst_pad_pull):
-	* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_chainhandler_proxy),
-	(gst_basic_scheduler_gethandler_proxy),
-	(gst_basic_scheduler_cothreaded_chain):
-          gst_element_error -> GST_ELEMENT_ERROR
-
-2004-01-29  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/Makefile.am:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* docs/manuals.mak:
-	* docs/pwg/advanced-request.xml:
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-tagging.xml:
-          fix non-validating docbook using CDATA
-          make sure make check-local gets run first to check if it validates
-
-2004-01-29  Julien MOUTTE <julien@moutte.net>
-
-	* docs/pwg/advanced-events.xml: Adding documentation on advanced event
-	handling (up and downstream).
-	* docs/pwg/advanced-interfaces.xml: Make it coherent with the
-	my_filter thing.
-
-2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-tagging.xml:
-	  Add docs about tag writing.
-
-2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced-tagging.xml:
-	  Add a part about tag reading and application signalling... Tag
-	  writing still needs to be documented.
-	* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
-	  We can set file locations in READY, too.
-
-2004-01-29  Julien MOUTTE <julien@moutte.net>
-
-	* docs/random/ds/element-checklist: Adding some notes about src
-	events.
-
-2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/random/mimetypes:
-	  Update docs to point to correct elements for various mimetypes, and
-	  some more errors pointed out by St??phane LOEUILLET (aka LeRoutier)
-	  <stephane.loeuillet@tiscali.fr>.
-
-2004-01-28  David Schleef  <ds@schleef.org>
-
-	* docs/pwg/intro-basics.xml: rewrite bufferpool stuff.
-
-2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/random/mimetypes:
-	  update docs for audio/x-raw-float. Add "buffer-frames=0 means
-	  undefined"
-	* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
-	  make it only work in NULL.
-	* gst/gstcaps.c:
-	  don't posion NULL caps
-	* gst/gstelement.c: (gst_element_set_time):
-	  add debugging statement
-	* gst/gstelement.c: (gst_element_emit_found_tag),
-	(gst_element_found_tag_func), (gst_element_found_tags):
-	* gst/gstelement.h:
-	  These functions take const taglists
-	* gst/gstpad.c: (gst_pad_proxy_getcaps):
-	  fix memleak
-	* gst/gstpad.c: (gst_pad_event_default):
-	  make more effort on handling discont and clocks, g_warn if everything
-	  fails
-	* gst/gststructure.c: (gst_structure_remove_fields),
-	(gst_structure_remove_fields_valist):
-	* gst/gststructure.h:
-	  add gst_structure_remove_fields(_valist)
-	* gst/gsttag.c:
-	  fix doc glitch
-
-2004-01-28  David Schleef  <ds@schleef.org>
-
-	* docs/random/ds/element-checklist: Notes about gst_caps_to_string()
-	* gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
-	Fix memory leakage of gst_caps_to_string().
-
-	Use GST_PTR_FORMAT instead of gst_caps_to_string():
-	* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
-	* gst/autoplug/gstspideridentity.c: (spider_find_suggest),
-	(gst_spider_identity_sink_loop_type_finding):
-	* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
-	(find_suggest):
-	* gst/gstpad.c: (gst_pad_try_relink_filtered),
-	(gst_pad_set_explicit_caps):
-	* gst/parse/grammar.y:
-
-2004-01-28  David Schleef  <ds@schleef.org>
-
-	* configure.ac: Add detection for HAVE_PRINTF_EXTENSION and
-	GST_PRINTF_EXTENSION_FORMAT_DEFINE.
-	* docs/random/ds/0.9-suggested-changes: Notes from Company.
-	* gst/gstcaps.c: (gst_caps_to_string): Add comment.
-	* gst/gstconfig.h.in: Add define for GST_PTR_FORMAT
-	* gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_object),
-	(gst_debug_log_default), (_gst_info_printf_extension),
-	(_gst_info_printf_extension_arginfo):  Add printf extension.
-	* gst/gstinfo.h: remove G_GNUC_PRINTF, because it doesn't work with %P
-	* gst/gststructure.c: (gst_structure_to_string),
-	(_gst_structure_parse_value): Use gst_value_deserialize() and
-	remove old code.
-	* gst/gstvalue.c: (gst_value_deserialize_fourcc),
-	(gst_value_deserialize_boolean), (gst_strtoi),
-	(gst_value_deserialize_int), (gst_value_deserialize_double),
-	(gst_value_deserialize_string), (gst_value_deserialize): Implement
-	a bunch of deserialize functions and gst_value_deserialize.
-	* gst/gstvalue.h: er, _de_serialize, not unserialize
-	* testsuite/caps/string-conversions.c: (main): We don't currently
-	handle (float) in caps, so convert these to (double).
-	* testsuite/debug/Makefile.am: Add new test for the printf extension
-	* testsuite/debug/printf_extension.c: (main): same
-
-2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* docs/random/company/time:
-	  Add some docs about clocking and time
-
-2004-01-28  Julien MOUTTE <julien@moutte.net>
-
-	* docs/pwg/advanced-interfaces.xml: Adding XOverlay documentation.
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/pwg/advanced-clock.xml:
-	* docs/pwg/advanced-dparams.xml:
-	* docs/pwg/advanced-events.xml:
-	* docs/pwg/advanced-interfaces.xml:
-	* docs/pwg/advanced-midi.xml:
-	* docs/pwg/advanced-request.xml:
-	* docs/pwg/advanced-scheduling.xml:
-	* docs/pwg/advanced-tagging.xml:
-	* docs/pwg/advanced-types.xml:
-	* docs/pwg/appendix-checklist.xml:
-	* docs/pwg/building-boiler.xml:
-	* docs/pwg/building-chainfn.xml:
-	* docs/pwg/building-filterfactory.xml:
-	* docs/pwg/building-pads.xml:
-	* docs/pwg/building-props.xml:
-	* docs/pwg/building-signals.xml:
-	* docs/pwg/building-state.xml:
-	* docs/pwg/building-testapp.xml:
-	* docs/pwg/intro-basics.xml:
-	* docs/pwg/intro-preface.xml:
-	* docs/pwg/other-autoplugger.xml:
-	* docs/pwg/other-sink.xml:
-	* docs/pwg/other-source.xml:
-	* docs/pwg/titlepage.xml:
-          fix up id's
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/95NonPath:
-	* docs/HACKING:
-	* docs/README:
-	* docs/building-the-docs-on-debian:
-          collect relevant bits of doc info
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_tagging.xml:
-	  Half-assed commit so Thomas can re-arrange document IDs here to be
-	  consistent, too.
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manual/autoplugging.xml:
-	* docs/manual/bins-api.xml:
-	* docs/manual/bins.xml:
-	* docs/manual/buffers-api.xml:
-	* docs/manual/buffers.xml:
-	* docs/manual/clocks.xml:
-	* docs/manual/components.xml:
-	* docs/manual/cothreads.xml:
-	* docs/manual/debugging.xml:
-	* docs/manual/dparams-app.xml:
-	* docs/manual/dynamic.xml:
-	* docs/manual/elements-api.xml:
-	* docs/manual/elements.xml:
-	* docs/manual/factories.xml:
-	* docs/manual/gnome.xml:
-	* docs/manual/goals.xml:
-	* docs/manual/helloworld.xml:
-	* docs/manual/helloworld2.xml:
-	* docs/manual/init-api.xml:
-	* docs/manual/intro.xml:
-	* docs/manual/links-api.xml:
-	* docs/manual/links.xml:
-	* docs/manual/manual.xml:
-	* docs/manual/motivation.xml:
-	* docs/manual/pads-api.xml:
-	* docs/manual/pads.xml:
-	* docs/manual/plugins-api.xml:
-	* docs/manual/plugins.xml:
-	* docs/manual/programs.xml:
-	* docs/manual/queues.xml:
-	* docs/manual/quotes.xml:
-	* docs/manual/schedulers.xml:
-	* docs/manual/states-api.xml:
-	* docs/manual/states.xml:
-	* docs/manual/threads.xml:
-	* docs/manual/typedetection.xml:
-	* docs/manual/xml.xml:
-          use chapter, part, section or misc as id starts for all bits
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-          Fix up TITLE of the sections
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_interfaces.xml:
-	  Add documentation on propertyprobing.
-	* docs/pwg/advanced_events.xml:
-	* docs/pwg/advanced_tagging.xml:
-	* docs/pwg/building_boiler.xml:
-	* docs/pwg/building_filterfactory.xml:
-	* docs/pwg/pwg.xml:
-	  Move filterfactory and tagging into their own chapter, add a chapter
-	  on events. all these are empty placeholders that will be filled in
-	  some day.
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_interfaces.xml:
-	  Docs for mixer interface. Also a check for website uploading.
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/HACKING:
-	* docs/Makefile.am:
-	* docs/faq/Makefile.am:
-	* docs/gst/Makefile.am:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstplugin.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/libs/Makefile.am:
-	* docs/manual/Makefile.am:
-	* docs/manuals.mak:
-	* docs/pwg/Makefile.am:
-	* docs/upload.mak:
-          Separate out upload target and make it similar for
-          both docbook and gtk-doc docs
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/manuals.mak:
-          Fix upload target to work with freedesktop
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_types.xml:
-	  Add notes on creating your own types.
-	* docs/pwg/building_boiler.xml:
-	* docs/pwg/building_pads.xml:
-	* docs/pwg/building_state.xml:
-	  Add some stuff about how to retrieve values from structures, how
-	  that relates to types and change layout slightly again to be almost
-	  perfect.
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_dparams.xml:
-	* docs/pwg/advanced_scheduling.xml:
-	  Change index layout slightly.
-
-2004-01-28  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_clock.xml:
-	* docs/pwg/advanced_interfaces.xml:
-	* docs/pwg/advanced_midi.xml:
-	  General placeholders for now.
-	* docs/pwg/advanced_request.xml:
-	  Explanation about sometimes and request pads.
-	* docs/pwg/advanced_scheduling.xml:
-	  Concept of bytestream, loopfunctions and schedulers.
-	* docs/pwg/building_boiler.xml:
-	  Add something about plugin-init.
-
-2004-01-28  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/pwg/building_pads.xml:
-          Fix broken docbook
-
-2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_interfaces.xml:
-	* docs/pwg/pwg.xml:
-	  Add as a placeholder for future filling-in.
-	* docs/pwg/basics_autoplugging.xml:
-	* docs/pwg/basics_buffers.xml:
-	* docs/pwg/basics_elements.xml:
-	* docs/pwg/basics_events.xml:
-	* docs/pwg/basics_plugins.xml:
-	* docs/pwg/basics_types.xml:
-	  Remove, because unused (this is all in intro_basics.xml).
-	* docs/pwg/building_signals.xml:
-	  Short intro to signals + reference to GObject docs - we really
-	  shouldn't go into these sort of things to deply because we don't
-	  use them that extensively anyway.
-	* docs/pwg/building_state.xml:
-	  Explanation of states. Benjamin, please check.
-	* docs/pwg/building_testapp.xml:
-	  Put everything in one page - putting only a few lines of content
-	  per page doesn't really make sense.
-
-	  Time to get into the advanced topics. ;).
-
-2004-01-27  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_types.xml:
-	  Finish documenting the current state of mimetypes.
-	* docs/pwg/building_boiler.xml:
-	* docs/pwg/building_chainfn.xml:
-	* docs/pwg/building_pads.xml:
-	* docs/pwg/building_props.xml:
-	* docs/pwg/building_testapp.xml:
-	  Start documenting the "how to build a simple audio filter" part
-	  of the PWG. Most stuff is ready by now. Stuff remaining: signals,
-	  states and (maybe?) a short introduction to capsnego in the chapter
-	  on pads (building_pads.xml). Capsnego should probably be explained
-	  fully in advanced_capsnego.xml or so.
-
-2004-01-26  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
-	* gst/gstpad.h: Add new function to allow element to (somewhat)
-	specify non-fixed caps on a pad.
-	* gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
-	that I added a few weeks ago.
-
-2004-01-26  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_try_set_caps): Revert last change
-	  making try_set_caps() work with non-fixed caps.
-
-2004-01-26  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* docs/pwg/advanced_types.xml:
-	* docs/pwg/intro_basics.xml:
-	* docs/pwg/intro_preface.xml:
-	* docs/pwg/pwg.xml:
-	* docs/pwg/titlepage.xml:
-	  First try to resurrect the PWG. I'm halfway integrating the mimetypes
-	  in here (docs/random/mimetypes), and will from there on work on both
-	  updating outdated parts and adding missing parts.
-	  That doesn't mean I'll fix it completely, but I'll try at least. ;).
-
-2004-01-26  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsterror.h: reinstate GST_LIBRARY_ERROR_ENCODE until
-          policy is set
-
-2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstelement.h:
-	  remove gst_element_factory_get_version. It doesn't exist anymore.
-	* gst/gstplugin.c:
-	* gst/gstplugin.h:
-	  remove gst_plugin_set_name and change gst_plugin_get_longname to
-	  gst_plugin_get_description to match code.
-	* gst/gsterror.h:
-	  remove GST_LIBRARY_ERROR_ENCODE. It's GST_STREAM_ERROR_ENCODE.
-	* gst/gstpad.c: (gst_pad_try_set_caps):
-	  make it work with nonfixed caps.
-	  Note that even in the nonfixed case the link function of the pad
-	  that tries to set caps isn't called.
-
-2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
-	  fix bug where buffer was not assembled correctly
-	* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
-	  silence by default
-	* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
-	  only seek if there's no more buffers that could work without seeking
-
-2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* gst/gsttag.h:
-	  Add application tag (for encoding/muxing app).
-
-2004-01-23  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* autogen.sh:
-          make autopoint force, and libtoolize not copy
-	* common/m4/as-docbook.m4:
-          added docbook xml catalog setup check
-	* common/m4/gst-doc.m4:
-          use docbook check
-
-2004-01-22  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
-	* gst/gsttag.h:
-          add GstTagFlag
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-          sync latest API changes to docs
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstpluginfeature.c:
-          fix doc snippet
-	* tools/gst-inspect.c: (print_element_list):
-          fix output of typefind
-          add GPL header
-	* tools/gst-launch.c:
-          add GPL header
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/Makefile.am:
-	* gst/elements/gstelements.c:
-	* gst/elements/gsttypefindelement.c:
-	* gst/elements/gsttypefindelement.h:
-	* po/POTFILES.in:
-	* po/fr.po:
-	* po/nl.po:
-          renamed gsttypefindelement to gsttypefind, conserving CVS history
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsttag.c: (_gst_tag_initialize), (gst_tag_list_add_valist):
-	* gst/gsttag.h:
-          add some tags used in ogg as well
-          fix _ in replaygain tags
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsterror.h:
-          fix wrong GST_LIBRARY_ERROR_ENCODE addition
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_error_full):
-	* gst/gstelement.h:
-          change _extended to _full
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	reviewed by: <delete if not using a buddy>
-
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	* gst/gstelement.c: (gst_element_error_full):
-	* gst/gstelement.h:
-
-2004-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.h: fix _gst_element_error_printf prototype
-
-2004-01-20  David Schleef  <ds@schleef.org>
-
-	* gst/gststructure.c: (gst_structure_to_string):
-	Convert function to use gst_value_serialize().
-	* gst/gstvalue.c: (gst_value_serialize_list),
-	(gst_value_serialize_fourcc), (gst_value_serialize_int_range),
-	(gst_value_serialize_double_range), (gst_value_serialize_boolean),
-	(gst_value_serialize_int), (gst_value_serialize_double),
-	(gst_string_wrap), (gst_value_serialize_string),
-	(gst_value_serialize), (gst_value_deserialize):
-	* gst/gstvalue.h:
-	Add implementations for serialize.
-
-2004-01-20  Julien MOUTTE  <julien@moutte.net>
-
-	* gst/gsterror.h: xvidenc.c needs GST_LIBRARY_ERROR_ENCODE. Dunno if
-	we want to keep that one in the future or change xvidenc.c to use 
-	another error.
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (_gst_element_error_printf):
-	* gst/gstelement.h:
-          privatise function
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/random/error:
-          doc explaining error system
-	* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
-          cleanup
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst-i18n-app.h:
-	* gst/gst-i18n-lib.h:
-          remove inclusion of config.h
-	* po/POTFILES.in:
-	* po/nl.po:
-          add gst/gstelement.c
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/nl.po: updated Dutch translation
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gsterror.c: (_gst_core_errors_init),
-	(_gst_library_errors_init), (_gst_resource_errors_init),
-	(_gst_stream_errors_init):
-        remove ending punctuation dots
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/elements/gstfilesink.c: (gst_filesink_open_file):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_get_read):
-	* gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_get),
-	(gst_pipefilter_chain), (gst_pipefilter_open_file):
-        use GST_ERROR_SYSTEM
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.c: (gst_element_error_printf),
-	(gst_element_error_extended):
-	* gst/gstelement.h:
-          add a helper printf function so we can have NULL values passed.
-
-2004-01-19  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstelement.h:
-          add G_STMT macros to gst_element_error, which isn't strictly
-          necessary but people tell me to anyway.
-
-2004-01-18  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/Makefile.am:
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	* gst/elements/gstfakesink.c: (gst_fakesink_change_state):
-	* gst/elements/gstfilesink.c: (gst_filesink_open_file),
-	(gst_filesink_close_file), (gst_filesink_handle_event),
-	(gst_filesink_chain):
-	* gst/elements/gstfilesrc.c: (gst_filesrc_set_property),
-	(gst_filesrc_map_region), (gst_filesrc_get_read),
-	(gst_filesrc_open_file):
-	* gst/elements/gstidentity.c: (gst_identity_chain):
-	* gst/elements/gstmultidisksrc.c: (gst_multidisksrc_open_file):
-	* gst/elements/gstpipefilter.c: (gst_pipefilter_get),
-	(gst_pipefilter_chain), (gst_pipefilter_open_file):
-	* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
-	* gst/gst.h:
-	* gst/gst_private.h:
-	* gst/gstelement.c: (gst_element_class_init),
-	(gst_element_default_error), (gst_element_error_func),
-	(gst_element_error_extended):
-	* gst/gstelement.h:
-	* gst/gsterror.c: (_gst_core_errors_init),
-	(_gst_library_errors_init), (_gst_resource_errors_init),
-	(_gst_stream_errors_init), (gst_error_get_message):
-	* gst/gsterror.h:
-	* gst/gstinfo.c: (_gst_debug_init):
-	* gst/gstmarshal.list:
-	* gst/gstpad.c: (gst_pad_set_explicit_caps),
-	(gst_pad_recover_caps_error), (gst_pad_pull):
-	* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_chainhandler_proxy),
-	(gst_basic_scheduler_gethandler_proxy),
-	(gst_basic_scheduler_cothreaded_chain):
-	* po/POTFILES.in:
-	* po/fr.po:
-	* po/nl.po:
-          change error signal
-          add error categories
-
-2004-01-18  Jeremy Simon  <jesimon@libertysurf.fr>
-
-	* gst/gsttag.c: (_gst_tag_initialize):
-	* gst/gsttag.h:
-	Add replaygain tag
-
-2004-01-18  Colin Walters  <walters@verbum.org>
-
-	* examples/retag/retag.c: Call gst_init before processing
-	program args.  Add g_assert to _link_many call.
-
-2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstpad.c: (gst_pad_alloc_buffer):
-	  Return a newly allocated buffer when the pad has no peer.
-
-2004-01-16  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstclock.c: (gst_clock_get_time):
-	  make it compile with gcc 2.95 again.
-	  Patch by Scott Wheeler
-
-2004-01-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.h:
-	Added gst_caps_is_simple() macro.
-	* testsuite/caps/caps.c: (test1):
-	* testsuite/caps/intersect2.c: (main):
-	* testsuite/caps/intersection.c: (main):
-	Fixes to make 'make check' work again after removing
-	gst_caps_is_chained().
-
-2004-01-15  Leif Johnson <leif@ambient.2y.net>
-
-	* docs/random/uraeus/gstreamer_and_midi.txt: Rather large edits
-	and additions to the MIDI document.
-
-2004-01-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstelement.c: (gst_element_get_compatible_pad_filtered),
-	(gst_element_link_pads_filtered): Use GST_PAD_ macros instead
-	of GST_RPAD_, since we don't know if it's a real or ghost pad.
-
-2004-01-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstqueue.c:
-	* gst/gstqueue.h:
-	Fix the spelling of "treshold" and make min_threshold actually
-	affect the queue.
-
-2004-01-15  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c:
-	Add lots of documentation.
-	* gst/gstcaps.h:
-	Deprecate a few functions.
-	* gst/gstpad.c:
-	Removed use of deprecated functions.
-
-2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstpad.c: (gst_pad_is_linked):
-	* gst/gstpad.h:
-	  implement gst_pad_is_linked
-	* gst/gstelement.h:
-	  reserve space for initiate_state_change
-
-2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstspideridentity.c:
-	(gst_spider_identity_sink_loop_type_finding):
-	  break infinite loop by just returning instead of looping
-	* gst/gstclock.c: (gst_clock_class_init), (gst_clock_set_property):
-	  set event time difference correctly. Set it to 1 second instead
-	  of 100ms to be more tolerant
-	* gst/gstelement.c: (gst_element_set_time):
-	  add debugging output
-
-2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
-	  query if buffers are inside the pool, ignore events
-
-2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
-	(gst_clock_set_speed), (gst_clock_set_active),
-	(gst_clock_is_active), (gst_clock_reset),
-	(gst_clock_handle_discont):
-	* gst/gstclock.h:
-	  deprecate old interface and disable functions that aren't in use
-	  anymore.
-	* gst/gstelement.h:
-	* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
-	(gst_element_set_time), (gst_element_adjust_time):
-	  add concept of "element time" and functions to get/set this time.
-	* gst/gstelement.c: (gst_element_change_state):
-	  update element time correctly.
-	* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
-	  This is a debug message, not a g_critical.
-	* gst/gstpad.c: (gst_pad_event_default):
-	  handle discontinuous events right with element time.
-	* gst/gstscheduler.c: (gst_scheduler_state_transition):
-	  update to clocking fixes.
-	  set clocks on elements in READY=>PAUSED. The old behaviour caused
-	  a wrong element time on the first element that started playing.
-	* gst/schedulers/gstbasicscheduler.c:
-	(gst_basic_scheduler_class_init):
-	* gst/schedulers/gstoptimalscheduler.c:
-	(gst_opt_scheduler_class_init):
-	  remove code that just implements the default behaviour.
-	* gst/elements/gstfakesink.c: (gst_fakesink_chain):
-	  update to use new clocking functions
-	* testsuite/clock/clock1.c: (gst_clock_debug), (main):
-	* testsuite/clock/clock2.c: (gst_clock_debug), (main):
-	  update to test new element time.
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
-	  use _get_allowed_caps instead of _get_caps. This catches filtered
-	  caps correctly.
-	* testsuite/debug/commandline.c:
-	  update for new GST_DEBUG syntax.
-	* testsuite/threads/Makefile.am:
-	  disable a test that only works sometimes.
-
-2004-01-13  Julien MOUTTE <julien@moutte.net>
-
-	* po/LINGUAS: Adding fr.
-	* po/fr.po: Adding french translation.
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/parse/grammar.y:
-	* po/POTFILES.in:
-	* po/nl.po:
-	* tools/gst-launch.c: (xmllaunch_parse_cmdline), (main):
-          translate parsing error messages
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/POTFILES.in: adding gst-launch
-	* po/nl.po: updated translation, all 99 strings translated
-	* tools/gst-launch.c: (idle_func), (xmllaunch_parse_cmdline),
-	(found_tag), (sigint_handler_sighandler), (play_handler), (main):
-          fix strings for translation
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * gst/gst.c:
-          - capitalize beginnings of popt options
-          - fix strings for translation
-          - change gst-debug format from =N1=V1:N2=V2 to =N1:V1,N2:V2
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* po/README: add some notes on how to update translations
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* ABOUT-NLS: removed, is autogenerated from autopoint
-	* autogen.sh: add autopoint stuff
-	* configure.ac: fix up gettext stuff
-	* gst/Makefile.am: add i18n headers to noinst_HEADERS
-	* gst/elements/gsttypefindelement.c: add header include
-	* gst/gettext.h: add header, copy from system-installed header
-        * gst/gst-i18n-app.h: to be included by each app having translations
-        * gst/gst-i18n-lib.h: to be included by each lib having translations
-	* gst/gst.c: (init_pre): fix up gettext calls
-	* gst/gst_private.h: remove i18n stuff, moving to separate headers
-	* po/LINGUAS: the new way to specify translations present
-	* po/Makefile.in.in: removed from cvs, autogenerated from autopoint
-	* po/Makevars: the variables filled in for GStreamer
-	* po/POTFILES.in: added new files with translations
-	* po/de.po: has new strings
-	* po/nl.po: readded, has new strings
-
-2004-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * gst/gsttag.c: fix some strings marked for translation
-
-2004-01-13  Iain <iain@prettypeople.org>
-
-	* gst/schedulers/gstoptimalscheduler.c (add_to_group): Reference the
-	group when we add an element to it, cos we unref it when we remove one
-
-2004-01-12  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* testsuite/debug/commandline.c: (debug_not_reached):
-	* testsuite/debug/output.c: (check_message):
-          fix testsuite
-
-2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* examples/cutter/.cvsignore:
-	* examples/helloworld/.cvsignore:
-	* examples/launch/.cvsignore:
-	* examples/manual/.cvsignore:
-	* examples/mixer/.cvsignore:
-	* examples/pingpong/.cvsignore:
-	* examples/plugins/.cvsignore:
-	* examples/queue/.cvsignore:
-	* examples/queue2/.cvsignore:
-	* examples/queue3/.cvsignore:
-	* examples/queue4/.cvsignore:
-	* examples/retag/.cvsignore:
-	* examples/thread/.cvsignore:
-	* examples/typefind/.cvsignore:
-	* examples/xml/.cvsignore:
-	* gst/.cvsignore:
-	* gst/autoplug/.cvsignore:
-	* gst/elements/.cvsignore:
-	* gst/indexers/.cvsignore:
-	* gst/parse/.cvsignore:
-	* gst/registries/.cvsignore:
-	* gst/schedulers/.cvsignore:
-	* libs/gst/bytestream/.cvsignore:
-	* libs/gst/control/.cvsignore:
-	* libs/gst/getbits/.cvsignore:
-	* tests/.cvsignore:
-	* tests/bufspeed/.cvsignore:
-	* tests/instantiate/.cvsignore:
-	* tests/memchunk/.cvsignore:
-	* tests/muxing/.cvsignore:
-	* tests/sched/.cvsignore:
-	* tests/seeking/.cvsignore:
-	* tests/threadstate/.cvsignore:
-	* testsuite/.cvsignore:
-	* testsuite/caps/.cvsignore:
-	* testsuite/cleanup/.cvsignore:
-	* testsuite/dynparams/.cvsignore:
-	* testsuite/plugin/.cvsignore:
-	* tools/.cvsignore:
-	  update - this is huge, because it includes *.bb, *.bbg and *.da files
-	  which are generated for gcov.
-
-2004-01-11  David Schleef  <ds@schleef.org>
-
-	* gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add
-	a function to parse integers in ways that strto[u]l() does not.
-
-2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* tools/gst-inspect.c: (print_caps):
-	  improve output of caps a bit
-
-2004-01-11  David Schleef  <ds@schleef.org>
-
-	* gst/gstbuffer.c: (gst_buffer_create_sub): Subbuffers should
-	inherit correct flags (READONLY and DONTKEEP).
-
-2004-01-11  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
-	(gst_filesrc_map_region):
-	* gst/gstbuffer.c: (_gst_buffer_initialize),
-	(_gst_buffer_sub_free), (gst_buffer_default_copy),
-	(gst_buffer_new), (gst_buffer_create_sub),
-	(gst_buffer_is_span_fast), (gst_buffer_span):
-	* gst/gstbuffer.h:
-	Change GstBuffer private structure element names. (all files)
-	* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
-	(gst_queue_link):
-	* gst/gstqueue.h:
-	Implement getcaps/pad_link functions that handle the case where
-	there are data in the queue.
-
-2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstbufferstore.c:
-	  initialize debugging structure correctly
-	* gst/elements/gsttee.c: (gst_tee_set_property):
-	  g_object_notify when property was changed
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_change_state):
-	  clear caps correctly
-
-2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstqueue.c: (gst_queue_init):
-	  Use better defaults for when a queue should block. This
-	  gets rid of jerky playback for quite a few files.
-	  It takes more memory.
-
-2004-01-10  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	(gst_xml_registry_parse_padtemplate):
-          make critical message slightly more useful
-
-2004-01-10  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstinfo.c: (gst_debug_log), (gst_debug_log_valist),
-	(gst_debug_message_get), (gst_debug_log_default):
-	* gst/gstinfo.h:
-	  Change gst_debug_log(_valist) to take a const format string.
-	  Change prototype of log function and functions using those to 
-	  take a GstDebugMessage instead of a string that requires using
-	  gst_debug_message_get.
-
-2004-01-08  David Schleef  <ds@schleef.org>
-
-	* Makefile.am:
-	* configure.ac:
-	Add option --enable-gcov to build GStreamer with -fprofile-arcs
-	and -ftest-coverage, which allows gcov to show information about
-	testsuite coverage.
-
-2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstutils.h:
-	  Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
-	  GST_PARENT_CALL_WITH_DEFAULT
-	* gst/elements/gstaggregator.c: 
-	* gst/elements/gstbufferstore.c: 
-	* gst/elements/gstfakesink.c: 
-	* gst/elements/gstfakesrc.c: 
-	* gst/elements/gstfdsink.c: 
-	* gst/elements/gstfdsrc.c: 
-	* gst/elements/gstfilesink.c: 
-	* gst/elements/gstfilesrc.c: 
-	* gst/elements/gstidentity.c: 
-	* gst/elements/gstmd5sink.c: 
-	* gst/elements/gstmultidisksrc.c:
-	* gst/elements/gstpipefilter.c: 
-	* gst/elements/gstshaper.c:
-	* gst/elements/gststatistics.c:
-	* gst/elements/gsttee.c:
-	* gst/elements/gsttypefindelement.c:
-	  use them.
-
-2004-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-docs.sgml: remove props
-	* docs/gst/gstreamer-sections.txt: remove props
-	* docs/gst/tmpl/gst.sgml:
-	* docs/gst/tmpl/gstbin.sgml:
-	* docs/gst/tmpl/gstbuffer.sgml:
-	* docs/gst/tmpl/gstcaps.sgml:
-	* docs/gst/tmpl/gstclock.sgml:
-	* docs/gst/tmpl/gstelement.sgml:
-	* docs/gst/tmpl/gstindex.sgml:
-	* docs/gst/tmpl/gstobject.sgml:
-	* docs/gst/tmpl/gstpad.sgml:
-	* docs/gst/tmpl/gstpadtemplate.sgml:
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-	* docs/gst/tmpl/gstthread.sgml:
-	* docs/gst/tmpl/gstxml.sgml:
-	  sync with code reorganization
-
-2004-01-07  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
-	Make the 'Could not find compatible pad' message more informative.
-
-2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-                                                                                
-        * gst/elements/gstfilesink.c: (gst_filesink_set_location):
-          Fix for if we pass NULL as property to location.
-        * gst/elements/gstpipefilter.c: (gst_pipefilter_init),
-        (gst_pipefilter_handle_event), (gst_pipefilter_chain):
-          Fix for instantiate-test (see below).
-        * gst/gststructure.c: (_gst_structure_parse_value):
-          Fix compile error on gcc-2.96.
-        * configure.ac:
-        * tests/Makefile.am:
-        * tests/instantiate/Makefile.am:
-        * tests/instantiate/create.c: (create_all_elements), (main):
-          Add a test that instantiates all elements. This makes it easy to
-          track dead code for old API/design (like setting event functions
-          on sink pads and so on).
-
-2004-01-06  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* gst/gstcaps.c: (gst_caps_append_structure):
-	  Move the poisoning to allow a NULL structure
-	* gst/gstevent.c: (_gst_event_free):
-	  When freeing a navigation event, free the structure
-	  also
-
-2004-01-04  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
-	Remove usage of gst_pad_proxy_fixate.
-	* gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
-	(gst_caps_split_one), (gst_caps_replace):
-	Add poisoning code.
-	* gst/gstmarshal.list:
-	Add pointer__pointer for fixate signal
-	* gst/gstpad.c: (gst_real_pad_class_init),
-	(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
-	(_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
-	(gst_pad_set_explicit_caps), (gst_pad_template_new):
-	Add poisoning code. Add fixate signal on RealPad. Change
-	set_explicit_caps() to take const GstCaps, like try_set_caps().
-	* gst/gstpad.h:
-	* testsuite/caps/Makefile.am:
-	* testsuite/caps/app_fixate.c: Add a test for the fixate signal
-
-2004-01-03  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gsttypefindelement.c:
-	(gst_type_find_element_have_type), (gst_type_find_element_init):
-	Use gst_pad_use_explicit_caps for src pad.
-	* gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
-	before using it.
-
-2004-01-03  David Schleef  <ds@schleef.org>
-
-	* gst/gstelement.c: (gst_element_link_pads_filtered),
-	(gst_element_negotiate_pads): Fix to allow DELAYED to indicate
-	that linking was successful.
-	* gst/gstpad.c: (gst_pad_link_free),
-	(gst_pad_link_call_link_functions), (gst_pad_link_negotiate),
-	(gst_pad_link_try), (gst_pad_link_unnegotiate),
-	(gst_pad_unnegotiate), (gst_pad_set_explicit_caps): Pass
-	GstPadLinkReturn correctly between functions, and don't fail
-	when DELAYED is used (DELAYED is very important).  Better
-	cleanup on unlinking and unnegotiation.  Should fix some spider
-	bugs.
-
-2004-01-02  David Schleef  <ds@schleef.org>
-
-	* gst/gstelement.c: (gst_element_class_init),
-	(gst_element_base_class_init): ->padtemplates should be cleared
-	in base_init, since we need to have a fresh list for every
-	class.  (Alternately, we chould copy the list and share the
-	actual pad templates (not the list), but that would require
-	changing every plugin to move pad template registration from
-	base_init to class_init.)
-
-2004-01-03  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstelement.c: (gst_element_class_add_pad_template):
-	  Refuse registering a pad template if another pad template
-	  with the same name already exists (#114715).
-
-2004-01-02  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (_gst_structure_is_equal_foreach),
-	(gst_caps_is_equal_fixed): Add new function.
-	* gst/gstcaps.h: ditto.
-	* gst/gstpad.c: (gst_real_pad_class_init),
-	(gst_pad_link_call_link_functions), (gst_pad_try_set_caps),
-	(gst_pad_set_explicit_caps), (gst_pad_get_caps):  In try_set_caps,
-	check new caps against existing caps -- if they're the same, return
-	OK without renegotiating.  caps-nego-failed signal fixed so that
-	the marshaller isn't VOID__OBJECT.  Also changed to G_TYPE_POINTER
-	to save an extra caps copy.  Don't complete negotiation if a pad
-	link function returns DELAYED.
-
-2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstpad.c: (gst_pad_try_relink_filtered):
-	  Fix wrong g_return_if_fail
-
-2004-01-03  Jan Schmidt  <thaytan@mad.scientist.com>
-
-	* gst/gstbin.c: (gst_bin_class_init):
-	Change the marshalling of element_added/element_removed
-	to use gst_marshal_VOID__OBJECT, since gst_marshal_VOID__POINTER 
-	complains that GST_TYPE_ELEMENT is not G_TYPE_POINTER
-
-2004-01-01  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_set_explicit_caps),
-	(gst_pad_explicit_getcaps), (gst_pad_explicit_link),
-	(gst_pad_use_explicit_caps):
-	* gst/gstpad.h:
-	Add new functions.  gst_pad_use_explicit_caps() sets up a pad
-	to use an internal getcaps and link fuction so that negotiation
-	always results in the explicitly set caps.
-	gst_pad_set_explicit_caps() sets the explicit caps.  These functions
-	are particularly useful for decoders.
-
-2003-12-31  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstidentity.c: (gst_identity_class_init),
-	(gst_identity_init), (gst_identity_chain),
-	(gst_identity_set_property), (gst_identity_get_property):
-	* gst/elements/gstidentity.h:
-	* gst/gstqueue.c: (gst_queue_init):
-	  Negotiation fixes.
-
-2003-12-31  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_intersect),
-	(_gst_caps_normalize_foreach), (gst_caps_normalize):
-	  Implement gst_caps_normalize().
-	* testsuite/caps/normalisation.c: (main):
-	  Add an additional test
-
-2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_init):
-	  use gst_pad_proxy_getcaps()
-
-2003-12-31  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstshaper.c: (gst_shaper_link):
-	* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
-	* gst/gstqueue.c: (gst_queue_link):
-	  Negotiation fixes.
-
-2003-12-31  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_proxy_pad_link), (gst_pad_proxy_fixate):
-	* gst/gstpad.h: Add functions that are useful as default pad
-	link and fixate functions for elements.
-
-2003-12-30  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c: (gst_pad_link_try):
-	  Fix segfault when attempting to return to old caps
-
-2003-12-29  David Schleef  <ds@schleef.org>
-
-	* gst/gstcaps.c: (gst_caps_normalize), (simplify_foreach),
-	(gst_caps_structure_simplify), (gst_caps_simplify):
-	* gst/gstcaps.h:
-	  Add simplify function
-	* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps),
-	(gst_pad_perform_negotiate), (gst_pad_is_negotiated):
-	* gst/gstpad.h:
-	  Copy over srcnotify, sinknotify when calling old pad_link
-	  functions.  Add new is_negotiated() function.
-	* gst/gststructure.c: (gst_structure_copy):
-	  Fix an incredibly stupid bug that should have been noticed
-	  weeks ago.  _copy() returned the argument, not the new copy.
-
-2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/gstcaps.c: (gst_caps_append):
-	  add sanity checks
-	* gst/gstcaps.h: (gst_caps_debug):
-	  remove, it doesn't exist anymore.
-	* gst/gstelement.c: (gst_element_threadsafe_properties_pre_run),
-	(gst_element_threadsafe_properties_post_run):
-	  make debugging messages not clutter up THREAD debug category
-	(gst_element_negotiate_pads), (gst_element_clear_pad_caps),
-	(gst_element_change_state):
-	  update to new caps API
-	* gst/gstinterface.c: (gst_implements_interface_cast):
-	  don't put vital code in g_return_if_fail
-	* gst/gstpad.c: (gst_pad_link_try), (gst_pad_try_set_caps), 
-	(gst_pad_link_filtered):
-	  add pst_pad_try_link and use it.
-	(gst_pad_perform_negotiate), (gst_pad_renegotiate):
-	  implement correctly, deprecate first one.
-	(gst_pad_link_unnegotiate), (gst_pad_unnegotiate):
-	  add and implement.
-	(gst_pad_try_relink_filtered), (gst_pad_relink_filtered):
-	  implement.
-	(gst_pad_get_negotiated_caps):
-	  add and implement. Make GST_PAD_CAPS call this function.
-	(gst_pad_get_caps):
-	  remove unneeded check..
-	(gst_pad_recover_caps_error):
-	  disable, always return FALSE.
-	(gst_real_pad_dispose):
-	  don't free caps and appfilter anymore, they're unused.
-	* gst/gstpad.h:
-	  Reflect changes mentioned above.
-	* gst/gstsystemclock.c: (gst_system_clock_wait):
-	  Make 'clock is way behind' a debugging message.
-	* gst/gstthread.c: (gst_thread_change_state):
-	  Fix debugging message
-
-2003-12-25  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstinfo.h:
-          fix GST_DEBUG_CATEGORY_INIT gtk-doc description
-	* docs/gst/tmpl/gstreamer-unused.sgml:
-          removed all traces of cvs conflicts
-
-2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* configure.ac:
-	* gst/schedulers/cothreads_compat.h:
-	* libs/Makefile.am:
-          remove last instances of wingo cothread usage
-
-2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstplugin.c:
-	* gst/gstversion.h.in:
-	* gst/parse/grammar.y:
-          change comment block from /** to /* when not gtk-doc comments
-
-2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * gst/gst.c: whitespace and doc style fixes
-
-2003-12-24  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gstformat.h: remove trailing whitespace from enum for gtk-doc
-
-2003-12-24  Colin Walters  <walters@verbum.org>
-
-	* gst/elements/gsttypefindelement.c:
-	  gst/elements/gsttypefindelement.h: Make GstCaps parameter const.
-	  Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED.
-	  Don't double-free caps.
-
-2003-12-23  David Schleef  <ds@schleef.org>
-
-	* gst/gstelement.c, gst/gstpad.c, gst/parse/grammar.y,
-	  gst/gstcaps.c, gst/autoplug/gstspideridentity.c:
-	  Many little fixes and additions of debug statements to
-	  get rhythmbox working.
-
-2003-12-23  Colin Walters  <walters@verbum.org>
-
-	* gst/autoplug/gstspideridentity.c (gst_spider_identity_sink_loop_type_finding):
-	Use GST_PAD_LINK_SUCCESSFUL.
-
-2003-12-23  David Schleef  <ds@schleef.org>
-
-	* gst/elements/gstaggregator.c:
-	* gst/elements/gsttee.c:
-	  Use gst_pad_proxy_getcaps().
-	* gst/gstpad.c:
-	* gst/gstpad.h:
-	  Add gst_pad_proxy_getcaps(), which filter elements can use
-	  as a generic getcaps implementation.
-	  Fix gst_pad_get_allowed_caps().  It just wasn't doing what
-	  was advertised.
-
-2003-12-23  David Schleef  <ds@schleef.org>
-
-	* gst/gstpad.c:
-	  Rearrange/rewrite much of the pad negotiation code, since it
-	  resembled pasta.  This actually changes the way some
-	  negotiation works, since the previous code was inconsistent
-	  depending on how it was invoked.  Add (internal) structure
-	  GstPadLink, which is used to hold some information (more in
-	  the future) about the link between two pads.  Fixes a number
-	  of bugs, including random lossage of filter caps when the
-	  initial negotiation is delayed.  A few functions are still
-	  unimplemented.
-	* gst/gstpad.h:
-	  Add GST_PAD_LINK_{SUCESSFUL|FAILED}() macros.  Please use
-	  these when testing GstPadLinkReturn values instead of comparing
-	  directly.
-
-2003-12-23  David Schleef  <ds@schleef.org>
-
-	* gst/gstvalue.c: 
-	* gst/gstvalue.h:
-	  Rearrange lots of code.  Change registration of compare function
-	  into registration of compare/serialize/deserialize functions.
-	  Doesn't include implementation of gst_value_[de]serialize(),
-	  but that should be easy.
-
-2003-12-23  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* docs/gst/gstreamer-sections.txt:
-	* docs/gst/tmpl/gstprops.sgml: removed
-        * docs/gst/tmpl/gstreamer-bufferpool.sgml: removed
-          David removed props and caps code, so let's remove their docs as well.
-          Removed all no longer existing symbols from gstreamer-sections.txt
-          
-2003-12-22  Colin Walters  <walters@verbum.org>
-
-	* gst/gsttaginterface.c, gst/gsttaginterface.h,
-	  gst/gsttag.c, gst/gsttag.h:  Add interface to setting GValues
-	  of tags directly.
-
-2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/elements/gstelements.c:
-	  Set ranks of elements to NONE, so the autoplugger doesn't use them.
-	* gst/elements/gstshaper.c: (gst_shaper_getcaps):
-	  Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
-	  gst_caps (peer).
-
-2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>
-
-	* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
-	* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link),
-	(gst_spider_identity_getcaps), (gst_spider_identity_change_state),
-	(gst_spider_identity_sink_loop_type_finding):
-	* gst/autoplug/gstspideridentity.h:
-	  Fix autoplugging in spider element, so it works with new caps.
-	  This was mainly caused by identifying empty caps incorrectly.
-
-2003-12-22  David Schleef  <ds@schleef.org>
-
-	* gststructure.c, gstvalue.c, gstvalue.h: Add
-	  gst_value_init_and_copy() and use it, to avoid silly mistakes in
-	  using g_value_copy()
-
-2003-12-21  David Schleef  <ds@schleef.org>
-
-	* many, many files: Merge CAPS branch.  This includes:
-	  - implemention of GstValue and several GstValue types
-	  - implemention of GstStructure
-	  - entire rewrite of GstCaps
-	  - removal of GstProps
-	  - many changes to GstPad to compensate for new caps paradigm
-	  - removal of GstBufferpool
-	* gst/Makefile.am, gst/gst.h, gst/gstpad.h, gst/gsttypefind.h,
-	gstvalue.h, gst/gstcaps[2]*.[ch]:
-	  - rename gstcaps2.[ch] to gstcaps.[ch]
-
-2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>
-
-	* gst/gstqueue.c: (gst_queue_handle_pending_events),
-	(gst_queue_chain), (gst_queue_handle_src_event):
-	  implement timeout for sending events. Workaround for if the
-	  pipeline on this queue is not passing any data.
-
-2003-12-21  Ronald Bultje <rbultje@ronald.bitfreak.net>
-                                                                                
-        * ChangeLog: moved to gstreamer/docs/random/old/ChangeLog.gstreamer
-        * moved CVS to freedesktop.org
diff --git a/docs/random/TODO-pre-0.9 b/docs/random/TODO-pre-0.9
deleted file mode 100644
index 248024a..0000000
--- a/docs/random/TODO-pre-0.9
+++ /dev/null
@@ -1,170 +0,0 @@
-TODO:
------
-
-short term core API stability
------------------------------
-
-Changes that probably impact the API, careful discussion (IRC) + design doc is required
-before changes are accepted.
-
-target release ! description
-               !
-  0.4.1        ! expose and API to query the supported seek formats/flags on
-  (done)       ! pads, something like an extra arg to gst_pad_set_convert_function
-               ! and gst_pad_set_event_function with some function to query the 
-               ! flags and formats. more ideas in docs/random/wtay/query_events
-	       !  (API: medium difficulty)
-	       !
-  0.4.1        ! add event for segment playback/looping and seeking (docs/random/wtay/segments)
-  (done)       !  (API: medium difficulty, plugins: HARD to very HARD)
-	       !
-    ?          ! add event to adjust rate (reverse playback, slow motion, frame skipping)
-               ! (docs/random/wtay/rate_event)
-	       !  (API: medium difficulty, plugins: HARD to very HARD)
-	       ! 
-    ?	       ! add method in the scheduler to set the entry point (frame stepping?)
-	       ! (docs/random/wtay/scheduler_entry)
-    	       !  (API: moderatly EASY, scheduler implementation MEDIUM)
-	       !
-   0.6.0       ! create a design doc for a timecache implementation, 
-   (done)      ! (docs/wtay/random/timecache)
-    	       !  (API: MEDIUM, needs lots of discussion, plugin implementation MEDIUM to HARD)
-	       ! (done: implemented using GstIndex base class + subclasses)
-	       !
-    ?	       ! implement a QoS event and a policy for handling the event.
-               !  (API: kindof EASY, plugins MEDIUM to very HARD)
-	       !
-   0.4.1       ! implement user defined GstFormat values, make a format factory etc..
-   (done)      !  (API: MEDIUM, plugins MEDIUM)
-	       !
-    ?	       ! strip the API to a bare bones minimal set of functions, leave the automatic
-               ! stuff to the app instead of forcing a policy in the core.
-	       ! create a library with useful higher level function for people who don't want
-	       ! to deal with the lowlevel stuff.
-	       ! (HARD, need to negotiate with people :))
-	       !
-    ?	       ! use GMarkup to load/save objects, remove dependency on libxml2
-               ! (MEDIUM) breaks API/ABI compatibility
-	       !
-	       
-
-shortterm core feature enhancements
------------------------------------
-
-   0.4.1       ! Implement PAD_DISABLED. This requires simple checks in the scheduler so that
-               ! it doesn't try to pull/push data from/to a disabled pad.
-	       ! When an element goes to the PAUSED state, all of its pads should be disabled. 
-	       ! This should also work for ghostpads.
-               !  (API: MEDIUM to moderatly HARD, requires some scheduler understanding)
-
-
-short term usability
---------------------
-
-Writing docs is NOT boring, you learn a lot, you get insight in stuff, you help a lot
-of people, hey! you might even find YOUR book on a shelf in a bookstore!!
-
-
-    ?          ! plugin writers guide
-               ! (we have almost nothing, so any start is welcomed)
-	       ! (MEDIUM)
-               !
-    ?          ! app writers guide needs to cover common tips and tricks and HOWTOs
-               ! (MEDIUM)
- 
-
-short to midterm policy definition
-----------------------------------
-
-Policy definition is closely related to a HOWTO but sometimes needs some thinking.
-
-
-    ?          ! document thread safety guidelines, what stuff needs locking in the app, what
-               ! is done in the core.
-	       ! most of this stuff is in the heads of various people but needs to be written
-	       ! down so that people get more insights into the design and vision of GStreamer.
-	       ! (MEDIUM, some research and discussion needed)
-	       !
-    ?	       ! a step by step guide to the implementation of various events in a plugin, what can you
-	       ! do, when is data passing forbidden etc..
-	       ! (MEDIUM, some research needed)
-	       ! 
-    ?	       ! figure out a policy for the NEW_MEDIA event
-	       ! (MEDIUM to HARD)
-	       !
-    ?          ! figure out how to better handle clock resync
-	       ! (MEDIUM to HARD)
-	       !
-            
-
-midterm feature enhancement
----------------------------
-   
-  0.6.0        | Define and implement a syntax in gst_parse to handle filtered pad connections.
-  (done)       | (MEDIUM)
-	       |
-    ?          | Figure out a way to set properties on schedulers (and bins?) from gst_parse.
-               | (MEDIUM)
-	       |
-    ?          | Make gst-inspect do inspection of plugins, schedulers, autopluggers, types.
-               | An idea would be to make -inspect output an XML representation of the objects
-	       | and use XSLT to transform this into text, HTML, docbook, ...
-               | (MEDIUM to EASY)
-	       |
-
-
-midterm (longterm) optimisations
---------------------------------
-
-These optimisations can be done without changing the existing API.
-
-
- (in progress) ! implement an optimal scheduler that uses chaining when possible
-               ! (HARD, requires detailed knowledge of element scheduling)
-	       !
-    ?	       ! alternatively optimisations to the current scheduler can be done such
-	       ! as: do nothing when the pipeline structure (or chain) has not changed
-	       ! (MEDIUM)
-	       !
-    ?	       ! GstQueue is a little mess. implement a better queue (lockfree?), refactor
-               ! queueing policy (max buffer, max time, levels etc..)
-	       ! (MEDIUM to farily EASY)
-
-
-longterm feature enhancements
------------------------------
-
-Various features that are not critical yet.
-
-    ?          ! factory aliases. map a generic name like "videosink" to and actual
-               ! user configurable plugin (aasink, sdlsink, xvideosink, ...)
-	       ! (MEDIUM)
-	       !
-    ?          ! property proxy in compound elements. not sure if it's possible at all.
-               ! what with elements with the same property?
-	       ! (MEDIUM, needs some thinking)
-               !
-    ?          ! Make _pad_select work for muxers
-               ! (MEDIUM to HARD)
-
-
-needs consensus
----------------
-
-Some stuff that needs to be figured out based on a pro/con comparison.
-
-    ?          ! can we decide on the fact that downstream events are traveling using the
-               ! scheduler? do we need to reevaluate that design decision?
-	       ! (MEDIUM, needs pros vs cons document)
-
-
-benchmarks
-----------
-
-Benchmarks are always good to get acceptance in a wider comunity or to identify performance 
-problems that need fixing.
-
-    ?          ! do a latency comparison with popular other frameworks, document GStreamer
-               ! overhead.
-	       ! (MEDIUM to somewhat EASY)
-	       ! 
diff --git a/docs/random/autoplug1 b/docs/random/autoplug1
deleted file mode 100644
index f3f94df..0000000
--- a/docs/random/autoplug1
+++ /dev/null
@@ -1,206 +0,0 @@
-COMPLETELY OUTDATED
--------------------
-
-
-A little explanation of the first autoplugger in GStreamer:
-
-Autoplugging is implemented in the following places:
-
- gstpipeline.c : construction of the pipeline
- gstautoplug.c : selection of the elementfactories needed for autoplugging
-
-1) pipeline setup
------------------
-
-before any autoplugging will take place, a new GstPipeline has to be created.
-The autoplugger needs to have a src element and one or more sink elements. the
-autoplugger will try to find the elements needed to connect the src element
-to the sinks.
-
-using:
-
-  gst_pipeline_add_src (GstPipeline *pipeline, GstElement *element);
-
-a source element is added to the pipeline. only one src element can be added
-for now.
-
-using:
-
-  gst_pipeline_add_sink (GstPipeline *pipeline, GstElement *element);
-
-a sink element can be added to the pipeline.
-
-2) starting autoplug
---------------------
-
-when the pipeline has been set up as above, you will call
-
-  gst_pipeline_autoplug (GstPipeline *pipeline);
-
-to start the autoplugger. this will be done in four phases
-
-ex. we are going to autoplug an mpeg1 system stream.
-
-2a) phase1: figure out the type (GstCaps) of the src element.
--------------------------------------------------------------
-
-the gsttypefind element is connected to the "src" pad of the source
-element. gst_bin_iterate is called in a loop until gsttypefind
-signals "have_type". the gst_bin_iterate is stopped and the GstCaps
-is retrieved from the gsttypefind element.
-
-gsttypefind is disconnected from the src element and removed from the 
-bin.
-
-the GstCaps of the source element is called src_caps later on.
-
-ex. all typefind functions are tried and the one in mpeg1types will
-     return a GstCaps:
-
-        video/mpeg,
-	"systemstream", GST_PROPS_BOOLEAN (TRUE),
-	"mpegversion",  GST_PROPS_INT (1),
-	NULL
-
-
-2b) phase2: create lists of factories.
----------------------------------------
-
-for each sink:
-{
-   sinkpad = take the first sinkpad of the sink (HACK)
-   call
-   
-   list[i] = gst_autoplug_caps (src_caps, sinkpad->caps);
-     
-   I++;
-}
-
-gst_autoplug_caps will figure out (based on the padtemplates)
-which elementfactories are needed to connect src_caps to sinkpad->caps
-and will return them in a list.
-
-ex. we have two sinks with following caps:
-
-        video/raw                    audio/raw
-	"...."                       "...."
-
- gst_autoplug_caps will figure out that for the first sink the following
- elements are needed:
-
-   mpeg1parse, mp1videoparse, mpeg_play
-
- for the second sink the following is needed:
-
-   mpeg1parse, mp3parse, mpg123
-
- We now have two lists of elementfactories.
-
-2c) phase3: collect common elements from the lists.
----------------------------------------------------
-
-the rationale is that from the lists we have created in phase2, there
-must be some element that is a splitter and that it has to come first (HACK)
-We try to find that element by comparing the lists until an element differs.
-
-we add the common elements to the bin and run gst_pipeline_pads_autoplug. this
-function will loop over the pads of the previous element and the one we
-just added, and tries to connect src to sink if possible. 
-
-If a connection between the two elements could not be made, a signal "new_pad"
-is connected to the element so that pad connection can occur later on when
-the pad is actually created.
-
-ex. when we compare the two lists we see that we have common element: mpeg1parse.
-
- we add this element to the bin and try to connect it to the previous element in
- the bin, the disksrc.
-
- we see that the src pad of the disksrc and the sinkpad of the mpeg1parse element
- can be connected because they are compatible. We have a pipeline like:
-
-  ---------)         (--------
-   disksrc !         ! mpeg1parse
-           src --- sink
-  ---------)         (--------
-
-
-2d) phase4: add remaining elements
-----------------------------------
-
-now we loop over all the list and try to add the remaining elements
-
-(HACK) we always use a new thread for the elements when there is a common
-element found.
-
-if a new thread is needed (either bacuase the previous element is a common
-element or the object flag of the next element is set to GST_SUGGEST_THREAD)
-we add a queue to the bin and we add a new thread. We add the elements to
-the bin and connect them using gst_pipeline_pads_autoplug.
-
-If we add a queue, we have to copy the caps of the sink element of the queue
-to the src pad of the queue (else they won't connect)
-
-we finally arrive at the sink element and we're done.
-
-ex.
-    
-     we have just found our mpeg1parse common element, so we start a thread.
-     We add a queue to the bin and a new thread, we add the elements
-     mp1videoparse and mpeg_play to the thread. We arrive at the videosink, we
-     see that the SUGGEST_THREAD flag is set, we add a queue and a thread and
-     add the videosink in the thread.
- 
-     the same procedure happens for the audio part. We are now left with the
-     following pipeline:
-
-     We will also have set a signal "new_pad" on the mpeg1parse element because
-     the element mp1videoparse could not be connected to the element just yet.
-
-                                                 (------------------------------------)         (----------
-                                                 !thread                              !         ! thread
-                                                 ! (-------------)       (---------)  !         ! (---------)
-						 ! !mp1videoparse!       !mpeg_play!  !         ! !videosink!
-                                   videoqueue--sink             src -- sink      src -- queue --- sink     !
-  ---------)         (-----------)               ! (-------------)       (---------)  !         ! (---------)
-   disksrc !         ! mpeg1parse!               (------------------------------------)         (-------------
-           src --- sink          !
-  ---------)         (-----------)    
-                                      queue-----  same for audio
-
-
-   then we play, create_plan happens, data is flowing and the "new_pad" signal is called
-   from mpeg1parse, gst_pipeline_pad_autoplug is called and the connection between
-   mpeg1parse and the videoqueue is made. same for audio.
-
-   voila. smame procedure for mp3/vorbis/avi/qt/mpeg2 etc...
-
-
-Problems:
----------
-
-this is obviously a very naive solution. the creation of the elements actually happens
-beforehand. MPEG2, for one, fails because there are multiple possibilities to go
-from the mpeg demuxer to audio/raw (ac3, mp3)
-
-Also any intermedia elements like mixers (subtitles) are not possible because we 
-assume that after the common elements, the streams to not converge anymore.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
- 
-
-
-
diff --git a/docs/random/autoplug2 b/docs/random/autoplug2
deleted file mode 100644
index f3374b6..0000000
--- a/docs/random/autoplug2
+++ /dev/null
@@ -1,289 +0,0 @@
-
-1) The Autoplugger API
-----------------------
-
-We'll first describe how to use the autoplugger. We will provide
-a use case: autoplug an mpeg1 system stream for audio/video playback.
-
-
-a) creating an autoplugger
---------------------------
-
-Before any autoplugging can be done, you'll have to create an 
-autoplugger object. Autoplugger objects (autopluggers) are 
-provided by plugins and are created with gst_autoplugfactor_make().
-
-GStreamer has provisions for two types of autopluggers:
-
- - regular autopluggers, which act as a complex element construction
-   mechanism. They usually don't create threads and operate solely on
-   GstCaps* for the source and destination. The complex elements 
-   created by regular autopluggers have src and sink pad compatible 
-   with the requested GstCaps*.
- 
- - renderer autopluggers, which are designed to create a complex
-   object that can be used to playback media. Renderer autoplugged
-   complex elements have no src pads, only one sink pad.
-
-We'll create a renderer autoplugger like this:
-
-!
-!  GstAutoplug *autoplug;
-!
-!  autoplug = gst_autoplugfactory_make ("staticrender");
-!
-
-
-b) finding out the source media type.
--------------------------------------
-
-Before we can start the autoplugger, we have to find out the 
-source media type. This can be done using the typefind functions 
-provided by various plugins.
-
-We will create a little pipeline to detect the media type by connecting
-a disksrc element to a typefind element. The typefind element will 
-repeatedly call all registered typefind functions with the buffer it
-receives on its sink pad. when a typefind function returns a non NULL
-GstCaps*, that caps is set to the sink pad of the typefind element and
-a signal is emitted to notify the app.
-
-Due to caps negotiation, the disksrc will have the detected GstCaps* 
-set on its src pad.
-
-We typically use a function like below to detect the type of a media stream
-on an element (typically a disksrc). The function accepts a pipeline and the
-element inside the pipeline on which the typefind should be performed (passing
-a GstPad* is probably a better option FIXME).
-
-! 
-! static GstCaps*
-! gst_play_typefind (GstBin *bin, GstElement *element)
-! {
-!   GstElement *typefind;
-!   GstCaps *caps = NULL;
-! 
-!   typefind = gst_elementfactory_make ("typefind", "typefind");
-!   g_return_val_if_fail (typefind != NULL, FALSE);
-! 
-!   gst_pad_connect (gst_element_get_pad (element, "src"),
-!                    gst_element_get_pad (typefind, "sink"));
-! 
-!   gst_bin_add (bin, typefind);
-! 
-!   gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
-! 
-!   // push a buffer... the have_type signal handler will set the found flag
-!   gst_bin_iterate (bin);
-! 
-!   gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
-! 
-!   caps = gst_pad_get_caps (gst_element_get_pad (element, "src"));
-! 
-!   gst_pad_disconnect (gst_element_get_pad (element, "src"),
-!                       gst_element_get_pad (typefind, "sink"));
-!   gst_bin_remove (bin, typefind);
-!   gst_object_unref (GST_OBJECT (typefind));
-! 
-!   return caps;
-! }
-! 
-
-Also note that the disksrc was added to the pipeline before calling this
-typefind function.
-
-When the function returns a non-NULL pointer, the media type has been 
-determined and autoplugging can commence.
-
-Assume that in our mpeg1 use case the above function returns a GstCaps* 
-like:
-
-!
-!  srccaps = GST_CAPS_NEW ("mpeg1system_typefind",
-!                          "video/mpeg",
-!                            "mpegversion",  GST_PROPS_INT (1),
-!                            "systemstream", GST_PROPS_BOOLEAN (TRUE)
-!                         );
-!
-
-
-c) Performing the autoplugging
-------------------------------
-
-Since we use the renderer API, we have to create the output elements
-that are going to be used as the final sink elements.
-
-!
-!  osssink = gst_elementfactory_make("osssink", "play_audio");
-!  videosink = gst_elementfactory_make("xvideosink", "play_video");
-!  
-  
-We then create a complex element using the following code.
-
-!
-!  new_element = gst_autoplug_to_renderers (autoplug,
-!           srccaps,
-!           videosink,
-!           osssink,
-!           NULL);
-!
-!  if (!new_element) {
-!    g_print ("could not autoplug, no suitable codecs found...\n");
-!    exit (-1);
-!  }
-!
-
-2) Autoplugging internals
--------------------------
-
-We will now describe the internals of the above gst_autoplug_to_renderers()
-function call. This code is implemented in a plugin found in:
-
-    gst/autoplug/gststaticautoplugrender.c
-
-
-
-a) phase1: create lists of factories.
----------------------------------------
-
-The autoplugger will start with executing the following piece of
-code:
-
-!
-! i = 0;
-!
-! for each sink:
-! {
-!   sinkpad = take the first sinkpad of the sink (HACK)
-!   
-!   list[i] = gst_autoplug_caps (srccaps, sinkpad->caps);
-!     
-!   i++;
-! }
-!
-
-gst_autoplug_caps will figure out (based on the padtemplates)
-which elementfactories are needed to connect srccaps to sinkpad->caps
-and will return them in a list.
-
-The element list is created by using a modified shortest path algorithm
-by Dijkstra (http://www.orie.cornell.edu/~or115/handouts/handout3/handout3.html).
-The nodes of the graph are the elementfactories and the weight of the
-arcs is based on the pad compatibility of the padtemplates of the 
-elementfactory. For incompatible elementfactories, we use a weight of 
-MAX_COST (999999) and for compatible padtemplates we use 1.
-
-ex. we have two sinks with following caps:
-
-!
-!       video/raw                   audio/raw
-!	"...."                       "...."
-!
-
-gst_autoplug_caps will figure out that for the first sink the following
-elements are needed:
-
-!
-!   mpeg1parse, mp1videoparse, mpeg_play
-!
-
-for the second sink the following is needed:
- 
-!
-!   mpeg1parse, mad
-!
-
-Note that for the audio connection the element list "mpeg1parse, mp3parse,
-mpg123" would also connect the srccaps to the audiosink caps. Since the
-"mpeg1parse, mad" list is shorter, it it always preferred by the autoplugger.
-
-We now have two lists of elementfactories.
-
-
-b) phase2: collect common elements from the lists and add them to a bin.
-------------------------------------------------------------------------
-
-The rationale is that from the lists we have created in phase1, there
-must be some element that is a splitter and that it has to come first (HACK)
-We try to find that element by comparing the lists until an element differs.
-
-We start by creating a toplevel bin that is going to be our complex element.
-
-In our use-case we find that mpeg1parse is an element common to both lists,
-so we add it to the bin. We then try to find a good ghostpad for the resulting
-complex element. This is done by looping over the sink pads of the first common
-element and taking the pad that is compatible with the srcaps.
-
-We end up with a bin like this:
-!
-!  (----------------------)
-!  ! autoplug_bin         !
-!  !                      !
-!  !       (------------) !
-!  !       ! mpeg1parse ! !
-!  !   - sink           ! !
-!  !  /    (------------) !
-! sink                    !
-!  (----------------------)
-!
-
-
-c) phase3: add remaining elements
----------------------------------
-
-now we loop over all the list and try to add the remaining elements
-
-(HACK) we always use a new thread for the elements when there is a common
-element found.
-
-if a new thread is needed (either because the previous element is a common
-element or the object flag of the next element is set to GST_SUGGEST_THREAD)
-we add a queue to the bin and we add a new thread. We add the elements to
-the bin and connect them using gst_pipeline_pads_autoplug. 
-
-we finally arrive at the sink element and we're done.
-
-ex.
-    
-     we have just found our mpeg1parse common element, so we start a thread.
-     We add a queue to the bin and a new thread, we add the elements
-     mp1videoparse and mpeg_play to the thread. We arrive at the videosink, we
-     see that the SUGGEST_THREAD flag is set, we add a queue and a thread and
-     add the videosink in the thread.
- 
-     the same procedure happens for the audio part. We are now left with the
-     following pipeline:
-
-     We will also have set a signal "new_pad" on the mpeg1parse element because
-     the element mp1videoparse could not be connected to the element just yet.
-
-  (---------------------------------------------------------------------------------------------)
-  !autoplug_bin                                                                                 !
-  !                                                                                             !
-  !                                   (----------------------------------------) (------------) !
-  !                                   !thread                                  ! ! thread     ! !
-  !                         (-----)   ! (-------------)   (---------)  (-----) ! ! (---------)! !
-  !			    !queue!   ! !mp1videoparse!   !mpeg_play!  !queue! ! ! !videosink!! !
-  !                         sink src-sink            src-sink      src-sink src-sink         !! !
-  !       (-----------)     (-----)   ! (-------------)   (---------)  (-----) ! ! (---------)! !
-  !       ! mpeg1parse!               (----------------------------------------) (------------) !
-  !   - sink          !                                                                         !
-  !  /    (-----------)                                                                         !
- sink                                 (----------------------------------------) (------------) !
-  !                                   !thread                                  ! ! thread     ! !
-  !                         (-----)   ! (-------------)                (-----) ! ! (---------)! !
-  !			    !queue!   ! !mad          !                !queue! ! ! !videosink!! !
-  !                         sink src-sink            src ------------ sink  src-sink         !! !
-  !                         (-----)   ! (-------------)                (-----) ! ! (---------)! !
-  !                                   (----------------------------------------) (------------) !
-  (---------------------------------------------------------------------------------------------)
-
-   The autoplugger will return the autoplug_bin. the app will then connect the 
-   disksrc to the sinkpad of the autoplugged bin.
-
-   Then we play, create_plan happens, data is flowing and the "new_pad" signal is called
-   from mpeg1parse, gst_pipeline_pad_autoplug is called and the connection between
-   mpeg1parse and the videoqueue is made. same for audio.
-
-   Et voila. same procedure for mp3/vorbis/avi/qt/mpeg2 etc...
-
diff --git a/docs/random/bbb/streamselection b/docs/random/bbb/streamselection
deleted file mode 100644
index 234782e..0000000
--- a/docs/random/bbb/streamselection
+++ /dev/null
@@ -1,85 +0,0 @@
-Stream selection
-=
-
-1. Problem
-URIs (that being either a media stream or a media stream plus subtitle) can
-contain multiple streams of a type (audio, subtitle). A user has to be given
-the option of selecting one of those streams (or none altogether).
-
-2. Implementation ideas
-Stream selection, in GStreamer, has to be integrated at the player plugging
-level, which is (in the case of Totem) playbin. Playbin offers a feature to
-'mute' a stream (which means that no processing is done on that stream
-altogether, saving the decoding step). Currently, playbin will select the
-first occurrence of a stream type and mute all others. A queue is connected
-(for pre-roll) to the active stream. What is missing here is a way to change
-the active stream.
-Playbin interface - one possible interface could simply consist of a bunch of
-GObject properties: 'textstream' and 'audiostream', both integer. The number
-of available streams can be retrieved using the 'stream-info' GObject property.
-Similar to the 'nstreams' property, we could add utility GObject properties
-for getting the number of available audio/text streams ('naudiostreams' and
-'ntextstreams'). Names of these streams (like language name or so) can be
-added as an additional GObject property to streaminfo. Some container
-formats contain such names internally. Alternatively, we could allow those
-to be user-settable as well (for .sub files).
-On a set of either of these properties, playbasebin would mute the old
-selected stream (if any), unmute the newly selected stream (if any) and
-replug the preroll queue. The queue itself is disabled as well if no new
-stream was linked. Alternatively, a switch-like element is used, which
-requires no replugging. Pad disabling/enabling is then enough. This also
-makes relinking less painful. The switch-like element needs to proxy the
-active pads' caps. However, since those caps are (in practice) always the
-same across streams, caps setting will (inside the core) immediately
-return success.
-The switch-like element simply works like this:
-=
-static void
-loop_func (GstElement * element)
-{
-  GList *inpads;
-  GstPad *pad;
-  GstData *data;
-
-  for (inpads = ..; inpads != NULL; inpads = inpads->next) {
-    pad = inpads->data;
-    if (!GST_PAD_IS_USABLE (pad))
-      continue;
-
-    /* you'd also want some way to synchronize the inputs... */
-    data = gst_pad_pull (pad);
-    if (is_active_pad (pad))
-      gst_pad_push (srcpad, data);
-    else
-      gst_data_unref (data);
-  }
-}
-=
-It'd require an active-stream property itself, which (when set) takes
-care of doing renegotiation and so on. Using internal pad linkage is
-extremely useful here, and requires little code in the switch-like
-element itself. Note that there is a slight bit of duplication in the
-playbin interface and the switch-like element interface, but that's "just
-the way it is".
-The implementation of the switch-like element could initially be local to
-playbin, until it has been cleaned up and confirmed to be useful to a
-wider audience. This allows a lot of experimenting with interfaces because
-we won't be forced to maintain a stable interface.
-The current 'switch' element (gst-plugins/gst/switch/) already does a few
-of those operations, but stream synchronization, re-negotiation on stream
-changes, internal pad linkage and some other things are completely missing.
-If we're gonna use this element, it'll need a large overhaul. The choice of
-writing a new element or using an existing element as basis, and also the
-choice of whether or not to make this element local to playbin, should be
-based on technical merits and cost/effect analysis and not on personal
-pride.
-
-Notes:
-* seamless has the same switch-like element, but it's chain-based. Apart
-from scheduler considerations, this is a good idea, but limits its use
-(making either good docs and abuse-prevention [see multifilesrc] or
-private-to-playbin a prerequisite).
-* maybe text-* properties need to be renamed to subtitle-*.
-
-3. Written by
-Ronald S. Bultje <rbultje@ronald.bitfreak.net> - Jan. 2nd, 2005.
diff --git a/docs/random/bbb/subtitles b/docs/random/bbb/subtitles
deleted file mode 100644
index 6cbe204..0000000
--- a/docs/random/bbb/subtitles
+++ /dev/null
@@ -1,105 +0,0 @@
-Subtitles
-=========
-
-1. Problem
-GStreamer currently does not support subtitles.
-
-2. Proposed solution
-  - Elements
-  - Text-overlay
-  - Autoplugging
-  - Scheduling
-  - Stream selection
-
-The first thing we'll need is subtitle awareness. I'll focus on AVI/MKV/OGM
-here, because I know how that works. The same methods apply to DVD subtitles
-as well. The matroska demuxer (and Ogg) will need subtitle awareness. For
-AVI, this is not needed. Secondly, we'll need subtitle stream parsers (for
-all popular subtitle formats), that can deal both with parsed streams (MKV,
-OGM) as well as .sub file chunks (AVI). Sample code is available in
-gst-sandbox/textoverlay/.
-
-Secondly, we'll need a textoverlay filter that can take text and video and
-blits text on video. We have several such elements (e.g. the cairo-based
-element) in gst-plugins already. Those might need some updates to work
-exactly as expected.
-
-Thirdly, playbin will need to handle all that. We expect subtitle streams
-to end up as subimages or plain text (or xhtml text). Note that playbin
-should also allow access to the unblitted subtitle as text (if available)
-for accessibility purposes.
-
-A problem popping up is that subtitles are no continuous streams. This is
-especially noticeable in the MKV/OGM case, because there the input of data
-depends on the other streams, so we'll only notice delays inside an element
-when we've received the next data chunk. There are two possible solutions:
-using timestamped filler events or using decoupled subtitle overlay elements
-(bins, probably). The first has as a difficulty that it only works well in
-the AVI/.sub case, where we will notice discontinuities before they become
-problematic. The second is more difficult to implement, but works for both
-cases.
-A) fillers
-Imagine that two subtitles come after each other, with 10 seconds of no-data
-in between. By parsing a .sub file, we would notice immediately and we could
-send a filler event (or empty data) with a timestamp and duration in between.
-B) decoupled
-Imagine this text element:
-------------------------------
-video ----- | actual element |out
-|        /  -----------------|
-text - -                     |
-------------------------------
-where the text pad is decoupled, like a queue. When no text data is available,
-the pad will have received no data, and the element will render no subtitles.
-The actual element can be a bin here, containing another subtitle rendering
-element. Disadvantage: it requires threading, and the element itself is (in
-concept) kinda gross. The element can be embedded in playbin to hide this
-fact (i.e. not be available outside the scope of playbin).
-Whichever solution we take, it'll require effort from the implementer.
-Scheduling (process, not implementation) knowledge is assumed.
-
-Stream selection is a problem that audio has, too. We'll need a solution for
-this at the playback bin level, e.g. playbin. By muting all unused streams
-and dynamically unmuting the selected stream, this is easily solved. Note
-that synchronization needs to be checked in this case. The solution is not
-hard, but someone has to do it.
-
-3. Written by
-Ronald S. Bultje <rbultje@ronald.bitfreak.net>, Dec. 25th, 2004
-
-
-Appendix A: random IRC addition
-<Company> intersting question: would it be a good idea to have a "max-buffer-length" property?
-<Company> that way demuxewrs would now how often they'd need to generate filler events
-<Company> s/now/know/
-<BBB> hm...
-<BBB> I don't think it's good to make that variable
-<Company> dunno
-<Company> (i'm btw always looking at this from the midi perspective, too)
-<Company> (because both subtitles and midi are basically the same in this regard)
-<BBB> and do you mean 'after the stream has advanced <time> and we didn't read a new subtitle in this mkv stream, we should send a filler'?
-<Company> yeah
-<BBB> it goes for avi with large init_delay values, too
-<Company> so you don't need to send fillers every frame
-<BBB> right
-<BBB> cant' we just set that to, for example, 1s?
-<BBB> it's fairly random, but still
-<Company> that's another option, too
-<Company> though you could write all file parsers with max-delay=MAXINT
-<Company> would make them a lot easier
-<BBB> it's true that queue size, for example, depends on this value
-<BBB> e.g. if you make this 5s and set queue size to 1s, it'll hang
-<Company> right
-<BBB> whereas if you set it to 1s and queue size to 5s, you waste space
-<BBB> :)
-<BBB> you ought to set it to max-delay * (n_streams + 1)
-<BBB> or so
-<BBB> or -1
-<BBB> I forgot
-<BBB> ohwell
-<Company> if you'd use filtercaps and queue sizes in your app, you could at least work around deadlocks
-<BBB> yeah
-<Company> though ideally it should just work of course...
-<BBB> good point...
-
-
diff --git a/docs/random/buffers b/docs/random/buffers
deleted file mode 100644
index 78ac8dc..0000000
--- a/docs/random/buffers
+++ /dev/null
@@ -1,19 +0,0 @@
-METADATA ON BUFFERS IS OUTDATED
--------------------------------
-
-
-Buffer mutability properties are the most important part of gst, and
-similarly are the most complex.
-
-The simple case is that a buffer is created, memory allocated, data put
-in it, and passed to the next filter.  That filter reads the data, does
-something (like creating a new buffer and decoding into it), and
-unreferences the buffer.  This causes the data to be freed and the buffer
-to be destroyed.
-
-A more complex case is when the filter modifies the data in place.  It
-does so and simply passes on the buffer to the next element.  This is just
-as easy to deal with.
-
-If the second filter adds metadata to the buffer, it just has to add the
-pointer to the list.  The next element simply traverses the list and 
diff --git a/docs/random/caps b/docs/random/caps
deleted file mode 100644
index f291b1f..0000000
--- a/docs/random/caps
+++ /dev/null
@@ -1,209 +0,0 @@
-SOME OF THE FIRST IDEAS, PRETTY OUTDATED
-----------------------------------------
-
-
-During the course of a discussion on IRC, it turned out
-that there are many possible ways to handle the capabilities.
-
-A capability is basically a set of properties attached to a 
-mimetype in order to more closely describe the mimetype. 
-Capabilities are supposed to be attached to pads so that the
-autoplugging algorithm has more specific information to connect
-compatible pads.
-
-We present 3 possible implementation for the capabilities. we need
-to pick one of them.
-
-1. static capabilities
-----------------------
-
-When an element is created, it creates its pads like:
-
-  mpg123->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
-  gst_element_add_pad (GST_ELEMENT (mpg123), mpg123->sinkpad);
-
-  mpg123->srcpad = gst_pad_new ("src", GST_PAD_SRC);
-  gst_element_add_pad (GST_ELEMENT (mpg123), mpg123->srcpad);
-
-In the static capabilities case, it will attach a GstCaps* structure
-to the pad. The GstCaps structure in the above example might look like:
-
-  static GstCapsFactory mpg123_sink_caps = {
-    "audio/mp3",
-    "layer",   GST_CAPS_INT_RANGE (1, 3),
-    "bitrate", GST_CAPS_INT_RANGE (8, 320),
-    NULL
-  };
-
-with 
-
-mpg123sinkcaps  = gst_caps_register (mpg123_sink_caps);
-
-the factory can be converted into a GstCaps* structure. The
-GstCaps* structure is attached to the pad with:
-
-gst_pad_add_caps (mpg123->sinkpad, mpg123sinkcaps);
-
-The GstElement would then have a sinkpad with the given 
-mimetype (audio/mp3) and with the capabilitities of accepting
-mpeg layer 1 to 3 and a bitrate from 8 up to 320 Kbps.
-
-Likewise, the src pad could be set up in the same way. An
-example capability factory could look like:
-
-  static GstCapsFactory mpg123_src_caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (...),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT_RANGE (4000, 96000),
-    "channels", GST_CAPS_INT_RANGE (1, 2),
-    NULL
-  };
-
-All GstElements would present their pads with the appropriate
-capabilities structure.
-
-The autoplugger would then proceed (once the source media type
-is known with a typefind function) in finding all the elements
-with compatible pads and connecting them into a pipeline. 
-
-All elements of the complete pipeline could then be constructed
-with one single pass. No new elements should be added to the
-pipeline because we can figure out all the possibilities using the
-pad capabilities.
-
-We call this the static case because the capabilities of the pads
-are supposed to stay the same after creating the element.
-
-While the ability to completely setup the pipeline before actually
-starting playback is an advantage regarding performance, one obvious
-problem with this setup is that the static case may be too static in
-some cases. We can illustrate this with the following setup:
-
-  ----------)             (------------
-   mpg123   !             !  audiosink
-           src          sink
-            !             !
-  ----------)             (------------
-
-The mpg123 element has its src capabilities set up as mpg123_src_caps
-in the above example.
-
-The audio renderer has its capabilities set up with the following
-factory:
-
-  static GstCapsFactory audio_sink_caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (...),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT_RANGE (22000, 44000),
-    "channels", GST_CAPS_INT_RANGE (1, 2),
-    NULL
-  };
-
-The static autoplugger has to be careful when connecting the mpg123
-element with the audiosink because it is theoretically possible that
-the mpg123 element outputs raw audio with a rate that cannot be
-handled by the audiosink (ex. 4000KHz). In the absence of another
-audiosink with more capabilities, the autoplugging of this simple 
-pipeline will not be possible and would fail.
-
-the autoplugging algorithm would probably select another element to
-insert between the mpg123 element and the audiosink in order to handle
-the (uncommon) case of a rate conversion (audioscaler).
-
-It is clear that this static setup might even fail or work suboptimal
-for even the common case and should therefore be considered as too 
-restrictive.
-
-
-2. dynamic capabilities
------------------------
-
-The idea of dynamic capabilities is that the capabilities are not set
-at element create time but rather while the pipeline is running.
-
-An element would still list its mime type using: 
-
-  gst_pad_add_type_id(mpg123->sinkpad, mp3type);
-
-The idea would then be that a rough draft of the pipeline would be
-built after the media type of the stream has been detected with the
-typefind functions. The rough draft would consist of laying out a
-global plan to reach the renderer(s). this plan would basically list
-the set of conversions that have to be performed. (mime-type to
-mime-type conversion).
-
-Elements that accept the src mime-type are tried by giving it a buffer.
-If the element accepts the buffer, it will set its capabilities for
-both the sink pad and the src pad. At that time other elements can be
-tried and added to the src pad, until we reach the renderer. As usual
-one has to be careful to add just the minimum amount of elements to
-reach the renderer. The global plan will help with that.
-
-Since we basically do not use the capabilities of the sink pad one has 
-to question the need for sink pad capabilities in the first place.
-
-We might also have a hard time trying different elements until we find
-a compatible one that does not cause a dead end at some point.
-
-
-3. combined setup
------------------
-
-This combined setup will minimise the effort needed to try different 
-elements encountered by option 2 while still allowing a more dynamic
-setup based on the actual media stream we are handling.
-
-The combined setup will list/add the sink capabilities at create time.
-It will only set the mime-type of its src pads.
-
-As with option2, a global plan will be built. At runtime the src pads
-will actually specify the capabilities they need for any element that
-wants to be connected to its source pads.
-
-In this case we specify the capabilities for all the sink pads of an
-element at create time. The capabilities of the src pads would only
-become available when data has been processed by the element.
-
-The autoplugger would then be able to choose an element that can handle
-the capability listed by the src pad.
-
-in our previous example:
-
-  ----------)             (------------
-   mpg123   !             !  audiosink
-           src          sink
-            !             !
-  ----------)             (------------
-				 
-the audiosink element would specify its sink pad capabilities at create
-time, while the mpg123 elements src pad would not yet have any capabilities
-set.
-
-When data is handled by the mpg123 element, a capability would be added to
-the mpg123 src pad. This capability might be:
-
-  static GstCapsFactory mpg123_src_caps = {
-    "audio/raw",
-    "format",   GST_CAPS_INT (S16),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT (44000),
-    "channels", GST_CAPS_INT (2),
-    NULL
-  };
-
-This capability would be compatible with the audiosinks sinkpad capabilities
-and the autoplugger would therefore be able to connect the two elements.
-
-While allowing a more flexible setup with option3, compared to option1, we 
-introduce a slightly higher overhead when we need to dynamically connect 
-elements. This overhead will not be as big as option2 because we don't 
-have to 'try' elements.
-
-so:
-
-  src caps:  added at runtime to list the caps needed for an element that
-             wants to connect to this pad.
-  sink caps: the (static) capabilities that this sinkpad has. 
-
diff --git a/docs/random/caps.dia b/docs/random/caps.dia
deleted file mode 100644
index b511083..0000000
--- a/docs/random/caps.dia
+++ /dev/null
@@ -1,1132 +0,0 @@
-<?xml version="1.0"?>
-<diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
-  <diagramdata>
-    <attribute name="background">
-      <color val="#ffffff"/>
-    </attribute>
-    <attribute name="paper">
-      <composite type="paper">
-        <attribute name="name">
-          <string>#A4#</string>
-        </attribute>
-        <attribute name="tmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="bmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="lmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="rmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="is_portrait">
-          <boolean val="true"/>
-        </attribute>
-        <attribute name="scaling">
-          <real val="1"/>
-        </attribute>
-        <attribute name="fitto">
-          <boolean val="false"/>
-        </attribute>
-      </composite>
-    </attribute>
-    <attribute name="grid">
-      <composite type="grid">
-        <attribute name="width_x">
-          <real val="1"/>
-        </attribute>
-        <attribute name="width_y">
-          <real val="1"/>
-        </attribute>
-        <attribute name="visible_x">
-          <int val="1"/>
-        </attribute>
-        <attribute name="visible_y">
-          <int val="1"/>
-        </attribute>
-      </composite>
-    </attribute>
-    <attribute name="guides">
-      <composite type="guides">
-        <attribute name="hguides"/>
-        <attribute name="vguides"/>
-      </composite>
-    </attribute>
-  </diagramdata>
-  <layer name="Background" visible="true">
-    <object type="UML - Class" version="0" id="O0">
-      <attribute name="obj_pos">
-        <point val="0.75,5.55"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="0.7,5.5;12.7504,9.6"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="0.75,5.55"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="11.9504"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstCaps#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#name#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#id#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#guint16#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#properties#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstProps *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O1">
-      <attribute name="obj_pos">
-        <point val="16.35,9.65"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="16.3,9.6;26.896,12.1"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="16.35,9.65"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="10.496"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="2.4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstProps#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#properties#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O2">
-      <attribute name="obj_pos">
-        <point val="12.7004,9.05"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="11.2504,7.6;18.4892,11.8"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="12.7004,9.05"/>
-        <point val="14.15,9.05"/>
-        <point val="14.15,10.35"/>
-        <point val="16.35,10.35"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#0..1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O0" connection="13"/>
-        <connection handle="1" to="O1" connection="3"/>
-      </connections>
-    </object>
-    <object type="UML - Class" version="0" id="O3">
-      <attribute name="obj_pos">
-        <point val="14.75,13.45"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="14.7,13.4;26.2656,16.7"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="14.75,13.45"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="11.4656"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="3.2"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstPropsEntry#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#propid#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GQuark#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#propstype#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstPropsId#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O4">
-      <attribute name="obj_pos">
-        <point val="16.35,11.55"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="11.25,10.1;17.8,15.6"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="16.35,11.55"/>
-        <point val="12.7,11.55"/>
-        <point val="12.7,14.15"/>
-        <point val="14.75,14.15"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O1" connection="8"/>
-        <connection handle="1" to="O3" connection="3"/>
-      </connections>
-    </object>
-    <object type="UML - Class" version="0" id="O5">
-      <attribute name="obj_pos">
-        <point val="4.45,19.05"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="4.4,19;14.996,21.5"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="4.45,19.05"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="10.496"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="2.4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#boolean#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#bool_data#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gboolean#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O6">
-      <attribute name="obj_pos">
-        <point val="10.55,22.4"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="10.5,22.35;21.5808,24.85"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="10.55,22.4"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="10.9808"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="2.4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#fourcc#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#fourcc_data#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#guint32#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O7">
-      <attribute name="obj_pos">
-        <point val="16.8,19.2"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="16.75,19.15;24.922,21.65"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="16.8,19.2"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="8.072"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="2.4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#int#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#int_data#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gint#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O8">
-      <attribute name="obj_pos">
-        <point val="22.5,22.55"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="22.45,22.5;31.5916,25"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="22.5,22.55"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="9.0416"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="2.4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#list#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#entries#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O9">
-      <attribute name="obj_pos">
-        <point val="27.9,18.85"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="27.85,18.8;33.598,22.1"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="27.9,18.85"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="5.648"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="3.2"/>
-      </attribute>
-      <attribute name="name">
-        <string>#int_range#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#min#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gint#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#max#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gint#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O10">
-      <attribute name="obj_pos">
-        <point val="30.724,18.85"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="19.0328,15.2;32.174,20.45"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="30.724,18.85"/>
-        <point val="30.724,18.25"/>
-        <point val="20.4828,18.25"/>
-        <point val="20.4828,16.65"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="1"/>
-        <enum val="0"/>
-        <enum val="1"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="1"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O9" connection="1"/>
-        <connection handle="1" to="O3" connection="6"/>
-      </connections>
-    </object>
-    <object type="UML - Association" version="0" id="O11">
-      <attribute name="obj_pos">
-        <point val="20.836,19.2"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="19.0328,15.2;22.286,20.8"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="20.836,19.2"/>
-        <point val="20.836,18.25"/>
-        <point val="20.4828,18.25"/>
-        <point val="20.4828,16.65"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="1"/>
-        <enum val="0"/>
-        <enum val="1"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="1"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O7" connection="1"/>
-        <connection handle="1" to="O3" connection="6"/>
-      </connections>
-    </object>
-    <object type="UML - Association" version="0" id="O12">
-      <attribute name="obj_pos">
-        <point val="9.698,19.05"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="8.248,15.2;21.9328,20.65"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="9.698,19.05"/>
-        <point val="9.698,18.25"/>
-        <point val="20.4828,18.25"/>
-        <point val="20.4828,16.65"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="1"/>
-        <enum val="0"/>
-        <enum val="1"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="1"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O5" connection="1"/>
-        <connection handle="1" to="O3" connection="6"/>
-      </connections>
-    </object>
-    <object type="UML - Association" version="0" id="O13">
-      <attribute name="obj_pos">
-        <point val="16.0404,22.4"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="14.5904,15.2;21.9328,24"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="16.0404,22.4"/>
-        <point val="16.0404,18.25"/>
-        <point val="20.4828,18.25"/>
-        <point val="20.4828,16.65"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="1"/>
-        <enum val="0"/>
-        <enum val="1"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="1"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O6" connection="1"/>
-        <connection handle="1" to="O3" connection="6"/>
-      </connections>
-    </object>
-    <object type="UML - Association" version="0" id="O14">
-      <attribute name="obj_pos">
-        <point val="27.0208,22.55"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="19.0328,15.2;28.4708,24.15"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="27.0208,22.55"/>
-        <point val="27.0208,18.25"/>
-        <point val="20.4828,18.25"/>
-        <point val="20.4828,16.65"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="1"/>
-        <enum val="0"/>
-        <enum val="1"/>
-      </attribute>
-      <attribute name="name">
-        <string>#union#</string>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string/>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="1"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O8" connection="1"/>
-        <connection handle="1" to="O3" connection="6"/>
-      </connections>
-    </object>
-    <object type="UML - Association" version="0" id="O15">
-      <attribute name="obj_pos">
-        <point val="31.5416,24.45"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="24.7656,12.7;36.3,25.9"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="31.5416,24.45"/>
-        <point val="34.85,24.45"/>
-        <point val="34.85,14.15"/>
-        <point val="26.2156,14.15"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O8" connection="9"/>
-        <connection handle="1" to="O3" connection="4"/>
-      </connections>
-    </object>
-  </layer>
-</diagram>
diff --git a/docs/random/caps2 b/docs/random/caps2
deleted file mode 100644
index 3ca0a74..0000000
--- a/docs/random/caps2
+++ /dev/null
@@ -1,231 +0,0 @@
-
-The new caps code uses the type name GstCaps2 and the function
-names gst_caps2_*().  Before the CAPS branch is merged, there
-will be a global change from caps2 to caps.  Since GstCaps is
-no longer defined, it no longer compiles, thus highlighting
-exactly what needs to be changed in an element.
-
-
-
-Pad Templates:
-
-Old style:
-
-  GST_PAD_TEMPLATE_FACTORY (fakesrc_src_factory,
-    "src%d",
-    GST_PAD_SRC,
-    GST_PAD_REQUEST,
-    GST_CAPS_ANY
-  );
-
-New style:
-
-  GstStaticPadTemplate fakesrc_src_template = GST_STATIC_PAD_TEMPLATE (
-    "src%d",
-    GST_PAD_SRC,
-    GST_PAD_REQUEST,
-    GST_STATIC_CAPS2_ANY
-  );
-
-The old style defined a function called fakesrc_src_factory(), which,
-when called, returns a pad template.  The new style defines a
-GstStaticPadTemplate, which can be converted to a GstPadTemplate
-by the function gst_static_pad_template_get().  The 4th argument
-is also different -- previously it would call the GST_CAPS_NEW()
-function.  Now it is a GstStaticCaps.
-
-Not every pad template can be converted to a GstStaticPadTemplate,
-particularly those which create caps from another source at runtime,
-such as videotestsrc.
-
-Caps:
-
-Old style:
-
-  GST_CAPS_NEW (
-    "sinesrc_src",
-    "audio/x-raw-int",
-      "endianness",     GST_PROPS_INT (G_BYTE_ORDER),
-      "signed",         GST_PROPS_BOOLEAN (TRUE),
-      "width",          GST_PROPS_INT (16),
-      "depth",          GST_PROPS_INT (16),
-      "rate",           GST_PROPS_INT_RANGE (8000, 48000),
-      "channels",       GST_PROPS_INT (1)
-  )
-
-New style:
-
-  GST_STATIC_CAPS2 ( "audio/x-raw-int, "
-      "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) 1"
-  )
-
-The old style calls a function that creates a GstCaps.  The new style
-stores a string in a GstStaticCaps2, and this string is converted to
-a caps in the function gst_static_caps2_get().
-
-Note that the old caps name is no longer used.
-
-Old style:
-
-  caps = GST_CAPS_NEW ("videotestsrc_filter",
-                       "video/x-raw-rgb",
-                       "bpp", GST_PROPS_INT(format->bitspp),
-                       "endianness", GST_PROPS_INT(endianness),
-                       "depth", GST_PROPS_INT(format->depth),
-                       "red_mask", GST_PROPS_INT(format->red_mask),
-                       "green_mask", GST_PROPS_INT(format->green_mask),
-                       "blue_mask", GST_PROPS_INT(format->blue_mask));
-
-New style:
-
-  caps = gst_caps2_new_simple("video/x-raw-rgb",
-        "bpp", G_TYPE_INT, format->bitspp,
-        "endianness", G_TYPE_INT, endianness,
-        "depth", G_TYPE_INT, format->depth,
-        "red_mask", G_TYPE_INT, format->red_mask,
-        "green_mask", G_TYPE_INT, format->green_mask,
-        "blue_mask", G_TYPE_INT, format->blue_mask);
-
-Not everything can be converted in this way, especially lists and
-ranges.
-
-
-IMPLEMENTATION
-
-Pad Capabilities (caps) are mathematical sets that represent all the
-possible stream types that a pad can use.  These general sets are
-represented by unions of simpler sets known as caps structures.  Each
-caps structure has a media type (e.g., "audio/mpeg") and a number of
-properties.  Each property has a name and a GValue.  In normal
-circumstances, the GValue will have the types int, boolean, string,
-fourcc, and double.  Simple sets are constructed by using GValues
-that are lists of other GValues, or the special types that represent
-int ranges and double ranges.
-
-A "fixed" caps represents exactly one media format.  This means that
-the caps is a union of exactly one caps structure, and each property
-in the caps structure is a simple type, i.e., no ranges or lists.
-
-There are two special caps values, "ANY" which represents the union
-of all stream types, and "EMPTY", which represents the set of no
-stream types.  The ANY caps is often used on generic elements that
-handle any type of data (e.g., filesrc and filesink).  The EMPTY
-caps is the return value of gst_caps_intersect(), when the two
-given caps do not intersect.  In many cases, using EMPTY is invalid.
-
-
-CAPS NEGOTIATION
-
-Elements provide information to the core about what stream formats
-they understand in four ways: the caps in the pad templates, the
-caps returned by a pad's getcaps function, accepting/denying
-a given caps in the pad link function, and a new fixate function.
-
-The pad template caps should be the union of caps a pad supports
-in any potential situation.  Simultaneously, these caps should be
-as specific as possible, since it is used to decide which elements
-to attempt for autoplugging, without having to load the element.
-The pad template caps are generally determined at compile time, but
-might be actually computed at run-time from other information.
-
-The getcaps() function returns the caps supported by a given pad,
-in the context of the element's state, its link to other elements,
-and the devices or files it has opened.  These caps must be a
-subset of the pad template caps.  In the NULL state with no links,
-the getcaps function should ideally return the same caps as the
-pad template.  In rare circumstances, an object property can affect
-the caps returned by getcaps, but this is discouraged.  For most
-filters, the caps returned by getcaps is directly affected by the
-allowed caps on other pads.  For demuxers and decoders, the caps
-returned by the srcpad's getcaps function is directly related to
-the stream data.  Again, getcaps should return the most specific
-caps it reasonably can, since this helps with autoplugging.
-
-The pad link function is the last step in negotiating caps.  The
-core calls the pad link function with a fixed caps, meaning that
-the stream format is precisely defined, with the caps having one
-structure, with no fields that are ranges or lists.
-
-There is also a new pad function "fixate", which is used to help
-choose a fixed caps from a non-fixed caps.  This is called in
-situations where normal negotiation cannot decide on a fixed caps.
-You should almost never implement a fixate function, please ask
-me if it is appropriate for your case.  Fixate functions are called
-iteratively on the pads until a fixed caps is found.  Fixate functions
-are called with a const caps, and should return a caps that is a
-strict subset of the given caps.  That is, the function should
-create a caps that is "more fixed" than previously, but does not
-have to return fixed caps.  If the fixate function can't provide
-more fixed caps, it should return NULL.
-
-
-
-Checklist for getcaps:
-
- - The getcaps function prototype no longer has the caps parameter.
-   Remove it.
-
- - The returned caps is owned by the caller.  Make sure you don't
-   keep a pointer to the caps.
- 
- - Make sure that the getcaps function can be called safely in each
-   element state (NULL, READY, PAUSED, PLAYING), and for any element
-   configuration (properties, links, devices/files opened or not,
-   error state, etc.)
-
- - Make sure that the returned caps do not depend on the caps that
-   indicate the stream type that the pad is currently using.
-
-Checklist for pad_link:
-
- - The pad link function prototypes uses a const GstCaps *.
-
- - Pad link functions are called with fixed caps.  There's no need
-   to check for this.  This means that you can assume that the caps
-   is not ANY or EMPTY, and that there is exactly one structure in
-   the caps, and that all the fields in the structure are fixed.
-
- - Pad link functions are called with caps that are a subset of the
-   most recent return value of the pad's getcaps function.  Generally,
-   the getcaps function was called immediately prior to calling the
-   src_link function.  For 0.8, you can assume that nothing has changed
-   in your element that would cause a change to the return value of
-   getcaps.
-
- - the return value GST_PAD_LINK_OK should be used when the caps are
-   acceptable, and you've extracted all the necessary information from
-   the caps and set the element's internal state appropriately.
-
- - the return value GST_PAD_LINK_REFUSED should be used when the caps
-   are unacceptable for whatever reason.
-
- - the return value GST_PAD_LINK_DELAYED should be used when the
-   element is in a state where it can't determine whether the caps
-   are acceptable or not.  This is often used if the element needs
-   to open a device or process data before determining acceptable
-   caps.
-
- - the pad_link function must not call gst_caps_try_set_caps() on
-   the pad that was specified as a parameter.
-
- - the pad_link function may (and often should) call
-   gst_caps_try_set_caps() on pads that are not specified as the
-   pad parameter.
- 
-Checklist for fixate:
-
- - Make sure you actually should be using a fixate function.  Fixate
-   functions are reasonable for non-fixed primary sources, such as
-   videotestsrc, v4lsrc, and osssrc.
-
- - The user_data parameter is mainly used for user-provided fixate
-   function.  It should be ignored in element fixate functions.
-
-
-
-
diff --git a/docs/random/classes.dia b/docs/random/classes.dia
deleted file mode 100644
index de4aa3e05baddf91801335e291517e693b745530..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5601
zcmV<76&~sziwFP!000001MOX1bKAy}eb28@DX;WszJa;C&aHg<CE0jya;x@@1(6Vi
zH3+Z((6;ihzkLTJZAB6Rf&>N>$djtXu{1=p$)3|6(|zWj|N6X$uRexZ9;M0KYewkx
zzrOqCpR*|Vhy8b+1&b@YAj!+Wy}iCKise6UZa#hbMB;}$DAJ6?(Te2Z&Hn{)9NgGN
zH`m{Nb9MFi2h4&ZD1Wy7X;2hdbh|3Tt0Y*2Z?A8I>4$liu9DgHX4Q7xG>y~j>SGYU
zz5e!Y{m=Ey_Axh4o>TMeWv~ph=Z{@1(>$_EiihQkB^A#p|NFN!+f}(;l+3^T_Ivs5
z<}Gc1@c67<Z?sZKu?Vtxl)RLag+aXeAUN?k=U+aD!$sV>7ZJM`k+~NU<&$Na6<H7!
zFU8!ZX&eU0MpBWj!sF%S(;&7cQ>O|${^@s7QKWm`|6LI0O%&Mt`0MUDbSKWUXjZ=w
zpRA~O%BN^n+)q9``nWbve{l5lk5L}o#^J7aA0<U+kAG<S__p8kDw>7)o^Sf;nu;gg
zZ<pQdQ~de5rW$O1^vp@EMa02Fm~9{b!=rn;+J45{P5-w~A-(<Ia9V8D`_FH`UcI^c
zF%I(l`q8t}>#Jz?_WF1F^s{-cjeU|uo);g^GX44`QbL)cp7BO+Br%@$o@@T{E3FcA
zd;45YX4MFic^qzJy|KcCG@Odj8$~GB-k2#OsbM2cq$k92vcouBOr~j;y!5=?E4mi8
z-r6sf{kp9c5mL5z{(TtD?~57%j2!v+XQ9WFz~fzBypLDb74D2b4v~@<VHT#P{qB}^
z)LRd3?Tdryi;tzw{~YwDSIcD<=K197FLLLiQX4G>h27E4M12ABhDtq+KaLU9P^IGq
z-KAN$fzZi1sDCcz?~y)T|8tz2$4p|soTnMZfp%T_%{=#Xt3~{E@k_tFH_Ldo-OJxs
zWEwTmLRGf$bg#b<_Q(3q&cxYIeN`jxrq#1cLyqF8c-SQ%Oje5>;m_e>cEDM~kos_0
z(=vLP<kNKbmvpqaov~3*<{PKU93~7C9<T}DMR5odh6xYZgu|d%*-*AO6Mpw=lozmI
zSa4SsyhvxOxIYMf_glB}V8O51f)6U8RVL0mHo(`#?KeO$n@yHMao^Jx=*1%Gd0OQ2
z)1kwqErZPdS%g`>OV|!W`}%@s>zf<fp;71_wGJ`67os~Cx(j~m4E|U-AEIPdC8pBs
z_X?}@yIuO~4xuVegV`jAV?fnqLDkLcFuzp-1B3yd82@_9RJNaHcbN+85wRO$w@Z!P
z=3z03yR6;yTqy*4otrl;3m@D1HR8Fms>Z!y2l}<i>X$v12UiMLTH{K$zy+5IKx^nz
z4>^k{!o@NUiqKV8;+N;=Pls?ejnBt*LbJA=(99>^h!W+n0osbt%F2*xEGhAQ#z&e6
z<+AO$omNe{ojE5=Fz&G3SrOk!xAX67>l$#k^YKlzXm&=kGn$>zW``D!K{P4ZKrc*s
zjPq-KBWxHpd`zoo9L)Rc6P>SY2rM`Z7=3oHq|eUAz=e(GCdK_j9>#YlIiuv<Ps#c7
zBL1&*7QQbs6q`|OJ`}d{;A7vI)yQOlWtWI$dlDg+IOY&WfoPX;M!{R3Q7GaI>5qJ(
zJ;RO5qY6ble<O)oNn<XF;aZLuBZ?cROf8)#+2rKH5Gt8=cyPfT9bD}1Ai((r&M$C&
z;q?6C=2cc1tQ*hEwvaTKg)`I`&;@dy5!SoV#t=aq{k7RPFGDTSHq_#Vcv|VQLBnB~
z#VHYVBV{Zo(aipTyWlP>?k8(C4py#unMZW(GOL7YzO21|X%^Wm@VR~!h4MNaseWBI
z(b~<);<0I(B-YeQ2lT@KeEH4QeUQvb0!q7SigevWb@lk$x7RPf%^k00+t>1^uVpV8
zG@rep_UV*tolXg&jn7705GjmwnNC?rawAFjMvjF?gb?0H_=NgKI!&j#P_j`Ym>|km
zF7qiSiFT4u{cNRI)s>J+A(cWZbv~_N;byN-?(CLIvxh#LYPK-*OUIJYoA4Uu-cH*e
zHv5`Pfr<@AJV+y+uCnrQZ;}_*j86c|e{?Dr_KdFGFqzr^fkDHd&%>be>3!HQTV`JT
z(X~w2F*sj?B$$WU2_P9(3@h$1=|i#y>%C;wVstp5^SHOp<Jn2tj>~pG2cpq(-0$qy
zBK;TwumD&9ECAL(D8`mOk`3=M8X(vuB3LbHi%SS|#BvM>I{}1&ArUb4+E|C@_i0`r
z8-OoGHUL-p;+F`pU=;%@YQdSonZcO>wuY1!o=Ha@!0hbO!@Otfgg3o-Z(46|j{RvP
zV1#2G1XEyn!&{mzCwHr4J?ISx1BCShVWruf7{PwEZ{e4Hh7TYEL0}!Dg=))aL5Y$|
zdTPWZp^Ca>2&6=suc9b5W6p@DJT|g_DoTw@PK$2TY(#3o2-8kU0zD#Ka$3|4n-7E9
zq6@+aa9e=e;sUrWzyp9_fB1t<v#<!FI6pys_NR^|!<aGW)c&*r9c&lCyfT;*in}P8
zodanWEE65#XkfbJ1B*rQAsjRZ1R!kq5VobEJQ<P!!_b-w&vs^>ZJLFrX>fyY!?`?A
z3@Fwm$Iq7&4YU&hw)%mswZ)xq!r;$+77zSFA5mQ&k#5^Z^hOY71ZN{I371Z<#<8Nf
z+=^nx$gxL+;+`1^MyPRnH%>QdHt8c`WxJHiHX`lluF(c3qi7>S8xh)w&ZvzjPLp|U
z>eh7uVNbe-whQzS9caQIN}XW8u;0P<z~$2{TJ|_b1uKRXcWuSn#1s|`3m&Ki2dm;f
z&0xSV;DH*jRpucpOGmI_*zl|Ap}!ew#r^v{Pp8r5fb(VD-D_KS=Y%ThnI6jSRuWxH
zVnixx#*7i)(_+LG@sF3B759_1I!7s4vs4gnq^etL6=1wn;DDtY-CO9IW>J{Ds5@6&
zGE@gD)vxQOmVeaaW>IN0PtWqJl{n}~Bbim#H1}d$W?{gQM_8=lB3j1Lw8AHJAR@@J
z^iv<MAehgya2^z4H_okL6oYTC*Kd!z^WW1nNjCdGfAM91`OVdRkj&z6?E;H*ee`_w
z_}g6oxZ|~K`&#w%wJ(lKU%a8_e*0aR*x)0M{;G1_erwlFiBL+9taGs*OE`4hRst<u
z^;S|zyuoQHxfSO}GuK_EWX)1e3>UhIKR#q>YhBOVb$4>keiQ)k%1wMQ0I&`LpsH2I
zwB7fD63&en8N#SBp2K}_B{6R;i7G2;EX(c{v)(qIcG)J=iHeQ7WJ&;V*d!x}cG4tM
z#R@!(&Y0sHF3=c*#+XZLj0rc*aFb;gee83<W{t%iURaL%moNTYpuWf5&Ha9Vc0I`f
zJI2|->+i;Av~`YQh+#~PnC~*ZFvQoT5RVu&RzA_juyq%{a++MU)U8oo;S*1IF5B;!
zaFSU3+X@(Va)GvcWEaRTnzd>K%U($jf9z5o+BDF!{N=c~=d|Ld&gH_GFW#7!VVL!4
z$90h&Oc*A740mjKGv_jxfeIWZe7Wq&!;Y$9re}G@W3NWJ{YYVyAUSGUZE(zS^rH*e
zAUEojV)8zmewdUp>;pGw0D?AP7cPJYa=mioDzb;kwviMe7+~y_H*ZJD2S6F1ti^D5
zpD>2N3y1~80%Em0BhCR@04;zPKx;UlRURYVuI}!_Y-zVgpNC05tfjv1QYtX*9FLTe
z*(Chf<pn&bXu#DT?rQ68(6OWa*@<wt+CGtNxytX6833;Ofh!x-oeHcrksZ)#;Aj<}
zARR!=HOy4tOfH?;OQpqF>v>mAw7+GxVJ=5r74gLvIb&&v5L6sLW!s2Ct3tP$g&wJ0
zXWusW=>h9}ux7nF)-2P4HH*>yX|ot_&6j7*n=7^%H}|zms#{Hzx0OVFJr+J;l6q_U
zSL!=u&gw+TMicH<7p=5Y?kwqK#Qj}4rGgoE%(!F5{Q_p(OFUV2IOcevla(MH8uD0L
zxe21b!a;8Wlnzija8NoBgDD+wBB*D!r32v+B{sQwi)7|B^@CCqRcg|FT}vHNM0kZo
z1n#bguz%aj*3|?<Je&WHG;zti&wXOpM#|W3FHf}Q{cgs(ze~C5WggK@aG~L{_WEJF
zyV>rn#dbHR-0f;0yIm0}soCsyN_4sNxgb(Fz8<U7-CinTtP%~Ewbu{3{q^m3d4dB1
z-FA~pMW{#R$ogC@ToT`wg7`)d6aH9B;&X3(osQ3h@A7z{3l$rk4p^+9p39px6!Bf%
ztWnDvjspT55a58|j1CCO-%pCJFABK8JBx8d05V({GmN<tGF%%Lgvm7Q*_PjTEf%JH
z@um!teb_G;ar4RT!=zjbW?VENoNxfE)&yNnVC_lxFn-l?{OU{^Rw}F8Ufb$66J-;+
z9!W;1R4&WgRuVO(Bub1?{+Ju0sN^F>?a!6d`gSKuHY#vyBA9U5{%)L<w||Hdl(kXT
zMp^sp?{>S7;#n3ZxQYdl{4fhAiy#T+;cT+K109zN!IB4R$<}(aD1-sSfQMScPLm@1
z+#lE5G%fCJCRB!I-3o>+qn_PvD+IF{=)zE~?up%S6Z)Qv-_VhG6s`Lm{#~RWLx2`Q
z3!nwi8WIC~-yH+prp*8|^b4S0;Nnp%?h;f0VYs=Wok`l~W_=F2;MxZ801bf$$Zt&%
zupMX@KB31Cv^Sy&V1!FgevvfhnuwA%pj~HIGpc|pC2N)%q6Mqx0<a31QlaKc+v^J2
z05`M&vJEGYcLLr3)0zQH5TV6-|0zjbc2<^>*hZ4wTYgC_Y&<rSf_R2HZLI7>$0m)H
ziYRp~k6NR?N=~?w&dUE@g)2}7ptlmem8a;fylHw^d~<G-0i3puT&*`@!XGI?lxEs(
z<Z8XhMiOIs%ss+|7%4@3#@zDaccEi5|K(}J2k5{4TzA~Sfx&^nfx&^Dq6Wj+fNC(3
zX!$6qBxhxY%a%Fd32QK=0+P!^mbTXwHJDdegE=KrE9V^qv+Dw3Ic(~7%#~9j<)fsr
zg#;me*)oi71_4z{)+}Yj^98S6D(zDLu%)ea1q8T(faj&ugD`-f;DR^a`X&a=2vdTW
ze#vH&F7wz@65U9mTI;daHlOuOS%?){J56LeQL<SgE12{Kn8?1*(hAxa<gv(Ok;fvB
zbySFLeW!>j5Avl=*Q^^6zRUF0O5$cCiTl1BTdyLR@<u`t<sU1#nFH%Y$tDg=62n`a
zRG!L#RnnHhf5Csjf5Cq_@?WiQ$$7&lVMeU6-P7D<23CsVax02)J!YIpkF$}KL^AF)
z1?xu5CN7L~((bTwp9`~^XeU1GkLi6lTg72EU`KX5KEjW|k6jYk7$}-BuP|_ioBJS2
zV838#zgSkA$-cRL5JfbMKrmVjo(N1>_epL8>;iTHyMSH8!mcn0$|?u23)lth0(K1w
zyJk@i@B(-NyZ~Oq1FtxpegJX-xqw_iu3;h9Dgkx@yMSH5uHj+Va&w<cIX4F20&w*L
zTzNKK2D4M))_Vt{&la=#wTmeE0K<SYYvs&lQ4W6we+GXB*n&TUVGP=z;aUKAw~M<K
zpmGvYx1EG!k}yGa50t7_67{!|)|9H0NFj9}oT{BD*<=h-6RzYCnP{SA7)J?M!7&7h
zAxI4KyKrIq85O<ZFe);SaO&wtMnz88nql$PGAbHs>Xw!YsZyZ>mV#07EEyH`2^bYy
z-)SYN4I+I}+AmX{a(S~2C7#|&qMjPt@Kti5M%sq4^jOIaueRwz$wq7*k|?EI-VI<Q
zayN7yKdkQV2F>MxI2Lg%$UGX3RNhUkcKuyi8zrFf0F_5)_FHyH_GY`k*`=Rhy|CV{
ztoJSs=Kb-|tSt624f}=tc4fb_pa^<1-*pyOk(a=JVZTS%Zyx;>_6om(!+c@BU77D9
z_zVk%1rOMQ)4RJoEMUMe;DH)&5iP>J2o}pe3us!xgki!RMiIe0g#E&PhiSjdAPaju
zz^FeUg$=`ofx)ofOT%FMru#?W_gzYb6@yp5-6oi3VNisVe04kIU<9Um2BX7!>S``0
zMEBI#Fd=%{(czlo0$2s+hU*<%x_p3ZgKKLxH{6R!F2bzGycsr$aBC;Q!Rqc*Y#e*+
z5sq~bgdBFiEQ4fn7vu$4IRIsVGC*1PP<HM_E~f1StW@PS^P;>~UNP!9oPf2GnAu2@
zntEf!h+))>q(_84R&uim*iMveM&zQIr=2pn_)g|uf2!(g$4&Mae#P+X`3%37&+M;u
z@Mo9Oa9VkWr<LbROeARQ*vuzNakh?-9LHv&WCb!`B#osZl3K~_cu^V=6ICi%v(&yj
zY3i3+g-oeX^QG-|1u@ayhaN>tWV4(W#6*7o#6*I%-TKPd-5|Y^u1iqgINbVH64x6^
zT={0KOA;TSj}$NeG%nM!PLyntmaQ{SH9&&RpFdW$`GS=Qi5U_zw}~0pHGda;KtZfW
zJo+eUtQj$ysg^$Ugh6bn0J91lu(Z9d2x4Dh5NiX<{)1T2dh2r{nKYv}f*7NHmn`vC
zl+dLpX%ks1YV0xMYoCoc@s$lSot`dqqGlt4%`z<)E(tcZqw|ITS;Poq5ym2nea&HP
zul+xtvZ%-Fcs?)UpVI030$q$9ofx#g{|EOz<KE{pxhgZu!^te2qKy%4j3)%MItz3O
zWcz(9aO{)=a9Nt3#>4%w{u5Sl2Hx#1ig9-)+}kPL+g-T`I0o<bO2)e*ByI?J02F5$
z@GQbbnmr)oLCAC3!9*9+flZ)n-^~-iG6X#^2?RX|dd?!~nTN$>-(i>oW|^Nm7KyOu
z9Ks$HdH`kZpscXZ+dxZyR}H@VHOhfxuM){_E`=v#e?Px$+tkYq@wCz-O@zaKUhWga
ztQ1asDwrHAk1(y($S1-W&t)tBPW`Hvc|@7|*8K9VGyB$?uiPq)CjM8~#LwFF@Qcb9
zx9;KpKF`x>RJrL@>v2@ynxqmVp@<T`bUBXd6RI91jkO@YrfMWP@hk$k-1(JC)+{x|
zSBBM2=2!)oRp5Z7l9f21vHvR`H;b~(KDln9#6dF>$*j5!dT+#$S^w{dpJcI$i)a}~
z(~5ww0}(-%rJwo;%!2tm3+F)*)<?Fi+dDw;?e+TYQFm-I$Bo~~HXIVd-T2*4;nJc`
zm`opbd2Zd-b2CA-@!3dNpCXJ)&&`OY(lezbDvcal$(}4F3nC?T>bWbGtXay5e)6t%
zg!ncRSu1qF(v9xt<GE*9@M-cKTe_UPI-Ats8NP6S2*Bu*r3PN>dH^Lt*+keU+B4iG
zQ;jA@c+|I<x#U8Otzb#5U`7e|jBr{LsM4`+DHWWnx}_e`eyPs^OE;<`F+gH~&=QHk
vAiq8S+7g4x(0;$$rfuE!=I?Rv5N6+fv-yktcb)}{@4oqeTmmsU`-K7k1!?f<

diff --git a/docs/random/ds/0.9-planning b/docs/random/ds/0.9-planning
deleted file mode 100644
index f9f60e9..0000000
--- a/docs/random/ds/0.9-planning
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-Scheduling:
-
- - remove loop/get/chain from GstElement and add a "iterate" method.
-   The iterate method is called with the event (or events) that
-   triggered it, performs some action, and resets the events (file
-   descriptors becoming readable, semaphores, pads becoming readable
-   or writable, or a time occurs).
-
- - Add GstLoopElement, GstChainElement, etc. for compatibility.
-
- - Remove existing state handling and create 2 states, "playing" and
-   "stopped".  "playing" means that the iterate() method of the
-   element may be called, that is, the element is allowed to move
-   buffers, negotiate, etc.  "stopped" means that no gstreamer-ish
-   things happen to an element, only gobject-ish.  A separate
-   reset() method will handle the difference between READY and NULL.
-
- - Add a flag "ready" to GstElement that is under the control of the
-   element.  If the element is ready to stream, it sets this flag,
-   and the entire pipeline starts streaming.  (This is basically
-   the difference between PAUSED and PLAYING.)  For example, osssink
-   won't set the ready flag until the device is opened and there is
-   a buffer available to write to the device.
-
- - Scheduling of elements and movement of buffers will be timed by
-   clocks.  
-
-
-
-Example #1:
-
- Pipeline: sinesrc ! osssink
-
- - The application creates the pipeline and sets it to "playing".
-
- - The clock is created and set to "paused".
-
- - sinesrc.iterate() decides to watch for the event "src pad
-   negotiation" and sets the available caps on the pad.
-
- - osssink.iterate() opens device, determines available caps, and
-   sets the available caps on the pad.  Then it decides to wait for
-   "sink pad negotiation".
-
- - The scheduler realizes that the two elements are waiting for
-   negotiation, so it negotiates the link.
-
- - sinesrc.iterate() sets the "ready" flag (because it needs no more
-   preparation to stream) and decides to watch for the event "src
-   pad ready to accept buffer".
-
- - osssink.iterate() decides to watch for the event "sink pad has
-   available buffer".
-
- - The scheduler realizes that sinesrc.srcpad is now ready, so it
-   calls sinesrc.iterate()
-
- - sinesrc.iterate() creates a buffer and pushes it, and decides to
-   wait for the same event.
-
- - The scheduler realizes that osssink.sinkpad now has a buffer, so
-   it calls osssink.iterate().
-
- - osssink.iterate() is now ready to stream, so it sets the "ready"
-   flag and waits for "time 0".
-
- - The pipeline is now completely ready, so the clock may be
-   started.  A signal is fired to let the application know this
-   (and possibly change the default behavior).
-
- - The clock starts with the time 0.  The scheduler realizes this,
-   and decides to schedule osssink.
-
- - osssink.iterate() is called, and writes the buffer to the device.
-   This starts the clock counting.  (Actually, the buffer could be
-   written by the clock code, since presumably the clock is related
-   to osssink.)  iterate() then waits for "sink pad has available
-   buffer".
-
- We're now basically in streaming mode.  A streaming cycle:
-
- - osssink.iterate() decides the audio output buffer is full enough,
-   so it waits for "time X", where X is the time when the output
-   buffer will be below some threshold.
-
- - osssink.iterate() waits for "sink pad has available buffer"
-
- - sinesrc.iterate() creates and pushes a buffer, then waits for
-   "src pad ready".
-
-
- Further ideas:
-
- - osssink can set a hard deadline time, which means that if it is
-   not scheduled before that time, you'll get a skip.  Skipping
-   involves setting osssink to "not ready" and pauses the clock.
-   Then the scheduler needs to go through the same process as above
-   to start the clock.
-
- - As a shortcut, osssink can say "I need a buffer on the sinkpad
-   at time X".  This information can be passed upstream, and be used
-   in filters -- filter.sinkpad says "I need a buffer at time X-N",
-   where N is the latency of the filter.
-
-
-Example #2:
-
- Pipeline: osssrc ! osssink
- 
- - The application creates the pipeline and sets it to "playing".
-
- - The clock is created and set to "paused".
-
- - negotiation happens roughly as in example #1, although osssrc
-   additionally opens and prepares the device.
-
- - osssrc.iterate() sets the "ready" flag (because it needs no more
-   preparation to stream) and waits for "time 0", since it presumably
-   can't wait for the file descriptor (audio input hasn't been
-   enabled on the device yet.)
-
- - osssink.iterate() decides to watch for the event "sink pad has
-   available buffer".
-
- - The scheduler realizes the deadlock and (somehow) tells osssink
-   that it can't pre-roll.  (This needs more work)  In other words,
-   osssink can't be the clock master, but only a clock slave.
-
- - osssink.iterates() agrees to start at time SOME_LATENCY, sets the
-   "ready" flag, and waits for a buffer on its sink pad.
-
- - The pipeline is now completely ready, so the clock may be
-   started.  A signal is fired to let the application know this
-   (and possibly change the default behavior).
-
- - The clock starting causes two things to happen: osssrc starts
-   the recording of data, and osssink starts the outputting of data.
-   The data being output is a chunk of silence equal to SOME_LATENCY.
-
- - osssrc.iterate() is called for "time 0", does nothing, and waits
-   on the file descriptor (via the scheduler, of course).  All waiting
-   on file descriptors should have an associated timeout.
-
- - osssrc.iterate() is called when the file descriptor is ready,
-   reads a chunk of data, and pushes the buffer.  It then waits for
-   its file descriptor to be ready.
-
- - osssink.iterate() is called
-
-
-Evil:
-
-  fakesrc ! tee ! fakesink tee0. ! never_accept_a_buffer_sink
-
-  sinesrc ! osssink videotestsrc ! ximagesink
-  
-  fakesrc ! fakesink (pausing)
-
-  sinesrc ! identity ! osssink
-
-
-
diff --git a/docs/random/ds/buffer_locking b/docs/random/ds/buffer_locking
deleted file mode 100644
index 8200a81..0000000
--- a/docs/random/ds/buffer_locking
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-Buffers should have readlocks and writelocks to enforce
-GST_BUFFER_DONTKEEP and relax the restriction that buffers with
-multiple refcounts are read-only.
-
-
-
-Example:
-
-  videotestsrc ! ximagesink
-
-  videotestsrc requests a buffer from its src pad
-
-  ximagesink creates a buffer (refcount:1 readlock:0 writelock:0)
-
-  videotestsrc writelocks it (refcount:1 readlock:0 writelock:1)
-
-  videotestsrc writes to the buffer
-
-  videotestsrc un-writelocks it (refcount:1 readlock:0 writelock:0)
-
-  ximagesink readlocks it (refcount:1 readlock:1 writelock:0)
-
-  ximagesink writes it to the screen
-
-  ximagesink un-readlocks it (refcount:1 readlock:0 writelock:0)
-
-
-  
diff --git a/docs/random/ds/bufferpools b/docs/random/ds/bufferpools
deleted file mode 100644
index b0f211b..0000000
--- a/docs/random/ds/bufferpools
+++ /dev/null
@@ -1,57 +0,0 @@
-On Thu, Jan 08, 2004 at 04:10:00PM +0100, Julien MOUTTE wrote:
-> 
-> Hi David,
-> 
-> I'd like to implement bufferpools again in x[v]imagesink asap.. Could
-> you please point me to a template/doc on how to do that ?
-> 
-> The best for me would be a simple testcase showing how to use the buffer
-> free methods to replace bufferpools.
-
-
-x[v]imagesink should call gst_pad_set_bufferalloc_function() on
-their sink pads with a bufferalloc implementation.  This bufferalloc
-function is to allocate buffers that _peers_ will send _to_ that pad.
-
-A trivial version of a bufferalloc function, i.e., one that just
-allocates normal buffers:
-
-static GstBuffer *
-gst_ximagesink_sink_bufferalloc (GstPad *pad, guint64 offset, guint
-size)
-{
-  GstBuffer *buffer;
-
-  buffer = gst_buffer_new_and_alloc (size);
-  GST_DATA_FREE_FUNC (data) = gst_ximagesink_buffer_free;
-  GST_BUFFER_POOL_PRIVATE (data) = ximagesink; /* whatever */
-
-  return buffer;
-}
-
-static void
-gst_ximagesink_buffer_free (GstData *data)
-{
-  g_free (GST_BUFFER_DATA (data));
-}
-
-The hard part is going through each element, and every time it
-allocates a buffer using gst_buffer_new_and_alloc () that is then
-sent to a sink pad, the call should be replaced with
-gst_pad_alloc_buffer (sinkpad, offset, size).
-
-
-
-dave...
-
-
-
--------------------------------------------------------
-This SF.net email is sponsored by: Perforce Software.
-Perforce is the Fast Software Configuration Management System offering
-advanced branching capabilities and atomic changes on 50+ platforms.
-Free Eval! http://www.perforce.com/perforce/loadprog.html
-_______________________________________________
-gstreamer-devel mailing list
-gstreamer-devel@lists.sourceforge.net
-https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
diff --git a/docs/random/ds/categories b/docs/random/ds/categories
deleted file mode 100644
index 2636f11..0000000
--- a/docs/random/ds/categories
+++ /dev/null
@@ -1,50 +0,0 @@
-
-Element Categories:
--------------------
-
-
-Decoder:
-
-
-Encoder:
-
-
-Converter:
- A converter has one or more source pads and one or more sink pads.
- Converter pads may have different caps templates.  Converters are
- expected 
-
-
-Filter:
- A filter has one source and one sink pad.  These pads have the same
- caps and (thus) the same caps template.
-
- Filters generally do not handle events.
-
- Filters may have interfaces.
-
- Filters are generally not autoplugged unless they have interfaces.
-
-
-Source:
- A source has one source pad and no sink pads.
-
- Sources usually handle events.
-
- Sources may have interfaces.
-
- Sources are not autoplugged.
-
-Sink:
- A sink has one sink pad and no source pads.
-
- Sources usually handle events.
-
- Sources may have interfaces.
-
- Sinks are not autoplugged.
-
-
-
-Converter/Colorspace
-
diff --git a/docs/random/ds/element-checklist b/docs/random/ds/element-checklist
deleted file mode 100644
index fcac4e4..0000000
--- a/docs/random/ds/element-checklist
+++ /dev/null
@@ -1,43 +0,0 @@
-
-This is a list of things to check in elements.
-
-
-
-1. Add a "Element-Checklist-Version: 1" comment
-
-This comment is to indicate which items on this checklist have been
-checked, so that future checkers can skip things that you've already
-carefully checked.  This number should obviously be updated whenever
-you do additional checks.  Ideally, you should not do checks out of
-order, but using "1, also 4-6" is acceptable.
-
-
-2. Each pad should have a pad template
-
-Create and register a pad template to the element class.
-
-
-3. config.h
-
-Make sure that each .c file includes config.h (conditionally on
-HAVE_CONFIG_H).  Make sure that each .h file does _not_ include
-config.h.
-
-4. src event handling
-
-Every element having multiple sink pads or having a specific need to handle
-src events in a different manner than the default event handler should do that 
-correctly. Correctly means that :
-
-- It should not leak the event if it is handled (gst_event_unref)
-- It should call return gst_pad_event_default (pad, event) for all non handled 
-localy events. Otherwise it breaks navigation, seeking, etc...
-- it should return a TRUE/FALSE boolean if the localy handled event was handled.
-
-
-
-
-other ideas:
-
-- plugins should avoid using gst_caps_to_string() in debug statement.
-  They should use %"GST_PTR_FORMAT" instead.  Check all usage for leaks.
diff --git a/docs/random/ds/registry b/docs/random/ds/registry
deleted file mode 100644
index ff06ef6..0000000
--- a/docs/random/ds/registry
+++ /dev/null
@@ -1,15 +0,0 @@
-
-Ideas for a new registry system:
-
-- each plugin has an associated registry XML file.  Each xml file in
-  a plugin directory is loaded to create the in-core registry.
-
-- needed for avidemux:
-
-  <Company> plugin x create some registry information that says stuff like:
-  <Company> "caps x are fourcc FOOO in avi"
-  <Company> or "caps y may be contained in id3 tagged files"
-  <Company> or "caps z is a valid format to put in an ogg container"
-
-
-
diff --git a/docs/random/ds/roadmap b/docs/random/ds/roadmap
deleted file mode 100644
index 4a54bb8..0000000
--- a/docs/random/ds/roadmap
+++ /dev/null
@@ -1,79 +0,0 @@
-
-After some discussion on IRC, I think it's time to propose a
-formal plan for the next 6 months or so to the list.
-
-I think most people are in agreement that we need a period of time
-in which we can focus on improving non-core bits (like elements,
-schedulers, autopluggers, applications, etc.)  In the last cycle,
-there was a lot of time spent with a significant number of plugins
-broken, and it's realistic to assume that this could happen again
-in a 0.9 unstable series.
-
-What I propose is:
-
- - We continue to develop the 0.8.x series as HEAD, with the obvious
-   requirement that all changes be ABI/API compatible.
- 
- - API additions are encouraged, as long as they are well-thought-out.
-
- - Significant API additions should be developed on a separate branch
-   (not HEAD) to test out any bugs.
-
-In mid-August (or so, in order to coordinate with GNOME-2.8), we have
-two options:
-
- - Continue with 0.8.x releases, obviously ABI compatible with 0.8.0.
-
- - or, remove deprecated functions, readjust the padding on structures,
-   perhaps make a few additional ABI changes [1], and quickly go to
-   0.10.0.
-
-I prefer the latter, although we don't have to decide that until
-later.  In either case, there should be no API changes that affect
-more than a bare minimum of elements or applications.
-
-A few things that we won't be able to do without a true unstable
-branch are:
-
- - using GstStructure for all GstEvents.
-
- - significant clock changes
-
- - significant scheduling changes
-
- - separation of headers into application and plugin headers
-
- - anything that requires modification of every plugin
-
-There are perils with having HEAD being the stable branch,
-specifically that bugs can creep in and accidentally cause regressions
-in releases.  I'm hoping that the introduction of media regression
-testing and also the development of new testsuites will keep this
-to a minimum.  Don't forget that accidental bugs that get into
-releases typically cause rude IRC conversations, which we really
-don't need.  Please keep the bugs (and the rudeness) to a minimum.
-
-Also, keep in mind that we will have to live with 0.8's unfixable
-bugs for an entire year.[2]
-
-
-
-dave...
-
---
-[1] I'm thinking about making GstData a subclass of GTypeInstance or
-    GObject.
-[2] But then, 0.6 was 1 year ago, and felt a lot more buggy when it
-    was released.
-
-
-
--------------------------------------------------------
-This SF.Net email is sponsored by: IBM Linux Tutorials
-Free Linux tutorial presented by Daniel Robbins, President and CEO of
-GenToo technologies. Learn everything from fundamentals to system
-administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
-_______________________________________________
-gstreamer-devel mailing list
-gstreamer-devel@lists.sourceforge.net
-https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
diff --git a/docs/random/ensonic/audiobaseclasses.txt b/docs/random/ensonic/audiobaseclasses.txt
deleted file mode 100644
index e31047f..0000000
--- a/docs/random/ensonic/audiobaseclasses.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-$Id$
-
-= audio base classes =
-We have gst-plugins-base/gst-libs/gst/audio with some audio helper and base
-classes.
-
-audiofilter: for src_caps=sink_caps
-basetransform: *
-
-= new stuff =
-
-
-= todo =
-* mv gstaudiofilterexample -> gst-template
-* make more elements using the baseclass
-  * base: audiorate, audioresample, volume
-  * good: audiopanorama
-
diff --git a/docs/random/ensonic/dparams.txt b/docs/random/ensonic/dparams.txt
deleted file mode 100644
index 27dc4b7..0000000
--- a/docs/random/ensonic/dparams.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-$Id$
-
-* controller changes
-  * handling of G_TYPE_XXX is distributed over
-    gst-controller.c::gst_controlled_property_set_interpolation_mode()
-    gst-controller.c::gst_controlled_property_new
-    gst-interpolation.c 
-  * it would be better to put handlers for each type into a struct
-    and register it into a hashmap with the G_TYPE as the key
-  * functions in  gst-controller.c could try the key,
-    if no handler is registered the try the type_parent and so on
-
-* implement quadric/cubic interpolation
-
diff --git a/docs/random/ensonic/draft-registry-change-hooks.txt b/docs/random/ensonic/draft-registry-change-hooks.txt
deleted file mode 100644
index 102d6ce..0000000
--- a/docs/random/ensonic/draft-registry-change-hooks.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-Registry Change Hooks
-----------------------
-
-This document proposes a mechanism to register on registry updates.
-
-Last edited: 2009-11-09 Stefan Kost
-
-
-Current Behaviour
------------------
-
-When new plugins are installed or some are removed, the next application that
-runs rebuiilds the registry. Any application that runs later on won't know about
-it.
-
-
-Problem
--------
-
-Some usecases need to cache gstreamer capabilities. They need to know when the 
-cache needs to be rebuilt. We could either export the registry mtime as api or
-do the following.
-
-This gets more useful once we can have more plugin/element metadata in the
-registry (e.g. mime-types for demuxers and codecs, see
-http://www.rfc-editor.org/rfc/rfc4281.txt).
-
-Proposal
---------
-We add a ~/.gstreamer-0.10/registry-hooks directory. Applications can install
-scripts there. When the registry is rebuild, those scripts are run async in no
-specific order. There is no feedback channel (return values, stdout/err).
-
-
-Examples
----------
-
-gst-inspector
--------------
-it would install a script that simply deletes its cachefile.
-
-gupnp
------
-it would install a script that runs gst-inspect-0.10 --print-plugin-auto-install-info
-and post process it.
-
-totem,banshee,rythmbox
------------------------
-they could tune the "MimeType=" lists in their desktop files
-
-
-Open Items
-----------
-Should we have a gst-registry-hook script with --install/--remove/--list actions
-to manage hooks?
-
diff --git a/docs/random/ensonic/dynlink.txt b/docs/random/ensonic/dynlink.txt
deleted file mode 100644
index 007783b..0000000
--- a/docs/random/ensonic/dynlink.txt
+++ /dev/null
@@ -1,89 +0,0 @@
-$Id$
-
-Currently its only save to link/unlink elements/pad when pipeline is in READY.
-Belowe some thoughts. See http://bugzilla.gnome.org/show_bug.cgi?id=435487
-for patches.
-
-= current api =
-
-gboolean gst_element_link   (GstElement *src, GstElement *dest);
-void     gst_element_unlink (GstElement *src, GstElement *dest);
-
-gst_element_link_many, gst_element_unlink_many, gst_element_link_filtered,
-gst_element_link_pads, gst_element_unlink_pads, gst_element_link_pads_filtered
-
-GstPadLinkReturn gst_pad_link (GstPad *srcpad, GstPad *sinkpad);
-gboolean         gst_pad_unlink (GstPad *srcpad, GstPad *sinkpad);
-
-= use cases =
-
-== inserting an element ==
-
-* we have: e1 ! e4
-* we want: e1 ! e2 ! e3 ! e4
-* we want: e1 ! e2      ! e4
-
-gst_element_insert_linked(e1, e2, e3, e4); // e2 == e3 allowed
-gst_pads_insert_link (e1.src, e2.sink, e3.src, e4.sink);
-  disconnect e1.src, e1.src.peer
-  disconnect e4.sink, e4.sink.peer
-  connect e1.src, e2.sink
-  connect e3.src, e4.sink
-
-== removing an element ==
-
-* we have: e1 ! e2 ! e3
-* we want: e1 ! e3
-
-gst_element_remove_linked(e2);
-gst_pads_remove_link (e1.src, e3.sink);
-  disconnect e1.src, e1.src.peer
-  disconnect e3.sink, e3.sink.peer
-  connect e1.src, e3.sink
-
-== swapping out an elelment ==
-
-* we have: e1 ! e2 ! e6
-* we have: e1 ! e2 ! e3 ! e6
-* we want: e1 ! e4 ! e5 ! e6
-* we want: e1 ! e3      ! e6
-
-gst_element_swap_linked(e1, e4, e5, e6);
-gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink);
-  disconnect e1.src, e1.src.peer (=e2.sink)
-  disconnect e6.sink, e6.sink.peer
-  connect e1.src, e4.sink
-  connect e5.src, e6.sink
-
-= thoughts =
-* I don't think we need api for pads
-* Should current api check for the state?
-* do we want to swapp multiple elements at once
-
-== events ==
-* tee and adder need special treatment
-  * both would need to cache an accumulated segment
-  * tee
-    * would also cache tags
-    * when linkfunc is called, it can send out the segment and the tags
-    * when all pads got unlinked it could clear the segment
-  * adder
-    * when linkfunc gets called it sends a seek-event
-
-= ideas =
-== dynlinkpoint ==
-* use cases
-  * its meant to be used with one side disconnected to allow to connect elements
-    at runtime
-  * it can be used in a pipeline to remove/insert elements at runtime
-* element with 1 source- and 1 sinkpad
-* when both connected it passes data through
-* if src is not connected it drops received buffers
-* if sink is not connected
-  * it does not push
-  * it creates silence on pull
-* events
-  * it caches events
-    * down: newsegment, tags, buffersize
-    * up: seek (needs to be modified)
-  * when other-pad get connected it pushes events depending on direction
diff --git a/docs/random/ensonic/interfaces.txt b/docs/random/ensonic/interfaces.txt
deleted file mode 100644
index cda4c90..0000000
--- a/docs/random/ensonic/interfaces.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-$Id$
-
-* existing gstreamer interfaces
-  ./gstreamer/gst/gsttaginterface.c
-  ./gstreamer/gst/gstinterface.c
-  ./gstreamer/gst/gsturi.c
-  ./gst-plugins/gst-libs/gst/propertyprobe/propertyprobe.c
-  ./gst-plugins/gst-libs/gst/mixer/mixer.c
-  ./gst-plugins/gst-libs/gst/tuner/tuner.c
-  ./gst-plugins/gst-libs/gst/xoverlay/xoverlay.c
-  ./gst-plugins/gst-libs/gst/colorbalance/colorbalance.c
-  ./gst-plugins/gst-libs/gst/navigation/navigation.c
-* new general interfaces
-  * GST_TYPE_UI_HINT
-    - add hints to generate 'good' looking interfaces to elements
-    - API:
-      GList *get_group_list();
-      struct ui_hint_group {
-        gchar *label;
-        gachr *role;
-        GList *entries;
-      }
-      struct ui_hint_group_entry {
-        enum UiHintGroupEntryType type={PARAM,DPARAM};
-        gchar *name;
-      }
-      roles {
-        /* graphics */
-        "color_selection/rgb",
-        "color_selection/hsv",
-        "aspect_ratio",
-        /* audio */
-        "envelope/adsr",
-      }
-    - features
-      - grouping of parameters, each group has:
-        - a label: giving a title to the group
-        - a role:
-          - this can give the UI a hint about the purpose of the controls
-          - this only makes sense, if we don't make this a thousand templates
-        - a list of dparams or properties
-    - question
-      - should this be aware of instruments (voice-groups)
-        - no, instruments should auto-generate those
-  * GST_TYPE_QUALITY_VS_SPEED
-    - get the name of a property that can be used to switch between
-      - a fast version for e.g. realtime usage
-      - a slower version with higher precision that can be used for off-line
-        rendering
-* new interfaces for audio applications
-  * GST_TYPE_MULTI_VOICE
-    - control interface for elements that support multiple voices (in one output-pad)
-    - API:
-      gulong number_of_voices;
-      void add_voice();
-      void remove_last_voice();
-      gulong get_number_of_voices();
-    - features
-      - plugin will initially have one voice and that one can not be deleted
-  * GST_TYPE_MUSIC_GENERATOR
-    - add hints so that application can use a element as an instrument
-    - API:
-      // param types
-      DParam *get_note_dparam();
-      GList *get_trigger_dparams();
-      // -- or
-      DParamType get_dparam_type(DParam *);
-      dparamtype = { NOTE, TRIGGER, OTHER }
-      // voices
-      char *get_number_of_voices_property();
-      GList *get_global_param_names();
-      GList *get_voice_param_names();
-    - features
-      - find out which params to use to play notes/trigger sounds
-        - these params will not appear in a control-ui
-        - notes involve a key to frequency translation
-      - find out if the element has a number_of_voices property
-        - if yes, we can find out about the max by looking at the gparamspec
-        - setting the property, adds/removes voices
-        - if the element supports it, it needs to:
-          - register voice-dparams as e.g. note_XXX, where XXX is the voice-number
-          - run the voice-loop in the chain/loop function
-            each voice processes the same input, if at all
-            the outputs of all voices are mixed together
-
diff --git a/docs/random/ensonic/lazycaps.txt b/docs/random/ensonic/lazycaps.txt
deleted file mode 100644
index b8761bf..0000000
--- a/docs/random/ensonic/lazycaps.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Lazy Caps
-=========
-
-The idea is to have caps where we evaluate the structures as needed. We can have
-these variants of lazy caps:
-
-- construction (e.g. from_string)
-  - need user_data (the string/string-array)
-  - need a free_func for the user_data
-  - need a get_structure_func to fill structure slots as needed
-  - we can more easily make this iterator based too
-- operations (e.g. intersect) (see [1]).
-  - need user_data (the iterator)
-  - need a free_func for the user_data
-  - need a get_structure_func to fill structure slots as needed
-
-We should add PERFORMANCE category logging to methods that cause lazy caps to be
-fully evaluated. To get maximum speed benefit we need to inspect places that 
-loop over structures of a caps and turn them into while() loops where possible.
-
-We can use GST_CAPS_FLAGS_LAZY to indicate that caps are not fully constructed.
-Once caps are fully evaluated, we can remove the flag (and call the free_func).
-
-Lazy caps might need a lock to protect multiple threads requesting a structure
-(get_structure_func).
-
-Accessors
----------
-guint gst_caps_get_size (const GstCaps *caps);
-- needs to fully evaluate the caps if iterator based :/
-
-GstStructure *gst_caps_get_structure (const GstCaps *caps, guint index);- needs to fully evaluate the caps if iterator based :/
-- needs to evaluate all entries up to index if iterator based
-- needs to only evaluate requested index if e.g. parse based
-
-gchar *gst_caps_to_string (const GstCaps * caps)
-- needs to fully evaluate the caps
-- it is used in debugging and serialisation
-
-Construction
-------------
-
-Manipulation
-------------
-void gst_caps_append (GstCaps *caps1, GstCaps *caps2);
-- use an iterator
-
-void gst_caps_merge (GstCaps *caps1, GstCaps *caps2);
-- use an iterator
-
-void gst_caps_append_structure (GstCaps *caps, GstStructure *structure);
-void gst_caps_remove_structure (GstCaps *caps, guint idx);
-void gst_caps_merge_structure (GstCaps *caps,
-- fully evaluate caps?
-
-GstCaps * gst_caps_copy_nth (const GstCaps *caps, guint nth);
-- eval structure and copy
-
-void gst_caps_truncate (GstCaps *caps);
-- eval first structure as needed and remove GST_CAPS_FLAGS_LAZY + call free_func
-
-void gst_caps_set_value (GstCaps *caps, const char *field, const GValue *value);
-void gst_caps_set_simple (GstCaps *caps, const char *field, ...);
-void gst_caps_set_simple_valist (GstCaps *caps, const char *field, va_list varargs);
-- fully evaluate caps
-
-
-Operations
-----------
-
-
-[1] https://bugzilla.gnome.org/show_bug.cgi?id=618853
diff --git a/docs/random/ensonic/logging.txt b/docs/random/ensonic/logging.txt
deleted file mode 100644
index d3ab917..0000000
--- a/docs/random/ensonic/logging.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-$Id$
-
-rethink log format. current format:
-* is not easy to parse/process by commandline tools
-* cannot be easily diffed (timestamps, pid)
-
-gst_debug_log_default() is default gst-log handler.
-try new via:
-  gst_debug_remove_log_function(gst_debug_log_default)
-  gst_debug_add_log_function(func,data)
-
-== reorder fields ==
-
-format of default handler is:
-                 DEBUG (0x8134bc0 - 0:00:00.848191000)              GST_QOS( 3340) gstbasesink.c(1431):gst_base_sink_do_render_stats:<xvimagesink0> avg_render: 0:00:00.009044000
-log_level_name --^^^^^  |       |   |               |               |     | |   |  |                 | |                           | |
-thread-id --------------^^^^^^^^^   |               |               |     | |   |  |                 | |                           | |
-timestamp --------------------------^^^^^^^^^^^^^^^^^               |     | |   |  |                 | |                           | |
-log_category -------------------------------------------------------^^^^^^^ |   |  |                 | |                           | |
-process-id -----------------------------------------------------------------^^^^^  |                 | |                           | |
-file:line -------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^ |                           | |
-function ----------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
-message -----------------------------------------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^
-
-new proposed format:
-                 0:00:00.848191000  3340 0x8134bc0 DEBUG               GST_QOS gstbasesink.c:1431:gst_base_sink_do_render_stats:<xvimagesink0> avg_render: 0:00:00.009044000
-timestamp -------^^^^^^^^^^^^^^^^^ |   | |       | |   |               |     | |                | |                           | |
-process-id ------------------------^^^^^ |       | |   |               |     | |                | |                           | |
-thread-id -------------------------------^^^^^^^^^ |   |               |     | |                | |                           | |
-log_level_name ------------------------------------^^^^^               |     | |                | |                           | |
-log_category ----------------------------------------------------------^^^^^^^ |                | |                           | |
-file:line ---------------------------------------------------------------------^^^^^^^^^^^^^^^^^^ |                           | |
-function -----------------------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
-message ------------------------------------------------------------------------------------------------------------------------^^^^^^^^^^^^^^^
-
-something like:
-  cut -c35- | sed -e "s/0x[0-9a-f]\{7,8\}//g"
-should make logs easily 'diffable'.
-
-== color code level ==
-
-I suggedt to color-code loglevels if COLOR is allowed:
-ERROR   : red
-WARNING : yellow
-INFO    : green
-DEBUG   : turkis
-LOG     : gray
-NONE    : gray
-
-== log sources ==
-
-What about differentating between log sources:
-  core
-  elements
-  application
-
diff --git a/docs/random/ensonic/media-device-daemon.txt b/docs/random/ensonic/media-device-daemon.txt
deleted file mode 100644
index 81717f9..0000000
--- a/docs/random/ensonic/media-device-daemon.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-$Id$
-
-components
-================================================================================
-
-- daemon process
-  - is a gstreamer application
-  - open physical sink, src elements
-  - prepends an adder to sinks
-  - appends an tee to sources
-  - listens to dbus, to get notified by virtual-endpoints of init/finalize
-    (the dbus notify, would also be useful for gst-editor to hook on running
-     apps)
-
-- 4 new elements
-  - virtual-audiosink, virtual-videosink
-    virtual-audiosrc, virtual-videosrc
-  - virtual sinks establish a connection to the daemon
-  - they link to request_pads of the adder/tee elements
-  - on init and finalize they send a dbus-message
-
-- gui app
-  - lists instances as mixing-desk like channelstrips
-  - channelstrips would contain
-    - audio
-      - volume, panorama, 3-band eq
-    - video
-      - brightness, contrast, alpha-level
-  - user can
-    - add insert-fx
-    - route channel to targets, where targets can be real sinks or more
-      virtual-sinks (sub-groups)
-  - virtual sinks need queues to decouple application processes
-
-- interfaces
-  - expose child-elements via child-proxy
-    - then e.g. the applications volume-control could directly access the
-      channelstrip
-  - state-control (play, pause/mute)
-    - it would be useful if one app could pause/mute others
-    - think of a voip-client, if there is an incoming call, if pauses your
-      media-player, or mutes the monitoring of your recording app
diff --git a/docs/random/ensonic/plugindocs.txt b/docs/random/ensonic/plugindocs.txt
deleted file mode 100644
index 987fc68..0000000
--- a/docs/random/ensonic/plugindocs.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-Plugin Docs
-===========
-
-In contrast to normal gtk-doc workflow modules will include
-common/gtk-doc-plugins.mak. This provides an additional 'make udpate' target.
-
-the "make update" target calls
-1.) common/gstdoc-scangobj --type-init-func="gst_init(NULL,NULL)" --module=$(DOC_MODULE) --source=$(PACKAGE)
-    common/scangobj-merge.py $(DOC_MODULE)
-
-the "tmpl" target is modified to run this extra step after "gtkdoc-mktmpl":
-2.) common/mangle-tmpl.py $(srcdir)/inspect tmpl
-
-and the "sgml" target is modified to run this step before "gtkdoc-mkdb":
-3.) for a in $(srcdir)/inspect/*.xml; do \
-  xsltproc --stringparam module $(MODULE) $(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`;
-done
-
-Details
-=======
-
-1a.) gstdoc-scangobj
--------------------
-- get types from registry instead of .types file
-- outputs inspect/plugin-<pluginname>.xml files
-- outputs signal and args files
-
-1b.) scangobj-merge.py
----------------------
-- parse, update and write .signals and .args files
-
-2.) mangle-tmpl.py
-------------------
-- read data from inspect/plugin-<pluginname>.xml
-- insert/overwrite "Short Description" and "Long Description" in tmpl/
-- the "Long Description" contains a <xi:include> for xml/element-<name>-details.xml
-
-3.) common/plugins.xsl
-----------------------
-- creates xml/plugin-<name>.xml and xml/element-<name>-details.xml
-
-
-TODO:
------
-- scangobj-merge.py -> gstdoc-scangobj
-- need a way to skip the tmpl step
-  - gtkdoc-mkdb needs a way to insert extra content
-  - maybe patch generated xml/*.xml files
-    - could common/plugins.xsl patch the files?
-      <refsect1 id="gstreamer-plugins-capsfilter.description" role="desc">
-
diff --git a/docs/random/ensonic/receipies.txt b/docs/random/ensonic/receipies.txt
deleted file mode 100644
index 0d2a0a3..0000000
--- a/docs/random/ensonic/receipies.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-$Id$
-
-= receipies =
-
-The idea is to collect some recommendations for common, but not so trivial
-tasks. docs/design/part-block.txt has something like that already. Ideally these
-would go to the application developer manual and there would be sample code.
-
-== initial seeking ==
-=== question ===
-How to I configure the initial playback segment?
-
-=== idea ===
-1) set pipeline to PAUSED
-2) send seek event
-3) set pipeline to PLAYING
-
-=== problems ===
-1) would preroll the pipeline only, to flush it when the seek comes
-
-
-== async state changes ==
-=== question === 
-what to do when gst_element_set_state() returns ASYNC?
-
-=== idea ===
-1) listen to the STATE_CHANGED message on the bus
-2) trigger next action
-
-=== problems ===
-This scatters logic over multiple functions (callbacks).
-
-
-== topic ==
-=== question === 
-=== idea ===
-=== problems ===
diff --git a/docs/random/eos b/docs/random/eos
deleted file mode 100644
index c928d26..0000000
--- a/docs/random/eos
+++ /dev/null
@@ -1,209 +0,0 @@
-OUTDATED
---------
-
-
-case 1) 
-
- (--------)         (--------)         (--------)
- ! fakesrc!         !identity!         !fakesink!
- !       src ----- sink     src ---- sink       !
- (--------)         (--------)         (--------)
-
-
-
-  fakesrc detects the end of stream. It just sent the last buffer
-  and sets the srcpad to EOS with gst_pad_eos ().
-
-  gst_pad_eos() will notify the parent about the plugins attempt to
-  signal eos. the parent adds the element to its possible EOS 
-  providers.
-  
-  gst_pad_eos() will by default propagate to identy and to fakesink.
-  none of these plugins override the default behaviour so gst_pad_eos
-  returns TRUE and fakesrc signals EOS with the value TRUE.
-
-  The parent looks in the list of EOS providers and finds the faksrc
-  element that is now signaling EOS. all EOS providers are now in EOS
-  and so the bin fires EOS.
-
-
-
-case 2) 
-                                                     (---------------)
-                                                     !thread         !
- (--------)         (--------)         (--------)    !     (--------)!
- ! fakesrc!         !identity!         !  queue !    !     !fakesink!!
- !       src ----- sink     src ---- sink       src ---- sink       !!
- (--------)         (--------)         (--------)    !     (--------)!
-                                                     (---------------)
-
-
-  fakesrc detects the end of stream. It just sent the last buffer
-  and sets the srcpad to EOS with gst_pad_eos ().
-
-  gst_pad_eos() will notify the parent about the plugins attempt to
-  signal eos. the parent adds the element to its possible EOS 
-  providers.
-
-  gst_pad_eos() will by default propagate to identy and to queue.
-  queue overrides the eos handler and returns false on the eos
-  request. fakesrc signals EOS with a value of false and the parent
-  bin removes the EOS provider from its list.
-
-  after the queue has sent out the last buffer, its calls eos on its
-  src pad. queue is added to the top level bin as an eos provider and
-  the default eos handler signals EOS with a value of TRUE to the parent.
-
-  the parent sees that all the eos providers are in eos now and signals
-  EOS.
-
-
-case 3) 
-                                                     (---------------)
-                                                     !thread         !
- (--------)         (--------)         (--------)    !     (--------)!
- ! fakesrc!         !  tee   !         ! queue1 !    !     !fakesink!!
- !       src ----- sink     src ---- sink       src ---- sink       !!
- (--------)         !        !         (--------)    !     (--------)!
-                    !        !                       (---------------)
-                    !        !
-                    !        !                       (---------------)
-                    !        !                       !thread         !
-                    !        !         (--------)    !     (--------)!
-                    !        !         ! queue2 !    !     !fakesink!!
-                    !       src ---- sink       src ---- sink       !!
-                    !        !         (--------)    !     (--------)!
-                    (--------)                       (---------------)
-
-
-  fakesrc detects the end of stream. It just sent the last buffer
-  and sets the srcpad to EOS with gst_pad_eos ().
-
-  the eos handler returns false because both queues return false on the
-  eos request. the parent removes fakesrc as an EOS provider.
-
-  queue1 and queue2 were responsible for the EOS delay and so they get
-  added to the bin as possible EOS providers.
-
-  after the queues have sent out their last buffer, they calls eos on their
-  src pads.
-  the parent already has the two queues in the EOS provider list so they don't
-  get added twice.
-  the two queues perform gst_pad_eos () on their pads when the queue is empty,
-  the parent removes the EOS providers from its list, when the list is empty,
-  the parent fires EOS.
-  
-  
-case 4) 
-
-                                                     (---------------)
-                                                     !thread         !
- (--------)       (----------)         (--------)    !     (--------)!
- ! fakesrc!       !mpeg1parse!         ! queue1 !    !     !fakesink!!
- !       src -- sink        src ---- sink       src ---- sink       !!
- (--------)       !          !         (--------)    !     (--------)!
-                  !          !                       (---------------)
-                  !          !
-                  !          !                       (---------------)
-                  !          !                       !thread         !
-                  !          !         (--------)    !     (--------)!
-                  !          !         ! queue2 !    !     !fakesink!!
-                  !         src ---- sink       src ---- sink       !!
-                  !          !         (--------)    !     (--------)!
-                  (----------)                       (---------------)
-
-
-  this case differs from case3 in that one of the queues can be empty
-  while the other isn't. we assume queue1 is empty while queue2 isn't yet.
-
-  fakesrc detects the end of stream. It just sent the last buffer
-  and sets the srcpad to EOS with gst_pad_eos ().
-
-  the eos handler returns false because queue2 returns false on the
-  eos request. the parent removes fakesrc as an EOS provider.
-
-  queue2 was responsible for the EOS delay and so it gets added to the bin
-  as a possible EOS provider.
-
-  after the queue2 has sent its last buffer, it performs gst_pad_eos on its
-  src pad.
-  the parent already has the queue2 in the list of EOS providers so it does not
-  get added twice.
-  queue2 finally fires the EOS signal and the parent removes the EOS provider 
-  from its list, when the list is empty, the parent fires EOS.
-
-  
-
-case 5) 
-
- (--------)         (--------)         (--------) 
- ! disksrc!         !  mad   !         !filesink! 
- !       src ----- sink     src ---- sink       ! 
- (--------)         (--------)         (--------)
-
-
-  disksrc detects the end of stream. It just sent the last buffer
-  and sets the srcpad to EOS with gst_pad_eos ().
-
-  the eos handler returns false because mad returns false on the
-  eos request. the parent removes mad as an EOS provider.
-
-  mad was responsible for the EOS delay and so it gets added to the bin 
-  as a possible EOS provider.
-
-  After mad has sent its last buffer, it performs gst_pad_eos on its
-  src pad.
-  the parent already has mad in the list of EOS providers so it does not
-  get added twice.
-  mad finally fires the EOS signal.  This time, filesink returns false on
-  the eos request.  the parent removes mad as an EOS provider. 
-  
-  filesink was responsible for the EOS delay and gets added to the bin
-  as a possible EOS provider.
-  When filesink has written all of it's data and closed the output file,
-  it fires EOS.
-  The parent already has filesink in the list of EOS providers so it does
-  not get added twice.
-  The parent removes the EOS provider 
-  from its list, and since the list is empty, the parent fires EOS.
-
-case 6) 
-
- (--------)         (--------)         (--------) 
- !disksrc1!         !  mad1  !         ! mixer  ! 
- !       src ----- sink     src ---- sink1      !        (--------)
- (--------)         (--------)         !        !        !filesink!
-                                       !       src ---- sink      !
- (--------)         (--------)         !        !        (--------)
- !disksrc2!         !  mad2  !         !        ! 
- !       src ----- sink     src ---- sink2      ! 
- (--------)         (--------)         (--------)
-
-  In this case, we want to make sure the pipeline keeps running after one
-  of the two sources reaches eos.  Suppose in this case that disksrc1 will
-  reach eos first.
-
-  disksrc1 detects the end of stream. It sets eos, mad1 will return false,
-  and mad1 will be responsible for eos.  When mad1 had sent out the last
-  buffer, it sends out eos.
-
-  The mixer intercepts eos and returns false.  mad1 is removed from the
-  eos providers and mixer is added.
-
-  (At this point, the mixer might choose to disconnect mad1->src and
-  mixer->sink1 pads, since it's received eos on mad1->src)
-
-  mixer will not send out eos since it hasn't received eos from 
-  mad2->src.
-
-  After a while, disksrc2 will detect end of stream, and eos will finally
-  propagate to mixer.  mixer might disconnect mad->src2, and after
-  realizing all of it's sources have reached eos, it sends out the final
-  buffer and fires EOS.
-
-  At this point, filesink will return false, mixer will be removed as an
-  eos provider, and filesink will write out it's final buffer and close
-  the file on disk.  At this point, it fires eos, and since it's the last
-  eos provider, the parent can fire eos.
-
-
diff --git a/docs/random/error b/docs/random/error
deleted file mode 100644
index bccb239..0000000
--- a/docs/random/error
+++ /dev/null
@@ -1,59 +0,0 @@
-Some notes on the error handling introduced after 0.7.3
-
-- there are four domains for errors:
-  - CORE: core GStreamer errors
-  - LIBRARY: supporting library errors
-  - RESOURCE: errors accessing resources (files, network, memory, ...)
-  - STREAM: errors in the data stream
-- Each error in GStreamer or plug-ins can be put under one of these four.
-- the enum is called Gst(Domain)Error and has GST_(DOMAIN)_ERROR_(CODE) members
-  (see GError API docs for rationale)
-- each of the enums starts with _FAILED at 1 (with FAILED being the generic
-  error if none of the others applies)
-- second in the enum is TOO_LAZY, which allows us to keep track of those errors
-  that we haven't categorized yet.  This means they really should either move
-  to another one, or a new one ought to be created.
-- each enum ends with NUM_ERRORS
-
-- elements call gst_element_error to signal an error:
-  gst_element_error (element, domain, code, message, debug);
-  With :
-  - element being the one signalling the error
-  - domain one of CORE, LIBRARY, RESOURCE, STREAM
-  - code one of the suffixes in the Gst(Domain)Error enum
-  - message is either NULL (to signal the standard error message for the
-    given domain and code), or a printf-like set with the format being
-    marked for translation.
-    The string should start with a capital and end in a period so it forms
-    a complete sentence.
-    The string can/should be shown to the user of an application.
-  - debug is either NULL or a non-translated debug string, which can be used
-    to diagnose errors after they've happened.
-    The string can be shown to the user when he asks for additional debug info.
-    A useful macro is GST_ERROR_SYSTEM, which prints out the system error
-    that explains the failure by using g_strerror.
-
-- Some example calls:
-
-      gst_element_error (src, RESOURCE, OPEN_READ,
-        (_("Could not open file \"%s\" for reading"), src->filename),
-        GST_ERROR_SYSTEM);
-
-      The message is specified since we have more information:
-          - the resource is a file 
-          - we know the file name
-
-      gst_element_error (element, CORE, NEGOTIATION, NULL, NULL);
- 
-      This is a simple negotiation error.  The default message will be
-      signaled, telling the user that GStreamer had an internal error.
-
-      gst_element_error (ebml, RESOURCE, READ, NULL,
-                         ("Read error at position %llu (0x%llx)",
-                         pos, pos));
-
-      The plugin asked to read on the underlying resource (using bytestream),
-      but failed.  The user will get a generic read error.  The debug info
-      will contain the exact position in the stream at which the read error
-      occurred.
-
diff --git a/docs/random/example b/docs/random/example
deleted file mode 100644
index 87bf619..0000000
--- a/docs/random/example
+++ /dev/null
@@ -1,108 +0,0 @@
-OUTDATED, methods have different names now
-------------------------------------------
-
-
-Here's a pipeline that does audio/video MPEG streams with a queue on
-either side of each decompressor, for a total of 5 threads (read/split,
-decode audio, decode video, play audio, play video):
-
-NOTES: mpegsplit is the intelligence in this pipeline, providing an IDL
-that allows one to connect things to a GUI.  
-
-Pipeline(mpegplay)
-	Thread(reader)
-		Element(:disk_async_src) [StreamerAsyncSrc]
-			OutPad(disk1)
-		Element(:mpegsplit)
-			InPad(disk1)
-			OutPad(audio1)
-			OutPad(video1)
-
-	Queue(audioQ1)
-		InPad(audio1)
-		OutPad(audio2)
-	Thread(audiodecode)
-		Element(:mpeg_audio_decode) [StreamerVideoFilter]
-			InPad(audio2)
-			OutPad(audio3)
-	Queue(audioQ2)
-		InPad(audio3)
-		OutPad(audio4)
-	Thread(audioplay)
-		Element(:audio_play) [StreamerAudioSink]
-			InPad(audio4)
-
-	Queue(videoQ1)
-		InPad(video1)
-		OutPad(video2)
-	Thread(videodecode)
-		Element(:mpeg_video_decode) [StreamerVideoFilter]
-			InPad(video2)
-			OutPad(video3)
-	Queue(videoQ2)
-		InPad(video3)
-		OutPad(video4)
-	Thread(videoplay)
-		Element(:video_play) [StreamerVideoSink]
-			InPad(video4)
-
-
-A simpler pipeline that just does MPEG videos:
-
-Pipeline(mpegplay)
-	Thread(reader)
-		Element(:disk_async_src) [GstAsyncSrc]
-			OutPad(disk1)
-		Element(:mpeg_control)
-			InPad(disk1)
-			OutPad(video1)
-		Element(:mpeg_video_decode) [GstVideoFilter]
-			InPad(video1)
-			InPad(video2)
-	Queue(queue)
-		InPad(video2)
-		OutPad(video3)
-	Thread(play)
-		Element(:video_play) [GstVideoSink]
-			InPad(video3)
-
-The code for the above looks roughly like:
-
-/* all the objects we're worried about */
-GstPipeline *mpegplay;
-GstThread *reader;
-GstSrc *disk_src;
-GstControl *mpeg_control;
-GstFilter *mpeg_video_decode;
-GstQueue *queue;
-GstThread *play;
-GstSink *video_play;
-
-/*** first we create all of the objects ***/
-
-mpegplay = gst_pipeline_new();
-reader = gst_thread_new();
-disk_src = gst_async_disk_src_new("filename.mpg");
-mpeg_control = gst_mpeg_control_new();
-mpeg_video_decode = gst_mpeg_video_decode_new();
-queue = gst_queue_new();
-play = gst_thread_new();
-video_play = gst_video_sink_new();
-
-
-/*** now we start to create the pipeline ***/
-
-/* first set up the reader thread */
-gst_bin_add(reader,disk_src);
-gst_object_connect(disk_src,"out",mpeg_control,"in");
-gst_object_connect(mpeg_control,"out",mpeg_audio_decode,"in");
-gst_bin_ghost_pad(reader,mpeg_audio_decode,"out");
-
-/* then set up the player thread */
-gst_bin_add(play,audio_play);
-gst_bin_ghost_pad(play,audio_play,"in");
-
-/* now plug them all into the main pipeline */
-gst_bin_add(mp3play,reader);
-gst_object_connect(reader,"out",queue,"in");
-gst_object_connect(queue,"out",play,"in");
diff --git a/docs/random/hierarchy b/docs/random/hierarchy
deleted file mode 100644
index a07f8b8..0000000
--- a/docs/random/hierarchy
+++ /dev/null
@@ -1,153 +0,0 @@
-OUTDATED
---------
-
-
-Face it, the plugins/ directory hierarchy is crap. We want to propose a
-better layout for it now. Some things to consider:
-
- - Elements have a klass member in the factory that is used to
-   denote the functional type of the element. For example, the
-   mp3 encoder has a klass of Codec/Encoder/Audio
-   
- - The plugins can be grouped together by the media type they
-   operate on or by the way they work (decoder/encoder)
-   
-In GStreamer all plugins are technically filters, the only way they
-can be considered sources or sinks (input/output) elements is
-by the absence of src/sink pads. At first sight the source/filter/
-sink distinction is quite useless because most of the plugins
-will go into the filters category anyway. 
-
-We don't want to make the hierarchy too deep, yet provide a 
-clean way to ask for a mp3 decoder element..
-
-Anyway this is a rough proposal to fire off the discussions...
-
-Wim
-
-Source 
-  Disk
-    disksrc
-    fdsrc
-    multifilesrc
-  Network
-    HTTPsrc
-    RTPsrc
-  CDDA
-    cdparanoia
-  XMMS
-    ..
-  DVD
-    dvdsrc
-  Audio
-    ASLA
-    OSS
-  Capture
-    v4lsrc
-    firewire
-  
-Demuxer     
-  AVI
-  MPEG1
-  MPEG2
-  QT
-  
-Muxer
-  AVI
-  MPEG1
-  QT
-  
-Aggregator
-
-Tee
-  gsttee
-  
-Connection
-  queue
-  CORBA
-
-Parser
-  MPEG1
-  MPEG2
-  AC3
-
-Mixer
-  Audio
-    Merge
-  Video
-    Subtitles
-    Merge
-
-Filters
-  Audio
-    ladspa
-    resample
-  Video
-    colorspace
-  
-Effect
-  Audio
-    stereo
-    volume
-    delay
-    chorus
-  Video
-    median
-    smooth
-  XMMS
-
-Decoder
-  MPEG1
-  MPEG2
-  MP3
-    mpg123
-    xing
-  win32
-  AU
-  WAV
-  JPEG
-  AC3
-    ac3dec
-  RTJPEG
-  vorbis
-
-Encoder
-  MPEG1
-  MPEG2
-  MP3
-    lame
-    mpegaudio
-  win32
-  JPEG
-  AU
-  WAV
-  RTJPEG
-  Vorbis
-
-Visualisation
-  Video
-    histogram  
-  Audio
-    smoothwave
-    spectrum
-    synaesthesia
-    vumeter
-  XMMS
-
-Sink
-  Disk
-    filesink
-    multifilesink
-  Network
-    ICECASTsink
-    FTPsink
-    RTPsink
-  XMMS
-  ESD
-  Video
-    videosink
-    SDLsink
-  Audio
-    OSSsink
-    ALSAsink
-    
diff --git a/docs/random/i18n b/docs/random/i18n
index fb5e7c6..2b6cfdc 100644
--- a/docs/random/i18n
+++ b/docs/random/i18n
@@ -11,8 +11,6 @@ Internationalization notes
   - use dgettext (possibly disguised as _) to translate from a set domain
 
 - How to make your plug-in code translatable:
-  - include <gst/gst-i18n-plugin.h> in all files that mark strings for
-    translation, or do the bindtextdomain call
   - in plugin_init, add a block like this:
 
 #ifdef ENABLE_NLS
diff --git a/docs/random/interfaces b/docs/random/interfaces
deleted file mode 100644
index 5bd9997..0000000
--- a/docs/random/interfaces
+++ /dev/null
@@ -1,337 +0,0 @@
-INTERFACES & ELEMENTS
----------------------
-
-1) Introduction
-===============
-Interfaces are descriptions on how to handle an object, without actually
-implementing the object. This allows for multiple objects to be instantiated
-based on this interface. Each of them can then be handled equally by an
-application.
-Glib, apparently (unchecked), has a way of creating interfaces, probably
-by means of a class struct without actually defining the object. The object,
-then, does not define a class and these two add up. Benjamin knows more
-about interfaces, I didn't study interfaces & glib too deeply, yet. I know
-them just from Java.
-Interfaces are cool! It allows for some sort of random element creation
-without needing to link to the implementation. This is similar to how
-GStreamer currently handles media plugins. GStreamer itself could be seen
-as an interface too, in that respect.
-
-2) So why do we need interfaces?
-================================
-Because GStreamer doesn't handle it all. GStreamer in itself is a media
-framework for streams of data from one element to the next. There's lots
-of things that's media-related, but not handled in this description.
-Several examples will probably clarify this: think of the Xvideo output
-plugin. We can create an overlay here (Xv-based), and we currently control
-this X-connection using glib properties. However, what property name is
-associated with what control? And does it work the same as v4lsrc's
-overlay image control?
-The same goes for a mixer, for image control, audio control, and probably
-a lot more. The general idea is simple: *this needs to be documented*.
-But properties aren't all - they simply cannot do this all. Some things
-cannot be described in a simple one-argument property thing. Of course,
-we could give a pointer to a struct as argument, but that's merely a hack
-and requires both plugin and app to know the ABI of the struct. This
-kills the whole idea of making the plugin independent of the app.
-In short: we want interfaces for this.
-
-3) How to integrate an interface in GStreamer
-=============================================
-Let us start with some starting point: an interface is associated
-with an element. It is a feature exported by that specific element,
-not by a pipeline or anything more complex. Pipelines are already
-handled just fine by GStreamer (or you wouldn't be reading all
-this).
-Obviously, a pipeline can be a fallback for an interface. Imagine
-that we're looking for an audio sink that exposes a mixer, but our
-fakesink audio output doesn't ("I wonder why"). We could then create
-a pipeline with the volume element in it to "fake" a mixer. Ideally,
-the volume element would implement a mixer interface itself.
-
-How are we going to do that in programmatic way? We currently use
-properties. Their huge advantage is that we do not need to care
-about adding new functions or whatever. Their disadvantage is that
-they're limited to one argument. Anything more complex requires
-app/plugin knowledge about the shared data, and that defeats the
-point of them: to have no dependency on each other. This could be
-solved partially by using action signals, but that makes the whole
-picture quite complex (since you use multiple methods for doing one
-simple thing). Also, they are quite slow compared to functions
-because of the table lookups. In short: it'd work, but I'm not in
-facour of it...
-OK, so an element exposes interfaces. This allows us to think of
-the idea of embedding interfaces (dynamically, of course) in the
-GstElement object. Think of an object being able to register an
-indefinite number of interfaces per object instance, and a client
-application could then enumerate interfaces and instantiate one.
-Glib gives us GInterface for this purpose. The disadvantage of
-this is that it's on a per-class basis, not a per-instance basis.
-This is a problem in case of elements where it depends on several
-properties whether it supports an interface or not. This can be
-solved by simply making one generic virtual function "supported ()"
-in a generic derived object of GInterface (GstInterface?).
-
-GstInterface is then a generic thing that is inherited by specific
-interfaces (see examples). Obviously, the client will need to know
-about the ABI/API of this struct, but that'll happen either way.
-Surely, there needs to binary linkage, but I don't consider that a
-bad thing. It does improve performance compared to action signals!
-
-So an element contains interfaces. But where are these interfaces
-described? And who creates them? I suggest that we do that just as
-we handle gstvideo and gstaudio right now (these libs do *nothing*
-useful currently, so this would make them a lot more interesting).
-These interfaces inherit from GstInterface. The functions that
-are needed, can be provided through a class object. The element is
-then responsible for storing variables and so on. gstvideo/audio
-provides wrapper functions for the class functions. That's also how
-glib suggest us to use GInterfaces.
-
-Plugin and application then handle and retrieve interfaces as
-documented in the glib documentation, which is available at:
-http://www.gnome.org/~mathieu/gobject/main.html
-
-So the most important part left is to document the interfaces
-and make sure all elements exporting them work equally. For this,
-I'll give two examples.
-
-4) Examples
-===========
-
-/* This small extra virtual function is here to provide an
- * interface functionality on a per-instance basis rather
- * than a per-class basis, which is the case for glib.
- */
-typedef struct _GstInterfaceClass {
-  GTypeInterface parent;
-
-  /* virtual functions */
-  gboolean (* supported) (GstInterface *iface);
-} GstInterfaceClass;
-
-There would probably be a convenience function that checks
-a specific interface's implementation (glib allows for this)
-and checks for ->supported () to be set and to return TRUE:
-
-gboolean
-gst_element_implements_interface (GstElement *element,
-				  GType       iface_type)
-{
-  if (G_TYPE_CHECK_INSTANCE_TYPE (G_OBJECT (element),
-				  type)) {
-    GstInterface *iface;
-    GstInterfaceClass *ifclass;
-
-    iface = G_TYPE_CHECK_INSTANCE_CAST (G_OBJECT (element),
-					type, GstInterface)
-    ifclass = GST_INTERFACE_GET_CLASS (iface);
-
-    if (ifclass->supported != NULL &&
-        ifclass->supported (iface) == TRUE) {
-      return TRUE;
-    }
-  }
-
-  return FALSE;
-}
-
-Let's now add some functions so we can abuse this in case/check
-functions.
-
-GstInterface *
-gst_interface_cast (gpointer from,
-		    GType    type)
-{
-  GstInterface *iface;
-
-  /* check cast, give warning+fail if it's invalid */
-  if (!(iface = G_TYPE_CHECK_INSTANCE_CAST (G_OBJECT (element),
-					    type, GstInterface))) {
-    return NULL;
-  }
-
-  /* if we're an element, take care that this interface
-   * is actually implemented */
-  if (GST_IS_ELEMENT (from)) {
-    gboolean interface_is_implemented =
-	gst_element_implements_interface (GST_ELEMENT (from),
-					  type);
-    g_return_val_if_fail (interface_is_implemented == TRUE, NULL);
-  }
-
-  return iface;
-}
-
-gboolean
-gst_interface_check (gpointer from,
-		     GType    type)
-{
-  GstInterface *iface;
-
-  /* check cast, return FALSE if it fails, don't give a warning... */
-  if (!G_TYPE_CHECK_INSTANCE_CAST (from, type,
-				   GstInterface)) {
-    return FALSE;
-  }
-
-  iface = G_TYPE_CHECK_INSTANCE_CAST (G_OBJECT (element),
-				      type, GstInterface);
-
-  /* now, if we're an element (or derivative), is this thing
-   * actually implemented for real? */
-  if (GST_IS_ELEMENT (from)) {
-    if (!gst_element_implements_interface (GST_ELEMENT (from),
-					   type)) {
-      return FALSE;
-    }
-  }
-
-  return TRUE;
-}
-
-#define GST_INTERFACE_CHECK_INSTANCE_CAST(obj, type, cast_t) \
-  ((cast_t *) gst_interface_cast ((obj), (type))
-#define GST_INTERFACE_CHECK_INSTANCE_TYPE(obj, type) \
-  (gst_interface_check ((obj), (type))
-
-We could use this in the GST_IS_... () macros. For example, the
-macros GST_IS_MIXER () and GST_MIXER () would then look like this:
-
-/* Note that this is a non-standard macro, and with a reason! */
-#define GST_MIXER(obj) \
-  (GST_INTERFACE_CHECK_INSTANCE_CAST ((obj), \
-				      GST_TYPE_MIXER,
-				      GstMixer))
-#define GST_IS_MIXER(obj) \
-  (GST_INTERFACE_CHECK_INSTANCE_TYPE ((obj), \
-				      GST_TYPE_MIXER))
-
-So the application would just tread it with the known macro, and
-everything would look extremely simple to the end user.
-
-4a) mixer
----------
-A mixer is a way of controlling volume and input/output channels.
-This doesn't mean that you control which channel is the subwoofer,
-all that is supposed to be done automatically. It is really meant
-as a way of representing system-level volumes and such. It could
-also be used to turn on/off certain outputs or inputs.
-As you've noticed, I'm not only talking about output, but also
-input. Indeed, I want both osssrc *and* osssink to export the
-same mixer interface! Or at least a very similar one. Volume
-control works the same for both. You could say that osssrc should
-enumerate the input channels (such as microphone, line-in). Of
-course, osssink should not. Or maybe it should, not sure... Maybe,
-we'd need a parent osselement which implements all mixer channels.
-And alsa* would surely implement the same interface.
-
-/* This is confusing naming... (i.e. FIXME)
- * A channel is referred to both as the number of simultaneous
- * sound streams the input can handle as well as the in-/output
- * itself
- */
-
-#define GST_MIXER_CHANNEL_INPUT  (1<<0)
-#define GST_MIXER_CHANNEL_OUTPUT (1<<1)
-#define GST_MIXER_CHANNEL_MUTE   (1<<2)
-#define GST_MIXER_CHANNEL_RECORD (1<<3)
-
-typedef struct _GstMixerChannel {
-  gchar *label;
-  gint   current_num_channels,
-         max_num_channels,
-         flags;
-} GstMixerChannel;
-
-typedef struct _GstMixerClass {
-  GTypeInterface klass;
-
-  /* virtual functions */
-  GList *  (* list_channels) (GstMixer        *mixer);
-
-  void     (* set_volume)    (GstMixer        *mixer,
-			      GstMixerChannel *channel,
-			      gint            *volumes);
-  void     (* get_volume)    (GstMixer        *mixer,
-			      GstMixerChannel *channel,
-			      gint            *volumes);
-
-  void     (* set_mute)      (GstMixer        *mixer,
-			      GstMixerChannel *channel,
-			      gboolean         mute);
-  void     (* set_record)    (GstMixer        *mixer,
-			      GstMixerChannel *channel,
-			      gboolean         record);
-} GstMixerClass;
-
-libgstmixer.la/so provides wrapper functions for each of the
-class' virtual functions. Possibly also some macros for
-GST_MIXER_CHANNEL_HAS_FLAG () or _get_channel ().
-
-The rest is done automatically, as described in the already-
-mentioned glib documentation for GInterface. This includes
-things like the base_init () function of the GstMixerClass,
-which fills all the virtual functions for the mixer, and the
-actual function implementations. The mixer, basically, operates
-as an element on its own. It gets the file descriptor from
-the interface->element (every oss... is a osscommon, etc.).
-
-4b) overlay
------------
-Overlay is used in both in- and output, too. Think of v4lsrc,
-v4l2src, v4lmjpegsrc, xvideosink - all overlays. But where do
-we position the overlay window? Control of this can be done at
-various levels: locational control (over the server, asynchronous)
-or XID control (but that makes you depend on X and limits the
-ability to broaden it over to non-X elements such as fbsink).
-
-However, simplicity *is* an issue here. Do we really care about
-overlay? In the end, users will have to link against either FB
-or X anyway, so we might want to create separate interfaces for
-both. On the other hand, we want to be general too... This is a
-decision that we need to make as early as possible in this process.
-For now, I propose making X- and FB-based interfaces.
-
-Let's assume that we take X as a basis. Then, overlay becomes as
-simple as one function. Possible extendible by providing inputs
-(like in the mixer) and norms, although that only applies to
-input-to-analog, not to-digital... Others simply return NULL.
-
-typedef struct _GstOverlayClass {
-  GTypeInterface klass;
-
-  /* virtual functions */
-  void    (* set_xwindowid) (GstOverlay        *overlay,
-			     XID                xid);
-} GstOverlayClass;
-
-That's all! It would look similar for FB & co.
-
-4c) user input
---------------
-And yes, user input could be an interface too. Even better, it
-should definitely be. And wasn't this one of our key issues for
-0.8.0?
-
-No code here. Go implement it, lazy ass!
-
-General ways of thinking: input can come from a plugin, or from
-the application (we don't have modules for joystick input et all).
-However, plugins handling input (such as dvdsrc) need to be able
-to handle each. So we get both input-to-application as well as
-input-from-application APIs.
-
-5) Status of this document
-==========================
-The interfaces are implemented, more (for metadata, framebuffer-
-overlay, video balancing (brightness), user input etc. are all
-pending.
-
-6) Copyright and blabla
-=======================
-(c) Ronald Bultje, 2003 <rbultje@ronald.bitfreak.net> under the
-terms of the GNU Free Documentation License. See http://www.gnu.org/
-for details.
-
-And no, I'm not for hire. ;).
diff --git a/docs/random/metadata b/docs/random/metadata
deleted file mode 100644
index d986555..0000000
--- a/docs/random/metadata
+++ /dev/null
@@ -1,80 +0,0 @@
-OUTDATED
---------
-
-The point of the metadata is to provide some context for each buffer.  In
-the case of audio data, for instance, it would provide the samplerate, bit
-depth, and channel count.
-
-The trick is that there may be multiple types of metadata ganged onto a
-single buffer.  This is why they're going to be a GList.  This does mean
-extra overhead in all cases, but I think it's minimal.  The GList type
-uses a chunk allocater so we're not wasting too much memory or time when
-adding to the list.
-
-The trick is dealing with these structs as they pass through a pipeline,
-since they have potentially different mutability properties.  For
-instance, if you've got a mp3 decoder connected to a tee, which sends the
-buffers off to both the decoder and a spectrum analyzer (and then a
-visualization element).  The preferred setup would be where every time a
-audio/raw metadata comes down the pipe (indicating a potential change in
-audio format), the audiosink and spectrum would just save off pointers.
-
-So when exactly does this metadata go away (deallocated)?  Well, that
-means metadata has to be refcounted.  But that gets rather hairy.  OK, in
-the simple case you create a metadata struct, it comes with refcount set
-to 1.  You pass it through, it stays one, eventually someone drops the
-last reference on the buffer it's tied to, you free the metadata too.
-Easy.  What if you tee?  You could go through and for every metadata in
-the buffer, increment the refcount by the same as the buffer.  So in the
-above case (tee'd), the audiosink and spectrum would get the buffer with a
-refcount of 2, and it'd have a metadata with refcount 2.  Do they ref it
-each themselves, then unref the buffer?  Or do they remove the metadata?
-Removing the metadata would require a buffer CoW, which would suck, so
-yes, they'd just ref the metadata.
-
-But....  what if they're all in different threads?  Then we're off into
-the magical world of mutexes.  Everything with a refcount in a threaded
-world must be mutexed, else you can do atomic increment and atomic
-dec&test.  Can this be done from C easily?  Perhaps it needs to be found
-from kernel includes via autoconf?
-
-
-
-
-The goal in designing the way metadata will be defined and used is to keep
-it as simple as possible.  The basis for accomplishing this is the fact
-that in order to actually use (rather than just pass) the metadata, you
-have to know what the fields are, which means you have to have compiled in
-support for that metadata at build time.  Therefore, if you're using
-metadata, you must have build-time access to the necessary include file
-that defines it.
-
-So, given that you've got an include file, it would be nice if the whole
-thing could be contained there.  This would limit the need to be linked
-against something, or have load-time requirements as to that has to be
-loaded before you are.
-
-Given that really all metadata is is a region of memory of a given size
-with a certain signature, this isn't all that hard.  First you lay out the
-struct that defines the metadata.  Then you set up #defines that expand to
-the size of the struct in question, as well as the four-cc code that
-defines the type.
-
-The work is done by a few #defines, a la the #defines used in all Gtk
-objects.  The first is a NEW() method that allocates the memory for the
-metadata and fills in all the normal fields (type, size, utility
-functions).  Because of the way it's defined (as a #define, no less),
-you'll have to invoke it as META_NEW(meta), since it can't return()
-anything.
-
-Another #define will check to make sure a meta is indeed that type by
-verifying the type code and size.  Theoretically, meta types can overlap
-with the same fourcc code, as long as they have different sizes.  But I
-probably ought to have a global public registry so people writing things
-don't conflict.  MSFT got that right, at least.
-
-So, a hairy problem is what to do when there are utility functions
-associated with one of these things.  One option is to not bother with
-them.  This is very likely a possible solution, since metadata is supposed
-to be flat memory of a given size.  Not much to do to either free or copy
-it, is there?
diff --git a/docs/random/moving-plugins b/docs/random/moving-plugins
index a64b967..92eb4b1 100644
--- a/docs/random/moving-plugins
+++ b/docs/random/moving-plugins
@@ -1,7 +1,7 @@
 Moving around plug-ins between source modules
 ---------------------------------------------
 
-Last updated: 2020-05-19
+Last updated: 2022-06-10
 
 Contents:
   1. How to get your plug-in out of -bad and into -good or -ugly (ie. policies)
@@ -149,63 +149,16 @@ CHECKLIST
 2. Moving plugins with GIT (technical howto)
 ============================================
 
-Let's say we are moving the 'weneedthis' plugins from -bad/gst/weneedthis/ to
--good.
-
-We want to end up with the following situation after the plugin move:
-
-* weneedthis is no longer usable/visible in HEAD of -bad
-* weneedthis is present and usable in HEAD of -good
-* The whole history of commits concerning weneedthis are visible in -good
-* The whole history of commits concerning weneedthis are visible in -bad
-* If we go back to the previous release commit for -good, the 'weneedthis'
-  plugin code and commit history are not visible.
-* If we go back to the previous release commit for -bad, the 'weneedthis'
-  plugin code and commits are visible.
-
-
-# Four steps for moving plugins
-----------
-
-For this, we use git-format-patch which will extract the various commits
-involving the plugin we want to move into individual numbered patches.
-
-> cd gst-plugins-bad.git/
-> git format-patch -o ../patches/ --subject-prefix="MOVED FROM BAD" start..HEAD -- gst/weneedthis/ tests/check/elements/weneedthis.c
-or (without the prefix)
-> git format-patch -o ../patches/ --no-numbered --subject-prefix='' start..HEAD -- gst/weneedthis/ tests/check/elements/weneedthis.c
-
-We can then take those patches and commit them into -good.
-For safety, it is recommended to do all this work in a temporary branch
-
-> cd ../gst-plugins-good.git/
-> git checkout -b moving-weneedthis
-> git am -k ../patches/*.patch
-
-At this point, we have all the commits related to gst/weneedthis/ in -bad.
-
-We also need to move the other related parts in:
-* meson.build
-* meson_options.txt
-* i18n
-* documentation
-
-All those modifications should be committed as one commit with an obvious
-summary:
-"Moved 'weneedthis' from -bad to -good"
-> git commit -v -m "Moved 'weneedthis' from -bad to -good" <modified files>
-
-We can now merge the branch into master and push it out for everybody.
-
-> git checkout master
-> git merge moving-weneedthis
-
-The last step is to remove the plugin from the original module:
-
-> git rm gst/weneedthis/
-
-Remove all the code that was moved from configure, makefiles, documentations,
-and commit that with the *SAME* commit message as the last commit we did in
--good:
-> git commit -v -m "Moved 'weneedthis' from -bad to -good" <modified files>
-
+Inside the monorepo we can simply use `git mv`. Make sure to move not
+just the plugin itself but also any relevant examples, tests, manual
+tests, and documentation, as well as i18n bits.
+
+In order to move plugins from an external repository with history into
+the monorepo, we can import the plugin's git history from the repository
+or a git bundle through a merge commit with `--allow-unrelated-histories`
+and then move it into the right place and hook it up to the build system
+in a follow-up commit. If the original commit hashes don't need to be
+maintained, we can import a stripped-down version of the external repository
+where everything non-essential has been filtered out using `git filter-*`,
+so that we then import a repo that only has the history of the plugin code
+and the tests we want to import, but not any auxiliary files and such.
diff --git a/docs/random/mutability b/docs/random/mutability
deleted file mode 100644
index 74a0944..0000000
--- a/docs/random/mutability
+++ /dev/null
@@ -1,30 +0,0 @@
-Mutability is the property of an object that defines whether or not you
-are allowed to modify it.  In the context of GST, that means that if you
-want to mutilate a buffer, say to do an audio effect, you may have to do
-this on a copy of the buffer, if someone else has a reference on it.
-
-The simplest sequence of events in a decoder pipeline is as follows:
-
-1) create buffer
-2) allocate and fill data region, attach to buffer
-3) pass to next element
-4) decode the data into new buffer, free original buffer
-5) pass to next element
-6) buffer gets copied to output device (sound, video, whatever)
-
-Both of these buffers are created from malloc()'d memory, are referenced
-by one and only one element at a time, and are never modified in place.
-They have no special flags, and when ref==0, they're simply free()'d.
-
-An optimization in the case of the sound card or video double buffering,
-where the output buffer actually comes from the output device.  In that
-case the element will be aware of such things.
-
-A more complex example is where the data is teed after being decoded, sent
-to an effects or visualization object.
-
-1) create buffer, fill from source
-2) hand to decoder
-3) create new buffer, decode into it, free old buffer
-4) hand to tee
-5) ref++, hand off to 
diff --git a/docs/random/negotiation b/docs/random/negotiation
deleted file mode 100644
index 76dc197..0000000
--- a/docs/random/negotiation
+++ /dev/null
@@ -1,286 +0,0 @@
-
-Some notes on pad negotiation
-
-
-A "pad link" is a connection between two pads.  It can be in one of
-two states, "negotiated" or "not negotiated".  Pad links are created
-by gst_pad_link().
-
-A "pad link" is created when two pads are linked using gst_pad_link().
-When initially created, the link only specifies a src pad, a sink pad,
-and optionally a filter caps provided by the application.
-
-In order to pass data through a link, the peer pads must decide on
-what data format to use.  This is called negotiation.  Pads
-describe acceptable data formats by using a combination of  pad
-template caps and (optionally) a pad->getcaps function.
-
-
-Negotiation can happen in one of two forms, directed or undirected.
-Directed negotiation happens when one element has decided (usually
-during negotiation on another pad) to ask for a specific format on
-a pad.  This happens when a pad calls gst_pad_try_set_caps().
-Undirected negotiation happens when the core decides to negotiate
-a link, either due to a state change or a specific application
-request.
-
-Steps in undirected negotiation (core view):
-
- - core checks that both pad's parent elements are in the READY or
-   higher state.
-
- - core calls gst_pad_get_caps() on each pad, intersects the two caps,
-   and intersects again with the filter caps.  If the intersection is
-   empty, then the pads have no formats in common, and the link fails.
-
- - If the intersection caps is not fixed, there are multiple possible
-   formats that the link could use.  If this is the case, fixate
-   functions are called until the caps are fixed.  The fixate functions
-   are called by priority -- src application fixate function, sink
-   application fixate function, src and sink fixate functions, and
-   the default core fixate function.  The application fixate functions
-   are implemented by the "fixate" signal on each pad.  The core
-   loops through the fixate functions until a fixed caps is decided
-   on.
-
- - Each pad may have a pad_link function, which is called with the
-   fixed caps.  The pad_link function has the option of accepting,
-   rejecting, or delaying the negotiation.
-
- - If both pads accept the caps, the link is then negotiated.
-
-Steps in directed negotiation (gst_pad_try_set_caps):
-
- - the originator is the pad that gst_pad_try_set_caps() is called
-   on.
-
- - the elements owning both pads are assumed to be in a non-NULL state
-
- - the caps argument of try_set_caps() must be fixed.
- 
- - gst_pad_get_caps() is called on the peer pad, and intersected with
-   the originating pad's pad template caps and the filter caps.  The
-   caps argument is checked to be a subset of the intersection.  (It's
-   important that this intersection uses the pad _template_ caps.)
-
- - Fixate functions don't need to be called, since the caps are
-   already fixed.
-
- - The peer's pad_link function is called.
-
- - If the peer's pad_link function accepts the caps, the link is then
-   negotiated.
- 
- - If the peer's pad_link function refuses the caps, and the link had
-   already been negotiated, the peer's pad_link function is called
-   with the caps of the old negotiation.
-
- - Note: the originator's pad_link function is _not_ called.  The
-   originator must take appropriate alternative steps.
-
-
-Notes about renegotiation:
-
- - same as negotiation.  Note that get_caps() functions should always
-   ignore the currently negotiated caps of a link.
-
- - if renegotiation fails, the previous negotiation is still in effect.
-   If the renegotiation fails in the last pad_link step, the pad_link
-   functions are called with the previously negotiated caps.
-
-
-Notes for sources and sinks:
-
- - sources and sinks that talk to hardware may not be able to fully
-   describe their available formats, and thus need to rely on pad_link
-   functions to test a particular format.  FIXME: currently, the core
-   completely fails negotiation if a pad_link function refuses a caps,
-   instead of attempting with an alternate caps.
-
-   Example: Assume osssink advertises rate=(int)[8000,48000], but
-   the device cannot actually handle rate=44100 (unknown to osssink).
-   Assume that the pad_link function is called with rate=44100 --
-   ideally, the pad_link function should return GST_PAD_LINK_DELAYED,
-   and future calls to getcaps should return {[8000,44099],[44101,
-   48000]}.  I don't know how to make this easy and/or work well.
-
-
-Notes for decoders/demuxers:
-
- - Decoders will typically negotiate a sink pad, receive some data,
-   determine the output format, and call try_set_caps() with the given
-   format.  If the output format is non-fixed, gst_pad_renegotiate()
-   may be used instead, in order to have the fixate functions choose
-   the optimal format.  Note that this requires communication so that
-   the pad's getcaps function returns the correct caps.
-
-Notes for converters:
-
- - Converters change one or more properties of the format of a data
-   stream.  A typical converter's getcaps function will call
-   gst_pad_get_allowed_caps() for the opposite pad in the element,
-   change one or more fields in the caps, and return the result.
-
- - getcaps function:
-
-   - call gst_pad_get_allowed_caps() on the other pad in the element
-
-   - for each possible format ("A") in the allowed caps, determine all
-     the formats ("B") that your converter could convert the original
-     format (A) to.  The union of all these formats (all the B's) is
-     the caps that should be returned.  (This is how to do it
-     _theoretically_, but an optimal implementation will probably be 
-     quite different.)
-     For example, a simple way to do this for an element that can convert
-     a given field of the caps is to remove the field(s) from the structure,
-     then intersect with the pad template.
-
-   - As an example, videoscale can convert any sized video to any other
-     sized video.  Its getcaps function iterates over each structure in
-     the caps, and replaces the width and height with the range
-     [1,MAXINT].
- 
- - pad_link function:
-  
-   - the "otherpad" is the opposite pad in the element.
-
-   - extract fields from the caps that are relevant for your converter
-     handling the format.  Store these in _local_ variables.  (E.g,
-     things like video size, sample rate, etc.)
-
-   - If it's possible to pass buffers through without modifying them
-     (passthrough), you should call gst_try_set_caps() with the caps
-     that was specified as the parameter to the pad_link function.  If
-     this is successful, save the local variables to the element
-     structure, perform whatever other setup is necessary for your
-     element, and return GST_PAD_LINK_OK.
-
-   - Otherwise, you're not using passthrough, and may need to
-     change the caps on the otherpad to match the given format.
-
-   - If the otherpad is not negotiated (!gst_pad_is_negotiated()),
-     you shouldn't attempt to set a format on it.  It will eventually
-     be negotiated.  Save the local variables to the element structure,
-     perform whatever other setup is necessary, and return
-     GST_PAD_LINK_OK.
-
-   - At this point, the other pad is already negotiated, but won't
-     accept the passthrough format, so you should combine the existing
-     negotiated caps on the otherpad and the caps that was the pad link
-     argument.  This can either be done using existing information in the
-     element that was saved during a previous pad_link call, or you can
-     get the information from the negotiated caps
-     (gst_pad_get_negotiated_caps()).
-
-     As an example, consider the videoscale element.  Assume that
-     videoscale.src has already negotiated "video/x-raw-yuv,
-     format=(fourcc)I420, width=320, height=240", and that the sink
-     pad's link function is called with "video/x-raw-yuv,
-     format=(fourcc)YUY2, width=640, height=480".  Since it's the
-     videoscale element, we can have different width and height
-     fields on the pads, but the format must be the same.  So we'll
-     use the existing negotiated size (640x480), and the new format,
-     and call gst_pad_try_set_caps() with "video/x-raw-yuv,
-     format=(fourcc)I420, width=640, height=480".
-
-     This may seem overkill, but most of the time, you'll end up
-     calling try_set_caps() with the same caps that are currently
-     negotiated -- try_set_caps() just returns GST_PAD_LINK_OK in
-     this case.
-
-   - If gst_pad_try_set_caps() returns GST_PAD_LINK_OK, save the
-     local variables to the element structure.  In any case, return
-     the return value of gst_pad_try_set_caps().
-
-
-Notes for filters:
-
- - Filters can almost always use gst_pad_proxy_getcaps() as the
-   getcaps function.  This just returns gst_pad_get_allowed_caps()
-   on the otherpad.
- 
- - You may be able to use gst_pad_proxy_pad_link() as the pad link
-   function, but only if you don't need to extract parameters from
-   the caps.
-
-
-Notes for encoders/muxers:
-
- - Encoders and muxers should roughly work like converters.  Many
-   converters are symmetric; encoders and muxers obvious are not,
-   thus it may make the code clearer to have separate src and sink
-   getcaps and pad_link functions.
-
- - Encoders and muxers should handle multiple negotiations until
-   the first buffer has been passed.  After this point, it's unlikely
-   that additional negotiations will happen in well-constructed
-   pipelines, but it may be wise to "lock" the caps after the
-   muxer has committed to a format.  (FIXME: it's still unclear to
-   me when the caps should get "unlocked".  Obviously at EOS or
-   PAUSED->READY transitions.  Any others?)
-
- - Locking caps can be done by adding (near the top) of the getcaps
-   function:
-
-   if (my_element->lock_caps) {
-     return gst_pad_get_negotiated_caps (pad);
-   }
-
-
-Explicit caps:
-
- - There's a hack in the core to make the code for decoder elements
-   a lot simpler.  This hack can be used only for src pads of elements
-   that get their srcpad capabilities directly from the data stream,
-   i.e., decoders, demuxers, and typefind.  This hack overrides the
-   pad's getcaps() and pad_link() function, so that they work correctly
-   in all decoder states.
-
- - To enable this hack on a pad, call gst_pad_use_explicit_caps().
-
- - To indicate that a decoder has found the format of the stream, call
-   gst_pad_set_explicit_caps(pad,caps) with the caps of the stream.
-   This caps must be fixed.
-
- - To indicate that a decoder has lost the format of the stream, i.e.,
-   there's been a NEW_MEDIA event, call gst_pad_set_explicit_caps(pad,
-   NULL).
-
- - If the explicit caps are set, the getcaps function will return that
-   caps, and the pad_link function will return GST_PAD_LINK_OK.  If
-   the explicit caps are not set, the getcaps function returns the pad
-   template caps, and the pad_link function returns GST_PAD_LINK_DELAYED.
-
-
-
-Other junk:
-
- - negotiation can happen at any time
-
- - negotiation can happen multiple times/often happens multiple times
-
- - initial negotiation can lead to strange caps
-
- - directed negotiation can happen in either direction (src to sink or
-   sink to src)
-
- - Other considerations ignored, every pad should have a getcaps function.
-
- - If a pad's getcaps function returns the same caps in every
-   circumstance, the getcaps function can be omitted.
-   
- - If you use gst_pad_use_explicit_caps(), the getcaps function must
-   be omitted.
-
- - fixate functions are a method for applications to exert influence
-   on how a format is chosen from a caps.  It's also used as a hack to
-   allow elements to do the same.  Element fixate functions are _not_
-   intended to give good results for applications -- they're intended
-   to give non-disgusting results in gst-launch.  Don't attempt to
-   make them do more than they're capable of.
-
- - Fixate functions should not be implemented on anything except source
-   and sink elements.
-
-
-
diff --git a/docs/random/old/ChangeLog.gst-plugins b/docs/random/old/ChangeLog.gst-plugins
deleted file mode 100644
index 3adb34f..0000000
--- a/docs/random/old/ChangeLog.gst-plugins
+++ /dev/null
@@ -1,91 +0,0 @@
-2003-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * configure.ac: disable pixbuf loader by default as requested
-
-2003-12-14  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * configure.ac: make pixbuf loader configurable
-
-2003-12-14  Amaury Jacquot <sxpert@esitcom.org>
-	
-	* sys/xvideo/gstximage.c: remove 3 unnecessary X headers
-	* sys/xvideo/gstxvimage.c: same
-	* sys/xvideo/gstxwindow.c: same
-	these problems occur when using the X server from freedesktop.org
-
-2003-12-03  Thomas Vander Stichele <thomas at apestaart dot org>
-
-	* common/m4/gst-feature.m4: *** instead of newline when not built
-	* configure.ac: fix X detection when no X stuff present
-	* gst-libs/gst/Makefile.am: put X dependencies inside conditional
-
-2003-07-12  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * gst-plugins.spec.in: fix up spec file
-        * gst/debug/Makefile.am:
-          gst/realmedia/Makefile.am: use proper LD_FLAGS for plugins
-
-2003-02-14  Colin Walters  <walters@verbum.org>
-
-	* ext/gnomevfs/gstgnomevfssrc.c (unicodify,
-	gst_gnomevfssrc_unicodify): New functions.
-	(audiocast_thread_run): Use them.  Remove redundant if from
-	"if (foo) g_free (foo);" bits.  Change fprintf to g_print.
-	(gst_gnomevfssrc_received_headers_callback): Ditto.
-	(gst_gnomevfssrc_get_icy_metadata): Ditto.
-
-2003-02-06  Colin Walters  <walters@gnu.org>
-
-	* ext/gnomevfs/gstgnomevfssrc.c: Port all the fixes from
-	BRANCH-GSTREAMER-0_6.
-
-2003-01-25  Colin Walters  <walters@gnu.org>
-
-	* ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_open_file): Don't
-	make a size request when in iradio mode.
-
-2002-11-25  Colin Walters  <walters@debian.org>
-
-	* ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_received_headers_callback):
-	Test for url in correct variable.
-
-2002-11-17  Ken MacLeod  <ken@bitsko.slc.ut.us>
-
-	* gst/modplug/modplug_types.cc: Renamed from
-	gst/modplug/modplug_types.c.  Change GST_BUFFER_DATA(buf) result
-	type from 'gchar' to 'gunit8'.
-
-2002-07-07  Richard Boulton <richard@tartarus.org>
-
-	* LICENSE_readme: Mention that synaesthesia is derived from GPL
-	  code.
-
-2002-06-03  Richard Boulton <richard@tartarus.org>
-
-	* m4/mpeg2dec.m4: Test for cpuaccel library as well as mpeg2dec
-	  library.  Add appropriate includes before test compile of mpeg2.h
-	  so that compilation succeeds.
-
-2002-05-06  Thomas Vander Stichele <thomas@apestaart.org>
-
-  	* GConf stuff : from http://www.gnome.org/projects/gconf/ and eog
-	  - added gstreamer-gconf package
-
-2002-02-06  Thomas Vander Stichele <thomas@apestaart.org>
-
-  	* more build cleanup : merging over changes from gst-player
-
-2002-01-17  Bastien Nocera  <hadess@hadess.net>
-
-	* sys/Makefile.am: make the qcam plugin build only
-	only platforms using NASM, ie. x86
-
-2002-01-06 Rodney Dawes <dobey@free.fr>
-
-	* configure.ac: added -lm to cdparanoia check so it works,
-		fixed a couple typos for the libraw1394 checks
-	
-2001-12-20 Thomas Vander Stichele  <thomas@apestaart.org>
-
-	* opened gst-plugins module
-	* starting with sys plugins
diff --git a/docs/random/old/ChangeLog.gstreamer b/docs/random/old/ChangeLog.gstreamer
deleted file mode 100644
index bf6c9a8..0000000
--- a/docs/random/old/ChangeLog.gstreamer
+++ /dev/null
@@ -1,14867 +0,0 @@
-2003-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-        * gst/gst.c:
-	* gst/gstplugin.c:
-          rename --enable-segfault to --disable-segtrap
-
-2003-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
-
-	* gst/gst.c: (init_popt_callback):
-	* gst/gstplugin.c: (_gst_plugin_fault_handler_restore),
-	(_gst_plugin_fault_handler_sighandler),
-	(_gst_plugin_fault_handler_setup), (gst_plugin_load_file):
-	Implemented fault handlers for catching SIGSEGV while loading
-        plug-ins
-
-2003-12-02  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * fix documentation build using docbook2..., works on fc1 and rh9
-	* fix distcheck on fc1
-
-2003-11-14  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * put GST_CACHE_DIR in config.h, as ordered by iain
-
-2003-11-14  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * Slap walters back into place.
-	* remove GST_CONFIG_DIR, it isn't used anymore, and it looks like
-          GST_CACHE_DIR replaces it (which is up for fixing next)
-
-2003-06-02  Colin Walters  <walters@verbum.org>
-
-	* Take over the world.
-
-2003-03-29  Martin Schulze  <MHL.Schulze@t-online.de>
-
-	* gst/gstelementfactory.c: Add "g_free (dp->license)" in
-	gst_element_details_free().
-	* gst/gstevent.[ch]: Add function gst_event_get_type() to
-	support c++ language binding. Make macros gst_event_ref[_by_count]
-	return a GstEvent* instead of a GstData*.
-	* gst/gstbuffer.[ch]: Add functions gst_buffer[_pool]_get_type()
-	to support c++ language binding.
-
-2003-03-16  Christian Meyer  <chrisime@gnome.org>
-
-	* tools/gst-inspect.c
-	(print_prop): Modified to make compile compile with the new introduced
-	              function.
-	* tools/gst-xmlinspect.c
-	(print_prop): ditto.
-
-2003-03-16  Christian Meyer  <chrisime@gnome.org>
-
-	* gst/gstprops.[ch]: Add function gst_props_get_type().
-	* gst/gstprops.[ch], gst/gstutils.c, gst/registries/gstxmlregistry.c:
-	- Rename gst_props_entry_get_type() -> gst_props_entry_get_props_type().
-	- Add gst_props_entry_get_type() (returning the GType).
-	* gst/gstcaps.[ch]: Add function gst_caps_get_type().
-
-	Applied patches from Martin Schulze.
-
-2003-01-09  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * first pass at changing _connect/_disconnect -> _link/_unlink
-	* gst/gstcompat.h: created
-
-2002-11-27  Thomas Vander Stichele <thomas at apestaart dot org>
-
-        * ChangeLog: added an entry
-        * gst/gst.*: add gst_init_check which can return TRUE or FALSE
-                     make gst_init_with_popt_table do the same
-                     only initialize once, like GTK does
-
-2002-04-12  Thomas Vander Stichele <thomas@apestaart.org>
-
-  	* gst/gst*.[ch]: commited GUAD3C code review comments (marked CR1)
-
-	* gst/gstregistry.[ch]: added to handle registry stuff
-	  gst/gst.c: changed to use new --gst-registry option
-	  tools/gst-register.c: use new registry functions
-          for more info, check docs/random/thomasvs/registry
-
-2002-03-01  Michael Meeks  <michael@ximian.com>                                
-       * docs/manual/Makefile.am: use $(wildcard) instead of                   
-       strange shell stuff.                                                    
-                                                                               
-       * tools/Makefile.am: handle conditionals in a compatible way            
-                                                                               
-       * docs/manuals.mak: don't do silly things with if/else                  
-
-2002-01-15  Bastien Nocera  <hadess@hadess.net>
-
-	* tests/Makefile.am: add all the dirs to the DIST_SUBDIRS
-
-2002-01-15  Bastien Nocera  <hadess@hadess.net>
-
-	* tests/Makefile.am: dodge compiling memchunk and bufspeed
-	if NASM is not present
-
-2002-01-03 Rodney Dawes  <dobey@free.fr>
-
-	* gstreamer.spec.in: Fixed the missing plug-ins problem
-
-2001-12-29 Rodney Dawes  <dobey@free.fr>
-
-	* gstreamer.spec.in: Fixed up for the splitification
-	
-2001-12-23 Thomas Vander Stichele  <thomas@apestaart.org>
-
-	* moved plugins out of the core to gst-plugins
-	* moved some of the libs out of the core to gst-plugins
-	* moved the other libs around so headers get installed in
-	  <gst/(lib)/...>
-
-2001-12-15 Thomas Vander Stichele  <thomas@apestaart.org>
-
-	* configure.ac : major overhaul
-	* m4/ dir added with lots of checks in it
-
-2001-12-14  Michael Meeks  <michael@ximian.com>
-
-	* gst/gst.c (gst_main, gst_main_quit): upd.
-
-	* gst/gstutils.c (gst_util_has_arg): impl.
-	(gst_util_get_int64_arg): impl.
-
-	* plugins/mpeg2/video/gstmpeg2play.c
-	(gst_mpeg2play_class_init): min frames per sec = 0.
-
-	* plugins/mikmod/gstmikmod.c (gst_mikmod_class_init): 
-	s/16bit/use16bit/ properties can't begin with a non
-	alpha.
-
-	* tools/gstreamer-guilaunch.c: fresh from the ministy
-	of nasty hacks.
-
-	* tools/Makefile.am: enable gstreamer-guilaunch for
-	Gnome 2.0
-
-	* tools/gstreamer-launch.c (main): upd.
-	(idle_func): quit the mainloop.
-
-2001-12-14  Michael Meeks  <michael@ximian.com>
-
-        * plugins/audiofile/gstafsrc.c (gst_afsrc_class_init): upd.
-
-        * plugins/gnomevfs/gnomevfssrc.c (gst_gnomevfssrc_class_init):
-        kill broken mess for install_std_props.
-
-        * plugins/gnomevfs/gnomevfssink.c
-        (gst_gnomevfssink_class_init): upd.
-
-        * tools/gstreamer-launch.c (main): add efence hook.
-
-        * gst/elements/gstfilesrc.c (gst_filesrc_get): use
-        a volatile pointer, don't write to the buffer.
-
-        * gst/gstelement.c (gst_element_populate_std_props):
-        add debug & robustness.
-
-        * gst/gstelement.c (gst_element_populate_std_props):
-        add debug & robustness.
-
-2001-12-13  Michael Meeks  <michael@ximian.com>
-
-	* gst/elements/*.c: (..._class_init): clean to use
-	gst_populate_std_props.
-
-	* gst/gstelement.c
-	(gst_element_populate_std_props): impl, simply for now,
-	with a few standard properties.
-	(gst_element_install_std_props): impl nice helper.
-
-2001-12-13  Michael Meeks  <michael@ximian.com>
-
-	* gst/gstplugin.c (_gst_plugin_initialize): g_error
-	instead of warning.
-
-	* Makefile.am: update.
-
-	* editor/gsteditorprojectview.c (view_on_element_added): 
-
-	* editor/gsteditorproject.c
-	(gst_editor_project_class_init): upd.
-
-	* plugins/avi/gstavimux.c
-	(gst_avimux_request_new_pad): don't clobber name.
-
-	* libs/control/gstdparammanager.c
-	(gst_dpman_class_init): upd.
-	(gst_dpman_dispose): chain to parent.
-
-	* gst/cothreads.c (cothread_create): use guchar *'s
-	not void *'s for bytewise pointer arithmetic.
-
-	* gst/gstelement.h: kill const on get_property value.
-
-	* plugins/avi/gstavimux.c
-	(gst_avimux_request_new_pad): add name param.
-
-	* configure.ac: Add checks for libglade-2.0 and
-	gnome-vfs-2.0
-
-2001-12-13  Michael Meeks  <michael@ximian.com>
-
-	* plugins/xvideosink/Makefile.am: add $(X_LIBS)
-
-	* examples/typefind/typefind.c (type_found): upd.
-	xml code.
-
-	* plugins/mikmod/gstmikmod.c
-	(gst_mikmod_set_property): same memory bug here -
-	unfixed.
-
-	* plugins/oss/gstosssrc.c
-	(gst_osssrc_set_property): fix memory issue.
-	(gst_osssrc_init): dup the string - argh; quit here -
-	such code should be stuck in a common base class not
-	cut and pasted.
-
-	* plugins/oss/gstosssink.c
-	(gst_osssink_init): manage the device allocation.
-	(gst_osssink_finalize): impl.
-	(gst_osssink_class_init): upd.
-	(gst_osssink_set_property): upd.
-
-	* acconfig.h: cover HAVE_LIBXML2
-
-	* configure.ac: update libxml checks.
-
-2001-12-11 22:10  thomasvs
-
-	* lots of build fixes for 0.3.0 release
-
-2001-08-15 23:43  cael
-
-	* gstplay/: ChangeLog, gstmediaplay.c, gstplay.c: Added hacky check
-	to make sure we have video to fullscreen, will be removed when the
-	new libgstplay lands.
-
-2001-08-15 23:32  cael
-
-	* gstplay/: ChangeLog, gstmediaplay.c, gstmediaplay.glade,
-	gstmediaplay.h, gstplay.c, main.c: Added a bunch of new stuff
-	including better fullscreen handling and some new playlist stuff
-	that's not hooked up yet.
-
-2001-08-14 20:13  thomasvs
-
-	* gstreamer-uninstalled.pc.in: changed this to work for gst-bind if
-	anyone gets into problems with this then let me know and we'll fix
-	it together ;)
-
-2001-08-14 05:11  parapraxis
-
-	* gst/: gobject2gtk.c, gobject2gtk.h: sync gobject2gtk with
-	paranormal
-
-2001-08-13 21:19  omegahacker
-
-	* gst/: gsttimecache.c, gsttimecache.h: added first pass at the
-	GstTimeCache
-
-2001-08-13 20:03  omegahacker
-
-	* gst/Makefile.am: messy hack to make sure libgst.la builds
-	properly (FIXME!)
-
-2001-08-13 20:00  sbaker3
-
-	* docs/: gst/gstreamer-sections.txt, manual/dynamic.sgml,
-	manual/helloworld2.sgml, manual/pads.sgml, manual/queues.sgml,
-	manual/threads.sgml, manual/typedetection.sgml, manual/xml.sgml:
-	sync with the current CVS glib API
-
-2001-08-13 19:55  sbaker3
-
-	* test/avi2mpg.c, test/lat.c, test/mp1tomp1.c, test/mp2toavi.c,
-	test/mp2tomp1.c, test/mp2tomp1v2.c, test/mp3.c, test/mp3parse.c,
-	test/mp3play.c, test/mp3tovorbis.c, test/pipetest.c, test/qtest.c,
-	tests/autoplug.c, tests/events.c, tests/mp1vid.c, tests/paranoia.c,
-	tests/states.c, tests/eos/case1.c, tests/eos/case2.c,
-	tests/eos/case3.c, tests/eos/case4.c, tests/eos/case5.c,
-	tests/eos/case6.c, tests/eos/case7.c, tests/muxing/case1.c,
-	tests/sched/runxml.c: sync with the current CVS glib API
-
-2001-08-13 19:50  sbaker3
-
-	* plugins/aasink/aasink.c, plugins/audiofile/gstafsink.c,
-	plugins/audiofile/gstafsrc.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/wincodec/gstwinenc.cc, plugins/cdparanoia/cdparanoia.c,
-	plugins/dv/dvdec.c, plugins/filters/cutter/cutter.c,
-	plugins/gnomevfs/gnomevfssink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/gsm/gstgsmenc.c, plugins/jpeg/gstjpegenc.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, plugins/oss/gstosssink.c,
-	plugins/quicktime/gstquicktimedecoder.c,
-	plugins/sdlsink/sdlvideosink.c, plugins/xvideosink/xvideosink.c,
-	examples/cutter/cutter.c, examples/helloworld/helloworld.c,
-	examples/helloworld2/helloworld2.c, examples/mixer/mixer.c,
-	examples/plugins/example.c, examples/queue2/queue2.c,
-	examples/queue3/queue3.c, examples/queue4/queue4.c,
-	examples/thread/thread.c, examples/typefind/typefind.c,
-	examples/xml/createxml.c, examples/xml/runxml.c: sync with the
-	current CVS glib API
-
-2001-08-13 19:48  omegahacker
-
-	* configure.base: Added libgst.la to the global LDFLAGS, so all
-	plugins link against it.  This should help solve problems with
-	bindings and dynamic loading of libgst.
-
-2001-08-13 19:45  sbaker3
-
-	* gst/: gobject2gtk.c, gobject2gtk.h, gst.c, gstautoplug.c,
-	gstbin.c, gstelement.c, gstobject.c, gstpad.c, gstparse.c,
-	gsttypefind.c, gstxml.c, autoplug/autoplugtest.c,
-	autoplug/gstautoplugcache.c, autoplug/gstautoplugger.c,
-	autoplug/gststaticautoplug.c, autoplug/gststaticautoplugrender.c,
-	elements/gstdisksink.c, elements/gstfakesink.c,
-	elements/gstfakesrc.c, elements/gstidentity.c,
-	elements/gstmultidisksrc.c: sync with the current CVS glib API
-
-2001-08-13 14:52  thomasvs
-
-	* configure.base: added swig/Makefile.PL
-
-2001-08-12 11:09  sbaker3
-
-	* tests/.cvsignore: added more exes
-
-2001-08-12 10:48  sbaker3
-
-	* gst/gstbufferpool.c: doc update
-
-2001-08-11 23:04  omegahacker
-
-	* gst/gstbuffer.c: fixed stupid bug in buffer_span()
-
-2001-08-11 09:25  omegahacker
-
-	* gst/: gstbuffer.c, gstbuffer.h: - changed timestamps to gint64
-	(*signed* 64-bit) - updated buf->offset handling to deal with the
-	-1 (0xffffffff) case - added gst_buffer_span() and gst_buffer_merge
-	(see -devel for details)
-
-2001-08-10 22:36  wtay
-
-	* gst/elements/gstdisksrc.c: mmap returns MAP_FAILED in case of an
-	error, also do a perror in case of a failure.
-
-2001-08-10 18:45  wtay
-
-	* test/misc/: Makefile.am, gsmdec.c, gsmenc.c, mpgPlayer.c: Added
-	some test apps by Zeenix.
-
-2001-08-10 18:40  wtay
-
-	* configure.base, docs/fwg/intro.sgml, plugins/SID/gstsiddec.cc,
-	plugins/audiofile/gstafsink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, plugins/oss/gstosssink.c,
-	plugins/quicktime/gstquicktimedemux.c,
-	plugins/quicktime/gstquicktimesink.c, plugins/udp/gstudpsrc.c,
-	test/Makefile.am, test/main.c, tests/faketest.c,
-	tools/gstreamer-inspect.c: Fixes to various plugins.  Removed the
-	eos/qos calls in favour of the soon to be event system.  Added a
-	test app to test element reuse (doesn't work)
-
-2001-08-10 18:34  wtay
-
-	* gst/: gstobject.h, gstpad.c, gstpad.h, gstqueue.c,
-	gstscheduler.c, elements/gstdisksrc.c, elements/gstfakesrc.c,
-	elements/gstfdsrc.c, elements/gstmultidisksrc.c,
-	elements/gstpipefilter.c: Removed the old eos and qos functions. 
-	Removed the functions from the elements.
-
-2001-08-10 18:02  sbaker3
-
-	* examples/launch/.cvsignore: added an exe
-
-2001-08-10 17:49  sbaker3
-
-	* examples/: mixer/.cvsignore, cutter/.cvsignore: added an exe
-
-2001-08-10 17:36  sbaker3
-
-	* tests/.cvsignore: hide new tests
-
-2001-08-07 17:14  thomasvs
-
-	* configure.base: removed libs/colorscpace again
-
-2001-08-07 17:08  thomasvs
-
-	* configure.base: do FLAC lib check against main function
-
-2001-08-07 17:06  thomasvs
-
-	* acconfig.h, configure.base, plugins/Makefile.am: changed
-	HAVE_FLAC to HAVE_FLACLIB
-
-2001-08-07 15:46  thomasvs
-
-	* configure.base: added a few dnl'd AC_CONDITIONAL's to show a bug
-	for HAVE_FLAC look for thomas in the file
-
-2001-08-06 23:16  wtay
-
-	* examples/plugins/example.c: Fixed the padtemplate definition.
-
-2001-08-06 21:40  omegahacker
-
-	* gst/gstevent.h: added gstevent.h
-
-2001-08-06 21:37  omegahacker
-
-	* gst/gstelement.c, gst/gstinfo.c, gst/gstinfo.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstplugin.c, gst/gstscheduler.c, gst/gstthread.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstfakesink.c,
-	tests/Makefile.am, tests/events.c: Initial code for the event
-	system.
-
-2001-08-06 21:20  wtay
-
-	* plugins/flac/: Makefile.am, flacenc.c: Some compile fixes against
-	FLAC 1.0
-
-2001-08-06 20:52  wtay
-
-	* gst/gstbufferpool.h: Added a missing UNLOCK macro.
-
-2001-08-06 20:49  wtay
-
-	* plugins/avi/wincodec/gstwinenc.cc: Updates for CVS avifile.
-
-2001-08-06 17:46  theuraeus
-
-	* configure.base: 2001-06-08 Christian Schaller
-	<Uraeus@linuxrising.org> - Change from == to = since == only works
-	with GNU test and not the version of test shipping with Solaris
-	(and probably other Unices) - Once again a ordinary user has to
-	teach hackers to hack :)
-
-2001-08-03 01:08  omegahacker
-
-	* gst/Makefile.am: moved the object-model headers back to _HDR
-	where they belong
-
-2001-08-03 00:55  hadess
-
-	* Makefile.am: - revert location of gstreamer.pc
-
-2001-08-03 00:50  hadess
-
-	* Makefile.am: - install gstreamer.pc to the right place under
-	$(prefix)/share/pkconfig
-
-2001-08-01 23:44  dlehn
-
-	* plugins/flac/: flacdec.c, flacenc.c: Type update for FLAC 1.0
-
-2001-07-31 21:57  wtay
-
-	* gst/gstthread.c: Added a missing state change switch. 
-	Uncommented a big FIXME that was needed after all.  Stop now works.
-
-2001-07-30 18:50  wtay
-
-	* gstreamer-uninstalled.pc.in: Changes pcbuilddir to
-	pc_top_builddir
-
-2001-07-27 18:12  wtay
-
-	* tests/: Makefile.am, faketest.c, muxing/case1.c: Added a simple
-	thread state change app.
-
-2001-07-27 17:35  sbaker3
-
-	* tools/gstreamer-inspect.c: compile fix for glib2
-
-2001-07-27 14:12  sbaker3
-
-	* gst/gstbufferpool.c: compile fix when atomic refcounting is not
-	available
-
-2001-07-25 23:46  wtay
-
-	* plugins/festival/gstfestival.c: Added caps to the src pad to
-	properly set rate/channels for peer elements.
-
-2001-07-25 22:40  wtay
-
-	* tools/gstreamer-inspect.c: Added signal output and object
-	hierarchy output.
-
-2001-07-25 22:40  wtay
-
-	* gst/: gobject2gtk.c, gobject2gtk.h: Added shims for signal
-	introspections and g_type_parent
-
-2001-07-25 21:49  wingo
-
-	* configure.base: Fixed issue where AC_CHECK_LIB was polluting LIBS
-	with -lxml.
-
-2001-07-25 01:02  wingo
-
-	* plugins/filters/speed/Makefile.am: Removed 'README' from
-	EXTRA_DIST so that 'make dist' would work.
-
-2001-07-24 21:05  theuraeus
-
-	* tools/gstreamer-launch.1: 2001-23-07 Christian Schaller
-	<Uraeus@linuxrising.org> - Put README contents into man page and
-	fixed the Groff enconding (or whatever it is called.)
-
-2001-07-23 01:57  wtay
-
-	* plugins/ffmpeg/: gstffmpegdec.c, gstffmpegenc.c: Updated to the
-	new 0.4.4 API.
-
-2001-07-23 01:57  wtay
-
-	* tools/gstreamer-launch.c: Reverted to the old g_idle loop. too
-	many problems with xvideosink and the GtkWindow when we don't have
-	an idle loop..
-
-2001-07-20 23:10  dlehn
-
-	* plugins/: mp3decode/mpg123/letest.c, mpeg2/ac3dec/bitstream.c:
-	use glib for byte swapping
-
-2001-07-20 23:08  dlehn
-
-	* Makefile.am: Some basic deb building rules
-
-2001-07-20 23:08  dlehn
-
-	* plugins/mpeg2/parse/Makefile.am, test/Makefile.am: cosmetic
-	stuff, -O3 does inline-functions
-
-2001-07-20 22:26  wtay
-
-	* docs/gst/: Makefile.am, gstreamer.hierarchy,
-	tmpl/gstbufferpool.sgml, tmpl/gstfakesink.sgml,
-	tmpl/gstidentity.sgml, tmpl/gstreamer-unused.sgml,
-	tmpl/gsttee.sgml: Removed some stuff from the makefile until it
-	stopped complaining when building debs...
-
-2001-07-20 08:10  dlehn
-
-	* plugins/mp3encode/lame/: gstlame.c, gstlame.h: update for newer
-	LAME api
-
-2001-07-20 08:00  dlehn
-
-	* plugins/Makefile.am: Always compile avi dir.	It has it's own
-	conditionals for avifile libs.	Add (back?) arts dir.  (was this
-	out for a reason?)
-
-2001-07-20 07:56  dlehn
-
-	* plugins/mpeg2/mpeg2dec/Makefile.am: Change lib name from
-	libmpeg2dec to libgstmpeg2dec to avoid confusion since it links to
-	another libmpeg2dec.
-
-2001-07-20 07:54  dlehn
-
-	* docs/gst/gstreamer.hierarchy: remove Gtk classes from Gst
-	hierarchy
-
-2001-07-20 07:53  dlehn
-
-	* configure.in.ac250: not used anymore
-
-2001-07-20 07:52  dlehn
-
-	* debian/: Makefile.am, README.Debian, changelog, control,
-	gstreamer-arts.files, gstreamer-artsd.files,
-	gstreamer-avifile.files, gstreamer-common.files,
-	gstreamer-festival.files, gstreamer-flac.files,
-	gstreamer-mpeg2dec.files, gstreamer-plugin-template.postinst,
-	gstreamer-plugin-template.postrm, gstreamer-plugin-template.prerm,
-	gstreamer-runtime.files, gstreamer-runtime.manpages,
-	gstreamer-runtime.postinst, gstreamer-runtime.postrm,
-	gstreamer-tools.files, gstreamer-tools.manpages, gstreamer-x.files,
-	libgst0.postinst, libgsteditor0.postinst,
-	libgstmediaplay0.postinst, rules: Update to Debian packaging files
-	to 0.2.1-2
-
-2001-07-18 23:38  richardb
-
-	* docs/fwg/: Makefile.am, buffers.sgml, checklist.sgml,
-	gst-plugin-writers-guide.sgml, srcnsink.sgml, statemanage.sgml:
-	Sort out some remaining bits of fwg which weren't valid sgml.
-
-2001-07-18 23:18  richardb
-
-	* docs/manual/: debugging.sgml, helloworld2.sgml: Fix incorrectly
-	matched tags, as found by xsltproc. ;-)
-
-2001-07-18 23:08  richardb
-
-	* REQUIREMENTS: Add instructions for getting docbook-gnome-bin
-	debian package, needed to build manual and PWG.
-
-2001-07-18 20:04  wtay
-
-	* gst/autoplug/gststaticautoplugrender.c: Make sure the autoplugger
-	doesn't try to connect elements with request pads for now.
-
-2001-07-18 18:29  wtay
-
-	* plugins/mpeg1/system_encode/: buffer.c, system_encode.c,
-	system_encode.h, systems.c: Added request pad to the muxer.  Fixed
-	the object size problem by dynamically allocating the sector data.
-
-2001-07-17 23:01  richardb
-
-	* plugins/effects/volume/volume.c: Rename the GstVolume type to
-	GstVolumeOld, so that it doesn't conflict with the type registered
-	by the new volume plugin.
-
-2001-07-17 22:51  wtay
-
-	* docs/fwg/intro.sgml: Added what I think should be the basic steps
-	for writing a plugin.
-
-2001-07-16 21:18  wtay
-
-	* gst/: gstelement.h, gstscheduler.h: Added missing pad_select
-	prototypes/defs.
-
-2001-07-16 10:04  richardb
-
-	* configure.base: Change tests/muxer/Makefile to
-	tests/muxing/Makefile, since tests/muxer is now an empty dir.
-
-2001-07-15 15:24  wtay
-
-	* tools/gstreamer-launch.c: Changed the main loop to while
-	(iterate(bin))
-
-2001-07-15 14:04  wtay
-
-	* gst/gstscheduler.c: Properly set the eos flag when no elements
-	can be scheduled.
-
-2001-07-14 21:29  shitowax
-
-	* plugins/quicktime/: gstquicktimesink.c, gstquicktimesink.h:
-	initial introduction of a really basic muxer
-
-2001-07-14 21:15  thomasvs
-
-	* configure.base: added muxer Makefile
-
-2001-07-13 17:49  wtay
-
-	* plugins/gsm/: gstgsm.c, gstgsmdec.c, gstgsmenc.c: Added capsnego
-	to gsmdec/enc.
-
-2001-07-11 23:52  wtay
-
-	* gst/: gstpad.c, gstpad.h, gstscheduler.h,
-	elements/gstaggregator.c, elements/gstaggregator.h,
-	elements/gstfakesrc.c: Added prototypes for gst_pad_peek,
-	gst_pad_select and gst_pad_selectv.  Added different scheduling
-	methods in aggregator.	Fixed a bug in fakesrc when setting up the
-	scheduling functions.
-
-2001-07-11 20:26  wtay
-
-	* tests/: Makefile.am, muxing/.cvsignore, muxing/Makefile.am,
-	muxing/case1.c: Added a muxing test case.
-
-2001-07-11 20:23  wtay
-
-	* gst/gstscheduler.c: Added a g_assert when a filled bufpen is
-	overwritten.
-
-2001-07-11 20:22  wtay
-
-	* gst/elements/: gstfakesink.c, gstfakesrc.c, gstidentity.c,
-	gstidentity.h, gsttee.c, gsttee.h: Some cleanups in output of
-	various test plugins.  Added debug output to tee.  Added buffer
-	duplication to identity.
-
-2001-07-11 17:45  wtay
-
-	* gst/elements/: gstelements.c, gstfakesink.c, gstfakesink.h: Added
-	request pads to fakesink.
-
-2001-07-11 16:51  wtay
-
-	* gst/elements/: gstaggregator.c, gstelements.c, gstfakesink.c,
-	gstfakesrc.c, gstfakesrc.h, gstidentity.c, gstidentity.h, gsttee.c:
-	Added DEBUG_FUNCPTR to most plugins.  Added request pads to fakesrc
-	and aggregator.
-
-2001-07-11 16:50  wtay
-
-	* tools/gstreamer-inspect.c: Print out the request pad function.
-
-2001-07-11 15:56  wtay
-
-	* gst/elements/: Makefile.am, gstaggregator.c, gstaggregator.h,
-	gstdisksink.c, gstdisksrc.c, gstelements.c, gstfakesink.c,
-	gstfakesrc.c, gstfakesrc.h, gstfdsink.c, gstfdsrc.c, gsthttpsrc.c,
-	gstidentity.c, gstsinesrc.c, gsttee.c: Some code cleanups.  Added
-	printouts of the buffer timestamps in identity, fakesrc, fakesink. 
-	Added an aggregator test element.
-
-2001-07-11 13:33  wtay
-
-	* gst/: gstelement.c, gstelement.h, gstelementfactory.c: Aplied the
-	patch from Andy Wingo <apwingo@eos.ncsu.edu> add padtemplates to
-	element classes without using an elementfactory.  The
-	gst_element_add_padtemplate_to_class method was renamed to
-	gst_element_class_add_padtemplate to better match glib/gtk
-	conventions.
-
-2001-07-11 13:09  wtay
-
-	* docs/gst/tmpl/: gstmeta.sgml, spectrum.sgml: Removed the
-	remaining bits of MetaData.
-
-2001-07-11 02:02  omegahacker
-
-	* configure.base: added speed and volume to configure.base
-
-2001-07-11 00:47  omegahacker
-
-	* plugins/filters/Makefile.am: added speed and volume to
-	Makefile.am
-
-2001-07-08 22:02  wtay
-
-	* test/: Makefile.am, mp2tomp1v2.c, mp3play.c: Added a vob to mpeg1
-	transcoder. note that this one is only 68 lines long.
-
-2001-07-08 10:47  wtay
-
-	* plugins/effects/volume/volume.c: I'm a moron..
-
-2001-07-08 10:46  wtay
-
-	* plugins/effects/volume/volume.c: Renamed the old volume plugin to
-	volume_old.
-
-2001-07-08 10:44  wtay
-
-	* plugins/filters/: speed/Makefile.am, speed/filter.func,
-	speed/speed.c, speed/speed.h, volume/Makefile.am,
-	volume/filter.func, volume/mono-filter.func,
-	volume/stereo-filter.func, volume/volume.c, volume/volume.h: Added
-	the two plugins from Andy Wingo <apwingo@eos.ncsu.edu>
-
-2001-07-07 17:34  wtay
-
-	* docs/manual/Makefile.am: Added the init.sgml file to the makefile
-
-2001-07-07 16:30  wtay
-
-	* docs/manual/: intro.sgml, motivation.sgml: More blablah about how
-	cool GStreamer really is..
-
-2001-07-07 16:10  wtay
-
-	* docs/manual/: gstreamer-manual.sgml, init.sgml, utility.sgml:
-	Added docs on library init.
-
-2001-07-07 15:17  wtay
-
-	* docs/manual/: autoplugging.sgml, debugging.sgml,
-	gstreamer-manual.sgml, helloworld2.sgml, programs.sgml: Lots of
-	updates.  Added a chapter about the autoplugcache.  Updated the
-	autoplug example using the autoplugcache.  Moved some stuff around.
-	 Added an example app for gst_parse_launch.  Updated the debug
-	info.
-
-2001-07-07 15:14  wtay
-
-	* examples/launch/mp3parselaunch.c: Add sane arg checking.
-
-2001-07-07 15:07  wtay
-
-	* examples/launch/: Makefile.am, mp3parselaunch.c: Added a
-	parse_launch example.
-
-2001-07-07 14:32  wtay
-
-	* examples/helloworld2/helloworld2.c: Updated the autoplug example.
-
-2001-07-07 12:34  wtay
-
-	* docs/manual/: bins.sgml, dynamic.sgml, factories.sgml,
-	goals.sgml, gstreamer-manual.sgml, helloworld.sgml,
-	helloworld2.sgml, pads.sgml, programs.sgml, queues.sgml,
-	threads.sgml, typedetection.sgml, utility.sgml, xml.sgml: Some
-	updates to the manual, mostly glib2 related.
-
-2001-07-07 11:55  wtay
-
-	* docs/gst/: gstreamer-docs.sgml, gstreamer-sections.txt,
-	gstreamer.hierarchy, tmpl/gstbuffer.sgml, tmpl/gstbufferpool.sgml,
-	tmpl/gstelement.sgml, tmpl/gstpad.sgml, tmpl/gstplugin.sgml,
-	tmpl/gstreamer-unused.sgml, tmpl/gstutils.sgml, tmpl/gstxml.sgml:
-	Removed the last bits of Metadata.  Updated the bufferpool docs.
-
-2001-07-06 22:00  wtay
-
-	* plugins/capture/qcam/: gstqcamsrc.c, gstqcamsrc.h, qcam.h: Added
-	lots of options.
-
-2001-07-05 23:08  wtay
-
-	* configure.base: Added the qcam src
-
-2001-07-05 23:06  wtay
-
-	* plugins/capture/qcam/dark.c: Some unused file..
-
-2001-07-05 23:05  wtay
-
-	* plugins/capture/: Makefile.am, qcam/Makefile.am, qcam/exposure.c,
-	qcam/gstqcamsrc.c, qcam/gstqcamsrc.h, qcam/qcam-Linux.c,
-	qcam/qcam-Linux.h, qcam/qcam-lib.c, qcam/qcam-os.c, qcam/qcam-os.h,
-	qcam/qcam.h, qcam/qcamip.h: Added a simple bw-qcam src plugin.
-
-2001-07-05 22:53  wtay
-
-	* tools/gstreamer-launch.c: Added the xid stuff in again if
-	compiling against gtk.
-
-2001-07-04 21:49  uid21147
-
-	* gst/gstutils.c: Added arg setting for UINT types.
-
-2001-07-04 16:33  uid21147
-
-	* plugins/ffmpeg/: Makefile.am, gstffmpegdec.c, gstffmpegenc.c:
-	Lots of improvements to the ffmpeg wrappers.
-
-2001-07-02 21:38  wtay
-
-	* plugins/ffmpeg/: Makefile.am, gstffmpeg.c, gstffmpegdec.c,
-	gstffmpegdec.h, gstffmpegenc.c, gstffmpegenc.h: Added the ffmpeg
-	decoder wrappers.
-
-2001-07-01 23:19  wtay
-
-	* configure.base, plugins/ffmpeg/Makefile.am,
-	plugins/ffmpeg/gstffmpegenc.c, plugins/ffmpeg/gstffmpegenc.h: Added
-	the ffmpeg wrapper plugin. (ffmpeg.sourceforge.net).  Only the
-	encoders are currently support, so no decoders or muxers yet..
-
-2001-07-01 18:52  wtay
-
-	* plugins/gsm/: Makefile.am, gstgsmdec.c, gstgsmenc.c: Fixed a bug
-	with the buffer handling.
-
-2001-07-01 17:10  sbaker3
-
-	* plugins/filters/ladspa/gstladspa.c: better property name munging
-	and added check for duplicate property names
-
-2001-07-01 17:01  sbaker3
-
-	* gst/gobject2gtk.c: return NULL from
-	g2g_object_class_find_property if gtk_object_arg_get_info returns
-	an error
-
-2001-07-01 15:05  wtay
-
-	* plugins/avi/gstavidemux.c: Added the memcpy back, we can't take
-	ownership of the riff parser chunks..
-
-2001-07-01 14:59  wtay
-
-	* libs/riff/gstriff.h: Added types and structures for AVI/DV.
-
-2001-07-01 14:58  wtay
-
-	* plugins/avi/: gstavidecoder.c, gstavidemux.c, gstavidemux.h,
-	gstavitypes.c: Added FV playback to avi. Currently only NTSC DV is
-	supported. Both type1 and type2 avi/dv formats are supported.
-
-2001-07-01 12:18  theuraeus
-
-	* gstreamer.spec.in: 2001-01-07 Christian Schaller
-	<Uraeus@linuxrising.org> - Updated SPEC file.  - Splitt out GUI
-	modules - Added quicktime, flac, chart, udp modules
-
-2001-07-01 12:16  theuraeus
-
-	* LICENSE_readme, REQUIREMENTS: 2001-01-07 Christian Schaller
-	<Uraeus@linuxrising.org> - Added FLAC information
-
-2001-07-01 12:12  richardb
-
-	* configure.base: Put the back check for the FLAC library.  This
-	looks to have been accidentally removed when the sidplay one was
-	added.
-
-2001-07-01 11:28  sbaker3
-
-	* plugins/filters/ladspa/gstladspa.c: gobject param fixes
-
-2001-06-30 20:41  sbaker3
-
-	* plugins/alsa/: alsasink.c, alsasrc.c: fix param problems due to
-	gobject changes
-
-2001-06-30 17:26  wtay
-
-	* plugins/SID/: gstsiddec.cc, gstsiddec.h: Added a property for
-	song selection.
-
-2001-06-30 16:22  wtay
-
-	* acinclude.m4, configure.base, plugins/Makefile.am,
-	plugins/SID/Makefile.am: Added configure checks for libsidplay.
-
-2001-06-30 15:10  wtay
-
-	* plugins/SID/gstsiddec.cc: Added a bunch of properties.
-
-2001-06-30 01:45  wtay
-
-	* configure.base: Added the SID plugin.
-
-2001-06-30 01:44  wtay
-
-	* plugins/SID/gstsiddec.cc: Some cleanups
-
-2001-06-30 01:37  wtay
-
-	* plugins/SID/: .cvsignore, Makefile.am, gstsiddec.cc, gstsiddec.h:
-	A first attempt at a SID decoder plugin.
-
-2001-06-30 01:35  wtay
-
-	* gst/elements/gstdisksrc.c: Fix an endless loop at EOS.. this is a
-	hack...
-
-2001-06-29 21:31  wtay
-
-	* plugins/xmms/: gstxmmseffect.c, gstxmmsinput.c: GObject fixes for
-	xmms plugins.  Cleaner names for the generated plugins.
-
-2001-06-29 18:53  richardb
-
-	* gst/gstparse.c: Allow elements to be given custom names with []
-	syntax.
-	
-	ie, gstreamer-launch disksrc[mysrc] ! ...  makes a disksrc element
-	named mysrc, rather than disksrc0
-	
-	Suggestion: don't name things with names with numbers at the end,
-	or they may conflict with names allocated automatically.
-
-2001-06-29 12:30  richardb
-
-	* configure.base: Put GST_CFLAGS before other CFLAGS, to ensure
-	that the correct headers get used if there's an installed copy of
-	the gst headers on the system (ie, make sure the uninstalled
-	headers are used instead).
-
-2001-06-29 11:26  richardb
-
-	* gst/Makefile.am: Prefix for marshallers should be gst_marshal,
-	rather than gst.  This now actually compiles for me.
-
-2001-06-29 10:39  richardb
-
-	* gst/Makefile.am: Ensure that the marshaller code #includes
-	glib-object.h, and hence the neccessary definitions to enable it to
-	compile.
-	
-	I don't pretend to understand how the marshalling stuff works - I
-	just know that it clearly needs this #include, or something
-	similar.  If there's a more correct fix, someone else can do it. 
-	Possibly this is a glib-genmarshal bug, but I've not got the time
-	to go into that.
-
-2001-06-29 00:58  richardb
-
-	* gst/Makefile.am: Ensure that the gstmarshal.[ch] files are
-	generated in time by generating both files in the same rule:
-	previously, only the .c would be generated in time.  Don't put the
-	files in dists (add a dist-hook to take them out), and clean the
-	files when running distclean.
-
-2001-06-28 22:44  richardb
-
-	* gst/Makefile.am: Make sure conditionally compiled files are added
-	to the dist.
-
-2001-06-28 21:13  sbaker3
-
-	* plugins/alsa/: alsasink.c, alsasrc.c: compile fixes for alsasrc
-	and alsasink - params need more work (odd warning when doing
-	-inspect alsasrc)
-
-2001-06-28 20:32  wtay
-
-	* acconfig.h, configure.base, plugins/Makefile.am: Added a check
-	for the FLAC plugin.
-
-2001-06-28 19:35  richardb
-
-	* configure.base: Fix ALSA check; was overwriting the ALSA_CFLAGS
-	and ALSA_LIBS variables determined for alsa 0.5 with the ones from
-	the check that alsa 0.9 wasn't there.  Now does the 0.9 check
-	first, to avoid this problem.
-
-2001-06-28 17:31  richardb
-
-	* docs/gst/Makefile.am: Remove gstreamer.html from generated files,
-	since it was just a broken copy of one of the other files.  Sort
-	out cleanfiles to some extent.	Note: the make dependencies in this
-	file are completely broken, but it's not    clear how to fix them. 
-	The docs will be built at make install / dist time, as a result.
-
-2001-06-28 17:01  richardb
-
-	* acinclude.m4: Fix a typo in a comment.
-
-2001-06-28 16:39  richardb
-
-	* acinclude.m4, configure.base: Add ACTION-IF-USE and
-	ACTION-IF-NOTUSE parameters to GST_CHECK_FEATURE.  Convert glib2
-	check to use GST_CHECK_FEATURE.
-
-2001-06-28 16:11  thomasvs
-
-	* plugins/filters/cutter/README: cutter plugin now has a settable
-	pre-record buffer (using GList) README has been fleshed out a bit
-	more
-
-2001-06-28 12:56  richardb
-
-	* configure.base: Actually pass the infomessages variable into
-	config.status, so the message about plugin-builddir gets displayed.
-	
-	We can use this mechanism to display lists of plugins which won't
-	be built: just add the lines to be output at the end of ./configure
-	to $infomessages
-
-2001-06-28 11:57  richardb
-
-	* configure.base: Change plugin-srcdir msg stuff near the end of
-	configure.base to -builddir.
-
-2001-06-27 21:53  thomasvs
-
-	* examples/cutter/cutter.c: implemented ring buffer
-
-2001-06-27 21:53  thomasvs
-
-	* plugins/filters/cutter/: cutter.c, cutter.h: added a GList
-	pre-record buffer
-
-2001-06-27 21:20  wtay
-
-	* test/: dvshow.c, mp2toavi.c: Some small fixes.
-
-2001-06-27 21:19  wtay
-
-	* examples/autoplug/autoplug.c: Small fixes to the autoplugger so
-	that it uses a colorspace element for video.
-
-2001-06-27 21:15  wtay
-
-	* plugins/quicktime/gstquicktimedecoder.c: Make the QT plugin
-	extend from GstBin.
-
-2001-06-27 21:14  wtay
-
-	* plugins/avi/gstavidecoder.c: Make the avidecoder plugin extend
-	from a GstBin.
-
-2001-06-27 21:14  omegahacker
-
-	* configure.base, gstreamer-config.in, gstreamer-uninstalled.pc.in,
-	gstreamer.pc.in: configure.base: changed to 0.2.1, reworked the -D
-	gathering for cflags gstreamer-config.in, gstreamer.pc.in,
-	gstreamer-uninstalled.pc.in:  reworked -D gathering for cflags
-
-2001-06-27 20:45  dlehn
-
-	* plugins/arts/Makefile.am: Fix for automake 1.4 to actually build
-	the generated source.  Clean up generated files.  Make sure only
-	source idl gets into tarball.
-
-2001-06-27 20:22  omegahacker
-
-	* makeconfigure: added _CFLAGS and modified to allow the multiple
-	substitition to occur
-
-2001-06-27 18:22  richardb
-
-	* makeconfigure: Add a hack to ensure that automake picks up the
-	variables AC_SUBSTed in GST_CHECK_CONFIGPROG.
-
-2001-06-27 18:04  richardb
-
-	* acinclude.m4, configure.base: Add a "MODULES" parameter to
-	GST_CHECK_CONFIGPROG, to pass sets of modules to the -config
-	script.  Convert gnome test to use GST_CHECK_CONFIGPROG.
-
-2001-06-27 17:56  richardb
-
-	* acconfig.h, acinclude.m4, configure.base, plugins/Makefile.am,
-	plugins/audiofile/Makefile.am: Remove HAVE_GDK_PIXBUF and
-	HAVE_LIBAUDIOFILE from acconfig.h and AC_DEFINE: nothing uses
-	these.	Add GST_CHECK_CONFIGPROG macro, to check a -config script
-	and set --cflags and --libs from it.  Replace audiofile and
-	gdk-pixbuf checks with calls to this macro.  Change use of
-	HAVE_LIBAUDIOFILE to USE_LIBAUDIOFILE automake conditional.  Change
-	use of AUDIOFILE_LIBS variable to LIBAUDIOFILE_LIBS.
-
-2001-06-27 17:06  richardb
-
-	* acinclude.m4: Fix brokenness with autoconf 2.50.  *sigh*
-
-2001-06-27 16:04  richardb
-
-	* acinclude.m4, configure.base: Add DISABLE-BY-DEFAULT argument to
-	GST_CHECK_FEATURE, to allow a feature to be turned off by default. 
-	Turn of XMMS check using this, rather than a hack.  Fix display of
-	commandline parameters for GST_CHECK_FEATURE and
-	GST_SUBSYSTEM_DISABLE.
-
-2001-06-27 15:07  thomasvs
-
-	* plugins/filters/cutter/: cutter.c, filter.func: fixed cutter
-	plugin
-
-2001-06-27 10:59  richardb
-
-	* acinclude.m4: Add XMMS macro to acinclude.m4, since it's a
-	commonly missing macro.  This joins the ALSA macro, which was
-	already in acinclude.m4 We need some more consistent scheme for
-	dealing with these... :(
-
-2001-06-26 23:26  omegahacker
-
-	* plugins/vgasink/Makefile.am: fixed vgasink Makefile.am, even
-	though vgasink is disabled
-
-2001-06-26 23:15  wtay
-
-	* configure.base, gst/Makefile.am, tools/Makefile.am: Removed the
-	GST_CONFIG_DIR from config.h and made a -D CFLAG for it instead so
-	that we can do full expansion on the sysconfdir.
-
-2001-06-26 22:49  richardb
-
-	* configure.base: Fix up configure --help output:
-	GST_DISABLE_SUBSYSTEM options were not displayed properly.
-
-2001-06-26 22:44  richardb
-
-	* configure.base, gst/elements/Makefile.am, plugins/Makefile.am:
-	Convert XMMS and LIBGHTTP checks to use GST_CHECK_FEATURE() XMMS
-	check is turned off by default (though not in a very neat way)
-
-2001-06-26 22:29  wtay
-
-	* configure.base, plugins/Makefile.am: Removed vgasink for now.
-
-2001-06-26 22:07  wtay
-
-	* plugins/udp/Makefile.am: Removed a cut&paste leftover..
-
-2001-06-26 20:56  richardb
-
-	* makeconfigure: Do hacky fix for AM_CONDITIONAL for
-	GST_SUBSYSTEM_DISABLE, too.
-
-2001-06-26 20:49  omegahacker
-
-	* configure.base: Changes to the GST_SUBSYSTEM_DISABLE macro.
-
-2001-06-26 20:06  richardb
-
-	* gst/gobject2gtk.c: Fix g2g_object_class_list_properties() so that
-	num_properties gets set.
-
-2001-06-26 19:20  richardb
-
-	* acinclude.m4, configure.base, plugins/Makefile.am: Convert artsc
-	and arts checks to use GST_CHECK_FEATURE.  Extract the checks into
-	macros.
-
-2001-06-26 03:48  richardb
-
-	* acinclude.m4, configure.base, plugins/Makefile.am: Move alsa
-	check to use GST_CHECK_FEATURE macro.  Fix a small bug in the
-	macro.
-
-2001-06-26 03:27  richardb
-
-	* acinclude.m4: Fixes to work properly with automake 1.4
-
-2001-06-26 02:53  richardb
-
-	* Makefile.am, acinclude.m4, autogen.sh, configure.base,
-	makeconfigure: Added feature check macro, GST_CHECK_FEATURE.  Moved
-	generation of configure.{in,ac} into a separate script.  Add hack
-	to the script to stop automake complaining about missing
-	AM_CONDITIONAL call.  Replace ESD check by a call to
-	GST_CHECK_FEATURE.
-
-2001-06-25 22:39  richardb
-
-	* configure.base: Move config dir from /etc/gstreamer to
-	${sysconfdir}/gstreamer by default: more portable, configurable,
-	and standard.
-
-2001-06-25 21:53  richardb
-
-	* docs/plugins/Makefile.am: Remove more generated files
-
-2001-06-25 21:41  richardb
-
-	* docs/: manuals.mak, gst/Makefile.am, libs/Makefile.am: Remove
-	many unwanted generated files from distributions.
-
-2001-06-25 21:39  richardb
-
-	* docs/Makefile.am: Added plugins to DIST_SUBDIRS
-
-2001-06-25 21:37  wtay
-
-	* plugins/oss/gstosssink.c: Don't use the trace feature when it is
-	disabled.
-
-2001-06-25 21:36  wtay
-
-	* plugins/: avi/gstavidecoder.c, quicktime/gstquicktimedecoder.c:
-	Don't use the autoplugger when it is disabled.
-
-2001-06-25 21:36  wtay
-
-	* gst/: Makefile.am, gst.c, gstautoplug.h, gstbuffer.c,
-	gstbuffer.h, gstmeta.c, gstmeta.h, gstparse.h, gstplugin.c,
-	gstplugin.h, gsttrace.h, gsttypefind.h: Removed the final bits of
-	GstMeta.  Added conditional compilation of various subsystems.
-
-2001-06-25 21:09  richardb
-
-	* gst/: gobject2gtk.h, gstinfo.c, gstinfo.h: Add consts to
-	appropriate parameters in debug and info handlers.  Add appropriate
-	types for some of the memebers of the GTypeInfo struct.
-
-2001-06-25 21:01  omegahacker
-
-	* gst/: .cvsignore, Makefile.am: added gstmarshal.[ch] to
-	.cvsignore, added gstmarshal.list to EXTRA_DIST
-
-2001-06-25 21:00  omegahacker
-
-	* gst/gstobject.h, plugins/Makefile.am,
-	plugins/visualization/Makefile.am: added some dirs to DIST_SUBDIRS,
-	added a comment to gstobject.h
-
-2001-06-25 20:59  omegahacker
-
-	* gst/: Makefile.am, gstmarshal.c, gstmarshal.h, gstmarshal.list:
-	removed gstmarshal.[ch], added gstmarshal.list, and a first pass at
-	generation rules
-
-2001-06-25 20:19  wtay
-
-	* configure.base, gst/Makefile.am: Added configure checks to
-	disable various major subsystems.
-
-2001-06-25 19:14  richardb
-
-	* docs/gst/: Makefile.am, gstreamer.types.in: gstreamer.types.in:
-	remove colorspace header.  Makefile.am: remove comment inside rule
-	(nonportable).
-
-2001-06-25 18:22  omegahacker
-
-	* gst/: gobject2gtk.h, gst.c, gstelement.c: gobject2gtk.h: added
-	g2g_object_get_type() prototype gst.c: fixed gst_add_paths_func()
-	prototype gstelement.c: changed some prototypes, added a cast
-
-2001-06-25 18:17  wtay
-
-	* gst/gstobject.h: Added a missing #else
-
-2001-06-25 17:44  wtay
-
-	* configure.base: Removed the wine stuff.
-
-2001-06-25 13:28  richardb
-
-	* gst/gstobject.c: Fix a warning; stuff following an #endif
-
-2001-06-25 13:09  richardb
-
-	* autogen.sh: Added check for pkg-config to autogen.sh
-
-2001-06-25 07:45  omegahacker
-
-	* acconfig.h, autogen.sh, configure.base, gst/Makefile.am,
-	gst/gstbin.c, gst/gstelement.c, gst/gstelementfactory.c,
-	gst/gstinfo.c, gst/gstobject.c, gst/gstobject.h, gst/gstpad.c,
-	gst/gstprops.c, gst/gstthread.c, gst/gstxml.h: Reworked the
-	arguments for DEBUG and INFO.  Removed -debug-verbose.	Renamed
-	GST_DISABLE_XML to GST_DISABLE_LOADSAVE and added --disable flag.
-
-2001-06-25 04:37  omegahacker
-
-	* gst/: gobject2gtk.c, gobject2gtk.h: Changed all globally defined
-	stub functions to use the g2g_ prefix instead of g_, to avoid *any*
-	potential namespace conflicts.
-
-2001-06-25 02:20  omegahacker
-
-	* acconfig.h, configure.base, docs/random/wtay/events,
-	examples/Makefile.am, examples/cutter/cutter.c,
-	examples/helloworld/helloworld.c,
-	examples/helloworld2/helloworld2.c, examples/mixer/mixer.c,
-	examples/plugins/example.c, examples/plugins/example.h,
-	examples/queue/queue.c, examples/queue2/queue2.c,
-	examples/queue3/queue3.c, examples/queue4/queue4.c,
-	examples/thread/thread.c, examples/typefind/typefind.c,
-	examples/xml/createxml.c, examples/xml/runxml.c, gst/Makefile.am,
-	gst/gobject2gtk.c, gst/gobject2gtk.h, gst/gst.c, gst/gst.h,
-	gst/gstautoplug.c, gst/gstautoplug.h, gst/gstbin.c, gst/gstbin.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstextratypes.c, gst/gstextratypes.h, gst/gstmarshal.c,
-	gst/gstmarshal.h, gst/gstobject.c, gst/gstobject.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstparse.c, gst/gstpipeline.c, gst/gstpipeline.h,
-	gst/gstqueue.c, gst/gstqueue.h, gst/gstscheduler.c,
-	gst/gstscheduler.h, gst/gstthread.c, gst/gstthread.h,
-	gst/gsttypefind.c, gst/gsttypefind.h, gst/gstutils.c,
-	gst/gstutils.h, gst/gstxml.c, gst/gstxml.h,
-	gst/autoplug/autoplugtest.c, gst/autoplug/gstautoplugcache.c,
-	gst/autoplug/gstautoplugger.c, gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplug.h,
-	gst/autoplug/gststaticautoplugrender.c,
-	gst/autoplug/gststaticautoplugrender.h, gst/elements/Makefile.am,
-	gst/elements/gstdisksink.c, gst/elements/gstdisksink.h,
-	gst/elements/gstdisksrc.c, gst/elements/gstdisksrc.h,
-	gst/elements/gstelements.c, gst/elements/gstfakesink.c,
-	gst/elements/gstfakesink.h, gst/elements/gstfakesrc.c,
-	gst/elements/gstfakesrc.h, gst/elements/gstfdsink.c,
-	gst/elements/gstfdsink.h, gst/elements/gstfdsrc.c,
-	gst/elements/gstfdsrc.h, gst/elements/gsthttpsrc.c,
-	gst/elements/gsthttpsrc.h, gst/elements/gstidentity.c,
-	gst/elements/gstidentity.h, gst/elements/gstmultidisksrc.c,
-	gst/elements/gstmultidisksrc.h, gst/elements/gstpipefilter.c,
-	gst/elements/gstpipefilter.h, gst/elements/gstsinesrc.c,
-	gst/elements/gstsinesrc.h, gst/elements/gsttee.c,
-	gst/elements/gsttee.h, gstplay/gstplay.c, plugins/Makefile.am,
-	plugins/1394/dv1394src.c, plugins/1394/dv1394src.h,
-	plugins/aasink/aasink.c, plugins/aasink/aasink.h,
-	plugins/alaw/alaw-decode.c, plugins/alaw/alaw-decode.h,
-	plugins/alaw/alaw-encode.c, plugins/alaw/alaw-encode.h,
-	plugins/alsa/alsa.h, plugins/alsa/alsa_common.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/arts/gst_arts.c, plugins/arts/gst_arts.h,
-	plugins/artsd/artsdsink.c, plugins/artsd/artsdsink.h,
-	plugins/au/gstparseau.c, plugins/au/gstparseau.h,
-	plugins/audiofile/gstafsink.c, plugins/audiofile/gstafsink.h,
-	plugins/audiofile/gstafsrc.c, plugins/audiofile/gstafsrc.h,
-	plugins/audioscale/audioscale.c, plugins/audioscale/audioscale.h,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstavidecoder.h,
-	plugins/avi/gstavidemux.c, plugins/avi/gstavidemux.h,
-	plugins/avi/gstavimux.c, plugins/avi/gstavimux.h,
-	plugins/avi/gstavitypes.c, plugins/avi/gstavitypes.h,
-	plugins/avi/winaudio/aviaudiodecoder.c,
-	plugins/avi/winaudio/aviaudiodecoder.h,
-	plugins/avi/wincodec/gstwindec.cc,
-	plugins/avi/wincodec/gstwindec.h,
-	plugins/avi/wincodec/gstwinenc.cc,
-	plugins/avi/wincodec/gstwinenc.h, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, plugins/cdparanoia/cdparanoia.c,
-	plugins/cdparanoia/cdparanoia.h, plugins/cobin/cobin.c,
-	plugins/cobin/cobin.h, plugins/cobin/spindentity.c,
-	plugins/cobin/spindentity.h, plugins/dv/dvdec.c,
-	plugins/dv/dvdec.h, plugins/dvdsrc/dvdsrc.c,
-	plugins/dvdsrc/dvdsrc.h, plugins/effects/stereo/stereo.c,
-	plugins/effects/stereo/stereo.h, plugins/effects/volume/volume.c,
-	plugins/effects/volume/volume.h, plugins/esd/esdsink/esdsink.c,
-	plugins/esd/esdsink/esdsink.h, plugins/festival/Makefile.am,
-	plugins/festival/gstfestival.c, plugins/festival/gstfestival.h,
-	plugins/filters/Makefile.am, plugins/filters/adder/adder.c,
-	plugins/filters/adder/adder.h,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/cutter/cutter.c, plugins/filters/cutter/cutter.h,
-	plugins/filters/cutter/filter.func,
-	plugins/filters/deinterlace/deinterlace.c,
-	plugins/filters/deinterlace/deinterlace.h,
-	plugins/filters/intfloatconvert/float2int.c,
-	plugins/filters/intfloatconvert/float2int.h,
-	plugins/filters/intfloatconvert/int2float.c,
-	plugins/filters/intfloatconvert/int2float.h,
-	plugins/filters/intfloatconvert/intfloatconvert.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/ladspa/gstladspa.h,
-	plugins/filters/lav/lavencode.c, plugins/filters/lav/lavencode.h,
-	plugins/filters/level/level.c, plugins/filters/level/level.h,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/mono2stereo/mono2stereo.c,
-	plugins/filters/mono2stereo/mono2stereo.h,
-	plugins/filters/passthrough/level.c,
-	plugins/filters/passthrough/level.h,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/passthrough/passthrough.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/stereo2mono/stereo2mono.h,
-	plugins/filters/volenv/filter.func,
-	plugins/filters/volenv/volenv.c, plugins/filters/volenv/volenv.h,
-	plugins/flx/flx_decoder.c, plugins/flx/flx_decoder.h,
-	plugins/gnomevfs/gnomevfssink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/gsm/gstgsmdec.c, plugins/gsm/gstgsmdec.h,
-	plugins/gsm/gstgsmenc.c, plugins/gsm/gstgsmenc.h,
-	plugins/icecast/icecastsend/icecastsend.c,
-	plugins/icecast/icecastsend/icecastsend.h,
-	plugins/jpeg/gstjpegdec.c, plugins/jpeg/gstjpegdec.h,
-	plugins/jpeg/gstjpegenc.c, plugins/jpeg/gstjpegenc.h,
-	plugins/mp3decode/mad/gstmad.c, plugins/mp3decode/mad/gstmad.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1/system_encode/system_encode.h,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/ac3parse/ac3parse.h,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/subtitles/mpeg2subt.h,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h,
-	plugins/mpeg2/videoparse/mp2videoparse.c,
-	plugins/mpeg2/videoparse/mp2videoparse.h,
-	plugins/mulaw/mulaw-decode.c, plugins/mulaw/mulaw-decode.h,
-	plugins/mulaw/mulaw-encode.c, plugins/mulaw/mulaw-encode.h,
-	plugins/oss/gstossgst.c, plugins/oss/gstossgst.h,
-	plugins/oss/gstosssink.c, plugins/oss/gstosssink.h,
-	plugins/oss/gstosssrc.c, plugins/oss/gstosssrc.h,
-	plugins/quicktime/gstquicktimedecoder.c,
-	plugins/quicktime/gstquicktimedecoder.h,
-	plugins/quicktime/gstquicktimedemux.c,
-	plugins/quicktime/gstquicktimedemux.h,
-	plugins/quicktime/gstquicktimetypes.c,
-	plugins/quicktime/gstquicktimetypes.h, plugins/rtjpeg/rtjpegdec.c,
-	plugins/rtjpeg/rtjpegdec.h, plugins/rtjpeg/rtjpegenc.c,
-	plugins/rtjpeg/rtjpegenc.h, plugins/rtp/rtpsend/rtpsend.c,
-	plugins/rtp/rtpsend/rtpsend.h, plugins/sdlsink/sdlvideosink.c,
-	plugins/sdlsink/sdlvideosink.h, plugins/udp/.cvsignore,
-	plugins/udp/Makefile.am, plugins/udp/gstudp.c,
-	plugins/udp/gstudpsink.c, plugins/udp/gstudpsink.h,
-	plugins/udp/gstudpsrc.c, plugins/udp/gstudpsrc.h,
-	plugins/vcdsrc/vcdsrc.c, plugins/vcdsrc/vcdsrc.h,
-	plugins/videoscale/videoscale.c, plugins/videoscale/videoscale.h,
-	plugins/visualization/Makefile.am,
-	plugins/visualization/chart/gstchart.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/smoothwave/smoothwave.h,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/spectrum/gstspectrum.h,
-	plugins/visualization/synaesthesia/core.h,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/synaesthesia/synaesthesia.h,
-	plugins/visualization/vumeter/vumeter.c,
-	plugins/visualization/vumeter/vumeter.h,
-	plugins/vorbis/vorbisdec.c, plugins/vorbis/vorbisdec.h,
-	plugins/vorbis/vorbisenc.c, plugins/vorbis/vorbisenc.h,
-	plugins/wav/gstparsewav.c, plugins/wav/gstparsewav.h,
-	plugins/xmms/gstxmms.h, plugins/xmms/gstxmmseffect.c,
-	plugins/xmms/gstxmmseffect.h, plugins/xmms/gstxmmsinput.c,
-	plugins/xmms/gstxmmsinput.h, plugins/xmms/pluginenum.c,
-	plugins/xmms/xmms.h, plugins/xvideosink/Makefile.am,
-	plugins/xvideosink/xvideosink.c, plugins/xvideosink/xvideosink.h,
-	test/ac3parse.c, test/ac3play.c, test/avi2mpg.c, test/aviparse.c,
-	test/dvdcat.c, test/lat.c, test/mp1parse.c, test/mp1tomp1.c,
-	test/mp2toavi.c, test/mp2tomp1.c, test/mp3.c, test/mp3mad.c,
-	test/mp3parse.c, test/mp3play.c, test/mp3tovorbis.c,
-	test/mpeg2parse.c, test/pipetest.c, test/qtest.c, test/record.c,
-	test/vidcapture.c, test/vidcapture2.c, test/videotest.c,
-	test/wave.c, test/xmmstest.c, tests/autoplug.c, tests/autoplug3.c,
-	tests/case4.c, tests/incsched.c, tests/mp1vid.c, tests/mp3encode.c,
-	tests/paranoia.c, tests/queue.c, tests/rip.c, tests/states.c,
-	tests/threadlock.c, tests/eos/case1.c, tests/eos/case2.c,
-	tests/eos/case3.c, tests/eos/case4.c, tests/eos/case5.c,
-	tests/eos/case6.c, tests/eos/case7.c, tests/sched/runxml.c,
-	tools/gstreamer-compprep.c, tools/gstreamer-inspect.c,
-	tools/gstreamer-launch.c: Merged from GOBJECT1 to HEAD at 200106241
-
-2001-06-25 01:07  omegahacker
-
-	* gst/gobject2gtk.c, gst/gobject2gtk.h, tools/gstreamer-compprep.c,
-	tools/gstreamer-inspect.c: added shim for
-	g_object_class_list_properties and converted -inspect and -compprep
-	to use it
-
-2001-06-25 00:50  omegahacker
-
-	* examples/plugins/: example.c, example.h: ported example plugin to
-	gobject
-
-2001-06-25 00:25  omegahacker
-
-	* examples/cutter/cutter.c: ported to gobject
-
-2001-06-24 23:56  omegahacker
-
-	* plugins/visualization/chart/gstchart.c: ported chart to gobject
-
-2001-06-24 23:44  omegahacker
-
-	* LICENSE_readme, REQUIREMENTS, acconfig.h, autogen.sh,
-	configure.base, gstreamer.spec.in, idiottest.mak,
-	docs/gst/gstreamer-sections.txt, docs/manual/advanced.sgml,
-	docs/manual/bins.sgml, docs/manual/factories.sgml,
-	docs/manual/helloworld.sgml, docs/manual/helloworld2.sgml,
-	docs/manual/pads.sgml, docs/manual/states.sgml, docs/random/eos,
-	examples/Makefile.am, examples/cutter/Makefile.am,
-	examples/cutter/cutter.c, examples/cutter/cutter.h,
-	gst/Makefile.am, gst/gst.c, gst/gstautoplug.c, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstbufferpool.c, gst/gstbufferpool.h,
-	gst/gstcaps.c, gst/gstelement.c, gst/gstelementfactory.c,
-	gst/gstobject.c, gst/gstobject.h, gst/gstpad.c, gst/gstparse.c,
-	gst/gstplugin.c, gst/gstprops.c, gst/gstscheduler.c,
-	gst/gstthread.c, gst/elements/gstdisksink.c,
-	gst/elements/gstdisksrc.c, gstplay/ChangeLog, gstplay/Makefile.am,
-	gstplay/callbacks.c, gstplay/full-screen.c, gstplay/full-screen.h,
-	gstplay/gstmediaplay.c, gstplay/gstmediaplay.glade,
-	gstplay/gstmediaplay.h, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/main.c, include/Makefile.am, libs/audio/gstaudio.c,
-	libs/audio/gstaudio.h, libs/riff/gstriffencode.c,
-	plugins/Makefile.am, plugins/audiofile/gstafsink.c,
-	plugins/audiofile/gstafsrc.c, plugins/audiofile/gstafsrc.h,
-	plugins/filters/Makefile.am,
-	plugins/filters/colorspace/Makefile.am,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/cutter/README, plugins/filters/cutter/cutter.c,
-	plugins/filters/cutter/cutter.h,
-	plugins/filters/deinterlace/.cvsignore,
-	plugins/filters/deinterlace/Makefile.am,
-	plugins/filters/deinterlace/deinterlace.c,
-	plugins/filters/deinterlace/deinterlace.h,
-	plugins/filters/intfloatconvert/float2int.c,
-	plugins/filters/intfloatconvert/float2int.h,
-	plugins/filters/intfloatconvert/int2float.c,
-	plugins/filters/intfloatconvert/int2float.h,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/flac/.cvsignore, plugins/flac/Makefile.am,
-	plugins/flac/flac.c, plugins/flac/flacdec.c,
-	plugins/flac/flacdec.h, plugins/flac/flacenc.c,
-	plugins/flac/flacenc.h, plugins/jpeg/gstjpegdec.c,
-	plugins/mp3decode/mad/gstmad.c, plugins/mp3decode/mad/gstmad.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/quicktime/Makefile.am,
-	plugins/quicktime/gstquicktimedecoder.c,
-	plugins/quicktime/gstquicktimedecoder.h,
-	plugins/quicktime/gstquicktimedemux.c,
-	plugins/quicktime/gstquicktimedemux.h,
-	plugins/quicktime/gstquicktimetypes.c,
-	plugins/quicktime/gstquicktimetypes.h, plugins/vgasink/.cvsignore,
-	plugins/vgasink/Makefile.am, plugins/vgasink/vgavideosink.c,
-	plugins/vgasink/vgavideosink.h, plugins/videoscale/videoscale.h,
-	plugins/visualization/Makefile.am,
-	plugins/visualization/chart/.cvsignore,
-	plugins/visualization/chart/Makefile.am,
-	plugins/visualization/chart/gstchart.c, tools/README,
-	tools/gstreamer-compprep.1, tools/gstreamer-launch.c: Merge from
-	HEAD to BRANCH-GOBJECT1 at 200106241
-
-2001-06-24 22:21  wtay
-
-	* tools/gstreamer-launch.c: Commented out the Gtk widget stuff.
-
-2001-06-24 22:18  omegahacker
-
-	* gst/: Makefile.am, gst.c, gstautoplug.c, gstbin.c, gstcaps.c,
-	gstelement.c, gstelementfactory.c, gstobject.c, gstobject.h,
-	gstpad.c, gstprops.c, gstthread.c: initial pass at #ifdef'ing xml
-	load/save
-
-2001-06-24 22:15  wtay
-
-	* gstplay/gstplay.c: Some compile fixes.
-
-2001-06-24 22:14  wtay
-
-	* configure.base: Added the festival plugin and udp.
-
-2001-06-24 22:10  wtay
-
-	* plugins/: festival/gstfestival.c, oss/gstosssink.c,
-	oss/gstosssink.h, oss/gstosssrc.c, udp/gstudpsink.c,
-	udp/gstudpsrc.c, udp/gstudpsrc.h, xvideosink/Makefile.am: Added an
-	arg to set the fragment size in oss plugins.  Use a TCP stream
-	connection to do caps nego over the wire in UDP.  More pending
-	changes to some plugins.
-
-2001-06-24 22:06  omegahacker
-
-	* configure.base, plugins/Makefile.am: New check for libesd, a
-	model for all the other checks I hope.	Need to convert all the
-	other checks to operate like this.
-
-2001-06-24 16:20  wtay
-
-	* plugins/: Makefile.am, udp/.cvsignore, udp/Makefile.am,
-	udp/gstudp.c, udp/gstudpsink.c, udp/gstudpsink.h, udp/gstudpsrc.c,
-	udp/gstudpsrc.h: Added the beginnings of an udp send/receive
-	plugin.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/gstudpsink.h: file gstudpsink.h was initially added
-	on branch BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/Makefile.am: file Makefile.am was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/gstudpsrc.c: file gstudpsrc.c was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/gstudp.c: file gstudp.c was initially added on branch
-	BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/gstudpsink.c: file gstudpsink.c was initially added
-	on branch BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/.cvsignore: file .cvsignore was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-24 16:20  wtay
-
-	* plugins/udp/gstudpsrc.h: file gstudpsrc.h was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-24 15:55  wtay
-
-	* docs/random/wtay/events: file events was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-24 15:55  wtay
-
-	* docs/random/wtay/events: Added some random ramblings about a the
-	design of an event system.
-
-2001-06-24 02:02  wtay
-
-	* gst/gobject2gtk.c: Removed some debug noise.
-
-2001-06-24 01:55  wtay
-
-	* test/: aviparse.c, mp1parse.c, mpeg2parse.c, videotest.c, wave.c:
-	Compile fixes for gtk.
-
-2001-06-23 13:23  wtay
-
-	* plugins/festival/gstfestival.c: Make sure we don't send more data
-	than the buffersize.
-
-2001-06-23 13:12  wtay
-
-	* plugins/festival/gstfestival.c: file gstfestival.c was initially
-	added on branch BRANCH-GOBJECT1.
-
-2001-06-23 13:12  wtay
-
-	* plugins/festival/Makefile.am: file Makefile.am was initially
-	added on branch BRANCH-GOBJECT1.
-
-2001-06-23 13:12  wtay
-
-	* plugins/: Makefile.am, festival/Makefile.am,
-	festival/gstfestival.c, festival/gstfestival.h: Added the festival
-	text-to-speech plugin. It will currently only work by contacting
-	the festival server on localhost. The output is WAV so it needs to 
-	be parsed with parsewav before connecting it to an audiosink:
-	
-	./gstreamer-launch disksrc location=/etc/motd ! festival ! parsewav
-	! osssink
-	
-	Latency is terrible because we don't process uterances individually
-	yet.
-
-2001-06-23 13:12  wtay
-
-	* plugins/festival/gstfestival.h: file gstfestival.h was initially
-	added on branch BRANCH-GOBJECT1.
-
-2001-06-22 02:14  wtay
-
-	* examples/: Makefile.am, helloworld/helloworld.c,
-	helloworld2/helloworld2.c, mixer/mixer.c, queue/queue.c,
-	queue2/queue2.c, queue3/queue3.c, queue4/queue4.c, thread/thread.c,
-	typefind/typefind.c, xml/createxml.c, xml/runxml.c: Fixed the
-	examples for glib2 Removed plugins for now (need to run the script
-	on it)
-
-2001-06-22 02:05  wtay
-
-	* tests/: autoplug.c, autoplug3.c, case4.c, incsched.c, mp1vid.c,
-	mp3encode.c, paranoia.c, queue.c, rip.c, states.c, threadlock.c,
-	eos/case1.c, eos/case2.c, eos/case3.c, eos/case4.c, eos/case5.c,
-	eos/case6.c, eos/case7.c, sched/runxml.c: Lots of compile fixes for
-	glib2.0
-
-2001-06-22 01:43  wtay
-
-	* test/: ac3parse.c, ac3play.c, avi2mpg.c, dvdcat.c, lat.c,
-	mp1tomp1.c, mp2toavi.c, mp2tomp1.c, mp3.c, mp3mad.c, mp3parse.c,
-	mp3play.c, mp3tovorbis.c, pipetest.c, qtest.c, record.c,
-	vidcapture.c, vidcapture2.c, xmmstest.c: Lots of compile fixes
-	against glib2.0
-
-2001-06-22 01:14  wtay
-
-	* configure.base: Disable most of the gnome/gtk stuff when
-	compiling with glib2
-
-2001-06-22 00:11  wtay
-
-	* plugins/capture/v4l/: gstv4lsrc.c, gstv4lsrc.h: Added the option
-	to set the format and the output size.
-
-2001-06-21 23:48  omegahacker
-
-	* gst/gstqueue.c: marked up the function pointers with
-	GST_DEBUG_FUNCPTR
-
-2001-06-21 20:44  wtay
-
-	* configure.base: Added vgasink.
-
-2001-06-21 20:43  wtay
-
-	* plugins/vgasink/: .cvsignore, Makefile.am, vgavideosink.c,
-	vgavideosink.h: Added the vgasink by sienap.
-
-2001-06-21 16:29  wtay
-
-	* tools/gstreamer-compprep.c: Compile fixes for GObject.
-
-2001-06-21 15:39  wtay
-
-	* tools/gstreamer-inspect.c: Fixed a compileation error for
-	GObject.
-
-2001-06-21 15:22  wtay
-
-	* gst/: gobject2gtk.h, gstqueue.c: Compile fixes for gobject.
-
-2001-06-21 13:21  sbaker3
-
-	* docs/gst/gstreamer-sections.txt: added refcounting and
-	_get_default
-
-2001-06-21 12:50  wtay
-
-	* plugins/flx/flx_decoder.h: Removed the colorspace dependency.
-
-2001-06-21 12:50  wtay
-
-	* plugins/Makefile.am: Removed the videoscaler for now until it's
-	fixed.
-
-2001-06-21 12:49  wtay
-
-	* plugins/videoscale/: gstscale_x86.c, gstscale_x86.h,
-	gstscale_x86_asm.s, gstvideoscale.c, gstvideoscale.h, videoscale.h:
-	Added some files for future use.
-
-2001-06-21 12:42  wtay
-
-	* libs/Makefile.am: Removed old unused libs.
-
-2001-06-21 12:35  wtay
-
-	* configure.base: Removed the winloader
-
-2001-06-21 12:34  wtay
-
-	* libs/Makefile.am: Removed the wine loader.
-
-2001-06-21 12:32  wtay
-
-	* include/Makefile.am: Removed the winelibs.
-
-2001-06-21 12:19  sbaker3
-
-	* gst/: gstbufferpool.c, gstbufferpool.h: added ref counting to the
-	buffer pool. also _destroy will clean up the buffer pool mem_chunk
-	if it is the default implementation
-
-2001-06-21 03:03  omegahacker
-
-	* plugins/Makefile.am: fixed spelling of xvideosink
-
-2001-06-21 00:43  wtay
-
-	* gst/: gobject2gtk.h, gstqueue.c: Added some signal shims.  Fixed
-	the queue state_change stuff.
-
-2001-06-20 23:52  wtay
-
-	* plugins/Makefile.am: Added the xvideosink to the dirs.
-
-2001-06-20 23:33  wtay
-
-	* plugins/: dv/dvdec.c, xmms/xmms.h: All pending changes I still
-	have
-
-2001-06-20 23:21  wtay
-
-	* plugins/aasink/aasink.c: Compile fixes for aasink.
-
-2001-06-20 23:21  wtay
-
-	* gst/gobject2gtk.h: Added a shim for a marshaller.
-
-2001-06-20 22:56  wtay
-
-	* gst/gobject2gtk.h: Added som shims for GTypeFlags and GParamFlags
-
-2001-06-20 22:55  wtay
-
-	* plugins/avi/wincodec/: gstwindec.cc, gstwinenc.cc: Compile fixes
-	against gtk.
-
-2001-06-20 22:40  wtay
-
-	* plugins/arts/gst_arts.c: compile fixes for GTK1.2.
-
-2001-06-20 22:40  wtay
-
-	* gst/gobject2gtk.h: Fixed an arg called "class", it's a C++
-	reserved word..
-
-2001-06-20 22:30  wtay
-
-	* gst/gobject2gtk.h: Added g_type_from_name to the shims.
-
-2001-06-20 22:29  wtay
-
-	* plugins/filters/ladspa/gstladspa.c: Some compile fixes for gtk1.2
-
-2001-06-20 21:58  wtay
-
-	* gst/gobject2gtk.c: Renamed the shortname field in GParamSpec to
-	name to match the glib2.0 implementation.
-
-2001-06-20 21:49  wtay
-
-	* tools/gstreamer-inspect.c: Added object properties introspection.
-
-2001-06-20 21:48  wtay
-
-	* gst/gobject2gtk.h: Added a better shim for g_object_get_property
-
-2001-06-20 15:53  sbaker3
-
-	* gst/gstbuffer.c: fixed operator precedence bug which caused 32
-	times too much memory to be allocated for each GstBuffer struct
-
-2001-06-20 00:17  omegahacker
-
-	* gst/: gobject2gtk.c, gobject2gtk.h, elements/gstfakesrc.c: fixed
-	signal registration problem in gobject2gtk shim
-
-2001-06-19 22:14  omegahacker
-
-	* gst/gobject2gtk.c, gst/gobject2gtk.h, gst/gstpad.c,
-	gst/autoplug/gstautoplugger.c, gst/elements/gstfdsrc.c,
-	plugins/aasink/aasink.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c,
-	plugins/filters/mono2stereo/mono2stereo.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/sdlsink/sdlvideosink.c:
-	More GObject updates, cleanups to some of the elements to make the
-	port correct.
-
-2001-06-19 19:32  wtay
-
-	* gst/elements/gstdisksink.c: Changed the bytes_written to a gint
-	to avoid overflow...
-
-2001-06-19 13:53  richardb
-
-	* idiottest.mak: idiottest was failing because of change of
-	PLUGIN_USE_SRCDIR to PLUGIN_USE_BUILDDIR - fixed.
-
-2001-06-19 11:34  richardb
-
-	* tools/gstreamer-launch.c: Add -o option argument to
-	gstreamer-launch, to specify a file to output the pipeline to,
-	instead of running it.
-
-2001-06-19 08:57  omegahacker
-
-	* autogen.sh: updated autogen.sh to use --enable-plugin-builddir
-
-2001-06-19 08:57  omegahacker
-
-	* gst/gstplugin.c, acconfig.h, configure.base: changed
-	plugin-srcdir to plugin-builddir, which is what it should be
-
-2001-06-18 23:33  richardb
-
-	* gst/gstprops.c: Simplify properties which contain lists of
-	integer and integer range entries to minimal combination of ints
-	and ranges that is equivalent.	eg, (1,2,3,7-12,13) becomes
-	(1-3,7-13)
-	
-	Don't bother with floats for the moment, though it would be easy to
-	add an equivalent, which would simplify overlapping ranges.
-
-2001-06-18 21:14  richardb
-
-	* plugins/visualization/chart/gstchart.c: Fix memory leak, thanks
-	wtay.
-
-2001-06-18 20:20  wtay
-
-	* plugins/flac/: Makefile.am, flacdec.c, flacenc.c, flacenc.h:
-	Updated the flac decoder/encode to the latest CVS version.  I had
-	to increase the cothread stack in cothread.c (8 threads max) to get
-	the encoder working :(
-
-2001-06-18 12:27  richardb
-
-	* plugins/filters/Makefile.am: Add a DIST_SUBDIRS line
-
-2001-06-18 12:12  richardb
-
-	* configure.base, plugins/visualization/Makefile.am: Add chart
-	plugin to build system.
-
-2001-06-18 12:09  richardb
-
-	* plugins/visualization/chart/: .cvsignore, Makefile.am,
-	gstchart.c: Initial commit of chart plugin.  Draws charts of data
-	streams.  Currently has no settable framerate, draws inefficiently,
-	has no settable size and looks fairly ugly.  Needs data parsing to
-	be split into a separate plugin.
-
-2001-06-18 05:56  dlehn
-
-	* configure.base: ALSA checks use alsa_save_* names and gst attempt
-	to save flags fails when using the same names.	Prefixed with gst_.
-
-2001-06-17 23:14  wtay
-
-	* plugins/flac/: flacenc.c, flacenc.h: More work on the encoder..
-	it still segfaults inside the flac lib for some reason..
-
-2001-06-17 20:44  wtay
-
-	* plugins/flac/: .cvsignore, Makefile.am, flac.c, flacdec.c,
-	flacdec.h, flacenc.c, flacenc.h: Added a FLAC decoder.	The encoder
-	does not work yet.
-
-2001-06-17 16:06  wtay
-
-	* gst/elements/gstsinesrc.c: Updated the params a bit.
-
-2001-06-17 16:03  wtay
-
-	* gst/: gstutils.c, gstutils.h: Fixed the utils for getting
-	properties again.  Added come const directives to the arguments
-	again.	Check for non exiting properties.
-
-2001-06-17 15:35  sbaker3
-
-	* gst/gstbufferpool.h: added _gst_buffer_pool_initialize
-
-2001-06-17 15:12  wtay
-
-	* tools/gstreamer-inspect.c: Print out the enum values too.
-
-2001-06-17 14:58  sbaker3
-
-	* plugins/filters/intfloatconvert/: float2int.c, int2float.c: uses
-	default bufferpool factory
-
-2001-06-17 14:55  sbaker3
-
-	* gst/: gst.c, gstbufferpool.c, gstbufferpool.h: added a default
-	bufferpool factory function. it reuses existing instances of
-	bufferpool if requests are made for existing buffer sizes
-
-2001-06-17 09:55  omegahacker
-
-	* gst/gstobject.c, gst/gstobject.h, gst/gsttypefind.c,
-	gst/autoplug/gstautoplugcache.c, plugins/aasink/aasink.c,
-	plugins/audiofile/gstafsink.c, plugins/audiofile/gstafsrc.c,
-	plugins/cdparanoia/cdparanoia.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/cutter/cutter.c, plugins/gnomevfs/gnomevfssink.c,
-	plugins/gnomevfs/gnomevfssrc.c, plugins/gsm/gstgsmenc.c,
-	plugins/jpeg/gstjpegenc.c, plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/sdlsink/sdlvideosink.c, plugins/xmms/gstxmmseffect.c,
-	plugins/xvideosink/xvideosink.c: Mostly went around converting
-	G_OBJECT_TYPE(klass) to G_TYPE_FROM_CLASS(klass)
-
-2001-06-17 09:52  omegahacker
-
-	* configure.ac, configure.in: removed configure.ac and configure.in
-
-2001-06-17 05:07  omegahacker
-
-	* plugins/1394/: dv1394src.c, dv1394src.h: ported 1394 plugin to
-	gobject, somehow forget that one...
-
-2001-06-17 04:17  wtay
-
-	* tools/gstreamer-inspect.c: Added enums to inspect.
-
-2001-06-17 04:10  omegahacker
-
-	* gst/gobject2gtk.h: file gobject2gtk.h was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-17 04:10  omegahacker
-
-	* gst/gobject2gtk.c: file gobject2gtk.c was initially added on
-	branch BRANCH-GOBJECT1.
-
-2001-06-17 04:10  omegahacker
-
-	* acconfig.h, configure.base, gst/Makefile.am, gst/gobject2gtk.c,
-	gst/gobject2gtk.h, gst/gst.c, gst/gst.h, gst/gstextratypes.c,
-	gst/gstextratypes.h, gst/gstobject.c, gst/gstobject.h,
-	gst/gstparse.c, gst/gstqueue.c, gst/gstthread.c, gst/gstutils.c,
-	gst/gstutils.h: Added gobject to gtkobject bridge
-	(gobject2gtk.[ch]) and configure-time support for selecting between
-	glib and gtk (--enable-glib2 to build with gobject).
-
-2001-06-17 04:05  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Fixed the get and set functions
-	for enum properties.
-
-2001-06-17 04:03  wtay
-
-	* docs/manual/helloworld.sgml: Fixed the audiosink in the example
-	with osssink.
-
-2001-06-17 03:47  wtay
-
-	* gst/: gstutils.c, gstutils.h: Fixed the utils for getting
-	properties.  Added come const directives to the arguments.
-
-2001-06-17 03:39  wtay
-
-	* tools/gstreamer-inspect.c: Figured out how to get a property from
-	an object.
-
-2001-06-16 18:35  wtay
-
-	* tools/gstreamer-inspect.c: Pff, this doesn't seem to work...	Can
-	someone try to get a property from a GObject?
-
-2001-06-16 18:25  wtay
-
-	* tools/gstreamer-inspect.c: Somewhat fixed -inspect
-
-2001-06-16 15:36  wtay
-
-	* configure.base: Removed the obsolete libs.
-
-2001-06-16 15:35  wtay
-
-	* plugins/Makefile.am: Added the avi stuff to the makefile again.
-
-2001-06-16 15:29  wtay
-
-	* plugins/avi/: Makefile.am, codectest.c, gstavidecoder.c,
-	gstavidecoder.h, gstavidemux.c, gstavidemux.h, gstaviencoder.c,
-	gstaviencoder.h, gstavimux.c, gstavimux.h, gstavitypes.c,
-	gstavitypes.h, playcodecs.c, videoheader.c: Updated the avi decoder
-	to gobject.
-
-2001-06-16 14:46  wtay
-
-	* plugins/avi/winaudio/: aviaudiodecoder.c, aviaudiodecoder.h:
-	Updated the audiodecoder to gobject.
-
-2001-06-16 14:24  wtay
-
-	* gstplay/gstplay.c: Removed a check (see that the file exists
-	locally ??) to enable network streaming with gnomevfssrc again.
-
-2001-06-16 14:17  wtay
-
-	* plugins/avi/wincodec/: Makefile.am, gstwincodec.c,
-	gstwincodec.cc, gstwindec.c, gstwindec.cc, gstwindec.h,
-	gstwinenc.c, gstwinenc.cc, gstwinenc.h: Merged from HEAD on
-	20010616 (13:00 GMT).  Compile fixes for GObject.
-
-2001-06-16 01:43  wtay
-
-	* plugins/Makefile.am: Updated the makefile.
-
-2001-06-16 01:32  wtay
-
-	* plugins/arts/gst_arts.c: Fixed arts
-
-2001-06-16 01:26  wtay
-
-	* plugins/filters/Makefile.am: Added LADSPA back in the Makefile.
-
-2001-06-16 01:25  wtay
-
-	* plugins/filters/ladspa/gstladspa.c: LADSPA compiles.
-
-2001-06-16 01:14  wtay
-
-	* plugins/xmms/: gstxmmseffect.c, gstxmmsinput.c, pluginenum.c:
-	Fixed some stuff in xmms, removed the args for now.
-
-2001-06-16 00:49  wtay
-
-	* plugins/flx/flx_decoder.h: Removed the dependency on colorspace.
-
-2001-06-16 00:48  wtay
-
-	* plugins/filters/: Makefile.am, ladspa/gstladspa.c: Removed ladspa
-	from the Makefile until it compiles.  Removed the dependency on OSS
-	from ladspa.
-
-2001-06-16 00:36  wtay
-
-	* plugins/visualization/: Makefile.am, synaesthesia/core.h,
-	synaesthesia/synaesthesia.c, synaesthesia/synaesthesia.h: Removed
-	old, non functional code out of the makefile.
-
-2001-06-16 00:23  omegahacker
-
-	* configure.ac, configure.in, gst/gst.c, gst/gstmarshal.c,
-	gst/gstmarshal.h, gst/autoplug/autoplugtest.c,
-	plugins/aasink/aasink.c, plugins/aasink/aasink.h,
-	plugins/alaw/alaw-decode.c, plugins/alaw/alaw-decode.h,
-	plugins/alaw/alaw-encode.c, plugins/alaw/alaw-encode.h,
-	plugins/alsa/alsa.h, plugins/alsa/alsa_common.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/arts/gst_arts.c, plugins/arts/gst_arts.h,
-	plugins/artsd/artsdsink.c, plugins/artsd/artsdsink.h,
-	plugins/au/gstparseau.c, plugins/au/gstparseau.h,
-	plugins/audiofile/gstafsink.c, plugins/audiofile/gstafsink.h,
-	plugins/audiofile/gstafsrc.c, plugins/audiofile/gstafsrc.h,
-	plugins/audioscale/audioscale.c, plugins/audioscale/audioscale.h,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/cdparanoia/cdparanoia.c, plugins/cdparanoia/cdparanoia.h,
-	plugins/cobin/cobin.c, plugins/cobin/cobin.h,
-	plugins/cobin/spindentity.c, plugins/cobin/spindentity.h,
-	plugins/dv/dvdec.c, plugins/dv/dvdec.h, plugins/dvdsrc/dvdsrc.c,
-	plugins/dvdsrc/dvdsrc.h, plugins/effects/stereo/stereo.c,
-	plugins/effects/stereo/stereo.h, plugins/effects/volume/volume.c,
-	plugins/effects/volume/volume.h, plugins/esd/esdsink/esdsink.c,
-	plugins/esd/esdsink/esdsink.h, plugins/filters/adder/adder.c,
-	plugins/filters/adder/adder.h,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/cutter/cutter.c, plugins/filters/cutter/cutter.h,
-	plugins/filters/cutter/filter.func,
-	plugins/filters/intfloatconvert/float2int.c,
-	plugins/filters/intfloatconvert/float2int.h,
-	plugins/filters/intfloatconvert/int2float.c,
-	plugins/filters/intfloatconvert/int2float.h,
-	plugins/filters/intfloatconvert/intfloatconvert.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/ladspa/gstladspa.h,
-	plugins/filters/lav/lavencode.c, plugins/filters/lav/lavencode.h,
-	plugins/filters/level/level.c, plugins/filters/level/level.h,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/mono2stereo/mono2stereo.c,
-	plugins/filters/mono2stereo/mono2stereo.h,
-	plugins/filters/passthrough/level.c,
-	plugins/filters/passthrough/level.h,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/passthrough/passthrough.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/stereo2mono/stereo2mono.h,
-	plugins/filters/volenv/filter.func,
-	plugins/filters/volenv/volenv.c, plugins/filters/volenv/volenv.h,
-	plugins/flx/flx_decoder.c, plugins/flx/flx_decoder.h,
-	plugins/gnomevfs/gnomevfssink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/gsm/gstgsmdec.c, plugins/gsm/gstgsmdec.h,
-	plugins/gsm/gstgsmenc.c, plugins/gsm/gstgsmenc.h,
-	plugins/icecast/icecastsend/icecastsend.c,
-	plugins/icecast/icecastsend/icecastsend.h,
-	plugins/jpeg/gstjpegdec.c, plugins/jpeg/gstjpegdec.h,
-	plugins/jpeg/gstjpegenc.c, plugins/jpeg/gstjpegenc.h,
-	plugins/mp3decode/mad/gstmad.c, plugins/mp3decode/mad/gstmad.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1/system_encode/system_encode.h,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/ac3parse/ac3parse.h,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/subtitles/mpeg2subt.h,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h,
-	plugins/mpeg2/videoparse/mp2videoparse.c,
-	plugins/mpeg2/videoparse/mp2videoparse.h,
-	plugins/mulaw/mulaw-decode.c, plugins/mulaw/mulaw-decode.h,
-	plugins/mulaw/mulaw-encode.c, plugins/mulaw/mulaw-encode.h,
-	plugins/quicktime/gstquicktimedecoder.c,
-	plugins/quicktime/gstquicktimedecoder.h,
-	plugins/rtjpeg/rtjpegdec.c, plugins/rtjpeg/rtjpegdec.h,
-	plugins/rtjpeg/rtjpegenc.c, plugins/rtjpeg/rtjpegenc.h,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/rtp/rtpsend/rtpsend.h,
-	plugins/sdlsink/sdlvideosink.c, plugins/sdlsink/sdlvideosink.h,
-	plugins/vcdsrc/vcdsrc.c, plugins/vcdsrc/vcdsrc.h,
-	plugins/videoscale/videoscale.c, plugins/videoscale/videoscale.h,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/smoothwave/smoothwave.h,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/spectrum/gstspectrum.h,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/synaesthesia/synaesthesia.h,
-	plugins/visualization/vumeter/vumeter.c,
-	plugins/visualization/vumeter/vumeter.h,
-	plugins/vorbis/vorbisdec.c, plugins/vorbis/vorbisdec.h,
-	plugins/vorbis/vorbisenc.c, plugins/vorbis/vorbisenc.h,
-	plugins/wav/gstparsewav.c, plugins/wav/gstparsewav.h,
-	plugins/xmms/gstxmms.h, plugins/xmms/gstxmmseffect.c,
-	plugins/xmms/gstxmmseffect.h, plugins/xmms/gstxmmsinput.c,
-	plugins/xmms/gstxmmsinput.h, plugins/xmms/xmms.h,
-	plugins/xvideosink/xvideosink.c, plugins/xvideosink/xvideosink.h:
-	Mega patch updates almost all the plugins to GObject.  This was
-	done with a Perl script, with only a few minor manual tweaks where
-	the perl didn't catch the code just right.  There may be a few
-	minor issues remaining from this, but they should be easy to catch
-	(plugin doesn't work).
-	
-	There are several plugins that have GDK/GTK code in them that
-	shouldn't, these need to be dealt with next.
-
-2001-06-16 00:15  wtay
-
-	* plugins/filters/smooth/: smooth.c, smooth.h: Added caps to the
-	smooth filter.
-
-2001-06-16 00:15  wtay
-
-	* plugins/filters/median/median.c: copy timestamps too.
-
-2001-06-15 23:48  wtay
-
-	* plugins/filters/median/: median.c, median.h: Added an option to
-	only filter the luminance plane.
-
-2001-06-15 23:38  wtay
-
-	* plugins/filters/median/: median.c, median.h: Added caps to the
-	median filter.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/gstscale_x86_asm.s: file gstscale_x86_asm.s
-	was initially added on branch BRANCH-GOBJECT1.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/: gstscale_x86.c, gstscale_x86.h,
-	gstscale_x86_asm.s, gstvideoscale.c, gstvideoscale.h, videoscale.h:
-	Just added some files I will need soon.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/gstscale_x86.h: file gstscale_x86.h was
-	initially added on branch BRANCH-GOBJECT1.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/gstvideoscale.h: file gstvideoscale.h was
-	initially added on branch BRANCH-GOBJECT1.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/gstscale_x86.c: file gstscale_x86.c was
-	initially added on branch BRANCH-GOBJECT1.
-
-2001-06-15 23:03  wtay
-
-	* plugins/videoscale/gstvideoscale.c: file gstvideoscale.c was
-	initially added on branch BRANCH-GOBJECT1.
-
-2001-06-15 23:00  wtay
-
-	* libs/Makefile.am: Removed old unused libs.
-
-2001-06-15 22:46  wtay
-
-	* docs/manual/: advanced.sgml, bins.sgml, factories.sgml,
-	helloworld.sgml, helloworld2.sgml, pads.sgml, states.sgml: Small
-	updates to the manual.
-
-2001-06-15 20:49  sbaker3
-
-	* plugins/filters/intfloatconvert/: float2int.c, float2int.h: takes
-	multiple float pads and converts to interleaved int data. Different
-	sized and out-of-order buffer support is in place but not tested.
-
-2001-06-15 20:48  sbaker3
-
-	* plugins/filters/intfloatconvert/: int2float.c, int2float.h: now
-	converts interleaved ints to mono floats in seperate pads.  Also
-	now has a _request_new_pad func
-
-2001-06-15 20:46  wtay
-
-	* tools/README: Updated the README file with some cool
-	gstreamer-launch cmd lines by Matthew McClintock
-	<mattsm@mail.utexas.edu>
-
-2001-06-15 20:13  wtay
-
-	* gst/: gstelement.c, gstpad.c, gstparse.c, gstparse.h,
-	gstscheduler.c, elements/gstdisksrc.c: Changed a stupid assert in
-	request_pad.  Some fixes for pullregion and EOS conditions.  Remove
-	an unneeded check in the scheduler (check for NULL buffer) some EOS
-	fixes for pullregion in disksrc.  Removed the macro in the
-	gstparse.h header 'cause it's internal to gstparse.c Added a check
-	in gstparse for NULL element.
-
-2001-06-15 17:42  thomasvs
-
-	* examples/cutter/cutter.c: added some minor stuff
-
-2001-06-15 17:22  wtay
-
-	* plugins/avi/wincodec/gstwindec.cc: A fix for latest CVS avifile.
-
-2001-06-15 16:44  richardb
-
-	* configure.base: Fix mistake with saved CPPFLAGS for sdl test and
-	libdv test: was unsaving the value before saving... :(
-
-2001-06-15 16:42  richardb
-
-	* configure.base: Fix bug #433398, by putting GLIB_CFLAGS
-
-2001-06-15 07:33  sbaker3
-
-	* gst/gstparse.c: should restore dynamic connection of pads
-	(couldn't really test it though)
-
-2001-06-14 22:02  omegahacker
-
-	* plugins/oss/: gstossgst.c, gstossgst.h, gstosssink.c,
-	gstosssink.h, gstosssrc.c, gstosssrc.h: ported to gobject
-
-2001-06-14 22:02  omegahacker
-
-	* gst/: gstpad.c, elements/Makefile.am, elements/gstdisksink.c,
-	elements/gstdisksrc.c, elements/gstfakesrc.c,
-	elements/gstsinesrc.c, elements/gsttee.c: various fixes needed to
-	get to sinesrc ! osssink
-
-2001-06-14 21:39  wtay
-
-	* gst/autoplug/: gstautoplugcache.c, gstautoplugger.c,
-	gststaticautoplug.c, gststaticautoplugrender.c: Fixed some minor
-	compiler warnings.
-
-2001-06-14 21:23  omegahacker
-
-	* configure.base: added gmodule to glib-2.0 stuff
-
-2001-06-14 21:19  omegahacker
-
-	* gst/gstmarshal.h: file gstmarshal.h was initially added on branch
-	BRANCH-GOBJECT1.
-
-2001-06-14 21:19  omegahacker
-
-	* gst/: gstmarshal.c, gstmarshal.h: new files that need to be
-	removed at some point because they are to be autogenerated
-
-2001-06-14 21:19  omegahacker
-
-	* gst/gstmarshal.c: file gstmarshal.c was initially added on branch
-	BRANCH-GOBJECT1.
-
-2001-06-14 19:04  thomasvs
-
-	* examples/cutter/cutter.c: changed cutter example to use a thread
-
-2001-06-14 04:14  omegahacker
-
-	* gst/: Makefile.am, gst.c, gstautoplug.c, gstbin.c, gstelement.c,
-	gstobject.c, gstpad.c, gstparse.c, gsttypefind.c, gstxml.c,
-	autoplug/autoplugtest.c, autoplug/gstautoplugcache.c,
-	autoplug/gstautoplugger.c, autoplug/gststaticautoplug.c,
-	autoplug/gststaticautoplug.h, autoplug/gststaticautoplugrender.c,
-	autoplug/gststaticautoplugrender.h, elements/gstdisksink.c,
-	elements/gstdisksink.h, elements/gstdisksrc.c,
-	elements/gstdisksrc.h, elements/gstelements.c,
-	elements/gstfakesink.c, elements/gstfakesink.h,
-	elements/gstfakesrc.c, elements/gstfakesrc.h, elements/gstfdsink.c,
-	elements/gstfdsink.h, elements/gstfdsrc.c, elements/gstfdsrc.h,
-	elements/gsthttpsrc.c, elements/gsthttpsrc.h,
-	elements/gstidentity.c, elements/gstidentity.h,
-	elements/gstmultidisksrc.c, elements/gstmultidisksrc.h,
-	elements/gstpipefilter.c, elements/gstpipefilter.h,
-	elements/gstsinesrc.c, elements/gstsinesrc.h, elements/gsttee.c,
-	elements/gsttee.h: Bring all the other stuff in gst/ up to match
-	libgst.la's GObject port.  Fixed some minor problems with the
-	signalling stuff in the core.
-	
-	IT WORKS!
-
-2001-06-13 23:09  thomasvs
-
-	* examples/cutter/cutter.c: cutter now uses afsink to write out
-	wavs we will add a queue next to handle latency problems
-
-2001-06-13 23:03  thomasvs
-
-	* plugins/audiofile/gstafsink.c: afsink now closes and reopens
-	files when you change the location
-
-2001-06-13 22:59  omegahacker
-
-	* configure.base: new configure check for glib 2.0, now requires
-	pkg-config to be installed
-
-2001-06-13 22:52  thomasvs
-
-	* configure.base, examples/Makefile.am: added cutter example
-
-2001-06-13 22:52  omegahacker
-
-	* gst/: gstautoplug.c, gstautoplug.h, gstbin.c, gstbin.h,
-	gstelement.c, gstelement.h, gstelementfactory.c, gstextratypes.c,
-	gstextratypes.h, gstobject.c, gstobject.h, gstpad.c, gstpad.h,
-	gstparse.c, gstpipeline.c, gstpipeline.h, gstqueue.c, gstqueue.h,
-	gstscheduler.c, gstscheduler.h, gstthread.c, gstthread.h,
-	gsttypefind.c, gsttypefind.h, gstutils.c, gstutils.h, gstxml.c,
-	gstxml.h: First round of changes to port to GObject.  libgst.la
-	compiles, though there are a few things commented out. 
-	Specifically object destruction is probably broken, but wtay gets
-	to fix that because he researched the problem of glib 2.0 object
-	destruction while doing the first round.  Some of the XML stuff is
-	commented out, but that's an easy fix.
-	
-	Next is the rest of the gst/ directory, then on to the plugins.
-
-2001-06-13 22:45  wtay
-
-	* plugins/quicktime/: gstquicktimedecoder.c, gstquicktimedecoder.h,
-	gstquicktimedemux.c, gstquicktimedemux.h, gstquicktimetypes.c:
-	Fixed the quicktime plugin. things now work with mjpeg.
-
-2001-06-13 22:35  thomasvs
-
-	* plugins/audiofile/gstafsink.c: afsink now handles eos and closes
-	off file
-
-2001-06-13 22:33  wtay
-
-	* gst/gstpad.c: Loop in pullregion until the desired buffer has
-	been pulled.
-
-2001-06-13 22:08  thomasvs
-
-	* plugins/filters/cutter/cutter.c: check for buffer's framedness
-
-2001-06-13 22:08  thomasvs
-
-	* libs/audio/: gstaudio.c, gstaudio.h: added a function to check if
-	the buffer's data is framed
-
-2001-06-13 22:02  wtay
-
-	* plugins/avi/wincodec/: gstwindec.cc, gstwinenc.cc: fixed a small
-	fix in the type init function that makes some C++ compilers
-	complain.
-
-2001-06-13 21:26  thomasvs
-
-	* configure.base: added deinterlace
-
-2001-06-13 18:39  wtay
-
-	* plugins/mp3decode/mad/gstmad.c: Removed the debug output.
-
-2001-06-13 17:20  thomasvs
-
-	* examples/cutter/: Makefile.am, cutter.c, cutter.h: added example
-	program to show how cutter plugin works
-
-2001-06-13 17:16  thomasvs
-
-	* plugins/filters/cutter/cutter.c: some code clean-ups and sensible
-	default values
-
-2001-06-13 17:13  thomasvs
-
-	* plugins/filters/cutter/README: added a better description of the
-	cutter plugin
-
-2001-06-13 17:04  thomasvs
-
-	* plugins/filters/cutter/: cutter.c, cutter.h, filter.func: added
-	threshold level and runlength arguments stopped copying buffer used
-	audio lib functions for some stuff
-
-2001-06-13 16:33  thomasvs
-
-	* libs/audio/: gstaudio.c, gstaudio.h: added helper function to
-	calculate maximum possible sample value based on caps
-
-2001-06-13 10:51  thomasvs
-
-	* docs/random/eos: added two more cases of eos reasoning
-
-2001-06-13 02:18  cael
-
-	* gstplay/: ChangeLog, Makefile.am, callbacks.c, full-screen.c,
-	full-screen.h, gstmediaplay.c, gstmediaplay.glade, gstmediaplay.h,
-	gstplay.c, gstplay.h, main.c: Hmm, added working (if hacked)
-	full-screen play, shuffled things around, added error checking so
-	we don't crash on file not found, added the beginnings of a
-	preferences dialog.
-
-2001-06-12 22:35  wtay
-
-	* plugins/filters/deinterlace/Makefile.am: Removed the leftover
-	filter.func file and README in the makefile.
-
-2001-06-12 22:35  wtay
-
-	* plugins/filters/Makefile.am: Added the deinterlace filter
-
-2001-06-12 22:33  wtay
-
-	* plugins/filters/deinterlace/: .cvsignore, Makefile.am,
-	deinterlace.c, deinterlace.h: Added a deinterlace filter.
-
-2001-06-12 22:27  wtay
-
-	* plugins/filters/colorspace/Makefile.am: Add libHermes too of
-	course..
-
-2001-06-12 21:19  wtay
-
-	* plugins/filters/Makefile.am: Still compile colorspace when Hermes
-	was not found.
-
-2001-06-12 21:19  wtay
-
-	* plugins/filters/colorspace/: Makefile.am, colorspace.c,
-	colorspace.h: ifdef out the Hermes code when the library was not
-	found.
-
-2001-06-12 20:47  wtay
-
-	* libs/riff/gstriffencode.c: Fixed a bug in the avi encoder with
-	wrong alignment.
-
-2001-06-12 20:45  wtay
-
-	* plugins/jpeg/gstjpegdec.c: Don't push a buffer when the pad is
-	not connected.
-
-2001-06-12 20:44  wtay
-
-	* plugins/mpeg1/parse/: mpeg1parse.c, mpeg1parse.h: Added a sync
-	arg to turn off syncing on the timestamps.
-
-2001-06-12 20:42  wtay
-
-	* plugins/avi/: Makefile.am, codectest.c, gstaviencoder.c,
-	gstaviencoder.h, gstavimux.c, gstavimux.h, videoheader.c,
-	wincodec/gstwindec.cc, wincodec/gstwinenc.cc, wincodec/gstwinenc.h:
-	Removed old code.  Enhanced the avi decoder.  The encoder now sorta
-	works. For big input frames it segfaults though inside a libavifile
-	function.  Renamed the aviencoder to avimux.
-
-2001-06-12 15:35  thomasvs
-
-	* plugins/audiofile/: gstafsrc.c, gstafsrc.h: added timestamps to
-	afsrc element
-
-2001-06-12 14:42  thomasvs
-
-	* plugins/mp3decode/mad/gstmad.h: added framestamp
-
-2001-06-12 11:12  thomasvs
-
-	* plugins/mp3decode/mad/gstmad.c: added a different way of
-	generating timestamps; activate by uncommenting #define
-	DEBUG_TIMESTAMP
-
-2001-06-12 11:11  thomasvs
-
-	* libs/audio/: gstaudio.c, gstaudio.h: added some function to
-	support framestamps & timestamps
-
-2001-06-11 23:04  shitowax
-
-	* plugins/quicktime/: Makefile.am, gstquicktimedecoder.c,
-	gstquicktimedecoder.h: Transformation of the quicktime plugin into
-	version 0.2.0 style
-
-2001-06-11 23:02  shitowax
-
-	* plugins/quicktime/: gstquicktimedemux.c, gstquicktimedemux.h,
-	gstquicktimetypes.c, gstquicktimetypes.h: Intitial CVS introduction
-
-2001-06-11 21:19  thomasvs
-
-	* plugins/Makefile.am: fixed AVIFILE dependency check
-
-2001-06-11 20:09  omegahacker
-
-	* gst/gstelement.h: changed indent and argnames to trigger
-	gtk2gobject.sh
-
-2001-06-10 22:13  richardb
-
-	* tools/gstreamer-compprep.1: Some formatting updates, thanks to
-	using manedit
-
-2001-06-10 19:50  theuraeus
-
-	* LICENSE_readme: 2001-10-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Moved a couple of libs from GPL to LGPL
-	since they had been mistakenly branded as GPL.
-
-2001-06-10 12:57  sbaker3
-
-	* gst/gstparse.c: can now take comma delimited list of pads. eg
-	gstreamer-launch disksrc location=~/mp3/gnome.mp3 ! mad ! int2float
-	src%d,src%d\!sink%d,sink%d float2int ! osssink
-
-2001-06-10 02:18  theuraeus
-
-	* gstreamer.spec.in: 2001-10-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Updated the SPEC file as per Erik's
-	wishes - Split out the mpeg stuff - Silenced gstreamer-register
-	when run after each package
-
-2001-06-09 22:48  theuraeus
-
-	* gstreamer.spec.in: 2001-09-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Added gstreamer-register to all plugins
-
-2001-06-09 20:23  theuraeus
-
-	* gstreamer.spec.in: 2001-09-06 Christian Schaller
-	<Uraeus@linuxrising.org> - moved the visualisations plugins out
-	
-	TODO: 1. the mpeg plugins need sorting out. currently they are all
-	just placed inside the main package. Need help with this since I am
-	unsure about what files belongs where with what dependency 2.
-	Cross-dependencies probably should be added to the plugins 3.
-	License information should be added to the plugins 4.
-	GStreamer-register needs to be added for each plugin
-
-2001-06-09 19:50  theuraeus
-
-	* gstreamer.spec.in: 2001-09-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Finally the SPEC file works again, now
-	only polishing it remains
-
-2001-06-09 17:44  theuraeus
-
-	* gstreamer.spec.in: 2001-09-06 Christian Schaller
-	<Uraeus@linuxrising.org> - More SPEC fixes, not perfect yet, but
-	maybe it actually works now
-
-2001-06-09 12:43  sbaker3
-
-	* gst/: gstparse.c, gstparse.h: store src and sink pads in slists
-	to get ready for the src1,src2\!sink1,sink2 syntax
-
-2001-06-09 11:16  sbaker3
-
-	* gst/gstparse.c: if a named pad doesn't exist, try creating a new
-	pad using the padtemplate name. eg int2float src%d!sink%d float2int
-
-2001-06-09 03:33  theuraeus
-
-	* gstreamer.spec.in: 2001-09-06 Christian Schaller
-	<Uraeus@linuxrising.org> - More fixes to the SPEC file, still not
-	verfied that it works, but I need sleep and it is guaranteed closer
-	to working than the current one. More testing and SPEC file hacking
-	tommorow(aka later today).
-
-2001-06-09 01:16  wtay
-
-	* plugins/avi/wincodec/: Makefile.am, gstwincodec.c,
-	gstwincodec.cc, gstwindec.c, gstwindec.cc, gstwindec.h,
-	gstwinenc.c, gstwinenc.cc: The windows decoder now uses the dll
-	loader from avifile, significantly simplyfying the codec.
-
-2001-06-09 01:14  wtay
-
-	* REQUIREMENTS, configure.base: Added a check for avifile.
-
-2001-06-08 23:17  theuraeus
-
-	* gstreamer.spec.in: 2001-08-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Added ALSA plugin (commented out since I
-	don't have alsa installed)
-
-2001-06-08 22:56  theuraeus
-
-	* REQUIREMENTS, gstreamer.spec.in: 2001-08-06 Christian Schaller
-	<Uraeus@linuxrising.org> - Updated GStreamer SPEC which sorts out
-	plugins into separate plugins, needs more work to support all
-	plugins.
-
-2001-06-07 22:45  ajmitch
-
-	* plugins/esd/esdsink/Makefile.am: Added README to EXTRA_DIST
-
-2001-06-07 22:43  wtay
-
-	* plugins/avi/Makefile.am: Added README to dist
-
-2001-06-07 22:02  ajmitch
-
-	* plugins/esd/esdsink/README: Added README for esdsink. Someone
-	please give it some TLC before 0.2.0 release :)
-
-2001-06-07 19:31  wtay
-
-	* plugins/avi/: README, wincodec/gstwindec.c: Added a README file
-	about the innner working of the avi decoder.
-
-2001-06-07 17:56  dlehn
-
-	* debian/changelog, debian/gstreamer-tools.manpages,
-	gst/autoplug/.cvsignore: Added manpage Ignore built autoplugtest
-	binary Bump debian version to 0.2.0
-
-2001-06-07 11:58  richardb
-
-	* tools/: Makefile.am, gstreamer-complete.1, gstreamer-compprep.1,
-	gstreamer-register.1: Add gstreamer-compprep man page.
-
-2001-06-07 09:18  ajmitch
-
-	* AUTHORS: Credited 'ALSA plugins' to Thomas Nydberg in AUTHORS
-
-2001-06-07 07:38  dlehn
-
-	* debian/gstreamer-common.files: latest plugins updates
-
-2001-06-07 07:06  cael
-
-	* gstplay/: ChangeLog, gstmediaplay.glade: dissabled full-screen
-	for the time being till i have time to fix it.
-
-2001-06-07 01:08  omegahacker
-
-	* tools/: gstreamer-inspect.1, gstreamer-launch.1,
-	gstreamer-register.1: added --gst-mask to the man pages
-
-2001-06-06 20:31  wtay
-
-	* plugins/avi/Makefile.am: Added the REAME_win32dll to extra dist
-
-2001-06-06 20:23  dlehn
-
-	* debian/: Makefile.am, changelog, control, gstreamer-artsd.files,
-	gstreamer-audiofile.files, gstreamer-common.files,
-	gstreamer-gnomevfs.files, gstreamer-gsm.files,
-	gstreamer-jpeg.files, gstreamer-oss.files, gstreamer-sdl.files,
-	gstreamer-tools.files, gstreamer-tools.manpages, libgst-dev.files,
-	rules: Added new plugin packages and synced up to a late pre2 CVS
-	base.
-
-2001-06-06 20:21  dlehn
-
-	* .cvsignore: Added configure.{ac,in} to .cvsignore since they are
-	autogenerated from configure.base now.
-
-2001-06-06 20:20  dlehn
-
-	* docs/gst/Makefile.am: Added .o and .lo to clean-local target
-
-2001-06-06 20:15  wtay
-
-	* gst/gstelement.c: Removed a warning.
-
-2001-06-06 20:12  wtay
-
-	* plugins/filters/lav/Makefile.am: Removed the README file from
-	extra dist.
-
-2001-06-06 20:07  wtay
-
-	* plugins/filters/Makefile.am: Added the lavencoder
-
-2001-06-06 19:33  wtay
-
-	* docs/: gst/tmpl/gstreamer-unused.sgml, random/NOTES-0.2.0: Some
-	minor docs updates.
-
-2001-06-06 19:31  wtay
-
-	* configure.base: Added the lav encoder Makefile.am
-
-2001-06-06 19:29  wtay
-
-	* gst/: cothreads.c, gstparse.c: Changed the maxcothreads to 16. 
-	connect to the new_ghost_pad signal in parse.
-
-2001-06-06 17:21  wtay
-
-	* plugins/gsm/gstgsmdec.c: Small fix to initialize a counter.
-
-2001-06-06 17:20  wtay
-
-	* plugins/avi/: gstavidecoder.c, gstavitypes.c: Fixes for different
-	PCM audio formats.
-
-2001-06-06 17:09  wtay
-
-	* plugins/avi/: gstavidecoder.c, gstavitypes.c: More fixes for
-	audio.	Only send buffers if the pad is connected.
-
-2001-06-06 17:08  wtay
-
-	* plugins/jpeg/gstjpegdec.c: Some fixes for various jpeg formats.
-
-2001-06-06 15:24  thomasvs
-
-	* configure.base, plugins/filters/Makefile.am: added cutter plugin
-	to config stuff
-
-2001-06-06 15:21  thomasvs
-
-	* plugins/filters/cutter/: Makefile.am, README, cutter.c, cutter.h,
-	filter.func: cutter plugin; emits signals when audio RMS level
-	falls below or rises above threshold value for a given consecutive
-	run of buffers
-
-2001-06-06 15:14  thomasvs
-
-	* configure.base, libs/Makefile.am: added Makefile generation for
-	gstaudio library
-
-2001-06-06 15:13  thomasvs
-
-	* libs/audio/: Makefile.am, gstaudio.c, gstaudio.h: first try at a
-	general gstreamer audio library with helper functions
-
-2001-06-06 13:47  richardb
-
-	* docs/manual/quotes.sgml: Add an important quote from Omega.
-
-2001-06-06 00:39  theuraeus
-
-	* plugins/avi/README_win32dll: 2001-06-06 Christian Schaller
-	<Uraeus@linuxrising.org> * Add small textfile with some information
-	on win32 dll situation
-
-2001-06-05 20:44  sbaker3
-
-	* plugins/filters/ladspa/: gstladspa.c, gstladspa.h: mono _get and
-	_chain should now work.Many other changes including: all immutable
-	info is in the class struct, activate/deactivate should work, and a
-	bunch of other stuff
-
-2001-06-05 18:45  wtay
-
-	* tools/gstreamer-inspect.c: Somewhat improve the layout of args in
-	inspect.
-
-2001-06-05 18:26  sbaker3
-
-	* plugins/filters/intfloatconvert/: float2int.c, float2int.h,
-	int2float.c, int2float.h: use proxying for caps
-
-2001-06-05 02:27  richardb
-
-	* gst/: Makefile.am, gstelementfactory.c: Revert accidentally
-	applied changes.  Time for bed.
-
-2001-06-05 02:26  richardb
-
-	* gst/: Makefile.am, gstelementfactory.c, gstplugin.c: FIx memleak
-	in save-thyself introduced by changing plugin_get_list to copy.
-
-2001-06-05 02:15  richardb
-
-	* gst/gstplugin.c: Simple fix to stop gstreamer-compprep crashing
-	when the registry is in use.
-
-2001-06-04 22:52  wtay
-
-	* plugins/xvideosink/: xvideosink.c, xvideosink.h: Added an option
-	to disable Xv images. It's not pretty but it works.
-
-2001-06-04 22:02  wtay
-
-	* tools/gstreamer-launch.c: Fixed the xid stuff and some cleanups.
-
-2001-06-04 21:16  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Set the src caps to audio/mp3
-
-2001-06-04 20:20  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Removed the MPG_MD* defines
-	bacause they seem to be undefined with some versions of lame.
-
-2001-06-04 20:00  wtay
-
-	* plugins/oss/README: Added a little info about the ossgst hack.
-
-2001-06-04 19:59  wtay
-
-	* plugins/oss/gstosssrc.c: Some osssrc fixes
-
-2001-06-04 17:55  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Small updates.
-
-2001-06-04 17:33  wtay
-
-	* plugins/vorbis/vorbisenc.c: Fixed a bug for mono input.
-
-2001-06-04 17:02  wtay
-
-	* gst/cothreads.c: Use the STACKSIZE and number of cothreads to
-	calculate the cothread stack space (easier to change the number of
-	cothreads).
-
-2001-06-04 16:59  thomasvs
-
-	* plugins/oss/gstosssrc.c: set default format to 44100/16/stereo
-
-2001-06-04 16:38  thomasvs
-
-	* gst/gstparse.c: added an eos handler so that gstreamer-launch
-	quits when the first element fires it
-
-2001-06-04 15:52  wtay
-
-	* plugins/mpeg1/mpegaudio/gstmpegaudio.c: Fixes to do proper caps
-	negotiation.
-
-2001-06-04 15:50  wtay
-
-	* tools/gstreamer-inspect.c: Print out the default values.
-
-2001-06-04 14:51  sbaker3
-
-	* plugins/alsa/: alsasink.c, alsasrc.c: removed MAKE_ARG macro (it
-	didn't seem to work)\nAttempted to make the element name consist
-	only of alphanumeric and _ (eg ESS_AudioDrive_ES1688_0_0_src)
-
-2001-06-04 12:25  richardb
-
-	* docs/gst/Makefile.am: Nasty hack enabling docs/gst/ to build with
-	unpatched versions of gtkdoc-scanobj which don't understand
-	libtool.
-
-2001-06-04 02:26  wtay
-
-	* plugins/xmms/: gstxmmseffect.c, gstxmmseffect.h: Added capsnego
-	to the xmms effects.
-
-2001-06-04 01:51  richardb
-
-	* gst/gst.c: Replace NO_X conditional compilation with testing
-	whether DISPLAY env variable is set, and doing gtk_type_init()
-	instead of gtk_init() if not.
-
-2001-06-04 01:38  richardb
-
-	* autogen.sh: Don't ever run if we know automake isn't patched:
-	people keep complaining that their machine crashed while trying to
-	build...
-
-2001-06-04 00:40  wtay
-
-	* plugins/xmms/gstxmmsinput.c: Added capsnego to the xmms input
-	plugin.
-
-2001-06-03 23:30  wtay
-
-	* tools/README: More info about the other tools.
-
-2001-06-03 20:49  richardb
-
-	* tools/: Makefile.am, gstreamer-complete.1, gstreamer-launch.1:
-	Add man page for gstreamer-complete
-
-2001-06-03 20:26  wtay
-
-	* docs/gst/tmpl/gstreamer-unused.sgml: Docs updates
-
-2001-06-03 20:24  wtay
-
-	* plugins/flx/flx_decoder.c: More cleanups
-
-2001-06-03 20:20  wtay
-
-	* plugins/flx/flx_decoder.c: Small cleanups
-
-2001-06-03 20:19  wtay
-
-	* gst/gst.c: optionally call gtk_type_init() instead of gtk_init()
-	if NO_X is defined. This avoids the X dependency of GStreamer.
-
-2001-06-03 20:14  wtay
-
-	* plugins/au/: gstparseau.c, gstparseau.h: Cleanups to the au
-	parser.
-
-2001-06-03 20:13  wtay
-
-	* plugins/mp3decode/mad/gstmad.c: Small caps updates.
-
-2001-06-03 20:11  wtay
-
-	* plugins/xvideosink/: gstxwindow.c, xvideosink.c: Don't fail when
-	an X-connection could not be made.
-
-2001-06-03 20:09  wtay
-
-	* docs/random/NOTES-0.2.0: small changes
-
-2001-06-03 20:06  wtay
-
-	* Makefile.am: Removed the components dir from since it doesn't
-	work/build anyway.
-
-2001-06-03 16:30  wtay
-
-	* docs/random/NOTES-0.2.0: More small updates.:
-
-2001-06-03 16:29  wtay
-
-	* docs/random/NOTES-0.2.0: Added first desciption of the changes
-	for 0.2.0
-
-2001-06-03 13:08  wtay
-
-	* gstplay/gstplay.c: Find the seeking properties in GstBin objects
-	too.
-
-2001-06-03 13:06  wtay
-
-	* plugins/avi/: gstavidecoder.c, gstavitypes.c,
-	wincodec/gstwindec.c: Added the seeking args to the avi decoder. 
-	Set the buffer flush flag in windec.
-
-2001-06-03 12:28  wtay
-
-	* plugins/cdparanoia/cdparanoia.c: Set the pad caps in _init time.
-
-2001-06-03 12:28  wtay
-
-	* gst/gstpad.c: Set the caps on a proxied pad when the pad is not
-	connected.
-
-2001-06-03 12:20  richardb
-
-	* plugins/arts/Makefile.am: Add dependency so that gst_artsio.cc
-	gets generated in time, and change rule to generate it into a
-	suffix rule.  Register suffix so that automake can set _OBJECTS
-	appropriately.
-
-2001-06-03 02:45  wtay
-
-	* plugins/avi/: gstavidecoder.c, gstavidemux.c, gstavitypes.c:
-	Added support for mjpeg and PCM audio.
-
-2001-06-03 02:00  wtay
-
-	* plugins/jpeg/: gstjpeg.c, gstjpegenc.c: Removed the caps that are
-	not used.
-
-2001-06-03 00:36  richardb
-
-	* configure.base, plugins/arts/Makefile.am: Fix arts check, with
-	artsc-config hackery.
-
-2001-06-02 22:57  wtay
-
-	* plugins/cdparanoia/: cdparanoia.c, cdparanoia.h: Applied the
-	patch from Apoc: ?? _ Add properties cur_sector read only ( get
-	current sector ) ?? _ Add properties last_track read only ( last
-	track of the cd ) ?? _ Add properties cur_track read only ( get the
-	current track ) ?? _ Properties end_track writeable ( last track to
-	rip/play )
-
-2001-06-02 22:52  wtay
-
-	* plugins/cdparanoia/cdparanoia.c: Set the caps of the srcpad right
-	before sending a buffer instead of in the _init function.
-
-2001-06-02 19:26  omegahacker
-
-	* tools/gstreamer-launch.c: added check to make sure there's a
-	pipeline desc before building
-
-2001-06-02 19:11  wtay
-
-	* configure.base: Added the avi makefiles.
-
-2001-06-02 19:08  wtay
-
-	* plugins/avi/: Makefile.am, gstavidecoder.c, gstavidecoder.h,
-	gstavidemux.c, gstavidemux.h, gstavitypes.c, gstavitypes.h,
-	winaudio/Makefile.am, winaudio/aviaudiodecoder.c,
-	winaudio/aviaudiodecoder.h: More rework on the avi decoder.  The
-	avi decoder is now a bin that manages the avidemuxer and the
-	codecs. It uses the autoplugger and avitypes to convert avi types
-	into mime/types and select gstreamer codecs to create an element.
-
-2001-06-02 19:06  richardb
-
-	* autogen.sh: Clarify the messages about the patched automake one
-	more time.  If it's not clear now, and people continue to complain
-	about automake eating their resources, I'm mysteriously unable to
-	hear them.
-
-2001-06-02 17:38  wtay
-
-	* examples/helloworld/helloworld.c: Fixed the helloworld example by
-	using a pipeline as the toplevel element.
-
-2001-06-02 16:33  ajmitch
-
-	* configure.base: Let's just say I have a better understanding of
-	autoconf now (I should really have read the manual first). It helps
-	to remember that yes != no ;)
-
-2001-06-02 14:42  ajmitch
-
-	* configure.base: Automake is picky about white space...
-
-2001-06-02 14:38  ajmitch
-
-	* Makefile.am, configure.base: Added options --disable-tests and
-	--disable-examples for quicker builds for the impatient...
-
-2001-06-02 13:45  wtay
-
-	* gst/gstpad.c: Copy the padtemplate to the ghostpad.
-
-2001-06-02 13:21  richardb
-
-	* configure.base, plugins/gsm/Makefile.am, plugins/gsm/gstgsmdec.h,
-	plugins/gsm/gstgsmenc.h: Fix gsm to check for "gsm.h" as well as
-	"gsm/gsm.h".
-
-2001-06-02 11:42  richardb
-
-	* plugins/sdlsink/Makefile.am: Fix a typoe in sdlsink Makefile.am
-
-2001-06-02 11:40  theuraeus
-
-	* gstreamer.spec.in: 2001-02-06 Christian Schaller
-	<Uraeus@linuxrising.org> * Doh, forgot to update the Changelog
-	inside the SPEC file
-
-2001-06-02 11:38  theuraeus
-
-	* gstreamer.spec.in: 2001-02-06 Christian Schaller
-	<Uraeus@linuxrising.org> * Small fix to group statement for
-	GStreamer
-	
-	My work on the SPEC file making the RPM make one package for all
-	non-core plugins is underway, but I am not ready with it yet.
-
-2001-06-02 03:21  richardb
-
-	* configure.base: Oops: fixed SDL header check: put flags in
-	CPPFLAGS rather than CFLAGS.  We should really filter the
-	SDL_CFLAGS and only pass appropriate options through, but this
-	works well enough for now.
-
-2001-06-02 03:05  richardb
-
-	* configure.base: Improve SDL check: use correct CFLAGS when
-	searching for header.
-
-2001-06-01 23:56  wtay
-
-	* plugins/avi/: Makefile.am, gstavidecoder.c, gstavidecoder.h,
-	playcodecs.c, wincodec/gstwincodec.c, wincodec/gstwindec.c,
-	wincodec/gstwindec.h: Reworked the avi decoder. it works again now
-	(but no sound yet).
-
-2001-06-01 23:36  thomasvs
-
-	* tests/reconnect.c: ok, this works now
-
-2001-06-01 23:23  thomasvs
-
-	* tests/: Makefile.am, reconnect.c: test for disconnect and
-	reconnect of elements
-
-2001-06-01 22:26  theuraeus
-
-	* gstreamer.spec.in: 2001-01-06 Christian Schaller
-	<Uraeus@linuxrising.org> - First batch of upgrades to the SPEC
-	file, this one from   Dennis Bjorklund. Thanks Dennis.
-
-2001-06-01 19:52  wtay
-
-	* configure.base: Added a better SDL_createYUVOverlay check.
-
-2001-06-01 19:30  wtay
-
-	* gst/: gstbin.c, gstpad.c, gstqueue.c, gstscheduler.c,
-	autoplug/autoplugtest.c, autoplug/gststaticautoplugrender.c: Fixed
-	some warnings.
-
-2001-06-01 19:24  wtay
-
-	* tests/: Makefile.am, autoplug.c, capsconnect.c, incsched.c,
-	load.c, loadall.c, mp1vid.c, mp3encode.c, paranoia.c, reaping.c,
-	registry.c, threadlock.c, nego/nego1.c, sched/runxml.c: Fixed a
-	couple of compiler warnings.
-
-2001-06-01 19:09  wtay
-
-	* test/: ac3parse.c, ac3play.c, buffer.c, cobin.c, dvdcat.c,
-	dvshow.c, fake.c, mem.c, mp1tomp1.c, mp2tomp1.c, mp3mad.c,
-	mp3play.c, record.c, teardown.c, vidcapture.c, vidcapture2.c,
-	video2mp1.c: Fixed some compile warnings.
-
-2001-06-01 18:55  hadess
-
-	* REQUIREMENTS: - added url to openquicktime
-
-2001-06-01 18:42  hadess
-
-	* REQUIREMENTS: - added some more urls
-
-2001-06-01 18:42  wtay
-
-	* gstplay/gstplay.c: Print out a warning when the colorspace plugin
-	is not found and try to do without it...
-
-2001-06-01 18:32  theuraeus
-
-	* LICENSE_readme, REQUIREMENTS: 2001-01-06 Christian Schaller
-	<Uraeus@linuxrising.org> * A few URL additions to the REQUIREMENTS
-	file * LICENCE readme containing licensing details on our plugins
-
-2001-06-01 17:57  wtay
-
-	* README, REQUIREMENTS: Slightly changed the README, we are not
-	really tied to GNOME.  Added more optional libs to REQUIREMENTS.
-	someone should complete the URLS.
-
-2001-06-01 17:46  wtay
-
-	* plugins/effects/volume/volume.c: Removed the soundcard.h include
-	line.
-
-2001-06-01 16:29  thomasvs
-
-	* gst/elements/gstdisksink.c: coded small bit in to allow changing
-	of output location
-
-2001-06-01 14:27  richardb
-
-	* tools/README: Add a note about gstreamer-complete
-
-2001-06-01 14:03  richardb
-
-	* configure.base: More tidyup to SDL check.
-
-2001-06-01 13:36  richardb
-
-	* configure.base: Fix SDL check Check for Overlay stuff, which
-	isn't in SDL version 1.0
-
-2001-05-31 23:57  hadess
-
-	* REQUIREMENTS: - added urls to the required libs, with a lot of
-	added libs
-
-2001-05-31 21:20  richardb
-
-	* REQUIREMENTS, configure.base: Add comments to many (but not all
-	:( ) AC_DEFINES in configure scripts.  Add note about debian
-	packages for building documentation.
-
-2001-05-31 21:14  richardb
-
-	* plugins/esd/esdsink/Makefile.am: Add a CFLAGS line: just luck
-	that it's not been needed so far.
-
-2001-05-31 21:13  richardb
-
-	* plugins/artsd/Makefile.am: Remove a redundant line, and add a
-	comment about one which will become redundant in future.
-
-2001-05-31 20:52  wtay
-
-	* testsuite/refcounting/Makefile.am: Removed the thread test so
-	make distcheck works.
-
-2001-05-31 20:18  wtay
-
-	* testsuite/refcounting/Makefile.am: Added the mem.h file in
-	noinst_HEADERS.
-
-2001-05-31 20:16  richardb
-
-	* plugins/arts/Makefile.am: Remove generated files from the dist.
-
-2001-05-31 20:08  richardb
-
-	* configure.base, idiottest.mak: Fix a couple of formatting errors
-	in idiottest, and add plugin-srcdir warning to configure.base.
-
-2001-05-31 19:42  wtay
-
-	* plugins/avi/Makefile.am: Fixed the codectest.
-
-2001-05-31 19:35  richardb
-
-	* Makefile.am, idiottest.mak, include/Makefile.am: Abstract the
-	plugin-srcdir installation idiottest into a separate file, and
-	include it from the include Makefile.am, to ensure that it gets
-	called at the start of a make install process, not after the whole
-	thing has happened.
-
-2001-05-31 19:31  wtay
-
-	* include/Makefile.am: Added gstaudio.h to noinst_HEADERS.
-
-2001-05-31 19:03  richardb
-
-	* docs/gst/Makefile.am: Add rules to ensure that the libgst.la and
-	libgstelements.la exist when trying to link the scanner with them. 
-	Fix mkdirs so that they don't fall over if directories already
-	exist.
-
-2001-05-31 18:32  richardb
-
-	* plugins/arts/Makefile.am: Put gst_artsio.idl in
-	libgst_arts_la_SOURCES instead of gst_artsio.cc (which is generated
-	from it).  This ensures that the original source is present, and
-	also allows make dist to work on machines which don't have mcopidl
-	and the arts idl stuff installed.
-	
-	It is possible that gst_artsio.cc should be put in EXTRA_DIST, but
-	I argue against it since as far as I can tell it can be generated
-	on any system which has arts installed (mcopidl is in the libarts
-	package on debian), and putting it in EXTRA_DIST requires that
-	mcopidl is present in order to run make dist.
-
-2001-05-31 15:19  richardb
-
-	* configure.base: Add AS and ASFLAGS to configure.base, fixing the
-	build with automake 1.4g AS is defined in a hacky way: I've asked
-	on the automake list for help doing this properly.
-
-2001-05-31 10:53  thomasvs
-
-	* plugins/oss/gstosssrc.c: some small cleanups before maybe doing
-	some real work on this
-
-2001-05-30 23:06  thomasvs
-
-	* plugins/oss/gstosssrc.c: The weird thing only happens on one of
-	my sound cards.
-
-2001-05-30 22:35  thomasvs
-
-	* include/gstaudio.h: header file for standard audio stuff for
-	plugins
-
-2001-05-30 22:27  omegahacker
-
-	* configure.base: added no-alsa warning and made 0.9 check
-	conditional on alsa existing at all
-
-2001-05-30 22:15  wtay
-
-	* plugins/wav/gstparsewav.c: Major cleanups so that it actually
-	works.
-
-2001-05-30 22:14  wtay
-
-	* gst/gstprops.c: Fixed a bug so that gst_props_new (NULL) == NULL
-
-2001-05-30 21:54  omegahacker
-
-	* plugins/sdlsink/sdlvideosink.c: added SDL_INIT_NOPARACHUTE flag
-	to SDL_Init, to disable one of the most annoying features IMO of
-	SDL
-
-2001-05-30 21:36  omegahacker
-
-	* gst/gstpad.c: stupid mistake, I put != instead of == in the
-	g_return_if's
-
-2001-05-30 21:13  omegahacker
-
-	* gst/gstpad.c: added sanity checks to make sure _push and _pull
-	don't get called on pads of the wrong direction
-
-2001-05-30 20:07  sbaker3
-
-	* plugins/filters/ladspa/: gstladspa.c, gstladspa.h: beginnings of
-	inplace mono chain func
-
-2001-05-30 17:37  thomasvs
-
-	* plugins/oss/gstosssrc.c: switched some lines around
-
-2001-05-30 17:10  thomasvs
-
-	* plugins/oss/gstosssrc.c: added caps to osssrc found a weird
-	thing, don't know yet what to do about it
-
-2001-05-30 16:16  richardb
-
-	* README, autogen.sh: Automatically generate a patched automake if
-	needed, and put instructions in the README about how to use such a
-	patched automake.
-
-2001-05-30 15:39  richardb
-
-	* Makefile.am: Add configure.base and autogen.sh to distributions. 
-	Add rules to keep configure.in and configure.ac up-to-date.
-
-2001-05-30 15:22  richardb
-
-	* autogen.sh, configure.ac, configure.base, configure.in:  * create
-	a configure.base file, containing the contents of
-	   configure.{in,ac}, with those lines specific to one file
-	prepended by
-	   "SUBSTFOR configure.in:" or "SUBSTFOR configure.ac:"
-	appropriately.
-	
-	 * Add lines to autogen.sh to generate configure.in and
-	configure.ac
-	   automatically from this file. (Very simple sed scripts)
-	
-	 * Remove configure.in and configure.ac
-	
-	This shouldn't cause any problems to anyone, and should make it
-	easy to do work on configure scripts by just working on
-	configure.base.
-
-2001-05-30 14:54  thomasvs
-
-	* plugins/filters/passthrough/passthrough.c: added signed support
-	implemented include/gstaudio.h use
-
-2001-05-30 14:25  richardb
-
-	* configure.ac, configure.in: More small changes to bring the two
-	scripts closer together.  Turned off building docs by default in
-	configure.ac.  Only diffs are now essential due to changes from
-	autoconf 2.13 to 2.50.
-
-2001-05-30 13:56  richardb
-
-	* autogen.sh: Deal more gracefully with being either unable to
-	check that automake is patched (will now just give a small
-	warning), or finding that automake definitely isn't patched (will
-	give a big loud warning recommend stopping the build and sleep
-	briefly to give the user a chance to read the message).  Will
-	eventually try to do the build anyway though.
-	
-	Also, don't abort if autoconf or automake return error codes: they
-	both seem able to do so even when having produced viable results.
-
-2001-05-29 23:10  wtay
-
-	* plugins/filters/colorspace/: Makefile.am, colorspace.c,
-	colorspace.h, yuv2rgb.c, yuv2rgb.h: Added more colorspace functions
-	for YUV->RGB
-
-2001-05-29 17:40  richardb
-
-	* autogen.sh: Add checks for appropriate versions of automake.	Add
-	check that automake has been patched if it is a version which
-	requires a patch.  Please check that this doesn't cause problems:
-	it's a bit of a hairy test, so I might well have mucked it up and
-	broken some people's build systems.  Hope not, though. ;-)
-
-2001-05-29 17:39  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - fix for when size can't be
-	acquired (fixes icecast streaming)
-
-2001-05-29 17:38  richardb
-
-	* Makefile.am, configure.ac, configure.in: Add idiot test to stop
-	the installing of versions with plugin srcdir enabled.
-
-2001-05-29 16:19  richardb
-
-	* configure.ac, configure.in: Fix differences between configure.in
-	and configure.ac which were trivial or due merely to formatting
-	differences.  diff can now be used to see only the significant
-	differences, which should be helpful in keeping these two files in
-	sync.
-
-2001-05-29 13:43  richardb
-
-	* gst/Makefile.am.future: Update Makefile.am.future - a replacement
-	for Makefile.am which uses features present in recent versions of
-	automake (>1.4d) to avoid horrendous hackery.
-
-2001-05-29 13:31  richardb
-
-	* acinclude.m4, configure.ac, configure.in: Simplify alsa checking:
-	we can use the standard AM_PATH_ALSA macro to check that we don't
-	have alsa 0.9.x: we just need to specify something for
-	ACTION_NOT_FOUND to override the default AC_MSG_ERROR behaviour, so
-	I've put a colon for ACTION_NOT_FOUND. ;-) Also, update the alsa
-	macro in acinclude with the latest from the alsa project CVS.
-
-2001-05-28 23:23  omegahacker
-
-	* gst/gstsparc.h: fixed #define line continuation in gstsparc.h
-
-2001-05-28 23:02  wtay
-
-	* configure.ac, configure.in: Added a check for gsm/gsm.h
-
-2001-05-28 22:41  omegahacker
-
-	* gst/gstinfo.c: changed debug so it always prints pid and cid in
-	color
-
-2001-05-28 22:02  wtay
-
-	* configure.ac: Removed the -pre0
-
-2001-05-28 22:00  wtay
-
-	* plugins/Makefile.am: Added gsm to subds.
-
-2001-05-28 21:47  wtay
-
-	* configure.ac: Added the refcounting to the output targets.
-
-2001-05-28 21:36  wtay
-
-	* acconfig.h, configure.ac, configure.in: Added a check for libgsm
-
-2001-05-28 21:22  wtay
-
-	* configure.ac: Updated to match configure.in
-
-2001-05-28 21:05  wtay
-
-	* configure.ac: The configure file for autoconf 2.50
-
-2001-05-28 20:59  omegahacker
-
-	* ABOUT-NLS: added blank file to keep autoconf happy, fill it in
-	later
-
-2001-05-28 20:34  omegahacker
-
-	* plugins/avi/Makefile.am: changed srcdir to builddir for .la
-
-2001-05-28 20:33  omegahacker
-
-	* configure.in: attempt at a fixed alsa check to guarantee 0.5.x
-
-2001-05-28 20:09  omegahacker
-
-	* libs/getbits/Makefile.am, libs/idct/Makefile.am,
-	plugins/xvideosink/Makefile.am: distcheck cleanups
-
-2001-05-28 08:46  omegahacker
-
-	* configure.in, gstreamer-uninstalled.pc.in, gstreamer.pc.in,
-	gst/Makefile.am: some fixes to handle builddirs, which distcheck
-	uses, along with complete .pc files
-
-2001-05-28 01:07  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - cleanups
-
-2001-05-28 00:57  omegahacker
-
-	* gst/gstpad.c, gst/gstthread.c, gst/elements/gstidentity.c,
-	plugins/xvideosink/xvideosink.c, tools/gstreamer-inspect.c: Added
-	some caps != NULL checks.  Patched up a problem with the thread
-	handling when the iteration fails.  Cleaned up the output of
-	-inspect a tiny bit.
-
-2001-05-28 00:52  omegahacker
-
-	* configure.in: removed a spare alsa check, and made sure it fails
-	for alsa 0.9.x
-
-2001-05-28 00:12  wtay
-
-	* examples/mixer/Makefile.am: Added the headers
-
-2001-05-28 00:01  wtay
-
-	* plugins/arts/Makefile.am: Add more hardcoded paths for includes.
-
-2001-05-27 23:55  wtay
-
-	* tests/nego/nego1.c: Updated for new API calls.
-
-2001-05-27 23:45  wtay
-
-	* plugins/sdlsink/Makefile.am: Added the header file.
-
-2001-05-27 23:26  wtay
-
-	* configure.in.ac250: Added refcounting to the targets.
-
-2001-05-27 23:25  wtay
-
-	* testsuite/: Makefile.am, capsnego/Makefile.am,
-	refcounting/Makefile.am: Makfeile updates.
-
-2001-05-27 22:56  omegahacker
-
-	* Makefile.am, acconfig.h, configure.in, gst/autoplug/Makefile.am,
-	plugins/1394/Makefile.am, plugins/aasink/Makefile.am,
-	plugins/alaw/Makefile.am, plugins/filters/level/Makefile.am,
-	plugins/filters/passthrough/Makefile.am,
-	plugins/filters/volenv/Makefile.am, plugins/mulaw/Makefile.am,
-	plugins/oss/Makefile.am, plugins/xvideosink/Makefile.am,
-	tests/Makefile.am, testsuite/Makefile.am: various build fixes
-
-2001-05-27 21:52  wtay
-
-	* plugins/Makefile.am: Only build the quiktime plugin if the
-	openquicktime library was found.
-
-2001-05-27 21:52  wtay
-
-	* configure.in, configure.in.ac250: Added a check for
-	openquicktime.
-
-2001-05-27 18:02  sbaker3
-
-	* tools/gstreamer-complete.c: now builds for those who are too lazy
-	to upgrade their xml libraries
-
-2001-05-27 16:13  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - added eos-hack signal to the
-	source, and fix the seek segfaults
-
-2001-05-27 15:41  hadess
-
-	* gstplay/gstmediaplay.glade: - changed the Alt shortcuts to Ctrl
-	shortcuts (like in all proper GTK+ apps)
-
-2001-05-27 15:38  wtay
-
-	* tests/: mp3encode.c, rip.c: Updated for remove methods.
-
-2001-05-27 15:38  wtay
-
-	* test/mp2toavi.c, test/mp2tomp1.c, test/mpeg2parse.c,
-	examples/autoplug/autoplug.c, examples/queue/queue.c: Updated for
-	removed methods.
-
-2001-05-27 15:37  wtay
-
-	* gst/: cothreads.c, cothreads.h, gstbin.c, gstbin.h, gstinfo.c,
-	gstobject.c, gstpad.c, gstplugin.c, gstscheduler.h: Docs updates
-	Changed the cothread to use sigjmp_buf removed some unused methods.
-	 Some code cleanups.
-
-2001-05-27 15:33  wtay
-
-	* docs/gst/: gstreamer-docs.sgml, gstreamer-sections.txt,
-	tmpl/cothreads.sgml, tmpl/gstbin.sgml, tmpl/gstelement.sgml,
-	tmpl/gstfakesink.sgml, tmpl/gstfakesrc.sgml, tmpl/gstinfo.sgml,
-	tmpl/gstobject.sgml, tmpl/gstpad.sgml, tmpl/gstplugin.sgml,
-	tmpl/gstqueue.sgml, tmpl/gstreamer-unused.sgml,
-	tmpl/gstscheduler.sgml, tmpl/gsttrace.sgml: API docs updates.
-
-2001-05-27 01:04  omegahacker
-
-	* gst/gstscheduler.h: fixed up and turned back on
-	GST_SCHEDULE_SAFETY
-
-2001-05-26 23:58  omegahacker
-
-	* gst/: cothreads.c, gstelement.c, gstscheduler.c: fixed cothread
-	locking and set_arg/get_arg safety, and switched to 64 cothreads of
-	32KB
-
-2001-05-26 20:47  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - gnome-vfs seek works, cleaned
-	up
-
-2001-05-26 19:46  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - really use mmap this time for
-	local files, first try at seek in remote files
-
-2001-05-26 18:17  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - added local file fallback with
-	mmap support
-
-2001-05-26 17:41  wtay
-
-	* gst/gstelement.h: Removed redundant prototypes.
-
-2001-05-26 17:33  wtay
-
-	* gst/gstpad.h: Fixed a bug in the typecast macros for
-	padtemplates.
-
-2001-05-26 13:17  wtay
-
-	* gst/elements/Makefile.am: don't link against libgst.la because it
-	seems to fail on some libtool versions.
-
-2001-05-26 06:36  omegahacker
-
-	* tests/threadlock.c: shut up fakesrc and fakesink, changed
-	sleeping a little
-
-2001-05-26 06:26  omegahacker
-
-	* tests/threadlock.c: moved debug to before _init so cmdline can
-	override, and put sleep(1)'s in while(1) to increase chance of
-	contention (I think)
-
-2001-05-26 06:19  omegahacker
-
-	* tests/threadlock.c: updated threadlock to actually be a thread
-	locking test
-
-2001-05-26 00:36  dlehn
-
-	* test/lat.c: Elements must have different names.
-
-2001-05-25 23:08  hadess
-
-	* gstplay/.cvsignore: - more generic files to exclude: *~ and ~.bak
-
-2001-05-25 23:02  hadess
-
-	* gstplay/.cvsignore: - added gstmediaplay.glade.bak to the files
-	to ignore
-
-2001-05-25 23:01  hadess
-
-	* gstplay/gstmediaplay.glade: - updated (c) date, and added WMClass
-	and WMName to the gstmediaplay windows
-
-2001-05-25 22:42  wtay
-
-	* gst/gstplugin.c: Removed a stupid printf.
-
-2001-05-25 22:39  wtay
-
-	* gst/: gstbuffer.h, gstelement.c, gstpipeline.c, gstplugin.c: Some
-	cleanups.  Removed some bogus code from element and pipeline
-	elements.  Fixed a typo.
-
-2001-05-25 22:38  wtay
-
-	* gst/elements/Makefile.am: Added GST_LIBS to LIBADD.
-
-2001-05-25 22:35  omegahacker
-
-	* gst/gstbuffer.c: fixed rather heinous bug in gst_buffer_copy
-
-2001-05-25 22:31  omegahacker
-
-	* gst/autoplug/gstautoplugcache.c: removed some more noise,
-	converted to GST_DEBUG
-
-2001-05-25 22:25  omegahacker
-
-	* gst/gstelement.c: removed annoying debug message during state
-	change (made GST_DEBUG)
-
-2001-05-25 22:13  hadess
-
-	* autogen.sh: - added a line for busy application developers, it's
-	shorter this time
-
-2001-05-25 22:00  omegahacker
-
-	* .cvsignore, AUTHORS, Makefile.am, autogen.sh, configure.in,
-	gstreamer-uninstalled.pc.in, gstreamer.pc.in, gstreamer.spec.in,
-	docs/gst/tmpl/cothreads.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstfakesrc.sgml, docs/gst/tmpl/gstthread.sgml,
-	docs/random/matth/scheduling.txt, examples/Makefile.am,
-	examples/autoplug/autoplug.c, examples/mixer/mixer.c,
-	gst/Makefile.am, gst/cothreads.c, gst/cothreads.h, gst/gst.c,
-	gst/gst.h, gst/gstbin.c, gst/gstbin.h, gst/gstbuffer.c,
-	gst/gstcaps.c, gst/gstclock.c, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstinfo.c, gst/gstinfo.h,
-	gst/gstobject.c, gst/gstobject.h, gst/gstpad.c, gst/gstpad.h,
-	gst/gstpipeline.c, gst/gstprops.c, gst/gstqueue.c, gst/gstqueue.h,
-	gst/gstscheduler.c, gst/gstscheduler.h, gst/gstthread.c,
-	gst/gstthread.h, gst/gsttype.c, gst/gsttypefind.c, gst/gsttypes.h,
-	gst/gstxml.c, gst/autoplug/Makefile.am,
-	gst/autoplug/autoplugtest.c, gst/autoplug/gstautoplugcache.c,
-	gst/autoplug/gstautoplugger.c, gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, gst/elements/gstfakesrc.c,
-	gst/elements/gstfakesrc.h, gst/elements/gstsinesrc.c,
-	gstplay/Makefile.am, gstplay/gstmediaplay.c,
-	gstplay/gstmediaplay.glade, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, libs/idct/gstidct.c,
-	plugins/1394/dv1394src.c, plugins/alaw/alaw-conversion.c,
-	plugins/arts/Makefile.am, plugins/arts/gst_arts.c,
-	plugins/esd/esdsink/esdsink.c, plugins/filters/Makefile.am,
-	plugins/filters/adder/adder.c,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/gnomevfs/gnomevfssrc.c, plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpegaudio/common.c,
-	plugins/mpeg1/mpegaudio/musicin.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c, plugins/oss/gstosssink.c,
-	plugins/videoscale/videoscale.c, plugins/vorbis/vorbis.c,
-	plugins/vorbis/vorbisdec.c, plugins/xmms/gstxmmsinput.c,
-	test/.cvsignore, test/Makefile.am, test/avi2mpg.c, test/cobin.c,
-	test/dvshow.c, test/fake.c, test/mpeg2parse2.c, test/mpeg2parse3.c,
-	test/mpeg2parse4.c, test/video2mp1.c, test/videotest2.c,
-	tests/Makefile.am, tests/incsched.c, tests/mp1vid.c,
-	tests/reaping.c, tests/states.c, tests/threadlock.c,
-	testsuite/refcounting/Makefile.am, testsuite/refcounting/bin.c,
-	testsuite/refcounting/element.c,
-	testsuite/refcounting/element_pad.c, testsuite/refcounting/mem.c,
-	testsuite/refcounting/mem.h, testsuite/refcounting/object.c,
-	testsuite/refcounting/pad.c, testsuite/refcounting/thread.c,
-	tools/.cvsignore, tools/Makefile.am, tools/gstreamer-complete.c,
-	tools/gstreamer-compprep.c, tools/gstreamer-inspect.c: Merged from
-	INCSCHED on 200505251!!!
-
-2001-05-25 21:50  omegahacker
-
-	* autogen.sh, configure.in.ac250, docs/manual/autoplugging.sgml,
-	gst/elements/gstfakesink.h, gst/elements/gstfakesrc.h,
-	plugins/audiofile/Makefile.am, plugins/audiofile/README,
-	plugins/audiofile/gstafsink.c, plugins/audiofile/gstafsink.h,
-	plugins/audiofile/gstafsrc.c, plugins/audiofile/gstafsrc.h,
-	plugins/filters/level/level.c,
-	plugins/filters/passthrough/filter.func,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/passthrough/passthrough.h,
-	plugins/gnomevfs/gnomevfssrc.c, plugins/gsm/Makefile.am,
-	plugins/gsm/gstgsm.c, plugins/gsm/gstgsmdec.c,
-	plugins/gsm/gstgsmdec.h, plugins/gsm/gstgsmenc.c,
-	plugins/gsm/gstgsmenc.h, plugins/oss/gstossgst.c,
-	plugins/wav/gstparsewav.c, test/dv2mp1.c, test/dvshow.c: Merged
-	from HEAD into INCSCHED on 200105251
-
-2001-05-25 21:41  wtay
-
-	* docs/manual/autoplugging.sgml: More docs updates.
-
-2001-05-25 21:41  wtay
-
-	* test/: dv2mp1.c, dvshow.c: some minor fixes..
-
-2001-05-25 21:39  wtay
-
-	* plugins/gnomevfs/gnomevfssrc.c: Fix a leak on EOS.
-
-2001-05-25 20:53  wtay
-
-	* test/Makefile.am: Cleaned up the makefile a bit.
-
-2001-05-25 20:36  wtay
-
-	* test/: cobin.c, fake.c: Remove deprecated methods.
-
-2001-05-25 20:19  wtay
-
-	* gst/: gstbin.c, gstbin.h, gstpad.c: Removed some unused functions
-	in gstbin Fixed a compiler warning.
-
-2001-05-25 20:16  omegahacker
-
-	* gst/gstthread.c: forgot to unset SPINNING, no idea how it worked
-	before, maybe this will fix wtay's case
-
-2001-05-25 19:07  wtay
-
-	* plugins/filters/ladspa/gstladspa.c: Adjusted for state
-	reorderings.
-
-2001-05-25 18:35  omegahacker
-
-	* gst/gstbin.c, gst/gstelement.c, gst/gstelement.h, gst/gstinfo.c,
-	gst/gstqueue.c, gst/gstscheduler.c, gst/gstthread.c,
-	plugins/1394/dv1394src.c, plugins/arts/gst_arts.c,
-	plugins/esd/esdsink/esdsink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/mp3decode/types/mp3types.c, plugins/oss/gstosssink.c,
-	plugins/xmms/gstxmmsinput.c: Swapped PAUSED and PLAYING states,
-	reworked thread interlocking.  States are now: NULL <-> READY <->
-	PAUSED <-> PLAYING.
-	
-	Had do update dv1394src, gst_arts, and xmmsinput, please test these
-	out!
-	
-	Cleaned up DEBUG output in several places to by much much less
-	verbose but still just as useful (denser).
-
-2001-05-25 17:21  thomasvs
-
-	* plugins/filters/passthrough/: filter.func, passthrough.c,
-	passthrough.h: Cleaned out level code from passthrough plugin added
-	silent argument, defaults to false
-
-2001-05-25 17:19  thomasvs
-
-	* plugins/audiofile/gstafsink.c: cleaned up output info
-
-2001-05-25 17:17  thomasvs
-
-	* plugins/filters/level/level.c: cleaned up level plugin output
-
-2001-05-25 15:02  thomasvs
-
-	* plugins/audiofile/: gstafsink.c, gstafsrc.c: cleaned up output
-	got rate and signedness to work on afsrc
-
-2001-05-25 14:42  thomasvs
-
-	* plugins/audiofile/README: a little info
-
-2001-05-25 11:43  wtay
-
-	* test/: avi2mpg.c, dvshow.c, fake.c, videotest2.c: Small fixes to
-	various test apps.
-
-2001-05-25 11:43  wtay
-
-	* gstplay/gstplay.c: If the arg looks like a URI, gnomevfs is used,
-	if gnomevfs is not found and the URI starts with file:/, disksrc is
-	used.
-
-2001-05-25 11:10  thomasvs
-
-	* plugins/filters/passthrough/passthrough.c: changed passthrough to
-	print out signed/unsigned and endianness
-
-2001-05-25 10:47  thomasvs
-
-	* plugins/audiofile/: Makefile.am, gstafsrc.c, gstafsrc.h: Added an
-	audiofile src element, doesn't work yet
-
-2001-05-25 05:42  dlehn
-
-	* configure.in.ac250: automake 1.4-p1 doesn't support
-	AC_CONFIG_FILES.  revert to AC_OUTPUT until the fix in the just
-	released 1.4-p2 gets debianized. ;)
-
-2001-05-25 02:28  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - check result of open() now
-
-2001-05-25 01:35  wtay
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: Only accept mpeg1 data for
-	mpeg2dec until we figure out what's wrong.
-
-2001-05-25 01:29  omegahacker
-
-	* gst/: gstpad.c, gstqueue.c, gstqueue.h, gstscheduler.h,
-	gstthread.c: fixed some interruptability problems with thread and
-	queue
-
-2001-05-25 01:14  wtay
-
-	* plugins/vorbis/: vorbis.c, vorbisdec.c: Added the
-	COTHREAD_STOPPING hack.
-
-2001-05-25 01:09  wtay
-
-	* gstplay/: gstmediaplay.c, gstplay.c, gstplayprivate.h: Fixed the
-	media player so that it works with incsched.  Removed the thread
-	and add the _iterate to the g_idle_loop, this makes the GUI very
-	cluncky but is needed because we cannot chance the state of a
-	thread inside the threads context yet.
-
-2001-05-24 23:38  thomasvs
-
-	* plugins/audiofile/gstafsink.c: mental note to self:	doublecheck
-	own code before sending mail to library author asking why   sample
-	rate setting on output doesn't work...	note to others:  afsink now
-	handles samplerate right
-
-2001-05-24 23:24  thomasvs
-
-	* plugins/audiofile/: gstafsink.c, gstafsink.h: added more support
-	for endianness, you can set it through an arg until I figure out
-	what it is supposed to do
-
-2001-05-24 23:23  thomasvs
-
-	* plugins/oss/gstossgst.c: one of my OSS's doesn't have FMT_AC3
-	defined
-
-2001-05-24 22:46  omegahacker
-
-	* gst/: gstinfo.h, gstthread.c, gstthread.h: added better thread id
-	debugging support
-
-2001-05-24 21:36  omegahacker
-
-	* gst/gstthread.c: fixed thread lock mis-merge
-
-2001-05-24 21:20  wtay
-
-	* gst/autoplug/gststaticautoplugrender.c: Added the queue to the
-	thread
-
-2001-05-24 12:24  wtay
-
-	* configure.in.ac250: Added the autoconf file for version 2.50
-
-2001-05-24 12:22  wtay
-
-	* plugins/: gnomevfs/gnomevfssrc.c, gsm/Makefile.am, gsm/gstgsm.c,
-	gsm/gstgsmdec.c, gsm/gstgsmdec.h, gsm/gstgsmenc.c, gsm/gstgsmenc.h,
-	wav/gstparsewav.c: Small fixes for EOS in gnomevfssrc.	Added a gsm
-	decoder/encoder element.
-
-2001-05-24 01:55  thomasvs
-
-	* plugins/audiofile/: gstafsink.c, gstafsink.h: audiofile now
-	handles endianness right, and also allows for choosing the output
-	file format to write (next/aiff/wav/aiffc/raw) aiff and next might
-	not work yet though
-
-2001-05-24 01:46  omegahacker
-
-	* AUTHORS, README, REQUIREMENTS, acconfig.h, autogen.sh,
-	configure.in, components/bonobo-media/Makefile.am,
-	components/bonobo-media/bonobo-media-gstreamer-factory.c,
-	components/bonobo-media/bonobo-media-gstreamer.gob,
-	components/bonobo-media/bonobo-media-gstreamer.oafinfo,
-	components/bonobo-media/bonobo-media-gstreamervideo.gob,
-	debian/Makefile.am, debian/changelog, debian/control,
-	debian/gstreamer-aa.files, debian/gstreamer-arts.files,
-	debian/gstreamer-colorspace.files, debian/gstreamer-common.files,
-	debian/gstreamer-mad.files, debian/rules,
-	docs/fwg/gst-plugin-writers-guide.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstinfo.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstprops.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/manual/Makefile.am, docs/manual/autoplugging.sgml,
-	docs/manual/bins.sgml, docs/manual/buffers.sgml,
-	docs/manual/elements.sgml, docs/manual/gstreamer-manual.sgml,
-	docs/manual/helloworld.sgml, docs/manual/pads.sgml,
-	docs/manual/xml.sgml, docs/random/autoplug2,
-	editor/gsteditorproperty.c, examples/autoplug/autoplug.c,
-	examples/plugins/example.c, gst/cothreads.c, gst/cothreads.h,
-	gst/gst.h, gst/gstbin.c, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstinfo.h, gst/gstpad.c, gst/gstpad.h, gst/gstparse.c,
-	gst/gstpipeline.c, gst/gstplugin.c, gst/gstprops.c, gst/gstprops.h,
-	gst/gstscheduler.c, gst/gstthread.c, gst/gsttrace.c,
-	gst/gsttrace.h, gst/gsttypefind.c, gst/gstutils.c,
-	gst/autoplug/Makefile.am, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gst/elements/gstfakesink.c,
-	gst/elements/gstfakesrc.c, gst/elements/gstfakesrc.h,
-	gst/elements/gstpipefilter.c, gst/elements/gstsinesrc.c,
-	gst/elements/gstsinesrc.h, gstplay/AUTHORS, gstplay/ChangeLog,
-	gstplay/Makefile.am, gstplay/callbacks.c, gstplay/callbacks.h,
-	gstplay/full-screen.c, gstplay/full-screen.h,
-	gstplay/gstmediaplay.c, gstplay/gstmediaplay.glade,
-	gstplay/gstmediaplay.h, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, gstplay/gststatusarea.c,
-	gstplay/gststatusarea.h, gstplay/main.c, libs/idct/ieeetest.c,
-	plugins/Makefile.am, plugins/alsa/alsa.h,
-	plugins/alsa/alsa_common.c, plugins/alsa/alsasink.c,
-	plugins/alsa/alsasrc.c, plugins/arts/gst_artsio_impl.h,
-	plugins/audiofile/Makefile.am, plugins/audiofile/gstafsink.c,
-	plugins/audiofile/gstafsink.h, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, plugins/cdparanoia/cdparanoia.c,
-	plugins/dv/dvdec.c, plugins/effects/volume/volume.c,
-	plugins/esd/esdsink/esdsink.c, plugins/filters/Makefile.am,
-	plugins/filters/filterstamp.sh, plugins/filters/adder/Makefile.am,
-	plugins/filters/adder/adder.c,
-	plugins/filters/colorspace/Makefile.am,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/colorspace/yuv2yuv.c,
-	plugins/filters/intfloatconvert/Makefile.am,
-	plugins/filters/intfloatconvert/float2int.c,
-	plugins/filters/intfloatconvert/float2int.h,
-	plugins/filters/intfloatconvert/int2float.c,
-	plugins/filters/intfloatconvert/int2float.h,
-	plugins/filters/intfloatconvert/intfloatconvert.c,
-	plugins/filters/intfloatconvert/intfloatconvert.h,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/ladspa/ladspa.h, plugins/filters/lav/.cvsignore,
-	plugins/filters/lav/Makefile.am, plugins/filters/lav/lavencode.c,
-	plugins/filters/lav/lavencode.h, plugins/filters/level/Makefile.am,
-	plugins/filters/level/README, plugins/filters/level/filter.func,
-	plugins/filters/level/level.c, plugins/filters/level/level.h,
-	plugins/filters/mono2stereo/Makefile.am,
-	plugins/filters/mono2stereo/mono2stereo.c,
-	plugins/filters/mono2stereo/mono2stereo.h,
-	plugins/filters/passthrough/README,
-	plugins/filters/passthrough/filter.func,
-	plugins/filters/passthrough/level.c,
-	plugins/filters/passthrough/level.h,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/passthrough/passthrough.h,
-	plugins/filters/stereo2mono/Makefile.am,
-	plugins/filters/volenv/Makefile.am,
-	plugins/filters/volenv/volenv.c, plugins/gnomevfs/Makefile.am,
-	plugins/gnomevfs/gnomevfssink.c, plugins/gnomevfs/gnomevfssrc.c,
-	plugins/jpeg/Makefile.am, plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mpeg1/mpegaudio/common.c,
-	plugins/mpeg1/mpegaudio/common.h, plugins/mpeg1/mpegaudio/encode.c,
-	plugins/mpeg1/mpegaudio/encoder.h,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/musicin.c,
-	plugins/mpeg1/mpegaudio/musicin.h, plugins/mpeg1/mpegaudio/psy.c,
-	plugins/mpeg1/mpegaudio/subs.c,
-	plugins/mpeg1/mpegaudio/table_absthr.h,
-	plugins/mpeg1/mpegaudio/table_cb.h,
-	plugins/mpeg1/mpegaudio/table_enwindow.h,
-	plugins/mpeg1/mpegaudio/table_th.h,
-	plugins/mpeg1/mpegaudio/tables.c, plugins/mpeg1/mpegaudio/tonal.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c, plugins/oss/Makefile.am,
-	plugins/oss/gstossaudio.c, plugins/oss/gstossgst.c,
-	plugins/oss/gstossgst.h, plugins/oss/gstosshelper.c,
-	plugins/oss/gstosshelper.h, plugins/oss/gstosssink.c,
-	plugins/quicktime/Makefile.am, plugins/quicktime/README,
-	plugins/quicktime/gstquicktimedecoder.c,
-	plugins/quicktime/gstquicktimedecoder.h,
-	plugins/sdlsink/Makefile.am, plugins/sdlsink/sdlvideosink.c,
-	plugins/sdlsink/sdlvideosink.h, plugins/videoscale/videoscale.c,
-	plugins/vorbis/vorbis.c, plugins/vorbis/vorbisdec.c,
-	plugins/vorbis/vorbisenc.c, plugins/vorbis/vorbisenc.h,
-	plugins/wav/gstparsewav.c, plugins/xvideosink/gstximage.c,
-	test/.cvsignore, test/Makefile.am, test/lat.c, test/mp3mad.c,
-	test/videotest.c, test/wave.c, tests/autoplug2.c,
-	tests/sched/runxml.c, tools/gstreamer-inspect.c,
-	tools/gstreamer-launch.c: Merge from HEAD into INCSCHED1 at
-	200105231.
-
-2001-05-24 00:24  dlehn
-
-	* gst/elements/: gstfakesink.h, gstfakesrc.h: Update some signal
-	func vars.
-
-2001-05-24 00:23  dlehn
-
-	* autogen.sh: libtool check fix... copy & paste error msgs code
-	could be improved.
-
-2001-05-23 21:35  wtay
-
-	* test/video2mp1.c: Some small modifications.
-
-2001-05-23 20:53  omegahacker
-
-	* plugins/oss/gstosssink.c: default settings are intenionally very
-	wrong (make it obvious when the capsnego didn't work) and it checks
-	for NULL props
-
-2001-05-23 20:52  omegahacker
-
-	* plugins/filters/stereo2mono/stereo2mono.c: 'fixed' the caps and
-	the _init function
-
-2001-05-23 20:50  omegahacker
-
-	* plugins/cdparanoia/cdparanoia.c: fixed caps on cdparanoia
-
-2001-05-23 20:49  omegahacker
-
-	* gst/gstscheduler.c, plugins/mp3decode/mad/gstmad.c: fixed problem
-	where mad wasn't an entry (it is now HACK HACK!!) and the scheduler
-	wasn't catching the no entry case
-
-2001-05-23 20:48  omegahacker
-
-	* examples/autoplug/autoplug.c: added have_size handler so the
-	window matches the video size
-
-2001-05-23 20:09  omegahacker
-
-	* gst/: gstqueue.c, gstqueue.h: reworked internal parameters a bit,
-	added leaky-queue semantics
-
-2001-05-23 10:18  thomasvs
-
-	* plugins/filters/level/README: some more info on how to plot the
-	level using gnuplot it would be nice if the output from level
-	plugin could serve as input to a gstreamer plotting plugin (I'm not
-	kidding)
-
-2001-05-23 09:49  thomasvs
-
-	* plugins/audiofile/: gstafsink.c, gstafsink.h: afsink now handles
-	channels and sample rate
-
-2001-05-23 09:48  thomasvs
-
-	* configure.in: added level Makefile deleted one of two instances
-	of adder Makefile
-
-2001-05-23 09:47  thomasvs
-
-	* plugins/filters/Makefile.am: added level plugin to Makefile.am
-
-2001-05-23 09:47  thomasvs
-
-	* plugins/filters/level/: Makefile.am, README, filter.func,
-	level.c, level.h: Added level detection plugin; prints out RMS
-	values calculated over buffer size to stdout
-
-2001-05-22 21:11  omegahacker
-
-	* tests/states.c: fixed references to _gst_print_statename
-
-2001-05-22 20:22  hadess
-
-	* gst/elements/gstdisksrc.c: - it is now possible to change the
-	opened file when state is PAUSED
-
-2001-05-22 19:57  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - removed warnings
-
-2001-05-22 19:44  hadess
-
-	* plugins/gnomevfs/gnomevfssrc.c: - adding possibility to change
-	the src file if the state is PAUSED
-
-2001-05-22 17:48  thomasvs
-
-	* plugins/audiofile/: gstafsink.c, gstafsink.h: still trying to add
-	caps to gstafsink
-
-2001-05-22 14:48  richardb
-
-	* autogen.sh: autogen.sh now fails if aclocal fails.
-
-2001-05-22 13:56  hadess
-
-	* autogen.sh: - added a line to autogen.sh for the busy application
-	developers
-
-2001-05-22 02:42  omegahacker
-
-	* gst/: gstpad.c, autoplug/gstautoplugger.c: Added ability for
-	caps_nego_failed signal to indicate that it's solved the problem,
-	via a gboolean * argument that's FALSE, and can be set to TRUE if
-	the handler has fixed things up.
-	
-	Updated the autoplugger so it now works in both the unknown and
-	known cases with and without other issues like a crippled
-	(mono-only) osssink.
-
-2001-05-22 00:23  omegahacker
-
-	* gst/: gstbin.c, gstelement.c, gstelement.h, gstinfo.c, gstpad.c,
-	gstthread.c: Updates to DEBUG system: moved statename into
-	gstelement.c, colorized the states:
-	
-	NULL: white READY: read PAUSED: yellow PLAYING: green
-
-2001-05-21 22:35  omegahacker
-
-	* gst/autoplug/gstautoplugger.c: fixed up pausing system, and added
-	src_caps_nego_failed body
-
-2001-05-21 21:17  wtay
-
-	* acconfig.h, configure.in: Updates to the audiofile detection
-	stuff.
-
-2001-05-21 21:17  wtay
-
-	* plugins/audiofile/Makefile.am: Some minor changes to the makefile
-
-2001-05-21 20:48  thomasvs
-
-	* plugins/audiofile/: Makefile.am, gstafsink.c, gstafsink.h: first
-	pass at an audiofile sink this sink uses the SGI audiofile library
-	to write audio files
-
-2001-05-21 20:42  thomasvs
-
-	* plugins/Makefile.am: trying to add a check for libaudiofile
-
-2001-05-21 20:40  thomasvs
-
-	* configure.in: trying to add a check for libaudiofile (->
-	plugins/audiofile/afsink)
-
-2001-05-21 03:41  omegahacker
-
-	* gst/autoplug/: gstautoplugcache.c, gstautoplugger.c:
-	gstautoplugcache.c: Set default for cache's caps_proxy to FALSE
-	again.	gstautoplugger.c: Fixed with strategic positioning of
-	gst_pad_set_caps()
-
-2001-05-21 03:40  omegahacker
-
-	* gst/: gstcaps.c, gstpad.c, gstprops.c: Updated some debug
-	statements.  Added specific debug for int props.
-
-2001-05-21 03:35  hadess
-
-	* test/mp3mad.c: - removed the parse factory, it's unused
-
-2001-05-21 02:37  cael
-
-	* gstplay/: ChangeLog, gstmediaplay.glade: Added a ChangeLog as per
-	hadess' sugesstion, and added myself as an author.
-
-2001-05-21 02:19  cael
-
-	* gstplay/: Makefile.am, callbacks.c, callbacks.h, full-screen.c,
-	full-screen.h, gstmediaplay.c, gstmediaplay.glade, gstmediaplay.h,
-	gstplay.c, gstplay.h, gstplayprivate.h, gststatusarea.c,
-	gststatusarea.h, main.c: added the begninnings of full-screen
-	support (crashes atm), playing at double size, general code cleanup
-	and what not.
-
-2001-05-20 22:24  wtay
-
-	* tools/gstreamer-inspect.c: Fixed a problem with -inspect where
-	some args would not show up correctly
-
-2001-05-20 22:24  thomasvs
-
-	* plugins/filters/adder/adder.c: fixed caps stuff
-
-2001-05-20 21:12  wtay
-
-	* tools/gstreamer-inspect.c: Better output of element flags.
-
-2001-05-20 21:06  wtay
-
-	* tools/gstreamer-launch.c: Escape spaces in the cmdline args with
-	"\\ " so that parse can handle it.
-
-2001-05-20 21:05  wtay
-
-	* gst/gstparse.c: Added the possibility to escape chars in
-	gstparse. You can now give it a cmdline like disksrc location=some\
-	sort\ of.mp3 ! .... and it does the right thing.
-
-2001-05-20 19:59  wtay
-
-	* plugins/quicktime/: Makefile.am, gstquicktimedecoder.c,
-	gstquicktimedecoder.h: Updated the plugin to the current CVS.
-
-2001-05-20 19:24  wtay
-
-	* plugins/quicktime/: Makefile.am, README, gstquicktimedecoder.c,
-	gstquicktimedecoder.h: Added a quicktime decoder by yann@3ivx.com.
-
-2001-05-20 19:17  thomasvs
-
-	* plugins/filters/passthrough/passthrough.c: changed pad templates
-
-2001-05-20 19:05  thomasvs
-
-	* plugins/filters/passthrough/: passthrough.c, passthrough.h:
-	updating passthrough to handle caps
-
-2001-05-20 19:01  thomasvs
-
-	* plugins/filters/volenv/volenv.c: updating caps handling
-
-2001-05-20 16:45  thomasvs
-
-	* plugins/filters/passthrough/passthrough.c: trying to add caps
-	detection to passthrough
-
-2001-05-20 15:55  thomasvs
-
-	* gst/gstparse.c: reinstated exit(-1) when gstparse.c doesn't find
-	the plugin mentioned
-
-2001-05-20 15:16  thomasvs
-
-	* plugins/wav/gstparsewav.c: parsewav now does src pad setting of
-	width, depth, channels, frequency
-
-2001-05-20 15:12  wtay
-
-	* gst/elements/gstpipefilter.c: Made pipefilter a DECOUPLED
-	element.
-
-2001-05-20 15:03  thomasvs
-
-	* plugins/wav/gstparsewav.c: parsewav sets channel capability now
-
-2001-05-20 14:56  thomasvs
-
-	* plugins/wav/gstparsewav.c: First try at updating parsewav and
-	setting caps on src pad
-
-2001-05-20 11:31  wtay
-
-	* components/bonobo-media/: Makefile.am,
-	bonobo-media-gstreamer-factory.c, bonobo-media-gstreamer.gob,
-	bonobo-media-gstreamer.oafinfo, bonobo-media-gstreamervideo.gob:
-	Added the code for the bonobo media component. It doesn't really
-	work yet because bonobo-media doesn't show video.
-
-2001-05-20 06:48  cael
-
-	* gstplay/AUTHORS: finally managed to get the AUTHORS file added.
-	big things are coming allright ;-)
-
-2001-05-20 01:16  hadess
-
-	* AUTHORS: - added myself to the AUTHORS file
-
-2001-05-19 19:17  wtay
-
-	* plugins/: oss/gstosssink.c, vorbis/vorbis.c, vorbis/vorbisdec.c,
-	vorbis/vorbisenc.c, vorbis/vorbisenc.h, xvideosink/gstximage.c:
-	More updates to caps in vorbisenc. it now correctly sets up the
-	encoder based on the input audio type.
-
-2001-05-19 15:16  wtay
-
-	* plugins/: mp3decode/mad/gstmad.c, mpeg1/mpegaudio/common.c,
-	mpeg1/mpegaudio/common.h, mpeg1/mpegaudio/encode.c,
-	mpeg1/mpegaudio/encoder.h, mpeg1/mpegaudio/gstmpegaudio.c,
-	mpeg1/mpegaudio/musicin.c, mpeg1/mpegaudio/musicin.h,
-	mpeg1/mpegaudio/psy.c, mpeg1/mpegaudio/subs.c,
-	mpeg1/mpegaudio/table_absthr.h, mpeg1/mpegaudio/table_cb.h,
-	mpeg1/mpegaudio/table_enwindow.h, mpeg1/mpegaudio/table_th.h,
-	mpeg1/mpegaudio/tables.c, mpeg1/mpegaudio/tonal.c: More mp3
-	updates.  Make mpegaudio use a sane namespace for all exported
-	symbols.  the mad element can now play mpeg audio comming is as
-	frames.
-
-2001-05-19 07:39  omegahacker
-
-	* .cvsignore, Makefile.am, configure.in,
-	gstreamer-uninstalled.pc.in: Added gstreamer-uninstalled.pc.in in
-	prep for future changes to pkg-config.	Disabled docs building by
-	default (--enable-docs-build to turn it on).  Added more visible
-	warning messages for lacking libraries, listing the plugins that
-	won't build (not complete!).
-
-2001-05-19 07:39  omegahacker
-
-	* gstreamer-uninstalled.pc.in: file gstreamer-uninstalled.pc.in was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-19 01:33  wtay
-
-	* plugins/: mp3decode/mad/gstmad.c, mp3decode/mpg123/gstmpg123.c,
-	mp3decode/parse/mp3parse.c, mp3encode/lame/gstlame.c,
-	mpeg1/mpegaudio/common.h, mpeg1/mpegaudio/encoder.h,
-	mpeg1/mpegaudio/gstmpegaudio.c, mpeg1/mpegaudio/musicin.c,
-	mpeg1/mpegaudio/musicin.h, mpeg1/mpegaudio/psy.c, oss/gstosssink.c:
-	Updates to various mp3 related plugins.  Added args and capsnego to
-	mpegaudio.
-
-2001-05-18 19:11  wtay
-
-	* plugins/esd/esdsink/esdsink.c: Added newcaps functions to esdsink
-	to sync with the provided caps.
-
-2001-05-18 18:58  wtay
-
-	* plugins/cdparanoia/cdparanoia.c: Updated to the new caps.
-
-2001-05-17 23:00  omegahacker
-
-	* gst/autoplug/gstautoplugger.c: update to latest code, includes
-	caps_fail handlers that kinda work
-
-2001-05-17 06:20  dlehn
-
-	* docs/gst/gstreamer-sections.txt: Pesky nightly doc build failure
-	emails exposing my forgetfulness...
-
-2001-05-17 01:18  hadess
-
-	* plugins/gnomevfs/: Makefile.am, gnomevfssink.c: - gnomevfssink
-	committed
-
-2001-05-16 23:42  wtay
-
-	* acconfig.h: Added SDL.
-
-2001-05-16 23:40  wtay
-
-	* configure.in: Added a check for SDL
-
-2001-05-16 23:09  wtay
-
-	* testsuite/refcounting/thread.c: file thread.c was initially added
-	on branch BRANCH-INCSCHED1.
-
-2001-05-16 23:09  wtay
-
-	* testsuite/refcounting/thread.c: Added thread refcounting and
-	module test case
-
-2001-05-16 23:08  wtay
-
-	* testsuite/refcounting/: Makefile.am, bin.c: More testsuite
-	updates
-
-2001-05-16 23:08  wtay
-
-	* gst/: gstbin.c, gstelement.c, gstthread.c: Slighly take a
-	different approach for object destruction, using the real _remove
-	functions so that the scheduler has a chance to destroy its state
-	too.  This breaks the thread with ghostpads destruction case for
-	now.
-
-2001-05-16 22:42  omegahacker
-
-	* plugins/filters/stereo2mono/stereo2mono.c: fixed
-	stereo2mono_init, it was fragging its src pad
-
-2001-05-16 22:21  omegahacker
-
-	* plugins/filters/stereo2mono/stereo2mono.c: fixed up caps so
-	autoplug can do something with it
-
-2001-05-16 22:19  omegahacker
-
-	* gst/autoplug/gstautoplugcache.c: added first_buffer signal, and
-	default to caps_proxy true
-
-2001-05-16 22:18  omegahacker
-
-	* gst/autoplug/gstautoplugger.c: up to latest (broken) autoplugger)
-
-2001-05-16 21:41  wtay
-
-	* plugins/: Makefile.am, jpeg/Makefile.am, sdlsink/Makefile.am,
-	sdlsink/sdlvideosink.c, sdlsink/sdlvideosink.h: Added an SDL video
-	sink by Ronald Bultje (BBB) some cleanups and added more caps to
-	the template.  some name changes to the jpeg decoder.
-
-2001-05-16 20:32  wtay
-
-	* plugins/: Makefile.am, gnomevfs/Makefile.am,
-	gnomevfs/gnomevfssrc.c: Added the gnomevfssrc by hadess
-
-2001-05-16 20:32  wtay
-
-	* configure.in: Added gnomevfs checks.
-
-2001-05-16 08:16  dlehn
-
-	* gst/: cothreads.c, gstscheduler.c: - Fix cothread pointers and
-	allocation so full 2M stack space available: - Double maximums to
-	use full stack space: - COTHREAD_STACKSIZE = 16k -
-	COTHREAD_MAXTHREADS = 128 - cothread changes only verified on x86 -
-	cothread_create returns NULL if nthreads == MAXTHREADS though not
-	yet handled by gstschedule caller
-
-2001-05-16 06:04  dlehn
-
-	* acconfig.h, configure.in, gst/gsttrace.c, gst/gsttrace.h,
-	libs/idct/ieeetest.c, test/lat.c: - basic arch check for HAVE_RDTSC
-	- use common gst_trace_read_tsc() for RDTSC call - add untested
-	function to do ascii dump of trace data
-
-2001-05-16 05:07  dlehn
-
-	* test/: videotest.c, wave.c: fix a couple warnings
-
-2001-05-15 22:04  wtay
-
-	* plugins/mp3decode/mad/gstmad.c: Make the mad decoder output the
-	samples in the native endianness.
-
-2001-05-15 20:25  wtay
-
-	* gst/: gstobject.c, gstpad.c, gstthread.c: Added ghostpad
-	destruction.
-
-2001-05-15 10:40  omegahacker
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: added the detail that
-	mpeg2dec can play mpeg1 streams too
-
-2001-05-15 10:04  omegahacker
-
-	* gstplay/: gstplay.c, main.c: added ability to write out xml copy
-	of pipeline
-
-2001-05-15 05:13  omegahacker
-
-	* gst/autoplug/gstautoplugger.c: IT WORKS\!\!\!
-
-2001-05-15 02:45  omegahacker
-
-	* gst/: gstinfo.c, gstpad.c, gsttypefind.c,
-	autoplug/gstautoplugcache.c, autoplug/gstautoplugger.c: gstinfo.c:
-	one more check to make sure DEBUG_FUNCPTR_NAME doesn't go south
-	gstpad.c: debugging changes gsttypefind.c: moved gst_pad_set_caps
-	to *before* the caps_changed signal gstautoplugcache.c: added
-	refcounting around signal_emit, and debug updates gstautoplugger.c:
-	added code to remove the autoplugcache when done
-
-2001-05-14 23:42  wtay
-
-	* gst/gsttypefind.c: Added a reference to typefind.
-
-2001-05-14 23:21  omegahacker
-
-	* gst/gstpad.c: enhanced debug and minor code cleanup (no
-	functional changes)
-
-2001-05-14 22:57  wtay
-
-	* gst/gstelement.c: Refcounting fixes
-
-2001-05-14 22:22  wtay
-
-	* gst/gstelement.c: fixed a mem leak in the destroy code.
-
-2001-05-14 22:20  wtay
-
-	* gst/: gstelement.c, gstpad.c, gstthread.c: slightly different
-	refcount handling. the pad shutdown function doesn't remove the pad
-	from the parent because the parent is needed in the destroy
-	function.
-
-2001-05-14 21:08  omegahacker
-
-	* gst/: cothreads.c, gstbin.h, gstelement.c, gstobject.c, gstpad.c,
-	gstpad.h, gstscheduler.c, gsttypefind.c,
-	autoplug/gstautoplugcache.c, autoplug/gstautoplugger.c:
-	cothreads.c: added a comment on one of the tests gstbin.h: added
-	the GST_BIN_SELF_SCHEDULABLE flag gstelement.c: cleaned up the
-	_change_state function a little gstobject.c: improved the
-	refcounting DEBUGs gstpad.c: moved the connected signal to after
-	capsnego,	    added the caps_nego_failed signal gstpad.h:
-	added the caps_nego_failed signal funcptr gstscheduler.c: added the
-	GST_BIN_SELF_SCHEDULABLE exception gsttypefind.c: added check code
-	around signal_emit to deal with the case		where the
-	signal's handler shuts down the element gstautoplugcache.c: added
-	the first_buffer signal and caps_proxy arg gstautoplugger.c:
-	significant rework, it functions quite nicely actually
-
-2001-05-14 09:51  omegahacker
-
-	* docs/gst/gstreamer-sections.txt: removed the COTHREAD_STACKSIZE
-	and friends, since they're now private to cothreads.c
-
-2001-05-13 16:29  wtay
-
-	* testsuite/refcounting/: bin.c, element_pad.c: More testsuite
-	updates
-
-2001-05-13 16:29  wtay
-
-	* gst/: gstbin.c, gstelement.c, gstpad.c: More housekeeping
-	updates.  _destroying an element or a pad properly removes if from
-	the parent.
-
-2001-05-13 08:49  omegahacker
-
-	* plugins/effects/volume/volume.c: hacked up volume plugin to do
-	S16_LE no matter what.	FIXME\!
-
-2001-05-12 19:04  wtay
-
-	* gst/: gstbin.c, gstelement.c, gstelementfactory.c, gstthread.c,
-	gstthread.h: Fixed a leak in bin destruction More refcounting fixes
-
-2001-05-12 19:03  wtay
-
-	* testsuite/refcounting/bin.c: file bin.c was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-05-12 19:03  wtay
-
-	* testsuite/refcounting/: Makefile.am, bin.c, element_pad.c: More
-	refcounting test cases
-
-2001-05-12 15:07  wtay
-
-	* testsuite/refcounting/: element.c, element_pad.c, object.c,
-	pad.c: More testcases
-
-2001-05-12 15:07  wtay
-
-	* gst/: gstelement.c, gstelement.h, gstobject.c: Added
-	gst_element_remove_pad.  more refcounting stuff (object unparent on
-	destroy)
-
-2001-05-12 01:04  wtay
-
-	* gst/: gstelement.c, gstinfo.c, gstinfo.h, gstobject.c, gstpad.c,
-	gstpad.h: Refcounting fixes to make the testsuite succeed.  Added a
-	ne w category for REFCOUNTING.
-
-2001-05-12 01:03  wtay
-
-	* testsuite/refcounting/element_pad.c: file element_pad.c was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-12 01:03  wtay
-
-	* testsuite/refcounting/pad.c: file pad.c was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-05-12 01:03  wtay
-
-	* testsuite/refcounting/: Makefile.am, element_pad.c, pad.c: More
-	testsuite updates
-
-2001-05-11 20:36  wtay
-
-	* examples/autoplug/autoplug.c: Updated the autoplugger example to
-	use the new cache.
-
-2001-05-11 19:44  wtay
-
-	* configure.in: Added the refcounting testsuite dir to configure.in
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/Makefile.am: file Makefile.am was initially
-	added on branch BRANCH-INCSCHED1.
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/: Makefile.am, element.c, mem.c, mem.h,
-	object.c: Added a testsuite for refcounting.
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/element.c: file element.c was initially
-	added on branch BRANCH-INCSCHED1.
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/mem.c: file mem.c was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/object.c: file object.c was initially added
-	on branch BRANCH-INCSCHED1.
-
-2001-05-11 19:44  wtay
-
-	* testsuite/refcounting/mem.h: file mem.h was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-05-11 19:41  wtay
-
-	* gst/: cothreads.c, gstbin.c, gstelement.c, gstobject.c,
-	gstobject.h, gsttypefind.c: Work on refcounting and proper object
-	destruction.
-
-2001-05-11 15:42  dlehn
-
-	* plugins/filters/ladspa/ladspa.h: LADSPA header now LGPL.
-
-2001-05-11 00:43  omegahacker
-
-	* gst/gstpad.h: some minor updates with a hair more speed
-
-2001-05-10 23:35  omegahacker
-
-	* gst/: cothreads.c, cothreads.h: move cothread_context definition
-	over to the .c
-
-2001-05-10 23:30  omegahacker
-
-	* gst/gstpad.h: fixed up macros to match new RealPad stuff, change
-	#if 1 to #if 0 to use, beware you must rebuild all plugins after
-	change
-
-2001-05-10 23:10  omegahacker
-
-	* gst/: cothreads.c, cothreads.h: moved cothread parameters into .c
-	to avoid rebuilding libgst.la every time
-
-2001-05-10 22:44  omegahacker
-
-	* test/lat.c: corrected the rdtsc code, it actually, um, works now
-	;-)
-
-2001-05-10 21:30  dlehn
-
-	* test/: .cvsignore, Makefile.am, lat.c: Added simple latency
-	tester.
-
-2001-05-10 21:28  dlehn
-
-	* gst/elements/gstfakesink.c, gst/elements/gstfakesrc.c,
-	tests/sched/runxml.c: Pass buffer in handoff signal
-
-2001-05-10 21:25  dlehn
-
-	* tests/autoplug2.c: just call exit() once
-
-2001-05-10 09:22  omegahacker
-
-	* tools/gstreamer-inspect.c: minor updates to ouptut, added section
-	for meta-elements' children
-
-2001-05-10 09:21  omegahacker
-
-	* plugins/mpeg1/mpeg_play/: gstmpeg_play.c, video.c: more debug
-	output tweaks
-
-2001-05-10 09:18  omegahacker
-
-	* plugins/filters/adder/adder.c: added comment to make the adder
-	compliant (don't set COTHREAD_STOPPING)
-
-2001-05-10 09:17  omegahacker
-
-	* libs/idct/gstidct.c: minor cleanup of some debug strings
-
-2001-05-10 09:16  omegahacker
-
-	* gst/autoplug/gstautoplugger.c: file gstautoplugger.c was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-10 09:16  omegahacker
-
-	* gst/: gst.h, gstbin.c, gstbuffer.c, gstelement.c, gstelement.h,
-	gstinfo.c, gstqueue.c, gstthread.c, gstxml.c, autoplug/Makefile.am,
-	autoplug/autoplugtest.c, autoplug/gstautoplugcache.c,
-	autoplug/gstautoplugger.c, elements/gstfakesrc.c: - Fixed up a
-	bunch of warnings.  - Fixed buffer_copy (alloc correct size) -
-	Added start of autoplugger meta-element
-
-2001-05-09 07:20  wtay
-
-	* plugins/filters/colorspace/yuv2yuv.c: Forgot to add a convertor..
-
-2001-05-09 05:12  dlehn
-
-	* gst/elements/: gstfakesrc.c, gstfakesrc.h: Added "silent" arg.
-
-2001-05-08 21:52  wtay
-
-	* plugins/: capture/v4l/gstv4lsrc.c, capture/v4l/gstv4lsrc.h,
-	dv/dvdec.c, filters/colorspace/Makefile.am,
-	filters/colorspace/colorspace.c, filters/colorspace/colorspace.h,
-	filters/lav/.cvsignore, filters/lav/Makefile.am,
-	filters/lav/lavencode.c, filters/lav/lavencode.h, oss/gstossgst.c,
-	videoscale/videoscale.c, vorbis/vorbis.c: Various changes to the
-	plugins.  Added a lav encoder, this one just adds a header in front
-	YUV data so that the lav tools can operate on it.
-
-2001-05-08 21:44  omegahacker
-
-	* gst/: gstpad.c, gstpad.h: added the caps_changed signals, changed
-	a few other things around a littleto clean up warnings
-
-2001-05-07 23:10  wtay
-
-	* plugins/alsa/: alsa.h, alsa_common.c, alsasink.c, alsasrc.c:
-	Applied the alsa patch from Thomas Nyberg.
-
-2001-05-07 22:57  wtay
-
-	* examples/mixer/mixer.c: Added a WITH_BUG2 define to show the
-	livelock we're trying to fix.
-
-2001-05-07 22:46  omegahacker
-
-	* gst/: gstelement.c, gstscheduler.c, autoplug/autoplugtest.c,
-	autoplug/gstautoplugcache.c: updated autoplugcache so it can be
-	removed mid-signal, now autoplugtest works
-
-2001-05-06 23:48  omegahacker
-
-	* gst/autoplug/gstautoplugcache.c: fixed bug in datastructure usage
-
-2001-05-06 23:12  omegahacker
-
-	* gst/: gstbin.c, gstelement.c, gstpipeline.c, gstprops.c,
-	gstscheduler.c, gstthread.c: fixed gst_scheduler_pad_disconnect
-	(never ignore compiler warnings\!) and updated a few INFO lines
-
-2001-05-06 23:12  omegahacker
-
-	* gst/autoplug/autoplugtest.c: fixed up some things, added vorbis
-
-2001-05-06 19:03  wtay
-
-	* gst/autoplug/: Makefile.am, autoplugtest.c: Adjusted the Makefile
-	so that it builds here...
-
-2001-05-06 18:57  wtay
-
-	* plugins/mpeg1/mpegaudio/common.c: Forgot to update a symbol..
-
-2001-05-06 18:33  omegahacker
-
-	* gst/autoplug/autoplugtest.c: file autoplugtest.c was initially
-	added on branch BRANCH-INCSCHED1.
-
-2001-05-06 18:33  omegahacker
-
-	* gst/autoplug/: Makefile.am, autoplugtest.c, gstautoplugcache.c:
-	initial checkin of autoplugcache and a test program to simulate
-	dynamic autoplugging
-
-2001-05-06 18:33  omegahacker
-
-	* gst/autoplug/gstautoplugcache.c: file gstautoplugcache.c was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-06 15:27  wtay
-
-	* plugins/mpeg1/mpegaudio/: common.c, common.h, musicin.c, tonal.c:
-	Fixed a namespace issue with lame.
-
-2001-05-06 15:22  wtay
-
-	* plugins/oss/: gstossgst.c, gstosshelper.c: Fixed a bug in format
-	passing.  Some cleanups.
-
-2001-05-06 14:53  wtay
-
-	* plugins/oss/gstossgst.c: Use setenv/getenv to manipulate the
-	environment of the child process.
-
-2001-05-06 14:52  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Setup the encoder based on the
-	caps of the sinkpad.
-
-2001-05-06 09:16  omegahacker
-
-	* tools/gstreamer-complete.c: file gstreamer-complete.c was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-06 09:16  omegahacker
-
-	* tools/gstreamer-compprep.c: file gstreamer-compprep.c was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-05-06 09:16  omegahacker
-
-	* tools/: .cvsignore, Makefile.am, gstreamer-complete.c,
-	gstreamer-compprep.c: added initial bash commandline completion
-	code
-
-2001-05-06 04:06  omegahacker
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: oops, that was wrong, but
-	somehow it worked
-
-2001-05-06 03:47  omegahacker
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: since mpeg2dec can handle
-	mpeg1 video streams, update caps to show that
-
-2001-05-05 20:01  wtay
-
-	* plugins/oss/: gstossgst.c, gstosshelper.c, gstosshelper.h: A
-	little cleanup (more defines) Better arg parsing.
-
-2001-05-05 18:22  wtay
-
-	* plugins/oss/gstosshelper.h: The inter process protocol layout
-	header.
-
-2001-05-05 18:21  wtay
-
-	* plugins/oss/: gstossgst.c, gstosshelper.c: Properly negotiate the
-	format set by the OSS app.
-
-2001-05-05 05:07  dlehn
-
-	* plugins/filters/: adder/Makefile.am, colorspace/Makefile.am,
-	intfloatconvert/Makefile.am, mono2stereo/Makefile.am,
-	stereo2mono/Makefile.am, volenv/Makefile.am: Remove EXTRA_DIST =
-	README from dirs with a README.
-
-2001-05-05 03:16  wtay
-
-	* gst/gstplugin.c: Make sure the plugin filaname is set before
-	calling the init function.
-
-2001-05-05 03:05  wtay
-
-	* plugins/oss/: Makefile.am, gstossaudio.c, gstossgst.c,
-	gstossgst.h, gstosshelper.c: A first attempt at hijacking /dev/dsp
-	and feeding the audio of an OSS app into GStreamer.
-
-2001-05-05 02:50  dlehn
-
-	* debian/changelog: update version
-
-2001-05-05 01:45  dlehn
-
-	* debian/: Makefile.am, changelog, control, gstreamer-aa.files,
-	gstreamer-arts.files, gstreamer-colorspace.files,
-	gstreamer-common.files, gstreamer-mad.files, rules: Sync with
-	current code - add more and more plugins.
-
-2001-05-04 23:14  omegahacker
-
-	* gst/gstelement.h, gst/gstscheduler.c,
-	plugins/mp3decode/mad/gstmad.c: Add the GST_ELEMENT_NO_ENTRY flag,
-	which when set will force the scheduler to skip over an element as
-	an option for the first cothread jump.	This is needed because
-	libraries like mad don't ever seem to want to quit.  Thus they
-	ignore COTHREAD_STOPPING and can't be trusted to be the entry.
-
-2001-05-04 21:43  omegahacker
-
-	* gst/: gstinfo.c, gstpad.c, gstscheduler.c: Some minor DEBUG
-	cleanups, renamed the various scheduler-specific routines to
-	actually be called gst_schedule_ instead of gst_bin_.
-
-2001-05-04 21:41  omegahacker
-
-	* plugins/mp3decode/mad/gstmad.c: added GST_DEBUG_FUNCPTR to
-	gst_mad_loop instance
-
-2001-05-04 00:21  omegahacker
-
-	* gst/gstparse.c: fixed spelling mistake in user-visible output
-
-2001-05-03 23:29  wtay
-
-	* gst/gstprops.c: Created a macro of the va_arg parsing function
-	because some systems (PPC) cannot handle passing a va_list by
-	reference.
-
-2001-05-03 22:44  wtay
-
-	* gst/gstparse.c: Added dynamic pads to the command line parser.
-	
-	  ./gstreamer-launch disksrc location=/some/systemstream.mpg !
-	mpeg1parse video_00!
-		    queue ! \{ mp1videoparse ! mpeg_play ! aasink \}
-	
-	will now work.
-
-2001-05-03 21:06  wtay
-
-	* docs/gst/: gstreamer-sections.txt, gstreamer.hierarchy,
-	tmpl/gstbuffer.sgml, tmpl/gstcaps.sgml, tmpl/gstdisksink.sgml,
-	tmpl/gstinfo.sgml, tmpl/gstprops.sgml, tmpl/gstreamer-unused.sgml:
-	API docs updates
-
-2001-05-03 18:49  wtay
-
-	* REQUIREMENTS: Added Hermes to the required libs for gstplay.
-
-2001-05-03 11:16  thomasvs
-
-	* examples/mixer/mixer.c, plugins/filters/adder/adder.c: * made a
-	quick hack in adder to set GST_ELEMENT_COTHREAD_STOPPING after	
-	one interation to force return to main program; should probably be
-	fixed	in a better way * cleaned mixer up, it now works with
-	delayed start.	Drinks are in order.
-
-2001-05-03 00:46  wtay
-
-	* docs/manual/: Makefile.am, autoplugging.sgml, bins.sgml,
-	buffers.sgml, elements.sgml, gstreamer-manual.sgml,
-	helloworld.sgml, pads.sgml: Small manual changes.  Added a section
-	about autoplugging.
-
-2001-05-03 00:44  wtay
-
-	* gst/gstinfo.h: Added and extra whitespace before ## args
-	(remember it eats all non whitespace chars to the left if it's
-	empty).
-
-2001-05-03 00:12  wtay
-
-	* examples/plugins/example.c: We don't want to teach you bad
-	habbits, so here's a fix for a memleak in the example plugin.
-
-2001-05-02 21:27  omegahacker
-
-	* gst/gstinfo.h: re-enabled the funcptr hash table
-
-2001-05-02 21:16  wtay
-
-	* examples/mixer/mixer.c: Added a WITH_BUG flag to trigger the
-	scheduling error we're trying to chase.
-
-2001-05-02 21:12  thomasvs
-
-	* examples/mixer/mixer.c: delayed second song
-
-2001-05-02 21:01  omegahacker
-
-	* examples/mixer/mixer.c: added two debugging things: xml pipelie
-	output, and schedule dump
-
-2001-05-02 20:20  omegahacker
-
-	* gst/: gst.c, gstcaps.c, gstelement.c, gstelementfactory.c,
-	gstinfo.c, gstinfo.h, gstpad.c, gstprops.c, gstqueue.c: Converted
-	the DEBUG system to look like the INFO system, with a function
-	pointer that can be replaced.  Not done with everything, since it
-	seems that we need an ERROR system plus a FATAL error, or maybe
-	just an ERROR system with a severity, and depending on this the
-	DEBUG system might again be changed to have a single or at least
-	fewer handlers.
-	
-	Also did a bit of work fixing up the actual DEBUG and INFO commands
-	scattered throughout the code.	We still have over 500 of these in
-	gst/*.c alone...
-
-2001-05-02 20:11  thomasvs
-
-	* examples/mixer/mixer.c: trying to adapt to incsched
-
-2001-05-02 09:52  thomasvs
-
-	* plugins/filters/Makefile.am: added volenv and adder
-
-2001-05-02 09:51  thomasvs
-
-	* examples/Makefile.am: added mixer
-
-2001-05-02 00:00  omegahacker
-
-	* gst/gstscheduler.c: /me is an idiot
-
-2001-05-01 23:58  thomasvs
-
-	* plugins/filters/passthrough/: README, filter.func, level.c,
-	level.h: Basic level detection/printing plugin; calculates RMS over
-	data block and prints this out along with time in secs through
-	plugin needs more work
-
-2001-05-01 23:45  wtay
-
-	* gstplay/: gstplay.c, gstplayprivate.h: Changed the pipeline setup
-	for incremental scheduling.
-
-2001-05-01 23:43  wtay
-
-	* gst/gstprops.c: Removed the assert on an unknown propertytype and
-	print useful info.
-
-2001-05-01 22:41  omegahacker
-
-	* test/mpeg2parse4.c: file mpeg2parse4.c was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-05-01 22:41  omegahacker
-
-	* configure.in, gstreamer.pc.in, gst/Makefile.am, gst/gstbin.c,
-	gst/gstinfo.c, gst/gstinfo.h, gst/gstqueue.c, gst/gstscheduler.c,
-	gst/gstscheduler.h, test/.cvsignore, test/Makefile.am,
-	test/mpeg2parse3.c, test/mpeg2parse4.c, tests/mp1vid.c: - fixed
-	configure.in %VAR stuff - fixed gstreamer.pc.in description string
-	- fixed up incremental scheduling some more - updated the
-	GST_DEBUG_FUNCPTR code to no longer need a hash - minor updates to
-	DEBUG colorization - new test/mpeg2parse4.c
-
-2001-05-01 22:35  omegahacker
-
-	* gstplay/main.c: added code to save the pipeline to xml
-
-2001-05-01 14:54  richardb
-
-	* docs/fwg/gst-plugin-writers-guide.sgml: Update documentation for
-	audio/raw properties to cover format=float case.  Please check this
-	for correctness.
-
-2001-05-01 14:16  thomasvs
-
-	* gst/autoplug/: gststaticautoplug.c, gststaticautoplugrender.c:
-	added newlines to debug output
-
-2001-05-01 00:35  wtay
-
-	* gstplay/gstplay.c: Implemented the function to get the pipeline
-	of gstplay.
-
-2001-05-01 00:20  wtay
-
-	* docs/random/autoplug2: Added an explanation of the innner
-	workings of the current autoplugger.
-
-2001-04-30 21:40  richardb
-
-	* configure.in: Tighten some library checks (check for header files
-	as well as libraries) Also, clean up structure slightly: put all
-	AC_DEFINEs for feature checks into the appropriate section at end. 
-	This structure allows user parameter code which overrides the
-	feature selection to be kept together in a section after the
-	feature checks but before the AC_DEFINES and AM_CONDITIONALs.
-
-2001-04-30 20:51  thomasvs
-
-	* examples/mixer/mixer.c: cleared naming issues, still doesn't play
-
-2001-04-30 15:34  thomasvs
-
-	* plugins/filters/Makefile.am: added volenv, passthrough and adder
-	to Makefile.am
-
-2001-04-30 11:22  richardb
-
-	* configure.in: Add explicit check for <artsc.h>, in case
-	artsc-config lies to us.
-
-2001-04-29 23:46  sbaker3
-
-	* plugins/filters/: intfloatconvert/float2int.h,
-	intfloatconvert/int2float.h, mono2stereo/mono2stereo.h: remove
-	bogus reference to audioraw.h
-
-2001-04-29 23:27  wtay
-
-	* examples/mixer/mixer.c: Changed the way the typefind function
-	works by creating a little pipeline as the toplevel bin..
-
-2001-04-29 22:56  thomasvs
-
-	* examples/mixer/mixer.c: trying to convert mixer to incsched, not
-	working yet
-
-2001-04-29 18:59  richardb
-
-	* README: Add detailed note (and patch) about automake problem.
-
-2001-04-29 08:54  sbaker3
-
-	* plugins/filters/ladspa/gstladspa.c: sync ladspa plugin with
-	recent api changes - still not functional
-
-2001-04-29 08:41  sbaker3
-
-	* configure.in: added mono2stereo and intfloatconvert plugin
-
-2001-04-29 08:39  sbaker3
-
-	* plugins/filters/: Makefile.am, intfloatconvert/Makefile.am,
-	intfloatconvert/float2int.c, intfloatconvert/float2int.h,
-	intfloatconvert/int2float.c, intfloatconvert/int2float.h,
-	intfloatconvert/intfloatconvert.c,
-	intfloatconvert/intfloatconvert.h, mono2stereo/Makefile.am,
-	mono2stereo/mono2stereo.c, mono2stereo/mono2stereo.h: added
-	mono2stereo and intfloatconvert plugins
-
-2001-04-28 20:16  sbaker3
-
-	* editor/gsteditorproperty.c, tools/gstreamer-inspect.c: added
-	output of float properties
-
-2001-04-28 19:59  wtay
-
-	* gst/: gstinfo.c, gstprops.c: Added more colors for
-	props/caps/clock/negotiation.
-
-2001-04-28 19:58  sbaker3
-
-	* gst/elements/: gstsinesrc.c, gstsinesrc.h: update sinesrc to
-	latest caps
-
-2001-04-28 19:57  sbaker3
-
-	* gst/elements/gstelements.c: add factory init for sinesrc
-
-2001-04-28 19:56  sbaker3
-
-	* gst/: gstcaps.h, gstprops.c, gstprops.h: add gst_props_get_float
-	function
-
-2001-04-28 08:17  omegahacker
-
-	* test/mpeg2parse3.c: now fully correct within incsched1 world
-
-2001-04-28 05:23  omegahacker
-
-	* test/: Makefile.am, mpeg2parse2.c, mpeg2parse3.c: brought in
-	mpeg2parse3.c from HEAD and fixed it up so it works
-
-2001-04-28 05:23  omegahacker
-
-	* gst/: cothreads.c, gstinfo.c, gstqueue.c: - Updated colorization
-	some more (pthread and cothread id is in color) - Added some minor
-	debug to help trace mp1vid segfaults
-
-2001-04-28 04:38  dlehn
-
-	* test/: .cvsignore, Makefile.am, mpeg2parse3.c: mpeg2parse2.c +
-	audio = mpeg2parse3.c = a simple .vob player
-
-2001-04-28 03:54  omegahacker
-
-	* gst/: gstbin.c, gstclock.c, gstelement.c, gstelementfactory.c,
-	gstinfo.c, gstpad.c, gstpipeline.c, gstthread.c, gsttype.c,
-	gstutils.c: Updated the colorization a bit more, and did a
-	significant pass through all the other code to change categories on
-	DEBUG and INFO statements to be correct, and not simply zero. 
-	There are still more, but this is a good first pass.
-
-2001-04-28 02:46  mhowell
-
-	* gst/: gstelement.c, gstscheduler.c, gstthread.c: fixed another
-	thread synch case... better debug
-
-2001-04-28 02:06  omegahacker
-
-	* gst/: gst.c, gstinfo.c, gstinfo.h: another update to the
-	colorization code
-
-2001-04-27 22:14  wtay
-
-	* gst/gstutils.c: Added enum parsing...
-
-2001-04-27 22:09  omegahacker
-
-	* gst/: gstinfo.c, gstinfo.h: fixes to colorization
-
-2001-04-27 22:01  thomasvs
-
-	* plugins/filters/filterstamp.sh: changed "rename" command to
-	something using sed in one line having the same effect
-
-2001-04-27 21:58  omegahacker
-
-	* gst/gstinfo.c: syntax error fixed (s/;/,/)
-
-2001-04-27 21:54  mhowell
-
-	* gst/: gstelement.c, gstscheduler.c, gstthread.c, gstqueue.h,
-	gstqueue.c: initial fix of thread synch for queues and state change
-
-2001-04-27 21:47  omegahacker
-
-	* acconfig.h, configure.in, gst/gst.c, gst/gstelement.h,
-	gst/gstinfo.c, gst/gstinfo.h: added colorization of DEBUG and INFO,
-	and a comment in gstelement.h
-
-2001-04-27 21:45  wtay
-
-	* gst/autoplug/gststaticautoplugrender.c: Tried to get the
-	autoplugger working by setting the pipeline to PAUSED before
-	attempting to connect pads...
-
-2001-04-27 21:31  omegahacker
-
-	* acconfig.h, configure.in, gst/gst.c, gst/gstinfo.c,
-	gst/gstinfo.h: Added colorization to DEBUG and INFO.  Colors are
-	based on categories, with the strings in _gst_category_colors[] in
-	gstinfo.c  See wiki node GstDebugColors for the actual colors, or
-	/etc/DIR_COLORS works too.
-	
-	Please comment on the colorization style and ideas in the above
-	wiki node.
-
-2001-04-27 20:35  wtay
-
-	* docs/gst/gstreamer.hierarchy, docs/gst/tmpl/cothreads.sgml,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstdisksink.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfakesrc.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstthread.sgml, examples/autoplug/autoplug.c,
-	gstplay/gstplay.c, tests/mp1vid.c: A commit of pending (small)
-	changes...
-
-2001-04-27 20:17  wtay
-
-	* examples/autoplug/autoplug.c: Fixed the autoplugger
-
-2001-04-27 02:46  omegahacker
-
-	* gst/: cothreads.c, cothreads.h: fixed cothread_current_main so
-	it, um, works.
-
-2001-04-27 02:42  omegahacker
-
-	* gst/: cothreads.c, cothreads.h: added cothread_current_main with
-	(void) args
-
-2001-04-27 00:34  omegahacker
-
-	* tests/mp1vid.c: latest variant of mp1vid causes lockup, solution
-	is interruptibility
-
-2001-04-26 23:32  omegahacker
-
-	* tests/mp1vid.c: updated to working state
-
-2001-04-26 23:32  omegahacker
-
-	* gst/: gstbin.c, gstthread.c: gstbin.c: commented out the
-	requirement that a bin be !PLAYING to add gstthread.c: fixed an old
-	failed merge that locked the same mutex twice	...in a row
-
-2001-04-26 06:47  dlehn
-
-	* configure.in: fix typos: %VAR -> $VAR
-
-2001-04-26 02:53  omegahacker
-
-	* autogen.sh, configure.in, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/tmpl/gst.sgml, docs/gst/tmpl/gstautoplug.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstbufferpool.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstcpu.sgml, docs/gst/tmpl/gstdisksink.sgml,
-	docs/gst/tmpl/gstfakesink.sgml, docs/gst/tmpl/gstidentity.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstparse.sgml,
-	docs/gst/tmpl/gstpipeline.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstprops.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/libs/Makefile.am, examples/Makefile.am,
-	examples/autoplug/autoplug.c, examples/mixer/.cvsignore,
-	examples/mixer/Makefile.am, examples/mixer/mixer.c,
-	examples/mixer/mixer.h, examples/plugins/example.c, gst/.cvsignore,
-	gst/Makefile.am, gst/Makefile.am.future, gst/gst.h,
-	gst/gstbuffer.c, gst/gstbuffer.h, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstobject.c, gst/gstpad.c, gst/gstpad.h, gst/gstplugin.c,
-	gst/gstplugin.h, gst/gstprops.h, gst/gstqueue.c, gst/gstutils.c,
-	gst/gstversion.h.in, gst/autoplug/Makefile.am,
-	gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, gst/elements/Makefile.am,
-	gst/elements/gstdisksink.c, gst/elements/gstdisksink.h,
-	gst/elements/gstdisksrc.c, gst/elements/gstelements.c,
-	gst/elements/gstfakesink.c, gst/elements/gstfakesink.h,
-	gst/elements/gstidentity.c, gst/elements/gstidentity.h,
-	gst/types/Makefile.am, gst/types/gsttypes.c,
-	libs/putbits/gstputbits.c, plugins/Makefile.am,
-	plugins/1394/.cvsignore, plugins/1394/Makefile.am,
-	plugins/1394/dv1394src.c, plugins/1394/dv1394src.h,
-	plugins/1394/gst1394.c, plugins/aasink/.cvsignore,
-	plugins/aasink/Makefile.am, plugins/aasink/aasink.c,
-	plugins/aasink/aasink.h, plugins/alaw/alaw.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/arts/.cvsignore, plugins/arts/Makefile.am,
-	plugins/arts/gst_arts.c, plugins/arts/gst_arts.h,
-	plugins/arts/gst_artsio.idl, plugins/arts/gst_artsio_impl.cc,
-	plugins/artsd/artsdsink.c, plugins/au/gstparseau.c,
-	plugins/audioscale/audioscale.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwindec.h,
-	plugins/avi/wincodec/gstwinenc.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/cdparanoia/cdparanoia.c, plugins/cobin/cobin.c,
-	plugins/cobin/spindentity.c, plugins/dv/Makefile.am,
-	plugins/dv/NOTES, plugins/dv/dvdec.c, plugins/dv/dvdec.h,
-	plugins/dvdsrc/dvdsrc.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/adder/.cvsignore,
-	plugins/filters/adder/Makefile.am, plugins/filters/adder/adder.c,
-	plugins/filters/adder/adder.h,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/smooth/smooth.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/volenv/filter.func,
-	plugins/filters/volenv/volenv.c, plugins/flx/flx_decoder.c,
-	plugins/icecast/icecastsend/icecastsend.c, plugins/jpeg/gstjpeg.c,
-	plugins/jpeg/gstjpegdec.c, plugins/jpeg/gstjpegenc.c,
-	plugins/mp3decode/mad/gstmad.c, plugins/mp3decode/mad/gstmad.h,
-	plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c, plugins/mp3decode/xa/gstxa.c,
-	plugins/mp3decode/xing/gstxing.c, plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/mulaw/mulaw.c,
-	plugins/oss/gstossaudio.c, plugins/oss/gstosssink.c,
-	plugins/oss/gstosssrc.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/vcdsrc/vcdsrc.c,
-	plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/wav/gstparsewav.c, plugins/xmms/gstxmms.c,
-	plugins/xmms/gstxmmseffect.c, plugins/xvideosink/gstximage.c,
-	plugins/xvideosink/gstximage.h, plugins/xvideosink/gstxvimage.c,
-	plugins/xvideosink/gstxvimage.h, plugins/xvideosink/xvideosink.c,
-	plugins/xvideosink/xvideosink.h, test/.cvsignore, test/Makefile.am,
-	test/dv2mp1.c, test/dvshow.c, test/mp2tomp1.c, test/mp3.c,
-	test/mp3mad.c, test/video2mp1.c, test/xmmstest.c,
-	tests/Makefile.am, tests/autoplug3.c, tests/autoplug4.c,
-	tests/padfactory.c, testsuite/capsnego/capsnego.c,
-	testsuite/capsnego/converter.c, testsuite/capsnego/converter2.c,
-	testsuite/capsnego/enum.c: Merged from HEAD to INCSCHED1 on
-	200104251
-
-2001-04-26 02:43  omegahacker
-
-	* plugins/arts/gst_artsio_impl.h: oops, need to have this file in
-	CVS
-
-2001-04-26 01:25  omegahacker
-
-	* tests/mp1vid.c: file mp1vid.c was initially added on branch
-	BRANCH-INCSCHED1.
-
-2001-04-26 01:25  omegahacker
-
-	* tests/mp1vid.c: added mp1vid to CVS
-
-2001-04-26 01:20  omegahacker
-
-	* test/dvshow.c: set the video window size up front for NTSC, as a
-	timesaver
-
-2001-04-26 01:19  omegahacker
-
-	* plugins/dv/dvdec.c: cleanup of the dvdec stuff, somewhat
-
-2001-04-26 00:56  omegahacker
-
-	* configure.in: turn off optimization when profiling (ackcvs diff
-	configure.in) because something segfaults if we don't
-
-2001-04-26 00:30  omegahacker
-
-	* gst/cothreads.c: fixed a locking issue
-
-2001-04-25 23:32  omegahacker
-
-	* gst/: cothreads.c, cothreads.h, gstelement.c, gstelement.h,
-	gstscheduler.c, gstscheduler.h: Added element-level locking
-	support, implemented for cothreads with a mutex held whenever an
-	element is actually currently running.	This should be done with
-	atomic variables eventually, but the best I can find is to use
-	<asm/spinlock.h> from the kernel, which brings in too much for my
-	taste.
-	
-	Also increased cothread stack size to 32KB and max cothread count
-	to 64, which fits within the default pthread 2MB stack.  It would
-	probably be good to do a pthread_attr_getstacksize() to verify that
-	it's 2MB, and if linuxthreads had a pthread_attr_setstacksize(), we
-	could remove these limits.
-
-2001-04-25 12:49  richardb
-
-	* examples/Makefile.am, test/Makefile.am, test/mp3.c,
-	test/xmmstest.c: Remove #include <gnome.h> from some tests which
-	don't actually need it, and make the other tests and the autoplug
-	example only compile if gnome headers are present.
-
-2001-04-24 22:28  omegahacker
-
-	* gst/gstbuffer.c: I will successfully compile code before I check
-	it in.	I will successfully compile code before I check it in.	I
-	will successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.  I will
-	successfully compile code before I check it in.
-
-2001-04-24 20:20  omegahacker
-
-	* gst/: gstbuffer.c, gstbuffer.h: - commented out remainder of Meta
-	stuff - enhanced mem_chunk allocation to round up to nearest 32
-	bytes	 this helps ensure that GstBuffers are more likely to be on
-	cache-lines - added free() and copy() function pointers to
-	GstBuffer - added code in _destroy and _copy to use above routines
-	if !NULL - fixed up _copy code to suck less
-
-2001-04-24 20:04  omegahacker
-
-	* plugins/: avi/wincodec/gstwinenc.c, filters/median/median.c,
-	filters/smooth/smooth.c, jpeg/gstjpegenc.c: Commented out most of
-	the remaining bits of Meta stuff
-
-2001-04-24 00:16  omegahacker
-
-	* autogen.sh, gst/elements/gstfakesink.c, plugins/Makefile.am,
-	plugins/arts/gst_artsio_impl.cc, plugins/oss/gstosssrc.c:
-	Collection of minor changes:
-	
-	 * autogen.sh - remove config.cache before running ./configure
-	 * gst/elements/gstfakesink.c - print out the size of the buffer,
-	too
-	 * plugins/Makefile.am - removed a spare trailing backslash
-	 * plugins/arts/gst_artsio_impl.cc - change the scale back to 0.5
-	 * plugins/oss/gstosssrc.c - change name slightly to match osssink
-
-2001-04-23 23:04  wtay
-
-	* plugins/aasink/: aasink.c, aasink.h: Final fixes to the aasink
-
-2001-04-23 16:16  omegahacker
-
-	* test/dvshow.c: updated dvshow to use dv1394src instead of
-	gst1394src
-
-2001-04-23 16:16  omegahacker
-
-	* plugins/1394/: Makefile.am, dv1394src.c, dv1394src.h, gst1394.c,
-	gst1394.h: renamed 1394src to dv1394src, set up to handle *1394* in
-	1394 dir
-
-2001-04-23 00:28  wtay
-
-	* configure.in: Added a check for aalib
-
-2001-04-23 00:18  wtay
-
-	* plugins/: Makefile.am, aasink/.cvsignore, aasink/Makefile.am,
-	aasink/aasink.c, aasink/aasink.h, mp3decode/mpg123/Makefile.am,
-	xvideosink/xvideosink.c, xvideosink/xvideosink.h: Some small mpg123
-	Makefile changes.  Added an aasink, draw graphics with aalib :-)
-
-2001-04-22 17:34  wtay
-
-	* plugins/: avi/wincodec/gstwindec.c, avi/wincodec/gstwindec.h,
-	dv/dvdec.c: Added bufferpools to windec.  updated dvdec to the new
-	plugin version system.
-
-2001-04-22 17:06  wtay
-
-	* docs/gst/tmpl/gstdisksink.sgml: Added the disksink template
-
-2001-04-22 17:05  wtay
-
-	* test/.cvsignore: Updates
-
-2001-04-22 17:04  wtay
-
-	* test/dv2mp1.c: Added a non functional dv to mpeg1 encoder.
-
-2001-04-22 17:04  wtay
-
-	* docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstprops.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/libs/Makefile.am, gst/gstcaps.h, gst/gstpad.h, gst/gstutils.c,
-	gst/elements/gstdisksink.c, gst/elements/gstdisksink.h,
-	gst/elements/gstdisksrc.c, plugins/alsa/alsasink.c,
-	plugins/alsa/alsasrc.c, plugins/dv/dvdec.c, plugins/dv/dvdec.h,
-	plugins/filters/colorspace/colorspace.c, test/Makefile.am,
-	tests/padfactory.c: API docs updates.  Properly implemented the
-	disksink.  Fixed a compile problem with alsa.  Added bufferpool
-	handling to dvdec Some compiler warning fixes
-
-2001-04-22 13:30  richardb
-
-	* examples/plugins/example.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, gst/elements/gstelements.c,
-	gst/types/gsttypes.c, plugins/1394/gst1394.c, plugins/alaw/alaw.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/arts/gst_arts.c, plugins/artsd/artsdsink.c,
-	plugins/au/gstparseau.c, plugins/audioscale/audioscale.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/cobin/cobin.c, plugins/cobin/spindentity.c,
-	plugins/dvdsrc/dvdsrc.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/adder/adder.c,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/smooth/smooth.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/volenv/volenv.c, plugins/flx/flx_decoder.c,
-	plugins/icecast/icecastsend/icecastsend.c, plugins/jpeg/gstjpeg.c,
-	plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c, plugins/mp3decode/xa/gstxa.c,
-	plugins/mp3decode/xing/gstxing.c, plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/mulaw/mulaw.c,
-	plugins/oss/gstossaudio.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/vcdsrc/vcdsrc.c,
-	plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/wav/gstparsewav.c, plugins/xmms/gstxmms.c,
-	plugins/xmms/gstxmmseffect.c, plugins/xvideosink/xvideosink.c:
-	Merged from BRANCH-PLUGINVER1
-
-2001-04-22 13:06  richardb
-
-	* plugins/mpeg2/mpeg2enc/gstmpeg2enc.c: Fix bad merge with head.
-
-2001-04-22 11:16  richardb
-
-	* configure.in, examples/autoplug/autoplug.c, gst/gstbuffer.c,
-	gst/gstbuffer.h, gst/gstcaps.h, gst/gstprops.h,
-	gst/autoplug/gststaticautoplugrender.c, libs/putbits/gstputbits.c,
-	plugins/Makefile.am, plugins/dv/Makefile.am, plugins/dv/NOTES,
-	plugins/dv/dvdec.c, plugins/dv/dvdec.h,
-	plugins/filters/colorspace/colorspace.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c, plugins/oss/gstosssink.c,
-	plugins/videoscale/videoscale.c, test/Makefile.am, test/dvshow.c,
-	test/mp2tomp1.c, test/video2mp1.c: Merged from trunk
-
-2001-04-22 05:38  omegahacker
-
-	* gst/: gstbuffer.c, gstbuffer.h, gstcaps.h: fixes for gstbuffer,
-	and removed ## from gstcaps.h that was causing all that warning
-	noise
-
-2001-04-22 02:41  omegahacker
-
-	* gst/gstbuffer.c: completed gst_buffer_copy, added API comments
-
-2001-04-22 02:40  omegahacker
-
-	* test/: Makefile.am, dvshow.c: added test program for dv decoder
-
-2001-04-22 02:32  omegahacker
-
-	* gst/gstprops.h: added GST_STR_FOURCC, which takes strings like
-	"YUY2" instead of 'Y','U','Y','2'.  better, I think <g>
-
-2001-04-22 02:30  wtay
-
-	* configure.in: Add -lm and the glib libs too for the dv_init check
-
-2001-04-22 02:30  omegahacker
-
-	* gst/: gstbuffer.c, gstbuffer.h: Added gst_buffer_copy().  It's
-	not complete, it should copy more stuff like flags and such. 
-	FIXME.
-
-2001-04-22 02:28  omegahacker
-
-	* plugins/Makefile.am: fixed caps error in path for dv
-
-2001-04-22 00:48  omegahacker
-
-	* configure.in, plugins/Makefile.am, plugins/dv/Makefile.am,
-	plugins/dv/NOTES, plugins/dv/dvdec.c, plugins/dv/dvdec.h: added
-	initial DV (smpte314m) decoder plugin
-
-2001-04-21 18:45  wtay
-
-	* examples/autoplug/autoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, libs/putbits/gstputbits.c,
-	plugins/filters/colorspace/colorspace.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c, plugins/oss/gstosssink.c,
-	plugins/videoscale/videoscale.c, test/Makefile.am, test/mp2tomp1.c,
-	test/video2mp1.c: Fixed a few plugins so that mpeg1 encoding sorta
-	works.	Added an mpeg1 encoder example, it uses the autoplugger to
-	convert the stream to audio/video, which is then fed to the
-	encoders.
-
-2001-04-21 13:43  richardb
-
-	* gst/gstplugin.c, gst/gstplugin.h, plugins/1394/gst1394.c,
-	plugins/alaw/alaw.c, plugins/alsa/alsasink.c,
-	plugins/alsa/alsasrc.c, plugins/arts/gst_arts.c,
-	plugins/artsd/artsdsink.c, plugins/au/gstparseau.c,
-	plugins/audioscale/audioscale.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/cobin/cobin.c, plugins/cobin/spindentity.c,
-	plugins/dvdsrc/dvdsrc.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/adder/adder.c,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/smooth/smooth.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/volenv/volenv.c, plugins/flx/flx_decoder.c,
-	plugins/icecast/icecastsend/icecastsend.c, plugins/jpeg/gstjpeg.c,
-	plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c, plugins/mp3decode/xa/gstxa.c,
-	plugins/mp3decode/xing/gstxing.c, plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/mulaw/mulaw.c,
-	plugins/oss/gstossaudio.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/vcdsrc/vcdsrc.c,
-	plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	examples/plugins/example.c, gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, gst/elements/gstelements.c,
-	gst/types/gsttypes.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/wav/gstparsewav.c, plugins/xmms/gstxmms.c,
-	plugins/xmms/gstxmmseffect.c, plugins/xvideosink/xvideosink.c: Use
-	plugin descriptions, which start with the major and minor version
-	numbers, instead of relying on each plugin to call gst_plugin_new
-	appropriately, and check the return value, and tidy up if there's a
-	failure.  This seems to work fine, and factors out some code common
-	to all plugins.
-
-2001-04-21 10:30  richardb
-
-	* examples/plugins/example.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c, gst/elements/gstelements.c,
-	gst/types/gsttypes.c, plugins/1394/gst1394.c, plugins/alaw/alaw.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/arts/gst_arts.c, plugins/artsd/artsdsink.c,
-	plugins/au/gstparseau.c, plugins/audioscale/audioscale.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/cobin/cobin.c, plugins/cobin/spindentity.c,
-	plugins/dvdsrc/dvdsrc.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/adder/adder.c,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/smooth/smooth.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/volenv/volenv.c, plugins/flx/flx_decoder.c,
-	plugins/icecast/icecastsend/icecastsend.c, plugins/jpeg/gstjpeg.c,
-	plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c, plugins/mp3decode/xa/gstxa.c,
-	plugins/mp3decode/xing/gstxing.c, plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/mulaw/mulaw.c,
-	plugins/oss/gstossaudio.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/vcdsrc/vcdsrc.c,
-	plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/wav/gstparsewav.c, plugins/xmms/gstxmms.c,
-	plugins/xvideosink/xvideosink.c: Added first attempt at plugin
-	versioning.
-
-2001-04-21 00:20  wtay
-
-	* plugins/filters/colorspace/colorspace.c: Added more verbose
-	output for debugging purposes.
-
-2001-04-20 23:50  wtay
-
-	* plugins/xvideosink/: gstximage.c, gstxvimage.c, xvideosink.c,
-	xvideosink.h: Added proper locking around the bufferpool and the X
-	connection
-
-2001-04-20 22:41  wtay
-
-	* plugins/mp3decode/mad/gstmad.c: Removed a g_print statement
-
-2001-04-20 22:40  wtay
-
-	* plugins/mp3decode/mad/: gstmad.c, gstmad.h: Added Mad didn't take
-	the number of channels into account.  Added propper TIMESTAMPS to
-	output buffers.
-
-2001-04-20 21:36  wtay
-
-	* plugins/oss/gstosssink.c: Added a sync when the device is opened
-	so that the caps negotiated parmams are set.
-
-2001-04-20 20:21  wtay
-
-	* gst/elements/: gstidentity.c, gstidentity.h: Added caps proxying
-	and bufferpool passing to identity so that -launch disksrc ! mad !
-	identity ! osssink works.
-
-2001-04-20 15:42  richardb
-
-	* plugins/oss/gstosssink.c: #ifdef out bit about AFMT_AC3, since
-	this isn't defined by the header files for older linux kernels
-	(2.0.36) (and its just INFO code, anyway)
-
-2001-04-20 13:04  thomasvs
-
-	* gst/elements/: Makefile.am, gstelements.c: update to take new
-	gstdisksink element into account
-
-2001-04-20 12:56  richardb
-
-	* gst/Makefile.am.future: Update the alternative Makefile.am for
-	gst/, which depends on automake
-	>1.4d
-
-2001-04-20 12:14  thomasvs
-
-	* gst/elements/: gstdisksink.c, gstdisksink.h: * first stab at a
-	disk sink element * no optimization, is it necessary ? * basic
-	error checking * seems to work; you can copy files by typing  
-	gstreamer-launch disksrc location=test.in ! disksink
-	location=test.out * decode of mp3 to raw pcm also tested
-
-2001-04-20 00:47  omegahacker
-
-	* plugins/arts/: .cvsignore, Makefile.am, gst_arts.c, gst_arts.h,
-	gst_artsio.cc, gst_artsio.h, gst_artsio.idl, gst_artsio.mcopclass,
-	gst_artsio.mcoptype, gst_artsio_impl.cc: updated to a mostly
-	working aRts wrapper plugin, just caps issues left
-
-2001-04-19 23:25  wtay
-
-	* docs/gst/gstreamer.hierarchy, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstcpu.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstparse.sgml,
-	docs/gst/tmpl/gstpipeline.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstprops.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	gst/gstpad.c: More API docs updates
-
-2001-04-19 23:03  omegahacker
-
-	* plugins/arts/gst_artsio_impl.cc: minor updates
-
-2001-04-19 21:42  omegahacker
-
-	* configure.in, plugins/Makefile.am, plugins/1394/.cvsignore,
-	plugins/1394/Makefile.am, plugins/1394/gst1394.c,
-	plugins/1394/gst1394.h: First pass at 1394 source.  Arguments need
-	to be added, etc.  But it works.
-
-2001-04-19 17:40  omegahacker
-
-	* plugins/arts/gst_arts.c: updated to latest padtemplate code
-
-2001-04-19 10:27  thomasvs
-
-	* plugins/filters/adder/adder.c: * a little cleanup
-
-2001-04-19 01:23  omegahacker
-
-	* configure.in, plugins/Makefile.am: better (not complete, afaict)
-	checking for arts
-
-2001-04-19 00:25  omegahacker
-
-	* plugins/arts/: Makefile.am, gst_arts.c, gst_arts.h,
-	gst_artsio.cc, gst_artsio.h, gst_artsio.idl, gst_artsio.mcopclass,
-	gst_artsio.mcoptype, gst_artsio_impl.cc: first pass at a gstreamer
-	arts plugin doesn't compile yet
-
-2001-04-18 23:00  wtay
-
-	* plugins/xvideosink/xvideosink.c: Removed stupid g_print
-	statements.
-
-2001-04-18 22:59  wtay
-
-	* plugins/: mpeg2/mpeg2dec/gstmpeg2dec.c, xvideosink/xvideosink.c:
-	Fixed a stupid bug in the mpeg2dec bufferpool handling.  Make an
-	XvImage and XImage pool in xvideosink.	Together these changes give
-	an 80% speedup on mpeg2 playback (rough estimate)
-
-2001-04-18 21:16  wtay
-
-	* docs/gst/tmpl/: gstbin.sgml, gstbuffer.sgml, gstbufferpool.sgml,
-	gstcaps.sgml, gstreamer-unused.sgml: Added more API docs to
-	Autoplug, Buffer, Bin, BufferPool.  Fixed some compile problems
-	with videosink
-
-2001-04-18 17:08  thomasvs
-
-	* examples/mixer/mixer.c: * mixer now works with variable inputs *
-	mixer creates custom volume envelopes allowing each song to play
-	alone	      and end with a mix of all of them, undistorted
-
-2001-04-18 15:50  thomasvs
-
-	* plugins/filters/volenv/filter.func: made errors more descriptive
-
-2001-04-18 15:04  thomasvs
-
-	* examples/mixer/mixer.c: * cleaned up some code and integrated
-	with new adder (mixer now works with   different types of files)
-
-2001-04-18 15:03  thomasvs
-
-	* plugins/filters/adder/: adder.c, adder.h: changed adder to work
-	with variable length input data buffers
-
-2001-04-17 22:17  thomasvs
-
-	* examples/mixer/: mixer.c, mixer.h: changed mixer to work by
-	autoplugging the input channels (not very useful yet, since the
-	input buffers to volenv have different sizes)
-
-2001-04-17 22:14  wtay
-
-	* configure.in, docs/gst/gstreamer-sections.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/tmpl/gst.sgml,
-	docs/gst/tmpl/gstautoplug.sgml, docs/gst/tmpl/gstbin.sgml,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstfakesink.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, gst/gstcaps.c,
-	gst/gstobject.c, gst/gstpad.c, testsuite/capsnego/capsnego.c,
-	testsuite/capsnego/converter.c, testsuite/capsnego/converter2.c,
-	testsuite/capsnego/enum.c: The first wave of docs updates Added a
-	little more comments about the API usage in the api docs.  Some
-	fixes for the capsnego testsuite.
-
-2001-04-17 22:03  wtay
-
-	* tests/: Makefile.am, autoplug3.c, autoplug4.c: Autoplug3 shows an
-	example of an autoplugged mp3 player.  Autoplug4 shows various
-	static autoplugger examples.
-
-2001-04-17 18:48  thomasvs
-
-	* examples/mixer/mixer.h: header for mixer.c, containing
-	input_pipe_t
-
-2001-04-17 18:47  thomasvs
-
-	* examples/mixer/mixer.c: added a struct to set up input channels
-
-2001-04-17 16:32  thomasvs
-
-	* plugins/filters/volenv/: filter.func, volenv.c: * fixed problem
-	with starting rise calculation * cleaned up some debug info *
-	started wondering if it really is a good idea to #include the
-	actual	 filter now that's it's grown so large, but decided it
-	wasn't worth the   effort now anyway
-
-2001-04-17 14:36  thomasvs
-
-	* configure.in: added mixer example and adder plugin to
-	configure.in
-
-2001-04-17 06:24  omegahacker
-
-	* gst/: Makefile.am, autoplug/Makefile.am, elements/Makefile.am,
-	types/Makefile.am: finished change to GST_ macros
-
-2001-04-17 03:19  omegahacker
-
-	* configure.in, gst/.cvsignore, gst/Makefile.am, gst/gst.h,
-	gst/gstversion.h.in: added gstversion.h
-
-2001-04-17 02:32  omegahacker
-
-	* gstreamer.pc.in: file gstreamer.pc.in was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-04-17 02:32  omegahacker
-
-	* gstreamer.pc.in: added pkg-config file
-
-2001-04-17 00:17  omegahacker
-
-	* gst/autoplug/: Makefile.am, gststaticautoplug.c,
-	gststaticautoplug.h, gststaticautoplugrender.c,
-	gststaticautoplugrender.h: brought in autoplug dir from HEAD after
-	screwed up merge
-
-2001-04-17 00:17  wtay
-
-	* plugins/: filters/colorspace/colorspace.c,
-	filters/colorspace/colorspace.h, mpeg2/mpeg2dec/gstmpeg2dec.c,
-	mpeg2/mpeg2dec/gstmpeg2dec.h, xvideosink/gstximage.h,
-	xvideosink/gstxvimage.h, xvideosink/xvideosink.c,
-	xvideosink/xvideosink.h: Added bufferpools to mpeg2dec and
-	xvideosink.  Modified colorspace to draw straight into a bufferpool
-	buffer when possible.
-
-2001-04-16 22:48  wtay
-
-	* tests/: Makefile.am, padfactory.c: Updated the padfactory test
-	code.
-
-2001-04-16 22:45  wtay
-
-	* gst/: gstbuffer.h, gstcaps.c, gstcaps.h, gstpad.c, gstpad.h,
-	gstqueue.c: Added 1337 macros to create padtemplates and
-	capstemplates.	Added some code for bufferpools
-
-2001-04-16 22:43  omegahacker
-
-	* AUTHORS, Makefile.am, REQUIREMENTS, acconfig.h, configure.in,
-	gstreamer-config.1, gstreamer-config.in, gstreamer.m4,
-	gstreamer.spec.in, components/bonobo-gstmediaplay/Makefile.am,
-	components/bonobo-gstmediaplay/bonobo-gstmediaplay.c,
-	debian/.cvsignore, debian/Makefile.am, debian/README.Debian,
-	debian/changelog, debian/control, debian/copyright,
-	debian/gsteditor.files, debian/gsteditor.manpages,
-	debian/gsteditor.menu, debian/gstmediaplay.files,
-	debian/gstmediaplay.manpages, debian/gstmediaplay.menu,
-	debian/gstreamer-alsa.files, debian/gstreamer-cdparanoia.files,
-	debian/gstreamer-common.files, debian/gstreamer-doc.files,
-	debian/gstreamer-elements.files, debian/gstreamer-esd.files,
-	debian/gstreamer-lame.files, debian/gstreamer-mpeg2dec.files,
-	debian/gstreamer-mpg123.files,
-	debian/gstreamer-plugin-template.postinst,
-	debian/gstreamer-plugin-template.prerm,
-	debian/gstreamer-runtime.files, debian/gstreamer-runtime.manpages,
-	debian/gstreamer-runtime.postinst, debian/gstreamer-tools.files,
-	debian/gstreamer-tools.manpages, debian/gstreamer-vorbis.files,
-	debian/libgst-dev.files, debian/libgst-dev.manpages,
-	debian/libgst0.files, debian/libgst0.postinst,
-	debian/libgsteditor-dev.files, debian/libgsteditor0.files,
-	debian/libgsteditor0.postinst, debian/libgstmediaplay-dev.files,
-	debian/libgstmediaplay0.files, debian/libgstmediaplay0.postinst,
-	debian/rules, docs/Makefile.am, docs/fwg/Makefile.am,
-	docs/fwg/concepts.sgml, docs/fwg/firstplugin.sgml,
-	docs/fwg/gst-plugin-writers-guide.sgml, docs/fwg/testapp.sgml,
-	docs/fwg/titlepage.sgml, docs/fwg/typesnprops.sgml,
-	docs/gst/Makefile.am, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/gstreamer.types.in, docs/gst/tmpl/audioraw.sgml,
-	docs/gst/tmpl/gstarch.sgml, docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstautoplug.sgml, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstcaps.sgml, docs/gst/tmpl/gstcpu.sgml,
-	docs/gst/tmpl/gstdisksrc.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstmultidisksrc.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstsinesrc.sgml,
-	docs/gst/tmpl/gststaticautoplug.sgml,
-	docs/gst/tmpl/gststaticautoplugrender.sgml,
-	docs/gst/tmpl/gstutils.sgml, docs/gst/tmpl/videoraw.sgml,
-	docs/libs/.cvsignore, docs/manual/Makefile.am,
-	docs/manual/bins.sgml, docs/manual/debugging.sgml,
-	docs/manual/dynamic.sgml, docs/manual/gstreamer-manual.sgml,
-	docs/manual/helloworld.sgml, docs/manual/helloworld2.sgml,
-	docs/manual/pads.sgml, docs/manual/plugins.sgml,
-	docs/manual/queues.sgml, docs/manual/quotes.sgml,
-	docs/manual/threads.sgml, docs/manual/typedetection.sgml,
-	docs/manual/xml.sgml, docs/plugins/Makefile.am,
-	docs/plugins/gstdoc-scanobj, docs/plugins/tmpl/ac3parse.sgml,
-	docs/plugins/tmpl/audioscale.sgml,
-	docs/plugins/tmpl/gstaviencoder.sgml,
-	docs/plugins/tmpl/gstmpeg2enc.sgml,
-	docs/plugins/tmpl/gstmpeg2play.sgml,
-	docs/plugins/tmpl/gstmpeg_play.sgml,
-	docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/plugins/tmpl/gstspectrum.sgml,
-	docs/plugins/tmpl/gstv4lsrc.sgml, docs/plugins/tmpl/gstwindec.sgml,
-	docs/plugins/tmpl/gstwinenc.sgml, docs/plugins/tmpl/median.sgml,
-	docs/plugins/tmpl/mp3parse.sgml, docs/plugins/tmpl/mpeg1parse.sgml,
-	docs/plugins/tmpl/mpeg2parse.sgml,
-	docs/plugins/tmpl/mpeg2subt.sgml, docs/plugins/tmpl/smooth.sgml,
-	docs/plugins/tmpl/smoothwave.sgml, docs/plugins/tmpl/stereo.sgml,
-	docs/plugins/tmpl/synaesthesia.sgml,
-	docs/plugins/tmpl/system_encode.sgml,
-	docs/plugins/tmpl/videoscale.sgml,
-	docs/plugins/tmpl/videosink.sgml, docs/plugins/tmpl/volume.sgml,
-	docs/plugins/tmpl/vumeter.sgml, docs/random/NOTES-0.1.1,
-	docs/random/caps.dia, docs/random/hierarchy,
-	docs/random/plugins.dia, docs/random/omega/eos,
-	docs/random/omega/eos.old, docs/random/wtay/autoplug2,
-	docs/random/wtay/caps-negociation, docs/random/wtay/capsnego-cases,
-	editor/Makefile.am, editor/gsteditor.1, editor/gsteditor.h,
-	editor/gsteditorproperty.c, examples/Makefile.am,
-	examples/autoplug/.cvsignore, examples/autoplug/autoplug.c,
-	examples/helloworld/helloworld.c,
-	examples/helloworld2/helloworld2.c, examples/launch/mp3play,
-	examples/plugins/example.c, examples/plugins/example.h,
-	examples/queue/queue.c, examples/queue2/queue2.c,
-	examples/queue3/queue3.c, examples/queue4/queue4.c,
-	examples/thread/thread.c, examples/typefind/.cvsignore,
-	examples/xml/createxml.c, examples/xml/runxml.c, gst/Makefile.am,
-	gst/Makefile.am.future, gst/cothreads.c, gst/gst.c, gst/gst.h,
-	gst/gstarch.h, gst/gstautoplug.c, gst/gstautoplug.h, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstcaps.c, gst/gstcaps.h, gst/gstcpu.c,
-	gst/gstcpu.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstinfo.c, gst/gstinfo.h,
-	gst/gstobject.c, gst/gstpad.c, gst/gstpad.h, gst/gstparse.c,
-	gst/gstpipeline.c, gst/gstpipeline.h, gst/gstplugin.c,
-	gst/gstplugin.h, gst/gstprops.c, gst/gstprops.h,
-	gst/gstpropsprivate.h, gst/gstqueue.c, gst/gstscheduler.c,
-	gst/gstsparc.h, gst/gstthread.c, gst/gsttype.c, gst/gsttype.h,
-	gst/gsttypefind.c, gst/gstutils.c, gst/gstutils.h,
-	gst/elements/Makefile.am, gst/elements/gstaudiosink.c,
-	gst/elements/gstaudiosink.h, gst/elements/gstaudiosrc.c,
-	gst/elements/gstaudiosrc.h, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gst/elements/gstmultidisksrc.c,
-	gst/elements/gstmultidisksrc.h, gst/elements/gstsinesrc.c,
-	gst/elements/gstsinesrc.h, gst/elements/gsttee.c,
-	gst/types/gsttypes.c, gstplay/Makefile.am, gstplay/callbacks.c,
-	gstplay/gstmediaplay.1, gstplay/gstmediaplay.c,
-	gstplay/gstmediaplay.glade, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, include/Makefile.am, include/avifmt.h,
-	include/default.h, include/registry.h, libs/Makefile.am,
-	libs/getbits/gstgetbits.c, libs/getbits/gstgetbits.h,
-	libs/getbits/gstgetbits_inl.h, libs/idct/gstidct.c,
-	plugins/Makefile.am, plugins/alaw/Makefile.am,
-	plugins/alaw/alaw-conversion.c, plugins/alaw/alaw-conversion.h,
-	plugins/alaw/alaw-decode.c, plugins/alaw/alaw-decode.h,
-	plugins/alaw/alaw-encode.c, plugins/alaw/alaw-encode.h,
-	plugins/alaw/alaw.c, plugins/alaw/mulaw-conversion.c,
-	plugins/alaw/mulaw-conversion.h, plugins/alsa/.cvsignore,
-	plugins/alsa/Makefile.am, plugins/alsa/README, plugins/alsa/alsa.h,
-	plugins/alsa/alsa_common.c, plugins/alsa/alsainfo.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/artsd/.cvsignore, plugins/artsd/Makefile.am,
-	plugins/artsd/REQUIREMENTS, plugins/artsd/artsdsink.c,
-	plugins/artsd/artsdsink.h, plugins/au/gstparseau.c,
-	plugins/au/gstparseau.h, plugins/audioscale/audioscale.c,
-	plugins/audioscale/audioscale.h, plugins/avi/audiocodecs.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstavidecoder.h,
-	plugins/avi/gstaviencoder.c, plugins/avi/gstaviencoder.h,
-	plugins/avi/playcodecs.c, plugins/avi/wincodec/Makefile.am,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwincodec.h,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwindec.h,
-	plugins/avi/wincodec/gstwinenc.c, plugins/avi/wincodec/gstwinenc.h,
-	plugins/capture/v4l/grab.h, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, plugins/cdparanoia/cdparanoia.c,
-	plugins/effects/stereo/stereo.c, plugins/effects/stereo/stereo.h,
-	plugins/effects/volume/volume.c, plugins/effects/volume/volume.h,
-	plugins/esd/esdsink/esdsink.c, plugins/filters/Makefile.am,
-	plugins/filters/filterstamp.README, plugins/filters/filterstamp.sh,
-	plugins/filters/colorspace/.cvsignore,
-	plugins/filters/colorspace/Makefile.am,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/colorspace/yuv2rgb.c,
-	plugins/filters/colorspace/yuv2rgb.h,
-	plugins/filters/colorspace/yuv2rgb_mmx16.s,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/passthrough/.cvsignore,
-	plugins/filters/passthrough/Makefile.am,
-	plugins/filters/passthrough/filter.func,
-	plugins/filters/passthrough/passthrough.c,
-	plugins/filters/passthrough/passthrough.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/filters/stereo2mono/Makefile.am,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/filters/stereo2mono/stereo2mono.h,
-	plugins/filters/volenv/.cvsignore,
-	plugins/filters/volenv/Makefile.am,
-	plugins/filters/volenv/filter.func,
-	plugins/filters/volenv/volenv.c, plugins/filters/volenv/volenv.h,
-	plugins/flx/Makefile.am, plugins/flx/flx_color.c,
-	plugins/flx/flx_color.h, plugins/flx/flx_decoder.c,
-	plugins/flx/flx_decoder.h, plugins/flx/flx_fmt.h,
-	plugins/icecast/icecastsend/icecastsend.c, plugins/jpeg/gstjpeg.c,
-	plugins/jpeg/gstjpegdec.c, plugins/jpeg/gstjpegdec.h,
-	plugins/jpeg/gstjpegenc.c, plugins/jpeg/gstjpegenc.h,
-	plugins/mp3decode/Makefile.am, plugins/mp3decode/mad/.cvsignore,
-	plugins/mp3decode/mad/Makefile.am, plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mad/gstmad.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mp3decode/mpg123/tabinit.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/recon_mmxe.s,
-	plugins/mpeg1/mpeg_play/recon_sse.s,
-	plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/ac3dec/ac3dec.h, plugins/mpeg2/ac3dec/cpu_accel.c,
-	plugins/mpeg2/ac3dec/decode.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/attributes.h,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/header.c, plugins/mpeg2/mpeg2dec/header.h,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/mpeg2/mpeg2dec/idct.h,
-	plugins/mpeg2/mpeg2dec/idct_mlib.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.h,
-	plugins/mpeg2/mpeg2dec/mm_accel.h,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_mlib.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/output_video.h,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/mpeg2dec/slice.h,
-	plugins/mpeg2/mpeg2dec/stats.c, plugins/mpeg2/mpeg2dec/vlc.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/video/Makefile.am,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h, plugins/mpeg2/video/recon.c,
-	plugins/mpeg2/video/recon_mmxe.s, plugins/mpeg2/video/recon_sse.s,
-	plugins/mpeg2/videoparse/mp2videoparse.c,
-	plugins/mulaw/Makefile.am, plugins/mulaw/mulaw-conversion.c,
-	plugins/mulaw/mulaw-conversion.h, plugins/mulaw/mulaw-decode.c,
-	plugins/mulaw/mulaw-decode.h, plugins/mulaw/mulaw-encode.c,
-	plugins/mulaw/mulaw-encode.h, plugins/mulaw/mulaw.c,
-	plugins/oss/.cvsignore, plugins/oss/Makefile.am,
-	plugins/oss/gstossaudio.c, plugins/oss/gstosssink.c,
-	plugins/oss/gstosssink.h, plugins/oss/gstosssrc.c,
-	plugins/oss/gstosssrc.h, plugins/rtjpeg/RTjpeg.h,
-	plugins/rtp/Makefile.am, plugins/rtp/rtpsend/.cvsignore,
-	plugins/rtp/rtpsend/Makefile.am, plugins/rtp/rtpsend/rtp.c,
-	plugins/rtp/rtpsend/rtp.h, plugins/rtp/rtpsend/rtpsend.c,
-	plugins/rtp/rtpsend/rtpsend.h, plugins/videoscale/videoscale.c,
-	plugins/videoscale/videoscale.h,
-	plugins/visualization/smoothwave/smoothwave.h,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/spectrum/gstspectrum.h,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/synaesthesia/synaesthesia.h,
-	plugins/visualization/vumeter/vumeter.c,
-	plugins/visualization/vumeter/vumeter.h, plugins/vorbis/vorbis.c,
-	plugins/vorbis/vorbisdec.c, plugins/wav/Makefile.am,
-	plugins/wav/gstparsewav.c, plugins/wav/gstparsewav.h,
-	plugins/wav/gstriff.c, plugins/xmms/.cvsignore,
-	plugins/xmms/Makefile.am, plugins/xmms/effect.h,
-	plugins/xmms/general.h, plugins/xmms/gstxmms.c,
-	plugins/xmms/gstxmms.h, plugins/xmms/gstxmmseffect.c,
-	plugins/xmms/gstxmmseffect.h, plugins/xmms/gstxmmsinput.c,
-	plugins/xmms/gstxmmsinput.h, plugins/xmms/input.h,
-	plugins/xmms/main.h, plugins/xmms/output.h,
-	plugins/xmms/pluginenum.c, plugins/xmms/pluginenum.h,
-	plugins/xmms/visualization.h, plugins/xmms/xmms.h,
-	plugins/xvideosink/.cvsignore, plugins/xvideosink/Makefile.am,
-	plugins/xvideosink/gstximage.c, plugins/xvideosink/gstximage.h,
-	plugins/xvideosink/gstxvimage.c, plugins/xvideosink/gstxvimage.h,
-	plugins/xvideosink/gstxwindow.c, plugins/xvideosink/gstxwindow.h,
-	plugins/xvideosink/imagetest.c, plugins/xvideosink/xvideosink.c,
-	plugins/xvideosink/xvideosink.h, test/.cvsignore, test/Makefile.am,
-	test/a.c, test/ac3play.c, test/aviparse.c, test/m.c, test/mcut.c,
-	test/mp1parse.c, test/mp1tomp1.c, test/mp2toavi.c, test/mp2tomp1.c,
-	test/mp3.c, test/mp3play.c, test/mpeg2parse.c, test/mpeg2parse2.c,
-	test/mpg123.c, test/p.c, test/qtest.c, test/r.c, test/record.c,
-	test/s.c, test/spectrum.c, test/typefind.c, test/vidcapture.c,
-	test/vidcapture2.c, test/videotest.c, test/videotest2.c, test/w.c,
-	test/xmmstest.c, test/xml/readreg.c, tests/.cvsignore,
-	tests/Makefile.am, tests/autoplug.c, tests/autoplug2.c,
-	tests/autoplug3.c, tests/caps.c, tests/capsconnect.c,
-	tests/paranoia.c, tests/props.c, tests/nego/.cvsignore,
-	tests/nego/Makefile.am, tests/nego/nego1.c, testsuite/Makefile.am,
-	testsuite/test_gst_init.c, testsuite/capsnego/.cvsignore,
-	testsuite/capsnego/Makefile.am, testsuite/capsnego/capsnego.c,
-	testsuite/capsnego/converter.c, testsuite/capsnego/converter2.c,
-	testsuite/capsnego/enum.c, tools/Makefile.am, tools/README,
-	tools/gstreamer-inspect.1, tools/gstreamer-inspect.c,
-	tools/gstreamer-launch.1, tools/gstreamer-launch.c,
-	tools/gstreamer-register.1: Merged HEAD from
-	BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
-
-2001-04-16 22:33  wtay
-
-	* test/: Makefile.am, mp3mad.c: Added an test program for the mad
-	mp3 decoder.
-
-2001-04-16 20:41  thomasvs
-
-	* plugins/filters/adder/adder.c: commented some debug info to get a
-	clean output
-
-2001-04-16 20:38  thomasvs
-
-	* examples/mixer/mixer.c: changed volume envelope; should do a nice
-	transition between both songs now
-
-2001-04-16 20:11  thomasvs
-
-	* plugins/filters/volenv/volenv.c: removed example volume envelope
-	registration plugin now accepts both a volume envelope (before
-	start) or direct argument setting
-
-2001-04-16 18:36  omegahacker
-
-	* plugins/mp3decode/mad/gstmad.c: added code to deal with either
-	0.12 or 0.13 of libmad
-
-2001-04-16 17:45  wtay
-
-	* gst/elements/: gstfakesink.c, gstfakesink.h: Added an arg to
-	fakesink so that it doesn't printf.
-
-2001-04-16 17:34  wtay
-
-	* examples/: autoplug/autoplug.c, mixer/.cvsignore,
-	mixer/Makefile.am, mixer/mixer.c: Added an example audio mixer.
-
-2001-04-16 17:30  wtay
-
-	* plugins/filters/: adder/.cvsignore, adder/Makefile.am,
-	adder/adder.c, adder/adder.h, colorspace/colorspace.c: Added the
-	audio mixer from Thomas Vander Stichele
-
-2001-04-16 11:55  wtay
-
-	* examples/autoplug/autoplug.c: Add the xvideosink to the example.
-
-2001-04-16 01:59  wtay
-
-	* plugins/filters/volenv/: filter.func, volenv.c: More volenv
-	updates
-
-2001-04-16 00:59  omegahacker
-
-	* gst/gstbin.c, gst/gstscheduler.c, gst/gstthread.c,
-	gst/elements/gstidentity.c, tests/threadlock.c: latest updates,
-	things are very close to working
-
-2001-04-16 00:44  wtay
-
-	* plugins/filters/colorspace/: Makefile.am, colorspace.c,
-	yuv2rgb.h: Don't compile the asm on non x86 machines.  Added a
-	header file that will soon be part of the C fallback code..
-
-2001-04-16 00:12  wtay
-
-	* gst/gstinfo.c: Added missing category strings...
-
-2001-04-16 00:05  wtay
-
-	* plugins/esd/esdsink/esdsink.c: fixed the audio caps to the latest
-	standard.
-
-2001-04-15 23:54  omegahacker
-
-	* tools/gstreamer-launch.c: save xml file of the launch cmdline
-
-2001-04-15 23:54  omegahacker
-
-	* gst/gstelement.h: added comment about missing flag
-
-2001-04-15 23:53  omegahacker
-
-	* gstreamer.spec.in: run gstreamer-register on postinstall
-
-2001-04-15 23:52  omegahacker
-
-	* gst/autoplug/: gststaticautoplug.c, gststaticautoplugrender.c:
-	changed some INFOs to DEBUGs
-
-2001-04-15 23:29  wtay
-
-	* configure.in: Added the volenv/passthrough plugin Makefiles
-
-2001-04-15 23:20  wtay
-
-	* plugins/filters/: passthrough/.cvsignore,
-	passthrough/passthrough.c, volenv/.cvsignore, volenv/Makefile.am,
-	volenv/filter.func, volenv/volenv.c, volenv/volenv.h: Modified the
-	passthrough filter with the new caps API Added the volume envelope
-	filter
-
-2001-04-15 16:30  wtay
-
-	* plugins/filters/: filterstamp.README, filterstamp.sh,
-	passthrough/Makefile.am, passthrough/filter.func,
-	passthrough/passthrough.c, passthrough/passthrough.h: Added a
-	little script to create an audio filter plugin template (provided
-	by Thomas Vander Stichele)
-
-2001-04-15 15:42  wtay
-
-	* plugins/icecast/icecastsend/icecastsend.c: Updated the icecast
-	plugin
-
-2001-04-15 15:29  wtay
-
-	* acconfig.h, configure.in, plugins/filters/Makefile.am,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/mp3decode/Makefile.am, plugins/mp3decode/mad/.cvsignore,
-	plugins/mp3decode/mad/Makefile.am, plugins/mp3decode/mad/gstmad.c,
-	plugins/mp3decode/mad/gstmad.h, plugins/vorbis/vorbisdec.c,
-	test/xmmstest.c: Added the mad mp3 decoder.  Added flushing to the
-	vorbis decoder.  Updated configure.in to check for Hermes and
-	libmad
-
-2001-04-15 02:02  wtay
-
-	* gst/gstprops.c: Fixed the gfloat error in the va_arg code.
-
-2001-04-14 19:56  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/videoraw.sgml,
-	editor/gsteditorproperty.c, examples/plugins/example.c,
-	gst/gstcaps.c, gst/gstcaps.h, gst/gstpad.c, gst/gstpad.h,
-	gst/gstplugin.c, gst/gstprops.c, gst/gstprops.h,
-	gst/elements/gsttee.c, gstplay/Makefile.am, gstplay/gstplay.c,
-	plugins/alaw/alaw.c, plugins/alsa/alsa.h,
-	plugins/alsa/alsa_common.c, plugins/alsa/alsasink.c,
-	plugins/alsa/alsasrc.c, plugins/artsd/artsdsink.c,
-	plugins/au/gstparseau.c, plugins/audioscale/audioscale.c,
-	plugins/avi/audiocodecs.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/cdparanoia/cdparanoia.c, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/yuv2rgb.c,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/flx/flx_decoder.c, plugins/jpeg/gstjpeg.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/mulaw/mulaw.c,
-	plugins/oss/gstosssink.c, plugins/rtp/rtpsend/rtpsend.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/vorbis/vorbisdec.c, plugins/wav/gstriff.c,
-	plugins/xmms/gstxmmseffect.c, plugins/xmms/gstxmmsinput.c,
-	plugins/xvideosink/gstxvimage.c, plugins/xvideosink/xvideosink.c,
-	tests/autoplug.c, tests/autoplug2.c, tests/autoplug3.c,
-	tests/caps.c, tests/props.c, tools/gstreamer-inspect.c: A rather
-	large patch:  - changed the API for the padtemplates:	   - remove
-	the factories (array of pointers) for the padtemplates,       
-	properties and caps. The static array was a nice idea but
-	converting	  all the property values to a gpointer was not a
-	good idea.	   float properties were not possible, and casting
-	a gint to a pointer	    is not very portable. The new API just
-	uses the _padtemplate_new,	   _caps_new and _props_new
-	functions to create the templates.	   This has the added
-	benefit that the API is now uniform for static	       and dynamic
-	templates and that the code can be made cleaner.       - lots of
-	cleanups in the way the capabilities are constructed (va_list)	   
-	 - lots of updates for all the plugins (new API)   - docs updates
-	(new API)   - removed the videoraw docs.
-
-2001-04-12 19:11  wtay
-
-	* components/bonobo-gstmediaplay/Makefile.am,
-	components/bonobo-gstmediaplay/bonobo-gstmediaplay.c,
-	docs/gst/Makefile.am, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	examples/helloworld/helloworld.c, gst/gstcaps.h, gst/gstinfo.h,
-	gst/gstpad.c, gst/gstpad.h, gst/gstprops.c, gst/gstqueue.c,
-	gst/autoplug/gststaticautoplugrender.c, gstplay/gstplay.c,
-	gstplay/gstplayprivate.h, libs/idct/gstidct.c,
-	plugins/artsd/Makefile.am, plugins/avi/gstavidecoder.c,
-	plugins/avi/playcodecs.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/filters/Makefile.am,
-	plugins/filters/colorspace/Makefile.am,
-	plugins/filters/colorspace/colorspace.c,
-	plugins/filters/colorspace/colorspace.h,
-	plugins/filters/colorspace/yuv2rgb_mmx16.s,
-	plugins/filters/stereo2mono/stereo2mono.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/ac3dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c, plugins/oss/gstosssink.c,
-	plugins/xvideosink/gstxvimage.c, plugins/xvideosink/gstxwindow.c,
-	plugins/xvideosink/gstxwindow.h, plugins/xvideosink/xvideosink.c,
-	plugins/xvideosink/xvideosink.h, test/mpeg2parse2.c: Lots of
-	updates to the plugins for caps negotiation.  Added YUY2 output to
-	the win32 dlls.  Added a colorspace converter in gstplay
-
-2001-04-10 20:46  wtay
-
-	* docs/gst/: gstreamer-docs.sgml, gstreamer-sections.txt,
-	tmpl/gstcaps.sgml, tmpl/gstprops.sgml, tmpl/gstreamer-unused.sgml:
-	Fixed the doc build warnings
-
-2001-04-09 20:56  mhowell
-
-	* docs/random/matth/scheduling.txt: added incremental scheduling
-	notes
-
-2001-04-09 20:56  mhowell
-
-	* docs/random/matth/scheduling.txt: file scheduling.txt was
-	initially added on branch BRANCH-INCSCHED1.
-
-2001-04-06 17:29  scavenger
-
-	* configure.in, plugins/Makefile.am, plugins/alaw/Makefile.am,
-	plugins/alaw/alaw-conversion.c, plugins/alaw/alaw-conversion.h,
-	plugins/alaw/alaw-decode.c, plugins/alaw/alaw-decode.h,
-	plugins/alaw/alaw-encode.c, plugins/alaw/alaw-encode.h,
-	plugins/alaw/alaw.c, plugins/alaw/mulaw-conversion.c,
-	plugins/alaw/mulaw-conversion.h: Added ALaw encoder and decoder
-
-2001-04-06 15:20  scavenger
-
-	* plugins/wav/Makefile.am: Makefile.am forgot to include gstriff.c
-
-2001-04-03 17:25  scavenger
-
-	* plugins/au/gstparseau.c: Updated parseau to use caps nego
-
-2001-04-03 05:56  richardb
-
-	* gst/Makefile.am.future: Add a proposed makefile to use in place
-	of Makefile.am.  This depends on automake 1.4d or later, but is
-	much neater, avoiding horrible hacks to pass special flags in.
-	
-	I put it here for safekeeping until automake 1.5 is released, at
-	which point we can reasonably require it.
-
-2001-04-03 05:53  richardb
-
-	* configure.in, plugins/Makefile.am, plugins/artsd/.cvsignore,
-	plugins/artsd/Makefile.am, plugins/artsd/REQUIREMENTS,
-	plugins/artsd/artsdsink.c, plugins/artsd/artsdsink.h: Add artsdsink
-	plugin.  Worked first time for me. :)
-
-2001-04-03 05:52  richardb
-
-	* plugins/alsa/Makefile.am: Remove weird characters from alsa
-	Makefile.am  (Had some 240's there.  Uh?) Also, remove some
-	unwanted CFLAGS which had been added.
-
-2001-04-03 05:38  richardb
-
-	* gst/gstplugin.c: Fix obscure segfault I just got: perhaps due to
-	running with libxml 1.8.11 (prerelease version), but a worthwhile
-	fix anyway.
-
-2001-04-03 02:30  scavenger
-
-	* plugins/mulaw/mulaw-decode.c: fixed bug passing outbuf size
-	instead of in buf size to mulaw decode function
-
-2001-04-03 02:18  scavenger
-
-	* plugins/mulaw/mulaw-decode.c: typo mistaked src_template with
-	sink_template
-
-2001-04-03 02:01  wtay
-
-	* plugins/mulaw/mulaw.c: Use capstemplates to create the
-	padtemplates for the two elements in the mulaw plugin.
-
-2001-04-03 01:46  wtay
-
-	* plugins/xvideosink/xvideosink.c: Don't try to initialize Xv if it
-	is not available.
-
-2001-04-03 01:43  scavenger
-
-	* plugins/mulaw/mulaw-decode.h: fixed typo in get_type
-
-2001-04-03 01:38  scavenger
-
-	* plugins/mulaw/: mulaw-decode.c, mulaw-encode.c, mulaw.c: moved
-	details of mulawencode and mulawdecode to mulaw.c
-
-2001-04-03 01:33  scavenger
-
-	* plugins/mulaw/: mulaw-decode.c, mulaw-encode.c: removed a
-	redundant caps=NULL statement
-
-2001-04-03 01:30  scavenger
-
-	* plugins/mulaw/: mulaw-decode.c, mulaw-encode.c: fixed stupid bug
-	where srcpads were being created twice, second time around
-	wrongly!!!!
-
-2001-04-03 01:25  scavenger
-
-	* plugins/mulaw/: Makefile.am, mulaw-conversion.c,
-	mulaw-conversion.h, mulaw-decode.c, mulaw-decode.h, mulaw-encode.c,
-	mulaw.c: added mulaw decoder
-
-2001-04-02 21:03  wtay
-
-	* plugins/filters/colorspace/: .cvsignore, Makefile.am,
-	colorspace.c, colorspace.h: Added a non functional colorspace
-	converter
-
-2001-04-02 20:56  wtay
-
-	* configure.in, docs/libs/.cvsignore,
-	examples/helloworld/helloworld.c, gst/gstprops.c, gst/gstprops.h,
-	gst/gstpropsprivate.h: Merged the float property patch from Steve
-	Baker. This patch doesn't really work yet...
-
-2001-04-02 19:29  wtay
-
-	* plugins/mulaw/mulaw-encode.c: This is how I see the caps
-	negotiation for the mulaw element.  In the sink negotiate pad it
-	copies the caps and modifies it according to what it is going to
-	ouput. It then tries to set the caps on the src pad, if that
-	succeeds, negotiation succeeds, else it fails.
-
-2001-04-02 18:54  scavenger
-
-	* configure.in, plugins/Makefile.am, plugins/mulaw/Makefile.am,
-	plugins/mulaw/mulaw-conversion.c, plugins/mulaw/mulaw-conversion.h,
-	plugins/mulaw/mulaw-encode.c, plugins/mulaw/mulaw-encode.h: Start
-	of the mulaw plugin...needs finishing off
-
-2001-04-02 16:09  richardb
-
-	* configure.in: Add configure support for detecting artsc: if this
-	is found, its okay to build an artsdsink plugin.  Now, someone just
-	needs to write an artsdsink.
-
-2001-04-02 16:08  richardb
-
-	* plugins/oss/gstosssink.c: Correct tiny typo.
-
-2001-04-02 15:21  wtay
-
-	* gst/gstcaps.c, gst/gstprops.c, gstplay/gstplay.c,
-	plugins/Makefile.am, plugins/avi/audiocodecs.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstavidecoder.h,
-	plugins/avi/gstaviencoder.h, plugins/avi/playcodecs.c,
-	plugins/avi/wincodec/Makefile.am,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwincodec.h,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwindec.h,
-	plugins/avi/wincodec/gstwinenc.c, plugins/avi/wincodec/gstwinenc.h,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/filters/median/median.c,
-	plugins/filters/median/median.h, plugins/filters/smooth/smooth.c,
-	plugins/filters/smooth/smooth.h, plugins/flx/flx_decoder.c,
-	plugins/flx/flx_decoder.h, plugins/jpeg/gstjpeg.c,
-	plugins/jpeg/gstjpegdec.c, plugins/jpeg/gstjpegdec.h,
-	plugins/jpeg/gstjpegenc.c, plugins/jpeg/gstjpegenc.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h,
-	plugins/videoscale/videoscale.c, plugins/videoscale/videoscale.h,
-	plugins/xvideosink/Makefile.am, plugins/xvideosink/gstximage.c,
-	plugins/xvideosink/gstximage.h, plugins/xvideosink/gstxvimage.c,
-	plugins/xvideosink/gstxvimage.h, plugins/xvideosink/xvideosink.c,
-	test/Makefile.am, test/mpeg2parse2.c, test/videotest2.c: A rather
-	large update:  - a new videosink using plain X windows
-	(xvideosink). It uses capsnego to    set up it's formats.   -
-	gstplay uses the new xvideosink and a gtk_socket. The initial
-	window	   size is set to 0x0 so you need to resize it before you
-	see something.	 - got rid of the video metadata include file in
-	favour of properties and     caps negotiation	- adjusted most
-	plugins to not use the metadata.
-
-2001-04-02 15:08  omegahacker
-
-	* gst/gstinfo.c: added PID and cID to INFO lines when DEBUG is
-	turned on
-
-2001-04-01 15:09  wtay
-
-	* gstplay/: callbacks.c, gstmediaplay.glade: Small change to load
-	the .glade file from the current dir too when pressing the about
-	menu item.
-
-2001-04-01 15:01  wtay
-
-	* gstplay/: gstmediaplay.glade, gstplay.c: This patch is now The
-	Right Way(tm) to handle the stop button but at least it doesn't
-	crash...
-
-2001-04-01 14:51  wtay
-
-	* gstplay/gstplay.c: Slightly modified the _stop handling so that
-	gstmediaplay crashes less viontly. The real problem is that going
-	to the NULL state does not clean up the scheduling structures I
-	think..
-
-2001-03-31 15:35  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: Make sure the endianness is
-	correct when we agree to yuv formats in capsnego.
-
-2001-03-31 15:22  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: Only agree to the caps
-	negotiation if the format is supported by the driver.
-
-2001-03-31 15:10  wtay
-
-	* plugins/xvideosink/gstxvimage.c: Corrected a endianness bug in
-	the format print code.
-
-2001-03-31 14:47  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: Added a little debug info in the
-	capsnego process.
-
-2001-03-31 02:08  wtay
-
-	* plugins/filters/stereo2mono/stereo2mono.c: Some cleanups.  Added
-	the padtemplates to the elementfactory.
-
-2001-03-31 01:56  scavenger
-
-	* configure.in, plugins/filters/Makefile.am: Added stereo2mono
-	plugin
-
-2001-03-31 01:47  scavenger
-
-	* plugins/filters/stereo2mono/: Makefile.am, stereo2mono.c,
-	stereo2mono.h: stereo2mono plugin with caps negotiation code
-	started and working
-
-2001-03-31 01:13  wtay
-
-	* tests/: caps.c, props.c: Adjust the test cases to the new FOURCC
-	API.
-
-2001-03-31 00:56  wtay
-
-	* examples/helloworld/helloworld.c, gst/gstprops.h,
-	plugins/avi/gstavidecoder.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/jpeg/gstjpeg.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/video/gstmpeg2play.c: Simplified the FOURCC API to
-	the caps, add a GST_MAKE_FOURCC macro to create a fourcc.  Adjusted
-	the plugins to use the new FOURCC API
-
-2001-03-31 00:51  wtay
-
-	* plugins/xvideosink/: gstximage.c, gstxvimage.c, gstxvimage.h,
-	xvideosink.c: Check for Xv support before trying to get caps.
-
-2001-03-30 21:10  wtay
-
-	* docs/gst/tmpl/gstmultidisksrc.sgml, examples/autoplug/.cvsignore,
-	examples/typefind/.cvsignore, plugins/xvideosink/.cvsignore: Small
-	updates to the .cvsignore  files.
-
-2001-03-30 21:08  wtay
-
-	* acconfig.h, configure.in, plugins/Makefile.am,
-	plugins/filters/Makefile.am, plugins/filters/ladspa/gstladspa.c,
-	plugins/mp3decode/mpg123/mpg123.c, plugins/oss/gstosssink.c,
-	plugins/rtjpeg/RTjpeg.h: Applied the FreeBSD patch from Orion with
-	some minor modifications to the configure.in patch.
-
-2001-03-30 20:52  wtay
-
-	* gst/gstthread.c: This hopefully fixes a slight thread sync issue.
-
-2001-03-30 01:06  omegahacker
-
-	* AUTHORS, Makefile.am, configure.in, gstreamer.spec.in,
-	gst/gstbin.c, gst/gstelement.c, gst/gstpad.c, gst/gstscheduler.c,
-	gst/gstscheduler.h, gst/gstthread.c, tests/incsched.c,
-	tests/threadlock.c, tools/gstreamer-launch.c: snapshot for matth to
-	work with while I fly over to Europe....
-
-2001-03-29 23:33  wtay
-
-	* test/videotest2.c: Added a test program to test v4lsrc and
-	xvideosink doing capsnego.
-
-2001-03-29 23:31  wtay
-
-	* configure.in, gst/gstcaps.c, gst/gstpad.c, gst/gstprops.c,
-	gst/types/gsttypes.c, plugins/capture/v4l/grab.h,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/xvideosink/.cvsignore, plugins/xvideosink/Makefile.am,
-	plugins/xvideosink/gstximage.c, plugins/xvideosink/gstximage.h,
-	plugins/xvideosink/gstxvimage.c, plugins/xvideosink/gstxvimage.h,
-	plugins/xvideosink/gstxwindow.c, plugins/xvideosink/gstxwindow.h,
-	plugins/xvideosink/imagetest.c, plugins/xvideosink/xvideosink.c,
-	plugins/xvideosink/xvideosink.h, test/Makefile.am: Added a plain X
-	videosink, the videosink uses capsnego.  adjusted the v4lsrc so
-	that it uses capsnego on the src pad Small fixed to capsnego and
-	the properties/caps.
-
-2001-03-29 18:27  richardb
-
-	* docs/gst/: Makefile.am, gstreamer.types.in: Remove references to
-	audiosink, audiosrc, and audioraw.  Documentation at least _starts_
-	to get built, now.
-
-2001-03-27 18:34  wtay
-
-	* docs/gst/: gstreamer-sections.txt, tmpl/gstcaps.sgml,
-	tmpl/gstprops.sgml, tmpl/gstreamer-unused.sgml: More docs updates
-
-2001-03-27 18:33  wtay
-
-	* plugins/wav/gstparsewav.c: Removed the oss dependency
-
-2001-03-27 17:25  wtay
-
-	* docs/gst/: gstreamer-docs.sgml, gstreamer-sections.txt,
-	gstreamer.hierarchy, tmpl/audioraw.sgml, tmpl/gstaudiosink.sgml,
-	tmpl/gstaudiosrc.sgml, tmpl/gstcaps.sgml, tmpl/gstprops.sgml,
-	tmpl/gstreamer-unused.sgml: Removed the audiosink/src from the
-	docs.  Removed the audioraw metadata file from the docs.
-
-2001-03-26 12:12  richardb
-
-	* plugins/mp3decode/Makefile.am: Fix makefile.am so that SUBDIRS is
-	not defined both conditionally and unconditionally - broke some
-	versions of automake.
-
-2001-03-24 18:50  wtay
-
-	* plugins/: alsa/alsa.h, alsa/alsa_common.c, alsa/alsasink.c,
-	alsa/alsasrc.c, au/gstparseau.c, effects/stereo/stereo.c,
-	effects/stereo/stereo.h, effects/volume/volume.c,
-	effects/volume/volume.h, esd/esdsink/esdsink.c,
-	visualization/smoothwave/smoothwave.h,
-	visualization/spectrum/gstspectrum.c,
-	visualization/spectrum/gstspectrum.h,
-	visualization/synaesthesia/synaesthesia.c,
-	visualization/synaesthesia/synaesthesia.h,
-	visualization/vumeter/vumeter.c, visualization/vumeter/vumeter.h,
-	wav/gstparsewav.c, wav/gstparsewav.h: Commented out the references
-	to the old metadata handling in various plugins. They need to be
-	converted to the new audio properties before they will work again. 
-	esdsink and alsasrc/sink are seriously damaged now.. :(
-
-2001-03-24 18:28  wtay
-
-	* plugins/oss/gstosssink.c: Correctly set up the OSS format based
-	on the caps.
-
-2001-03-24 17:22  wtay
-
-	* configure.in, examples/autoplug/autoplug.c,
-	examples/helloworld/helloworld.c,
-	examples/helloworld2/helloworld2.c, examples/launch/mp3play,
-	examples/queue/queue.c, examples/queue2/queue2.c,
-	examples/queue3/queue3.c, examples/queue4/queue4.c,
-	examples/thread/thread.c, examples/xml/createxml.c,
-	gst/Makefile.am, gst/gstcaps.c, gst/gstcaps.h, gst/gstprops.c,
-	gst/gstprops.h, gst/gstpropsprivate.h, gst/elements/Makefile.am,
-	gst/elements/gstaudiosink.c, gst/elements/gstaudiosink.h,
-	gst/elements/gstaudiosrc.c, gst/elements/gstaudiosrc.h,
-	gst/elements/gstelements.c, gst/elements/gstmultidisksrc.c,
-	gst/elements/gstmultidisksrc.h, gst/elements/gstsinesrc.c,
-	gst/elements/gstsinesrc.h, gstplay/gstplay.c, plugins/Makefile.am,
-	plugins/au/gstparseau.c, plugins/au/gstparseau.h,
-	plugins/audioscale/audioscale.c, plugins/audioscale/audioscale.h,
-	plugins/avi/audiocodecs.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstavidecoder.h, plugins/avi/gstaviencoder.h,
-	plugins/flx/flx_decoder.c, plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/oss/.cvsignore,
-	plugins/oss/Makefile.am, plugins/oss/gstossaudio.c,
-	plugins/oss/gstosssink.c, plugins/oss/gstosssink.h,
-	plugins/oss/gstosssrc.c, plugins/oss/gstosssrc.h,
-	plugins/vorbis/vorbis.c, plugins/vorbis/vorbisdec.c, test/a.c,
-	test/ac3play.c, test/aviparse.c, test/m.c, test/mcut.c,
-	test/mp1parse.c, test/mp1tomp1.c, test/mp2toavi.c, test/mp2tomp1.c,
-	test/mp3.c, test/mp3play.c, test/mpeg2parse.c, test/mpg123.c,
-	test/p.c, test/qtest.c, test/r.c, test/record.c, test/s.c,
-	test/spectrum.c, test/typefind.c, test/vidcapture.c,
-	test/vidcapture2.c, test/w.c, test/xmmstest.c, tests/autoplug.c,
-	tests/autoplug3.c, tests/paranoia.c, tools/README,
-	tools/gstreamer-inspect.c: Modified a lot of plugins to use the
-	caps system.  Modified the caps of audio/raw to our agreed
-	properties.  Added the multidisksrc plugin of Dominic Ludlam
-	Renamed audiosink/src to osssink/src and updated all the examples
-	using the old name. Moved oss specific plugins in an oss directory.
-	removed the old audiosink from the elements/ dir.  removed
-	audioraw.h metadata header files since we now use the properties. 
-	There are still a few plugins that won't build because they include
-	the old audioraw.h header file. This will be fixed soon.  Make sure
-	the caps are set in the plugins as described by their padtemplates
-	(this should solve problems with gstmediaplay with various media
-	files).
-	
-	*please don't panic when some plugins won't build, just cd manually
-	into the plugin dirs* This will be fixed soon.
-
-2001-03-22 16:05  dlehn
-
-	* debian/: Makefile.am, changelog, control, gsteditor.manpages,
-	gstmediaplay.manpages, gstreamer-alsa.files,
-	gstreamer-common.files, gstreamer-elements.files,
-	gstreamer-mpeg2dec.files, gstreamer-runtime.manpages,
-	gstreamer-tools.manpages, libgst-dev.manpages, rules: Debian
-	updates: * add manpages * split off mpeg2dec and alsa packages *
-	use latest doc build flags
-
-2001-03-22 00:03  wtay
-
-	* plugins/flx/flx_decoder.c: unref the header buffer too.
-
-2001-03-22 00:00  wtay
-
-	* docs/gst/tmpl/: gststaticautoplug.sgml,
-	gststaticautoplugrender.sgml: Added the templates for the
-	autoplugger docs
-
-2001-03-21 23:59  wtay
-
-	* configure.in, plugins/Makefile.am, plugins/flx/Makefile.am,
-	plugins/flx/flx_color.c, plugins/flx/flx_color.h,
-	plugins/flx/flx_decoder.c, plugins/flx/flx_decoder.h,
-	plugins/flx/flx_fmt.h: Added the FLX decoder of Sepp Wijnands
-	<mrrazz@garbage-coderz.net>
-
-2001-03-21 21:43  wtay
-
-	* docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstarch.sgml, docs/gst/tmpl/gstautoplug.sgml,
-	docs/gst/tmpl/gstcaps.sgml, docs/gst/tmpl/gstcpu.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstsinesrc.sgml,
-	docs/gst/tmpl/gstutils.sgml, gst/gstautoplug.c, gst/gstcaps.c,
-	gst/gstpad.c, gst/gstpad.h, gst/gstplugin.c, gst/gstprops.c,
-	gst/gstprops.h, gst/gstutils.c: API docs updates
-
-2001-03-20 23:12  richardb
-
-	* configure.in, docs/Makefile.am, docs/manual/typedetection.sgml,
-	examples/plugins/example.c: Added --enable-plugin-docs configure
-	option, to enable build of the plugin documentation (currently
-	broken).  This defaults to off.  Changed --enable-docs-build to
-	default to on, since all other documentation should build
-	correctly.
-	
-	Also, correct typo in manual, and fix up a couple of things in
-	example.c
-
-2001-03-20 18:29  wtay
-
-	* testsuite/capsnego/.cvsignore: Added the new enum testcase to
-	.cvsignore
-
-2001-03-20 18:29  wtay
-
-	* gst/gst.c, gst/gstbuffer.c, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstpad.c, gst/gstpad.h, gst/gstplugin.c, gst/gstprops.c,
-	gst/gstprops.h, gst/gstqueue.c, testsuite/capsnego/Makefile.am,
-	testsuite/capsnego/converter2.c, testsuite/capsnego/enum.c: More
-	work on capsnego proxying. It should be OK now.  Added another
-	testcase enum that shows various capsnego algorithms.  Warn about
-	pads that try to set a capability incompatible with their
-	padtemplate.  Implemented refcounting and copy_on_write for
-	caps/props.
-
-2001-03-18 16:17  wtay
-
-	* gst/gstpad.c, gst/gstqueue.c,
-	gst/autoplug/gststaticautoplugrender.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c, plugins/vorbis/vorbis.c,
-	plugins/vorbis/vorbisdec.c, testsuite/capsnego/.cvsignore,
-	testsuite/capsnego/Makefile.am, testsuite/capsnego/converter2.c:
-	More work on capsnego, mostly proxying Added another testsuite for
-	capsnego Added caps to vorbisdec, mp3parse, mp1videoparse Redid the
-	queue proxy handling a bit.
-
-2001-03-18 14:41  richardb
-
-	* docs/fwg/gst-plugin-writers-guide.sgml: Another incremental piece
-	of work on the PWG.
-
-2001-03-18 06:24  richardb
-
-	* docs/fwg/gst-plugin-writers-guide.sgml: Commit a final couple of
-	modifications before going to bed.
-
-2001-03-18 06:16  richardb
-
-	* docs/fwg/: Makefile.am, firstplugin.sgml,
-	gst-plugin-writers-guide.sgml: Some further modifications to the
-	PWG.
-
-2001-03-18 05:21  richardb
-
-	* docs/fwg/gst-plugin-writers-guide.sgml: Added many more details
-	about types.
-
-2001-03-18 03:57  richardb
-
-	* docs/fwg/: Makefile.am, concepts.sgml,
-	gst-plugin-writers-guide.sgml, typesnprops.sgml: Various updates to
-	PWG; mainly adding information about types and properties.  Removed
-	concepts.sgml and typesnprops.sgml; merged into main file.  I was
-	finding that having all the separate subfiles simply stopped me
-	from finding what I wanted to edit.  Maybe I'll split it up again
-	later, but this is much better for now.
-
-2001-03-18 02:42  wtay
-
-	* configure.in, docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/random/wtay/capsnego-cases, examples/helloworld/helloworld.c,
-	examples/queue/queue.c, examples/xml/runxml.c, gst/gstcaps.c,
-	gst/gstcaps.h, gst/gstpad.c, gst/gstpad.h, gst/gstprops.c,
-	gst/gstprops.h, gst/gstqueue.c, gst/elements/gstaudiosink.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	tests/props.c, testsuite/capsnego/.cvsignore,
-	testsuite/capsnego/Makefile.am, testsuite/capsnego/capsnego.c,
-	testsuite/capsnego/converter.c: Reworked the capsnegotiation
-	function audiosink now uses capsnego to set its parameters
-	mpg123/ac3dec use capsnego instead of metadata Added the beginnings
-	of a testsuite for capsnego.
-
-2001-03-17 17:50  richardb
-
-	* docs/manual/plugins.sgml: Update to note that plugins can also
-	contain autopluggers.
-
-2001-03-17 17:16  richardb
-
-	* docs/fwg/: concepts.sgml, firstplugin.sgml,
-	gst-plugin-writers-guide.sgml: Some miscellaneous small changes.
-
-2001-03-17 03:15  omegahacker
-
-	* docs/random/omega/: eos, eos.old: move eos to eos.old, to reflect
-	its age and to aid ailing OS's like Windoze <g>
-
-2001-03-16 01:06  dlehn
-
-	* Makefile.am, gstreamer-config.1, editor/Makefile.am,
-	editor/gsteditor.1, gstplay/Makefile.am, gstplay/gstmediaplay.1,
-	tools/Makefile.am, tools/gstreamer-inspect.1,
-	tools/gstreamer-launch.1, tools/gstreamer-register.1: Added man
-	pages.
-
-2001-03-16 00:49  scavenger
-
-	* gst/gstthread.c: Fixed locking issue when PLAYING to READY
-
-2001-03-15 20:08  wtay
-
-	* docs/random/wtay/capsnego-cases: Added the first part of a uses
-	case doc on caps nego
-
-2001-03-14 21:56  omegahacker
-
-	* configure.in: fixed issue with the xmlDocGetRootElement test and
-	non-/usr/lib installs of libxml
-
-2001-03-14 07:54  dlehn
-
-	* gstreamer.m4: Use of system() in test programs needs an #include
-	<stdlib.h>.
-
-2001-03-14 06:46  dlehn
-
-	* gstreamer.m4: Fix --with-gstreamer-prefix via s/glib/gstreamer/
-
-2001-03-13 22:21  wtay
-
-	* tools/gstreamer-inspect.c: Adjusted -inspect to the new GstCaps
-	structure
-
-2001-03-13 22:13  wtay
-
-	* gst/gsttypefind.c: The typefind element now sets the caps on its
-	sink pad when the type has been detected.
-
-2001-03-13 20:26  wtay
-
-	* gst/: gstcaps.c, gstpad.c: Small fixes to the caps compatibility
-	check.	Small changes to the pad negotiation and proxy functions
-
-2001-03-13 18:57  wtay
-
-	* examples/autoplug/autoplug.c: Updated the autoplug example with
-	the new autoplugger. there still is a scheduling issue though.
-
-2001-03-13 18:45  wtay
-
-	* configure.in: Applied the patch from hadess/ajmitch to add
-	--disable-alsasink and --disable-esdsink (the latter one being
-	untested) to configure.in
-
-2001-03-13 02:20  omegahacker
-
-	* gst/gstthread.c: fixed READY_TO_NULL bug
-
-2001-03-13 01:44  scavenger
-
-	* gst/: gstthread.c, gstthread.h: removed fine grained locking and
-	added simultaneous waiting for 2 states
-
-2001-03-13 01:24  scavenger
-
-	* gst/gstthread.c: exactly opposite check needed in wait_thread
-
-2001-03-13 01:08  scavenger
-
-	* gst/gstthread.c: made wait_thread check for logical true rather
-	than check equality with gboolean
-
-2001-03-13 00:57  scavenger
-
-	* gst/gstthread.c: changed debug to print unsigned not signed
-
-2001-03-13 00:46  scavenger
-
-	* gst/gstthread.c: TYPO: ISSET should be IS_SET
-
-2001-03-13 00:45  scavenger
-
-	* gst/gstthread.c: added debug to signal noting the result of the
-	flag after being set
-
-2001-03-13 00:39  scavenger
-
-	* gst/: gstthread.c, gstthread.h: Made locks more granular, one
-	lock for each state
-
-2001-03-13 00:09  scavenger
-
-	* gst/gstthread.c: made cond_wait into cond_timedwait
-
-2001-03-12 23:51  omegahacker
-
-	* tests/threadlock.c: file threadlock.c was initially added on
-	branch BRANCH-INCSCHED1.
-
-2001-03-12 23:51  omegahacker
-
-	* tests/: Makefile.am, threadlock.c: added threadlock test
-
-2001-03-12 23:39  scavenger
-
-	* gst/gstthread.c: repositioning of debug after mutex in
-	wait_thread and signal_thread
-
-2001-03-12 23:28  scavenger
-
-	* gst/gstthread.c: typo in GST_DEBUG in signal_thread
-
-2001-03-12 23:27  scavenger
-
-	* gst/gstthread.c: Changed GST_DEBUG in signal_thread and
-	wait_thread to reveal more info
-
-2001-03-12 21:02  wtay
-
-	* configure.in, docs/random/wtay/caps-negociation,
-	editor/gsteditorproperty.c, gst/gstautoplug.c, gst/gstautoplug.h,
-	gst/gstcaps.c, gst/gstcaps.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstqueue.c, gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c,
-	gst/elements/gstaudiosink.c, gstplay/gstplay.c,
-	plugins/jpeg/gstjpeg.c, plugins/vorbis/vorbis.c,
-	plugins/xmms/pluginenum.c, tests/.cvsignore, tests/Makefile.am,
-	tests/autoplug.c, tests/capsconnect.c, tests/nego/.cvsignore,
-	tests/nego/Makefile.am, tests/nego/nego1.c: Merged the CAPSNEGO1
-	branch..
-
-2001-03-12 20:04  wtay
-
-	* Makefile.am, REQUIREMENTS, configure.in, docs/manual/xml.sgml,
-	gst/gst.c, gst/gstpipeline.c, gst/gstpipeline.h,
-	gst/elements/gstsinesrc.c, gst/elements/gstsinesrc.h,
-	plugins/Makefile.am, plugins/alsa/.cvsignore,
-	plugins/alsa/Makefile.am, plugins/alsa/README, plugins/alsa/alsa.h,
-	plugins/alsa/alsa_common.c, plugins/alsa/alsainfo.c,
-	plugins/alsa/alsasink.c, plugins/alsa/alsasrc.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/jpeg/gstjpegenc.c,
-	plugins/jpeg/gstjpegenc.h, plugins/rtp/Makefile.am,
-	plugins/rtp/rtpsend/.cvsignore, plugins/rtp/rtpsend/Makefile.am,
-	plugins/rtp/rtpsend/rtp.c, plugins/rtp/rtpsend/rtp.h,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/rtp/rtpsend/rtpsend.h,
-	tests/autoplug.c, testsuite/Makefile.am, testsuite/test_gst_init.c:
-	Another merge from HEAD into CAPSNEGO1
-
-2001-03-12 02:44  scavenger
-
-	* gst/gstthread.c: added a set flag to end of
-	gst_thread_signal_thread and gst_signal_wait_thread to indicate
-	whether signal should set flag or unset flag, and whether wait
-	should wait for flag to be set or to be unset.	this is needed for
-	PLAYING_TO_PAUSE where STATE_SPINNING needs to be signalled to be
-	unset
-
-2001-03-12 02:30  omegahacker
-
-	* tests/: Makefile.am, reaping.c: added thread REAPING test
-
-2001-03-12 02:30  omegahacker
-
-	* tests/reaping.c: file reaping.c was initially added on branch
-	BRANCH-INCSCHED1.
-
-2001-03-12 01:55  scavenger
-
-	* gst/gstthread.c: making wait for REAPING state when
-	gst_bin_iterate returns non zero
-
-2001-03-12 01:37  scavenger
-
-	* gst/gstthread.c: added debug statement
-
-2001-03-12 01:13  omegahacker
-
-	* gst/gsttypes.h: /me is an idiot.  cvs add gsttypes.h
-
-2001-03-12 01:13  omegahacker
-
-	* gst/gsttypes.h: file gsttypes.h was initially added on branch
-	BRANCH-INCSCHED1.
-
-2001-03-12 00:37  omegahacker
-
-	* gst/: gstthread.c, gstthread.h: some cleanup and compile fixes
-
-2001-03-12 00:28  scavenger
-
-	* gst/: gstthread.c, gstthread.h: Start of merging syncflags in
-	with states
-
-2001-03-11 22:45  omegahacker
-
-	* configure.in: added check for version 1.8.1 or better of libxml
-
-2001-03-11 19:51  wtay
-
-	* plugins/jpeg/: gstjpegenc.c, gstjpegenc.h: Added a signal that
-	gets emited when a frame has been encoded..
-
-2001-03-11 19:31  wtay
-
-	* gst/gstpad.c, gst/gstpad.h,
-	gst/autoplug/gststaticautoplugrender.c, tests/.cvsignore: Small
-	fixes, most notably the GST_PAD_CONNECTED macro that didn't work
-	for ghostpads.
-
-2001-03-11 18:47  wtay
-
-	* tests/capsconnect.c: file capsconnect.c was initially added on
-	branch BRANCH-CAPSNEGO1.
-
-2001-03-11 18:47  wtay
-
-	* tests/capsconnect.c: Added a little test program for caps
-	negotiation proxying.
-
-2001-03-11 18:34  wtay
-
-	* gst/elements/: gstsinesrc.c, gstsinesrc.h: Applied the sinesrc
-	patch from Steve Baker.
-
-2001-03-11 16:29  wtay
-
-	* AUTHORS, Makefile.am, REQUIREMENTS, acconfig.h, configure.in,
-	gstreamer-config.in, gstreamer.m4, debian/.cvsignore,
-	debian/Makefile.am, debian/README.Debian, debian/changelog,
-	debian/control, debian/copyright, debian/gsteditor.files,
-	debian/gsteditor.menu, debian/gstmediaplay.files,
-	debian/gstmediaplay.menu, debian/gstreamer-cdparanoia.files,
-	debian/gstreamer-common.files, debian/gstreamer-doc.files,
-	debian/gstreamer-elements.files, debian/gstreamer-esd.files,
-	debian/gstreamer-lame.files, debian/gstreamer-mpg123.files,
-	debian/gstreamer-plugin-template.postinst,
-	debian/gstreamer-plugin-template.prerm,
-	debian/gstreamer-runtime.files, debian/gstreamer-runtime.postinst,
-	debian/gstreamer-tools.files, debian/gstreamer-vorbis.files,
-	debian/libgst-dev.files, debian/libgst0.files,
-	debian/libgst0.postinst, debian/libgsteditor-dev.files,
-	debian/libgsteditor0.files, debian/libgsteditor0.postinst,
-	debian/libgstmediaplay-dev.files, debian/libgstmediaplay0.files,
-	debian/libgstmediaplay0.postinst, debian/rules, docs/Makefile.am,
-	docs/fwg/testapp.sgml, docs/fwg/titlepage.sgml,
-	docs/gst/Makefile.am, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/gstreamer.types.in, docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstautoplug.sgml, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstcaps.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstpipeline.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/manual/Makefile.am,
-	docs/manual/bins.sgml, docs/manual/debugging.sgml,
-	docs/manual/dynamic.sgml, docs/manual/gstreamer-manual.sgml,
-	docs/manual/helloworld.sgml, docs/manual/helloworld2.sgml,
-	docs/manual/pads.sgml, docs/manual/plugins.sgml,
-	docs/manual/queues.sgml, docs/manual/quotes.sgml,
-	docs/manual/threads.sgml, docs/manual/typedetection.sgml,
-	docs/manual/xml.sgml, docs/plugins/Makefile.am,
-	docs/plugins/gstdoc-scanobj, docs/plugins/tmpl/ac3parse.sgml,
-	docs/plugins/tmpl/audioscale.sgml,
-	docs/plugins/tmpl/gstaviencoder.sgml,
-	docs/plugins/tmpl/gstmpeg2enc.sgml,
-	docs/plugins/tmpl/gstmpeg2play.sgml,
-	docs/plugins/tmpl/gstmpeg_play.sgml,
-	docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/plugins/tmpl/gstspectrum.sgml,
-	docs/plugins/tmpl/gstv4lsrc.sgml, docs/plugins/tmpl/gstwindec.sgml,
-	docs/plugins/tmpl/gstwinenc.sgml, docs/plugins/tmpl/median.sgml,
-	docs/plugins/tmpl/mp3parse.sgml, docs/plugins/tmpl/mpeg1parse.sgml,
-	docs/plugins/tmpl/mpeg2parse.sgml,
-	docs/plugins/tmpl/mpeg2subt.sgml, docs/plugins/tmpl/smooth.sgml,
-	docs/plugins/tmpl/smoothwave.sgml, docs/plugins/tmpl/stereo.sgml,
-	docs/plugins/tmpl/synaesthesia.sgml,
-	docs/plugins/tmpl/system_encode.sgml,
-	docs/plugins/tmpl/videoscale.sgml,
-	docs/plugins/tmpl/videosink.sgml, docs/plugins/tmpl/volume.sgml,
-	docs/plugins/tmpl/vumeter.sgml, docs/random/NOTES-0.1.1,
-	docs/random/hierarchy, docs/random/wtay/autoplug2,
-	editor/gsteditor.h, examples/Makefile.am,
-	examples/autoplug/autoplug.c, examples/helloworld2/helloworld2.c,
-	examples/launch/mp3play, examples/plugins/example.c,
-	examples/plugins/example.h, examples/queue2/queue2.c,
-	examples/thread/thread.c, gst/Makefile.am, gst/cothreads.c,
-	gst/gst.c, gst/gst.h, gst/gstarch.h, gst/gstautoplug.c,
-	gst/gstautoplug.h, gst/gstbin.c, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstcpu.c, gst/gstcpu.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstinfo.h, gst/gstobject.c,
-	gst/gstpad.c, gst/gstpad.h, gst/gstparse.c, gst/gstpipeline.c,
-	gst/gstpipeline.h, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gstprops.c, gst/gstqueue.c, gst/gstsparc.h, gst/gstthread.c,
-	gst/gsttype.c, gst/gsttype.h, gst/gsttypefind.c, gst/gstutils.c,
-	gst/gstutils.h, gst/autoplug/Makefile.am,
-	gst/autoplug/gststaticautoplug.c, gst/autoplug/gststaticautoplug.h,
-	gst/autoplug/gststaticautoplugrender.c,
-	gst/autoplug/gststaticautoplugrender.h,
-	gst/elements/gstaudiosink.c, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gstplay/Makefile.am, gstplay/gstplay.c,
-	gstplay/gstplay.h, gstplay/gstplayprivate.h, include/Makefile.am,
-	include/avifmt.h, include/default.h, include/registry.h,
-	libs/Makefile.am, libs/getbits/gstgetbits.c,
-	libs/getbits/gstgetbits.h, libs/getbits/gstgetbits_inl.h,
-	plugins/Makefile.am, plugins/avi/gstavidecoder.c,
-	plugins/avi/playcodecs.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwinenc.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/tabinit.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/recon_mmxe.s,
-	plugins/mpeg1/mpeg_play/recon_sse.s,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg2/Makefile.am,
-	plugins/mpeg2/ac3dec/cpu_accel.c,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/attributes.h,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/header.c, plugins/mpeg2/mpeg2dec/header.h,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/mpeg2/mpeg2dec/idct.h,
-	plugins/mpeg2/mpeg2dec/idct_mlib.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.h,
-	plugins/mpeg2/mpeg2dec/mm_accel.h,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_mlib.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/output_video.h,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/mpeg2dec/slice.h,
-	plugins/mpeg2/mpeg2dec/stats.c, plugins/mpeg2/mpeg2dec/vlc.h,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/recon.c,
-	plugins/mpeg2/video/recon_mmxe.s, plugins/mpeg2/video/recon_sse.s,
-	plugins/vorbis/vorbis.c, plugins/xmms/.cvsignore,
-	plugins/xmms/Makefile.am, plugins/xmms/effect.h,
-	plugins/xmms/general.h, plugins/xmms/gstxmms.c,
-	plugins/xmms/gstxmms.h, plugins/xmms/gstxmmseffect.c,
-	plugins/xmms/gstxmmseffect.h, plugins/xmms/gstxmmsinput.c,
-	plugins/xmms/gstxmmsinput.h, plugins/xmms/input.h,
-	plugins/xmms/main.h, plugins/xmms/output.h,
-	plugins/xmms/pluginenum.c, plugins/xmms/pluginenum.h,
-	plugins/xmms/visualization.h, plugins/xmms/xmms.h, test/.cvsignore,
-	test/Makefile.am, test/mp1parse.c, test/mpeg2parse2.c,
-	test/videotest.c, test/xmmstest.c, test/xml/readreg.c,
-	tests/.cvsignore, tests/Makefile.am, tests/autoplug.c,
-	tests/autoplug2.c, tests/autoplug3.c, tools/README,
-	tools/gstreamer-inspect.c: Merge the HEAD branch into AUTOPLUG2. 
-	More work on the negotiation process to allow for proxied
-	negotiation which is needed in the queue.  gst_pad_connect perform
-	a negotiation and returns a gboolean indicating successfull
-	connection. The pads are disconnected when negotiation fails.  I'm
-	not satisfied/sure about the implementation yet, needs some more
-	investigation.
-
-2001-03-10 09:03  omegahacker
-
-	* gst/: gstpipeline.c, gstpipeline.h: added tool-man's patch for
-	g++ compilation, const guchar for pipeline_new
-
-2001-03-09 22:03  wtay
-
-	* REQUIREMENTS: Added librtp as a REQUIREMENT for the rtp plugin
-
-2001-03-09 22:02  wtay
-
-	* configure.in, plugins/Makefile.am: Added a check for librtp.
-
-2001-03-09 20:50  wtay
-
-	* REQUIREMENTS, configure.in, plugins/rtp/Makefile.am,
-	plugins/rtp/rtpsend/.cvsignore, plugins/rtp/rtpsend/Makefile.am,
-	plugins/rtp/rtpsend/rtp.c, plugins/rtp/rtpsend/rtp.h,
-	plugins/rtp/rtpsend/rtpsend.c, plugins/rtp/rtpsend/rtpsend.h: Added
-	the RTP sink, added libasound to the REQUIREMENTS, configure.in is
-	not yet detecting librtp...
-
-2001-03-09 20:35  wtay
-
-	* plugins/xmms/pluginenum.c: Fixed some minor compile warnings
-
-2001-03-09 20:24  wtay
-
-	* configure.in, plugins/Makefile.am, plugins/alsa/Makefile.am: Only
-	build alsa when detected by configure
-
-2001-03-09 20:05  wtay
-
-	* plugins/alsa/: .cvsignore, README: Some more files.
-
-2001-03-09 20:04  wtay
-
-	* plugins/alsa/: Makefile.am, alsa.h, alsa_common.c, alsainfo.c,
-	alsasink.c, alsasrc.c: Added the alsasrc and alsasink elements. The
-	build system is not yet done, we're working on it now.
-
-2001-03-09 18:50  omegahacker
-
-	* gst/cothreads.c, gst/gstbin.c, gst/gstelement.c, gst/gstpad.c,
-	gst/gstscheduler.c, gst/gstthread.h, tests/incsched.c: update to
-	latest copy
-
-2001-03-09 18:33  omegahacker
-
-	* gst/gstthread.c: commit to broken code that needs inspecting
-
-2001-03-09 12:31  richardb
-
-	* gst/gst.c: Fix gst_init() so that it doesn't fail when passed two
-	NULLs as parameters.  Was dereferencing the argv pointer to get
-	progname: now defaults to "gstprog".
-
-2001-03-09 12:29  richardb
-
-	* testsuite/test_gst_init.c: Updated test to have a comment
-	explaining its purpose (very important this, especially for
-	regression tests), and to actually test what I meant it to.
-
-2001-03-09 12:08  richardb
-
-	* Makefile.am, configure.in, testsuite/Makefile.am,
-	testsuite/test_gst_init.c: Added a testsuite.  This currently only
-	has one test, which replicates a problem just submitted to the
-	list.
-	
-	I hope noone disagrees that we need a testsuite.  Also, hopefully
-	we all think that a tiny testsuite which is easy to add tests to is
-	much better than a huge project to create a complete testsuite,
-	which never gets started because its too big and scary.
-	
-	I suggest that tests get created whenever someone has a spare
-	moment, or whenever a bug is reported (to replicate the problem,
-	and thus be sure that when fixed it stays fixed), and before making
-	a change to a piece of code to ensure that it remains working.
-	
-	If we all add little tests occasionally, then we'll have a good
-	useful testsuite before we know it.  All you need to do is make a
-
-2001-03-08 21:28  wtay
-
-	* configure.in: Removed the libxmms check until they fix their m4
-	script..
-
-2001-03-08 19:26  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: A very stupid patch to issue a
-	warninh when the device could not be opened.
-
-2001-03-07 22:20  wtay
-
-	* configure.in: Added a check for libxmms
-
-2001-03-07 21:52  wtay
-
-	* configure.in, docs/gst/tmpl/gstautoplug.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/random/hierarchy, docs/random/wtay/autoplug2,
-	editor/gsteditor.h, examples/autoplug/autoplug.c,
-	examples/helloworld2/helloworld2.c, examples/queue2/queue2.c,
-	examples/thread/thread.c, gst/Makefile.am, gst/gstautoplug.c,
-	gst/gstautoplug.h, gst/gstbin.c, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstobject.c, gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c,
-	gst/gstpipeline.h, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gstprops.c, gst/gstthread.c, gst/gsttype.c, gst/gsttype.h,
-	gst/gsttypefind.c, gst/autoplug/Makefile.am,
-	gst/autoplug/gststaticautoplug.c, gst/autoplug/gststaticautoplug.h,
-	gst/autoplug/gststaticautoplugrender.c,
-	gst/autoplug/gststaticautoplugrender.h, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, plugins/Makefile.am,
-	plugins/avi/gstavidecoder.c, plugins/avi/playcodecs.c,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, plugins/xmms/Makefile.am,
-	plugins/xmms/plugin.h, test/mp1parse.c, tests/.cvsignore,
-	tests/Makefile.am, tests/autoplug.c, tests/autoplug2.c,
-	tests/autoplug3.c, tools/gstreamer-inspect.c: Merged the AUTOPLUG2
-	branch
-
-2001-03-06 22:32  wtay
-
-	* gst/gstbin.c, gst/gstpipeline.c, gst/gstutils.c, test/.cvsignore,
-	test/Makefile.am, test/videotest.c, test/xmmstest.c: Small fixes to
-	pipeline and gstbin.  Fixed the xmmstest makefile entry Removed the
-	plugin_load statements in videotest Applied the patch from Steve
-	Baker for float args parsing
-
-2001-03-06 21:39  wtay
-
-	* AUTHORS, REQUIREMENTS, acconfig.h, configure.in, gstreamer.m4,
-	docs/manual/xml.sgml, examples/helloworld2/helloworld2.c,
-	examples/launch/mp3play, gst/Makefile.am, gst/cothreads.c,
-	gst/gstarch.h, gst/gstbin.c, gst/gstcpu.c, gst/gstelement.c,
-	gst/gstpad.c, gst/gstparse.c, gst/gstplugin.c, gst/gstsparc.h,
-	gst/gstutils.c, gst/gstutils.h, gstplay/Makefile.am,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/attributes.h,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/header.c, plugins/mpeg2/mpeg2dec/header.h,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/mpeg2/mpeg2dec/idct.h,
-	plugins/mpeg2/mpeg2dec/idct_mlib.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.h,
-	plugins/mpeg2/mpeg2dec/mm_accel.h,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_mlib.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/output_video.h,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/mpeg2dec/slice.h,
-	plugins/mpeg2/mpeg2dec/stats.c, plugins/mpeg2/mpeg2dec/vlc.h,
-	plugins/xmms/.cvsignore, plugins/xmms/Makefile.am,
-	plugins/xmms/effect.h, plugins/xmms/general.h,
-	plugins/xmms/gstxmms.c, plugins/xmms/gstxmms.h,
-	plugins/xmms/gstxmmseffect.c, plugins/xmms/gstxmmseffect.h,
-	plugins/xmms/gstxmmsinput.c, plugins/xmms/gstxmmsinput.h,
-	plugins/xmms/input.h, plugins/xmms/main.h, plugins/xmms/output.h,
-	plugins/xmms/plugin.h, plugins/xmms/pluginenum.c,
-	plugins/xmms/pluginenum.h, plugins/xmms/visualization.h,
-	plugins/xmms/xmms.h, test/.cvsignore, test/Makefile.am,
-	test/mpeg2parse2.c, test/videotest.c, test/xmmstest.c,
-	test/xml/readreg.c, tests/autoplug3.c: Synced with the HEAD branch
-	again... amazing how many changes we have in only a week time...
-
-2001-03-06 20:06  wtay
-
-	* examples/launch/mp3play: Added quotes around the command line mp3
-	player
-
-2001-03-06 20:04  wtay
-
-	* gst/gstparse.c: Applied Dominic Ludlam's patch to allow quoted
-	args in gstreamer-launch
-
-2001-03-05 23:06  wtay
-
-	* plugins/xmms/: gstxmmsinput.c, gstxmmsinput.h: Added state
-	changes to the input plugins.  Added all of the xmms calls/info as
-	properties.
-
-2001-03-05 21:24  wtay
-
-	* test/xmmstest.c: Added an effect to the example
-
-2001-03-05 21:24  wtay
-
-	* plugins/xmms/: Makefile.am, gstxmms.c, gstxmmseffect.c,
-	gstxmmseffect.h, gstxmmsinput.c: Added a wrapper for the xmms
-	plugins.
-
-2001-03-05 19:37  wtay
-
-	* plugins/capture/v4l/: gstv4lsrc.c, gstv4lsrc.h: Added an option
-	to set the device
-
-2001-03-05 18:55  wtay
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: Removed the sliced property
-	of the sink caps because this plugin can take random data.
-
-2001-03-04 23:40  wtay
-
-	* plugins/mpeg2/mpeg2dec/gstmpeg2dec.c: Adjusted the credits... 
-	Changed the loop function so that it can stop.
-
-2001-03-04 22:37  dlehn
-
-	* plugins/mpeg2/mpeg2dec/: header.c, header.h, idct.c, idct.h,
-	idct_mmx.c, idct_mmx.h, motion_comp.c, motion_comp.h, slice.c,
-	slice.h: Whoops, remove the rest of the old mpeg2dec files.
-
-2001-03-04 22:26  dlehn
-
-	* test/mpeg2parse2.c: Use g_return_val_if_fail() instead of
-	g_return_if_fail() where needed.
-
-2001-03-04 22:22  dlehn
-
-	* acconfig.h, configure.in, plugins/mpeg2/Makefile.am,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/attributes.h,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/idct_mlib.c,
-	plugins/mpeg2/mpeg2dec/mm_accel.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_mlib.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/output_video.h,
-	plugins/mpeg2/mpeg2dec/stats.c, plugins/mpeg2/mpeg2dec/vlc.h,
-	test/.cvsignore: Update mpeg2dec plugin.  Now depends on mpeg2dec
-	0.2.0.
-
-2001-03-04 21:59  wtay
-
-	* test/: Makefile.am, xmmstest.c: Added a test program for xmms
-
-2001-03-04 21:58  wtay
-
-	* configure.in: Added makefile for xmms.  libxmms detection is not
-	done yet.
-
-2001-03-04 21:57  wtay
-
-	* plugins/xmms/: .cvsignore, Makefile.am, effect.h, general.h,
-	gstxmms.c, gstxmms.h, gstxmmsinput.c, gstxmmsinput.h, input.h,
-	main.h, output.h, plugin.h, pluginenum.c, pluginenum.h,
-	visualization.h, xmms.h: Added an XMMS input filter plugin. MikMod,
-	mpg123, tonegen, vorbis are tested.  Not everything works yet most
-	notably lots of properties are missing and the vis plugin pads are
-	not created.  State changes are not yet handled as they should.
-
-2001-03-03 19:09  wtay
-
-	* tests/autoplug3.c: file autoplug3.c was initially added on branch
-	BRANCH-AUTOPLUG2.
-
-2001-03-03 19:09  wtay
-
-	* tests/: .cvsignore, autoplug3.c: Added a test program for the
-	autopluggers
-
-2001-03-03 19:08  wtay
-
-	* gst/autoplug/gststaticautoplugrender.c: file
-	gststaticautoplugrender.c was initially added on branch
-	BRANCH-AUTOPLUG2.
-
-2001-03-03 19:08  wtay
-
-	* gst/gstautoplug.c, gst/gstautoplug.h, gst/autoplug/Makefile.am,
-	gst/autoplug/gststaticautoplug.c,
-	gst/autoplug/gststaticautoplugrender.c,
-	gst/autoplug/gststaticautoplugrender.h, gstplay/gstplay.c,
-	gstplay/gstplayprivate.h, tests/Makefile.am, tests/autoplug.c,
-	tests/autoplug2.c: Added an API for element construction and
-	renderer autopluggers.	Added another autoplugger to render things.
-	 Updated the player to use the new autoplugger.
-
-2001-03-03 19:08  wtay
-
-	* gst/autoplug/gststaticautoplugrender.h: file
-	gststaticautoplugrender.h was initially added on branch
-	BRANCH-AUTOPLUG2.
-
-2001-03-03 18:19  wtay
-
-	* gst/gstutils.c: And the gst_utit_set_object_arg function too of
-	course...
-
-2001-03-03 17:38  wtay
-
-	* gst/gstelement.c: Added gstutils.h to #include
-
-2001-03-03 17:09  wtay
-
-	* configure.in: Added a comma to fix ./configure as found by Steve
-	Baker
-
-2001-03-03 16:30  wtay
-
-	* gst/: gstelement.c, gstparse.c, gstutils.h: Added a utility
-	function in gstutils to set an object argument as a string.
-	gstparse.c and gstelement.c now use this function.
-
-2001-03-02 18:30  omegahacker
-
-	* acconfig.h, configure.in, gst/Makefile.am, gst/cothreads.c,
-	gst/gstarch.h, gst/gstsparc.h: added sparc cothreads
-
-2001-03-02 17:56  wtay
-
-	* examples/helloworld2/helloworld2.c: Make the autoplugging example
-	work again with an ugly hack until we have autoplug2 merged...
-
-2001-03-02 17:03  richardb
-
-	* test/xml/readreg.c: Include compatability defines for libxml: use
-	xmlChildrenNode instead of childs.
-
-2001-03-02 16:50  richardb
-
-	* gst/gstplugin.c: Add advice to run gstreamer-register when
-	warning that registry needs rebuild.
-
-2001-03-02 16:49  richardb
-
-	* REQUIREMENTS: Mention that libxml is also known as gnome-xml
-
-2001-03-01 23:47  wtay
-
-	* AUTHORS: Updated the authors file.
-
-2001-03-01 23:25  wtay
-
-	* gstreamer.m4, gstplay/Makefile.am, test/videotest.c: Added the
-	.m4 script of  Thomas Nyberg <thomas@codefactory.se>
-
-2001-03-01 22:36  wtay
-
-	* Makefile.am, configure.in, gstreamer-config.in,
-	debian/.cvsignore, debian/Makefile.am, debian/README.Debian,
-	debian/changelog, debian/control, debian/copyright,
-	debian/gsteditor.files, debian/gsteditor.menu,
-	debian/gstmediaplay.files, debian/gstmediaplay.menu,
-	debian/gstreamer-cdparanoia.files, debian/gstreamer-common.files,
-	debian/gstreamer-doc.files, debian/gstreamer-elements.files,
-	debian/gstreamer-esd.files, debian/gstreamer-lame.files,
-	debian/gstreamer-mpg123.files,
-	debian/gstreamer-plugin-template.postinst,
-	debian/gstreamer-plugin-template.prerm,
-	debian/gstreamer-runtime.files, debian/gstreamer-runtime.postinst,
-	debian/gstreamer-tools.files, debian/gstreamer-vorbis.files,
-	debian/libgst-dev.files, debian/libgst0.files,
-	debian/libgst0.postinst, debian/libgsteditor-dev.files,
-	debian/libgsteditor0.files, debian/libgsteditor0.postinst,
-	debian/libgstmediaplay-dev.files, debian/libgstmediaplay0.files,
-	debian/libgstmediaplay0.postinst, debian/rules, docs/Makefile.am,
-	docs/fwg/testapp.sgml, docs/fwg/titlepage.sgml,
-	docs/gst/Makefile.am, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstcaps.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/manual/Makefile.am, docs/manual/bins.sgml,
-	docs/manual/debugging.sgml, docs/manual/dynamic.sgml,
-	docs/manual/gstreamer-manual.sgml, docs/manual/helloworld.sgml,
-	docs/manual/helloworld2.sgml, docs/manual/pads.sgml,
-	docs/manual/plugins.sgml, docs/manual/queues.sgml,
-	docs/manual/quotes.sgml, docs/manual/threads.sgml,
-	docs/manual/typedetection.sgml, docs/manual/xml.sgml,
-	docs/plugins/Makefile.am, docs/plugins/gstdoc-scanobj,
-	docs/plugins/tmpl/ac3parse.sgml, docs/plugins/tmpl/audioscale.sgml,
-	docs/plugins/tmpl/gstaviencoder.sgml,
-	docs/plugins/tmpl/gstmpeg2enc.sgml,
-	docs/plugins/tmpl/gstmpeg2play.sgml,
-	docs/plugins/tmpl/gstmpeg_play.sgml,
-	docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/plugins/tmpl/gstspectrum.sgml,
-	docs/plugins/tmpl/gstv4lsrc.sgml, docs/plugins/tmpl/gstwindec.sgml,
-	docs/plugins/tmpl/gstwinenc.sgml, docs/plugins/tmpl/median.sgml,
-	docs/plugins/tmpl/mp3parse.sgml, docs/plugins/tmpl/mpeg1parse.sgml,
-	docs/plugins/tmpl/mpeg2parse.sgml,
-	docs/plugins/tmpl/mpeg2subt.sgml, docs/plugins/tmpl/smooth.sgml,
-	docs/plugins/tmpl/smoothwave.sgml, docs/plugins/tmpl/stereo.sgml,
-	docs/plugins/tmpl/synaesthesia.sgml,
-	docs/plugins/tmpl/system_encode.sgml,
-	docs/plugins/tmpl/videoscale.sgml,
-	docs/plugins/tmpl/videosink.sgml, docs/plugins/tmpl/volume.sgml,
-	docs/plugins/tmpl/vumeter.sgml, docs/random/NOTES-0.1.1,
-	docs/random/caps.dia, docs/random/wtay/caps-negociation,
-	examples/Makefile.am, examples/plugins/example.c,
-	examples/plugins/example.h, gst/Makefile.am, gst/gst.c, gst/gst.h,
-	gst/gstbin.c, gst/gstcaps.c, gst/gstcaps.h, gst/gstcpu.c,
-	gst/gstcpu.h, gst/gstelement.h, gst/gstinfo.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstplugin.c, gst/gstplugin.h, gst/gstprops.c,
-	gst/gstqueue.c, gst/gstscheduler.c, gst/gstthread.c, gst/gsttype.c,
-	gst/gstutils.h, gst/autoplug/gststaticautoplug.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstelements.c,
-	gstplay/gstmediaplay.c, gstplay/gstplay.c, include/Makefile.am,
-	include/avifmt.h, include/default.h, include/registry.h,
-	libs/Makefile.am, libs/getbits/gstgetbits.c,
-	libs/getbits/gstgetbits.h, libs/getbits/gstgetbits_inl.h,
-	plugins/avi/audiocodecs.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/playcodecs.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwinenc.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/jpeg/gstjpeg.c,
-	plugins/jpeg/gstjpegdec.c, plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/tabinit.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/recon_mmxe.s,
-	plugins/mpeg1/mpeg_play/recon_sse.s,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg2/ac3dec/cpu_accel.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/recon.c,
-	plugins/mpeg2/video/recon_mmxe.s, plugins/mpeg2/video/recon_sse.s,
-	test/videotest.c, tools/README: Merge with the main trunk.  GstPlay
-	needed some changes for the dynamic pads in the avidecoder since
-	the new autoplugger doesn't know about the outher elements. The
-	next version of the autoplugger will also handle the
-	audfio/videosink connections and will do a complete end-to-end
-	autoplugging.
-
-2001-03-01 19:43  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: Hopefully fixed some more color
-	conversion issues
-
-2001-03-01 19:11  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c: Added more LE<->BE stuff
-
-2001-02-28 21:40  wtay
-
-	* gst/gstbin.c: Make sure a cothreaded element is selected as the
-	first one to start the cothread_switch
-
-2001-02-28 20:32  wtay
-
-	* gst/gstcpu.c: Redid the cpu detection with a little help from
-	mpeg2decs code..
-
-2001-02-27 22:43  wtay
-
-	* test/mpeg2parse2.c: Xv enabled, mpeg2dec is the decoder..
-
-2001-02-27 22:38  wtay
-
-	* test/Makefile.am: and the updated makefile...
-
-2001-02-27 22:27  wtay
-
-	* test/mpeg2parse2.c: Added a simple mpeg2 player for testing
-	mpeg2dec (later)
-
-2001-02-27 21:08  wtay
-
-	* docs/gst/: Makefile.am, gstreamer.hierarchy, gstreamer.types.in,
-	tmpl/gstasyncdisksrc.sgml, tmpl/gstautoplug.sgml, tmpl/gstpad.sgml,
-	tmpl/gstpipeline.sgml, tmpl/gstplugin.sgml,
-	tmpl/gstreamer-unused.sgml: Small compile fixes
-
-2001-02-27 20:34  wtay
-
-	* gst/autoplug/gststaticautoplug.c: file gststaticautoplug.c was
-	initially added on branch BRANCH-AUTOPLUG2.
-
-2001-02-27 20:34  wtay
-
-	* docs/random/plugins.dia, gst/gstbin.c, gst/gstcaps.c,
-	gst/gstthread.c, gst/autoplug/Makefile.am,
-	gst/autoplug/gststaticautoplug.c, gst/autoplug/gststaticautoplug.h:
-	Added the missing autoplugger, doh
-
-2001-02-27 20:34  wtay
-
-	* gst/autoplug/gststaticautoplug.h: file gststaticautoplug.h was
-	initially added on branch BRANCH-AUTOPLUG2.
-
-2001-02-27 20:34  wtay
-
-	* gst/autoplug/Makefile.am: file Makefile.am was initially added on
-	branch BRANCH-AUTOPLUG2.
-
-2001-02-27 19:44  wtay
-
-	* gst/gstcpu.c, gst/gstcpu.h, plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/recon_mmxe.s,
-	plugins/mpeg1/mpeg_play/recon_sse.s,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg2/ac3dec/cpu_accel.c,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/recon.c,
-	plugins/mpeg2/video/recon_mmxe.s, plugins/mpeg2/video/recon_sse.s,
-	test/videotest.c: CPU detection of MMXEXT and probably 3DNOW (not
-	on Athlon yet) Renamed the mmxe motion compentation files. 
-	disabled SSE optimisation in ac3dec because it apparently faults.. 
-	enable MMXEXT motion compensation on non SSE CPUs (AMD)
-
-2001-02-27 00:05  wtay
-
-	* docs/gst/Makefile.am, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/plugins/Makefile.am,
-	docs/plugins/gstdoc-scanobj, docs/plugins/tmpl/ac3parse.sgml,
-	docs/plugins/tmpl/audioscale.sgml,
-	docs/plugins/tmpl/gstaviencoder.sgml,
-	docs/plugins/tmpl/gstmpeg2enc.sgml,
-	docs/plugins/tmpl/gstmpeg2play.sgml,
-	docs/plugins/tmpl/gstmpeg_play.sgml,
-	docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/plugins/tmpl/gstspectrum.sgml,
-	docs/plugins/tmpl/gstv4lsrc.sgml, docs/plugins/tmpl/gstwindec.sgml,
-	docs/plugins/tmpl/gstwinenc.sgml, docs/plugins/tmpl/median.sgml,
-	docs/plugins/tmpl/mp3parse.sgml, docs/plugins/tmpl/mpeg1parse.sgml,
-	docs/plugins/tmpl/mpeg2parse.sgml,
-	docs/plugins/tmpl/mpeg2subt.sgml, docs/plugins/tmpl/smooth.sgml,
-	docs/plugins/tmpl/smoothwave.sgml, docs/plugins/tmpl/stereo.sgml,
-	docs/plugins/tmpl/synaesthesia.sgml,
-	docs/plugins/tmpl/system_encode.sgml,
-	docs/plugins/tmpl/videoscale.sgml,
-	docs/plugins/tmpl/videosink.sgml, docs/plugins/tmpl/volume.sgml,
-	docs/plugins/tmpl/vumeter.sgml, plugins/avi/gstavidecoder.c,
-	plugins/jpeg/gstjpegdec.c: A hopeless attempt at fixing the plugin
-	docs Makefiles...  Make the jpeg decoder a bit more aware about the
-	different YUV colorspaces.
-
-2001-02-25 23:11  dlehn
-
-	* debian/changelog: Oops... wrong email address
-
-2001-02-25 23:08  dlehn
-
-	* debian/: changelog, rules: Updated version and build fix.
-
-2001-02-25 03:42  bbradburn
-
-	* gst/: gst.h, gstcaps.h, gstinfo.h, gstutils.h: Patched .h files
-	for C++ support.
-
-2001-02-25 03:40  omegahacker
-
-	* gst/gstplugin.c: swapped ordering of plugin dirs so srcdir
-	plugins load first
-
-2001-02-25 03:36  omegahacker
-
-	* configure.in, gst/gstbin.c, libs/getbits/gstgetbits.c,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/tabinit.c: commented out some printfs that
-	went to stdout
-
-2001-02-24 21:07  dlehn
-
-	* debian/rules: Call configure instead of autogen.sh.
-
-2001-02-24 20:06  wtay
-
-	* configure.in, include/default.h: Remove some unneeded files Added
-	a fix for broken libglade-config in configure.in
-
-2001-02-24 19:33  dlehn
-
-	* Makefile.am, configure.in, debian/Makefile.am: Add Debian files
-	to distribution.
-
-2001-02-24 19:28  wtay
-
-	* include/Makefile.am: Make dist now works
-
-2001-02-24 17:49  wtay
-
-	* include/avifmt.h, include/registry.h,
-	plugins/avi/wincodec/gstwinenc.c: Moved some win32 files around
-	small fixes to wincodec
-
-2001-02-24 16:56  wtay
-
-	* Makefile.am, configure.in, docs/Makefile.am,
-	examples/Makefile.am: Added directories to Makefiles for DIST
-
-2001-02-24 00:23  wtay
-
-	* gst/gst.c, plugins/capture/v4l/gstv4lsrc.c, test/videotest.c:
-	slightly changed the Makefile.am in videoscale libs.  v4lsrc works
-	again A little modification to the videotest programm to use a tee
-	element.  added support for multiple paths in --gst-plugin_path=. 
-	added ab ENV variable GST_PLUGIN_PATH to specify extra directories
-	to look for plugins.
-
-2001-02-23 19:22  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/manual/debugging.sgml,
-	gst/gstplugin.c: Updated the docs for gst_pluging_add_path Updated
-	the manual with the new --gst-plugin-path/spew options
-
-2001-02-23 19:09  wtay
-
-	* docs/gst/tmpl/: gstasyncdisksrc.sgml, gstreamer-unused.sgml:
-	Removed the asyncdisksrc again...
-
-2001-02-23 19:09  omegahacker
-
-	* gst/: gst.c, gstplugin.c, gstplugin.h, gstthread.c: Added two
-	options: --gst-plugin-spew will print errors when plugins fail to
-	load.  --gst-plugin-path= will add a directory to the path searched
-	for plugins.
-
-2001-02-23 01:57  omegahacker
-
-	* gst/gstplugin.c: always include the installed plugin directories
-	in the path
-
-2001-02-23 00:55  omegahacker
-
-	* configure.in, gstreamer-config.in: updates to configure.in and
-	-config to help with cross compiling
-
-2001-02-22 23:19  wtay
-
-	* docs/random/NOTES-0.1.1: Added the current notes for the 0.1.1
-	release
-
-2001-02-22 23:18  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstdisksrc.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/manual/Makefile.am, docs/manual/debugging.sgml,
-	docs/manual/gstreamer-manual.sgml, docs/manual/pads.sgml,
-	docs/manual/quotes.sgml, docs/manual/xml.sgml,
-	examples/plugins/example.c, examples/plugins/example.h, gst/gst.c,
-	gst/gstpad.c, gst/gstpad.h, plugins/mp3decode/parse/mp3parse.c:
-	More doc updates Manual additions: xml/load save of custom XML,
-	debugging, request pads added a signal to the example plugin fixed
-	a bug in mp3parse (ifdef 1)
-
-2001-02-22 17:13  wtay
-
-	* examples/plugins/example.c: Fixed an unclosed comment
-
-2001-02-22 01:53  omegahacker
-
-	* plugins/mp3decode/parse/mp3parse.c: beginnings of a loop-based
-	seek-capable mp3parse
-
-2001-02-22 01:36  bbradburn
-
-	* plugins/mp3decode/parse/mp3parse.c: Improved robustness of MP3
-	seeking by validating the NEXT frame header.
-
-2001-02-22 01:34  omegahacker
-
-	* examples/plugins/: example.c, example.h: significant commenting
-	of the example plugin
-
-2001-02-22 00:47  omegahacker
-
-	* gst/gstelement.h: minor change: changed case of the strings for
-	states
-
-2001-02-21 23:01  wtay
-
-	* configure.in, docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h:
-	Fixed the jpeg decoder Modifications for lame >=3.86
-
-2001-02-21 22:32  dlehn
-
-	* debian/: .cvsignore, README.Debian, changelog, control,
-	copyright, gsteditor.files, gsteditor.menu, gstmediaplay.files,
-	gstmediaplay.menu, gstreamer-cdparanoia.files,
-	gstreamer-common.files, gstreamer-doc.files,
-	gstreamer-elements.files, gstreamer-esd.files,
-	gstreamer-lame.files, gstreamer-mpg123.files,
-	gstreamer-plugin-template.postinst,
-	gstreamer-plugin-template.prerm, gstreamer-runtime.files,
-	gstreamer-runtime.postinst, gstreamer-tools.files,
-	gstreamer-vorbis.files, libgst-dev.files, libgst0.files,
-	libgst0.postinst, libgsteditor-dev.files, libgsteditor0.files,
-	libgsteditor0.postinst, libgstmediaplay-dev.files,
-	libgstmediaplay0.files, libgstmediaplay0.postinst, rules: Initial
-	Debian packaging.
-
-2001-02-21 20:58  dlehn
-
-	* libs/getbits/: gstgetbits.h, gstgetbits_inl.h: Use glib macros
-	for byte order conversion.
-
-2001-02-21 20:57  dlehn
-
-	* gst/elements/gstelements.c: Remove alias for asyncdisksrc
-	backwards compatability.
-
-2001-02-21 20:45  dlehn
-
-	* docs/gst/: Makefile.am, gstreamer-docs.sgml,
-	gstreamer-sections.txt, gstreamer.hierarchy, gstreamer.types.in,
-	tmpl/gstasyncdisksrc.sgml: Removed asyncdisksrc references from
-	docs.
-
-2001-02-21 20:28  dlehn
-
-	* gst/elements/gstdisksrc.c: Fixed typo in element details.
-
-2001-02-21 20:27  dlehn
-
-	* gst/gstqueue.c: Added parameter checking to gst_queue_get().
-
-2001-02-21 00:57  omegahacker
-
-	* gst/gstscheduler.c: Fixed bug with reconfig, where switching back
-	into an element landed it in code that still thought it was
-	connected to the previous element.  It now checks to see if the
-	peer's peer has changed, and deal accordingly.
-
-2001-02-20 08:19  omegahacker
-
-	* gst/gstbin.c, gst/gstelement.c, tests/incsched.c,
-	gst/gstscheduler.c, gst/gstscheduler.h, gst/elements/gstfakesrc.c,
-	gst/elements/gstfakesrc.h: Significant progress.  Now able to do
-	most operations live, without any failure.  tests/incsched.c
-	currently faults at the last iteration, not yet sure why.
-
-2001-02-19 22:15  wtay
-
-	* tests/nego/nego1.c: file nego1.c was initially added on branch
-	BRANCH-CAPSNEGO1.
-
-2001-02-19 22:15  wtay
-
-	* tests/nego/Makefile.am: file Makefile.am was initially added on
-	branch BRANCH-CAPSNEGO1.
-
-2001-02-19 22:15  wtay
-
-	* tests/nego/.cvsignore: file .cvsignore was initially added on
-	branch BRANCH-CAPSNEGO1.
-
-2001-02-19 22:15  wtay
-
-	* tests/nego/: .cvsignore, Makefile.am, nego1.c: Added the caps
-	negotiation test program
-
-2001-02-19 20:20  wtay
-
-	* configure.in, docs/random/wtay/caps-negociation,
-	editor/gsteditorproperty.c, gst/gstautoplug.c, gst/gstcaps.c,
-	gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c: A first attempt at
-	pad negotiation.   - _renegotiate can be called by a plugin to
-	negotiate the caps   - _renegotiate is called whenever a pad
-	changes its caps   - the caps cannot contain lists or ranges   -
-	the pad caps are now only set explicitly using gst_pad_set_caps,
-	the	padtemplate caps are not transfered to the pad caps.
-	
-	missing:  - no notification when negotiation fails  - autoplugging
-	is broken  - the editor doesn't show correct caps
-
-2001-02-19 00:07  wtay
-
-	* libs/Makefile.am: The BPB has been put over my head... this time
-	it's right I think
-
-2001-02-18 23:58  wtay
-
-	* libs/Makefile.am: Also build the videoscaler on non-I386 because
-	we now have have a plain C version too.
-
-2001-02-18 10:00  omegahacker
-
-	* gst/gstbin.c, gst/gstscheduler.c, gst/gstscheduler.h,
-	tests/incsched.c: More incsched progress.  Should be able to get
-	itereration going again tomorrow.
-
-2001-02-17 07:11  omegahacker
-
-	* gst/Makefile.am, gst/gst.h, gst/gstbin.c, gst/gstbin.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstobject.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstpipeline.c, gst/gstscheduler.c,
-	gst/gstscheduler.h, gst/gstthread.c, tests/incsched.c: Yes!,
-	incsched is getting closer.
-
-2001-02-17 04:43  mhowell
-
-	* plugins/mp3decode/parse/mp3parse.c: added test for emphasis to
-	check_head
-
-2001-02-17 00:00  omegahacker
-
-	* plugins/mpeg2/mpeg2dec/motion_comp.c: fixed an issue relating to
-	macros and ##arg## syntax
-
-2001-02-16 23:54  richardb
-
-	* gst/gstprops.c: Redo patch using _NUM rather than converting one
-	way and then back again, as wtay suggested.  Ho hum.
-
-2001-02-16 23:52  omegahacker
-
-	* docs/manual/quotes.sgml: more interesting than a 40K user
-	program...
-
-2001-02-16 23:45  richardb
-
-	* gst/gstprops.c: Fix missing GPOINTER_TO_INT()'s on case values.
-
-2001-02-16 23:39  omegahacker
-
-	* docs/manual/quotes.sgml: added groupie quote
-
-2001-02-16 16:48  richardb
-
-	* docs/: fwg/testapp.sgml, manual/bins.sgml, manual/dynamic.sgml,
-	manual/helloworld.sgml, manual/helloworld2.sgml, manual/pads.sgml,
-	manual/plugins.sgml, manual/queues.sgml, manual/threads.sgml,
-	manual/typedetection.sgml, manual/xml.sgml: Fix a few more issues
-	shown up by gnome-db2html2 - %'s should be written as &percnt; (was
-	causing gnome-db2html2 to segfault, though I've a patch for them to
-	fix that).  Also correct an id which appeared twice.
-
-2001-02-16 13:13  richardb
-
-	* gst/gstpad.h: Include compatability defines for old versions of
-	libxml1
-
-2001-02-16 12:15  richardb
-
-	* tools/README: Trivial fix: change launch to gstreamer-launch in
-	README.
-
-2001-02-16 12:14  richardb
-
-	* docs/: fwg/titlepage.sgml, manual/Makefile.am,
-	manual/gstreamer-manual.sgml: Fix a few irregularities, to make
-	things closer to the Gnome standard guidelines for SGML
-	documentation.	One change in particular is to change the book name
-	for the manual from gstreamer to index; a change to the link to the
-	manual on the website will thus be needed when the online version
-	of the manual is next updated.
-	
-	These changes should make it possible to view the GStreamer
-	documentation directly from SGML in Nautilus: anyone with a working
-	copy of Nautilus should try this out and report ... ;-)
-
-2001-02-15 18:42  richardb
-
-	* gst/gstpad.c: Fix a couple of instances of childs, which should
-	be xmlChildrenNode.  We need to be careful to stop these creeping
-	back in... ;-)
-
-2001-02-14 23:23  omegahacker
-
-	* gst/gstpad.c, gst/gstpad.h, gst/gstscheduler.c,
-	gst/gstscheduler.h, tests/incsched.c: More incsched updates.  Now
-	need to get the headers redone...
-
-2001-02-14 10:34  richardb
-
-	* configure.in: Innocuous little change to fix a warning with newer
-	versions of automake - shouldn't cause any backwards compatibility
-	problems.
-
-2001-02-13 20:48  wtay
-
-	* docs/random/wtay/caps-negociation: Latest begotiation doc
-
-2001-02-13 02:40  omegahacker
-
-	* gst/gstscheduler.c, gst/gstscheduler.h, tests/incsched.c: Minor
-	changes to incsched stuff, need to make more major modifications to
-	manager concept now, so I'm checkpointing.
-
-2001-02-12 23:08  omegahacker
-
-	* gst/cothreads.c, gst/gstbin.c, gst/gstbin.h, gst/gstelement.c,
-	gst/gstelement.h, gst/gstobject.c, gst/gstobject.h, gst/gstpad.c,
-	gst/gstpipeline.c, gst/gstqueue.c, gst/gstscheduler.c,
-	gst/gstscheduler.h, gst/gstthread.c, gst/gstthread.h,
-	tests/Makefile.am, tests/incsched.c: First round of incremental
-	scheduling.  Manager setting and managed_elements lists are now
-	handled at bin_add/remove time.  Scheduling chains can be created
-	incrementally as well, though there are still some pieces missing.
-
-2001-02-12 23:08  omegahacker
-
-	* tests/incsched.c: file incsched.c was initially added on branch
-	BRANCH-INCSCHED1.
-
-2001-02-11 22:22  wtay
-
-	* docs/random/: caps.dia, wtay/caps-negociation: Corrected the
-	associations on the UML diagrams
-
-2001-02-11 18:29  wtay
-
-	* docs/random/: caps.dia, plugins.dia, wtay/caps-negociation: Added
-	.dia UML of GstCaps Added the autoplugger factory to plugins.dia
-	Added a first draft for caps-negotiation
-
-2001-02-10 14:46  wtay
-
-	* gst/gstprops.c, gst/gstscheduler.c, gstplay/gstmediaplay.c,
-	plugins/avi/audiocodecs.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/playcodecs.c: - backported the xml load bug in the
-	properties - backported the videosink bug - make sure the
-	regiontype is set to NONE after a getregion - an ugly fix (copy the
-	chainfunction outselves) to make the avidecoder   work again.
-
-2001-02-08 19:52  wtay
-
-	* docs/random/wtay/autoplug2: Updated the doc with more accurate
-	implementation details
-
-2001-02-08 19:37  wtay
-
-	* tests/autoplug2.c: file autoplug2.c was initially added on branch
-	BRANCH-AUTOPLUG2.
-
-2001-02-08 19:37  wtay
-
-	* configure.in, editor/gsteditor.h, gst/Makefile.am,
-	gst/gstautoplug.c, gst/gstautoplug.h, gst/gstelementfactory.c,
-	gst/gstpipeline.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gstprops.c, gst/gsttype.c, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gstplay/gstplay.c, tests/Makefile.am,
-	tests/autoplug.c, tests/autoplug2.c, tools/gstreamer-inspect.c:
-	Implemented the plugable autopluggers.	  - one can aad an
-	autoplugger to a plugin with gst_plugin_add_autoplugger    - the
-	autopluggers can be queried using _get_list    - save/load
-	autoplugger descriptions in the XML registry	- load the
-	autoplugger only when needed	- a signal can be attached to the
-	autoplugger to be notified of	   new objects.    - improved the
-	media player to use the new autoplugger    - updated
-	gstreamer-inspect for the autoplugger and types  added EOS to the
-	disksrc fixed two bugs in properties loading (min/max, comment
-	tags)
-
-2001-02-07 22:48  omegahacker
-
-	* configure.in: removed intl and po from configure.in, until we
-	have gettext working
-
-2001-02-07 22:23  omegahacker
-
-	* Makefile.am, configure.in: added configure option to turn on
-	building of docs, else they aren't built
-
-2001-02-07 22:07  omegahacker
-
-	* gst/Makefile.am: Fixed cothreads.c problems with make dist.  This
-	still sucks badly.
-
-2001-02-06 20:42  wtay
-
-	* docs/gst/tmpl/gstreamer-unused.sgml,
-	examples/autoplug/autoplug.c, examples/helloworld2/helloworld2.c,
-	examples/queue2/queue2.c, examples/thread/thread.c,
-	gst/gstautoplug.c, gst/gstautoplug.h, gst/gstbin.c, gst/gstcaps.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstobject.c, gst/gstpad.c,
-	gst/gstpad.h, gst/gstpipeline.c, gst/gstpipeline.h,
-	gst/gstplugin.h, gst/gsttype.h, gst/gsttypefind.c,
-	gst/elements/gstdisksrc.c, gstplay/gstplay.c, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, plugins/avi/gstavidecoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, test/mp1parse.c,
-	tests/.cvsignore, tests/Makefile.am, tests/autoplug.c: Updated the
-	autoplugger:   - moved all of the code out of gstpipeline.c to
-	autoplug.c   - The autoplugger now creates a GstElement based on
-	the given src and     sink caps. The API now is:	GstElement*
-	gst_autoplug_caps_list (GList *srcpad, GList *sinkpad, ...);   -
-	the typefind function is moved from gstpipeline.c to gstplay.c. Not
-	sure	 if this is right behaviour but we need at least a bin in
-	order to run	 the typedetect functions.    - fixed a bug in
-	gstbin.c where the MANAGER flag of the bin was not cleared     
-	when going to the NULL state.	 - a bug in the videosink was
-	fixed. It was possible that more instances	of the video widget
-	were created, causing major errors.    - commented out most of the
-	'old' autoplug examples.    - added the new autoplugger to
-	gstplay.c. There still is a bit of hacking	needed to insert a
-	queue into the autogenerated element. This will be fixed      when
-	the autoplugger can also create the video/audio elements.  Fixed
-	some more extranous spaces problems in various files.
-
-2001-02-06 20:06  wtay
-
-	* docs/random/: .cvsignore, wtay/CORBA, wtay/autoplug2: Added CVS
-	ignore, and two documents..
-
-2001-02-06 19:39  omegahacker
-
-	* test/ac3play.c: updated ac3play to work with latest libgst
-
-2001-02-05 17:17  omegahacker
-
-	* plugins/avi/gstavidecoder.c: Updated for new getregion setup
-
-2001-02-05 17:16  omegahacker
-
-	* gst/: gstinfo.h, gstpad.c, gstpad.h, gstscheduler.c,
-	elements/gstdisksrc.c: Reworked getregion/pullregion stuff.  Region
-	is now specified by a type (OFFSET_LEN, TIME_LEN, etc.) and two
-	guint64's.  They are offset and len, where offset can be used for
-	the time field, and len would be zero or the time unit (say, 33ms
-	for video).
-
-2001-02-04 21:38  omegahacker
-
-	* gstplay/gstplay.c, test/mp1parse.c, test/qtest.c: fixed all
-	in-use instances of asyncdisksrc
-
-2001-02-04 21:37  omegahacker
-
-	* gst/elements/: Makefile.am, gstasyncdisksrc.c, gstasyncdisksrc.h,
-	gstdisksrc.c, gstdisksrc.h, gstelements.c: moved asyncdisksrc to
-	disksrc, no point in having a distinction
-
-2001-02-03 07:25  omegahacker
-
-	* configure.in: fixed up the Alpha and ARM processor checks
-
-2001-02-01 17:42  omegahacker
-
-	* plugins/mpeg2/video/recon.c: added ifdef around the x86 code,
-	specifically SSE
-
-2001-02-01 17:39  omegahacker
-
-	* plugins/mpeg1/mpeg_play/video.c: added ifdef around the x86 code,
-	specifically SSE
-
-2001-01-31 22:54  omegahacker
-
-	* acconfig.h, configure.in, gst/gstarm.h: ARM works!
-
-2001-01-31 20:27  wtay
-
-	* docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/gstreamer.types.in,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstxml.sgml, gst/gstelement.c, gst/gstobject.c,
-	gst/gstxml.c, gst/gstxml.h: Documentation updates.
-
-2001-01-30 23:53  wtay
-
-	* examples/xml/createxml.c, examples/xml/runxml.c,
-	gst/gstelement.c, gst/gstobject.c, gst/gstobject.h, gst/gstxml.c,
-	gst/gstxml.h: Added a first attempt for XML embedding in the main
-	core XML.  Objects will emit a signal that a user app can connect
-	to in order to insert its XML into the tree.  You can catch the
-	object_loaded signal in GstXML to parse the user supplied XML data
-	in the stream. The object_loaded signal is implemented with a
-	custom made class signal. All GstObject classes now automatically
-	create a GstSignalObject that serves as a proxy to the user app
-	when an object is loaded. All objects are currently responsible to
-	emit the class signal themselves.  runxml and createxml serve as an
-	example how the XML hooks can be used to insert and retrieve custom
-	XML tags.
-
-2001-01-29 23:51  wtay
-
-	* docs/random/wtay/qos: The early beginnings of a doc about QoS :-)
-
-2001-01-29 23:50  wtay
-
-	* examples/plugins/example.c, examples/plugins/example.h,
-	gst/gstxml.c, plugins/audioscale/audioscale.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/avi/wincodec/gstwinenc.c,
-	plugins/cdparanoia/cdparanoia.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3encode/lame/gstlame.c: Lots of plugins fixes where the
-	parentage macros were replaced with the correct gst_*_get_parent. 
-	Updated the example.  'gstreamer' now is the doc type instead of
-	GST-Pipeline
-
-2001-01-29 23:32  wtay
-
-	* docs/random/wtay/namespaces: Added ramblings about the XML
-	load/save
-
-2001-01-29 00:06  wtay
-
-	* docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstxml.sgml,
-	editor/gsteditorpad.c, editor/gsteditorproject.c,
-	examples/plugins/example.c, examples/xml/createxml.c,
-	examples/xml/runxml.c, gst/gstbin.c, gst/gstbin.h, gst/gstclock.c,
-	gst/gstelement.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstinfo.c, gst/gstinfo.h, gst/gstobject.c, gst/gstobject.h,
-	gst/gstpad.c, gst/gstpad.h, gst/gstparse.c, gst/gstparse.h,
-	gst/gstpipeline.c, gst/gstplugin.c, gst/gstqueue.c,
-	gst/gstscheduler.c, gst/gstthread.c, gst/gsttypefind.c,
-	gst/gstxml.c, gst/gstxml.h, gst/elements/gstasyncdisksrc.c,
-	gst/elements/gstaudiosink.c, gst/elements/gstaudiosrc.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstfakesink.c,
-	gst/elements/gstfakesrc.c, gst/elements/gstfdsink.c,
-	gst/elements/gstfdsrc.c, gst/elements/gsthttpsrc.c,
-	gst/elements/gstidentity.c, gst/elements/gstpipefilter.c,
-	gst/elements/gstsinesrc.c, gst/elements/gsttee.c,
-	gstplay/gstmediaplay.c, plugins/au/gstparseau.c,
-	plugins/audioscale/audioscale.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/wincodec/gstwindec.c,
-	plugins/avi/wincodec/gstwinenc.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, plugins/cdparanoia/cdparanoia.c,
-	plugins/cdparanoia/cdparanoia.h, plugins/effects/stereo/stereo.c,
-	plugins/effects/stereo/stereo.h, plugins/effects/volume/volume.c,
-	plugins/effects/volume/volume.h, plugins/esd/esdsink/esdsink.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/icecast/icecastsend/icecastsend.c,
-	plugins/jpeg/Makefile.am, plugins/jpeg/gstjpeg.c,
-	plugins/jpeg/gstjpeg.h, plugins/jpeg/gstjpegdec.c,
-	plugins/jpeg/gstjpegdec.h, plugins/jpeg/gstjpegenc.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h,
-	plugins/mpeg2/videoparse/mp2videoparse.c,
-	plugins/rtjpeg/rtjpegdec.c, plugins/rtjpeg/rtjpegenc.c,
-	plugins/rtjpeg/rtjpegenc.h, plugins/vcdsrc/vcdsrc.c,
-	plugins/vcdsrc/vcdsrc.h, plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/smoothwave/smoothwave.h,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c,
-	plugins/visualization/vumeter/vumeter.h,
-	plugins/vorbis/vorbisenc.c, plugins/wav/gstparsewav.c,
-	plugins/wav/gstparsewav.h, test/record.c, tests/sched/runxml.c,
-	tools/gstreamer-inspect.c: This is a megapatch with the following
-	changes:
-	
-	 - moved the gchar *name to GstObject, removed the ones in
-	GstElement and
-	   GstPad.
-	 - moved the parent handling completely into GstObject. This cause
-	*all* of
-	   the plugins to fail (except those that used gst_pad_get_parent)
-	 - rearanged the XML save handling.
-	   - GstObject now has a class function save/restore_thyself.
-	   - GstObject has a generic method gst_object_save_thyself, this
-	makes it
-	     possible to fire a signal wehever a new object is loaded. This
-	is needed
-	     so we can add XML save hooks.
-	   - GstXML API has changed slightly. You now have to create a
-	GstXML object
-	     first before you can actually load something. This makes it
-	possible to
-	     attach a signal to GstXML whenever an object is loaded. I'm
-	not sure we
-	     will keep this interface.
-	 - GstObject can now print the path_string without knowing about
-	the GstPad and
-	   GstElement types.
-	 - Added gst_bin_get_by_name_recurse_up to lookup an element in the
-	current
-	   element hierarchy.
-	 - added XML namespaces to the saved pipelines the namespace is:
-	   http://gstreamer.net/gst-core/1.0/
-	   namespaces are needed to distinguish user generated XML from the
-	core XML.
-	
-	Note that the plugins still contain a macro GST_OBJECT_PARENT that
-	will be replaced with gst_pad_get_parent shortly.
-
-2001-01-26 23:35  wtay
-
-	* REQUIREMENTS: Added the requirement for libshout
-
-2001-01-26 23:33  wtay
-
-	* configure.in: For the icecast sender
-
-2001-01-26 23:33  wtay
-
-	* plugins/: Makefile.am, icecast/Makefile.am,
-	icecast/icecastsend/.cvsignore, icecast/icecastsend/Makefile.am,
-	icecast/icecastsend/icecastsend.c,
-	icecast/icecastsend/icecastsend.h: Added an icecast send plugin
-	based on libshout
-
-2001-01-26 18:15  richardb
-
-	* plugins/esd/esdsink/esdsink.c: Fix memory leak: wasn't unreffing
-	the buffer.
-
-2001-01-23 20:03  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, gst/gstelement.c,
-	gst/gstelement.h, gstplay/gstmediaplay.c: Updated the docs with the
-	new _request methods
-
-2001-01-23 18:42  richardb
-
-	* gst/gstelement.c, gst/gstelement.h, tests/tee.c: Add
-	gst_element_request_compatible_pad and remove
-	gst_element_request_pad.  Implemented something reasonable for
-	gst_element_request_compatible_pad, but havn't tested much: it
-	won't work for tee because the pad templates have no caps, and
-	negotiation is not yet written, so it is assumed that the tee pads
-	can't connect to anything.
-
-2001-01-22 23:39  richardb
-
-	* examples/launch/mp3play: Fix launch so that it can play a list of
-	files, now that EOS works enough.  (It needs to not have to restart
-	gstreamer each time, but good enough for now ;-) )
-
-2001-01-21 23:20  wtay
-
-	* docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstinfo.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstparse.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstxml.sgml,
-	gst/gstautoplug.c, gst/gstbin.c, gst/gstelement.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstparse.c, gst/gstqueue.c, gst/gstthread.c,
-	gst/gstxml.c, gst/gstxml.h, tools/gstreamer-inspect.c: Docs updates
-	Added XML load from memory functionality Undid the videosink patch,
-	something else is wrong now on my machine: no MMX acceleration :-(
-
-2001-01-21 17:36  wtay
-
-	* docs/random/wtay/eos-19012001: An overview of the current EOS
-	handling algorithm.
-
-2001-01-21 16:19  wtay
-
-	* docs/random/dynpads: Ramblings about dynamic pads
-
-2001-01-21 16:18  wtay
-
-	* docs/random/omega/testing/.cvsignore: [no log message]
-
-2001-01-21 16:10  wtay
-
-	* docs/gst/.cvsignore: updated to exclude various docs formats
-	(.ps, .dvi,...)
-
-2001-01-21 16:08  wtay
-
-	* tests/eos/: .cvsignore, case7.c: Added another test case, a bin
-	in a thread, to test EOS. still hangs because gtk_main hangs in a
-	__poll somewhere.
-
-2001-01-21 16:06  wtay
-
-	* gst/gstbin.c, gst/gstbin.h, gst/gstelement.c, gst/gstthread.c,
-	tests/eos/Makefile.am, tests/eos/case4.c, tests/eos/case5.c,
-	tools/gstreamer-launch.c: More eos handling, bin in bin is handled
-	correctly now.	Updated gstreamer-launch to loop while !EOS.
-
-2001-01-21 01:20  omegahacker
-
-	* docs/random/omega/testing/framework: more complete(?) XML
-	description of example
-
-2001-01-21 01:03  omegahacker
-
-	* docs/random/omega/testing/framework: initial thoughts on
-	framework
-
-2001-01-21 00:57  wtay
-
-	* gst/elements/gstaudiosink.c: Applied the patch from Sepp Wijnands
-	<mrrazz@garbage-coderz.net> that solves the 'OSS hangs when opening
-	the device when in use' bug.
-
-2001-01-20 20:08  omegahacker
-
-	* docs/design/: part-conventions.txt, part-gstelement.txt,
-	part-gstobject.txt, part-standards.txt: current set of design docs,
-	in .txt format
-
-2001-01-20 19:20  omegahacker
-
-	* docs/random/omega/testing/: Makefile, gstobject.c, gstobject.txt:
-	added first hack at testing suite design
-
-2001-01-20 18:20  wtay
-
-	* gst/: gstbin.c, gstscheduler.c: Check for NULL buffers before
-	chaining/pushing them to the next element.  NULL buffers happen on
-	EOS.  gst_bin_iterate now returns a gboolean indicating something
-	useful happened.  It the bin is EOS, it returns FALSE.
-
-2001-01-20 17:59  wtay
-
-	* gst/: gstbin.c, gstbin.h, gstelement.c, gstqueue.c,
-	gstscheduler.c, gstthread.c: More EOS changes.	When a bin2 is
-	found inside a bin1, we add the bin2 to the EOS providers of the
-	bin1. When there is nothing more to schedule in bin1 and bin2 has
-	fired EOS, bin1 is in EOS.  The queue overrides the EOS
-	notification and calls EOS on the src pad when the queue is empty
-	and the sink pad is in EOS.
-
-2001-01-20 17:53  wtay
-
-	* tests/eos/: .cvsignore, Makefile.am, case3.c, case4.c, case5.c,
-	case6.c: More test cases for EOS handling
-
-2001-01-20 03:36  omegahacker
-
-	* tests/: paranoia.c, queue.c, states.c: updated tests code to new
-	ghostpad API
-
-2001-01-20 03:33  omegahacker
-
-	* test/: ac3play.c, avi2mpg.c, aviparse.c, mp1parse.c, mp1tomp1.c,
-	mp2toavi.c, mp2tomp1.c, mpeg2parse.c, qtest.c, vidcapture.c,
-	vidcapture2.c: updated test programs to new ghostpad API
-
-2001-01-20 03:28  wtay
-
-	* gst/: gstelement.c, elements/gstfakesrc.c: Make sure the
-	loopfunction ends when an element goes to EOS.	Fixed the fakesrc
-	bug found by taaz.
-
-2001-01-20 03:10  wtay
-
-	* gst/: cothreads.c, gstbin.c, gstbin.h, gstelement.c,
-	gstelement.h, gstpad.c, gstscheduler.c: A very small change to make
-	eos somewhat work. no inner bins are checked.  When an element
-	fires EOS, the chain with that element is removed from the
-	scheduler (marked inactive). If all chains are inactive, the bin
-	fires EOS.
-
-2001-01-20 03:02  wtay
-
-	* tests/eos/: case2.c, case3.c: Two more test cases
-
-2001-01-20 02:57  omegahacker
-
-	* gst/: gstelement.c, gstelement.h, gstinfo.h, gstpad.c, gstpad.h,
-	gstparse.c: Got ghostpads to work, even in -launch.  Needs more
-	testing still.
-
-2001-01-19 23:34  wtay
-
-	* plugins/mp3decode/mpg123/Makefile.am: Added non x86 code to extra
-	dist
-
-2001-01-19 22:15  wtay
-
-	* docs/gst/Makefile.am, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstarch.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfakesrc.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstparse.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gsttee.sgml,
-	gst/cothreads.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h,
-	plugins/mpeg2/ac3dec/downmix.c, test/mp1parse.c, tests/props.c,
-	tests/tee.c: API docs updates
-
-2001-01-19 09:37  omegahacker
-
-	* editor/gsteditorelement.c, editor/gsteditorimage.c,
-	editor/gsteditorpad.c, editor/gsteditorpalette.c, gst/gstalpha.h,
-	gst/gstbin.c, gst/gsti386.h, gst/gstinfo.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstppc.h, gst/gstscheduler.c, test/qtest.c,
-	tests/eos/Makefile.am: Major cleanup of the latest ghostpad
-	changes.  Fixed everything that broke, correctly.  Someone will
-	want to go update the API doc templates.
-
-2001-01-19 09:14  omegahacker
-
-	* gst/: Makefile.am, cothreads.c, cothreads.h, gstarch.h, gstarm.h:
-	more cothreads cleanup, and first pass at ARM code
-
-2001-01-19 07:48  omegahacker
-
-	* gst/cothreads.c: ALPHA COTHREADS WORK!  Worked around a nasty
-	stack issue that probably can't be solved anyway.  Tomorrow the UDB
-	build will commence, and let the best guess win!
-
-2001-01-19 02:23  omegahacker
-
-	* gst/cothreads.c, gst/gstautoplug.c, gst/gstbin.c, gst/gstpad.c,
-	gst/gstpad.h, gst/gstpipeline.c, gst/gstscheduler.c,
-	plugins/avi/audiocodecs.c, plugins/effects/volume/volume.c,
-	tools/gstreamer-inspect.c: First pass at updating to new ghostpad
-	system.  The objects are in place, I now need to go and get all the
-	Bin end of things worked out.  Testing should be fairly easy, at
-	least for verification.
-	
-	Everything I've tried so far works with no changes, with is
-	amazing.  That's just cool.  Once again we rewrite an entire
-	subsystem, and nothing else notices anything but the new features
-	;-)
-
-2001-01-19 02:10  richardb
-
-	* docs/manual/: pads.sgml, states.sgml: Fix some typos, and grammar
-	errors.
-
-2001-01-19 02:06  richardb
-
-	* docs/fwg/: Makefile.am, firstplugin.sgml,
-	gst-plugin-writers-guide.sgml, loopbased.sgml, testapp.sgml,
-	typesnprops.sgml: Wrote a little more text, and did more of the
-	work on making the sections.  When this manual has text in all
-	these sections its going to be pretty impressive...
-
-2001-01-19 00:07  wtay
-
-	* tests/: .cvsignore, Makefile.am, tee.c, eos/Makefile.am: Added a
-	little tee test program.
-
-2001-01-19 00:07  wtay
-
-	* tools/gstreamer-inspect.c: Updated -inspect to display the new
-	pad presence REQUEST.
-
-2001-01-19 00:02  wtay
-
-	* gst/: gstqueue.c, gstqueue.h, gsttypefind.c, gsttypefind.h,
-	elements/gstqueue.c, elements/gstqueue.h, elements/gsttypefind.c,
-	elements/gsttypefind.h: And here they are....
-
-2001-01-19 00:01  wtay
-
-	* gst/: Makefile.am, gst.c, gstbin.c, elements/Makefile.am,
-	elements/gstelements.c: Moved queue and typefind elements to the
-	core since they are referenced by name.
-
-2001-01-18 23:46  wtay
-
-	* gst/: Makefile.am, gst.c, gst.h, gstelement.c, gstelement.h,
-	gstpad.c, gstpad.h, gsttee.c, gsttee.h, elements/Makefile.am,
-	elements/gstelements.c, elements/gsttee.c, elements/gsttee.h: Added
-	mthodes to request an element to create pads:
-	gst_element_request_pad* This can be used to construct a tee and a
-	muxer/mixer/aggregator element.  Moved the tee element to elements/
-	because it can now be handled with the new pad request features. 
-	The padfactory also has some changes: a pad can now be of presence
-	REQUEST, which means that the pad can be requested from this plugin
-	(doh).
-
-2001-01-18 15:29  richardb
-
-	* plugins/esd/esdsink/esdsink.c,
-	plugins/visualization/synaesthesia/core.c,
-	plugins/visualization/synaesthesia/core.h,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/synaesthesia/synaesthesia.h,
-	plugins/visualization/vumeter/vumeter.c, tests/caps.c,
-	tests/padfactory.c, tests/props.c, tests/registry.c: Some more
-	fixes for libxml.  Also, some code formatting changes in esdsink,
-	some further fixes to vumeter, and some work on synaesthesia to
-	make it closer to working (it doesn't fully work yet, though. :( )
-
-2001-01-18 11:16  richardb
-
-	* gst/gstbin.c, tools/gstreamer-register.c, gst/gstcaps.c,
-	gst/gstcaps.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstplugin.c, gst/gstplugin.h, gst/gstprops.c, gst/gstprops.h,
-	gst/gsttype.c, gst/gstxml.c, gst/gstxml.h: Fixes to work with
-	libxml2.  Also improved a couple of debugging messagse.
-
-2001-01-18 08:54  omegahacker
-
-	* gst/: Makefile.am, cothreads.c, gstalpha.h, gstarch.h, gsti386.h,
-	gstppc.h: Updates to cothreads code, including non-working alpha. 
-	Changed things a bit, including PPC.  Not having a PPC machine, I
-	need someone to test these changes and report back whether they
-	worked or not.
-
-2001-01-18 02:25  richardb
-
-	* plugins/visualization/vumeter/: vumeter.c, vumeter.h: Fix vumeter
-	so that it compiles and runs.  It doesn't do much of use though:
-	simply produces some debug output, and has a set of arguments which
-	report the volume.  It might be more useful if it produced its
-	output from a source pad, in an appropriate format, so that another
-	plugin could graphically display this.
-
-2001-01-17 07:43  wtay
-
-	* examples/typefind/: Makefile, Makefile.am: Oops
-
-2001-01-17 01:59  richardb
-
-	* tools/gstreamer-register.c: Fix permissions problems: the
-	directory will now always be created mode 2755.  In addition, the
-	temporary file is given restricted permissions, and the permissions
-	on the registry file are preserved if one already exists, or 666
-	(and modified by the umask) if one doesn't already exist.
-
-2001-01-17 00:02  wtay
-
-	* configure.in: Added typefind example to configure.in
-
-2001-01-17 00:01  wtay
-
-	* examples/: autoplug/autoplug.c, typefind/Makefile,
-	typefind/typefind.c: Added the typefind example from the manual
-
-2001-01-16 23:35  wtay
-
-	* docs/manual/: dynamic.sgml, programs.sgml, typedetection.sgml,
-	utility.sgml: Manual updates and additions
-
-2001-01-15 21:10  richardb
-
-	* plugins/esd/esdsink/esdsink.c: Correct the pads for esdsink
-	plugin, after I realised they were wrong during a conversation
-	about pads with wtay. ;-)
-
-2001-01-15 19:25  wtay
-
-	* gst/: gstbin.c, gstelement.c: Fixed the state change code in
-	gstelement that broke with the conversion of the states to a
-	bitfield.
-
-2001-01-15 00:53  richardb
-
-	* plugins/mp3decode/mpg123/: layer3.c, mpg123.h: Added some
-	conditionals to ensure that the i486 stuff is used only in x86
-	architectures.	Now links on PPC.
-
-2001-01-15 00:53  wtay
-
-	* docs/manual/: dynamic.sgml, pads.sgml, quotes.sgml: Updated docs
-	with dynamic pads Fixed quotes
-
-2001-01-14 22:28  wtay
-
-	* gstplay/Makefile.am: Added gst_libs to Makefile
-
-2001-01-14 22:25  richardb
-
-	* docs/manuals.mak: Fix build problem when don't have db2html, or a
-	directory to put the manual in: was trying to make a symlink in the
-	non-existant directory, and causing the build to stop.
-
-2001-01-14 22:24  richardb
-
-	* gst/Makefile.am: Adding nasty hack to rules to generate
-	cothreads.{o,lo}, to get dependencies right.  Rules copied from
-	automake, and therefore a bit dependent on automake keeping doing
-	dependency things the same kind of way, but it should work as long
-	as automake puts dependencies into .deps/*.P
-
-2001-01-14 22:23  wtay
-
-	* tests/sched/Makefile.am: Fixed a Makefile error
-
-2001-01-14 21:55  omegahacker
-
-	* Makefile.am, acconfig.h, configure.in,
-	components/bonobo-gstmediaplay/Makefile.am, docs/gst/Makefile.am,
-	docs/plugins/Makefile.am, docs/random/omega/build/TODO,
-	editor/Makefile.am, examples/autoplug/Makefile.am,
-	examples/helloworld/Makefile.am, examples/helloworld2/Makefile.am,
-	examples/plugins/Makefile.am, examples/queue/Makefile.am,
-	examples/queue2/Makefile.am, examples/queue3/Makefile.am,
-	examples/queue4/Makefile.am, examples/thread/Makefile.am,
-	examples/xml/Makefile.am, gst/Makefile.am, gst/gst.h,
-	gst/gst_private.h, gst/gstcaps.h, gst/gstelement.h, gst/gstpad.h,
-	gst/gstplugin.h, gst/gstprops.h, gst/elements/Makefile.am,
-	gst/types/Makefile.am, gstplay/Makefile.am,
-	libs/getbits/Makefile.am, libs/idct/Makefile.am,
-	libs/putbits/Makefile.am, libs/riff/Makefile.am,
-	plugins/au/Makefile.am, plugins/audioscale/Makefile.am,
-	plugins/avi/Makefile.am, plugins/avi/gstavidecoder.h,
-	plugins/avi/gstaviencoder.h, plugins/avi/wincodec/Makefile.am,
-	plugins/capture/v4l/Makefile.am, plugins/cdparanoia/Makefile.am,
-	plugins/cobin/Makefile.am, plugins/dvdsrc/Makefile.am,
-	plugins/effects/stereo/Makefile.am,
-	plugins/effects/volume/Makefile.am,
-	plugins/esd/esdsink/Makefile.am,
-	plugins/filters/ladspa/Makefile.am,
-	plugins/filters/median/Makefile.am,
-	plugins/filters/smooth/Makefile.am, plugins/jpeg/Makefile.am,
-	plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/parse/Makefile.am,
-	plugins/mp3decode/types/Makefile.am,
-	plugins/mp3decode/xa/Makefile.am,
-	plugins/mp3decode/xing/Makefile.am,
-	plugins/mp3encode/lame/Makefile.am,
-	plugins/mpeg1/mpeg1encoder/Makefile.am,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpegaudio/Makefile.am,
-	plugins/mpeg1/mpegtypes/Makefile.am,
-	plugins/mpeg1/parse/Makefile.am,
-	plugins/mpeg1/system_encode/Makefile.am,
-	plugins/mpeg1video/parse/Makefile.am,
-	plugins/mpeg2/ac3dec/Makefile.am,
-	plugins/mpeg2/ac3parse/Makefile.am,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpegtypes/Makefile.am,
-	plugins/mpeg2/parse/Makefile.am,
-	plugins/mpeg2/subtitles/Makefile.am,
-	plugins/mpeg2/video/Makefile.am,
-	plugins/mpeg2/videoparse/Makefile.am, plugins/rtjpeg/Makefile.am,
-	plugins/vcdsrc/Makefile.am, plugins/videoscale/Makefile.am,
-	plugins/visualization/smoothwave/Makefile.am,
-	plugins/visualization/spectrum/Makefile.am,
-	plugins/visualization/synaesthesia/Makefile.am,
-	plugins/visualization/vumeter/Makefile.am,
-	plugins/vorbis/Makefile.am, plugins/wav/Makefile.am,
-	test/Makefile.am, test/bindings/Makefile.am, test/xml/Makefile.am,
-	tests/Makefile.am, tests/eos/Makefile.am, tests/sched/Makefile.am:
-	Massive build fixup.  Will send message to -devel list later with
-	details on the changes and what they mean for Makefile.am writers. 
-	Check docs/random/omega/build/TODO for a list of things that I had
-	to make sure of.
-	
-	NOTE: this requires a complete rebuild of all plugins, since I also
-	changed the STATE enum to a bitfield instead of sequential numbers.
-
-2001-01-14 21:38  omegahacker
-
-	* tools/: Makefile.am, gstreamer-launch.c: fixed an odd case with
-	the launcher, didn't deal with argc properly
-
-2001-01-14 14:57  wtay
-
-	* gst/cothreads.c: Change MAP_ANONYMOUS to MAP_ANON in the mmap for
-	BSD compatibility
-
-2001-01-14 14:43  wtay
-
-	* gst/elements/: gstfakesink.c, gstfakesrc.c, gstfakesrc.h,
-	gstidentity.c, gstqueue.c: Added an extra signal_cond to queue to
-	make sure that the waiting thread is woken up. Can somebody with
-	queue problems verifify that this does improve the situation a bit.
-	I'm suspecting that something else is going on, like a pthreads bug
-	or something.  Small updates to the fake elements.
-
-2001-01-14 12:42  richardb
-
-	* REQUIREMENTS: Added a couple of lines about debian packages.
-
-2001-01-14 04:45  wtay
-
-	* docs/manual/quotes.sgml: Updated quotes :-)
-
-2001-01-13 19:04  wtay
-
-	* docs/random/wtay/eos5: Antoher way of dealing with EOS. This
-	proposal does not use the recursion to propagate the EOS signal.
-	This implies that an element cannot deny an EOS signal anymore but
-	since the signal is generated when a NULL buffer is pushed,
-	somebody did something wrong anyway.
-
-2001-01-13 15:47  wtay
-
-	* docs/random/wtay/eos4: Added an updated use case for EOS
-	handling.
-
-2001-01-13 14:45  wtay
-
-	* docs/random/TODO-post-0.1.0: Updated the TODO list...
-
-2001-01-13 14:25  wtay
-
-	* tools/gstreamer-register.c: Fixed the directory permission Bug
-	#128637
-
-2001-01-13 13:51  wtay
-
-	* gst/: gstbin.c, gstbin.h, gstcaps.h, gstelement.c, gstelement.h,
-	gstpad.c, gstpad.h, gstplugin.h, gstprops.h, gstxml.h: include
-	parser.h instead of gnome-xml/parser.h untill xml-config is
-	fixed...
-
-2001-01-13 02:55  omegahacker
-
-	* configure.in: turned static library build back off for
-	development
-
-2001-01-13 02:12  wtay
-
-	* docs/random/wtay/eos3: Added case6: a multithreaded audio mixer
-	setup.
-
-2001-01-13 00:14  wtay
-
-	* plugins/mp3decode/mpg123/mpg123.c: Use glib function to convert
-	be->le
-
-2001-01-12 23:37  wtay
-
-	* libs/getbits/gstgetbits.c: Added config.h as an include to make
-	sure BE/LE stuff works
-
-2001-01-12 22:44  wtay
-
-	* docs/random/wtay/eos3: Added a simple mp3 mixer pipeline setup
-	with an explanation of how EOS could be handled with it.
-
-2001-01-12 20:54  wtay
-
-	* ChangeLog: Updated ChangeLog :-)
-
-2001-01-12 20:48  wtay
-
-	* plugins/mpeg2/mpeg2dec/: idct.c, motion_comp.c: Make sure the
-	mmx/sse code is not used on non i386
-
-2001-01-12 20:44  wtay
-
-	* configure.in: Check for more atomic operations
-
-2001-01-12 20:25  wtay
-
-	* plugins/mpeg2/mpeg2dec/decode.c: Removed include from mpeg2dec
-	for mmx.h
-
-2001-01-12 20:15  wtay
-
-	* plugins/mpeg2/mpeg2dec/Makefile.am: Made sure mmx compilation is
-	not performed on non intel
-
-2001-01-12 18:51  wtay
-
-	* docs/random/wtay/: eos2, eos3: While typing on eos2 about the EOS
-	handling, I got an idea and started eos3. eos3 takes a different
-	approach by merging the eos detection and the scheduling in a quite
-	elegant way. I'm not sure we handle the scheduling like this
-	though...
-
-2001-01-11 23:20  wtay
-
-	* plugins/mpeg1/mpeg_play/recon_sse.s: Removed /* */ comments and
-	replaced them with a # comment as suggested by Peter Weilbacher
-
-2001-01-11 23:15  wtay
-
-	* plugins/mpeg2/mpeg2enc/: bdist1_mmx.s, bdist1_sse.s,
-	bdist2_mmx.s, dist1_00_mmx.s, dist1_00_sse.s, dist1_01_mmx.s,
-	dist1_01_sse.s, dist1_10_mmx.s, dist1_10_sse.s, dist1_11_mmx.s,
-	dist1_11_sse.s, dist2_mmx.s, variance_mmx.s: Fixed the comments in
-	the asm sources from /* */ to #, it seems to confuse some compilers
-
-2001-01-11 22:09  omegahacker
-
-	* gst/: gstpad.c, gstpad.h: renamed private to element_private, to
-	make obvious its usage restrictions
-
-2001-01-11 22:03  omegahacker
-
-	* gst/: gstpad.c, gstpad.h: added gpointer private to pads, so
-	elements can store ints or pointers for their own use
-
-2001-01-11 21:53  wtay
-
-	* Makefile.am: Added the REQUIREMENTS file to distdir
-
-2001-01-11 09:42  omegahacker
-
-	* docs/random/omega/: IDEAS, TODO-0.1.0, TYPE_FOURCC, caps2, caps3,
-	debug-commit, eos, filterfactory, output_policies, pad-negotiation,
-	padtemplates, plan-generation, sched-case, sched-commit1, sched2,
-	scheduling, type-properties, EOS/chain-walkthrough, sched/chains,
-	sched/walkthrough-72: added all of my un-committed random doc
-	files, as backup <g>
-
-2001-01-11 00:35  omegahacker
-
-	* gstreamer.spec.in: updated spec file to create -devel package too
-
-2001-01-11 00:33  omegahacker
-
-	* gst/gstinfo.c: removed some spare newlines
-
-2001-01-10 21:28  omegahacker
-
-	* docs/manual/programs.sgml: updated -launch examples
-
-2001-01-10 09:14  omegahacker
-
-	* gst/gstxml.c, docs/gst/tmpl/gstxml.sgml: minor docs fix
-
-2001-01-09 21:19  wtay
-
-	* configure.in: Added --with-win32-libdir to configure
-
-2001-01-09 21:06  omegahacker
-
-	* acconfig.h, configure.in: added config option for win32 dll and
-	re-enabled static building
-
-2001-01-09 20:54  omegahacker
-
-	* docs/manual/quotes.sgml: latest irc insanity
-
-2001-01-09 20:53  wtay
-
-	* REQUIREMENTS: Added /usr/lib/win32/ windows libraries in the
-	REQUIREMENTS
-
-2001-01-09 20:45  omegahacker
-
-	* tools/gstreamer-register.c: added unlink() of registry file, and
-	moved info enable up
-
-2001-01-09 06:48  omegahacker
-
-	* tools/gstreamer-launch.c: typo fix
-
-2001-01-09 04:42  omegahacker
-
-	* acconfig.h, plugins/cdparanoia/cdparanoia.c: added HAVE_GNOME to
-	acconfig.h and added debugging output to cdparanoia
-
-2001-01-09 04:39  omegahacker
-
-	* tools/: Makefile.am, gstreamer-inspect.c, gstreamer-launch.c,
-	gstreamer-register.c: various changes, including making -launch use
-	the library version
-
-2001-01-09 04:36  omegahacker
-
-	* gst/gstplugin.c: fixed a leak
-
-2001-01-08 23:57  richardb
-
-	* docs/gst/.cvsignore: cvsignore gstreamer-scan{,.c}
-
-2001-01-08 23:55  richardb
-
-	* configure.in, docs/manuals.mak, docs/fwg/Makefile.am,
-	docs/fwg/firstplugin.sgml, docs/fwg/gst-plugin-writers-guide.sgml,
-	docs/fwg/titlepage.sgml, docs/manual/quotes.sgml,
-	examples/Makefile.am, examples/plugins/.cvsignore,
-	examples/plugins/Makefile.am, examples/plugins/example.c,
-	examples/plugins/example.h, plugins/example.c, plugins/example.h:
-	Move plugin example code to new location, and put it into build
-	system.  Add work on firstplugin chapter of pwg.  Fix typo in
-	quotes.  Add @'s before commands in manuals.mak
-
-2001-01-08 22:08  wtay
-
-	* docs/Makefile.am, docs/manual/components.sgml,
-	docs/manual/queues.sgml, docs/manual/quotes.sgml,
-	docs/manual/states.sgml, docs/manual/xml.sgml,
-	docs/plugins/Makefile.am, docs/plugins/gstdoc-scanobj,
-	docs/random/testing/syntax, examples/xml/runxml.c, gst/gstxml.c,
-	tests/sched/testcases1.tc: Manual updates.  fixes to gstxml.c
-	gst_xml_get_element was broken
-
-2001-01-08 22:04  richardb
-
-	* gst/: gstelement.c, gstelement.h: Correct typo in comment, and
-	make another comment more helpful.
-
-2001-01-08 22:03  richardb
-
-	* plugins/esd/esdsink/esdsink.c: Move esdsink into the sink/
-	position in the heirarchy.
-
-2001-01-08 20:15  richardb
-
-	* editor/gsteditorproperty.c: Display what the type of an element
-	is, as the first thing in the properties box.
-
-2001-01-08 08:32  omegahacker
-
-	* docs/manual/quotes.sgml: added another, um, exchange
-
-2001-01-08 01:43  richardb
-
-	* tools/gstreamer-launch.c: Fix typo in error message.
-
-2001-01-08 01:27  richardb
-
-	* docs/manual/: Makefile.am, gstreamer-manual.sgml, quotes.sgml:
-	Add a "quotes" section to the gstreamer manual.  This may not be an
-	appropriate place to have this - feel free to remove it.  But I
-	think this should live _somewhere_.
-
-2001-01-08 01:23  richardb
-
-	* docs/random/filter-writers-guide: Remove text version of headings
-	for fwg.  This is now contained in the SGML
-
-2001-01-08 01:21  richardb
-
-	* docs/fwg/: .cvsignore, Makefile.am,
-	gst-filter-writers-guide.sgml, gst-plugin-writers-guide.sgml:
-	Renamed the filter writers guide to plugin writers guide.  Added in
-	the planned section headings.
-
-2001-01-07 22:59  wtay
-
-	* tests/sched/testcases1.tc: Added a sample tescase file
-
-2001-01-07 22:36  wtay
-
-	* docs/random/testing/syntax: Added iterations
-
-2001-01-07 22:34  wtay
-
-	* docs/random/testing/syntax: Added a plan for regression test plan
-	definitions
-
-2001-01-07 18:36  wtay
-
-	* gst/: gst.c, gsttee.c, gsttee.h: Handle the tee element like bin,
-	thread, pipeline, so that it can be used in gstreamer-inspect and
-	gstreamer-launch...
-
-2001-01-07 17:09  wtay
-
-	* configure.in, docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfakesink.sgml,
-	docs/gst/tmpl/gstfakesrc.sgml, docs/gst/tmpl/gstfdsink.sgml,
-	docs/gst/tmpl/gstfdsrc.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstpipefilter.sgml,
-	docs/gst/tmpl/gstqueue.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstsinesrc.sgml, docs/gst/tmpl/gstthread.sgml,
-	docs/gst/tmpl/gsttypefind.sgml, gstplay/gstmediaplay.c,
-	gstplay/gstmediaplay.glade: Made sure -g is not used when no
-	--enable-debug Updated AUTHORS in gstmediaplay
-
-2001-01-07 16:48  richardb
-
-	* tools/gstreamer-register.c: Fix typos in save_regsitry()
-
-2001-01-07 16:14  richardb
-
-	* tools/gstreamer-register.c: Folling wtays suggestion, I was going
-	to start using xmlDocDump, to avoid a symlink attack on the
-	temporary registry file.  Unfortunately, xmlDocDump doesn't give
-	any indication whether its successful, so I've #ifdefed this out
-	and left the original in place.  Since the tmp file is in
-	/etc/gstreamer, this should be okay for the moment, but I shall ask
-	the libxml people to add some way of getting the success value of
-	DocDump so we can use that in future.
-
-2001-01-07 15:31  richardb
-
-	* acinclude.m4: Slight tweak: now I just need to send the modified
-	version off to the alsa people.
-
-2001-01-07 15:25  richardb
-
-	* acinclude.m4: New macro for testing for ALSA libraries. 
-	Understands the ACTION_IF_FOUND and ACTION_IF_NOT_FOUND arguments.
-
-2001-01-07 15:20  richardb
-
-	* gst/cothreads.c, gst/gstplugin.c, tools/gstreamer-register.c:
-	gstreamer-register will now never cause the ** WARNING **:
-	gstplugin: registry needs rebuild warning to appear - sets a hidden
-	global in gstplugin.c to turn the warning off.	Fix a warning in
-	gst/cothreads.c (function was declared extern, defined static)
-
-2001-01-07 14:55  richardb
-
-	* plugins/esd/esdsink/esdsink.c: FIx a tiny memory leak.
-
-2001-01-07 14:49  wtay
-
-	* gst/elements/: gstqueue.c, gstqueue.h: Greatly simplyfied queue
-	locking by only using the elements mutex. This should fix the
-	locking problems we had...
-
-2001-01-07 14:32  richardb
-
-	* plugins/esd/esdsink/esdsink.c: And another tiny warning.
-
-2001-01-07 14:29  richardb
-
-	* plugins/esd/esdsink/esdsink.c: Fix a couple of warnings.
-
-2001-01-07 14:16  richardb
-
-	* acinclude.m4: Don't add -lasound etc to LIBS if ALSA turns out
-	not to be installed.
-
-2001-01-07 14:05  richardb
-
-	* acinclude.m4: Add an acinclude containing AM_PATH_ALSA, so wtay
-	can compile.  Will shortly update this with a slightly better
-	macro.
-
-2001-01-07 13:58  richardb
-
-	* configure.in, docs/manuals.mak: Add tests for -L png and -L eps
-	arguments to fig2dev.  Correct slip in docs/manuals.mak which used
-	HAVE_DB2PS instead of HAVE_PS2PDF.
-
-2001-01-07 08:40  omegahacker
-
-	* configure.in: added check for libasound, and fixed check for
-	cdparanoia
-
-2001-01-07 08:01  omegahacker
-
-	* plugins/filters/ladspa/gstladspa.c: fixed a bug: in an
-	over-zealous attempt to squash leaks, I put the g_free too early
-
-2001-01-07 07:46  omegahacker
-
-	* plugins/filters/ladspa/: gstladspa.c, search.c: some leak fixes
-	to both the plugin and the ladspa-provided code
-
-2001-01-07 07:45  omegahacker
-
-	* gst/: gstcaps.c, gstcpu.c, gstelementfactory.c, gstpad.c,
-	gstparse.c, gstplugin.c, gstprops.c, gsttype.c: more leak fixes
-
-2001-01-07 07:01  richardb
-
-	* gst/gstplugin.c, tools/gstreamer-register.c: Check plugin
-	repository up-to-dateness by scanning through all directories on
-	path, and checking that they and all their files are older than the
-	repository.  Give warning message if not.
-
-2001-01-07 05:54  richardb
-
-	* tools/gstreamer-register.c: Test xmlSaveFile return value
-	correctly (had to get source to find out what it meant...) 
-	gstreamer-register now seems to work fine, even in a non-standard
-	location.
-
-2001-01-07 05:35  richardb
-
-	* configure.in: Fix tiny slip which made configdir still always be
-	/etc/gstreamer/
-
-2001-01-07 05:30  richardb
-
-	* acconfig.h, configure.in, docs/manual/factories.sgml,
-	gst/gstplugin.c, tools/gstreamer-register.c: Config directory
-	(which currently just holds the registry)ecan now be set by
-	configure --with-configdir=<directory path>
-
-2001-01-07 04:51  richardb
-
-	* tools/gstreamer-register.c: Almost completely rewritten
-	gstreamer-register.  Now checks most errors that can happen, and
-	displays a useful message.
-
-2001-01-07 04:28  omegahacker
-
-	* gst/: gstbin.c, gstinfo.h, gstscheduler.c: removed a leak
-
-2001-01-07 04:00  omegahacker
-
-	* gst/: Makefile.am, gst.h, gstparse.c, gstparse.h: turned -launch
-	capabilities into gst_parse_launch()
-
-2001-01-07 03:42  wtay
-
-	* gst/elements/: gstidentity.c, gstidentity.h, gstqueue.c,
-	gstqueue.h: Added sleep time to identity Added timeout value in
-	queue (not activated yet)
-
-2001-01-07 03:06  omegahacker
-
-	* tools/gstreamer-launch.c: fixed a bug with NULL args, but need to
-	fix the parser that created them
-
-2001-01-07 02:30  wtay
-
-	* docs/random/queue: Added a deadlock case for the queue
-
-2001-01-07 02:23  richardb
-
-	* docs/fwg/: Makefile.am, concepts.sgml,
-	gst-filter-writers-guide.sgml, intro.sgml: More updates: now have
-	headings for the second section too, and some text for it... ;-)
-
-2001-01-07 00:12  richardb
-
-	* docs/fwg/: gst-filter-writers-guide.sgml, intro.sgml,
-	titlepage.sgml: Wrote introduction, and changed name to plugin
-	writers guide (though files still need rename).  I'll leave the
-	filenames as is for now, since the name might still change again...
-
-2001-01-06 22:05  omegahacker
-
-	* docs/gst/tmpl/cothreads.sgml, docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstautoplug.sgml, docs/gst/tmpl/gstbin.sgml,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstdisksrc.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstesdsink.sgml, docs/gst/tmpl/gstfakesink.sgml,
-	docs/gst/tmpl/gstfakesrc.sgml, docs/gst/tmpl/gstfdsink.sgml,
-	docs/gst/tmpl/gstfdsrc.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstmeta.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstpipefilter.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	docs/gst/tmpl/gstprops.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstsinesrc.sgml,
-	docs/gst/tmpl/gstthread.sgml, docs/gst/tmpl/gsttype.sgml,
-	docs/gst/tmpl/gsttypefind.sgml, gst/gstautoplug.c, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstbufferpool.c, gst/gstcaps.c,
-	gst/gstelement.c, gst/gstelementfactory.c, gst/gstmeta.c,
-	gst/gstpad.c, gst/gstpipeline.c, gst/gstprops.c, gst/gsttee.c,
-	gst/gstthread.c, gst/gsttype.c, gst/gstutils.c: Cleaned up the docs
-	a bit.
-
-2001-01-06 19:09  wtay
-
-	* gst/elements/gstqueue.c: Rearranged the mutex locking, still have
-	to think about it though...
-
-2001-01-06 18:08  wtay
-
-	* gst/gstbuffer.c: Added a mutex around the mem_chunck alloc
-	routines
-
-2001-01-06 16:56  wtay
-
-	* tests/: .cvsignore, eos/.cvsignore: Added/updated .cvsignore
-
-2001-01-06 16:52  wtay
-
-	* docs/manual/dynamic.sgml, plugins/mpeg2/parse/mpeg2parse.c,
-	test/mp2tomp1.c: Fixed the MPEG2 to MPEG1 recoder, we need cannot
-	create dangling elements with the current scheduler. Remove the
-	subtitle parser because it's not possible with the current
-	scheduler.  Added a padtemplate for MPEG2 subtitles.
-
-2001-01-06 10:42  omegahacker
-
-	* configure.in: removed xing and added AM_CONDITIONAL for
-	HAVE_GNOME
-
-2001-01-06 09:49  omegahacker
-
-	* autogen.sh: added --enable-debug to autogen.sh, duh...
-
-2001-01-06 02:35  wtay
-
-	* docs/manuals.mak, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstdisksrc.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstfakesink.sgml, docs/gst/tmpl/gstfakesrc.sgml,
-	docs/gst/tmpl/gstfdsink.sgml, docs/gst/tmpl/gstfdsrc.sgml,
-	docs/gst/tmpl/gsthttpsrc.sgml, docs/gst/tmpl/gstidentity.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstpipefilter.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstqueue.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstsinesrc.sgml, docs/gst/tmpl/gstthread.sgml,
-	docs/gst/tmpl/gsttypefind.sgml, docs/manual/Makefile.am,
-	docs/manual/bins.sgml, docs/manual/connections.sgml,
-	docs/manual/elements.sgml, docs/manual/ghostpads.sgml,
-	docs/manual/gstreamer-manual.sgml, docs/manual/helloworld.sgml,
-	docs/manual/pads.sgml, docs/manual/plugins.sgml, gst/gstbin.c,
-	gst/gstbin.h, gst/gstcaps.c, gst/gstcaps.h, gst/gstelement.c,
-	gst/gstelement.h, gst/gstelementfactory.c, gst/gstplugin.c,
-	gst/gstplugin.h, gst/gsttype.c, gst/gsttype.h,
-	gst/elements/gstesdsink.c, gst/elements/gstesdsink.h: Updated the
-	manual and the docs.  Removed the esdsink in gst/elements/ we have
-	a real one not in the  plugins dir.  Added more APIs to query the
-	plugins, types and caps. more fields now  have a getter and a
-	setter. This is needed to make gstreamer wrapper  fiendly.  Added
-	gst_element_disconnect beacuse we also have a gst_element_connect
-
-2001-01-05 18:50  wtay
-
-	* docs/manual/: cothreads.sgml, factories.sgml, helloworld.sgml,
-	helloworld2.sgml, mime-world.fig, pads.sgml, programs.sgml,
-	queues.sgml, threads.sgml: Docs updates
-
-2001-01-05 00:28  omegahacker
-
-	* gst/cothreads.c: fixed missing comment noticed by David Lehn
-
-2001-01-04 23:35  wtay
-
-	* docs/manual/: Makefile.am, bin-element-ghost.fig, bins.sgml,
-	elements.sgml, factories.sgml, goals.sgml, gstreamer-manual.sgml,
-	helloworld.sgml, intro.sgml, motivation.sgml, pads.sgml,
-	states.sgml, threads.sgml: Updates and additions to the manual
-
-2001-01-04 22:15  omegahacker
-
-	* gst/cothreads.c, gst/gstinfo.c,
-	docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfakesink.sgml,
-	docs/gst/tmpl/gstfakesrc.sgml, docs/gst/tmpl/gstfdsink.sgml,
-	docs/gst/tmpl/gstfdsrc.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstinfo.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstpipefilter.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstsinesrc.sgml,
-	docs/gst/tmpl/gstthread.sgml, docs/gst/tmpl/gsttypefind.sgml:
-	updated API docs
-
-2001-01-04 20:34  omegahacker
-
-	* tools/gstreamer-launch.c: fixed problems with -launch
-
-2001-01-04 20:17  omegahacker
-
-	* plugins/vorbis/vorbisenc.c: changed OGG to Ogg, to match decoder
-
-2001-01-04 19:22  wtay
-
-	* examples/launch/mp3play: Fixed mp3play
-
-2001-01-04 19:16  wtay
-
-	* tools/gstreamer-inspect.c: Added printout of the capabilities of
-	the pads
-
-2001-01-04 18:57  wtay
-
-	* tools/: Makefile.am, gstreamer-inspect.c: Added enum values with
-	default removed debugging -g from Makefile
-
-2001-01-04 17:44  richardb
-
-	* examples/launch/mp3play: Undo accidental commit of debugging
-	version.
-
-2001-01-04 16:46  richardb
-
-	* tools/gstreamer-launch.c: Replace Wim's fix after Erik dropped
-	it. ;-)
-
-2001-01-04 10:54  omegahacker
-
-	* gst/: cothreads.c, gstpad.c, gstpad.h, gstplugin.c, gstplugin.h,
-	elements/gstfakesink.c, elements/gstfakesink.h: Rearranged
-	cothreads sources a bit, added some API docs.  Added some functions
-	needed for gstreamer-inspect.  Added num_sources to fakesink.
-
-2001-01-04 10:53  omegahacker
-
-	* plugins/filters/ladspa/: gstladspa.c, gstladspa.h: More updates
-	to ladspa wrapper, closer to data movement
-
-2001-01-04 10:47  omegahacker
-
-	* tools/: gstreamer-inspect.c, gstreamer-launch.c: Updated -inspect
-	to list elements and plugin info too
-
-2001-01-04 07:19  wtay
-
-	* tools/gstreamer-launch.c: A little fix for parameter parsing
-
-2001-01-04 00:15  richardb
-
-	* examples/launch/mp3play: Updated to supply argument as
-	"name=value" rather than just "value"
-
-2001-01-04 00:15  richardb
-
-	* tools/gstreamer-launch.c: Added partial fix so that arguments can
-	be set.
-
-2001-01-03 23:08  wtay
-
-	* test/mp3play.c: Make sure the plugin is loaded only once
-
-2001-01-03 22:58  richardb
-
-	* examples/: helloworld2/helloworld2.c, launch/mp3play,
-	queue/queue.c, queue2/queue2.c, queue3/queue3.c, queue4/queue4.c,
-	thread/thread.c, xml/createxml.c: Do gst_init first, so we can
-	supply debugging options to libgst
-
-2001-01-03 20:55  wtay
-
-	* tools/gstreamer-inspect.c: Added the previous changes back in
-
-2001-01-03 20:44  omegahacker
-
-	* gst/: gstelement.c, gstelement.h, gstelementfactory.c: debug
-	updates and a padtemplate counter added
-
-2001-01-03 20:40  omegahacker
-
-	* gst/: gstpad.c, gstpad.h: Made gst_pad_eos_func a non-static
-	function
-
-2001-01-03 20:21  wtay
-
-	* gst/gstprops.c, gst/gstprops.h, tools/Makefile.am,
-	tools/gstreamer-inspect.c: Made the GstProps a GList instead of a
-	GSList Some fixes to inspect: added the mime type
-
-2001-01-03 19:54  wtay
-
-	* configure.in, tools/gstreamer-inspect.c: Added proper comment for
-	the bonobo component fix a compile bug in inspect... Erik, have
-	pending changes to gstpad.h?
-
-2001-01-03 19:12  richardb
-
-	* examples/helloworld/helloworld.c, plugins/esd/esdsink/esdsink.c:
-	Do gst_init first in helloworld, so you can supply gst parameters. 
-	Correct name of frequency cap to rate, in esdsink.  Now connects
-	properly.
-
-2001-01-03 18:55  richardb
-
-	* gst/elements/gstaudiosink.c: Various small fixes.
-
-2001-01-03 18:51  richardb
-
-	* plugins/esd/esdsink/: esdsink.c, esdsink.h: Should cope with
-	updating of parameters now.
-
-2001-01-03 18:15  richardb
-
-	* plugins/esd/esdsink/: esdsink.c, esdsink.h: EsdSink now
-	functions!  Wheeeee! Still needs to have a few things sorted out
-	though, such as parameter setting / syncing.
-
-2001-01-03 16:25  richardb
-
-	* configure.in, plugins/Makefile.am, plugins/example.c,
-	plugins/esd/Makefile.am, plugins/esd/esdsink/.cvsignore,
-	plugins/esd/esdsink/Makefile.am, plugins/esd/esdsink/esdsink.c,
-	plugins/esd/esdsink/esdsink.h: Added auto detection of libesd. 
-	Added nearly complete esdsink: all structure in place, just need to
-	add actaul links to libesd. ;-)
-
-2001-01-03 08:48  omegahacker
-
-	* tools/gstreamer-inspect.c: Updates, it prints a lot more stuff
-	now, like padtemplates, caps/props, and arguments.  More stuff can
-	be done, but not now, I must sleep.
-
-2001-01-03 07:38  omegahacker
-
-	* tools/: .cvsignore, Makefile.am, gstreamer-inspect.c,
-	gstreamer-launch.c: Updates to -launch, added -inspect.
-
-2001-01-02 23:33  wtay
-
-	* plugins/: example.c, example.h: Updated the example plugin
-	template
-
-2001-01-02 22:52  richardb
-
-	* docs/Makefile.am: Don't delete CVS directories from working
-	directory: delete from distdir.  Also, delete backup files, while
-	you're at it. :)
-
-2001-01-02 20:50  wtay
-
-	* gstreamer.spec.in: Datafiles in share should go in to RPM too
-
-2001-01-02 19:46  wtay
-
-	* examples/autoplug/Makefile.am, examples/helloworld/Makefile.am,
-	examples/helloworld2/Makefile.am, examples/launch/Makefile.am,
-	examples/queue/Makefile.am, examples/queue2/Makefile.am,
-	examples/queue3/Makefile.am, examples/queue4/Makefile.am,
-	examples/thread/Makefile.am, examples/xml/Makefile.am,
-	plugins/avi/Makefile.am, plugins/mpeg2/ac3parse/Makefile.am,
-	test/bindings/Makefile.am: The examples must not be installed
-	Removed debugging from Makefiles for avidecoder/ac3parse
-	/test/bindings/dummy.h cannot be installed
-
-2001-01-02 18:40  wtay
-
-	* docs/gst/gstreamer-docs.sgml, plugins/au/gstparseau.c,
-	plugins/au/gstparseau.h, plugins/audioscale/Makefile.am,
-	plugins/audioscale/audioscale.c,
-	plugins/filters/median/Makefile.am,
-	plugins/filters/smooth/Makefile.am, plugins/jpeg/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpegtypes/Makefile.am,
-	plugins/mpeg2/mpegtypes/Makefile.am,
-	plugins/visualization/spectrum/fix_fft.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/spectrum/gstspectrum.h: Remove esdsink from
-	the docs more fixes for symbols collisions
-
-2001-01-02 16:39  wtay
-
-	* plugins/visualization/synaesthesia/core.c: Fixed a symbol
-	conflict with mpeg_audio
-
-2001-01-02 16:29  wtay
-
-	* plugins/mpeg2/video/: Makefile.am, gethdr.c, getpic.c,
-	mpeg2dec.c, mpeg2dec.h, recon.c, recon_mmx.c, recon_sse.s: Fixed a
-	symbol conflict with mpeg_play
-
-2001-01-02 15:18  richardb
-
-	* docs/gst/Makefile.am: Remove gstesdsink
-
-2001-01-02 14:35  richardb
-
-	* docs/Makefile.am: Add dist-hook to stop CVS/ directories being
-	put into distribution.
-
-2001-01-02 14:34  richardb
-
-	* configure.in: Add GST_HTTPSRC_GET_TYPE back into configure.in:
-	documentation fails to build correctly when libhttp isn't present
-	without this.
-
-2001-01-02 13:23  richardb
-
-	* autogen.sh: Correct ftp urls for libtool.
-
-2001-01-02 12:07  wtay
-
-	* autogen.sh: Fixed a typo
-
-2001-01-02 12:04  wtay
-
-	* acconfig.h, autogen.sh, configure.in,
-	gst/elements/gstasyncdisksrc.c, gstplay/callbacks.c,
-	gstplay/gstmediaplay.c, plugins/Makefile.am: Added a check for
-	libjpeg Added and action for the load menu in gstplay Fixed drag
-	and drop in gstplay More verbose errors in gstasyndisksrc
-
-2001-01-02 08:13  omegahacker
-
-	* acconfig.h, autogen.sh, configure.in,
-	docs/random/TODO-post-0.1.0, examples/autoplug/Makefile.am,
-	gst/gstplugin.c, gst/elements/Makefile.am,
-	gst/elements/gstasyncdisksrc.c, include/registry.h,
-	libs/getbits/Makefile.am, libs/getbits/gstgetbits.c,
-	libs/getbits/gstgetbits.h, libs/getbits/gstgetbits_generic.c,
-	libs/idct/Makefile.am, libs/riff/gstriffencode.c,
-	libs/riff/gstriffparse.c, plugins/Makefile.am,
-	plugins/au/gstparseau.c, plugins/audioscale/audioscale.c,
-	plugins/avi/Makefile.am, plugins/avi/codectest.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/avi/videoheader.c, plugins/avi/wincodec/gstwindec.c,
-	plugins/avi/wincodec/gstwinenc.c, plugins/capture/v4l/grab-v4l.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/cobin/cobin.c,
-	plugins/cobin/cobin.h, plugins/dvdsrc/dvdsrc.c,
-	plugins/effects/stereo/stereo.c, plugins/effects/volume/volume.c,
-	plugins/filters/ladspa/gstladspa.c,
-	plugins/filters/median/median.c, plugins/filters/smooth/smooth.c,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpegdec.c,
-	plugins/jpeg/gstjpegenc.c, plugins/mp3decode/Makefile.am,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/mpeg1encoder/globals.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/marker.c,
-	plugins/mpeg1/mpeg1encoder/mem.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/psy.c, plugins/mpeg1/mpegaudio/subs.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1/system_encode/systems.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c, plugins/mpeg2/video/getpic.c,
-	plugins/mpeg2/video/gstmpeg2play.c, plugins/mpeg2/video/mpeg2dec.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/rtjpeg/rtjpegdec.c, plugins/rtjpeg/rtjpegdec.h,
-	plugins/rtjpeg/rtjpegenc.c, plugins/rtjpeg/rtjpegenc.h,
-	plugins/vcdsrc/vcdsrc.c, plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c,
-	plugins/vorbis/vorbisdec.c, plugins/vorbis/vorbisenc.c,
-	plugins/wav/gstparsewav.c: Massive, massive update of most source
-	files.	I went through and cleaned up all the warnings that I
-	could, which involved fixing some of the plugins.
-	
-	The configure.in script was re-arranged and cleaned up so, and a
-	check for libtool 1.3.5 was added to autogen.sh.  Added checks for
-	Gtk and GNOME.
-	
-	Some plugins were removed from the list of things to build for
-	various reasons.
-	
-	Added GST_DEBUG_FORCE_DISABLE in gstgetbits, since that's time
-	critical and even an if() from a DEBUG can significantly increase
-	runtimes.
-
-2001-01-02 02:18  wtay
-
-	* tests/Makefile.am: ooops, eos is a dir
-
-2001-01-02 02:16  wtay
-
-	* docs/gst/Makefile.am, docs/gst/gstreamer-sections.txt,
-	editor/pixmaps/Makefile.am, tests/Makefile.am,
-	tests/eos/Makefile.am, tests/eos/case1.c: Fixed makefiles for docs
-	Added eos test programs
-
-2001-01-02 01:44  wtay
-
-	* configure.in, docs/random/eos, editor/Makefile.am,
-	editor/gsteditorimage.c, editor/gsteditorpalette.c,
-	editor/gsteditorprojectview.c, editor/gsteditorproperty.c,
-	gst/gstpad.c, gst/elements/gstfakesrc.c, gst/elements/gstfakesrc.h,
-	gstplay/Makefile.am, gstplay/gstmediaplay.c: Fixes for
-	gsteditor/gstplay install/build fixed typo in random/eos added
-	num_buffers property to fakesrc
-
-2001-01-02 01:33  richardb
-
-	* Makefile.am, configure.in, docs/Makefile.am, docs/manuals.mak,
-	docs/gst/Makefile.am, docs/libs/Makefile.am: Added checking for all
-	the tools used to make documentation.  If documentation cannot be
-	generated, whatever is available will still be installed. 
-	videosink/imagetest is now a check_PROGRAM
-
-2001-01-02 01:00  omegahacker
-
-	* REQUIREMENTS: updated requirements
-
-2001-01-02 00:35  omegahacker
-
-	* REQUIREMENTS: added list of requrements
-
-2001-01-02 00:31  richardb
-
-	* configure.in, examples/Makefile.am: Added launch back into make
-	system.  The Makefile wasn't being generated, resulting in make
-	dist failing when the directory was entered for make dist.
-
-2001-01-01 23:50  wtay
-
-	* examples/Makefile.am: Added directories to DIST_SUBDIRS
-
-2001-01-01 23:20  omegahacker
-
-	* examples/autoplug/Makefile.am: somehow Makefile.am went
-	zero-bytes
-
-2001-01-01 22:44  omegahacker
-
-	* examples/: Makefile.am, thread/Makefile.am: updated examples
-	build stuff
-
-2001-01-01 21:21  omegahacker
-
-	* Makefile.am, configure.in, examples/xml/Makefile.am,
-	gst/Makefile.am, plugins/dvdsrc/Makefile.am: More build fixes
-
-2001-01-01 19:54  wtay
-
-	* docs/random/: TODO-post-0.1.0, eos: Added some more TODOs Added a
-	proposition for eos propagation
-
-2001-01-01 17:25  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstinfo.sgml, docs/gst/tmpl/gstpad.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, gst/gstelement.c,
-	gst/gstpad.c: Documentation updates
-
-2001-01-01 14:34  richardb
-
-	* examples/launch/Makefile.am: Add one more file to dist.
-
-2001-01-01 14:06  richardb
-
-	* docs/: gst/Makefile.am, libs/Makefile.am: Fix a couple of files
-	not being put into distributions.  make dist now appears to create
-	a fully functional distribution.  make rpm should now produce an
-	rpm.  Whether that rpm is any good is another matter...
-
-2001-01-01 13:41  richardb
-
-	* Makefile.am, configure.in, examples/Makefile.am,
-	examples/launch/Makefile.am, examples/xml/Makefile.am: Fix broken
-	build system for examples.
-
-2001-01-01 08:43  omegahacker
-
-	* gstplay/Makefile.am, plugins/avi/Makefile.am,
-	plugins/avi/wincodec/Makefile.am: More build changes
-
-2001-01-01 08:37  omegahacker
-
-	* Makefile.am, autogen.sh, configure.in,
-	docs/code-reviews/gstbin.c-1.41, examples/autoplug/Makefile,
-	examples/autoplug/Makefile.am, examples/autoplug/autoplug.c,
-	examples/helloworld/Makefile, examples/helloworld/Makefile.am,
-	examples/helloworld2/Makefile, examples/helloworld2/Makefile.am,
-	examples/queue/Makefile, examples/queue/Makefile.am,
-	examples/queue2/Makefile, examples/queue2/Makefile.am,
-	examples/queue3/Makefile, examples/queue3/Makefile.am,
-	examples/queue4/Makefile, examples/queue4/Makefile.am,
-	examples/thread/Makefile, examples/thread/Makefile.am,
-	examples/xml/Makefile, examples/xml/Makefile.am, gst/gstpad.c,
-	gst/gstplugin.c: Re-arranged the build a bit to try to make it more
-	sane.  Added some debug.
-
-2001-01-01 07:47  omegahacker
-
-	* gstplay/Makefile.am: added headers and such to Makefile.am for
-	dist
-
-2001-01-01 07:44  omegahacker
-
-	* test/: mp3.c, qtest.c: added the category number to DEBUG
-
-2001-01-01 07:42  omegahacker
-
-	* plugins/filters/ladspa/Makefile.am: missed utils.h
-
-2001-01-01 07:30  omegahacker
-
-	* configure.in: updated version number from 0.9.2 (huh???) to 0.1.0
-
-2001-01-01 06:59  wtay
-
-	* configure.in, docs/gst/tmpl/gstinfo.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	examples/autoplug/autoplug.c: Added -Wall to configure.in
-
-2001-01-01 06:57  omegahacker
-
-	* gst/Makefile.am: fixed a nasty bug where at -O6 teh compiler
-	optimized cothreads.c beyond the point of functioning
-
-2001-01-01 06:23  wtay
-
-	* plugins/vorbis/: Makefile.am, vorbis.c, vorbisdec.c, vorbisdec.h,
-	vorbisenc.c, vorbisenc.h: Some compile cleanups
-
-2001-01-01 05:26  wtay
-
-	* gst/gstpipeline.c: Fixed a very bad error with autoplugging.
-
-2001-01-01 05:18  omegahacker
-
-	* gst/: gst.c, gstinfo.c, gstinfo.h: updated the debug system so it
-	works nicely now
-
-2001-01-01 04:53  omegahacker
-
-	* gst/: gst.c, gstinfo.c, gstinfo.h: Added API to control DEBUG
-	level, updated cmdline code
-
-2001-01-01 04:41  omegahacker
-
-	* gst/: gst.c, gstpad.c: modified cmdlien code to take both 0xHEX
-	and dec, and added an INFO line in gst_pad_connect()
-
-2001-01-01 04:11  omegahacker
-
-	* plugins/filters/ladspa/: Makefile, search.c: removed accidentally
-	checked in Makefile and added .cvsignore
-
-2001-01-01 04:10  wtay
-
-	* test/mp3.c, test/qtest.c, tests/case4.c, tests/markup.c,
-	tests/paranoia.c, tests/rip.c, tests/simplefake.c: Updated test
-	programs
-
-2001-01-01 04:04  wtay
-
-	* gst/gst.c: Fixed a typo
-
-2001-01-01 04:02  wtay
-
-	* plugins/filters/ladspa/: Makefile, gstladspa.c: Added the boolean
-	properties back
-
-2001-01-01 03:59  omegahacker
-
-	* plugins/filters/ladspa/: gstladspa.c, gstladspa.h: fixed ladpsa
-	filter up to compile
-
-2001-01-01 03:57  omegahacker
-
-	* plugins/filters/Makefile.am: added ladspa
-
-2001-01-01 03:57  omegahacker
-
-	* gst/gstautoplug.c: set categories for all INFOs
-
-2001-01-01 03:44  omegahacker
-
-	* tests/sched/.cvsignore: added .cvsignore
-
-2001-01-01 03:43  wtay
-
-	* gst/: Makefile.am, gst.c, gstcpu.c, gstinfo.c: Added command line
-	parsing for --gst-info-mask, --gst-debug-mask and --help Dump the
-	FLAGS and options on --help
-
-2001-01-01 03:22  omegahacker
-
-	* tests/.cvsignore: updated .cvsignore
-
-2001-01-01 03:20  omegahacker
-
-	* configure.in: added directories to configure.in
-
-2001-01-01 03:19  omegahacker
-
-	* plugins/filters/ladspa/: Makefile, Makefile.am, gstladspa.c,
-	gstladspa.h, ladspa.h, load.c, search.c, utils.h: New LADSPA plugin
-	wrapper
-
-2001-01-01 03:18  omegahacker
-
-	* examples/Makefile.am: fixed stupid spelling mistake
-
-2001-01-01 03:18  omegahacker
-
-	* gstplay/: .cvsignore, Makefile.am: gstplay now builds from
-	build-directory, doesn't require a make install
-
-2001-01-01 03:16  omegahacker
-
-	* plugins/: audioscale/audioscale.c, avi/audiocodecs.c,
-	avi/gstavidecoder.c, avi/gstaviencoder.c, avi/wincodec/gstwindec.c,
-	avi/wincodec/gstwinenc.c, capture/v4l/gstv4lsrc.c,
-	cdparanoia/cdparanoia.c, dvdsrc/dvdsrc.c, filters/median/median.c,
-	filters/smooth/smooth.c, jpeg/gstjpegdec.c, jpeg/gstjpegenc.c,
-	mp3decode/mpg123/gstmpg123.c, mp3decode/parse/mp3parse.c,
-	mp3decode/types/mp3types.c, mp3encode/lame/gstlame.c,
-	mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	mpeg1/mpeg_play/gstmpeg_play.c, mpeg1/mpeg_play/util.c,
-	mpeg1/mpeg_play/video.c, mpeg1/mpegaudio/gstmpegaudio.c,
-	mpeg1/parse/mpeg1parse.c, mpeg1/system_encode/buffer.c,
-	mpeg1/system_encode/system_encode.c,
-	mpeg1video/parse/mp1videoparse.c, mpeg2/ac3parse/ac3parse.c,
-	mpeg2/mpeg2enc/gstmpeg2enc.c, mpeg2/parse/mpeg2parse.c,
-	mpeg2/subtitles/mpeg2subt.c, mpeg2/video/gethdr.c,
-	mpeg2/video/gstmpeg2play.c, mpeg2/video/mpeg2dec.c,
-	mpeg2/videoparse/mp2videoparse.c, videoscale/videoscale.c,
-	visualization/smoothwave/smoothwave.c,
-	visualization/synaesthesia/synaesthesia.c, vorbis/vorbisdec.c:
-	Updated all plugins to use new GST_DEBUG and GST_INFO systems.
-
-2001-01-01 03:16  omegahacker
-
-	* libs/: getbits/gstgetbits_generic.c, riff/gstriffencode.c,
-	riff/gstriffparse.c: Updated libraries to use new GST_DEBUG instead
-	of DEBUG.
-
-2001-01-01 03:14  omegahacker
-
-	* gst/: cothreads.c, gst.c, gstautoplug.c, gstbin.c, gstbuffer.c,
-	gstbufferpool.c, gstcaps.c, gstclock.c, gstcpu.c, gstelement.c,
-	gstelementfactory.c, gstinfo.c, gstinfo.h, gstobject.c, gstpad.c,
-	gstpipeline.c, gstplugin.c, gstprops.c, gstscheduler.c,
-	gstthread.c, gsttype.c, gstxml.c, elements/gstasyncdisksrc.c,
-	elements/gstaudiosink.c, elements/gstaudiosrc.c,
-	elements/gstdisksrc.c, elements/gstfdsink.c,
-	elements/gstpipefilter.c, elements/gstqueue.c,
-	elements/gstsinesrc.c, elements/gsttypefind.c: Mega update of INFO,
-	DEBUG, and ERROR subsystems, renamed with GST_ prefix.	GST_DEBUG
-	now takes a category parameter, which is the same as GST_INFO
-	system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set
-	to 0 for now, we need to go and fix all these eventually.
-
-2001-01-01 02:46  omegahacker
-
-	* gst/gstcpu.c: fixed stupid (brown paper bag) bug with missing
-	NULL on g_strconcat
-
-2001-01-01 02:34  omegahacker
-
-	* gst/gstcpu.c: fixed the segfault
-
-2001-01-01 01:56  wtay
-
-	* acconfig.h, configure.in, gst/gstinfo.c: Added --enable-info and
-	--disable-info-system nothing specified = INFO enabled, mask to
-	0x00000001 --enable-info =     INFO enabled, mask to 0xffffffff
-	--disable-info =    INFO compiled into a nop and thus disabled
-
-2001-01-01 00:44  omegahacker
-
-	* examples/: autoplug/.cvsignore, helloworld/.cvsignore,
-	helloworld2/.cvsignore, launch/Makefile, queue/.cvsignore,
-	queue2/.cvsignore, queue3/.cvsignore, queue4/.cvsignore,
-	thread/.cvsignore, xml/.cvsignore: hopefully one last update to the
-	examples .cvsignores
-
-2001-01-01 00:44  wtay
-
-	* acconfig.h, configure.in, gst/gstinfo.h, plugins/avi/Makefile.am,
-	plugins/avi/gstavidecoder.c: Added GST_INFO_ENABLED flags Added
-	--enable-debug-info A little fix for the avidecoder
-
-2001-01-01 00:42  omegahacker
-
-	* examples/: helloworld/helloworld.c, helloworld2/helloworld2.c,
-	queue/queue.c, queue2/queue2.c, queue3/queue3.c, queue4/queue4.c,
-	thread/thread.c, xml/Makefile, xml/createxml.c, xml/runxml.c:
-	cleaned up the examples, added Makefiles, etc
-
-2001-01-01 00:34  omegahacker
-
-	* examples/: Makefile.am, autoplug/Makefile, autoplug/autoplug.c,
-	helloworld/Makefile, helloworld2/Makefile, launch/Makefile,
-	queue/Makefile, queue2/Makefile, queue3/Makefile, queue4/Makefile,
-	thread/Makefile, xml/Makefile: Updated makefiles for examples
-
-2001-01-01 00:17  omegahacker
-
-	* gst/: gstcpu.c, gstinfo.c, gstinfo.h, elements/gstelements.c:
-	Cleaned up INFO system some more, added API to select categories,
-	modified the printout function to print cleanly for GST_INIT info
-	(the default min) and spew function:line debug_string [element] for
-	everything else.  Eventually could make even that configurable
-	easily enough, just check against another bitmap instead of
-	checking for == GST_INIT.
-
-2000-12-31 23:31  wtay
-
-	* gst/: Makefile.am, gstbin.c, gstpad.c, elements/gstfakesrc.c: Fix
-	some compile warnings
-
-2000-12-31 22:49  omegahacker
-
-	* gstplay/gstmediaplay.c: Added ability to use .glade file in cwd
-
-2000-12-31 22:18  omegahacker
-
-	* gst/: gstelement.c, gstelement.h, gstinfo.c, gstinfo.h, gstpad.c,
-	gstpad.h, gstplugin.c, gstplugin.h, gstscheduler.c, gsttype.c,
-	types/gsttypes.c: Started work on better ghostpad management, and
-	started to build the low- level EOS mechanism.
-	
-	Also removed a couple of printouts that aren't needed any more.
-
-2000-12-31 22:16  omegahacker
-
-	* plugins/: mp3decode/types/mp3types.c,
-	mpeg1/mpegtypes/mpeg1types.c, mpeg2/mpegtypes/mpeg2types.c:
-	Commented out some extra output that we don't need right now.
-
-2000-12-31 22:15  omegahacker
-
-	* tools/gstreamer-register.c: Added stdlib.h to clean up exit()
-	warnings
-
-2000-12-31 22:14  omegahacker
-
-	* tests/: load.c, markup.c: New test programs.
-
-2000-12-31 22:13  omegahacker
-
-	* tests/Makefile.am: [no log message]
-
-2000-12-31 22:11  omegahacker
-
-	* tests/sched/: Makefile, Makefile.am, runxml.c, testcases:
-	Converted to a Makefile.am, fixed up the GstSrc thing, and removed
-	a set to READY state before PLAYING that isn't necessary.
-
-2000-12-31 18:06  richardb
-
-	* plugins/mpeg2/mpeg2dec/Makefile.am: Add a final header file to
-	noinst_HEADERS
-
-2000-12-31 17:49  richardb
-
-	* plugins/mpeg2/: ac3dec/Makefile.am, mpeg2dec/Makefile.am: A
-	couple more fixes to make dist.
-
-2000-12-31 17:37  richardb
-
-	* plugins/mpeg2/mpeg2dec/Makefile.am: Add new files to dist.
-
-2000-12-31 17:34  wtay
-
-	* plugins/mpeg2/mpeg2dec/: attributes.h, idct_mlib.c, mm_accel.h,
-	motion_comp_mlib.c, output_video.h, stats.c: Added missing files,
-	It should compile now, but doesn't work
-
-2000-12-31 17:32  richardb
-
-	* plugins/: mp3decode/Makefile.am, mpeg1/mpeg_play/Makefile.am,
-	mpeg1/mpegaudio/Makefile.am, mpeg2/ac3dec/Makefile.am,
-	mpeg2/mpeg2enc/Makefile.am, wav/Makefile.am: Various fixes to
-	ensure that appropriate files are included in make dist.  Make dist
-	now produces a nearly functioning distribution.
-
-2000-12-31 17:32  wtay
-
-	* editor/gsteditorproperty.c, plugins/cdparanoia/cdparanoia.c:
-	Updated the editor to use the capslist Added change state in
-	cdparanoia
-
-2000-12-31 17:02  wtay
-
-	* docs/gst/gstreamer-sections.txt, docs/gst/tmpl/gstautoplug.sgml,
-	docs/gst/tmpl/gstcaps.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, gst/Makefile.am,
-	gst/gstautoplug.c, gst/gstcaps.h, gst/gstpad.c, tests/.cvsignore:
-	Updated the docs Updated gst/Makefile.am to add CFLAGS Added test
-	programs to tests/.cvsignore
-
-2000-12-31 16:15  wtay
-
-	* tests/padfactory.c: Test program for the pad factory
-
-2000-12-31 16:12  wtay
-
-	* examples/autoplug/autoplug.c, gst/gst.h, gst/gstautoplug.c,
-	gst/gstautoplug.h, gst/gstcaps.c, gst/gstcaps.h, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstinfo.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstpipeline.c, gst/gstplugin.c, gst/gstprops.c, gst/gstprops.h,
-	gst/elements/gstaudiosink.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/cdparanoia/cdparanoia.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mp3encode/lame/gstlame.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/vorbis/vorbis.c,
-	tests/Makefile.am, tests/autoplug.c, tests/caps.c, tests/case4.c,
-	tests/init.c, tests/queue.c, tests/simplefake.c, tests/states.c:
-	Added multiple caps to the pads Extended the padfactory for the
-	multiple caps GstCaps now have a name so that future manipulations
-	on them can be done by name Updated the plugins for the new caps
-	list
-
-2000-12-31 16:07  richardb
-
-	* Makefile.am, configure.in, include/Makefile.am: Add files in
-	include to distributions.
-
-2000-12-31 15:53  richardb
-
-	* gst/Makefile.am: Add gstpropsprivate.h to dist.
-
-2000-12-31 15:19  richardb
-
-	* docs/Makefile.am: Add docs/fwg to DIST_SUBDIRS
-
-2000-12-31 15:18  richardb
-
-	* configure.in: Add docs/fwg/Makefile to things to be built.
-
-2000-12-31 14:22  richardb
-
-	* docs/manuals.mak: Fix another bug in make install for fwg
-	(complained becuase there were no pngs to install).  I should have
-	got up more slowly today...
-
-2000-12-31 14:02  richardb
-
-	* docs/: fwg/.cvsignore, libs/tmpl/.cvsignore, manual/.cvsignore,
-	manual/images/.cvsignore: Fix .cvsignores
-
-2000-12-31 13:55  richardb
-
-	* docs/: manuals.mak, fwg/.cvsignore: Fix bug in make install for
-	manuals.  Added stuff to .cvsignore in fwg
-
-2000-12-31 10:46  omegahacker
-
-	* tools/gstreamer-launch.c: Complete rewrite of the launcher.  Now
-	supports pretty arbitrary pipelines.  Try '((fakesrc) ! identity !
-	(fakesink))' out.  Doesn't seem to recognize pad names yet for some
-	reason, so it goes with the first sink/src pad it finds in a given
-	element.  Other problems still remain, but the hard part is done
-	with.
-
-2000-12-30 19:51  wtay
-
-	* plugins/mpeg2/mpegtypes/mpeg2types.c: Removed elementary mpeg2
-	video detection because we simply don't know if it's mpeg1 or mpeg2
-
-2000-12-30 19:41  wtay
-
-	* plugins/avi/gstavidecoder.c: removed debugging
-
-2000-12-30 19:40  wtay
-
-	* plugins/mpeg1/parse/Makefile.am: removed debugging info again
-
-2000-12-30 19:39  wtay
-
-	* plugins/mpeg1/parse/: Makefile.am, mpeg1parse.c: Removed ac3 and
-	other private streams until autoplug can figure it out
-
-2000-12-30 19:37  wtay
-
-	* libs/getbits/: gstgetbits.c, gstgetbits.h: Disabled MMX optimized
-	versions until they get fixed
-
-2000-12-30 19:04  wtay
-
-	* gst/cothreads.c, gst/gstplugin.c, plugins/avi/audiocodecs.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstavidecoder.h,
-	plugins/avi/playcodecs.c, plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c: Fixed autoplugging for avi
-	Fixed a bug in multiple typefind function loading: when a typefind
-	is requested for a mimetype, all plugins with a typefind function
-	should be loaded.
-
-2000-12-30 17:42  wtay
-
-	* gst/gst.c, gst/gstautoplug.c, gst/gstcaps.c, gst/gstplugin.c,
-	gst/gstprops.c, gst/gstthread.c, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c: Fixed MPEG2 autoplugging
-	Added some more INFO to gstthread
-
-2000-12-30 17:13  wtay
-
-	* docs/gst/: Makefile.am, tmpl/gstreamer-unused.sgml: Updated the
-	makefile for new files
-
-2000-12-30 16:13  wtay
-
-	* docs/gst/.cvsignore, docs/gst/gstreamer-decl.txt,
-	docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/gstreamer.types.in,
-	docs/gst/tmpl/gst.sgml, docs/gst/tmpl/gstautoplug.sgml,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstcaps.sgml,
-	docs/gst/tmpl/gstconnection.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstfilter.sgml, docs/gst/tmpl/gstinfo.sgml,
-	docs/gst/tmpl/gstobject.sgml, docs/gst/tmpl/gstprops.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstscheduler.sgml, docs/gst/tmpl/gstsink.sgml,
-	docs/gst/tmpl/gstsrc.sgml, gst/gstautoplug.c, gst/gstelement.c,
-	gst/gstobject.c, gst/gstplugin.c, gst/elements/Makefile.am,
-	gst/elements/gstqueue.c, gst/elements/gsttypefind.c: Docs updates:
-	remove sink, src, filter, connection added gstinfo to docs. 
-	Updated some core files for the docs gsttypefind did not include
-	gst_private Added CFlags to Makefile.am in gst/elements
-
-2000-12-30 15:36  richardb
-
-	* docs/: Makefile.am, manuals.mak, fwg/Makefile.am,
-	fwg/gst-filter-writers-guide.sgml, manual/Makefile.am: Added
-	framework for writing filter writers guide.  Extracted much of the
-	makefile from docs/manual into a shared file which is included, so
-	it can be re-used.
-
-2000-12-30 14:46  richardb
-
-	* docs/: libs/.cvsignore, manual/.cvsignore, manual/Makefile.am,
-	libs/Makefile.am: Fix a bug in manual/Makefile.am: bad shell script
-	for make disting .ps files.   Couple of final fixes to
-	libs/Makefile.am, too.	Add a few things to cvsignores.
-
-2000-12-30 14:40  richardb
-
-	* plugins/: dvdsrc/Makefile.am, mpeg2/video/getvlc.h,
-	mpeg2/video/mpeg2dec.h, mpeg2/videoparse/Makefile.am: Change ERROR
-	to VLC_ERROR in mpeg2.	Fix a couple of makefiles so that make dist
-	works.
-
-2000-12-30 13:54  richardb
-
-	* docs/libs/: Makefile.am, tmpl/.cvsignore: Makefile cleaned muchly
-	- make should now cause gstreamer-libs docs to be created.  Make
-	dist may work too - untested.  No longer store tmpls in CVS,
-	either.  Only thing missing is make dependencies on the source
-	files used to extract the docs.
-
-2000-12-30 13:14  richardb
-
-	* docs/libs/tmpl/: dct.sgml, externals.sgml, gstcolorspace.sgml,
-	gstgetbits.sgml, gstgetbits_inl.sgml, gstidct.sgml,
-	gstputbits.sgml, gstriff.sgml, gstvideoscale.sgml, wineacm.sgml:
-	Remove template files from CVS: they're autogenerated better.
-
-2000-12-30 05:05  richardb
-
-	* docs/manual/Makefile.am: Makefile can now be used for a different
-	manual by simply changing the initial variables
-
-2000-12-30 04:40  richardb
-
-	* docs/manual/images/: .cvsignore, Makefile.am: Remove old
-	directories and files
-
-2000-12-30 04:36  richardb
-
-	* docs/manual/: Makefile.am, bin-element.fig,
-	connected-elements.fig, filter-element-multi.fig,
-	filter-element.fig, hello-world.fig, mime-world.fig, queue.fig,
-	sink-element.fig, src-element.fig, state-diagram.fig, thread.fig:
-	Misc tweaks to makefile for manual.  Moved .figs into same
-	directory so we can have them built appropriately without having to
-	hack makefiles horribly.  Nearly have a core makefile which can be
-	reused for other manuals.
-
-2000-12-30 03:28  wtay
-
-	* docs/manual/images/Makefile.am: Scaled down the eps images to
-	half their size
-
-2000-12-30 02:47  wtay
-
-	* gst/elements/: gstelements.c, gstfakesrc.c: Added some INFO in
-	gstelements Reverted pad names in gstfakesrc back to what they were
-
-2000-12-30 02:41  omegahacker
-
-	* gst/: cothreads.c, gst.c, gst_private.h, gstbin.c, gstbuffer.c,
-	gstelement.c, gstinfo.c, gstinfo.h, gstpad.c, gstplugin.c,
-	gsttype.c, elements/gsttypefind.c: Updated more files to use INFO.
-
-2000-12-30 02:25  richardb
-
-	* docs/manual/Makefile.am: Minor neaten to makefile.
-
-2000-12-30 01:53  richardb
-
-	* test/: a.c, avi2mpg.c, aviparse.c, mp1parse.c, mp1tomp1.c,
-	mp2toavi.c, mp2tomp1.c, mp3.c, mp3parse.c, mp3play.c,
-	mp3tovorbis.c, mpeg2parse.c, pipetest.c, qtest.c: Convert GstSrc's
-	to GstElements.
-
-2000-12-30 01:06  richardb
-
-	* configure.in, plugins/Makefile.am, plugins/mp3encode/Makefile.am:
-	Added configure test for liblame.
-
-2000-12-30 00:46  richardb
-
-	* configure.in, plugins/Makefile.am: Add configure tests for
-	cdparanoia
-
-2000-12-30 00:17  richardb
-
-	* plugins/mpeg1/system_encode/Makefile.am: Include "include/"
-
-2000-12-29 22:36  richardb
-
-	* plugins/: mpeg2/parse/Makefile.am, mpeg1/parse/Makefile.am:
-	Include "include/" when compiling.
-
-2000-12-29 21:58  richardb
-
-	* gst/elements/gsttypefind.c: Remove reference to gstdebug.h which
-	doesn't exist.
-
-2000-12-29 21:56  richardb
-
-	* libs/getbits/: gstgetbits.c, gstgetbits.h: Fix a couple of MMX
-	issues.
-
-2000-12-29 21:50  richardb
-
-	* libs/getbits/Makefile.am: Include libgst.la when linking gbtest
-	so it compiles.
-
-2000-12-29 21:44  richardb
-
-	* plugins/mpeg1/mpeg_play/: decoders.c, decoders.h: Use VLC_ERROR
-	instead of ERROR_VAL, at Erik's suggestion. :)
-
-2000-12-29 21:40  richardb
-
-	* plugins/mpeg1/mpeg_play/: decoders.c, decoders.h: Rename #define
-	ERROR to #define ERROR_VAL to avoid conflict with gstinfo.h
-
-2000-12-29 19:45  wtay
-
-	* gst/Makefile.am, gst/gstautoplug.c, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstbuffer.h, gst/gstpipeline.c,
-	gst/gstprops.c, gst/gstscheduler.c, gst/elements/gstasyncdisksrc.c,
-	gstplay/gstplay.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg1/mpeg_play/decoders.c,
-	plugins/mpeg1/mpeg_play/decoders.h,
-	plugins/mpeg1video/parse/mp1videoparse.c: Fixed buffer flag
-	handling gstplay used old flag handling updated some plugins for
-	the new objects/error handling Fixed a serious buffer error in
-	gst_buffer_append
-
-2000-12-29 18:31  wtay
-
-	* tests/: caps.c, props.c: Updated some test programs
-
-2000-12-29 18:23  wtay
-
-	* gst/: gstautoplug.c, gstbin.c, gstbuffer.h, gstpipeline.c,
-	gstplugin.c, gstprops.c, gstprops.h, gstscheduler.c,
-	elements/gstasyncdisksrc.c: Fixed a serious bug in gst_props_new:
-	properties with a 0 value causes a segfault Fixed a possible bug in
-	gstautoplug when one of the constructed paths was empty Commented
-	out a too liberal assert in gstscheduler.c Added
-	GST_BUFFER_DISCONTINUOUS tried to fix asyndisksrc
-
-2000-12-29 10:02  omegahacker
-
-	* gst/: Makefile.am, gst.c, gst.h, gst_private.h, gstdebug.h,
-	gstelement.c, gstelement.h, gstinfo.c, gstinfo.h, gstobject.c,
-	gstobject.h, gstplugin.c, gstscheduler.c: Added DEBUG, INFO, and
-	ERROR systems.	Very little code is converted yet.  Policy
-	decisions need to be made as to what kinds of cases get what kind
-	of response, and what the default ERROR response should be.  Right
-	now it will print out all the information, then have gdb spew a
-	stack trace.
-
-2000-12-29 05:38  omegahacker
-
-	* gst/elements/: gstasyncdisksrc.c, gstasyncdisksrc.h,
-	gstaudiosink.c, gstaudiosink.h, gstaudiosrc.c, gstaudiosrc.h,
-	gstdisksrc.c, gstdisksrc.h, gstelements.c, gstesdsink.c,
-	gstesdsink.h, gstfakesink.c, gstfakesink.h, gstfakesrc.c,
-	gstfakesrc.h, gstfdsink.c, gstfdsink.h, gstfdsrc.c, gstfdsrc.h,
-	gsthttpsrc.c, gsthttpsrc.h, gstidentity.c, gstidentity.h,
-	gstpipefilter.c, gstpipefilter.h, gstqueue.c, gstqueue.h,
-	gstsinesrc.c, gstsinesrc.h, gsttypefind.c, gsttypefind.h: Updated
-	copyright notices.
-
-2000-12-29 04:36  wtay
-
-	* gstplay/gstplay.c: Add the pipeline to the thread after
-	autoplugging.
-
-2000-12-29 03:05  wtay
-
-	* editor/gsteditorpadtemplate.c: Added a missing file...
-
-2000-12-29 02:50  omegahacker
-
-	* plugins/: example.c, example.h, au/gstparseau.c, au/gstparseau.h,
-	audioscale/audioscale.c, audioscale/audioscale.h,
-	avi/gstavidecoder.c, avi/gstavidecoder.h, avi/gstaviencoder.c,
-	avi/gstaviencoder.h, avi/wincodec/gstwindec.c,
-	avi/wincodec/gstwindec.h, avi/wincodec/gstwinenc.c,
-	avi/wincodec/gstwinenc.h, capture/v4l/gstv4lsrc.c,
-	capture/v4l/gstv4lsrc.h, cdparanoia/cdparanoia.c,
-	cdparanoia/cdparanoia.h, cobin/cobin.c, cobin/spindentity.c,
-	cobin/spindentity.h, dvdsrc/Makefile.am, dvdsrc/dvdsrc.c,
-	dvdsrc/dvdsrc.h, effects/stereo/stereo.c, effects/stereo/stereo.h,
-	effects/volume/volume.c, effects/volume/volume.h,
-	filters/median/median.c, filters/median/median.h,
-	filters/smooth/smooth.c, filters/smooth/smooth.h,
-	jpeg/gstjpegdec.c, jpeg/gstjpegdec.h, jpeg/gstjpegenc.c,
-	jpeg/gstjpegenc.h, mp3decode/mpg123/gstmpg123.c,
-	mp3decode/mpg123/gstmpg123.h, mp3decode/parse/mp3parse.c,
-	mp3decode/parse/mp3parse.h, mp3decode/xa/gstxa.c,
-	mp3decode/xa/gstxa.h, mp3decode/xing/gstxing.c,
-	mp3decode/xing/gstxing.h, mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	mpeg1/mpeg_play/gstmpeg_play.c, mpeg1/mpeg_play/gstmpeg_play.h,
-	mpeg1/mpegaudio/gstmpegaudio.c, mpeg1/mpegaudio/gstmpegaudio.h,
-	mpeg1/parse/mpeg1parse.c, mpeg1/parse/mpeg1parse.h,
-	mpeg1/system_encode/system_encode.c,
-	mpeg1/system_encode/system_encode.h,
-	mpeg1video/parse/mp1videoparse.c, mpeg1video/parse/mp1videoparse.h,
-	mpeg2/ac3dec/ac3dec.c, mpeg2/ac3dec/ac3dec.h,
-	mpeg2/ac3parse/ac3parse.c, mpeg2/ac3parse/ac3parse.h,
-	mpeg2/mpeg2dec/gstmpeg2dec.c, mpeg2/mpeg2dec/gstmpeg2dec.h,
-	mpeg2/mpeg2enc/gstmpeg2enc.c, mpeg2/mpeg2enc/gstmpeg2enc.h,
-	mpeg2/parse/mpeg2parse.c, mpeg2/parse/mpeg2parse.h,
-	mpeg2/subtitles/mpeg2subt.c, mpeg2/subtitles/mpeg2subt.h,
-	mpeg2/video/gstmpeg2play.c, mpeg2/video/gstmpeg2play.h,
-	mpeg2/video/mpeg2dec.c, mpeg2/videoparse/mp2videoparse.c,
-	mpeg2/videoparse/mp2videoparse.h, rtjpeg/rtjpegdec.c,
-	rtjpeg/rtjpegdec.h, rtjpeg/rtjpegenc.c, rtjpeg/rtjpegenc.h,
-	vcdsrc/vcdsrc.c, vcdsrc/vcdsrc.h, videoscale/videoscale.c,
-	videoscale/videoscale.h, visualization/smoothwave/smoothwave.c,
-	visualization/smoothwave/smoothwave.h,
-	visualization/spectrum/gstspectrum.c,
-	visualization/spectrum/gstspectrum.h,
-	visualization/synaesthesia/synaesthesia.c,
-	visualization/synaesthesia/synaesthesia.h,
-	visualization/vumeter/vumeter.c, visualization/vumeter/vumeter.h,
-	vorbis/vorbisdec.c, vorbis/vorbisdec.h, vorbis/vorbisenc.c,
-	vorbis/vorbisenc.h, wav/gstparsewav.c, wav/gstparsewav.h: MEGA
-	reparenting of all the elements to GstElement.
-
-2000-12-29 02:28  omegahacker
-
-	* gst/: Makefile.am, gst.h, gstbin.c, gstclock.c, gstconnection.c,
-	gstconnection.h, gstelement.c, gstelement.h, gstfilter.c,
-	gstfilter.h, gstpipeline.c, gstsink.c, gstsink.h, gstsrc.c,
-	gstsrc.h, gsttee.c, gsttee.h, elements/gstasyncdisksrc.c,
-	elements/gstasyncdisksrc.h, elements/gstaudiosink.c,
-	elements/gstaudiosink.h, elements/gstaudiosrc.c,
-	elements/gstaudiosrc.h, elements/gstdisksrc.c,
-	elements/gstdisksrc.h, elements/gstelements.c,
-	elements/gstfakesink.c, elements/gstfakesink.h,
-	elements/gstfakesrc.c, elements/gstfakesrc.h, elements/gstfdsink.c,
-	elements/gstfdsink.h, elements/gstfdsrc.c, elements/gstfdsrc.h,
-	elements/gsthttpsrc.c, elements/gsthttpsrc.h,
-	elements/gstidentity.c, elements/gstidentity.h,
-	elements/gstpipefilter.c, elements/gstpipefilter.h,
-	elements/gstqueue.c, elements/gstqueue.h, elements/gstsinesrc.c,
-	elements/gstsinesrc.h, elements/gsttypefind.c,
-	elements/gsttypefind.h: Reparented everything to GstElement,
-	removing GstSrc, GstSink, GstFilter, and GstConnection.  Also fixed
-	a bug in gst_bin_iterate_func.
-
-2000-12-28 22:13  omegahacker
-
-	* gst/gstcaps.h: missed one file for copyright
-
-2000-12-28 22:12  omegahacker
-
-	* gst/: Makefile.am, cothreads.c, cothreads.h, gst.c, gst.h,
-	gst_private.h, gstarch.h, gstautoplug.c, gstautoplug.h, gstbin.c,
-	gstbin.h, gstbuffer.c, gstbuffer.h, gstbufferpool.c,
-	gstbufferpool.h, gstcaps.c, gstclock.c, gstclock.h,
-	gstconnection.c, gstconnection.h, gstcpu.c, gstcpu.h, gstdebug.h,
-	gstelement.c, gstelement.h, gstelementfactory.c, gstextratypes.c,
-	gstextratypes.h, gstfilter.c, gstfilter.h, gsti386.h, gstlog.h,
-	gstmeta.c, gstmeta.h, gstobject.c, gstobject.h, gstpad.c, gstpad.h,
-	gstpipeline.c, gstpipeline.h, gstplugin.c, gstplugin.h, gstppc.h,
-	gstprops.c, gstprops.h, gstpropsprivate.h, gstscheduler.c,
-	gstscheduler.h, gstsink.c, gstsink.h, gstsrc.c, gstsrc.h, gsttee.c,
-	gsttee.h, gstthread.c, gstthread.h, gsttrace.c, gsttrace.h,
-	gsttype.c, gsttype.h, gstutils.c, gstutils.h, gstxml.c, gstxml.h,
-	elements/gstasyncdisksrc.h, elements/gstqueue.c: Updated copyright
-	in all the libgst files.  Created gst_private.h, set up all files
-	to use it.
-
-2000-12-28 21:42  wtay
-
-	* docs/gst/Makefile.am, docs/gst/gstreamer-decl.txt,
-	docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/cothreads.sgml, docs/gst/tmpl/gst.sgml,
-	docs/gst/tmpl/gstasyncdisksrc.sgml, docs/gst/tmpl/gstbin.sgml,
-	docs/gst/tmpl/gstbuffer.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfakesink.sgml,
-	docs/gst/tmpl/gstfakesrc.sgml, docs/gst/tmpl/gstfilter.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstplugin.sgml,
-	docs/gst/tmpl/gstqueue.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstsink.sgml, docs/gst/tmpl/gstsrc.sgml,
-	docs/gst/tmpl/gstthread.sgml, docs/gst/tmpl/gsttype.sgml,
-	docs/gst/tmpl/gsttypefind.sgml, docs/gst/tmpl/gstutils.sgml,
-	docs/gst/tmpl/gstxml.sgml, docs/gst/tmpl/videoraw.sgml,
-	gst/gstbin.c, gst/gstbin.h, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.h, gst/gstprops.c,
-	gst/gstprops.h, gst/gstscheduler.c, gst/gstsrc.h, gst/gstthread.c,
-	gst/elements/gsttypefind.c: Updated the API docs.
-
-2000-12-28 21:12  omegahacker
-
-	* gst/gstpad.c: removed some dead pad_pull/push code
-
-2000-12-28 03:17  wtay
-
-	* plugins/mpeg1/parse/mpeg1parse.c: Remove stupid printf
-
-2000-12-28 03:00  wtay
-
-	* gst/elements/gsttypefind.c: fix a bug for multiple includes
-
-2000-12-28 02:51  wtay
-
-	* editor/Makefile.am, editor/editor.c, editor/gsteditor.h,
-	editor/gsteditorbin.c, editor/gsteditorelement.c,
-	editor/gsteditorpad.c, editor/gsteditorpalette.c,
-	editor/gsteditorpalette.h, editor/gsteditorprojectview.c,
-	editor/gsteditorproperty.c, gst/gstbin.c, gst/gstpipeline.c,
-	gst/gstscheduler.c, gst/elements/gstqueue.c,
-	gst/elements/gsttypefind.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/mp3decode/Makefile.am, test/mp3tovorbis.c,
-	tests/registry.c: Pending editor changes.  fixes for autoplug of
-	elementary MPEG1 video streams make sure mp3 types get compiled
-	videosink changes for xml loading
-
-2000-12-28 00:18  wtay
-
-	* gst/: gstautoplug.c, gstbin.c, gstelement.c, gstelement.h,
-	gstelementfactory.c, gstpad.c, gstpad.h, gstpipeline.c,
-	gstplugin.c, gstscheduler.c, gsttype.c, elements/gstfakesrc.c,
-	elements/gstfakesrc.h: Fixes for the new scheduler.  Autoplug works
-	again with mp3/mpeg1/ogg
-
-2000-12-27 23:42  omegahacker
-
-	* gst/: gstbin.c, gstbin.h, gstscheduler.c: Added some cleanup, so
-	create_plan can be called multiple times.
-
-2000-12-27 22:49  wtay
-
-	* plugins/vorbis/Makefile.am: Added libvorbisenc too
-
-2000-12-27 22:39  wtay
-
-	* test/: Makefile.am, ac3parse.c, avi2mpg.c, aviparse.c, dvdcat.c,
-	mp1parse.c, mp1tomp1.c, mp2toavi.c, mp2tomp1.c, mp3.c, mp3parse.c,
-	mp3play.c, mp3tovorbis.c, mpeg2parse.c, pipetest.c, record.c,
-	spectrum.c, vidcapture.c, vidcapture2.c, videotest.c, wave.c,
-	xml/createreg.c, xml/readreg.c: Updates for the gst_pad_push
-	changes
-
-2000-12-27 20:41  wtay
-
-	* plugins/vorbis/: vorbisdec.c, vorbisenc.c, vorbisenc.h: Updated
-	vorbis encoder/decoder to latest CVS version
-
-2000-12-27 04:16  wtay
-
-	* gst/elements/: gstfakesrc.c, gstfakesrc.h: Added loop_based
-	option Added multiple pad output
-
-2000-12-27 03:13  omegahacker
-
-	* gst/: Makefile.am, cothreads.c, gstpipeline.c, gstthread.c,
-	elements/Makefile.am, types/Makefile.am: Mostly minor little
-	changes, but two interesting things:
-	
-	1) removed a pthread_join from the gst_thread_main_loop.  commented
-	out because the thread isn't supposed to run pthread_join, the main
-	process is.
-	
-	2) Fixed a major bug with cothreads in threads.  Had to add
-	MAP_FIXED to the mmap() of the cothread stack.	Presumably the
-	gilbc that ships with redhat 7.0 now places these mmap requests
-	somewhat randomly.  Since they *must* be exactly where we expect
-	them, it was failing.  MAP_FIXED forces it to put it where we say.
-
-2000-12-27 00:46  omegahacker
-
-	* gst/: gstbin.c, gstbin.h, gstscheduler.c: Added code to attempt
-	the scheduling of chained cases.  Very simply right now.  Also
-	added code to allow the use_cothread flag of a bin to force all the
-	chains to use cothreads as well.
-
-2000-12-27 00:01  omegahacker
-
-	* tests/: Makefile.am, case4.c: added case4
-
-2000-12-26 23:51  omegahacker
-
-	* gst/: Makefile.am, gstbin.c, gstbin.h, gstdebug.h, gstelement.h,
-	gstscheduler.c, gstscheduler.h, gstthread.c,
-	elements/gstidentity.c, elements/gstqueue.c, elements/gstqueue.h:
-	More massive changes to the scheduling system.	Moved the
-	scheduling code to gstscheduler.[ch], so an child bin can replace
-	the scheduler.	Introduced the concept of chains, which are subsets
-	of the list of managed elements for a given manager bin, which get
-	scheduled as separate entities.  gst_bin_iterate_func should be
-	pretty much fixed now, the scheduling code gets to do all the hard
-	work.
-	
-	Cothreaded case work in the couple tests I've tried, chained is
-	next.
-
-2000-12-26 20:49  omegahacker
-
-	* gst/gstthread.c: Changed "bin" to "thread" in get_thread_new.
-
-2000-12-26 20:24  wtay
-
-	* docs/random/usecases: This file will contain several use cases to
-	reason through
-
-2000-12-25 01:33  wtay
-
-	* editor/editor.glade, editor/editor.ts, editor/gsteditor.c,
-	editor/gsteditor.h, editor/gsteditorbin.c,
-	editor/gsteditorcanvas.c, editor/gsteditorconnection.c,
-	editor/gsteditorconnection.h, editor/gsteditorcreate.c,
-	editor/gsteditorcreate.h, editor/gsteditorelement.c,
-	editor/gsteditorpad.c, editor/gsteditorproject.c,
-	editor/gsteditorproject.h, editor/gsteditorprojectview.c,
-	editor/gsteditorproperty.c, editor/gsteditorproperty.h,
-	gst/gstbin.h, gst/gstelement.h, gst/gstutils.c, gst/gstutils.h,
-	gst/gstxml.c, gst/elements/gstaudiosink.c: Lots of editor changes: 
-	- restucturing of object creation  - loading of xml files  - visual
-	eye candy: color changes on mouseover  - active object is indicated
-	 - property box changes for boolean and enum types  - property box:
-	create properties per element  - show pads/caps in propertybox
-	added gst_util_get_bool_arg in gstutils.c added default properties
-	for audiosink
-
-2000-12-23 03:17  wtay
-
-	* gst/: gstbin.c, gstelement.c, gstelement.h, gstelementfactory.c,
-	gstpipeline.c, gstthread.c, elements/gstasyncdisksrc.c,
-	elements/gstdisksrc.c, elements/gstfakesrc.c,
-	elements/gstidentity.c: Added handoff signals to fakesrc and
-	fakesink Added scheduling property to identity Added
-	GST_STATE_TRANSITION macro to check for state changes.	Modified
-	gstbin and gstthread to the new state change macros
-
-2000-12-22 23:23  wtay
-
-	* gst/gstbin.c, gst/gstelementfactory.c, gst/gstpad.c,
-	gst/gstpipeline.c, gst/gstthread.c, gst/elements/gstfakesrc.c,
-	gst/elements/gstfakesrc.h, tests/sched/runxml.c,
-	tests/sched/cases/(fs-i-i-fs).xml: Fixed a bug in gstbin.c the
-	manager was not detected.  Some other testcases bin, thread,
-	pipeline use the elementfactory on gst_*_new
-
-2000-12-22 16:14  wtay
-
-	* gst/gstautoplug.c, gst/gstautoplug.h, gst/gstpipeline.c,
-	gst/gstxml.c, gst/elements/gstfakesink.c,
-	gst/elements/gstfakesink.h, gst/elements/gstidentity.c,
-	gst/elements/gstidentity.h, gstplay/main.c, tests/sched/Makefile,
-	tests/sched/runtestcases, tests/sched/runxml.c,
-	tests/sched/testcases, tests/sched/cases/(fs-fs).xml,
-	tests/sched/cases/(fs-i-fs).xml, tests/sched/cases/(fs-i-i-fs).xml,
-	tests/sched/cases/(fs-i-q[i-fs]).xml: Implemented some test
-	cases... they all fail :-( Added a flag to identity to for
-	loop_based behaviour.  Added a signal to fakesink when a buffer is
-	consumed.
-
-2000-12-21 20:21  wtay
-
-	* tests/sched/testcases: More testcases
-
-2000-12-21 19:53  wtay
-
-	* tests/: autoplug.c, sched/testcases: 70+ testcases to start with
-
-2000-12-21 07:10  omegahacker
-
-	* gst/gstbin.c: Some fixes to the non-chained case, it works in a
-	very basic way.  More use cases will hopefully provide some sanity.
-
-2000-12-21 01:27  omegahacker
-
-	* gst/elements/gstqueue.c: Fixing two bugs:
-	
-	1) I had commented out an unlock.  duh.  2) changed the _get
-	function to return the buffer rather than call _push
-	
-	Also uncommented some debugging I'd turned off.  Need to solve the
-	verbosity problem somehow, I think by way of debug levels as well
-	as info levels...
-
-2000-12-20 09:39  omegahacker
-
-	* gst/: gstbin.c, gstbin.h, gstelement.c, gstelement.h, gstpad.h,
-	gstpipeline.c, gstthread.c, elements/gstasyncdisksrc.c,
-	elements/gstaudiosrc.c, elements/gstdisksrc.c,
-	elements/gstfakesrc.c, elements/gstfakesrc.h, elements/gstfdsrc.c,
-	elements/gsthttpsrc.c, elements/gstqueue.c, elements/gstsinesrc.c:
-	Massive scheduling changes (again).  Not entirely complete, but
-	getting closer.  Need to think about various scheduling plans that
-	we might want to produce, and figure out the rules for what is
-	legal, and how to get the results we need as far as the plan.
-
-2000-12-20 00:55  wtay
-
-	* docs/random/autoplug1: Added explanation for current autoplugging
-
-2000-12-19 16:38  wtay
-
-	* tests/: .cvsignore, props.c: Small test program for the property
-	system
-
-2000-12-19 16:36  wtay
-
-	* gst/gstcaps.c, gst/gstcaps.h, gst/gstprops.c, gst/gstprops.h,
-	plugins/mpeg1/mpegtypes/mpeg1types.c, tests/Makefile.am: Added API
-	to dynamically create GstCaps and GstProps Changed typefind of
-	mpeg1 to set the GstProps.  autoplugging now works again for mpeg1,
-	whoohoo!
-
-2000-12-19 13:44  wtay
-
-	* docs/random/plugins.dia, editor/editor.dia, gst/gstautoplug.c,
-	gst/gstautoplug.h, tests/autoplug.c: Added the autoplugger.  some
-	.dia drawings of the objects the autoplug test program.
-
-2000-12-19 13:41  wtay
-
-	* gst/Makefile.am, gst/gst.c, gst/gstbin.c, gst/gstcaps.c,
-	gst/gstelement.h, gst/gstelementfactory.c, gst/gstpipeline.c,
-	gst/gstplugin.c, gst/gstprops.c, gst/gstthread.c, gst/gsttype.c,
-	gst/gsttype.h, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c, tests/Makefile.am,
-	tests/registry.c: Cleanup in gsttypes.c:   removed the crazy GList
-	of GHashTables, since the autoplugger will   use the GstCaps and
-	elementfactories instead of the type system.	We don't maintain a
-	list anymore of the elements for the specific	 removed unused
-	code in XML loading/saving.
-	
-	Cleanup in gstelementfactory:	removed the register/unregister
-	methods, register is now implicit when	 gst_elementfactory_new is
-	called. _unregister is now _destroy.	Removed logic to
-	register/unregister the types in gsttypes.    added methods to
-	query if the factory can src/sink a GstCaps    Make sure the
-	elementfactory is set in the element_class when a new	 element is
-	registered with gst_elementfactory_new.
-	
-	gst.c: properly register the basic bins gst_pipeline: use new
-	gstautoplug (next checkin) gstprops: fixed an error in
-	compatibility check registry test program changes plugins: misc
-	changes for the new caps system.
-
-2000-12-19 05:48  omegahacker
-
-	* plugins/cdparanoia/cdparanoia.c: safety issue: turned off the
-	code the requires a patch to cdparanoia to avoid a segfault
-
-2000-12-17 16:24  wtay
-
-	* gst/gstbin.c, gst/gstcaps.c, gst/gstpad.c, gst/gstpipeline.c,
-	gst/gstprops.c, gst/gsttype.c, gst/gsttype.h,
-	gst/elements/gsttypefind.c, gst/elements/gsttypefind.h,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c, plugins/vorbis/vorbis.c: The
-	typefind function now returns a GstCaps structure instead of a
-	gboolean.  modified some plugins to this new behaviour Fixed
-	autoplugging for the mpg123 case. When an element is selected in
-	autoplugging and the caps do not match, another element is selected
-	until the caps match. only examples/autoplug works because
-	gstmediaplay uses a threaded setup that does not seem to work with
-	the current scheduling.
-
-2000-12-17 06:26  omegahacker
-
-	* docs/code-reviews/: README, gstbin.c-1.41: README and the
-	beginning of the first code-review.  Here's the README:
-	
-	Code reviews: =============
-	
-	Files are to be named by file or subsystem, and CVS revision number
-	or date:
-	
-	gstbin.c-1.41 editor-20001216
-	
-	A file should look something like the following:
-	
-	-------------------------------------------------------------------
-	--- Code Review =========== File: gst/gstbin.c Revision: 1.41 Date:
-	Dec 16, 2000 Reviewer: Erik Walthinsen <omega@cse.ogi.edu>
-	
-	----- Line 20: #define GST_DEBUG_ENABLED
-	
-	Shouldn't be here, DEBUG should be enabled globally.  May leave
-	until scheduling changes are done.
-	
-	----- Line 117: (gst_bin_class_init)  
-	gstelement_class->elementfactory =   
-	gst_elementfactory_find("bin");
-	
-	Not sure this is such a great idea.  I thought the GstElement code
-	did this kind of stuff?
-	
-	-------------------------------------------------------------------
-	---
-	
-	The format will evolve as we do more stuff, such as putting in
-	fields for recommended actions, comments regarding any later
-	changes made and when, etc.
-
-2000-12-17 04:54  omegahacker
-
-	* gst/gstbin.c, gst/gstbuffer.h, gst/gstdebug.h,
-	gst/elements/gsttypefind.c, tools/gstreamer-register.c: Some minor
-	compilation fixes...
-
-2000-12-16 17:12  wtay
-
-	* editor/editor.c, editor/editor.glade, editor/editor.ts,
-	editor/gsteditor.c, editor/gsteditorbin.c,
-	editor/gsteditorelement.c, editor/gsteditorproject.c,
-	editor/gsteditorproject.h, editor/gsteditorprojectview.c,
-	gst/gstbin.c, gst/gstbuffer.h, gst/gstdebug.h, gst/gstpad.c,
-	gst/gstprops.c, gst/gstthread.c, gst/gstxml.c, gst/gstxml.h,
-	tests/registry.c: some editor changes= loading of save pipelines
-	(not working) added include in gstdebug.h for getpid property
-	loading implemented GstXML can now be queried for the toplevel
-	elements.
-
-2000-12-16 10:18  omegahacker
-
-	* docs/random/sources, examples/autoplug/Makefile,
-	examples/helloworld/Makefile, examples/queue4/Makefile,
-	examples/xml/Makefile, gst/gst.c, gst/gstbin.c, gst/gstbuffer.h,
-	gst/gstdebug.h, gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c,
-	gst/gstthread.c, gst/elements/gstasyncdisksrc.c,
-	gst/elements/gstaudiosrc.c, gst/elements/gstdisksrc.c,
-	gst/elements/gstfakesink.c, gst/elements/gstfakesrc.c,
-	gst/elements/gstfdsrc.c, gst/elements/gsthttpsrc.c,
-	gst/elements/gstidentity.c, gst/elements/gstqueue.c,
-	gst/elements/gstsinesrc.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/cdparanoia/cdparanoia.h, plugins/cobin/spindentity.c,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	tests/Makefile.am, tests/mp3encode.c, tests/pad-active.c,
-	tests/paranoia.c, tests/queue.c, tests/rip.c, tests/simplefake.c,
-	tests/states.c: WARNING: Don't grab this updated unless you're
-	really, REALLY sure.  WARNING: Wait for the next one.
-	
-	Whole lotta changes here, including a few random bits:
-	
-	examples/*/Makefile: updated to use `libtool gcc`, not just `gcc`
-	gst/   gstbuffer.h: updated to new flag style	gst.c, gstdebug.h:
-	added new debugging for function ptrs	gstpipeline.c: set type of
-	parent_class to the class, not the object   gstthread.c: ditto
-	plugins/   cdparanoia/cdparanoia.c: added an argument type, updated
-	some defaults	cobin/spindentity.c: updated to new do/while
-	loopfunction style   mp3encode/lame/gstlame.c: argument types,
-	whole lotta lame options tests/: various changes
-	
-	Now, for the big changes:  Once again, the scheduling system has
-	changed.  And once again, it broke a whole bunch of things.  The
-	gist of the change is that there is now a function pointer for
-	gst_pad_push and gst_pad_pull, instead of a hard-wired function. 
-	Well, currently they are functions, but that's for debugging
-	purposes only, they just call the function pointer after spewing
-	lots of DEBUG().
-	
-	This changed the GstPad structure a bit, and the GstPad API as
-	well.  Where elements used to provide chain() and pull() functions,
-	they provide chain() and get() functions.
-	gst_pad_set_pull[region]_function has been changed to
-	get_pad_set_get[region]_function.  This means all the elements out
-	there that used to have pull functions need to be updated.  The
-	calls to that function have been changed in the normal elements,
-	but the names of the functions passed is still _pull[region](),
-	which is an aesthetic issue more than anything.
-	
-	As for what doesn't work yet, just about anything dealing with
-	Connections is hosed, meaning threaded stuff won't work.  This will
-	be fixed about 12 hours from now, after I've slept, etc.  The
-	simplefake.c test works in both cothreaded and chained cases, but
-	not much else will work due to the Connection problem.	Needless to
-	say, don't grab this unless you *need* these features *now*, else
-	wait to update this stuff until tomorrow.
-	
-	I'm going to sleep now.
-
-2000-12-15 16:43  wtay
-
-	* examples/queue/queue.c, examples/queue2/queue2.c, gst/gstbin.c,
-	gst/gstcaps.c, gst/gstpipeline.c, gst/gstplugin.c, gst/gsttype.c,
-	gst/elements/gsttypefind.c, plugins/mpeg1/mpegtypes/mpeg1types.c,
-	plugins/mpeg2/mpegtypes/mpeg2types.c, plugins/vorbis/vorbis.c: Move
-	a step closer to autoplugging. The element selection in the
-	pipeline works.  Slight modification to the typefind function
-	handling.  removed the stupid mime types in the mpeg decoders. 
-	Adjust videosink for the new caps handling.  Modified the queue
-	example to show an error in plan creation; Erik can you solve this?
-	This is the type of pipelines autoplugging uses.
-
-2000-12-15 01:57  wtay
-
-	* gst/Makefile.am, gst/cothreads.c, gst/cothreads.h, gst/gst.c,
-	gst/gst.h, gst/gstarch.h, gst/gstbin.c, gst/gstbin.h,
-	gst/gstbuffer.c, gst/gstbuffer.h, gst/gstbufferpool.c,
-	gst/gstbufferpool.h, gst/gstcaps.c, gst/gstcaps.h, gst/gstclock.c,
-	gst/gstclock.h, gst/gstconnection.c, gst/gstcpu.c, gst/gstcpu.h,
-	gst/gstdebug.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstextratypes.c, gst/gstextratypes.h,
-	gst/gstfilter.c, gst/gstfilter.h, gst/gstmeta.c, gst/gstmeta.h,
-	gst/gstobject.c, gst/gstobject.h, gst/gstpad.c, gst/gstpad.h,
-	gst/gstpipeline.c, gst/gstpipeline.h, gst/gstplugin.c,
-	gst/gstplugin.h, gst/gstprops.c, gst/gstprops.h, gst/gstsink.c,
-	gst/gstsink.h, gst/gstsrc.c, gst/gstsrc.h, gst/gsttee.c,
-	gst/gstthread.c, gst/gstthread.h, gst/gsttrace.c, gst/gsttrace.h,
-	gst/gsttype.c, gst/gstutils.c, gst/gstxml.c, gst/gstxml.h,
-	gst/elements/gstasyncdisksrc.c, gst/elements/gstasyncdisksrc.h,
-	gst/elements/gstaudiosink.h, gst/elements/gstaudiosrc.h,
-	gst/elements/gstdisksrc.h, gst/elements/gstelements.c,
-	gst/elements/gsthttpsrc.h, gst/elements/gstpipefilter.h,
-	gst/types/gsttypes.c, gstplay/gstmediaplay.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/cdparanoia/cdparanoia.h, plugins/dvdsrc/dvdsrc.c,
-	plugins/dvdsrc/dvdsrc.h, plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3encode/lame/gstlame.h,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/vcdsrc/vcdsrc.h,
-	plugins/vorbis/vorbis.c, tests/.cvsignore, tests/rip.c,
-	tools/gstreamer-register.c: Header cleanup: try to include as
-	little as possible; this will probably speed up compilation a bit. 
-	changed the .c files to use #include "..." Fix for the 'plugins are
-	loaded twice' bug.  Fix 22186: GstObject flags are now used
-	everywhere. Added *_FLAG_LAST so elements do not use the same
-	flags. Added some padding in the flag enum for future expansion.
-
-2000-12-14 17:21  wtay
-
-	* gst/gstpad.c, gst/gstplugin.c, plugins/cdparanoia/cdparanoia.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/vorbis/vorbis.c, plugins/vorbis/vorbisdec.c,
-	plugins/vorbis/vorbisenc.c: Some plugins are adjusted to the new
-	pad template mechanisms.
-
-2000-12-14 12:30  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Fixed a memory leak
-
-2000-12-13 21:42  omegahacker
-
-	* docs/random/TODO-post-0.1.0: First few TODO items to be done
-	after 0.1.0 (i.e. in 2001)
-
-2000-12-13 19:35  wtay
-
-	* plugins/mp3encode/lame/gstlame.c: Update to the lame encoder
-
-2000-12-13 19:29  wtay
-
-	* docs/gst/gstreamer-decl.txt, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstconnection.sgml, docs/gst/tmpl/gstelement.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	docs/gst/tmpl/gstsrc.sgml, docs/gst/tmpl/gsttype.sgml,
-	gst/gstcaps.c, gst/gstcaps.h, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h, gst/gsttype.c,
-	gst/elements/gstaudiosink.c, gst/elements/gsthttpsrc.c,
-	plugins/cdparanoia/cdparanoia.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c: Changed the GstPadFactory and
-	added the GstPadTemplate.
-	
-	The GstPadFactory is an easy way to define a pad with capabilities.
-	 The GstPadFactory is converted into a GstPadTemplate. The template
-	is used to create new pads and to expose the possible pads used in
-	an element to the plugin system.
-	
-	updated mp3parse, mpg123, cdparanoia to the new API.  Rerun
-	gstreamer-register because the XML definition has changed.
-
-2000-12-12 19:31  wtay
-
-	* docs/random/plugins: Added a document about how we handle plugins
-	and dynamic loading.
-
-2000-12-12 19:29  wtay
-
-	* gst/gstcaps.c, gst/gstcaps.h, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstpipeline.c, gst/gsttype.c, plugins/au/gstparseau.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c, tests/.cvsignore, tests/caps.c,
-	tests/registry.c: More Caps changes, this change introduces the
-	padfactory. the GstPadFactory will be used to describe the pads
-	that an element will contain during its lifetime.  mpg123 and
-	mp3parse serve as an example.  More XML changes to incorporate the
-	padfactories.
-
-2000-12-12 09:40  omegahacker
-
-	* configure.in, plugins/Makefile.am, plugins/mp3encode/Makefile.am,
-	tests/Makefile.am, gst/gstbin.c, gst/gstplugin.c,
-	gst/elements/gstfdsink.c, plugins/mp3encode/lame/Makefile.am,
-	plugins/mp3encode/lame/gstlame.c, plugins/mp3encode/lame/gstlame.h,
-	tests/rip.c: Added LAME encoder.  Wow.
-
-2000-12-12 06:49  omegahacker
-
-	* configure.in, editor/gstelementselect.c, plugins/Makefile.am,
-	plugins/cdparanoia/Makefile.am, plugins/cdparanoia/cdparanoia.c,
-	plugins/cdparanoia/cdparanoia.h, tests/Makefile.am,
-	tests/paranoia.c: Brand new source, the cdparanoia source.  Reads
-	audio data from a CD, writes out raw audio.  The tests/paranoia.c
-	program will simply hook this up to a sound card.  It works
-	perfectly.
-	
-	Next step is to flesh out the rest of the element, including pad
-	caps, better seek and playout control, signals, and whatever else
-	comes up.
-	
-	A minor patch to the editor is included here, the GstElementFactory
-	details struct has a name change from 'class' to 'klass' that
-	wasn't reflected in the elementselect widget.  Fixd.
-
-2000-12-11 00:25  omegahacker
-
-	* tests/queue.c: Updated to latest code for testing scheduling.
-
-2000-12-11 00:24  omegahacker
-
-	* gst/: gstbin.c, gstdebug.h, gstelement.c, gstpad.c,
-	elements/gstqueue.c: Implemented the hybrid scheduling system for
-	sources and connections outside the current Bin.  Is a bit hackish
-	in one place, but I'll work out a way to make that cleaner soon. 
-	queue.c in tests now works nicely in all cases.  More to come
-	later.
-
-2000-12-11 00:06  wtay
-
-	* tests/registry.c: Test program to check the registry handling
-
-2000-12-11 00:04  wtay
-
-	* gst/Makefile.am, gst/gstbin.c, gst/gstcaps.c, gst/gstcaps.h,
-	gst/gstelement.h, gst/gstelementfactory.c, gst/gstpad.c,
-	gst/gstpad.h, gst/gstpipeline.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gstprops.c, gst/gstprops.h, gst/gsttype.c, gst/gsttype.h,
-	gst/elements/gstaudiosink.c, gst/elements/gsttypefind.c,
-	gstplay/main.c, plugins/au/gstparseau.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstaviencoder.c,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/effects/stereo/stereo.c,
-	plugins/effects/volume/volume.c, plugins/filters/median/median.c,
-	plugins/filters/smooth/smooth.c, plugins/jpeg/gstjpeg.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/xing/gstxing.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/header.c, plugins/mpeg2/mpeg2dec/idct.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/perftest.c, plugins/mpeg2/mpeg2dec/slice.c,
-	plugins/mpeg2/mpeg2dec/vlc.h, plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/mp2videoparse.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/vcdsrc/vcdsrc.c, plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/vorbis/vorbis.c,
-	plugins/wav/gstparsewav.c, tests/Makefile.am, tests/caps.c,
-	tests/queue.c: First attempt at rebuilding the type/plugin system  
-	- make sure caps/props are saved in the registry autoplugging is
-	completely broken.  removed the typefactories and typeids from all
-	the pads in the plugins XML load/save is ok (be sure to rerun
-	gstreamer-register)
-
-2000-12-09 09:13  omegahacker
-
-	* gst/: gstbin.c, gstbin.h, gstelement.c, gstpad.h: Snapshot of
-	work-in-progress do deal with out-of-bin elements.  Current system
-	is very likely going to be ditched due to its complexity and the
-	fact that it doesn't work right now.  More than that, it's
-	generating some really odd results in my test program, which aren't
-	readily explainable.
-	
-	If you want to keep a working copy of your working copy (heh),
-	don't update until this is replaced with a hybrid approach.  This
-	approach will be the beginning of a plan generator that can
-	construct full hybrid schedules given hints from various places.
-	
-	Hybrid means that cothreads are used, but there are chunks of the
-	pipeline that are actually dealt with by chaining. This can improve
-	speed by reducing cothread switches (which are much cheaper than
-	thread switches, but still far from free, about 570 cycles on my
-	PIII), but does carry a complexity burden.  Luckily, the structure
-	of GStreamer allows that burden to live entirely in create_plan. 
-	Luck?  I think not ;-)
-
-2000-12-08 23:38  omegahacker
-
-	* gst/: gstbin.c, gstthread.c: Mostly debugging changes.  What's in
-	CVS seems to work rather well, actually.
-	
-	Next is the work on task 23098...
-
-2000-12-08 20:31  omegahacker
-
-	* tests/: Makefile.am, queue.c: Test program for simple queue
-	operations.  Good for testing thread/cothread interations.
-
-2000-12-08 18:24  wtay
-
-	* gst/: gstbin.c, gstdebug.h, gstpad.c, gstpad.h: Added pullregion
-	in again, it got removed with the previous commit.
-
-2000-12-08 10:33  omegahacker
-
-	* gst/: gstbin.c, gstconnection.c, gstconnection.h, gstdebug.h,
-	gstelement.c, gstpad.c, elements/gstqueue.c: Another big set of
-	changes.  Connections are now also pullfunc based.  gstqueue has
-	been updated, I don't know of any other connections offhand.
-	
-	There are still a few things that need doing, specifically the
-	concept of a source or connection with connections to multiple
-	thread contexts is not dealt with.  This may force us to move the
-	threadstate from the element to the pad, maybe keeping the
-	element's copy for simple cases.  Then the Bin would create a
-	structure to pass to the cothreaded _wrappers of any such elements,
-	which would detail the pads that are to be dealt with by this
-	particular cothread context.
-	
-	That will speed things up to, since we don't have to look through
-	the list of all pads for every Src or Connection element for every
-	iteration, we can simply step through the list provided by the
-	plan.  Special case might even have a single pad pointer sitting
-	there to trump the list, if there's only one (the common case
-	anyway).
-	
-	Task 23098 is tracking these changes.  The main task 22588 depends
-	on that subtask, as well as 22240, which is a consistency check on
-	PAD_DISABLED.
-
-2000-12-07 18:38  wtay
-
-	* tests/: .cvsignore, Makefile.am, caps.c: Updated the test program
-
-2000-12-07 18:37  wtay
-
-	* gst/: Makefile.am, gst.h, gstcaps.c, gstcaps.h, gstcapsprivate.h,
-	gstprops.c, gstprops.h, gstpropsprivate.h: separated the properties
-	from the capabilities as we might use the properties for metadata
-	too.
-
-2000-12-06 23:04  wtay
-
-	* gst/: gstbin.c, gstcaps.c, gstcaps.h, gstpad.c,
-	elements/gstasyncdisksrc.c: Added pulregion handling.  Added
-	GstCapsListFactory in headers
-
-2000-12-05 18:08  wtay
-
-	* gst/: Makefile.am, gstbin.c, gstpad.c, gstpipeline.c,
-	elements/gstasyncdisksrc.c: Fixed autoplugging.
-
-2000-12-04 19:24  wtay
-
-	* docs/random/caps: Added some capability options
-
-2000-12-04 10:52  omegahacker
-
-	* gst/: gstbin.c, gstelement.h, gstpad.c, gstpad.h, gstpipeline.c,
-	gstsrc.c, gstsrc.h, elements/gstasyncdisksrc.c,
-	elements/gstaudiosrc.c, elements/gstdisksrc.c,
-	elements/gstfakesrc.c, elements/gstfdsrc.c, elements/gsthttpsrc.c,
-	elements/gstsinesrc.c: Changed the way things are scheduled,
-	especially sources.  A Src used to have a push() function, and
-	optionally a pushregion() to deal with async reads, etc.  That
-	whole thing has gone away, in favor of providing a pull() function
-	for the output (Src) pad instead, ala chain functions.	This makes
-	constructing cothreaded schedules out of non-loop elements somewhat
-	easier.  Basically there was always a question as to which pad was
-	being dealt with.  In the pullregion case, cothread-specific data
-	was used to try to pass the region struct to the right place, which
-	is a slow hack.  And in general, the push function severely limited
-	the kind of tricks that could be played when there's more than one
-	output pad, such as a multi-out file reader with async capabilities
-	on each pad independently.
-	
-	This changes the way cothread scheduling occurs.  Instead of the
-	hack to deal with Src's by calling their push() function (or
-	optionally the pushregion(), in certain cases), we now are working
-	towards a general mechanism where pads are the only thing that are
-	dealt with directly.
-	
-	An optimization was made in the process of doing this: the
-	loopfunction actually run as the outer [stack] frame of the
-	cothread is now set more intelligently in create_plan() based on
-	what kind of element it is.  We now have:
-	
-	loopfunc_wrapper: used for loop-based elements, it simply calls the
-	    loopfunc in a loop, paying attention to COTHREAD_STOPPING (see 
-	below).  It currently does other, soon to be depracated, stuff.
-	
-	pullsrc_wrapper: wraps a Src that's not loop-based (since your
-	options  are now loop- or pull-based)
-	
-	There will be a couple more to deal with other cases, such as
-	Connections and chain-based elements.  The general idea is that
-	it's a lot more efficient to make the decisions once in create_plan
-	than to keep doing this huge if/else chain in the wrapper.  Just
-	choose the right wrapper up front.  It'll be most apparent
-	performance-wise in the case of whichever element context is
-	switched to first for each iteration, since the whole wrapper setup
-	is done for every iteration.
-	
-	The tricky part is that there is now a bit of overloading of the
-	function pointers in a pad.  The current meanings (possibly to
-	change a bit more soon) are:
-	
-	chainfunc: as always, chainfunc pointer is mirrored between peer
-	pads		(this may change, and the chain func may end up in
-	pushfunc) pushfunc: SrcPad: gst_pad_pushfunc_proxy, cothread_switch
-	to peer 	  SinkPad: none (may take over chainfunc, see
-	below) pullfunc: SrcPad: Src or Connection's function to construct
-	buffers 	  SinkPad: gst_pad_pullfunc_proxy, cothread_switch
-	to peer
-	
-	There are a number of issues remaining with the scheduling, not the
-	least of which is the fact that Connections are still dealt with
-	the old way, with _push() functions and such.  I'm trying to figure
-	out a way to unify the system so it makes sense.  Following the
-	scheduling system is hard enough, trying to change it is murder.
-	
-	Another useful scheduling addition, mentioned above, is
-	COTHREAD_STOPPING.  It's an element flag that's used to signal
-	whatever code is running in cothread context that it should be
-	finishing up and exiting soon.	An example of this is in
-	plugins/cobin/spindentity.c.  All the loops should now be composed
-	of do/while loops, rather than while(1) loops:
-	
-	  do {
-	    buf = gst_pad_pull(spindentity->sinkpad);
-	    gst_pad_push(spindentity->srcpad,buf);
-	  } while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));
-	
-	The reason for this is that COTHREAD_STOPPING may be set before the
-	above loop ever gets started.  It wouldn't do for the body of the
-	loop to never once get called, that would simply stall the
-	pipeline. Note that only the core library code is ever responsible
-	for setting and unsetting this flag.  All elements have to do is
-	respond to it by cleanly exiting the loop and the function holding
-	it.
-	
-	This is needed primarily to allow iterations to occur properly. 
-	Basically, there's a single entry point in the cothread scheduling
-	loop, gst_bin_iterate_func() simply switches to this cothread.	If
-	the element in this context is allowed to loop infinitely, nothing
-	would even switch back to the context from which the iterate() was
-	originally called.  This is a bit of a problem.  The solution is
-	for there to be an implicit switch back to the originating context.
-	 Now, even I'm not sure exactly how this works, but if the cothread
-	that's switched to actually returns, execution returns back to the
-	calling context, i.e. iterate_func().
-	
-	COTHREAD_STOPPING is therefore set just before switching into this
-	(currently randomly chosen) context, on the assumption that it will
-	return promptly after finishing its duties.  The burden of clearing
-	the flag falls to the various wrapper functions provided by the Bin
-	code, thus element writers don't have to worry about doing that at
-	all (and simply shouldn't).
-	
-	Related changes: All the sources in elements/ have been changed to
-	reflect the new system.
-	
-	FIXMEs: 1) gstpipeline.c calls gst_src_push at some point, dunno
-	why, it's commented out now.  2) any other sources, including
-	vcdsrc, dvdsrc, and v4lsrc will break badly and need to be modified
-	to work as pull-based sources.
-
-2000-12-04 09:35  omegahacker
-
-	* acconfig.h, configure.in, gst/Makefile.am, gst/cothreads.c,
-	gst/gst.h, gst/gstbuffer.c, gst/gstdebug.h: Changes made to the
-	DEBUG system.  New header file gstdebug.h holds the stuff to keep
-	it out of gst.h's hair.  DEBUG prints out the process id, cothread
-	id, source filename and line number.  Two new macros DEBUG_ENTER
-	and DEBUG_LEAVE are used to show the entry and exit of a given
-	function.  This eventually might be used to construct call trace
-	graphs, even taking cothreads into account.  This would be quite
-	useful in visualizing the scheduling mechanism.
-	
-	Minor changes to various debug messages.
-	
-	Also sitting in gstdebug.h is a prototypical DEBUG_ENTER that's
-	capable of performing DEBUG_LEAVE automatically.  It does this by
-	utilizing a little-known GCC extension that allows one to call a
-	function with the same parameters as the current function.  The
-	macro uses this to basically call itself.  A boolean is used to
-	ensure that when it calls itself it actually runs the body of the
-	function.  In the meantime it prints stuff out before and after the
-	real function, as well as constructing a debugging string.  This
-	can be used eventually to provide call-wide data on the DEBUG
-	lines, instead of having to replicate data on each call to DEBUG. 
-	More research is needed into how this would most cleanly be fit
-	into some other chunk of code, like GStreamer (I think of this
-	DEBUG trick as a separate project, sorta).
-	
-	Unfortunately, the aforementioned DEBUG trick interacts quite
-	poorly with cothreads.	Almost any time it's used in a function
-	that has anything remotely to do with a cothread context (as in, it
-	runs in one), a segfault results from the __builtin_apply call,
-	which is the heart of the whole thing.	If someone who really knows
-	assembly could analyze the resulting code to see what's really
-	going on, we might find a way to fix either the macro or the
-	cothreads (I'm thinking that there's something we missed in
-	constructing the cothreads themselves) so this works in all cases.
-	
-	In the meantime, please insert both DEBUG_ENTER and DEBUG_LEAVE in
-	your functions.  Be sure to put DEBUG_ENTER after your variable
-	declarations and before any functional code, not to put the
-	function name in any DEBUG strings (it's already there, trust me),
-	and put a DEBUG_LEAVE if you care enough.
-	
-	Changes are going to happen in the way DEBUGs and other printouts
-	occur, so stay tuned.
-
-2000-12-04 09:32  omegahacker
-
-	* gst/gstplugin.c: Added a check to see if the plugin actually
-	exists before even bothering to try to load it.  Saves a fair
-	amount of debugging spew with _gst_plugin_spew enabled.
-
-2000-12-04 09:14  omegahacker
-
-	* plugins/mp3decode/parse/mp3parse.c: Minor change to the
-	head_check function: DEBUG pretty much assumes there's a newline
-	(\n) at the end, things get messy otherwise.  Might add a
-	DEBUG_NOPREFIX to deal with this problem later, but I think this is
-	a good cleanup anyway.
-
-2000-12-03 20:15  wtay
-
-	* tests/caps.c: More test cases.
-
-2000-12-03 20:15  wtay
-
-	* gst/: gstcaps.c, gstcaps.h: Implemented real Caps checking.
-
-2000-12-03 17:52  wtay
-
-	* tests/: Makefile.am, caps.c, states.c: Added a test program for
-	the capabilities
-
-2000-12-03 17:51  wtay
-
-	* gst/: Makefile.am, gst.h, gstcaps.c, gstcaps.h, gstcapsprivate.h,
-	gstpad.c, gstpad.h, gstpipeline.c: Added multiple types to the
-	pads.  Added first preview of the capabilities system. 
-	Autoplugging is seriously broken with these (and other) changes.
-
-2000-12-03 15:02  richardb
-
-	* test/cothreads/: Makefile.am, cothreads.c, cothreads.h: Remove
-	cothreads.[ch] from tests/cothreads/ and replace then with a rule
-	in the Makefile.am to generate symlinks to the live versions of the
-	code in gst/ : fixes a compile error, and should keep things
-	cleaner.
-
-2000-12-03 00:17  omegahacker
-
-	* gst/: cothreads.c, cothreads.h, gst.h: Enhanced debugging by
-	making DEBUG() print out the cothread ID as well as the process ID.
-	 cothread_getcurrent returns the current cothread ID, or -1 if
-	cothreads aren't set up in this process context.
-
-2000-12-02 10:07  omegahacker
-
-	* docs/random/filter-writers-guide: First pass at an outline for
-	the Filter Writer's Guide.  Mostly complete, though the structure
-	needs some work.  Just need someone to write it ;-)
-
-2000-11-30 20:30  wtay
-
-	* docs/random/types3: Another type system proposal.
-
-2000-11-29 10:05  omegahacker
-
-	* gst/cothreads.c: Rearranged cothread_switch a bit to move all the
-	code for error conditions to the end, using goto's to get there. 
-	This has the presumed advantage of consolidating all the normally
-	run code into one chunk, reducing jumps (and the associated
-	penalties in any modern processor) and limiting cache- line usage. 
-	It may be instructive to look at the generated assembly for this
-	revision and the previous, to see if gcc is smart enough to do this
-	for us anyway.
-	
-	If you want to turn off some of the checks (they are all checks for
-	NULL pointers, if you're curious) for a speed gain, disable the
-	#define of COTHREAD_PARANOID at the top.
-
-2000-11-26 19:11  wtay
-
-	* docs/random/types2: Added the type system design.
-
-2000-11-25 18:13  wtay
-
-	* docs/random/sources: More ramblings..
-
-2000-11-25 16:45  wtay
-
-	* docs/random/sources: Another alternative to the src. Please
-	correct.
-
-2000-11-25 16:00  wtay
-
-	* docs/random/sources: Added asci art control flow diagrams
-
-2000-11-25 14:18  wtay
-
-	* docs/random/sources, gst/gstpipeline.c,
-	gst/elements/gstasyncdisksrc.h, gst/elements/gstaudiosink.c,
-	gst/elements/gstaudiosrc.c, gst/elements/gstaudiosrc.h,
-	gst/elements/gstelements.c, gst/elements/gstesdsink.h,
-	gst/elements/gstfakesink.c, gst/elements/gstfakesink.h,
-	gst/elements/gstfakesrc.c, gst/elements/gstfakesrc.h,
-	gst/elements/gstfdsink.c, gst/elements/gstfdsink.h,
-	gst/elements/gstfdsrc.c, gst/elements/gstfdsrc.h,
-	gst/elements/gsthttpsrc.c, gst/elements/gsthttpsrc.h,
-	gst/elements/gstidentity.c, gst/elements/gstidentity.h,
-	gst/elements/gstqueue.c, gst/elements/gstqueue.h,
-	gst/elements/gstsinesrc.h, gst/elements/gsttypefind.c,
-	gst/elements/gsttypefind.h, plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/decode.c, plugins/mpeg2/mpeg2dec/idct.c,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/parse/Makefile.am,
-	plugins/mpeg2/parse/mpeg2parse.c: Code Cleanups Added use cases for
-	the source elements.
-
-2000-11-25 07:43  omegahacker
-
-	* gst/elements/gstelements.c: Added code to force the gsttypes
-	plugin to load before gstelements, by simply having gstelements.c
-	request the plugin.  Solves some dependency problems.  This is the
-	correct method of doing this for now, though I had a thought:
-	
-	Have a static list of hard dependencies that the plugin system is
-	responsible for satisfying before even trying to load the plugin. 
-	Makes plugin design easier.
-
-2000-11-25 07:02  omegahacker
-
-	* gst/: gstpad.c, gstpad.h: added the ability to disable pads, not
-	quite complete but sufficient for now
-
-2000-11-24 22:28  omegahacker
-
-	* gst/gstelement.c: Fixed a dumb mistake: in
-	gst_element_set_loop_function, it was forcing the cothread's entry
-	function to change. This is totally wrong, the create_plan function
-	in GstBin is responsible for setting that to its own internal
-	helper function.  Code removed outright...
-
-2000-11-23 21:49  omegahacker
-
-	* gst/: gstelement.c, gstelement.h: Closed 22145 - gstelement.c:
-	support hotswapping of loopfunc
-	
-	Added a flag GST_ELEMENT_NEW_LOOPFUNC that's set when a new
-	loopfunc is set, which needs to be obeyed by the loopfuncs
-	themselves.  The assumption is that only a loopfunc or an element
-	that knows what it's doing will ever change the loopfunc pointer,
-	so they can be responsible for exitting the loopfunc itself
-	appropriately.
-	
-	The loopfunc_wrapper function has been changed to call the loopfunc
-	pointer itself in a loop.  If the loopfunc changes, the current
-	loop is supposed to exit, which causes the loopfunc_wrapper to
-	start up the new loopfunc.
-
-2000-11-23 20:39  omegahacker
-
-	* gst/gstelement.c: Closed task 22143 - gstelemnt.c: complete
-	gst_element_connect
-	
-	SImple matter of cleaning up the conflicting checks and actually
-	connecting the pads in question.
-
-2000-11-23 08:13  omegahacker
-
-	* gst/: gstbin.c, gstelement.c: gstbin.c: modified so create_plan
-	occurs after the state change of all the      child elements. 
-	gstelement.c: set_state now loops such that each element only deals
-	with	   one state change at a time, i.e.
-	NULL->READY,READY->PLAYING,    instead of a single NULL->PLAYING.
-
-2000-11-20 22:05  wtay
-
-	* gstplay/Makefile.am, plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/perftest.c: Something was wrong with SSE
-	initialisation in mpeg2dec Added little performance test (compile
-	with gprof)
-
-2000-11-20 19:04  wtay
-
-	* configure.in,
-	components/bonobo-gstmediaplay/bonobo-gstmediaplay.c,
-	docs/manual/gstreamer-manual.sgml, gst/elements/gstdisksrc.c,
-	gstplay/gstmediaplay.c, gstplay/gstplay.c,
-	plugins/dvdsrc/Makefile.am, plugins/dvdsrc/dvdsrc.c,
-	plugins/dvdsrc/dvdsrc.h, plugins/mpeg2/ac3dec/Makefile.am,
-	plugins/mpeg2/ac3dec/ac3.h, plugins/mpeg2/ac3dec/ac3_internal.h,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3dec/ac3dec.h,
-	plugins/mpeg2/ac3dec/audio_out.h,
-	plugins/mpeg2/ac3dec/bit_allocate.c,
-	plugins/mpeg2/ac3dec/bit_allocate.h,
-	plugins/mpeg2/ac3dec/bitstream.c, plugins/mpeg2/ac3dec/bitstream.h,
-	plugins/mpeg2/ac3dec/bswap.h, plugins/mpeg2/ac3dec/cmplx.h,
-	plugins/mpeg2/ac3dec/coeff.c, plugins/mpeg2/ac3dec/coeff.h,
-	plugins/mpeg2/ac3dec/cpu_accel.c, plugins/mpeg2/ac3dec/crc.c,
-	plugins/mpeg2/ac3dec/crc.h, plugins/mpeg2/ac3dec/debug.c,
-	plugins/mpeg2/ac3dec/debug.h, plugins/mpeg2/ac3dec/decode.c,
-	plugins/mpeg2/ac3dec/decode.h, plugins/mpeg2/ac3dec/dither.c,
-	plugins/mpeg2/ac3dec/dither.h, plugins/mpeg2/ac3dec/downmix.c,
-	plugins/mpeg2/ac3dec/downmix.h, plugins/mpeg2/ac3dec/downmix_c.c,
-	plugins/mpeg2/ac3dec/downmix_c.h,
-	plugins/mpeg2/ac3dec/downmix_i386.S,
-	plugins/mpeg2/ac3dec/downmix_i386.h,
-	plugins/mpeg2/ac3dec/downmix_kni.S,
-	plugins/mpeg2/ac3dec/downmix_kni.h,
-	plugins/mpeg2/ac3dec/exponent.c, plugins/mpeg2/ac3dec/exponent.h,
-	plugins/mpeg2/ac3dec/imdct.c, plugins/mpeg2/ac3dec/imdct.h,
-	plugins/mpeg2/ac3dec/imdct512_kni.S,
-	plugins/mpeg2/ac3dec/imdct_c.c, plugins/mpeg2/ac3dec/imdct_c.h,
-	plugins/mpeg2/ac3dec/imdct_kni.c, plugins/mpeg2/ac3dec/imdct_kni.h,
-	plugins/mpeg2/ac3dec/mantissa.c, plugins/mpeg2/ac3dec/mantissa.h,
-	plugins/mpeg2/ac3dec/oms_accel.h, plugins/mpeg2/ac3dec/output.c,
-	plugins/mpeg2/ac3dec/output.h, plugins/mpeg2/ac3dec/parse.c,
-	plugins/mpeg2/ac3dec/parse.h, plugins/mpeg2/ac3dec/rematrix.c,
-	plugins/mpeg2/ac3dec/rematrix.h,
-	plugins/mpeg2/ac3dec/sanity_check.c,
-	plugins/mpeg2/ac3dec/sanity_check.h, plugins/mpeg2/ac3dec/srfft.c,
-	plugins/mpeg2/ac3dec/srfft.h, plugins/mpeg2/ac3dec/srfft_kni.S,
-	plugins/mpeg2/ac3dec/srfft_kni.h,
-	plugins/mpeg2/ac3dec/srfft_kni_c.c, plugins/mpeg2/ac3dec/srfftp.h,
-	plugins/mpeg2/ac3dec/stats.c, plugins/mpeg2/ac3dec/stats.h,
-	plugins/mpeg2/ac3dec/uncouple.c, plugins/mpeg2/ac3dec/uncouple.h,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_sse.s,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/parse/mpeg2parse.h, test/dvdcat.c: Reworked AC3
-	decoder. No seeking yet but at least we do not need ac3parse
-	anymore.  Reworked dvdsrc to read scrambled data (DeCSS not
-	included). I have modified DeCSS a bit to work in GStreamer. Can I
-	release the code or is there some lawyer that's going to sue me?
-	MPEG2 SSE motion compensation.	Tried to add PTS to the MPEG
-	decoder but failed.
-
-2000-11-12 20:34  wtay
-
-	* components/bonobo-gstmediaplay/: Makefile.am,
-	bonobo-gstmediaplay.c, gstmediaplay.oafinfo: The bonobo component
-	now works on audio only (mp3/vorbis). Video is broken because
-	bonobo does not handle multithreading yet.  Added Bonobo toolbar
-	and menu.
-
-2000-11-11 15:13  wtay
-
-	* configure.in, components/bonobo-gstmediaplay/.cvsignore,
-	components/bonobo-gstmediaplay/Makefile.am,
-	components/bonobo-gstmediaplay/bonobo-gstmediaplay-ui.xml,
-	components/bonobo-gstmediaplay/bonobo-gstmediaplay.c,
-	components/bonobo-gstmediaplay/gstmediaplay.oafinfo,
-	docs/gst/tmpl/cothreads.sgml, docs/gst/tmpl/gstmeta.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gsttype.sgml,
-	docs/gst/tmpl/gstutils.sgml, docs/libs/tmpl/gstidct.sgml,
-	docs/manual/components.sgml, docs/manual/cothreads.sgml,
-	docs/manual/helloworld2.sgml, docs/manual/programs.sgml,
-	gst/cothreads.c, gst/cothreads.h, gst/gstarch.h, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstbufferpool.c, gst/gstclock.c,
-	gst/gstconnection.c, gst/gstcpu.c, gst/gstelement.c,
-	gst/gstelement.h, gst/gstextratypes.c, gst/gstfilter.c,
-	gst/gsti386.h, gst/gstmeta.c, gst/gstppc.h, gst/gstsink.c,
-	gst/gstsrc.c, gst/gstthread.c, gst/gsttype.c,
-	gst/elements/gstqueue.c, gstplay/Makefile.am,
-	plugins/avi/gstavidecoder.c: Docs updates.  Added LICENSE info to
-	headers/code where missing in gst directory Added a bonobo wrapper
-	for the media player (it shows up in gshell but locks up when
-	activating the component, anyone?) Fixed some XML save/load
-	problems with arguments.
-
-2000-11-08 19:53  wtay
-
-	* gstplay/: gstmediaplay.c, gstmediaplay.glade, gstmediaplay.h,
-	gststatusarea.c, gststatusarea.h, main.c: Fix for the new gnome
-	libraries. It looks like glade does not like empty dockitems...
-
-2000-11-07 21:38  wtay
-
-	* docs/libs/: gstreamer-libs-sections.txt, tmpl/dct.sgml,
-	tmpl/gstidct.sgml, tmpl/gstriff.sgml: Library docs update
-
-2000-11-07 21:24  wtay
-
-	* docs/gst/tmpl/: cothreads.sgml, gstbufferpool.sgml,
-	gstelement.sgml, gstpad.sgml: [no log message]
-
-2000-11-07 21:18  wtay
-
-	* docs/gst/: Makefile.am, gstreamer-decl.txt, gstreamer-docs.sgml,
-	gstreamer-sections.txt: Updated docs
-
-2000-11-06 00:15  wtay
-
-	* gst/cothreads.c, gst/cothreads.h, gst/gstbin.c, gst/gstpad.c,
-	gst/gstpad.h, gst/gstutils.c, gst/elements/Makefile.am,
-	gst/elements/gstasyncdisksrc.c, gst/elements/gstasyncdisksrc.h,
-	gst/elements/gstdisksrc.c, gstplay/gstplay.c,
-	gstplay/gstplayprivate.h, libs/riff/gstriff.h,
-	libs/riff/gstriffparse.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstavidecoder.h: Added seeking to the avi decoder by
-	implementing pull_region.  Fixes to the asyncdisksrc.  Added thread
-	specific data to the cothreads.
-
-2000-11-04 18:55  wtay
-
-	* include/sse.h: [no log message]
-
-2000-11-04 18:54  wtay
-
-	* configure.in, gst/Makefile.am, gst/cothreads.c, gst/cothreads.h,
-	gst/gst.c, gst/gst.h, gst/gstbin.c, gst/gstbin.h, gst/gstbuffer.h,
-	gst/gstbufferpool.h, gst/gstclock.h, gst/gstconnection.h,
-	gst/gstcpu.h, gst/gstelement.h, gst/gstfilter.h, gst/gstmeta.h,
-	gst/gstobject.h, gst/gstpipeline.h, gst/gstplugin.h, gst/gstsink.h,
-	gst/gstsrc.h, gst/gsttee.h, gst/gstthread.c, gst/gstthread.h,
-	gst/gsttrace.h, gst/gsttype.h, gst/gstutils.h, gst/gstxml.h,
-	gst/types/gsttypes.c, libs/idct/Makefile.am, libs/idct/dct.h,
-	libs/idct/gstidct.c, libs/idct/gstidct.h, libs/idct/sseidct.S,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/mpeg2dec/.cvsignore,
-	plugins/mpeg2/mpeg2dec/Makefile.am,
-	plugins/mpeg2/mpeg2dec/decode.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.c,
-	plugins/mpeg2/mpeg2dec/gstmpeg2dec.h,
-	plugins/mpeg2/mpeg2dec/header.c, plugins/mpeg2/mpeg2dec/header.h,
-	plugins/mpeg2/mpeg2dec/idct.c, plugins/mpeg2/mpeg2dec/idct.h,
-	plugins/mpeg2/mpeg2dec/idct_mmx.c,
-	plugins/mpeg2/mpeg2dec/idct_mmx.h,
-	plugins/mpeg2/mpeg2dec/motion_comp.c,
-	plugins/mpeg2/mpeg2dec/motion_comp.h,
-	plugins/mpeg2/mpeg2dec/motion_comp_mmx.c,
-	plugins/mpeg2/mpeg2dec/mpeg2.h,
-	plugins/mpeg2/mpeg2dec/mpeg2_internal.h,
-	plugins/mpeg2/mpeg2dec/slice.c, plugins/mpeg2/mpeg2dec/slice.h,
-	plugins/mpeg2/mpeg2dec/vlc.h, plugins/vorbis/vorbisdec.c: Added the
-	excellent mpeg2dec decoder. Not 100% optimized but allready very
-	fast.  More cleanup.
-
-2000-11-02 20:10  wtay
-
-	* gst/gst.c, gstplay/gstmediaplay.c, gstplay/main.c: Make sure the
-	Gdk thread lock is not held inside the gstreamer pipeline.  Fix the
-	videosink to not hold the Gdk lock when emitting a signal.  All Gtk
-	GUI apps using GStreamer should now handle the Gdk locks when
-	handling signals from the pipeline (as it should be)
-
-2000-11-01 22:11  wtay
-
-	* examples/helloworld2/helloworld2.c, gst/cothreads.c,
-	gst/cothreads.h, gst/gstbin.c, gst/gstthread.c,
-	gst/elements/Makefile.am, gst/elements/gstqueue.c,
-	gstplay/gststatusarea.c, plugins/avi/gstavidecoder.c,
-	plugins/avi/gstavidecoder.h, plugins/mp3decode/mpg123/gstmpg123.c:
-	Some code cleanup Let the parent GstBin decide when to do a
-	create_plan (bin inside a thread)
-
-2000-11-01 13:49  wtay
-
-	* gst/gstelement.h, gst/gstpad.c, gst/gstpad.h, gst/gstplugin.c,
-	gst/gstthread.c, gst/gsttype.c, gstplay/Makefile.am,
-	gstplay/callbacks.c, gstplay/gstmediaplay.c,
-	gstplay/gstmediaplay.glade, gstplay/gstmediaplay.h,
-	gstplay/gstplay.c, gstplay/gstplay.h, gstplay/gstplayprivate.h,
-	gstplay/gststatusarea.c, gstplay/interface.c, gstplay/interface.h,
-	plugins/avi/Makefile.am, plugins/avi/audiocodecs.c,
-	plugins/avi/gstavidecoder.c, plugins/avi/gstavidecoder.h,
-	plugins/avi/gstaviencoder.c, plugins/avi/gstparseavi.c,
-	plugins/avi/gstparseavi.h, plugins/avi/playcodecs.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h:
-	Code cleanup, make it adhere to the Gnome/Gtk+ code formatting,
-	which is quite clean and more readable.  Renamed parseavi to
-	avidecoder Implemented seeking/time display/pause/play/stop/clean
-	exit to gstmediaplay Added an element flag to indicate that it
-	cannot deal with noncontigous buffers. If such an element is found
-	in the pipeline, seeking is disabled for the complete stream
-	(avidecoder cannot deal with seeking until we convert it to a loop
-	based element with pull_region to fetch the indeces etc...)
-
-2000-10-30 21:10  wtay
-
-	* docs/plugins/: .cvsignore, gstreamer-plugins.types.in: Missing
-	files..
-
-2000-10-30 21:08  wtay
-
-	* plugins/mpeg1/mpegaudio/: table_absthr.h, table_alloc.h,
-	table_cb.h, table_enwindow.h, table_th.h, tables.c: forgot the
-	tables...
-
-2000-10-30 21:06  wtay
-
-	* plugins/mpeg2/mpeg2enc/: Makefile.am, fdct_mmx.s, fdctdata.c: A
-	nonworking forward DCT with MMX
-
-2000-10-30 21:02  wtay
-
-	* gst/gstbin.c, gst/gstthread.c, gst/elements/gstqueue.c,
-	gstplay/.cvsignore, gstplay/Makefile.am, gstplay/callbacks.c,
-	gstplay/callbacks.h, gstplay/codecs.h, gstplay/gstmediaplay.c,
-	gstplay/gstmediaplay.glade, gstplay/gstmediaplay.h,
-	gstplay/gstplay.c, gstplay/gstplay.glade, gstplay/gstplay.h,
-	gstplay/gstplayprivate.h, gstplay/gststatusarea.c,
-	gstplay/gststatusarea.h, gstplay/interface.c, gstplay/interface.h,
-	gstplay/main.c, plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/Makefile.am,
-	plugins/mpeg1/mpegaudio/common.c, plugins/mpeg1/mpegaudio/encode.c,
-	plugins/mpeg1/mpegaudio/musicin.c, plugins/mpeg1/mpegaudio/psy.c,
-	plugins/mpeg1/mpegaudio/tonal.c, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/quant_mmx.s,
-	plugins/mpeg2/mpeg2enc/quantize.c, test/avi2mpg.c, test/mp2tomp1.c:
-	Misc fixes and cleanups A reworked gstplay. Now it is called
-	gstmediaplay. gstplay is a custom widget that can display media and
-	is to become a bonobo component soon.  put the tables of the mpeg
-	audio encoder in a header file.  maybe faster quantisation for the
-	mpeg encoder.
-
-2000-10-25 20:09  wtay
-
-	* configure.in, docs/plugins/Makefile.am, docs/plugins/gstdoc-mkdb,
-	docs/plugins/gstdoc-mktmpl, docs/plugins/gstdoc-scanobj,
-	docs/plugins/gstreamer-plugins-docs.sgml,
-	docs/plugins/gstreamer-plugins-sections.txt,
-	docs/plugins/tmpl/ac3dec.sgml, docs/plugins/tmpl/ac3parse.sgml,
-	docs/plugins/tmpl/audioscale.sgml, docs/plugins/tmpl/cobin.sgml,
-	docs/plugins/tmpl/dvdsrc.sgml, docs/plugins/tmpl/example.sgml,
-	docs/plugins/tmpl/gstaviencoder.sgml,
-	docs/plugins/tmpl/gstjpeg.sgml, docs/plugins/tmpl/gstjpegdec.sgml,
-	docs/plugins/tmpl/gstjpegenc.sgml,
-	docs/plugins/tmpl/gstmpeg1encoder.sgml,
-	docs/plugins/tmpl/gstmpeg2enc.sgml,
-	docs/plugins/tmpl/gstmpeg2play.sgml,
-	docs/plugins/tmpl/gstmpeg_play.sgml,
-	docs/plugins/tmpl/gstmpegaudio.sgml,
-	docs/plugins/tmpl/gstmpg123.sgml,
-	docs/plugins/tmpl/gstparseau.sgml,
-	docs/plugins/tmpl/gstparseavi.sgml,
-	docs/plugins/tmpl/gstparsewav.sgml,
-	docs/plugins/tmpl/gstreamer-plugins-unused.sgml,
-	docs/plugins/tmpl/gstspectrum.sgml,
-	docs/plugins/tmpl/gstv4lsrc.sgml,
-	docs/plugins/tmpl/gstwincodec.sgml,
-	docs/plugins/tmpl/gstwindec.sgml, docs/plugins/tmpl/gstwinenc.sgml,
-	docs/plugins/tmpl/gstxa.sgml, docs/plugins/tmpl/gstxing.sgml,
-	docs/plugins/tmpl/median.sgml,
-	docs/plugins/tmpl/mp1videoparse.sgml,
-	docs/plugins/tmpl/mp2videoparse.sgml,
-	docs/plugins/tmpl/mp3parse.sgml, docs/plugins/tmpl/mpeg1parse.sgml,
-	docs/plugins/tmpl/mpeg2parse.sgml,
-	docs/plugins/tmpl/mpeg2subt.sgml, docs/plugins/tmpl/rtjpegdec.sgml,
-	docs/plugins/tmpl/rtjpegenc.sgml, docs/plugins/tmpl/smooth.sgml,
-	docs/plugins/tmpl/smoothwave.sgml,
-	docs/plugins/tmpl/spindentity.sgml, docs/plugins/tmpl/stereo.sgml,
-	docs/plugins/tmpl/synaesthesia.sgml,
-	docs/plugins/tmpl/system_encode.sgml,
-	docs/plugins/tmpl/vcdsrc.sgml, docs/plugins/tmpl/videoscale.sgml,
-	docs/plugins/tmpl/videosink.sgml, docs/plugins/tmpl/volume.sgml,
-	docs/plugins/tmpl/vorbisdec.sgml, docs/plugins/tmpl/vorbisenc.sgml,
-	docs/plugins/tmpl/vumeter.sgml, gst/gstbufferpool.c,
-	gst/gstconnection.c, gst/gstcpu.c, gst/gstcpu.h, gst/gstelement.c,
-	gst/gstelement.h, gst/gstelementfactory.c, gst/gstmeta.c,
-	gst/gstmeta.h, gst/gstpad.c, gst/gstplugin.c, gst/gstthread.c,
-	gst/gstthread.h, gst/gstutils.c, gst/gstxml.c,
-	gst/elements/gstasyncdisksrc.c, gst/elements/gstaudiosink.c,
-	gst/elements/gsttypefind.c, gst/elements/gsttypefind.h,
-	libs/idct/gstidct.h, libs/riff/gstriff.h, test/ac3play.c,
-	test/qtest.c: More Docs updates.  Added plugin documentation. I
-	fear we need a gstdoc implementation that loads plugins and does
-	introspection on them. I think we should automatically create the
-	docs for the pads and mime types the plugins provide. Does anyone
-	have enough perl knowledge to add these features? I allready
-	changed the C code to output the pad definitions but my perl
-	knowledge is too limited, for now, to implement the rest of the
-	needed functionality...
-
-2000-10-22 17:30  wtay
-
-	* docs/gst/tmpl/: audioraw.sgml, cothreads.sgml,
-	gstasyncdisksrc.sgml, gstaudiosink.sgml, gstbuffer.sgml,
-	gstbufferpool.sgml, gstclock.sgml, gstcpu.sgml, gstdisksrc.sgml,
-	gstelement.sgml, gstextratypes.sgml, gstmeta.sgml, gstpad.sgml,
-	gstplugin.sgml, gstreamer-unused.sgml, gstsrc.sgml, gstthread.sgml,
-	gsttrace.sgml, gsttype.sgml, gsttypefind.sgml, gstxml.sgml,
-	spectrum.sgml, videoraw.sgml: More docs updates
-
-2000-10-22 17:27  wtay
-
-	* docs/: Makefile.am, gst/Makefile.am, gst/gstreamer-decl.txt,
-	gst/gstreamer-docs.sgml, gst/gstreamer-sections.txt,
-	gst/gstreamer.hierarchy, gst/gstreamer.types.in, libs/.cvsignore,
-	libs/Makefile.am, libs/gstreamer-libs-docs.sgml,
-	libs/gstreamer-libs-sections.txt, libs/tmpl/.cvsignore,
-	libs/tmpl/dct.sgml, libs/tmpl/externals.sgml,
-	libs/tmpl/gstcolorspace.sgml, libs/tmpl/gstgetbits.sgml,
-	libs/tmpl/gstgetbits_inl.sgml, libs/tmpl/gstidct.sgml,
-	libs/tmpl/gstputbits.sgml, libs/tmpl/gstriff.sgml,
-	libs/tmpl/gstvideoscale.sgml, libs/tmpl/wineacm.sgml: Documentation
-	updates documented the libraries
-
-2000-10-21 13:04  wtay
-
-	* configure.in, docs/manual/gstreamer-manual.sgml, gst/Makefile.am,
-	gst/cothreads.c, gst/gstbin.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstpipeline.c, gst/elements/gstdisksrc.c,
-	plugins/avi/gstparseavi.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/mpegtypes/.cvsignore,
-	plugins/mpeg2/mpegtypes/Makefile.am,
-	plugins/mpeg2/mpegtypes/mpeg2types.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/videoparse/.cvsignore,
-	plugins/mpeg2/videoparse/Makefile.am,
-	plugins/mpeg2/videoparse/mp2videoparse.c,
-	plugins/mpeg2/videoparse/mp2videoparse.h: MPEG2 types added for
-	better autoplugging. MPEG2 works more or less.	fix in
-	autoplugging. avi now works.
-
-2000-10-12 20:41  wtay
-
-	* editor/gsteditorconnection.c, editor/gsteditorpad.c,
-	gst/gstpipeline.c, gstplay/Makefile.am, gstplay/avi.c,
-	gstplay/gstplay.c, gstplay/mpeg1.c, gstplay/mpeg2.c: Removed the
-	hardcoded pipeline setup is gstplay in favor of the autoplugging
-	features. Still in a rought shape...
-
-2000-10-12 09:43  richardb
-
-	* docs/manual/: BUILD, Makefile.am, images/Makefile.am: Manual now
-	gets installed correctly by make install.  Problems: clean /
-	uninstall don't work.  make dist not tested.  pdf manual doesn't
-	have images.
-
-2000-10-11 20:30  wtay
-
-	* editor/gsteditorproperty.c, gst/Makefile.am, gst/gst.h,
-	gst/gstextratypes.c, gst/gstextratypes.h,
-	gst/elements/gstasyncdisksrc.c, gst/elements/gstaudiosink.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstfdsrc.c: Added extra Gtk
-	types for better editor properties (FILENAME, enums) The disksrcs
-	location property can now be set in the editor: we can now make our
-	first working mp3 player with gsteditor!!
-
-2000-10-09 21:01  wtay
-
-	* examples/autoplug/autoplug.c, gst/Makefile.am, gst/gstpipeline.c,
-	gst/elements/gstaudiosink.c, gst/elements/gstqueue.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c: Fixed a severe timestamp
-	bug in mpeg_play.  Create a new thread upon a multisrc element in
-	autoplugging: the autoplug example now correctly sets up 5 threads
-	for an mpeg player.
-
-2000-10-09 01:34  richardb
-
-	* configure.in, docs/Makefile.am, docs/manual/.cvsignore,
-	docs/manual/Makefile.am, docs/manual/images/.cvsignore,
-	docs/manual/images/Makefile.am: Added building of the manual to the
-	build system.  Currently in a rudimentary state - will not
-	gracefully give up if tools not available, will not uninstall /
-	clean, and may not install / make dist properly.  Documentation
-	does not have dependencies on images, so won't rebuild if they're
-	altered either.
-
-2000-10-08 23:23  wtay
-
-	* examples/autoplug/.cvsignore, examples/autoplug/Makefile,
-	examples/autoplug/autoplug.c, plugins/mp3decode/types/.cvsignore,
-	plugins/mp3decode/types/Makefile.am,
-	plugins/mp3decode/types/mp3types.c,
-	plugins/mpeg1/mpegtypes/.cvsignore,
-	plugins/mpeg1/mpegtypes/Makefile.am,
-	plugins/mpeg1/mpegtypes/mpeg1types.c: Added an autoplug example.
-	This little program (30 relevant lines) is able to play
-	MPEG1(system)/MPEG2(system)/AVI(DIVX)/Vorbis/AC3 and whatever codec
-	you write.  Separated the mp3 and mpeg1 types for better reuse.
-
-2000-10-08 23:17  wtay
-
-	* configure.in, editor/editor.glade, editor/gsteditor.h,
-	editor/gsteditorbin.c, editor/gsteditorcanvas.c,
-	editor/gsteditorconnection.c, editor/gsteditorconnection.h,
-	editor/gsteditorcreate.c, editor/gsteditorpad.c,
-	editor/gsteditorproperty.c, editor/gstelementselect.c,
-	gst/gstbin.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstfilter.c, gst/gstpad.c, gst/gstpipeline.c, gst/gstplugin.c,
-	gst/gstsink.c, gst/gstthread.c, gst/gsttype.c,
-	gst/elements/gstaudiosink.c, gst/elements/gsttypefind.c,
-	gst/types/gsttypes.c, plugins/avi/gstparseavi.c,
-	plugins/capture/v4l/gstv4lsrc.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/xing/gstxing.c, plugins/mpeg1/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/parse/mpeg2parse.c: Fixed a bug in the typeloading. 
-	Fixes to various elements so that correct types are returned. 
-	Fixed flag collision with GtkObject.  Elements can now suggest a
-	thread. not sure if this is the right way to handle automatic
-	thread creation.  Autoplugging now works with multiple sinks and
-	thread setup. No threads are created for intermediate elements yet,
-	so MPEG may still be choppy.
-
-2000-10-06 23:52  richardb
-
-	* plugins/: capture/v4l/Makefile.am, mpeg1/mpeg_play/Makefile.am,
-	mpeg1/mpegaudio/Makefile.am, mpeg2/mpeg2enc/Makefile.am,
-	mpeg2/video/Makefile.am: Remove from EXTRA_DIST various files which
-	don't exist (these looked like copy and paste typos).
-
-2000-10-06 03:38  richardb
-
-	* Makefile.am: Don't compile editor if havn't got libglade-gnome.
-
-2000-10-01 22:46  wtay
-
-	* editor/: Makefile.am, editor.c, editor.glade, editor.ts,
-	gsteditor.c, gsteditor.h, gsteditorcanvas.c, gsteditorelement.c,
-	gsteditorimage.c, gsteditorimage.h, gsteditorpad.h,
-	gsteditorpalette.c, gsteditorpalette.h, gsteditorproject.c,
-	gsteditorproject.h, gsteditorprojectview.c, gsteditorproperty.c,
-	gsteditorproperty.h, pixmaps/bin.xpm, pixmaps/element.xpm,
-	pixmaps/pipeline.xpm, pixmaps/selector.xpm, pixmaps/tee.xpm,
-	pixmaps/thread.xpm: Initial work for the new editor.
-
-2000-09-27 20:33  wtay
-
-	* examples/xml/createxml.c, examples/xml/runxml.c, gst/Makefile.am,
-	gst/gstbin.c, gst/gstelement.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpad.h,
-	gst/gstthread.c, gst/gstxml.c, gst/gstxml.h,
-	gst/elements/gstaudiosink.c: Loading and saving of XML pipeline
-	descriptions.  GladeXML like operation implemented (you can
-	retrieve parts of a pipeline)
-
-2000-09-24 23:47  wtay
-
-	* examples/xml/.cvsignore: better .cvsignore
-
-2000-09-24 23:45  wtay
-
-	* examples/xml/.cvsignore, examples/xml/Makefile,
-	examples/xml/createxml.c, examples/xml/runxml.c, gst/gstbin.c,
-	gst/gstconnection.h, gst/gstelementfactory.c, gst/gstpipeline.c,
-	gst/gsttee.h, gst/gstthread.c, gst/gstthread.h, gst/gstxml.c,
-	gst/gstxml.h: Cleanups.  The first steps to a Glade like XML
-	handling.  A first example of what is to come...
-
-2000-09-24 15:31  wtay
-
-	* examples/queue4/: .cvsignore, Makefile, queue4.c: An example of
-	two threads and two queues.
-
-2000-09-24 15:29  wtay
-
-	* gst/cothreads.c, gst/gstbin.c, gst/gstpad.c, gst/gstthread.c,
-	gst/elements/gstqueue.c, gst/elements/gstqueue.h,
-	plugins/mp3decode/mpg123/gstmpg123.c: The cothreads were not
-	initialized in its thread context resulting in severe stack
-	corruption. This was very hard to track down.  We should be able
-	now to modify some plugins to a loop based setup so that we can get
-	rid of the mp3parse and mp1videoparse elements.  Modified the GList
-	to a GSList in the queue.
-
-2000-09-23 00:35  wtay
-
-	* gstreamer-config.in, examples/helloworld/helloworld.c,
-	examples/helloworld2/helloworld2.c, examples/queue/.cvsignore,
-	examples/queue/queue.c, examples/queue2/.cvsignore,
-	examples/queue2/queue2.c, examples/queue3/.cvsignore,
-	examples/queue3/queue3.c, examples/thread/thread.c,
-	gst/cothreads.c, gst/cothreads.h, gst/gstbin.c, gst/gstpad.c,
-	gst/gstpipeline.c, gst/gstthread.c, gst/elements/Makefile.am,
-	gst/elements/gstqueue.c, gstplay/Makefile.am, gstplay/avi.c,
-	gstplay/gstplay.c, gstplay/mpeg1.c, gstplay/mpeg2.c,
-	plugins/mp3decode/mpg123/gstmpg123.c, test/mp2tomp1.c: A first
-	attempt to fix the queues in a cothreaded pipeline.  Some fixes to
-	the thread handling.  Fix a bug in gstreamer-config : gthread was
-	not included.  gst_bin_create_plan() is now done in the READY
-	state.	a bin with only another bin in it will now work with
-	gst_bin_iterate.  Added some examples for the queues.
-
-2000-09-21 18:54  richardb
-
-	* plugins/mp3decode/mpg123/Makefile.am: If using decode.c, compile
-	dct64.c as well.  Fixes link error on PPC.
-
-2000-09-21 02:42  richardb
-
-	* libs/idct/ieeetest.c: IDCT works, and ieeetest not complains
-	nicely if attempt to run a test with an unsupported DCT type.
-
-2000-09-21 02:34  richardb
-
-	* gst/Makefile.am, libs/Makefile.am, libs/idct/Makefile.am,
-	libs/idct/dct.h, libs/idct/gstidct.c: Make libs/idct only build mmx
-	support if available - hopefully makes it compile on PPC.
-
-2000-09-21 01:57  richardb
-
-	* AUTHORS, gst/cothreads.c, gst/gsti386.h, gst/gstppc.h,
-	test/cothreads/cothreads.c: Patch from Chris Emerson for PPC. 
-	cothreads stuff was causing segfaults, because the stack needs to
-	be initialised with a particular structure on PPC, unlike x86 where
-	it simply has items pushed or popped.  Added Chris to AUTHORS, for
-	his trouble.
-
-2000-09-18 23:19  richardb
-
-	* autogen.sh, docs/manual/helloworld2.sgml, gstplay/gstplay.glade,
-	libs/getbits/Makefile.am, libs/getbits/gstgetbits.h, test/wave.c:
-	Fix compile problem due to DEBUG being redefined in
-	libs/getbits/gstgetbits.h.  Also fix several small typos in the
-	docs and examples.
-
-2000-09-17 23:08  wtay
-
-	* docs/gst/gstreamer-decl.txt, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstpipeline.sgml, docs/manual/helloworld2.sgml,
-	examples/helloworld2/helloworld2.c, examples/thread/thread.c,
-	gst/Makefile.am, gst/cothreads.c, gst/gstbin.c, gst/gstpipeline.c,
-	gst/gstpipeline.h, gst/elements/gstdisksrc.c,
-	libs/getbits/gstgetbits.c, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/vorbis/vorbisdec.c: Added
-	gst_pipeline_add_sink/src to allow multiple sink cases and more
-	complex autoplugging. Update docs too.	Simplified the pipeline
-	autoplugging code.  Changed the cothread case: One iteration is now
-	a push from the src element. The disk source does not change its
-	state anymore on eof.  Better type setting for the ac3
-	parser/decoder and mpeg2parse.
-
-2000-09-17 15:06  wtay
-
-	* acconfig.h, configure.in, gst/gstbin.c,
-	gst/elements/gstdisksrc.c: Added check for vorbis.  Really compile
-	with Xv extension if the library is found.  Changed the disksrc so
-	that is goes to the PAUSE state if eof.
-
-2000-09-17 13:32  wtay
-
-	* plugins/mpeg2/mpeg2enc/transfrm_mmx.s: more asm...
-
-2000-09-17 13:32  wtay
-
-	* docs/manual/components.sgml: Information about the bonobo
-	components and capplets we are going to make :-)
-
-2000-09-17 13:31  wtay
-
-	* libs/getbits/Makefile.am, libs/getbits/gstgetbits.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/bdist1_mmx.s,
-	plugins/mpeg2/mpeg2enc/bdist1_sse.s,
-	plugins/mpeg2/mpeg2enc/bdist2_mmx.s,
-	plugins/mpeg2/mpeg2enc/dist1_00_mmx.s,
-	plugins/mpeg2/mpeg2enc/dist1_00_sse.s,
-	plugins/mpeg2/mpeg2enc/dist1_01_mmx.s,
-	plugins/mpeg2/mpeg2enc/dist1_01_sse.s,
-	plugins/mpeg2/mpeg2enc/dist1_10_mmx.s,
-	plugins/mpeg2/mpeg2enc/dist1_10_sse.s,
-	plugins/mpeg2/mpeg2enc/dist1_11_mmx.s,
-	plugins/mpeg2/mpeg2enc/dist1_11_sse.s,
-	plugins/mpeg2/mpeg2enc/dist2_mmx.s,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/predict.c,
-	plugins/mpeg2/mpeg2enc/predict_mmx.s,
-	plugins/mpeg2/mpeg2enc/predict_sse.s,
-	plugins/mpeg2/mpeg2enc/ratectl.c,
-	plugins/mpeg2/mpeg2enc/transfrm.c,
-	plugins/mpeg2/mpeg2enc/variance_mmx.s, test/.cvsignore: Converted
-	the mpeg2 encoder asm to gnu asm, removing the dependency of nasm
-	Added cpu detection in the mpeg2 encoder removed the inlined mmx
-	asembler to seperate files.
-
-2000-09-17 00:11  richardb
-
-	* acconfig.h, configure.in, libs/Makefile.am, plugins/Makefile.am,
-	plugins/avi/Makefile.am, plugins/avi/playcodecs.c,
-	plugins/avi/wincodec/Makefile.am, plugins/avi/wincodec/gstwindec.c,
-	plugins/avi/wincodec/gstwinenc.c,
-	plugins/mpeg1/mpeg1encoder/Makefile.am,
-	plugins/mpeg1/mpeg1encoder/putbits.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1/mpegaudio/Makefile.am: More work porting to PPC. 
-	libs/winloader is disabled on PPC - I doubt this can be made to
-	work.  libs/videoscale and libs/idct are also disabled - they
-	should be fixable though.
-	
-	Sorted out most of the plugins - avi is disabled for now on PPC;
-	can be worked on later if there's any chance of getting it to work.
-	
-	Also provide an automake conditional for compiling vorbis, based on
-	a configure test for the needed libraries: currently the test isn't
-	implemented and defaults to "no" so you'll have to fiddle it to
-	compile vorbis.  I shall get hold of vorbis and implement an
-	appropriate test some other time (if noone else beats me to it).
-
-2000-09-16 23:03  richardb
-
-	* libs/getbits/: gstgetbits.c, gstgetbits.h, gstgetbits_generic.c:
-	Moved generic function implementations into gstgetbits_generic.c,
-	and tidy up a bit.
-
-2000-09-16 11:58  wtay
-
-	* docs/gst/gstreamer.types.in, gst/cothreads.c, gst/gstbin.c,
-	gst/gstcpu.c, gst/gstpad.c, gst/gsttype.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstqueue.c,
-	libs/getbits/gstgetbits.c, plugins/vorbis/vorbisdec.c: Added a
-	quick hack to allow loop based elements to finish intead of looping
-	till infinity.	Added compile time i386 or plain C getbits
-	implementation selection.  The vorbis decoder now is our first loop
-	based element!
-
-2000-09-16 01:59  richardb
-
-	* gst/Makefile.am, gst/gstarch.h, gst/gstcpu.c, gst/gstppc.h,
-	libs/getbits/Makefile.am, libs/getbits/gstgetbits_generic.c,
-	plugins/mp3decode/mpg123/Makefile.am, plugins/mpeg2/Makefile.am,
-	plugins/mpeg2/ac3dec/Makefile.am,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/motion.c,
-	plugins/mpeg2/subtitles/Makefile.am,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/getpic.c,
-	plugins/mpeg2/video/gstmpeg2play.c: More work towards a powerPC
-	port, and towards generic portability.
-
-2000-09-16 00:04  richardb
-
-	* .cvsignore, autogen.sh, configure.in, gst/Makefile.am,
-	gst/gstarch.h, gst/gsti386.h: Fix on x86 architectures - was just
-	checking for 386, D'oh.  Fix autogen to run autoheader _before_
-	autoconf, since it generates a required file (config.h.in, which I
-	just removed from CVS since its an autogenerated one).	Also fix
-	messed up variables in gst/Makefile.am
-
-2000-09-15 23:44  richardb
-
-	* AUTHORS, acconfig.h, config.h.in, configure.in, gst/Makefile.am,
-	gst/cothreads.c, gst/gstarch.h, gst/gsti386.h, gst/gstppc.h,
-	libs/getbits/Makefile.am, plugins/mp3decode/xing/libxing/config.h:
-	Begun to add support for non i386 architectures, with the help of
-	Chris Emerson.	Added bits to configure to figure out architecture,
-	and added some alternatives for PPC.  Should cause no problems on
-	i386, but I'll check after this commit, but doesn't yet work on PPC
-	by a fair way...
-
-2000-09-14 23:18  wtay
-
-	* gst/gstelementfactory.c, plugins/vorbis/vorbisdec.c,
-	plugins/vorbis/vorbisdec.h, plugins/vorbis/vorbisenc.c,
-	plugins/vorbis/vorbisenc.h, test/Makefile.am, test/mp3tovorbis.c:
-	The vorbis encoder A test program to convert an mp3 to a vorbis
-	file.  A fix for the dynamic plugin loader factory_find was not
-	working.  Don't forget to run gstreamer-register after installing
-	the plugins!
-
-2000-09-14 21:31  wtay
-
-	* configure.in, gst/Makefile.am, gst/gst.c, gst/gstbin.c,
-	gst/gstbuffer.c, gst/gstcpu.c, gst/gstelement.c,
-	gst/gstelementfactory.c, gst/gstpad.c, gst/gstpipeline.c,
-	plugins/Makefile.am, plugins/rtjpeg/rtjpegdec.c,
-	plugins/vorbis/.cvsignore, plugins/vorbis/Makefile.am,
-	plugins/vorbis/vorbis.c, plugins/vorbis/vorbisdec.c,
-	plugins/vorbis/vorbisdec.h, plugins/vorbis/vorbisenc.c,
-	plugins/vorbis/vorbisenc.h: Due to popular demand :-), I added a
-	vorbis decoder.  The encoder is not yet functional.  Small cosmetic
-	changes to gstcpu.c
-	
-	Beware: You *need* to install libvorbis.a from the main vorbis CVS.
-	 you *have* to change the line in libtool to  
-	deplibs_check_method="pass_all" because else the plugin shared
-	library refuses to link against the static libvorbis.a library.
-	This is a hack. I have no intention in including libvorbis into the
-	gstreamer CVS tree and making it libtool compatible.
-
-2000-09-13 20:04  wtay
-
-	* docs/: gst/gstreamer-decl.txt, gst/gstreamer-docs.sgml,
-	gst/gstreamer-sections.txt, gst/gstreamer.hierarchy,
-	gst/gstreamer.types.in, gst/tmpl/gst.sgml,
-	gst/tmpl/gstaudiosink.sgml, gst/tmpl/gstbuffer.sgml,
-	gst/tmpl/gstbufferpool.sgml, gst/tmpl/gstclock.sgml,
-	gst/tmpl/gstconnection.sgml, gst/tmpl/gstcpu.sgml,
-	gst/tmpl/gstdisksrc.sgml, gst/tmpl/gstelement.sgml,
-	gst/tmpl/gstpad.sgml, gst/tmpl/gstpipefilter.sgml,
-	gst/tmpl/gstpipeline.sgml, gst/tmpl/gstplugin.sgml,
-	gst/tmpl/gstreamer-unused.sgml, gst/tmpl/gstsrc.sgml,
-	gst/tmpl/gsttype.sgml, gst/tmpl/gstutils.sgml,
-	manual/gstreamer-manual.sgml: Bring the low level API docs up to
-	date.
-
-2000-09-12 19:15  wtay
-
-	* plugins/mpeg2/video/: recon_mmx.c, recon_sse.s: SSE optimisation
-	MMX optimisation split out in seperate file.
-
-2000-09-12 19:13  wtay
-
-	* gst/Makefile.am, gst/gst.c, gst/gst.h, gst/gstcpu.c,
-	gst/gstcpu.h, gst/gstcpuid_i386.s, libs/idct/gstidct.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/recon.c,
-	plugins/mpeg1/mpeg_play/recon_mmx.c,
-	plugins/mpeg1/mpeg_play/recon_sse.s,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/util.h,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/gethdr.c,
-	plugins/mpeg2/video/mpeg2dec.c, plugins/mpeg2/video/mpeg2dec.h,
-	plugins/mpeg2/video/recon.c, plugins/mpeg2/video/tables.c: Added
-	CPU detection.	Added SSE optimisation to mpeg_play Modified the
-	mpeg2 decoder and gstidct to use cpu detection.  Cleanups in the
-	mpeg1 and mpeg2 decoders.
-
-2000-09-09 17:39  wtay
-
-	* examples/: launch/.cvsignore, launch/mp3play, thread/.cvsignore,
-	thread/Makefile, thread/thread.c: A thread example.  An example of
-	gstreamer-launch: an mp3 player
-
-2000-09-09 17:36  wtay
-
-	* gstreamer-config.in, docs/manual/gstreamer-manual.sgml,
-	docs/manual/helloworld.sgml, docs/manual/helloworld2.sgml,
-	docs/manual/programs.sgml, docs/manual/queues.sgml,
-	docs/manual/threads.sgml, editor/editor.c, editor/gsteditor.c,
-	editor/gsteditor.h, editor/gstelementselect.c,
-	examples/helloworld/Makefile, examples/helloworld/helloworld.c,
-	examples/helloworld2/Makefile, examples/helloworld2/helloworld2.c,
-	gst/gst.c, gst/gst.h, gst/gstbin.h, gst/gstelementfactory.c,
-	gst/gstpipeline.c, gst/gstpipeline.h, gst/gstplugin.c,
-	gst/gstsrc.c, gst/gstthread.c, gst/gstthread.h,
-	gst/elements/gstdisksrc.h, gst/elements/gstelements.c,
-	gstplay/mpeg1.c, gstplay/mpeg2.c, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/ac3dec/ac3dec.h, plugins/mpeg2/ac3dec/downmix.c,
-	plugins/mpeg2/ac3parse/Makefile.am,
-	plugins/mpeg2/ac3parse/ac3parse.c, tools/gstreamer-launch.c:
-	Changes to gstreamer-config to include gtk+ libs manual changes:
-	queues, threads, programs gsteditor does not crash anymore. 
-	gstpipline new should return a GstElement * fixed ac3dec for new
-	getbits fixes to gstreamer-launch more efficient startup for
-	gstplay.
-
-2000-09-07 21:35  wtay
-
-	* gst/Makefile.am, gst/cothreads.c, gst/gstbin.c,
-	gst/elements/gstaudiosink.c, libs/getbits/.cvsignore,
-	libs/getbits/Makefile.am, libs/getbits/gbtest.c,
-	libs/getbits/gstgetbits.c, libs/getbits/gstgetbits.h,
-	libs/getbits/gstgetbits_i386.s, libs/getbits/gstgetbits_inl.h,
-	plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/common.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer2.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mp3decode/mpg123/mpg123.h, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/video/gethdr.c,
-	plugins/mpeg2/video/mpeg2dec.c, test/cothreads/cothreads.c,
-	test/cothreads/test.c: Faster and modular getbits implementation. 
-	Fixed a bug in the audiosink that could lock up your box on bad MB.
-	 Modified the plugins to use the new getbits functions.
-
-2000-08-28 21:20  wtay
-
-	* examples/helloworld2/helloworld2.c, gst/gst.c, gst/gstelement.h,
-	gst/gstelementfactory.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gsttype.c, gst/gsttype.h, gst/elements/gsttypefind.c,
-	gst/types/gsttypes.c, gstplay/gstplay.c, plugins/Makefile.am,
-	plugins/au/gstparseau.c, plugins/audioscale/audioscale.c,
-	plugins/avi/gstaviencoder.c, plugins/avi/gstparseavi.c,
-	plugins/avi/wincodec/gstwincodec.c,
-	plugins/avi/wincodec/gstwindec.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/cobin/cobin.c, plugins/cobin/spindentity.c,
-	plugins/effects/stereo/stereo.c, plugins/effects/volume/volume.c,
-	plugins/filters/median/median.c, plugins/filters/smooth/smooth.c,
-	plugins/jpeg/gstjpeg.c, plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/xing/gstxing.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg_play/decoders.c,
-	plugins/mpeg1/mpeg_play/decoders.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/ac3dec/ac3dec.c, plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/parse/mpeg2parse.c,
-	plugins/mpeg2/subtitles/mpeg2subt.c,
-	plugins/mpeg2/video/gstmpeg2play.c, plugins/rtjpeg/rtjpeg.c,
-	plugins/vcdsrc/vcdsrc.c, plugins/videoscale/videoscale.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c,
-	plugins/visualization/vumeter/vumeter.c, plugins/wav/gstparsewav.c,
-	tools/.cvsignore, tools/Makefile.am, tools/gstreamer-launch.c,
-	tools/gstreamer-register.c, tools/launch.c: Externalized the plugin
-	information in /etc/gstreamer/reg.xml  - no need to do a
-	plugin_load_all()  - plugins are loaded when needed  - typedetect
-	functions are loaded when needed (still buggy)	- no need to check
-	for the existance of the plugin in the codecs  - added
-	gstreamer-register to create the reg.xml file  - renamed launch to
-	gstreamer-launch  - plugins need to register the typefactory they
-	provide modified the plugins to meet the new design modified the
-	plugins to correctly set their pad types autoplugging can be done
-	without loading the plugins now
-
-2000-08-22 22:18  wtay
-
-	* docs/manual/advanced.sgml, docs/manual/cothreads.sgml,
-	docs/manual/dynamic.sgml, docs/manual/factories.sgml,
-	docs/manual/ghostpads.sgml, docs/manual/gstreamer-manual.sgml,
-	docs/manual/helloworld2.sgml, docs/manual/outline.txt,
-	docs/manual/plugins.sgml, docs/manual/programs.sgml,
-	docs/manual/queues.sgml, docs/manual/threads.sgml,
-	docs/manual/typedetection.sgml, docs/manual/utility.sgml,
-	docs/manual/xml.sgml, examples/helloworld2/helloworld2.c,
-	gst/gstpipeline.c, gst/gsttype.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/parse/mpeg1parse.c: More docs (most of them just
-	empty...) Added automatic pad plugging.  Added automatic dynamic
-	pad plugging.  Changed some codecs to correctly set their pad
-	types.
-
-2000-08-21 22:57  wtay
-
-	* examples/: helloworld/.cvsignore, helloworld2/.cvsignore: ..
-
-2000-08-21 22:23  wtay
-
-	* examples/helloworld2/: Makefile, helloworld2.c: An example using
-	autoplug. Works for mp3 files only for now.
-
-2000-08-21 22:20  wtay
-
-	* docs/manual/outline.txt, gst/gstbin.c, gst/gstbin.h,
-	gst/gstelement.c, gst/gstelement.h, gst/gstelementfactory.c,
-	gst/gstpipeline.c, gst/gstpipeline.h, gst/gsttype.c, gst/gsttype.h,
-	gst/elements/gstaudiosink.c, gst/elements/gstaudiosink.h,
-	gst/elements/gstelements.c, gst/elements/gsttypefind.c,
-	gst/elements/gsttypefind.h, plugins/filters/median/median.c,
-	plugins/filters/smooth/smooth.c, plugins/mp3decode/xing/gstxing.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/wav/gstparsewav.c: A
-	first (rude) attempt at autoplug.  Autoplugging selects appropriate
-	codecs to connect src to sink, adds them to the pipeline and
-	connect pads.  Autoplugging will run the typedetect plugin if the
-	src pad has no MIME type.  No autoplugging is done on the src and
-	sink pads, it's hardcoded: connect 'src to sink'.  No attempt at
-	creating threads.  No attempt at dynamically autoplugging not yet
-	existing pads.	Changes to (some) plugins to properly set their
-	MIME types.
-
-2000-08-19 17:36  wtay
-
-	* docs/manual/: factories.sgml, gstreamer-manual.sgml,
-	helloworld.sgml, outline.txt: More manual about MIME types and
-	factories...
-
-2000-08-19 01:34  richardb
-
-	* plugins/mp3decode/xing/libxing/: stamp-h, stamp.h: I'm pretty
-	sure that these are generated files which have no right to be in
-	the CVS.  If I'm wrong, and things break, then we'll just have to
-	put them back again.
-
-2000-08-19 01:29  richardb
-
-	* Makefile.am, config.h.in, configure.in, gstplay/Makefile.am,
-	test/Makefile.am: libXv is now linked against by test/* and gstplay
-	if it is present.  -lXv isn't leaked all over the place due to
-	AC_CHECK_LIB test.  This is still messy though - we shouldn't have
-	to link explicitly with extra things just because we use certain
-	plugins.
-	
-	Build Makefile in tests, but don't recurse into tests when doing
-	the build  (tests no longer in SUBDIRS).
-
-2000-08-19 00:31  richardb
-
-	* Makefile.am, configure.in: Test for a working libglade-gnome, and
-	compile gstplay only if there is one.
-
-2000-08-18 23:54  wtay
-
-	* AUTHORS, gstplay/gstplay.glade: Richard has been promoted to
-	makefile hacker :-)
-
-2000-08-18 23:17  wtay
-
-	* libs/idct/ieeetest.c: Remove rdts until a better fix for the bad
-	asm is found...
-
-2000-08-18 23:15  wtay
-
-	* gst/gsttrace.c: Removed bad asm call for rdts. Need to fix
-	this...
-
-2000-08-18 23:07  richardb
-
-	* configure.in, plugins/mpeg2/mpeg2enc/Makefile.am: If nasm isn't
-	present, mpeg2enc plugin just ignores the .s files, C equivalents
-	will be used.
-
-2000-08-18 22:57  wtay
-
-	* plugins/mpeg2/mpeg2enc/motion.c: check #ifdef HAVE_NASM to avoid
-	using uncompiled code.
-
-2000-08-18 22:30  richardb
-
-	* acconfig.h, config.h.in, configure.in: Test for nasm - define
-	HAVE_NASM in config.h if we have it, and AC_SUBST NASM_PATH for use
-	when using nasm.
-
-2000-08-18 21:38  wtay
-
-	* docs/manual/helloworld.sgml, examples/helloworld/Makefile,
-	examples/helloworld/helloworld.c: helloworld example. and docs
-
-2000-08-18 21:35  wtay
-
-	* README, gstreamer-config.in, docs/gst/Makefile.am,
-	docs/manual/gstreamer-manual.sgml, editor/editor.c,
-	editor/gsteditorelement.c, gst/Makefile.am, gst/gstbin.c,
-	gst/gstelement.c, gst/gstelement.h, gst/gstobject.h, gst/gstpad.c,
-	gst/gstpipeline.c, gst/gstplugin.c, gst/gstplugin.h, gst/gsttee.c,
-	gst/gstthread.c, gst/elements/gsttypefind.c, gstplay/Makefile.am,
-	gstplay/callbacks.c, gstplay/gstplay.c, libs/getbits/Makefile.am,
-	libs/idct/Makefile.am, libs/putbits/Makefile.am,
-	libs/riff/Makefile.am, plugins/avi/Makefile.am,
-	plugins/avi/gstparseavi.c, plugins/cobin/cobin.c,
-	plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/visualization/smoothwave/smoothwave.c,
-	plugins/visualization/spectrum/gstspectrum.c,
-	plugins/visualization/synaesthesia/synaesthesia.c, tools/launch.c:
-	Various fixes for the build/install problems update to the
-	docs/manual. Added a simple helloworld example.
-
-2000-08-17 07:18  wtay
-
-	* docs/manual/gstreamer-manual.sgml: The book is not published
-	yet... :-)
-
-2000-08-16 22:40  wtay
-
-	* docs/manual/images/.cvsignore: Ignore the png images; they are
-	supposed to be build by the Makefile.
-
-2000-08-16 22:38  wtay
-
-	* docs/manual/: .cvsignore, BUILD, bins.sgml, buffers.sgml,
-	connections.sgml, elements.sgml, goals.sgml, gstreamer-manual.sgml,
-	intro.sgml, motivation.sgml, outline.txt, states.sgml: First draft
-	of Chapter 1 (introduction) and Chapter 2 (basic concepts) of the
-	GStreamer manual.
-
-2000-08-14 16:18  wtay
-
-	* libs/idct/.cvsignore: ignore the test program
-
-2000-08-14 16:17  wtay
-
-	* Makefile.am, autogen.sh, configure.in, docs/Makefile.am,
-	plugins/cobin/cobin.c, plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/vcdsrc/vcdsrc.c,
-	plugins/visualization/synaesthesia/synaesthesia.c, test/.cvsignore,
-	test/Makefile.am, test/ac3parse.c, test/ac3play.c, test/avi2mpg.c,
-	test/aviparse.c, test/dvdcat.c, test/mp1parse.c, test/mp1tomp1.c,
-	test/mp2toavi.c, test/mp2tomp1.c, test/mp3.c, test/mp3parse.c,
-	test/mp3play.c, test/mpeg2parse.c, test/pipetest.c, test/qtest.c,
-	test/record.c, test/spectrum.c, test/vidcapture.c,
-	test/vidcapture2.c, test/videotest.c, test/wave.c,
-	test/bindings/Makefile.am, test/cothreads/Makefile.am: Build fixes.
-	 Adapted the test directory to the new state management added an
-	mpeg2 to avi encoder.  added a v4l to divx capture example.
-
-2000-08-14 11:59  wtay
-
-	* configure.in, include/avifmt.h, include/registry.h: The include
-	files for the windows codec loader.  top level configure file.
-
-2000-08-14 11:57  wtay
-
-	* gst/: gstbufferpool.c, gstbufferpool.h: Added the bufferpool
-	handler.  This object is able to generate buffers and is passed
-	between elements to exchange buffers. Elements can also use this
-	pool to efficiently generate output buffers.
-
-2000-08-14 11:55  wtay
-
-	* gst/: Makefile.am, gstbin.c, gstbin.h, gstbuffer.c, gstbuffer.h,
-	gstelement.h, gstpad.c, gstpipeline.c, gstthread.c,
-	elements/gstaudiosink.c, elements/gstaudiosrc.c,
-	elements/gstdisksrc.c, elements/gstpipefilter.c: State change fixes
-	in the threading element.  Added bufferpools.
-
-2000-08-14 11:54  wtay
-
-	* plugins/: mp3decode/mpg123/layer1.c, mp3decode/mpg123/layer3.c,
-	mp3decode/mpg123/tabinit.c, mpeg2/Makefile.am,
-	mpeg2/ac3dec/parse.c, mpeg2/subtitles/.cvsignore,
-	mpeg2/subtitles/Makefile.am, mpeg2/subtitles/Notes.txt,
-	mpeg2/subtitles/mpeg2subt.c, mpeg2/subtitles/mpeg2subt.h,
-	videoscale/videoscale.c: fixes in the mp3 tables.  Use subbuffers
-	is possible.  Added MPEG2 subtitles.
-
-2000-08-14 11:49  wtay
-
-	* plugins/mpeg2/video/: IEEE1180, Makefile.am, getblk.c, gethdr.c,
-	getpic.c, getvlc.c, gstmpeg2play.c, idct.c, idctref.c, mmxidct.S,
-	mpeg2dec.c, mpeg2dec.h, recon.c, tables.c, test.m2v: Removed IDCT
-	and used the IDCT library.
-
-2000-08-14 11:42  wtay
-
-	* plugins/mpeg2/parse/: mpeg2parse.c, mpeg2parse.h: Use subbufers.
-
-2000-08-14 11:41  wtay
-
-	* plugins/mpeg2/mpeg2enc/: Makefile.am, bdist1_mmx.s, bdist1_sse.s,
-	bdist2_mmx.s, dist1_00_mmx.s, dist1_00_sse.s, dist1_01_mmx.s,
-	dist1_01_sse.s, dist1_10_mmx.s, dist1_10_sse.s, dist1_11_mmx.s,
-	dist1_11_sse.s, dist2_mmx.s, fdist1_00.s, fdist1_mmx.s,
-	gstmpeg2enc.c, idct.c, motion.c, mpeg2enc.c, mpeg2enc.h,
-	predict_mmx.s, qdist1_mmx.s, qdist1_sse.s, quant_mmx.s,
-	quant_non_i_sse.s, quantize.c, ratectl.c, rcdist_mmx.s, tables.c,
-	transfrm.c, variance_mmx.s: Better rate control with different
-	complexity measurement.  Merge from mjpeg_beta asm for mmx and sse
-	optimisations.	Use the IDCT library.
-
-2000-08-14 11:33  wtay
-
-	* plugins/mpeg2/ac3parse/ac3parse.c: Use subbuffers instead of
-	memcpy.
-
-2000-08-14 11:32  wtay
-
-	* plugins/mpeg1video/parse/: Makefile.am, README, mp1videoparse.c:
-	Use subbufers.
-
-2000-08-14 11:31  wtay
-
-	* plugins/mpeg1/system_encode/: buffer.c, buffer.h,
-	system_encode.c, system_encode.h: Added statup delay.  Added
-	padding.
-
-2000-08-14 11:30  wtay
-
-	* plugins/mpeg1/parse/: mpeg1parse.c, mpeg1parse.h: Use subbuffers.
-
-2000-08-14 11:28  wtay
-
-	* plugins/mpeg1/mpeg_play/: Makefile.am, decoders.c, decoders.h,
-	floatdct.c, gstmpeg_play.c, jrevdct.c, mmxidct.S, parseblock.c,
-	util.c, video.c, video.h: Use subbufers and bufferpools.  Use the
-	idct library.
-
-2000-08-14 11:25  wtay
-
-	* plugins/mp3decode/parse/mp3parse.c: use subbuffers
-
-2000-08-14 11:23  wtay
-
-	* plugins/capture/v4l/: gstv4lsrc.c, gstv4lsrc.h: Changes for the
-	new state management.
-
-2000-08-14 11:21  wtay
-
-	* plugins/avi/: Makefile.am, audiocodecs.c, gstaviencoder.c,
-	gstparseavi.c, gstparseavi.h, playcodecs.c, videoheader.c,
-	wincodec/.cvsignore, wincodec/Makefile.am, wincodec/gstwincodec.c,
-	wincodec/gstwincodec.h, wincodec/gstwindec.c, wincodec/gstwindec.h,
-	wincodec/gstwinenc.c, wincodec/gstwinenc.h: Separate
-	encoder/decoder plugins for windows codecs.
-
-2000-08-14 11:17  wtay
-
-	* gstplay/gstplay.glade: The UI
-
-2000-08-14 11:16  wtay
-
-	* gstplay/: Makefile.am, avi.c, callbacks.c, codecs.h, gstplay.c,
-	interface.c, interface.h, mpeg1.c, mpeg2.c, pause.xpm, play.xpm,
-	stop.xpm, support.c, support.h: glade based gstplay version. 
-	better avi/mpeg support.  nice about dialog :-) Drag and drop
-	should work.
-
-2000-08-14 11:12  wtay
-
-	* libs/idct/.cvsignore: ..
-
-2000-08-14 11:11  wtay
-
-	* libs/: Makefile.am, getbits/gstgetbits.c,
-	getbits/gstgetbits_inl.h, idct/Makefile.am, idct/README,
-	idct/dct.h, idct/doieee, idct/fastintidct.c, idct/floatidct.c,
-	idct/gstidct.c, idct/gstidct.h, idct/ieeetest.c, idct/intidct.c,
-	idct/mmx32idct.c, idct/mmxidct.S, putbits/gstputbits.c,
-	riff/gstriff.h, riff/gstriffencode.c: Added general IDCT library.
-	Added IEEE testbed.  Update to the windows codec loader.  fixes in
-	the riff parser/encoder.  cleanup in the getbits/putbits API.
-
-2000-08-05 04:53  omegahacker
-
-	* LICENSE, Makefile.am: Adding explicit license information, since
-	quite a large number of source files don't have the LGPL header. 
-	This is something we need to fix.  GNOME has a script to run around
-	and fix things, maybe we should snag a copy and let it loose in a
-	sandbox.
-
-2000-07-21 04:57  omegahacker
-
-	* gst/elements/: gstasyncdisksrc.c, gstaudiosink.c, gstaudiosink.h,
-	gstaudiosrc.c, gstaudiosrc.h, gstdisksrc.c, gstdisksrc.h,
-	gstfdsrc.c, gsthttpsrc.c, gsthttpsrc.h, gstpipefilter.c,
-	gstpipefilter.h: Brought standard elements in line with new state
-	management system.
-
-2000-07-17 18:14  omegahacker
-
-	* Makefile.am, autogen.sh, configure.in, docs/Makefile.am,
-	docs/gst/gstreamer-decl.txt, gst/Makefile.am, gst/gstbin.c,
-	gst/gstbin.h, gst/gstclock.c, gst/gstelement.c, gst/gstelement.h,
-	gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c, gst/gstthread.c,
-	gst/gstthread.h, gst/elements/gstelements.c,
-	gst/elements/gstfakesink.c, gst/elements/gstfakesrc.c,
-	plugins/dvdsrc/.cvsignore, plugins/effects/volume/volume.c,
-	test/fake.c, tests/.cvsignore, tests/Makefile.am, tests/README,
-	tests/init.c, tests/loadall.c, tests/simplefake.c, tests/states.c:
-	Megapatch, changes which states are available, how they're used,
-	and how they're set.  Also modifies the scheduling system, breaking
-	pulled buffers.  Check mail archives for more details.
-
-2000-07-15 14:26  wtay
-
-	* gst/gstutils.c, gst/gstutils.h, libs/riff/gstriffparse.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/layer3.c: Fixed a bug in the riff parser
-	with the allignment of the chunks. This should solve the errors
-	with avi playback.
-
-2000-07-15 13:06  wtay
-
-	* configure.in, gstplay/avi.c, gstplay/gstplay.c, gstplay/mpeg1.c,
-	gstplay/mpeg2.c, include/.cvsignore, include/avifmt.h,
-	include/default.h, include/registry.h, libs/Makefile.am,
-	libs/riff/gstriff.h, libs/riff/gstriffparse.c,
-	plugins/avi/.cvsignore, plugins/avi/Makefile.am,
-	plugins/avi/audiocodecs.c, plugins/avi/codectest.c,
-	plugins/avi/gstparseavi.c, plugins/avi/gstparseavi.h,
-	plugins/avi/playcodecs.c, plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/parse/mpeg2parse.c: Added DivX ;-) support by using
-	the wine .dll loader. you must unzip binaries.zip from
-	http://divx.euro.ru/binaries.zip into the win32 directory **of the
-	source tree**.	Extended and bugfixed thr riff parser to support
-	DivX ;-) Extended the avi parser to support DivX ;-) and MPEG Layer
-	3.  Fixed a bug in mpg123. Sound still is seriously wrong with
-	layer 3.  Fixed MPEG2 playback in gstplay.  Time indication in
-	gstplay is temporarly broken.
-
-2000-07-13 20:49  wtay
-
-	* gst/gstclock.c, gst/gstthread.c, gst/elements/gstaudiosink.c,
-	gstplay/gstplay.c, gstplay/mpeg2.c, plugins/avi/gstparseavi.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h,
-	plugins/mpeg2/video/gethdr.c, plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/mpeg2dec.h: Better error recovery in teh MPEG1
-	decoder.  Removed MPEG2 stuff from the MPEG1 decoderand make it
-	ignore MPEG2 streams.  Some extra framerates in the MPEG2 decoder
-	(from libmpeg2) Round image size up to the nearest multiple of 16
-	(MPEG2 decoder)
-
-2000-07-12 23:52  wtay
-
-	* configure.in, docs/random/states.new, gst/gst.h, gst/gstbin.c,
-	gst/gstbuffer.h, gst/gstclock.c, gst/gstclock.h, gst/gstelement.c,
-	gst/gstelement.h, gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c,
-	gst/gstthread.c, gst/elements/gstaudiosink.c,
-	gst/elements/gstaudiosink.h, gst/elements/gstqueue.c,
-	gst/elements/gstqueue.h, gstplay/callbacks.c, gstplay/gstplay.c,
-	gstplay/mpeg1.c, include/mmx.h, plugins/avi/playcodecs.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/gstmpg123.h,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mp3decode/parse/Makefile.am,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mp3decode/xing/libxing/Makefile.am,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/recon.c: This
-	is the audio/video sync release.  Changed the mpegvideoparser to
-	parse complete pictures. Added the PTS timestamps to the pictures. 
-	Added PTS timestamps to the MPEG audio frames.	Made the clock a
-	littlebit better.  Gstplay now uses two more threads one for video,
-	one for audio playback.  Added the first QoS callbacks for the
-	pads.  hopefully fix an mmx compilation problem.
-
-2000-07-05 22:32  wtay
-
-	* config.h.in, configure.in, gstplay/Makefile.am: Added HW scaling
-	and YUV conversion for XFree 4.0 Need to cleanup the fallback
-	mechanism in case no suitable XvImage is found.
-
-2000-07-05 11:21  wtay
-
-	* gstplay/gstplay.h: [no log message]
-
-2000-07-05 11:21  wtay
-
-	* gst/gstbuffer.h, gst/elements/gstaudiosink.c,
-	gst/elements/gstaudiosink.h, gst/elements/gstdisksrc.c,
-	gst/elements/gstdisksrc.h, gst/elements/gstfdsrc.c,
-	gst/elements/gstqueue.c, gstplay/Makefile.am, gstplay/callbacks.c,
-	gstplay/callbacks.h, gstplay/gstplay.c, gstplay/interface.c,
-	gstplay/interface.h, gstplay/main.c, gstplay/mpeg1.c,
-	gstplay/mpeg2.c, plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg1video/parse/Makefile.am,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h,
-	plugins/mpeg2/ac3dec/Makefile.am, plugins/mpeg2/ac3dec/exponent.c,
-	plugins/mpeg2/ac3parse/Makefile.am,
-	plugins/mpeg2/ac3parse/ac3parse.c, plugins/mpeg2/parse/Makefile.am,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/video/gethdr.c, plugins/mpeg2/video/getpic.c,
-	plugins/mpeg2/video/getvlc.c, plugins/mpeg2/video/recon.c,
-	test/mp2tomp1.c, test/mpeg2parse.c: Added seeking to some of the
-	plugins.  some MMX speedups in the MPEG decoders.  Better YUV to
-	MMX conversion implemented seeking to gstplay.
-
-2000-06-27 21:22  wtay
-
-	* plugins/mpeg1/mpeg_play/: parseblock.c, video.c: Added half pel
-	interpollation for bidirectionally predicted macroblocks.  
-	(players based on mpeg_play should also implement this, as it was
-	left	out from the reference decoder, probabliy for performance
-	reasons)  Reduced rounding errors in the quatisation of the
-	coeficients.
-
-2000-06-25 23:23  wtay
-
-	* gstplay/.cvsignore: [no log message]
-
-2000-06-25 23:21  wtay
-
-	* gstplay/Makefile.am, gstplay/codecs.h, gstplay/main.c,
-	gstplay/mpeg2.c, plugins/mp3decode/xing/libxing/Makefile.am,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg2/parse/mpeg2parse.c:
-	Added more accurate mpeg system stream detection (MPEG1 and MPEG2)
-	Added mpeg2 playback for gstplay
-
-2000-06-25 22:37  wtay
-
-	* configure.in, gst/gstpad.c, gst/gstpad.h, gst/gsttypefind.c,
-	gst/gsttypefind.h, gst/elements/Makefile.am,
-	gst/elements/gstaudiosink.h, gst/elements/gstdisksrc.c,
-	gst/elements/gstelements.c, gst/elements/gstqueue.c,
-	gst/elements/gsttypefind.c, gst/elements/gsttypefind.h,
-	gst/types/gsttypes.c, gstplay/Makefile.am, gstplay/avi.c,
-	gstplay/callbacks.c, gstplay/callbacks.h, gstplay/codecs.h,
-	gstplay/interface.c, gstplay/interface.h, gstplay/main.c,
-	gstplay/mpeg1.c, gstplay/support.c, gstplay/support.h,
-	gstplay/pixmaps/pause.xpm, gstplay/pixmaps/play.xpm,
-	gstplay/pixmaps/stop.xpm, libs/riff/gstriffparse.c,
-	plugins/avi/Makefile.am, plugins/avi/gstaviencoder.c,
-	plugins/avi/gstparseavi.c, plugins/avi/gstparseavi.h,
-	plugins/avi/playcodecs.c, plugins/avi/videoheader.c,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/mpeg2enc/putseq.c, plugins/mpeg2/video/mpeg2dec.c,
-	plugins/wav/gstparsewav.c, test/avi2mpg.c, test/aviparse.c,
-	test/mp1parse.c, test/vidcapture.c: Switched Cr and Cb in YUV2RGB
-	fixed the avi parser (gstriff had wrong size) the system_encoder
-	can now do video only system streams sanitized the colorspace and
-	scaler api.  added fast self modifying asm scaler.  worked on the
-	typefind stuff.  added a cool media player (gstplay) it uses the
-	typefinder to playback	 avi, mpeg1 (system and video) streams. It
-	is also a testbed and a real app.
-
-2000-06-18 15:13  wtay
-
-	* plugins/mpeg1/mpeg_play/: Makefile.am, idct_block_mmx.S,
-	mmxidct.S, parseblock.c, proto.h, video.c: Fixed MMX IDCT precision
-	bug.
-
-2000-06-18 14:51  wtay
-
-	* plugins/avi/videoheader.c: Construct the avi header based on the
-	codec type.
-
-2000-06-18 14:50  wtay
-
-	* gst/elements/gstqueue.c, plugins/avi/Makefile.am,
-	plugins/avi/gstaviencoder.c, plugins/avi/gstaviencoder.h,
-	plugins/avi/gstparseavi.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/video/getblk.c,
-	plugins/mpeg2/video/getpic.c, plugins/mpeg2/video/mmxidct.S,
-	plugins/mpeg2/video/mpeg2dec.h, plugins/mpeg2/video/tables.c,
-	test/mp2tomp1.c, test/vidcapture.c: Fixed an MMX IDCT bug.  Fixed a
-	color conversion bug.  Initial work for multiply avi codecs.
-
-2000-06-16 23:58  wtay
-
-	* configure.in, libs/Makefile.am, libs/putbits/.cvsignore,
-	libs/putbits/Makefile.am, libs/putbits/gstputbits.c,
-	libs/putbits/gstputbits.h, plugins/mpeg1/mpegaudio/Makefile.am,
-	plugins/mpeg1/mpegaudio/common.c,
-	plugins/mpeg1/mpegaudio/encoder.h,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/gstputbits.c,
-	plugins/mpeg1/mpegaudio/gstputbits.h,
-	plugins/mpeg1/mpegaudio/musicin.h,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstputbits.c,
-	plugins/mpeg2/mpeg2enc/gstputbits.h,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h, plugins/mpeg2/mpeg2enc/puthdr.c,
-	plugins/mpeg2/mpeg2enc/putpic.c, plugins/mpeg2/mpeg2enc/putseq.c,
-	plugins/mpeg2/mpeg2enc/ratectl.c,
-	plugins/mpeg2/video/gstmpeg2play.c: Unified putbits.
-
-2000-06-16 23:33  wtay
-
-	* plugins/mpeg1/mpegaudio/.cvsignore: [no log message]
-
-2000-06-16 23:32  wtay
-
-	* plugins/mpeg2/mpeg2enc/: gstputbits.c, gstputbits.h, putbits.c,
-	putbits.h: putbits implementation
-
-2000-06-16 23:30  wtay
-
-	* configure.in, plugins/mpeg1/Makefile.am,
-	plugins/mpeg1/mpegaudio/Makefile.am,
-	plugins/mpeg1/mpegaudio/README.crh,
-	plugins/mpeg1/mpegaudio/common.c, plugins/mpeg1/mpegaudio/common.h,
-	plugins/mpeg1/mpegaudio/encode.c,
-	plugins/mpeg1/mpegaudio/encoder.h,
-	plugins/mpeg1/mpegaudio/fixes.txt,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.c,
-	plugins/mpeg1/mpegaudio/gstmpegaudio.h,
-	plugins/mpeg1/mpegaudio/gstputbits.c,
-	plugins/mpeg1/mpegaudio/gstputbits.h,
-	plugins/mpeg1/mpegaudio/musicin.c,
-	plugins/mpeg1/mpegaudio/musicin.h, plugins/mpeg1/mpegaudio/psy.c,
-	plugins/mpeg1/mpegaudio/readme.txt,
-	plugins/mpeg1/mpegaudio/release.txt,
-	plugins/mpeg1/mpegaudio/subs.c, plugins/mpeg1/mpegaudio/tonal.c,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1/system_encode/system_encode.h,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h, plugins/mpeg2/mpeg2enc/puthdr.c,
-	plugins/mpeg2/mpeg2enc/putmpg.c, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/mpeg2enc/putseq.c, plugins/mpeg2/mpeg2enc/putvlc.c,
-	plugins/mpeg2/mpeg2enc/ratectl.c, test/mp2tomp1.c: Added SCR and
-	mux_rate calculations in the MPEG1 multiplexer.  worked toward a
-	unified putbits implementation Added an MPEG audio layer 1&2
-	encoder.
-
-2000-06-12 22:27  wtay
-
-	* plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg2/mpeg2enc/predict.c,
-	plugins/mpeg2/mpeg2enc/transfrm.c, plugins/videoscale/Makefile.am,
-	plugins/videoscale/videoscale.c, plugins/videoscale/videoscale.h,
-	test/mp1parse.c, test/mp2tomp1.c: Reworked the colorspace converter
-	and the scaler API.  Fixed some MMX bugs in the mpeg encoder.
-
-2000-06-11 13:11  wtay
-
-	* configure.in, gst/elements/gstpipefilter.c,
-	plugins/audioscale/audioscale.c, plugins/audioscale/audioscale.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h, plugins/mpeg1/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/system_encode/.cvsignore,
-	plugins/mpeg1/system_encode/Makefile.am,
-	plugins/mpeg1/system_encode/buffer.c,
-	plugins/mpeg1/system_encode/buffer.h,
-	plugins/mpeg1/system_encode/main.h,
-	plugins/mpeg1/system_encode/system_encode.c,
-	plugins/mpeg1/system_encode/system_encode.h,
-	plugins/mpeg1/system_encode/systems.c,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/ac3parse/ac3parse.h,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/predict.c, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/video/gstmpeg2play.c, test/aviparse.c,
-	test/mp1parse.c, test/mp2tomp1.c: Reworked the audio resampler. 
-	Added first frames skipping to the mp3 and ac3 parser (this allows
-	you to skip a number of frames before pushing them).  Removed wrong
-	mmx code from the encoder.  Added Macroblocks per slice to the
-	encoder.  added bilinear and bicubic interpolation to the
-	videoscaler.  Added a MPEG1 multiplexer (no SCR or mux rate
-	calculations yet) Added some options (framerate to the
-	encoder/decoder)
-
-2000-06-04 20:18  richardb
-
-	* include/mmx.h: Add a missing ; in the BROKEN_PAND implementation.
-
-2000-05-28 23:46  wtay
-
-	* gst/elements/gstpipefilter.c, gst/elements/gstpipefilter.h,
-	plugins/audioscale/audioscale.c, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	test/.cvsignore, test/mp2tomp1.c: Rewrote the mpeg2 system parser
-	like the mpeg1 parser.	Added a command property to the pipefilter.
-
-2000-05-28 21:04  wtay
-
-	* gst/elements/gstpipefilter.c, gst/elements/gstpipefilter.h,
-	plugins/audioscale/.cvsignore, test/pipetest.c: Added a basic
-	element: pipefilter. This element connects the stdin/stdout of an
-	external program into the pipeline. We now have virtually all of
-	the capabilities of sox, lame, ...
-
-2000-05-28 20:59  wtay
-
-	* configure.in, gst/elements/Makefile.am,
-	gst/elements/gstelements.c, plugins/audioscale/Makefile.am,
-	plugins/audioscale/audioscale.c, plugins/audioscale/audioscale.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg2/mpeg2enc/Makefile.am,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/predict.c, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/mpeg2enc/ratectl.c,
-	plugins/mpeg2/mpeg2enc/transfrm.c, plugins/videoscale/videoscale.c,
-	plugins/videoscale/videoscale.h, test/Makefile.am, test/avi2mpg.c,
-	test/mp2tomp1.c: Rewrote the mpeg1 system stream parser.  Fixed a
-	motion compensation bug (was a bug on Intels site)
-	Faster/Better/more accurate motion detection in the mpeg encoder
-	Added an audio resampler (convert 48000 kHz to 44100 for example)
-	does not work Fixed rate control in the mpeg2 encoder.
-
-2000-05-21 23:00  wtay
-
-	* docs/gst/.cvsignore: Added gstreamer.types to the .cvsignore
-
-2000-05-21 22:59  wtay
-
-	* test/mp1tomp1.c: An MPEG1 transcoder.
-
-2000-05-21 22:58  wtay
-
-	* configure.in, docs/gst/gstreamer-decl.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, gst/gstbuffer.h,
-	gst/elements/gstqueue.c, plugins/Makefile.am,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/filters/Makefile.am,
-	plugins/filters/median/.cvsignore,
-	plugins/filters/median/Makefile.am,
-	plugins/filters/median/median.c, plugins/filters/median/median.h,
-	plugins/filters/smooth/.cvsignore,
-	plugins/filters/smooth/Makefile.am,
-	plugins/filters/smooth/smooth.c, plugins/filters/smooth/smooth.h,
-	plugins/jpeg/gstjpegenc.c, plugins/mpeg1/Makefile.am,
-	plugins/mpeg1/mpeg1encoder/.cvsignore,
-	plugins/mpeg1/mpeg1encoder/CHANGES,
-	plugins/mpeg1/mpeg1encoder/Makefile.am,
-	plugins/mpeg1/mpeg1encoder/PORTABILITY,
-	plugins/mpeg1/mpeg1encoder/README,
-	plugins/mpeg1/mpeg1encoder/SETUP,
-	plugins/mpeg1/mpeg1encoder/chendct.c,
-	plugins/mpeg1/mpeg1encoder/codec.c,
-	plugins/mpeg1/mpeg1encoder/csize.h,
-	plugins/mpeg1/mpeg1encoder/ctables.h,
-	plugins/mpeg1/mpeg1encoder/dct.h,
-	plugins/mpeg1/mpeg1encoder/globals.h,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.c,
-	plugins/mpeg1/mpeg1encoder/gstmpeg1encoder.h,
-	plugins/mpeg1/mpeg1encoder/htable.lex,
-	plugins/mpeg1/mpeg1encoder/huffman.c,
-	plugins/mpeg1/mpeg1encoder/huffman.h,
-	plugins/mpeg1/mpeg1encoder/io.c,
-	plugins/mpeg1/mpeg1encoder/lex.yy.c,
-	plugins/mpeg1/mpeg1encoder/lexer.c,
-	plugins/mpeg1/mpeg1encoder/lexer.l,
-	plugins/mpeg1/mpeg1encoder/marker.c,
-	plugins/mpeg1/mpeg1encoder/marker.h,
-	plugins/mpeg1/mpeg1encoder/me.c, plugins/mpeg1/mpeg1encoder/mem.c,
-	plugins/mpeg1/mpeg1encoder/mem.h,
-	plugins/mpeg1/mpeg1encoder/mpeg.c,
-	plugins/mpeg1/mpeg1encoder/param.h,
-	plugins/mpeg1/mpeg1encoder/prototypes.h,
-	plugins/mpeg1/mpeg1encoder/putbits.c,
-	plugins/mpeg1/mpeg1encoder/putbits.h,
-	plugins/mpeg1/mpeg1encoder/qtables.h,
-	plugins/mpeg1/mpeg1encoder/size.h,
-	plugins/mpeg1/mpeg1encoder/stat.c,
-	plugins/mpeg1/mpeg1encoder/stream.c,
-	plugins/mpeg1/mpeg1encoder/stream.h,
-	plugins/mpeg1/mpeg1encoder/system.h,
-	plugins/mpeg1/mpeg1encoder/tables.h,
-	plugins/mpeg1/mpeg1encoder/transform.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/predict.c, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/mpeg2enc/putseq.c, plugins/mpeg2/mpeg2enc/ratectl.c,
-	plugins/mpeg2/video/mmxidct.S, plugins/mpeg2/video/mpeg2dec.h,
-	plugins/vcdsrc/vcdsrc.c, test/Makefile.am, test/avi2mpg.c,
-	test/mp2tomp1.c, test/vidcapture.c: Fixed the mpeg2 encoder. Added
-	MMX optimisations for motion estimation.  Added another mpeg1
-	encoder.  Added Two filters: smooth and median (a median cut
-	filter) Made the queue pull buffers.
-
-2000-05-17 23:49  richardb
-
-	* plugins/Makefile.am: Always build videosink, now that the
-	dependency on gdk_pixbuf is removed.
-
-2000-05-13 10:41  richardb
-
-	* plugins/Makefile.am: Make videosink compiled only if
-	HAVE_GDK_PIXBUF again.
-
-2000-05-12 18:41  wtay
-
-	* plugins/videoscale/.cvsignore: ...
-
-2000-05-12 18:39  wtay
-
-	* plugins/videoscale/Makefile.am, plugins/videoscale/videoscale.c,
-	plugins/videoscale/videoscale.h, test/mp2tomp1.c: A simple video
-	scaler as a library and an Element. Also a little non working mpeg2
-	to mpeg1 converter (still struggling with the quantisation).
-
-2000-05-12 18:33  wtay
-
-	* configure.in, gst/gstclock.c, libs/Makefile.am,
-	plugins/Makefile.am, plugins/capture/v4l/grab-v4l.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/jpeg/gstjpegdec.c,
-	plugins/jpeg/gstjpegdec.h, plugins/jpeg/gstjpegenc.c,
-	plugins/jpeg/gstjpegenc.h, plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/motion.c, plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/mpeg2enc/putseq.c, plugins/mpeg2/mpeg2enc/ratectl.c,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/video/getpic.c,
-	plugins/mpeg2/video/gstmpeg2play.c, test/.cvsignore,
-	test/Makefile.am, test/mp1parse.c, test/mpeg2parse.c: More changes
-	to the mpeg parser and encoder.  It seems like the mpeg2 decoder
-	does not like some MPEG1 videos. Use mpeg_play for now (eg.
-	AlienSong)
-
-2000-05-12 08:15  richardb
-
-	* acconfig.h, config.h.in, configure.in, docs/gst/Makefile.am,
-	docs/gst/gstreamer-decl.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/gstreamer.types, docs/gst/gstreamer.types.in,
-	docs/gst/tmpl/gsthttpsrc.sgml, docs/gst/tmpl/gstreamer-unused.sgml,
-	plugins/Makefile.am: Make GDK pixbuf optional, by compiling
-	videosink only if it is present.  Make documentation generated
-	successfully even if libghttp isn't present (by skipping the
-	ghttpsrc stuff).
-
-2000-05-12 08:09  richardb
-
-	* plugins/capture/v4l/gstv4lsrc.c: Remove "stderr," from a DEBUG
-	macro call, so it compiles with debug on.
-
-2000-05-02 00:22  wtay
-
-	* docs/gst/.cvsignore, plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mpeg1/mpeg_play/video.c, test/.cvsignore: Fixed some build
-	errors.
-
-2000-05-02 00:09  wtay
-
-	* configure.in, libs/getbits/gstgetbits.h,
-	libs/getbits/gstgetbits_inl.h, plugins/avi/gstaviencoder.c,
-	plugins/avi/gstparseavi.c, plugins/jpeg/gstjpegdec.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/ac3dec/ac3dec.c,
-	plugins/mpeg2/ac3parse/ac3parse.c,
-	plugins/mpeg2/mpeg2enc/.cvsignore, plugins/mpeg2/mpeg2enc/CHANGES,
-	plugins/mpeg2/mpeg2enc/Makefile.am, plugins/mpeg2/mpeg2enc/TODO,
-	plugins/mpeg2/mpeg2enc/conform.c, plugins/mpeg2/mpeg2enc/fdctref.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/gstmpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/idct.c, plugins/mpeg2/mpeg2enc/motion.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.c,
-	plugins/mpeg2/mpeg2enc/mpeg2enc.h,
-	plugins/mpeg2/mpeg2enc/predict.c, plugins/mpeg2/mpeg2enc/putbits.c,
-	plugins/mpeg2/mpeg2enc/putbits.h, plugins/mpeg2/mpeg2enc/puthdr.c,
-	plugins/mpeg2/mpeg2enc/putmpg.c, plugins/mpeg2/mpeg2enc/putpic.c,
-	plugins/mpeg2/mpeg2enc/putseq.c, plugins/mpeg2/mpeg2enc/putvlc.c,
-	plugins/mpeg2/mpeg2enc/quantize.c,
-	plugins/mpeg2/mpeg2enc/ratectl.c, plugins/mpeg2/mpeg2enc/readpic.c,
-	plugins/mpeg2/mpeg2enc/stats.c, plugins/mpeg2/mpeg2enc/tables.c,
-	plugins/mpeg2/mpeg2enc/transfrm.c, plugins/mpeg2/mpeg2enc/vlc.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/getblk.c,
-	plugins/mpeg2/video/gethdr.c, plugins/mpeg2/video/getpic.c,
-	plugins/mpeg2/video/getvlc.c, plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/mpeg2dec.c, plugins/mpeg2/video/mpeg2dec.h,
-	plugins/mpeg2/video/recon.c, plugins/mpeg2/video/store.c,
-	plugins/mpeg2/video/systems.c, test/Makefile.am, test/avi2mpg.c,
-	test/mp1parse.c, test/mpeg2parse.c: MPEG2 decoder fixes, unified
-	MPEG System stream parser. an mpeg encoder.
-
-2000-04-24 21:51  wtay
-
-	* configure.in, libs/getbits/gstgetbits_inl.h,
-	plugins/mpeg1/mpeg_play/decoders.c,
-	plugins/mpeg1/mpeg_play/decoders.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/util.h, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg2/Makefile.am, plugins/mpeg2/parse/Makefile.am,
-	plugins/mpeg2/parse/getbits.c, plugins/mpeg2/parse/getbits.h,
-	plugins/mpeg2/parse/mpeg2parse.c, plugins/mpeg2/parse/mpeg2parse.h,
-	plugins/mpeg2/video/.cvsignore, plugins/mpeg2/video/CHANGES,
-	plugins/mpeg2/video/EXAMPLES, plugins/mpeg2/video/IEEE1180,
-	plugins/mpeg2/video/Makefile.am, plugins/mpeg2/video/README,
-	plugins/mpeg2/video/SPATIAL.DOC, plugins/mpeg2/video/TODO,
-	plugins/mpeg2/video/getblk.c, plugins/mpeg2/video/gethdr.c,
-	plugins/mpeg2/video/getpic.c, plugins/mpeg2/video/getvlc.c,
-	plugins/mpeg2/video/getvlc.h, plugins/mpeg2/video/gstmpeg2play.c,
-	plugins/mpeg2/video/gstmpeg2play.h, plugins/mpeg2/video/idct.c,
-	plugins/mpeg2/video/idctref.c, plugins/mpeg2/video/mmxidct.S,
-	plugins/mpeg2/video/motion.c, plugins/mpeg2/video/mpeg2dec.c,
-	plugins/mpeg2/video/mpeg2dec.h, plugins/mpeg2/video/recon.c,
-	plugins/mpeg2/video/spatscal.c, plugins/mpeg2/video/store.c,
-	plugins/mpeg2/video/subspic.c, plugins/mpeg2/video/systems.c,
-	plugins/mpeg2/video/tables.c, plugins/mpeg2/video/test.m2v,
-	test/mp1parse.c, test/mpeg2parse.c: Added the mpeg2dec MPEG1 and
-	MPEG2 decoder.
-
-2000-04-17 00:33  wtay
-
-	* libs/getbits/gstgetbits_inl.h, plugins/mpeg2/ac3dec/exponent.c,
-	plugins/mpeg2/ac3dec/mantissa.c: Fixed a bug in the inlined
-	getbits.
-
-2000-04-17 00:25  wtay
-
-	* plugins/mpeg2/ac3dec/: Makefile.am, ac3dec.c, ac3dec.h,
-	getbits.c, getbits.h, mantissa.c, mantissa.h, parse.c, parse.h:
-	Reworked the ac3decoder for the new getbits functions. We are now
-	about 50% faster than the LIVID AC3 decoder (16% against 24% CPU
-	time)
-
-2000-04-16 19:51  wtay
-
-	* libs/getbits/.cvsignore: [no log message]
-
-2000-04-16 19:50  wtay
-
-	* libs/getbits/: Makefile.am, gstgetbits.c, gstgetbits.h,
-	gstgetbits_inl.h: I the generc getbits implementation
-
-2000-04-16 19:47  wtay
-
-	* configure.in, docs/gst/gstreamer-decl.txt,
-	docs/gst/tmpl/gstreamer-unused.sgml, libs/Makefile.am,
-	plugins/Makefile.am, plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/common.c,
-	plugins/mp3decode/mpg123/getbits.c,
-	plugins/mp3decode/mpg123/getbits.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer2.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mp3decode/mpg123/mpg123.h,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/ctrlbar.c,
-	plugins/mpeg1/mpeg_play/ctrlbar.h,
-	plugins/mpeg1/mpeg_play/decoders.c,
-	plugins/mpeg1/mpeg_play/decoders.h,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/motionvector.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/util.h,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1/parse/Makefile.am, plugins/mpeg1/parse/README,
-	plugins/mpeg1/parse/getbits.c, plugins/mpeg1/parse/getbits.h,
-	plugins/mpeg1/parse/mpeg1parse.c, plugins/mpeg1/parse/mpeg1parse.h,
-	plugins/mpeg1video/parse/mp1videoparse.c, test/mp3play.c: Unified
-	getbits handling. I currently have an inline integer
-	implementation.
-
-2000-04-13 22:59  wtay
-
-	* Makefile.am, configure.in, gst/gstclock.c,
-	plugins/capture/v4l/grab-v4l.c, test/Makefile.am,
-	test/mpeg2parse.c, test/videotest.c: Makefile.am fixes
-
-2000-04-09 22:38  wtay
-
-	* gst/: gstclock.c, gstclock.h: A poor mans clock...
-
-2000-04-09 22:36  wtay
-
-	* gst/Makefile.am, gst/gstelement.c,
-	gst/elements/gstasyncdisksrc.c, gst/elements/gstaudiosink.c,
-	gst/elements/gstaudiosink.h, gst/elements/gstqueue.c,
-	plugins/capture/v4l/gstv4lsrc.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/video.c, test/mp1parse.c: Added MMX
-	optimized yuv2rgb (AlienSong now plays back at only 6% CPU) Added
-	mpeg1 picture skipping and fixed a buffer overflow.  Added a system
-	clock. The audiosink can now adjust the clock.	Fixed incorrect
-	behaviour on 8, 15, 16, 24 and 32 bits displays.  Cleanup of the
-	videosink, it now uses the color conversion library when needed.
-
-2000-04-02 22:38  wtay
-
-	* libs/riff/: gstriffencode.c, gstriffparse.c, gstriffutil.c: The
-	new riff parser and encoder
-
-2000-04-02 22:36  wtay
-
-	* configure.in, libs/Makefile.am, libs/riff/Makefile.am,
-	libs/riff/gstriff.h, plugins/avi/gstaviencoder.c,
-	plugins/avi/gstaviencoder.h, plugins/avi/gstparseavi.c,
-	plugins/avi/gstparseavi.h, plugins/capture/v4l/grab-v4l.c,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	plugins/jpeg/Makefile.am, plugins/jpeg/gstjpegdec.c,
-	plugins/jpeg/gstjpegdec.h, plugins/jpeg/gstjpegenc.c,
-	plugins/jpeg/gstjpegenc.h, plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	test/Makefile.am, test/aviparse.c, test/vidcapture.c: Added a
-	colorspace library and removed yuv2rgb conversion from the
-	videosink.  The aviencoder should now more or less work.
-
-2000-03-27 20:53  wtay
-
-	* docs/Makefile.am, docs/gst/Makefile.am,
-	docs/gst/gstreamer-decl.txt, docs/gst/gstreamer-docs.sgml,
-	docs/gst/gstreamer-sections.txt, docs/gst/gstreamer.hierarchy,
-	docs/gst/gstreamer.types, docs/gst/tmpl/audioraw.sgml,
-	docs/gst/tmpl/cothreads.sgml, docs/gst/tmpl/gst.sgml,
-	docs/gst/tmpl/gstasyncdisksrc.sgml,
-	docs/gst/tmpl/gstaudiosink.sgml, docs/gst/tmpl/gstaudiosrc.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstconnection.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstesdsink.sgml,
-	docs/gst/tmpl/gstfakesink.sgml, docs/gst/tmpl/gstfakesrc.sgml,
-	docs/gst/tmpl/gstfdsink.sgml, docs/gst/tmpl/gstfdsrc.sgml,
-	docs/gst/tmpl/gstfilter.sgml, docs/gst/tmpl/gsthttpsrc.sgml,
-	docs/gst/tmpl/gstidentity.sgml, docs/gst/tmpl/gstlog.sgml,
-	docs/gst/tmpl/gstmeta.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstreamer-unused.sgml, docs/gst/tmpl/gstsinesrc.sgml,
-	docs/gst/tmpl/gstsink.sgml, docs/gst/tmpl/gstsrc.sgml,
-	docs/gst/tmpl/gsttee.sgml, docs/gst/tmpl/gstthread.sgml,
-	docs/gst/tmpl/gsttrace.sgml, docs/gst/tmpl/gsttype.sgml,
-	docs/gst/tmpl/gstutils.sgml, docs/gst/tmpl/gstxml.sgml,
-	docs/gst/tmpl/plugin.sgml, docs/gst/tmpl/spectrum.sgml,
-	docs/gst/tmpl/videoraw.sgml, gst/gstbin.c, gst/gstbuffer.c,
-	gst/gstbuffer.h, gst/gstelement.c, gst/gstelement.h,
-	gst/gstfilter.h, gst/gstobject.c, gst/gstobject.h, gst/gstpad.c,
-	gst/gstpad.h, gst/gstplugin.c, gst/gstsink.c, gst/gstsink.h,
-	gst/gstsrc.c, gst/gstsrc.h, gst/gsttee.c, gst/gstthread.c,
-	gst/gstxml.c, gst/elements/gstasyncdisksrc.h,
-	gst/elements/gstaudiosink.c, gst/elements/gstaudiosink.h,
-	gst/elements/gstaudiosrc.c, gst/elements/gstaudiosrc.h,
-	gst/elements/gstdisksrc.c, gst/elements/gstesdsink.h,
-	gst/elements/gstfakesink.c, gst/elements/gstfakesink.h,
-	gst/elements/gstfakesrc.c, gst/elements/gstfakesrc.h,
-	gst/elements/gstfdsink.c, gst/elements/gstfdsink.h,
-	gst/elements/gstfdsrc.c, gst/elements/gstidentity.c,
-	gst/elements/gstidentity.h, gst/elements/gstqueue.c,
-	gst/elements/gstqueue.h, gst/elements/gstsinesrc.c,
-	gst/elements/gstsinesrc.h, gst/elements/gsttypefind.h,
-	plugins/avi/Makefile.am, plugins/avi/gstaviencoder.c,
-	plugins/avi/gstaviencoder.h, plugins/avi/gstparseavi.c,
-	plugins/avi/gstparseavi.h, plugins/capture/v4l/Makefile.am,
-	plugins/capture/v4l/grab-v4l.c, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, plugins/jpeg/Makefile.am,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpegdec.c,
-	plugins/jpeg/gstjpegdec.h, plugins/jpeg/gstjpegenc.c,
-	plugins/jpeg/gstjpegenc.h, plugins/mpeg1/parse/mpeg1parse.c,
-	test/Makefile.am, test/vidcapture.c: Documentation updates. All
-	standard library objects and standard elements are documented.
-	Modified some of the elements to more accuratly report about their
-	arguments so the documentation builds more reasonable output. 
-	Added aviencoder and jpegencoder elements (not working yet)
-
-2000-03-22 21:18  wtay
-
-	* configure.in, gst/gstpad.c, gst/types/gsttypes.c,
-	libs/riff/Makefile.am, libs/riff/gstriff.c, libs/riff/gstriff.h,
-	plugins/Makefile.am, plugins/avi/Makefile.am,
-	plugins/avi/gstparseavi.c, plugins/avi/gstparseavi.h,
-	plugins/jpeg/.cvsignore, plugins/jpeg/Makefile.am,
-	plugins/jpeg/gstjpeg.c, plugins/jpeg/gstjpeg.h: Added jpeg decoder.
-	the avi decoder now configures the jpeg codec if an MJPG encoded
-	avi is found. Fixed riff parsing. readded rgb_draw functions to the
-	videosink. jpeglib is used to decode the jpeg image.
-
-2000-03-21 20:06  omegahacker
-
-	* plugins/avi/gstparseavi.c: removed second check on riff library,
-	moved original to top so it fails out right away
-
-2000-03-21 19:54  omegahacker
-
-	* plugins/avi/gstparseavi.c: added load and check of libriff during
-	plugin init
-
-2000-03-21 19:54  omegahacker
-
-	* gst/gstplugin.c: spelling fixes to gst_library_load()
-
-2000-03-20 20:25  wtay
-
-	* configure.in, gst/gstbuffer.c, gst/gstplugin.c, gst/gstplugin.h,
-	gst/gstthread.c, gst/plugin.c, gst/plugin.h,
-	gst/elements/gstaudiosink.c, gst/elements/gstqueue.c,
-	libs/riff/gstriff.c, libs/riff/gstriff.h, plugins/avi/Makefile.am,
-	plugins/avi/gstparseavi.c, plugins/avi/gstparseavi.h,
-	test/aviparse.c, test/mp1parse.c, test/videotest.c: Implemented
-	riff parsing as a library. The avi parser can play simple PCM
-	encoded audio.	some minor cleanups.
-
-2000-03-19 00:59  wtay
-
-	* AUTHORS, configure.in, gst/gstplugin.c, libs/Makefile.am,
-	libs/riff/Makefile.am, libs/riff/gstriff.c, libs/riff/gstriff.h,
-	plugins/Makefile.am, plugins/avi/.cvsignore,
-	plugins/avi/Makefile.am, plugins/avi/gstparseavi.c,
-	plugins/avi/gstparseavi.h, plugins/wav/Makefile.am,
-	plugins/wav/gstparsewav.c, test/.cvsignore, test/videotest.c: Added
-	the riff code into a seperate library in /libs dir. The plugin
-	loader also checks the /libs path.  The avi parser now uses the
-	riff library.  WAV is broken.
-
-2000-03-13 22:17  wtay
-
-	* test/aviparse.c: A non functional avi parser.
-
-2000-03-13 22:13  wtay
-
-	* configure.in, gst/gst.c, gst/gstbuffer.h,
-	gst/gstelementfactory.c, gst/gstmeta.c, gst/gstplugin.h,
-	gst/gstthread.c, gst/gsttype.h, gst/types/gsttypes.c,
-	plugins/Makefile.am, plugins/au/gstparseau.c,
-	plugins/capture/v4l/gstv4lsrc.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, test/Makefile.am,
-	test/videotest.c: Various cleanups. Moved the overlay code to a
-	specialized widget.  One error I cannot seem to fix: switching
-	desktops does not disable the overlay.
-
-2000-03-05 21:48  wtay
-
-	* plugins/capture/v4l/: grab-v4l.c, gstv4lsrc.c: Reworked overlay,
-	much better but still not perfect.
-
-2000-03-03 22:13  wtay
-
-	* plugins/capture/v4l/grab-v4l.c, plugins/capture/v4l/grab.h,
-	plugins/capture/v4l/gstv4lsrc.c, plugins/capture/v4l/gstv4lsrc.h,
-	test/Makefile.am, test/videotest.c: Added overlay and DGA
-	capability for the videosink. Not really good but functional.
-
-2000-02-27 23:18  wtay
-
-	* gst/Makefile.am, gst/cothreads.c, gst/gstbin.c, gst/gstbuffer.c,
-	gst/gstconnection.c, gst/gstelement.c, gst/gstmeta.c,
-	gst/gstobject.c, gst/gstpad.c, gst/gstpad.h, gst/gstpipeline.c,
-	gst/gstplugin.c, gst/gsttee.c, gst/gstthread.c, gst/gsttype.c,
-	gst/elements/Makefile.am, gst/elements/gstasyncdisksrc.c,
-	gst/elements/gstaudiosink.c, gst/elements/gstaudiosrc.c,
-	gst/elements/gstdisksrc.c, gst/elements/gstfakesink.c,
-	gst/elements/gstfakesrc.c, gst/elements/gstfdsink.c,
-	gst/elements/gstfdsrc.c, gst/elements/gsthttpsrc.c,
-	gst/elements/gstidentity.c, gst/elements/gstqueue.c,
-	gst/elements/gstsinesrc.c, gst/types/Makefile.am,
-	plugins/capture/v4l/Makefile.am, plugins/capture/v4l/grab-v4l.c,
-	plugins/capture/v4l/grab.h, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h,
-	plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/common.c,
-	plugins/mp3decode/mpg123/decode_i386.c,
-	plugins/mp3decode/mpg123/decode_i486.c,
-	plugins/mp3decode/mpg123/getbits.c,
-	plugins/mp3decode/mpg123/getbits.h,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/mpg123/layer1.c,
-	plugins/mp3decode/mpg123/layer2.c,
-	plugins/mp3decode/mpg123/layer3.c,
-	plugins/mp3decode/mpg123/mpg123.c,
-	plugins/mp3decode/mpg123/mpg123.h, plugins/mp3decode/mpg123/test.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/parse/Makefile.am, plugins/mpeg1/parse/getbits.c,
-	plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/Makefile.am,
-	plugins/mpeg1video/parse/mp1videoparse.c, test/videotest.c: This is
-	a rather large patch. Switched on -Wall compiler flag and fixed the
-	warnings.  Made the Video for Linux more like it should be.
-
-2000-02-26 18:55  wtay
-
-	* gst/gstpad.c, gst/gstpad.h, plugins/capture/v4l/gstv4lsrc.c,
-	test/mp1parse.c, test/videotest.c: Added a pull function in the
-	gstpad. Modified the videosink to implement the pull. This function
-	allows a source element to request a buffer from the destination.
-	This is much more efficient because the videosink can then pass a
-	buffer with SHM to the element, which does not require an additional
-	memcpy.  removed scaling from the videosink. I need something
-	better.
-
-2000-02-25 23:19  wtay
-
-	* test/videotest.c: test code for the Video for linux source
-
-2000-02-25 23:18  wtay
-
-	* configure.in, plugins/Makefile.am, plugins/capture/Makefile.am,
-	plugins/capture/v4l/Makefile.am, plugins/capture/v4l/gstv4lsrc.c,
-	plugins/capture/v4l/gstv4lsrc.h, test/mp1parse.c: Added a Video 4
-	linux source. Not generic at all and may not work on any other
-	system but mine.
-
-2000-02-24 20:56  wtay
-
-	* gst/gstbuffer.c, plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/parse/Makefile.am,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mp3decode/parse/mp3parse.h,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/idct_block_mmx.S,
-	plugins/mpeg1/mpeg_play/jrevdct.c,
-	plugins/mpeg1/mpeg_play/mmx_idct.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/util.h,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1video/parse/mp1videoparse.c, test/mp1parse.c: Speedup
-	in mpg123 parsing. speedup in mp1videoparse. rearanged the MPEG
-	player got rid of some memcpy. bit handling changes.  MMX code for
-	the IDCT and motion compensation in mpeg_play.	Almost as fast as
-	the commercial mpeg player mtv, but with a much better video
-	quality :-)
-
-2000-02-20 16:19  wtay
-
-	* configure.in, plugins/mpeg1/mpeg_play/gstmpeg_play.c: Added
-	GdkPixbuf support and scaling (sloww...)
-
-2000-02-20 12:58  wtay
-
-	* plugins/mpeg1/mpeg_play/: 16bit.c, Makefile.am, dither.h,
-	gdith.c, gstmpeg_play.c, gstmpeg_play.h, proto.h, util.h, video.c,
-	video.h: General cleanup and speedup. removed color conversion out
-	of MPEG decoder.
-
-2000-02-19 13:37  wtay
-
-	* plugins/mpeg1/mpeg_play/: gstmpeg_play.c, gstmpeg_play.h,
-	video.c, video.h: Added timestamps for video buffers. The videosink
-	syncs to the timestamps.  Added a buffer with finished frames for
-	the MPEG1 decoder.
-
-2000-02-19 10:50  wtay
-
-	* gst/elements/Makefile.am, gst/elements/gstqueue.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c, test/mp1parse.c: Fixed the
-	lockup by not calling any gtk functions in the main thread.  This
-	is not good.
-
-2000-02-18 23:48  wtay
-
-	* gst/elements/gstqueue.c, test/mp1parse.c: Set the default buffer
-	size to 1 to avoid the strange lockups...
-
-2000-02-18 23:07  wtay
-
-	* plugins/mpeg1/mpeg_play/16bit.c, plugins/mpeg1/mpeg_play/2x2.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/descrip.mms,
-	plugins/mpeg1/mpeg_play/dither.h, plugins/mpeg1/mpeg_play/fs2.c,
-	plugins/mpeg1/mpeg_play/fs2.h, plugins/mpeg1/mpeg_play/fs2fast.c,
-	plugins/mpeg1/mpeg_play/fs4.c, plugins/mpeg1/mpeg_play/fs4.h,
-	plugins/mpeg1/mpeg_play/gdith.c, plugins/mpeg1/mpeg_play/gray.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/hybrid.c,
-	plugins/mpeg1/mpeg_play/hybriderr.c,
-	plugins/mpeg1/mpeg_play/index.bt,
-	plugins/mpeg1/mpeg_play/mb_ordered.c,
-	plugins/mpeg1/mpeg_play/mono.c, plugins/mpeg1/mpeg_play/ordered.c,
-	plugins/mpeg1/mpeg_play/ordered2.c,
-	plugins/mpeg1/mpeg_play/proto.h, plugins/mpeg1/mpeg_play/util32.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h,
-	plugins/visualization/smoothwave/smoothwave.c, test/Makefile.am,
-	test/mp1parse.c: The first functional video sink... Removed all of
-	the video stuff from the MPEG video decoder. Fixed a bug in
-	smoothwave.  The MPEG video decoder still does the YUV->RGB
-	conversion.
-
-2000-02-17 22:50  wtay
-
-	* configure.in, plugins/Makefile.am,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/gdith.c, plugins/mpeg1/mpeg_play/main.c,
-	plugins/mpeg1/mpeg_play/mmx_idct.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h,
-	plugins/mpeg1/mpeg_play/readfile.c, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/util.h, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpeg_play/video.h: MPEG1 cleanup. Added first (non
-	functional) video sink.
-
-2000-02-16 23:27  wtay
-
-	* gst/gstbuffer.c, gst/gstplugin.c, gst/gsttype.c,
-	gst/elements/gstqueue.c, plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mpeg1/parse/mpeg1parse.c, test/mp1parse.c, test/mp3play.c:
-	Fixed memory leak in queue.
-
-2000-02-16 16:44  wtay
-
-	* plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/parse/mpeg1parse.c, test/mp1parse.c: Cleanup, fixed
-	some bugs in the parsers, fixed memory leak (not all of them yet)
-
-2000-02-15 20:14  wtay
-
-	* gst/elements/gstqueue.c, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpeg_play/video.h, plugins/mpeg1/parse/mpeg1parse.c:
-	Fixed (hopfully) the last bug in MPEG1 video player. A state bug
-	caused some I-frames to be skipped.
-
-2000-02-15 00:32  omegahacker
-
-	* editor/.cvsignore, test/.cvsignore: updated .cvsignores
-
-2000-02-14 23:21  wtay
-
-	* plugins/: mpeg1/mpeg_play/parseblock.c, mpeg1/mpeg_play/util.c,
-	mpeg1/mpeg_play/util.h, mpeg1/mpeg_play/video.c,
-	mpeg1video/parse/mp1videoparse.c: Some cleanups+speedup. Still
-	looking for a bug...
-
-2000-02-14 20:42  wtay
-
-	* plugins/mp3decode/parse/mp3parse.c: Fixed a nasty mp3 parse bug.
-	Some frames were skipped if the header was on partial frames. This
-	fixes the strange invalid sync errors.
-
-2000-02-14 00:22  wtay
-
-	* plugins/mpeg1video/parse/mp1videoparse.c: fixed state error in
-	parsing.
-
-2000-02-13 22:30  wtay
-
-	* plugins/mpeg1video/parse/: mp1videoparse.c, mp1videoparse.h:
-	cleaned up the parsing code a bit.
-
-2000-02-13 15:20  wtay
-
-	* gst/elements/gstqueue.c, plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/util.c, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpeg_play/video.h, plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1video/parse/mp1videoparse.c: Made queue default
-	bigger.  fixed parsing errors in mp3parse mpeg1parse mp1videoparse:
-	more than 2 zeros and a 1 is also a sync.  fixed MPEG1 video
-	SKIP_PICTURE which caused a segfault. AlienSong now plays as it
-	should do. Skips are currently ignored and give some error on the
-	console, need to clean this up.
-
-2000-02-13 13:43  wtay
-
-	* gst/elements/gstqueue.c, gst/elements/gstqueue.h,
-	plugins/mpeg1/mpeg_play/gdith.c: Fixed the queue length (fixed
-	length 5 for now).  fixed mpeg1 video rate control.  AlienSong
-	segfaults sometimes. My other movies don't....
-
-2000-02-13 03:19  wtay
-
-	* plugins/mpeg1video/parse/mp1videoparse.c: Fixed queueing for
-	incomplede slices.
-
-2000-02-12 23:09  omegahacker
-
-	* test/mp1parse.c: Rearranged and updated mp1parse.  Indentation is
-	sane again (what editor are you using, Wim?), and it now uses
-	threads.  Playback is clean (at least, audio and video are running
-	smoothly.  Video is still a little choppy on my test stream (first
-	1MB from disk two of Mulan VCD), and it's still wildly out of sync,
-	but it's looking VERY COOL.
-
-2000-02-12 23:08  omegahacker
-
-	* gst/gstbin.c: Changed the way state is dealt with when a child is
-	added to the bin.  The note states that the COMPLETE state should
-	probably reflect nothing more than whether or not there is a child
-	in the bin, not whether or not all children are COMPLETE.  I need
-	to write out a few scenarios for complex pipeline manipulations to
-	figure out how all the states should interact.	The idea is to
-	maintain the ability to dynamically recofigure the pipeline.
-
-2000-02-12 12:20  wtay
-
-	* plugins/mpeg1/mpeg_play/16bit.c,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/ctrlbar.c, plugins/mpeg1/mpeg_play/gdith.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.h,
-	plugins/mpeg1/mpeg_play/main.c,
-	plugins/mpeg1/mpeg_play/mb_ordered.c,
-	plugins/mpeg1/mpeg_play/motionvector.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h,
-	plugins/mpeg1/mpeg_play/readfile.c, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/util32.c, plugins/mpeg1/mpeg_play/video.c,
-	plugins/mpeg1/mpeg_play/video.h,
-	plugins/mpeg1video/parse/mp1videoparse.c, test/mp1parse.c: The
-	first functional video MPEG1 decoder. The decoder still opens a
-	window to show the video. This is not optimised at all. Some
-	glitches and crashes due to bugs in mp1videoparse.c. I need to
-	queue incomplete slices in mp1videoparse before sending them to the
-	decoder.  use test/mp1parse on your favorite video to test. No
-	audio/video sync, no QoS at all.
-
-2000-02-10 17:02  wtay
-
-	* gst/types/gsttypes.c, plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/mpeg_play/gstmpeg_play.c,
-	plugins/mpeg1video/parse/mp1videoparse.c, test/mp1parse.c:
-	Optimisations to mp3decode and mp3parse (subbuffers) mp1videoparse
-	now correctly pushes buffers in complete chuncks.
-
-2000-02-08 22:36  wtay
-
-	* configure.in, gst/types/gsttypes.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1video/Makefile.am,
-	plugins/mpeg1video/parse/Makefile.am,
-	plugins/mpeg1video/parse/README,
-	plugins/mpeg1video/parse/mp1videoparse.c,
-	plugins/mpeg1video/parse/mp1videoparse.h, test/mp1parse.c: Added
-	MPEG1 video parser.
-
-2000-02-07 19:29  wtay
-
-	* plugins/mpeg1/mpeg_play/: Makefile.am, gdith.c: Some more files.
-
-2000-02-07 19:22  wtay
-
-	* plugins/mpeg1/mpeg_play/: Makefile.am, gstmpeg_play.c,
-	gstmpeg_play.h: [no log message]
-
-2000-02-07 19:04  wtay
-
-	* configure.in, plugins/mp3decode/mpg123/Makefile.am,
-	plugins/mp3decode/mpg123/decode_i386.c,
-	plugins/mp3decode/mpg123/layer3.c, plugins/mpeg1/Makefile.am,
-	plugins/mpeg1/mpeg_play/16bit.c, plugins/mpeg1/mpeg_play/2x2.c,
-	plugins/mpeg1/mpeg_play/ANNOUNCE, plugins/mpeg1/mpeg_play/BUGS,
-	plugins/mpeg1/mpeg_play/CHANGES, plugins/mpeg1/mpeg_play/COPYRIGHT,
-	plugins/mpeg1/mpeg_play/INSTALL,
-	plugins/mpeg1/mpeg_play/Makefile.am,
-	plugins/mpeg1/mpeg_play/README,
-	plugins/mpeg1/mpeg_play/README.jpeg, plugins/mpeg1/mpeg_play/TODO,
-	plugins/mpeg1/mpeg_play/VERSION, plugins/mpeg1/mpeg_play/ctrlbar.c,
-	plugins/mpeg1/mpeg_play/ctrlbar.h,
-	plugins/mpeg1/mpeg_play/decoders.c,
-	plugins/mpeg1/mpeg_play/decoders.h,
-	plugins/mpeg1/mpeg_play/descrip.mms,
-	plugins/mpeg1/mpeg_play/dither.h,
-	plugins/mpeg1/mpeg_play/floatdct.c, plugins/mpeg1/mpeg_play/fs2.c,
-	plugins/mpeg1/mpeg_play/fs2.h, plugins/mpeg1/mpeg_play/fs2fast.c,
-	plugins/mpeg1/mpeg_play/fs4.c, plugins/mpeg1/mpeg_play/fs4.h,
-	plugins/mpeg1/mpeg_play/gray.c, plugins/mpeg1/mpeg_play/hybrid.c,
-	plugins/mpeg1/mpeg_play/hybriderr.c,
-	plugins/mpeg1/mpeg_play/index.bt,
-	plugins/mpeg1/mpeg_play/jrevdct.c, plugins/mpeg1/mpeg_play/main.c,
-	plugins/mpeg1/mpeg_play/mb_ordered.c,
-	plugins/mpeg1/mpeg_play/mono.c,
-	plugins/mpeg1/mpeg_play/motionvector.c,
-	plugins/mpeg1/mpeg_play/ordered.c,
-	plugins/mpeg1/mpeg_play/ordered2.c,
-	plugins/mpeg1/mpeg_play/parseblock.c,
-	plugins/mpeg1/mpeg_play/proto.h,
-	plugins/mpeg1/mpeg_play/readfile.c, plugins/mpeg1/mpeg_play/util.c,
-	plugins/mpeg1/mpeg_play/util.h, plugins/mpeg1/mpeg_play/util32.c,
-	plugins/mpeg1/mpeg_play/video.c, plugins/mpeg1/mpeg_play/video.h:
-	Added compiler optimistaion flags to mpg123. reverted to old
-	WRITE_SAMPLE which was much faster.  Added mpeg_play, the MPEG1
-	video player. It does not work yet.
-
-2000-02-06 22:04  wtay
-
-	* gst/gstmeta.c, plugins/mp3decode/mpg123/common.c,
-	plugins/mp3decode/mpg123/gstmpg123.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/parse/mpeg1parse.c: Added metadata to mpg123 buffers.
-	removed (disabeled) debug info.
-
-2000-02-06 18:50  wtay
-
-	* plugins/mp3decode/mpg123/common.c,
-	plugins/mp3decode/parse/mp3parse.c,
-	plugins/mpeg1/parse/mpeg1parse.c, test/mp1parse.c: Fixed the mpeg 1
-	parser. It can now be used to playback the audio stream of an MPEG1
-	movie (check out test/mp1parse.c).
-
-2000-02-06 12:33  wtay
-
-	* plugins/mpeg1/parse/mpeg1parse.c: Found mpeg1 parsing bug. My
-	videos seem to parse OK.
-
-2000-02-06 01:52  wtay
-
-	* plugins/mpeg1/parse/mpeg1parse.c, test/mp1parse.c: cleanup. Still
-	not working...
-
-2000-02-06 00:56  wtay
-
-	* test/mp1parse.c: The mpeg1 parser test program.
-
-2000-02-06 00:55  wtay
-
-	* plugins/mpeg1/parse/mpeg1parse.c,
-	plugins/mpeg1/parse/mpeg1parse.h, test/Makefile.am: Some changes to
-	the mpeg 1 parser. Does not work yet.
-
-2000-02-05 16:08  wtay
-
-	* plugins/mp3decode/mpg123/: Makefile.am, decode_i386.c,
-	decode_i486.c, decode_i586.s, layer3.c, mpg123.c, mpg123.h: Added
-	486 optimisation. Pentium optimisation added, but does not work
-	yet.
-
-2000-02-05 14:37  wtay
-
-	* plugins/mp3decode/mpg123/: common.c, getbits.c, getbits.h,
-	layer3.c, mpg123.c, mpg123.h: Fixed a buffer problem with Layer 3.
-	moved the buffer handling to common.c, getbits should not know
-	about that.
-
-2000-02-05 01:58  wtay
-
-	* plugins/mp3decode/parse/mp3parse.c: Not worth much: fixed a
-	memory leak.
-
-2000-02-05 01:40  wtay
-
-	* plugins/mp3decode/: mpg123/gstmpg123.c, parse/mp3parse.c: Fixed
-	Layer 2 & 3 parsing. All my MPEGs play now with gstreamer !!!
-
-2000-02-05 01:20  wtay
-
-	* plugins/mp3decode/parse/mp3parse.c, test/a.c, test/mp3parse.c,
-	test/mp3play.c: Fixed a nasty bug in mp3parse (partial buffer state
-	remained) Added eos check for the test programs to stop them from
-	allocating all of your memory (had to use alt-sysreq-k a few times
-	:-( ).	MPEG layer 1 plays fine now with mp3play.
-
-2000-02-04 23:27  wtay
-
-	* plugins/mp3decode/mpg123/: getbits.c, test.c: Tested with layer 1
-	& 2, no audible errors.  Fixed cracks and pops in Layer 3.  Still a
-	bit slow, though...
-
-2000-02-04 22:06  wtay
-
-	* plugins/mp3decode/mpg123/: common.c, getbits.c, getbits.h,
-	layer3.c, mpg123.c, mpg123.h, test.c: Attempt to get layer3
-	working. Tried with the test program included.	Still some errors
-	and clicks sometime, but you can hear something.  Double buffering
-	is now used (like mpg123). Can somebody test this on a layer 1 or 2
-	stream (I have none) and together with the mp3parse?
-
-2000-02-04 21:49  omegahacker
-
-	* plugins/mp3decode/parse/mp3parse.c: Fixes to the bfp calculation,
-	as well as some other stuff.
-
-2000-02-04 02:25  richardb
-
-	* configure.in, gst/gstelement.c, gst/gstplugin.c,
-	plugins/mp3decode/mpg123/mpg123.c, plugins/mp3decode/mpg123/test.c:
-	Compile a test program to ensure that we have working atomic
-	resource counting.
-	
-	A few small changes (include headers, fix a cast) to stop compiler
-	warnings.
-
-2000-02-02 06:26  omegahacker
-
-	* configure.in, docs/Makefile.am, docs/gst/Makefile.am,
-	docs/gst/gstreamer-decl.txt, docs/gst/gstreamer-sections.txt,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	gst/gst.c, gst/gstelement.c, gst/gstelement.h, gst/gstobject.c,
-	gst/gstpipeline.c, plugins/mp3decode/xing/libxing/.cvsignore: More
-	documentation changes, a couple configure.in and Makefile.am fixes.
-
-2000-02-01 20:35  wtay
-
-	* configure.in, gst/elements/Makefile.am,
-	plugins/effects/volume/volume.c: Fixed lowercase PLUGINS_USE_SRCDIR
-	which made running test apps fail.  Added GHTTP_LIBS to the
-	libraries.  commented out mm_support() call, wich is not working
-	yet and causes errors.
-
-2000-02-01 19:40  wtay
-
-	* configure.in, docs/gst/Makefile.am,
-	plugins/effects/volume/Makefile.am, plugins/rtjpeg/RTjpeg.c,
-	plugins/rtjpeg/RTjpeg.h: Try to compile a little mmx program, set
-	the default value of HAVE_LIBMMX.  some typos fixed. Changed
-	include path for volume.c. RTjpeg uses mmx.h
-
-2000-02-01 09:16  omegahacker
-
-	* configure.in, docs/Makefile.am, docs/gst/.cvsignore,
-	docs/gst/Makefile.am, docs/gst/gstreamer-decl.txt,
-	docs/gst/gstreamer-docs.sgml, docs/gst/gstreamer-sections.txt,
-	docs/gst/gstreamer.hierarchy, docs/gst/gstreamer.types,
-	docs/gst/tmpl/.cvsignore, docs/gst/tmpl/gst.sgml,
-	docs/gst/tmpl/gstbin.sgml, docs/gst/tmpl/gstbuffer.sgml,
-	docs/gst/tmpl/gstconnection.sgml, docs/gst/tmpl/gstdisksrc.sgml,
-	docs/gst/tmpl/gstelement.sgml, docs/gst/tmpl/gstfilter.sgml,
-	docs/gst/tmpl/gstmeta.sgml, docs/gst/tmpl/gstobject.sgml,
-	docs/gst/tmpl/gstpad.sgml, docs/gst/tmpl/gstpipeline.sgml,
-	docs/gst/tmpl/gstplugin.sgml, docs/gst/tmpl/gstqueue.sgml,
-	docs/gst/tmpl/gstsink.sgml, docs/gst/tmpl/gstsrc.sgml,
-	docs/gst/tmpl/gsttee.sgml, docs/gst/tmpl/gstthread.sgml,
-	docs/gst/tmpl/gsttrace.sgml, docs/gst/tmpl/gsttype.sgml,
-	docs/gst/tmpl/gstutils.sgml, docs/gst/tmpl/gstxml.sgml,
-	docs/gst/tmpl/plugin.sgml: Re- set up the gtk-doc system.  I'd
-	managed to mutilate it a while back, but now it's fixed.  I'll put
-	a copy of the HTML output somewhere on the website tonight.
-	
-	In order to actually generate the docs, you'll have to install all
-	the DocBook tools, as well as gtk-doc from GNOME cvs.  (see
-	http://developer.gnome.org/arch/doc/tools.html)
-	
-	Notes (I'll codify these some day):
-	
-	- Don't believe the Gnome page, always edit the SOURCES when
-	documenting a given function, never the tmpl file.  - I'll be
-	re-arranging things a lot, but gtk-doc is smart enough to merge any
-	changes to the tmpl file.  However, gtk-doc's merge and CVS's diff
-	are two entirely separate animals.  We should probably have a
-	virtual mutex on the entire docs/gst/ directory, over and above
-	what CVS does.	- I'm going to try to end up with a book set
-	(docbook terms), where docs/gst/ is only one book.  There'd be
-	another called docs/manual/, and another docs/plugins/, etc.  If
-	you have any comments as to how these should be done,
-	gstreamer-devel is the place.
-
-2000-02-01 04:10  richardb
-
-	* acconfig.h, config.h.in, configure.in, gst/gstobject.c,
-	gst/elements/Makefile.am, gst/elements/gstelements.c,
-	plugins/mp3decode/xing/libxing/ltmain.sh: Tidy up of configure
-	script.  Make libghttp detection work at all.  Make library
-	configuration specifiable on configure commandline.  Make detection
-	of atomic resource stuff cope with 2.0 linux kernels.  Fix typo
-	(HAVE_ATOMIC_T for HAVE_ATOMIC_H).  Remove generated ltmain.sh file
-	from mp3decode.
-
-2000-01-31 22:53  wtay
-
-	* include/mmx.h, plugins/rtjpeg/Makefile.am,
-	plugins/rtjpeg/RTjpeg.c: Added general MMX macros.
-
-2000-01-31 17:29  wtay
-
-	* plugins/rtjpeg/: RTjpeg.c, RTjpeg.h: Added MMX optimised DCT and
-	IDCT for RTjpeg. It still doesn't do anything.	This version also
-	has optimised versions for 422 and 420 YUV (de)compression.  This
-	version is not compatible with the regular RTjpeg due to
-	optimisations using unrolled loops. Is *very* fast.
-
-2000-01-31 09:43  omegahacker
-
-	* Makefile.am, configure.in, gstreamer.spec.in, editor/Makefile.am,
-	gst/elements/Makefile.am, gst/types/Makefile.am,
-	plugins/mp3decode/mpg123/Makefile.am, test/bindings/Makefile.am,
-	test/cothreads/Makefile.am, test/xml/Makefile.am: More incremental
-	updates.  I can now successfully produce an rpm simply by typing
-	`./autogen.sh;make rpm`.  This is good ;-)
-
-2000-01-31 06:49  omegahacker
-
-	* Makefile.am: gah, missed Makefile.am of all files...
-
-2000-01-31 06:46  omegahacker
-
-	* gstreamer-config.in, gstreamer.m4, gstreamer.spec.in,
-	plugins/mp3decode/mpg123/.cvsignore,
-	plugins/mp3decode/xing/libxing/Makefile.am,
-	test/bindings/.cvsignore, test/cothreads/.cvsignore,
-	editor/Makefile.am, gst/ROADMAP, plugins/effects/stereo/README,
-	test/Makefile.am, test/xml/README: A bunch more changes to clean up
-	build/`make dist` issues, as well as a spec file, -config file,
-	.m4, etc.  Next step is to build an RPM of this mess.
-
-2000-01-31 05:55  omegahacker
-
-	* .cvsignore, acconfig.h, config.h.in, configure.in,
-	plugins/Makefile.am, plugins/dvdsrc/Makefile.am,
-	plugins/mp3decode/mpg123/Makefile.am, test/Makefile.am,
-	test/cothreads/Makefile.am, test/xml/Makefile.am: Various fixes
-	that collectively allow `make dist` to work.
-
-2000-01-31 04:22  omegahacker
-
-	* .cvsignore: uh, forgot to do the root .cvsignore...
-
-2000-01-31 04:20  omegahacker
-
-	* plugins/mp3decode/Makefile.am: Fixed SUBDIRS stuff so `make dist`
-	works cleanly.	Here's the trick: if DIST_SUBDIRS exists in the
-	Makefile.am, that's used as the list of things to include in the
-	distribution, regardless of whether or not something is included in
-	SUBDIRS due to conditional stuff.
-
-2000-01-31 03:36  omegahacker
-
-	* docs/.cvsignore, editor/.cvsignore, gst/.cvsignore,
-	gst/elements/.cvsignore, gst/types/.cvsignore,
-	plugins/au/.cvsignore, plugins/effects/.cvsignore,
-	plugins/effects/stereo/.cvsignore,
-	plugins/effects/volume/.cvsignore, plugins/mp3decode/.cvsignore,
-	plugins/mp3decode/mpg123/.cvsignore,
-	plugins/mp3decode/parse/.cvsignore,
-	plugins/mp3decode/xa/.cvsignore, plugins/mp3decode/xing/.cvsignore,
-	plugins/mp3decode/xing/libxing/.cvsignore,
-	plugins/visualization/spectrum/.cvsignore,
-	plugins/visualization/vumeter/.cvsignore, plugins/wav/.cvsignore,
-	plugins/.cvsignore, plugins/cobin/.cvsignore,
-	plugins/dvdsrc/.cvsignore, plugins/mpeg1/.cvsignore,
-	plugins/mpeg1/parse/.cvsignore, plugins/mpeg2/.cvsignore,
-	plugins/mpeg2/ac3dec/.cvsignore, plugins/mpeg2/ac3parse/.cvsignore,
-	plugins/mpeg2/parse/.cvsignore, plugins/rtjpeg/.cvsignore,
-	plugins/vcdsrc/.cvsignore, plugins/visualization/.cvsignore,
-	plugins/visualization/smoothwave/.cvsignore,
-	plugins/visualization/synaesthesia/.cvsignore, test/.cvsignore,
-	test/bindings/.cvsignore, test/cothreads/.cvsignore,
-	test/xml/.cvsignore, tools/.cvsignore: OK, I think I've got all the
-	.cvsignore stuff taken care of, though we'll want to fine-tune
-	things as we go, of course.  Most of them are the same, with some
-	exceptions for directories that produce executables (those are
-	listed by name after the standard ones and a newline for
-	separation).
-
-2000-01-31 03:25  omegahacker
-
-	* test/README: initial checkin
-
-2000-01-31 03:22  omegahacker
-
-	* test/xml/readreg.c: - added usage info - uses first arg as
-	registry filename - any additional args are plugins to search for
-	(no change but argv base) - cleaned up output with a spare \n
-
-2000-01-31 03:02  omegahacker
-
-	* configure.in, plugins/Makefile.am, plugins/rtjpeg/.cvsignore,
-	plugins/rtjpeg/Makefile.am, plugins/rtjpeg/README,
-	plugins/rtjpeg/RTjpeg.c, plugins/rtjpeg/RTjpeg.h,
-	plugins/rtjpeg/rtjpeg.c, plugins/rtjpeg/rtjpegdec.c,
-	plugins/rtjpeg/rtjpegdec.h, plugins/rtjpeg/rtjpegenc.c,
-	plugins/rtjpeg/rtjpegenc.h: RTjpeg plugin with several elements. 
-	It's currently a skeleton, doing no work at all.  Need to have a
-	video display element, some kind of simulation source (read from
-	.ppm, a la what I do at work to solve the exact same problem), raw
-	video types, metadata structs, etc.
-	
-	The RTjpeg.[ch] code is taken from a just-downloaded copy from
-	Justin's site, with some fixes (#include <asm/types.h> to get
-	__u64,etc).  Once the aforementioned infrastructure is in place,
-	the elements can actually be set up to do the encode/decode, and
-	we'll have our first functioning video codec in place. ;-)
-
-2000-01-31 01:24  omegahacker
-
-	* gst/types/.cvsignore: .cvsignore for gst/types/, still testing
-	loginfo script(s)
-
-2000-01-31 01:11  omegahacker
-
-	* gst/elements/.cvsignore: .cvsignore for gst/elements/, also
-	testig loginfo script
-
-2000-01-31 00:16  omegahacker
-
-	* plugins/dvdsrc/.cvsignore: added .cvsignore for plugins/dvdsrc/,
-	testing loginfo script
-
-2000-01-31 00:04  omegahacker
-
-	* plugins/.cvsignore: .cvsignore for plugins/, also testing loginfo
-	script
-
-2000-01-31 00:02  omegahacker
-
-	* gst/.cvsignore: .cvsignore for gst/, also testing loginfo script
-
-2000-01-30 22:50  wtay
-
-	* acconfig.h, config.h.in, configure.in, editor/Makefile.am,
-	gst/elements/Makefile.am, gst/types/Makefile.am,
-	plugins/Makefile.am, plugins/mp3decode/Makefile.am,
-	plugins/mp3decode/xing/Makefile.am,
-	plugins/mp3decode/xing/libxing/ltmain.sh: Changed Makefiles to: 
-	detect xaudio (check header xaudio/decoder.h)  detect mmx.h  detect
-	CSS (check if css.c is in plugins/dvdsrc), need something better. 
-	some LDFLAGS had *.la dependencies which failed for libtool
-	
-	The build is now 100% on my system.
-
-2000-01-30 10:58  omegahacker
-
-	* plugins/dvdsrc/: Makefile.am, dvd_udf.c, dvd_udf.h, dvdsrc.c,
-	dvdsrc.h: initial checkin
-
-2000-01-30 10:48  omegahacker
-
-	* plugins/mp3decode/xing/libxing/: cdcts.s, cwin8s.s, cwins.s,
-	mdcts.s, msiss.s, x86gas.s, x86intel.s: initial checkin
-
-2000-01-30 10:44  omegahacker
-
-	* docs/: Makefile.am, random/arch, random/buffers,
-	random/coroutines, random/design, random/example,
-	random/factoryinfo, random/gboolean, random/intro, random/metadata,
-	random/mutability, random/padarch, random/sequence,
-	random/state-transitions, random/states, random/states.old,
-	random/types, random/vis-transform, random/walkthrough,
-	slides/README, slides/abstract, slides/abstract.save,
-	slides/outline, slides/slides: initial checkin
-
-2000-01-30 10:39  omegahacker
-
-	* plugins/mp3decode/xing/: Makefile.am, README, gstxing.c,
-	gstxing.h: initial checkin
-
-2000-01-30 10:17  omegahacker
-
-	* plugins/mp3decode/xing/libxing/: AUTHORS, COPYING, ChangeLog,
-	INSTALL, L3.h, Makefile.am, NEWS, README, acconfig.h, autogen.sh,
-	cdct.c, config.h, config.h.in, configure.in, csbt.c, csbtL3.c,
-	csbtb.c, cup.c, cupL1.c, cupini.c, cupl3.c, cwin.c, cwinb.c,
-	cwinm.c, dec8.c, htable.h, hwin.c, icdct.c, install-sh, isbt.c,
-	isbtb.c, itype.h, iup.c, iupL1.c, iupini.c, iwinQ.c, iwinbQ.c,
-	iwinm.c, jdw.h, l3dq.c, l3init.c, ltmain.sh, mdct.c, mhead.c,
-	mhead.h, missing, mkinstalldirs, msis.c, port.h, stamp-h, stamp.h,
-	stamp.h.in, tableawd.h, towave.c, uph.c, upsf.c, wavep.c, wcvt.c,
-	x86intel.c: initial checkin
-
-2000-01-30 10:03  omegahacker
-
-	* plugins/mp3decode/: Makefile.am, xa/Makefile.am, xa/README,
-	xa/gstxa.c, xa/gstxa.h: initial checkin
-
-2000-01-30 09:58  omegahacker
-
-	* plugins/: effects/Makefile.am, visualization/Makefile.am: initial
-	checkin
-
-2000-01-30 09:54  omegahacker
-
-	* tools/Makefile.am, tools/README, tools/launch.c,
-	test/bindings/Makefile.am, test/bindings/dummy.c,
-	test/bindings/dummy.h, test/bindings/test.c: initial checkin
-
-2000-01-30 09:50  omegahacker
-
-	* test/: Makefile.am, a.c, ac3parse.c, ac3play.c, ac3sync.c,
-	args.c, basic.c, buffer.c, cobin.c, dvdcat.c, fake.c,
-	gsttracedump.c, jitter.c, m.c, mcut.c, mem.c, mem.h, mp3.c,
-	mp3parse.c, mp3play.c, mpeg2parse.c, mpg123.c, p.c, plugin.c,
-	push.c, qtest.c, r.c, record.c, s.c, spectrum.c, states.c,
-	teardown.c, typefind.c, types.c, w.c, wave.c,
-	cothreads/Makefile.am, cothreads/cothreads.c,
-	cothreads/cothreads.h, cothreads/looper.c, cothreads/looper.h,
-	cothreads/object.c, cothreads/object.h, cothreads/simple.c,
-	cothreads/test.c, xml/Makefile.am, xml/createreg.c, xml/readreg.c:
-	initial checkin
-
-2000-01-30 09:46  omegahacker
-
-	* editor/: Makefile.am, editor.c, editor.glade,
-	editorelement.glade, gsteditor.c, gsteditor.h, gsteditorbin.c,
-	gsteditorcanvas.c, gsteditorconnection.c, gsteditorconnection.h,
-	gsteditorcreate.c, gsteditorcreate.h, gsteditorelement.c,
-	gsteditorpad.c, gsteditorpad.h, gstelementselect.c,
-	gstelementselect.h: initial checkin
-
-2000-01-30 09:22  omegahacker
-
-	* plugins/: au/Makefile.am, au/gstparseau.c, au/gstparseau.h,
-	cobin/Makefile.am, cobin/cobin.c, cobin/cobin.h,
-	cobin/spindentity.c, cobin/spindentity.h,
-	effects/stereo/Makefile.am, effects/stereo/stereo.c,
-	effects/stereo/stereo.h, effects/volume/Makefile.am,
-	effects/volume/volume.c, effects/volume/volume.h,
-	mp3decode/mpg123/COPYING, mp3decode/mpg123/Makefile.am,
-	mp3decode/mpg123/README, mp3decode/mpg123/common.c,
-	mp3decode/mpg123/dct64.c, mp3decode/mpg123/dct64_i386.c,
-	mp3decode/mpg123/dct64_i486.c, mp3decode/mpg123/decode.c,
-	mp3decode/mpg123/decode_i386.c, mp3decode/mpg123/decode_i486.c,
-	mp3decode/mpg123/gbtest.c, mp3decode/mpg123/getbits.c,
-	mp3decode/mpg123/getbits.h, mp3decode/mpg123/gstmpg123.c,
-	mp3decode/mpg123/gstmpg123.h, mp3decode/mpg123/huffman.h,
-	mp3decode/mpg123/l2tables.h, mp3decode/mpg123/layer1.c,
-	mp3decode/mpg123/layer2.c, mp3decode/mpg123/layer3.c,
-	mp3decode/mpg123/letest.c, mp3decode/mpg123/mpg123.c,
-	mp3decode/mpg123/mpg123.h, mp3decode/mpg123/tabinit.c,
-	mp3decode/mpg123/test.c, mp3decode/parse/Makefile.am,
-	mp3decode/parse/README, mp3decode/parse/mp3parse.c,
-	mp3decode/parse/mp3parse.h, mpeg1/Makefile.am,
-	mpeg1/parse/Makefile.am, mpeg1/parse/README, mpeg1/parse/getbits.c,
-	mpeg1/parse/getbits.h, mpeg1/parse/mpeg1parse.c,
-	mpeg1/parse/mpeg1parse.h, mpeg1/parse/notes, mpeg2/Makefile.am,
-	mpeg2/ac3dec/Makefile.am, mpeg2/ac3dec/README, mpeg2/ac3dec/ac3.h,
-	mpeg2/ac3dec/ac3dec.c, mpeg2/ac3dec/ac3dec.h,
-	mpeg2/ac3dec/bit_allocate.c, mpeg2/ac3dec/bit_allocate.h,
-	mpeg2/ac3dec/bitstream.c, mpeg2/ac3dec/bitstream.h,
-	mpeg2/ac3dec/crc.c, mpeg2/ac3dec/crc.h, mpeg2/ac3dec/debug.c,
-	mpeg2/ac3dec/debug.h, mpeg2/ac3dec/decode.h, mpeg2/ac3dec/dither.c,
-	mpeg2/ac3dec/dither.h, mpeg2/ac3dec/downmix.c,
-	mpeg2/ac3dec/downmix.h, mpeg2/ac3dec/exponent.c,
-	mpeg2/ac3dec/exponent.h, mpeg2/ac3dec/getbits.c,
-	mpeg2/ac3dec/getbits.h, mpeg2/ac3dec/imdct.c, mpeg2/ac3dec/imdct.h,
-	mpeg2/ac3dec/mantissa.c, mpeg2/ac3dec/mantissa.h,
-	mpeg2/ac3dec/output.c, mpeg2/ac3dec/output.h, mpeg2/ac3dec/parse.c,
-	mpeg2/ac3dec/parse.h, mpeg2/ac3dec/rematrix.c,
-	mpeg2/ac3dec/rematrix.h, mpeg2/ac3dec/ring_buffer.c,
-	mpeg2/ac3dec/ring_buffer.h, mpeg2/ac3dec/stats.c,
-	mpeg2/ac3dec/stats.h, mpeg2/ac3dec/uncouple.c,
-	mpeg2/ac3dec/uncouple.h, mpeg2/ac3parse/Makefile.am,
-	mpeg2/ac3parse/README, mpeg2/ac3parse/ac3parse.c,
-	mpeg2/ac3parse/ac3parse.h, mpeg2/parse/Makefile.am,
-	mpeg2/parse/README, mpeg2/parse/getbits.c, mpeg2/parse/getbits.h,
-	mpeg2/parse/mpeg2parse.c, mpeg2/parse/mpeg2parse.h,
-	mpeg2/parse/notes, vcdsrc/Makefile.am, vcdsrc/vcdsrc.c,
-	vcdsrc/vcdsrc.h, visualization/smoothwave/Makefile.am,
-	visualization/smoothwave/README,
-	visualization/smoothwave/smoothwave.c,
-	visualization/smoothwave/smoothwave.h,
-	visualization/spectrum/Makefile.am, visualization/spectrum/README,
-	visualization/spectrum/fix_fft.c,
-	visualization/spectrum/gstspectrum.c,
-	visualization/spectrum/gstspectrum.h,
-	visualization/synaesthesia/Makefile.am,
-	visualization/synaesthesia/README,
-	visualization/synaesthesia/README-syna,
-	visualization/synaesthesia/core.c,
-	visualization/synaesthesia/core.h,
-	visualization/synaesthesia/synaesthesia.c,
-	visualization/synaesthesia/synaesthesia.h,
-	visualization/vumeter/Makefile.am, visualization/vumeter/README,
-	visualization/vumeter/vumeter.c, visualization/vumeter/vumeter.h,
-	wav/Makefile.am, wav/gstparsewav.c, wav/gstparsewav.h,
-	wav/gstriff.c, wav/gstriff.h: initial checkin
-
-2000-01-30 09:04  omegahacker
-
-	* plugins/: Makefile.am, example.c, example.h: initial checkin
-
-2000-01-30 09:00  omegahacker
-
-	* gst/: elements/Makefile.am, elements/gstasyncdisksrc.c,
-	elements/gstasyncdisksrc.h, elements/gstaudiosink.c,
-	elements/gstaudiosink.h, elements/gstaudiosrc.c,
-	elements/gstaudiosrc.h, elements/gstdisksrc.c,
-	elements/gstdisksrc.h, elements/gstelements.c,
-	elements/gstesdsink.c, elements/gstesdsink.h,
-	elements/gstfakesink.c, elements/gstfakesink.h,
-	elements/gstfakesrc.c, elements/gstfakesrc.h, elements/gstfdsink.c,
-	elements/gstfdsink.h, elements/gstfdsrc.c, elements/gstfdsrc.h,
-	elements/gsthttpsrc.c, elements/gsthttpsrc.h,
-	elements/gstidentity.c, elements/gstidentity.h,
-	elements/gstqueue.c, elements/gstqueue.h, elements/gstsinesrc.c,
-	elements/gstsinesrc.h, elements/gsttypefind.c,
-	elements/gsttypefind.h, types/Makefile.am, types/gsttypes.c:
-	initial checkin
-
-2000-01-30 08:57  omegahacker
-
-	* gst/: cothreads.c, cothreads.h, gst.c, gst.h, gstbin.c, gstbin.h,
-	gstbuffer.c, gstbuffer.h, gstconnection.c, gstconnection.h,
-	gstelement.c, gstelement.h, gstelementfactory.c, gstfilter.c,
-	gstfilter.h, gstlog.h, gstmeta.c, gstmeta.h, gstobject.c,
-	gstobject.h, gstpad.c, gstpad.h, gstpipeline.c, gstpipeline.h,
-	gstplugin.c, gstplugin.h, gstsink.c, gstsink.h, gstsrc.c, gstsrc.h,
-	gsttee.c, gsttee.h, gstthread.c, gstthread.h, gsttrace.c,
-	gsttrace.h, gsttype.c, gsttype.h, gsttypefind.c, gsttypefind.h,
-	gstutils.c, gstutils.h, gstxml.c, gstxml.h, plugin.c, plugin.h,
-	Makefile.am: initial checkin
-
-2000-01-30 08:51  omegahacker
-
-	* AUTHORS, COPYING, COPYING.LIB, ChangeLog, INSTALL, Makefile.am,
-	NEWS, README, acconfig.h, autogen.sh, config.h.in, configure.in,
-	install-sh, missing, mkinstalldirs, stamp.h.in: initial checkin
-
-Fri Jan 12 21:52:09 CET 2001   Wim Taymans  <wim.taymans@chello.be>
-
-        * PPC compilation fixes (thanks to hadess)
-        * add eos2 and eos3 proposals
-
-
diff --git a/docs/random/omega/EOS/chain-walkthrough b/docs/random/omega/EOS/chain-walkthrough
deleted file mode 100644
index b4c28bf..0000000
--- a/docs/random/omega/EOS/chain-walkthrough
+++ /dev/null
@@ -1,19 +0,0 @@
-disksrc -> mp3parse -> mpg123 -> audiosink
-
-disksrc reads last 4K chunk from disk.  Sets EOS on the buffer, pushes buffer out to peer.
-disksrc:src sets itself to EOS and chains to mp3parse.
-
- mp3parse takes the buffer and slices it up into several.
- Each buffer gets chained off to mpg123.
-
-  mpg123 decoders each frame and sends it to audiosink.
-
-   audiosink dumps the audio data to the sound card.
-
-  mpg123 returns from the chain, and returns.
-
- mp3parse returns from each of the several chains,a nd returns.
-
-disksrc:src returns from the chain, signals EOS, and sets disksrc's EOS flag
-
-At this point the pipeline state code takes over and starts to set everyone to READY
diff --git a/docs/random/omega/IDEAS b/docs/random/omega/IDEAS
deleted file mode 100644
index ef79da4..0000000
--- a/docs/random/omega/IDEAS
+++ /dev/null
@@ -1,21 +0,0 @@
-Plugin Registry:
-Have a web-accessible database of plugins from everywhere, including their merit values.  gstplugin.c
-and the autoplug code (should we abstract out autoplug into a special file?  I think so) can make use of
-this database via another module (gstwebregistry.c?) to look up stuff.  A copy of the registry (gzip'd
-XML) could even be cached.  System and user options would determine whether this registry is checked
-and/or updated automatically.  The registry could simply be merged with the local machine and user
-registries, with the state bit set to "don't even have it".  Autodownload/install code should be
-provided, though designed such that it's not toolkit/OS specific.
-
-Merit:
-Plugins and even type definition should carry merit values, allowing the system to determine which
-plugin or type definition is better.  This can be tied into the web registry setup, where merit values
-can be updated without requiring an update of the plugins themselves.  They can also be guaranteed
-unique if there's a range reserved for registered objects.  Unfortunately, that might get us into some
-political wars.  We could leave that up to the users via some voting system.
-
-Scheduling state:
-All the scheduling info for a Bin should be contained in a single object of some form.  This can be
-saved off and restored seamlessly at some point in the future.  This would be ideal for some autoplug
-cases, where the rest of the pipeline simply ceases to exist temporarily, and scheduling entry points
-may need to be modified until the autoplug stage is finished.
diff --git a/docs/random/omega/TODO-0.1.0 b/docs/random/omega/TODO-0.1.0
deleted file mode 100644
index f07798a..0000000
--- a/docs/random/omega/TODO-0.1.0
+++ /dev/null
@@ -1,54 +0,0 @@
-mandatory:
------------
-
-(done) Fix compile warnings in gst/* 
-
-Make sure all common media types work with autoplug and gstmediaplay
-
-Add interface to control the level of output, both compile- and run-time
-
-(done) Make sure the build is capable of being run without any debugging noise
-
-Make sure that the absence of any of the optional libraries will not be fatal
-
-Make sure all the old plugins don't build normally, via some configure option?
-
-Try to get more of the INFO calls worked out, removing gst_info
-
-Decide whether DEBUG should use the category system, and if so, implement it
-
-Icon for gstplay, .desktop file, etc.
-
-Build tarballs
-
-Build RPMs
-
-Figure out which docs we're going to make 'offical'
-
-UPDATE THE WEB SITE
-
-optional:
----------
-
-Fix gstreamer-launch to do named pads
-
-Need to fix EOS subsystem so -launch can play out
-
-gstreamer-launch should play out till EOS
-
-Finish LADSPA plugin to data-moving stage
-
-
-
-things to remember for the announcement:
----------------------------------------
-
-Build requirements list:
-libtool 1.3.5 or patched to "pass_all"
-optional:
-libcdparanoia
-libmp3lame
-libxaudio
-libXv
-libgdk-pixbuf
-libglade
diff --git a/docs/random/omega/TYPE_FOURCC b/docs/random/omega/TYPE_FOURCC
deleted file mode 100644
index dff7d7d..0000000
--- a/docs/random/omega/TYPE_FOURCC
+++ /dev/null
@@ -1,3 +0,0 @@
-#define GST_TYPE_FOURCC(f) \
-(((f)[0]) & ((f)[1] << 8) & ((f)[2] << 16) & ((f)[3] << 24))
-
diff --git a/docs/random/omega/build/TODO b/docs/random/omega/build/TODO
deleted file mode 100644
index fe0e5be..0000000
--- a/docs/random/omega/build/TODO
+++ /dev/null
@@ -1,7 +0,0 @@
-Convert all the STREAMER_ version stuff to GSTREAMER_
-
-Convert all the --version-info lines to use GSTREAMER_LIBVERSION
-
-Fix all the masses of Makefile.am's that override CFLAGS
-
-Makefile.am's should use the library_la_CFLAGS and _LIBADD always
diff --git a/docs/random/omega/caps2 b/docs/random/omega/caps2
deleted file mode 100644
index 6264781..0000000
--- a/docs/random/omega/caps2
+++ /dev/null
@@ -1,320 +0,0 @@
-The elementfactory for a given element will contain some information about the capabilities of element's
-pads or potential pads.  An indication will be provided as to whether the pad always exists, always
-exists once data is present, or *might* exist once data is present (the latter case is for things like
-the MPEG system parsers, where an audio stream might or might not exist).
-
-
-First, an entirely normal example:
-----------------------------------
-
-(-----------)        (----------)        (-------------)
-! disksrc   !        ! mpg123   !        ! audiosink   !
-!         src        sink     src        sink          !
-!           !        !          !        !             !
-(-----------)        (----------)        (-------------)
-
-We start with only the disksrc.  The typefind filter is attached to the disksrc, and via typefind magic
-the properties of the disksrc are found to be:
-
-  disksrc->src->caps = {
-    "audio/mp3",
-    "layer",   GST_CAPS_INT (3),
-    "bitrate", GST_CAPS_INT (128),
-    NULL
-  };
-
-A look through the plugin registry shows that we have an element called mpg123 that has the following
-caps:
-
-  static GstCapsFactory mpg123_sink_caps = {
-    "audio/mp3",
-    "layer",   GST_CAPS_INT_RANGE (1, 3),
-    "bitrate", GST_CAPS_INT_RANGE (8, 320),
-    NULL
-  };
-
-The caps of the disksrc fit within those parameters, so we instantiate an mpg123 and attach it to the
-disksrc.  The connection succeeds negotiation and as a result the mpg123 specifies its output caps as:
-
-  mpg123->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S16),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT (44100),
-    "channels", GST_CAPS_INT (2),
-    NULL
-  };
-
-Again from the plugin registry we find an element audiosink that has appropriate caps:
-
-  static GstCapsFactory audiosink_src_caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S16,....),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT_RANGE (4000, 96000),
-    "channels", GST_CAPS_INT_RANGE (1, 2),
-    NULL
-  };
-
-A copy of the audiosink is instantiated and attached, negotiation goes smoothly, and we're done.  No
-dataflow has occurred, no failure found, etc.  An ideal autoplug.
-
-
-Now, a slightly more convoluted example:
-----------------------------------------
-
-Start with the same graph:
-
-(-----------)        (----------)        (-------------)
-! disksrc   !        ! mpg123   !        ! audiosink   !
-!         src        sink     src        sink          !
-!           !        !          !        !             !
-(-----------)        (----------)        (-------------)
-
-Run typefind on the disksrc's output, get the same output caps:
-
-  disksrc->src->caps = {
-    "audio/mp3",
-    "layer",   GST_CAPS_INT (3),
-    "bitrate", GST_CAPS_INT (128),
-    NULL
-  };
-
-Find and attach mpg123, get the following output caps this time:
-
-  mpg123->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S16),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT (44100),
-    "channels", GST_CAPS_INT (1),
-    NULL
-  };
-
-Note that this time we have a mono output.  A look into the audiosink caps shows that we have a match.
-So we instantiate a copy.  Oops.  We now find that the caps for the input pad on our audiosink have
-changed:
-
-  mpg123->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S16,...),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT (11025, 48000),
-    "channels", GST_CAPS_INT (2),
-    NULL
-  };
-
-Whoops.  It seems that the sound card we've got in this machine (FIXME how on earth to deal with
-multiple sound cards???) doesn't support mono output *at all*.  This is a problem.  We now find that we
-have no options as far as directly matching the mpg123 to the audiosink.
-
-A look through our (fictitious) plugin registry shows at least one element that at least has audio/raw
-on both input and output (since both mpg123 and audiosink have open pads with this mime type).  A closerlook shows that its caps are:
-
-  static GstCapsFactory mono2stereo_sink_caps = {
-    "audio/raw",
-    "channels", GST_CAPS_INT (1),
-    NULL
-  };
-  static GstCapsFactory mono2stereo_src_caps = {
-    "audio/raw",
-    "channels", GST_CAPS_INT (2),
-    NULL
-  };
-
-Wow, that's a perfect match.  Instantiate, attach to mpg123, no problems.  Attach to audiosink, no
-problems.  Done.  When we start up the pipeline, we should get absolutely no callbacks from pads saying
-"help me, I've fallen and..., er, I don't like this buffer!".
-
-
-A really messy case:
---------------------
-
-Start with a disksrc, typefind it, get the following:
-
-  disksrc->src->caps = {
-    "audio/mp3",
-    "layer",   GST_CAPS_INT (3),
-    "bitrate", GST_CAPS_INT (128),
-    NULL
-  };
-
-Look through the plugin registry, find mpg123.  Instantiate it, attach it.  It spits out audio
-parameters as usual:
-
-  mpg123->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S16),
-    "depth",    GST_CAPS_INT (16),
-    "rate",     GST_CAPS_INT (44100),
-    "channels", GST_CAPS_INT (2),
-    NULL
-  };
-
-Now we instantiate an audiosink plugin.  This time, we're sunk:
-
-  mpg123->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S8,U8),
-    "depth",    GST_CAPS_INT (8),
-    "rate",     GST_CAPS_INT_RANGE (11025, 22050),
-    "channels", GST_CAPS_INT (1),
-    NULL
-  };
-
-ACK!  It's one of those Disney Sound Source things.  We've got a problem here that isn't obviously
-solvable.  However, there happens to be another mp3 decoder sitting around.  It's got the same
-properties as mpg123, but a lower merit value.  Let's instantiate one and attach it.  We get the
-following output pad caps:
-
-  mp3decoder->src->caps = {
-    "audio/raw",
-    "format",   GST_CAPS_BITFIELD (S8,S16),
-    "depth",    GST_CAPS_INT_RANGE (8,16),
-    "rate",     GST_CAPS_INT_RANGE (8000, 44100),
-    "channels", GST_CAPS_INT (1,2),
-    NULL
-  };
-
-Well, that matches the audiosink.  We try attaching it, and during negotiation the mp3decoder finds
-sufficient common ground with the castrated audiosink and sets its output pad to match the best of the
-options: S8 at 22050 KHz.
-
-
-
-Next to impossible scenario: DVD
---------------------------------
-
-Start with a dvdsrc.  It's output pad caps are:
-
-  static GstCapsFactory dvdsrc_src_caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_INT (2),
-    "systemstream", GST_CAPS_BOOLEAN (TRUE),
-    NULL
-  };
-
-The type would be classified as incomplete via some mechanism.  This might cause the autoplug code to go
-and run the typefind function.  It would flesh the type out to the following:
-
-  dvdsrc->src->caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_INT (2),
-    "systemstream", GST_CAPS_BOOLEAN (TRUE),
-    "videostreams", GST_CAPS_INT (1),
-    "audiostreams", GST_CAPS_INT (3),
-    "bitrate",      GST_CAPS_INT (40960),
-    NULL,
-  };
-
-Wow, that helped a lot.  A check through the plugin registry shows that the mpeg2parse will match those
-properties:
-
-  static GstCapsFactory mpeg2parse_sink_caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_INT (2),
-    "systemstream", GST_CAPS_BOOLEAN (TRUE),
-    NULL
-  };
-
-(In retrospect, it may not be necessary to run typefind if there's match this good right away.  Only run
-typefind when there's no exact match.)
-Since there are no output pads yet, we have to actually push data through the pipeline.  The moment a
-buffer or two get to the mpeg2parse element, it promptly goes and creates an output pad, probably of the
-following caps:
-
-  mpeg2parse_video_src_caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_RANGE (1,2),
-    "systemstream", GST_CAPS_BOOLEAN (FALSE),
-    NULL
-  };
-
-This seems to be a task for typefind again.  But since data is flowing, we have to be careful with the
-buffers.  (This is the case in any typefind maneuver, but more so when one really can't rewind the
-source without consequences)  The autoplug system attaches a special pseudo-element to mpeg2parse's new
-output pad, and attaches the typefind element to the end of that.  The pseudo-element takes the buffer,
-stores it, and passes a copy off to the attached element, in this case typefind.  This repeats until
-typefind has determined the type, at which point the typefind is removed, and the newly found element is
-attached instead.
-
-The pseudo-element is 'rewound' and the stored buffers flow out and into the newly attached element.
-When the cache of buffers is gone, a signal fires and the autoplug system removes the pseudo-element and
-reconnects the pipeline.
-
-In this case, the typefind function will find the following:
-
-  mpeg2parse_video_src_caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_INT (2),
-    "systemstream", GST_CAPS_BOOLEAN (FALSE),
-    "bitrate",      GST_CAPS_INT (36864),
-    "width",        GST_CAPS_INT (720),
-    "height",       GST_CAPS_INT (480),
-    "framerate",    GST_CAPS_FLOAT (29.97002997),
-    "chromaformat", GST_CAPS_INT (1),		[GST_CAPS_STRING ("4:2:0") ?]
-    NULL
-  };
-
-Back to the plugin registry, we find our only choice is mpeg2dec, which has input caps of:
-
-  static GstCapsFactory mpeg2dec_sink_caps = {
-    "video/mpeg",
-    "mpegversion",  GST_CAPS_RANGE (1,2),
-    "systemstream", GST_CAPS_BOOLEAN (FALSE),
-    NULL
-  };
-
-Once again it just so happens that we really didn't need to do the typefind at all.  But it can't hurt
-unless the typefind is slow and painful, which we can guess won't be the case since the choices are
-rather limited by the fact that there's already a MIME type attached, meaning we can drastically reduce
-the number of typefind functions we try (down to one, actually).
-
-However, since we *have* run the typefind, upon attachment of the input pad of mpeg2dec, the output pad
-looks like the following:
-
-  mpeg2dec_src_caps = {
-    "video/raw",
-    "fourcc",    GST_CAPS_LIST (
-			GST_CAPS_FOURCC ("YV12"),	[identical...]
-			GST_CAPS_FOURCC ("IYUV"),
-			GST_CAPS_FOURCC ("I420"),
-                 ),
-    "width",     GST_CAPS_INT (720),
-    "height",    GST_CAPS_INT (480),
-    "framerate", GST_CAPS_FLOAT (29.97002997),
-    NULL
-  };
-
-Currently only videosink supports the output of video/raw.  It claims a list of FOURCCs but nothing
-more:
-
-  static GstCapsFactory videosink_sink_caps = {
-    "video/raw",
-    "fourcc", GST_CAP_LIST ( GST_CAPS_FOURCC ("YV12"),
-		GST_CAPS_FOURCC ("IYUV"), GST_CAPS_FOURCC ("I420"),
-		GST_CAPS_FOURCC ("YUY2"), GST_CAPS_FOURCC ("UYVY"),
-		[ etc... ],
-              ),
-    NULL
-  };
-
-When instantiated, we potentially have the same problem as with the audiosink: we don't necessarily know
-which hardware output to use.  Somehow we have to solve the problem of setting some element arguments
-before we can get useful information out of them as to the properties.  In this case anyway, if the
-videosink were to find only one output possibility, it would trim the list of FOURCCs it can deal with
-to what the hardware can handle, as well as add further properties:
-
-  videosink_sink_caps = {
-    "video/raw",
-    "fourcc", GST_CAPS_LIST (GST_CAPS_FOURCC ("YV12"),
-			GST_CAPS_FOURCC ("YUY2"),
-              ),
-    "width",  GST_CAPS_INT_RANGE (4,1020),
-    "height", GST_CAPS_INT_RANGE (4,1020),
-    NULL
-  };
-
-We can now connect the mpeg2dec output to the videosink, and we now have displaying video.
-
-. . . .
diff --git a/docs/random/omega/caps3 b/docs/random/omega/caps3
deleted file mode 100644
index 11dcf8c..0000000
--- a/docs/random/omega/caps3
+++ /dev/null
@@ -1,20 +0,0 @@
- /* fake mp3 where bitrates 8 through 32 can't be stereo */
-static GstCapsListFactory mpg123_sink_caps = {
-  {
-    "audio/mp3",
-    "layer",    GST_CAPS_INT_RANGE (1, 3),
-    "bitrate",  GST_CAPS_INT_RANGE (32, 320),
-    "channels", GST_CAPS_INT_RANGE (1, 2),
-    "framed",   GST_CAPS_BOOLEAN (TRUE),
-    NULL
-  },
-  {
-    "audio/mp3",
-    "layer",    GST_CAPS_INT_RANGE (1, 3),
-    "bitrate",  GST_CAPS_INT_RANGE (8, 32),
-    "channels", GST_CAPS_INT_RANGE (1),
-    "framed",   GST_CAPS_BOOLEAN (TRUE),
-    NULL
-  },
-  NULL
-};
diff --git a/docs/random/omega/debug-commit b/docs/random/omega/debug-commit
deleted file mode 100644
index b1b4589..0000000
--- a/docs/random/omega/debug-commit
+++ /dev/null
@@ -1,30 +0,0 @@
-Changes made to the DEBUG system.  New header file gstdebug.h holds the stuff to keep it out of gst.h's
-hair.  DEBUG prints out the process id, cothread id, source filename and line number.  Two new macros
-DEBUG_ENTER and DEBUG_LEAVE are used to show the entry and exit of a given function.  This eventually
-might be used to construct call trace graphs, even taking cothreads into account.  This would be quite
-useful in visualizing the scheduling mechanism.
-
-Minor changes to various debug messages.
-
-Also sitting in gstdebug.h is a prototypical DEBUG_ENTER that's capable of performing DEBUG_LEAVE
-automatically.  It does this by utilizing a little-known GCC extension that allows one to call a
-function with the same parameters as the current function.  The macro uses this to basically call
-itself.  A boolean is used to ensure that when it calls itself it actually runs the body of the
-function.  In the meantime it prints stuff out before and after the real function, as well as
-constructing a debugging string.  This can be used eventually to provide call-wide data on the DEBUG
-lines, instead of having to replicate data on each call to DEBUG.  More research is needed into how this
-would most cleanly be fit into some other chunk of code, like GStreamer (I think of this DEBUG trick as
-a separate project, sorta).
-
-Unfortunately, the aforementioned DEBUG trick interacts quite poorly with cothreads.  Almost any time
-it's used in a function that has anything remotely to do with a cothread context (as in, it runs in
-one), a segfault results from the __builtin_apply call, which is the heart of the whole thing.  If
-someone who really knows assembly could analyze the resulting code to see what's really going on, we
-might find a way to fix either the macro or the cothreads (I'm thinking that there's something we missed
-in constructing the cothreads themselves) so this works in all cases.
-
-In the meantime, please insert both DEBUG_ENTER and DEBUG_LEAVE in your functions.  Be sure to put
-DEBUG_ENTER after your variable declarations and before any functional code, not to put the function
-name in any DEBUG strings (it's already there, trust me), and put a DEBUG_LEAVE if you care enough.
-
-Changes are going to happen in the way DEBUGs and other printouts occur, so stay tuned.
diff --git a/docs/random/omega/eos.old b/docs/random/omega/eos.old
deleted file mode 100644
index 8621d67..0000000
--- a/docs/random/omega/eos.old
+++ /dev/null
@@ -1,52 +0,0 @@
-OUTDATED
---------
-
-
-What I propose for EOS condition is th following:  As is stands, EOS is a
-flag in a buffer.  However, it's also a signal from an element, which is
-odd. What I propose is that EOS become a pad thing.  Here's how it would
-work:
-
-When a source has a final buffer, it marks it as EOS.  It passes this on
-through the pad, and the pads set a 'pending' EOS state on the way
-through.  When another push or pull happens, only then does the pad signal
-EOS.  This means that EOS doesn't happen until the buffer has passed all
-the way to the end, and a request for another buffer is starting to work
-its way back.  It gets stopped almost immediately.
-
-This gets a bit messy in complex cases, haven't thought them all out.
-Assuming everything is reasonably symmetric, it should work out cleanly.
-We may have to add the ability to force buffers to pass even post EOS, but
-that sounds like a hack.
-
-
-
-Example: DVD
-============
-
-
-                                              ------------     |-------|
-                                             -| mpeg2dec |-----|       |
-             ------------------------       / ------------     |       |
-             |                video0|------/ -------------     |       |       -------------
-             |                      |       -| subtitle0 |-----| merge |-------| videosink |
-             |             subtitle0|------/ -------------     |       |       -------------
-----------   |                      |        -------------     |       |
-| dvdsrc |---| mpeg2parse  subtitle1|--------| subtitle1 |-----|       |
-----------   |                      |        -------------     |-------|
-             |                audio0|--------\ -----------     |----------|
-             |                      |         -| ac3dec0 |-----|          |
-             |                audio1|-------\  -----------     |          |    -------------
-             ------------------------        \ -----------     | switcher |----| audiosink |
-                                              -| ac3dec1 |-----|          |    -------------
-                                               -----------     |----------|
-
-When dvdsrc reads its last buffer, it sets EOS on the buffer and passes it.  The pad (probably audio1,
-since video and audio are interleaved and subtitles don't usually end up at the end of a movie) would
-set EOS pending, and pass it to mpeg2dec which would pass the EOS to the merge.  Merge would then ask
-for a buffer from subtitle1, since that's the one we're showing subtitles on right now.  It would then
-pull from the mpeg2parse.  This would cause a switch back the parser, who's next task is to go and set
-all the output pads to EOS.  It may have to accomplish this by sending a zero-byte buffer.
-
-Well, this example isn't actually very good.  I'll go ahead and implement it, and we can see what
-happens.  The current setup is so lacking that anything is better....
diff --git a/docs/random/omega/filterfactory b/docs/random/omega/filterfactory
deleted file mode 100644
index 9936306..0000000
--- a/docs/random/omega/filterfactory
+++ /dev/null
@@ -1,3 +0,0 @@
-A very useful feature would be a FilterFactory, i.e. some system whereby filter writers can avoid
-getting their hands messy with the details of building and operating a G[tk]Object.  A couple of
-structures and a couple of functions should do it.
diff --git a/docs/random/omega/output_policies b/docs/random/omega/output_policies
deleted file mode 100644
index 81dfc80..0000000
--- a/docs/random/omega/output_policies
+++ /dev/null
@@ -1,61 +0,0 @@
-GStreamer polices for various forms of library output, including error cases.
-
-
-g_return_...
-============
-The parameters of a function are checked for validity (non-NULL, correct type, etc.) with g_return[_val]_if_fail, i.e.:
-
-gst_element_connect (GstElement *src, gchar *srcpadname,
-                     GstElement *dest, gchar *destpadname) {
-  g_return_if_fail (src != NULL);
-  g_return_if_fail (GST_IS_ELEMENT(src));
-  g_return_if_fail (srcpadname != NULL);
-  g_return_if_fail (dest != NULL);
-  g_return_if_fail (GST_IS_ELEMENT(dest));
-  g_return_if_fail (destpadname != NULL);
-
-This will inform the user of the library of any basic problems with the arguments they pass, such as a NULL pointer.
-
-
-ERROR
-=====
-The ERROR macro will be used whenever there is some other type of flaw in the data passed, at a GStreamer-specific 
-level:
-
-  srcpad = gst_element_get_pad (src, srcpadname);
-  if (srcpad == NULL) {
-    ERROR(src,"source element has no pad \"%s\"",srcpadname);
-    return;
-  }
-
-An ERROR will generally cause ceasation of the application, and ideally launch gdb.
-
-
-INFO
-====
-The INFO macro will be used to output any interesting state from the library, such as plugin loading and various events 
-of interest.  They will be separated into categories that can be individually enabled and disabled.
-
-Categories (first draft of list, unordered):
-
-cothreads			[cothreads.c]
-gst initialization		[gst.c]
-autoplug results		[autoplug.c]
-autoplug attempts		[autoplug.c]
-bin parentage issues		[gstbin.c]
-plan generation			[gstbin.c]
-schedule generation		[gstschedule.c]
-schedule implementation		[gstpad.c, gstbin.c, etc.]
-buffer operations		[gstbuffer.h]
-caps matching			[gstcaps.c]
-clock stuff			[gstclock.c]
-element pad operations		[gstelement.c]
-elementfactory operations	[gstelementfactory.c]
-pad creation/connection		[gstpad.c]
-pipeline stuff			[gstpipeline.c]
-plugin loading			[gstplugin.c]
-plugin loading errors		[gstplugin.c]
-properties operations		[gstprops.c]
-thread creation/management	[gstthread.c]
-type operations			[gsttype.c]
-XML load/save			[gstxml.c]
diff --git a/docs/random/omega/pad-negotiation b/docs/random/omega/pad-negotiation
deleted file mode 100644
index 6c12468..0000000
--- a/docs/random/omega/pad-negotiation
+++ /dev/null
@@ -1,40 +0,0 @@
-OUTDATED, EARLY IDEA
---------------------
-
-When two pads are connected, a negotiation phase is going to have to
-happen.  Ideally, the caps of the two pads will both be fully-specified,
-and match.  That's the ideal case, but may rarely happen in practice.
-
-It'll work the following way:
-
-1) gst_pad_connect(pad1,pad2) is called by something
-2) pad1's negotiate() method is called, with pad2 as argument
-3) negotiate() repeatedly calls pad2's set_caps() method
-
-At some point, the two pads will agree on a set of caps, and proceed by
-returning TRUE from negotiate(), at which point gst_pad_connect()
-finishes.  If it returns FALSE, gst_pad_connect() is forced to fail.
-
-Now, obviously the algorithm used to find matching caps can get
-complicated.  But in some cases it'll be simple.  Ideally, if there is no
-negotiate() function for pad1, there'll be a function that will go through
-the options and try to make pad1 and pad2 meet in the middle, with no
-specific knowledge of what the caps actually mean.
-
-Another detail is deciding which pads are pad1 and pad2.  In the autoplug
-case, the code will sometimes know which of the pads have the more
-specific caps.  In others, you may not.  Either you can guess, and
-possibly lose to having the slower of the two pad's negotiate() methods do
-the work, or you might be able to actually guess at which is the most
-specific set of caps:
-
-For any given typeid in the union of both pads, look at all properties
-  For each property, find the smallest range, assign this a 1.0
-    For all other instances of this property, assign relative to 1.0
-For each pad1,pad2
-  Take the assigned value of every property, and multiply together
-
-Whichever value is lower between pad1 and pad2 is most likely to be the
-most specific set of caps.  The trick is implementing the above
-efficiently, but on the surface there appear to be more than enough
-potential optimizations.
diff --git a/docs/random/omega/padtemplates b/docs/random/omega/padtemplates
deleted file mode 100644
index 6b3ce4c..0000000
--- a/docs/random/omega/padtemplates
+++ /dev/null
@@ -1,46 +0,0 @@
-OUTDATED
---------
-
-typedef gpointer GstCapsFactoryEntry;
-typedef GstCapsFactoryEntry GstCapsFactory[];
-typedef GstCapsFactory *GstCapsListFactory[];
-
-typedef gpointer GstPadFactoryEntry;
-typedef GstPadFactoryEntry GstPadFactory[];
-typedef GstPadFactory *GstPadListFactory[];
-
-#define GST_PADFACTORY_SRC	GINT_TO_POINTER (GST_PAD_SRC)
-#define GST_PADFACTORY_ALWAYS	GINT_TO_POINTER (GST_PAD_ALWAYS)
-
-typedef struct GstPadTemplate {
-  gchar *name_template;
-  gint direction;
-  gint presence;
-  GList *caps;
-};
-
-GstPadFactory mpg123_src_padfactory = {
-  "src"
-  GST_PADFACTORY_SRC,
-  GST_PADFACTORY_ALWAYS,
-
-  "audio/raw"
-  "samplerate", GST_PROPS_INT (44100),
-  . . .
-  NULL
-};
-
-static GstPadTemplate *srcpadtemplate;
-
-mpg123_new(GstMpg123 *mpg123) {
-  mpg123->srcpad = gst_pad_new_template("src", srcpadtemplate);
-  . . .
-}
-
-plugin_init() {
-  GstElementFactory *factory;
-
-  factory = gst_elementfactory_new("mpg123",. . .);
-  srcpadtemplate = gst_padfactory_new(mpg123_src_padfactory);
-  get_elementfactory_add_padtemplate (srcpadtemplate);
-}
diff --git a/docs/random/omega/plan-generation b/docs/random/omega/plan-generation
deleted file mode 100644
index afc9e07..0000000
--- a/docs/random/omega/plan-generation
+++ /dev/null
@@ -1,87 +0,0 @@
-OUTDATED
---------
-
-Plan generation happens at transition from NULL to READY (and PLAYING to READY right now, need to fix
-that).  By way of some logic in gst_bin_change_state(), gst_bin_create_plan() is only called for the
-outer Bin, usually a Pipeline.  This keeps things from getting nasty later on.
-
-A major new concept in plan generation is that of the 'manager'.  This is the element that is responsible
-for running a given element.  In general, Pipelines and Threads are the only managing-capable elements
-(have the MANAGER flag set), since they are the only ones with real scheduling authority (because they
-have a process context to play with, basically).
-
-gst_bin_set_manager() is called to set the manager element of the bin and all it's children and their
-children.  However, there's one important trick: it won't recurse into child Bins that have the MANAGER
-flag set.  This avoids some highly redundant recursion.
-
-When create_plan() is called on the outside Pipeline, the first thing it does is call
-set_manager(self,self).  As noted above, this recursion will not proceed into child Bins that have the
-MANAGER flag set.
-
-The next step is to recursively generate the plan (yes, head-recursive).  This gives child Bins the
-opportunity to generate their plan first, causing a inside-to-outside sequence.  This matches the way
-the scheduling is arranged now, where the plan for a Src/Connection outside a Bin is handled by that
-Bin, not it's parent.  But we must be very careful not to stomp on that plan in the parent Bin.
-
-Because create_plan() is called on all Bins, but we can only set up scheduling state in MANAGER bins,
-create_plan() must perform create_plan() recursion, but not do anything else *unless* the MANAGER bit is
-set.  It shouldn't even call set_manager() unless it's a MANAGER itself, because calling it otherwise
-would waste time doing the work again.  Basically, from the standpoing of setting the manager,
-create_plan() recursion starts it when the current Bin is a MANAGER, and set_manager() stops when it
-finds the next one.  create_plan()'s further recursion eventually starts the process back up again
-furtuer down the hierarchy, until everything is covered.
-
-For all MANAGER Bins, the last step is to actually create the scheduling plan.  This is still one of the
-nastiest chunks of code in the whole project, and probably will do nothing but get worse from now on (it
-got better recently, but only because I took a chainsaw to the code and broke everything...).  It will
-remain similar to what it is now, but with some definite differences.
-
-First task is now to find all the elements that we're responsible for.  This is normally a recursive
-process, because the structure is an arbitrary tree.  However, something like the following should work 
-(bin is self):
-
-  GSList *elements = NULL;
-  GList *children;
-  GSList *waiting_bins = NULL;
-  GstBin *waiting_bin;
-
-  waiting_bins = g_slist_prepend (waiting_bins,bin);
-
-  while (waiting_bins) {
-    // retrieve the top of the stack and pop it
-    waiting_bin = GST_BIN (waiting_bins->data);
-    waiting_bins = g_slist_remove (waiting_bins,waiting_bin);
-
-    // walk the list of elements, and find bins
-    children = waiting_bin->children;
-    while (children) {
-      // add it to the list of elements
-      elements = g_slist_prepend (elements, children->data);
-
-      // if it's a bin and it's not a managing bin,
-      // shove it on the list of bins to recurse into
-      if (GST_IS_BIN (children->data) && 
-          !GST_FLAG_IS_SET (GST_ELEMENT (children->data)))
-        waiting_bins = g_slist_prepend (waiting_bins,children->data);
-
-      children = g_list_next (children);
-    }
-  }
-
-The code makes the assumption that the manager of every element is the same until such time as a
-different managing parent appears in the hierarchy.  This is the result of the aforementioned nested
-recursion of create_plan() and set_manager(), but may not remain the case forever.  The above loop
-should probably be slightly re-written to work solely on whether or not the Bin in question is the
-element's manager.  This means that the child Bins are *always* recursed into, in case there's a rogue
-element inside of one of them that's supposed to be managed.
-
-At the same time all the elements managed by this bin are found (i.e. in the inner loop), we can
-determine some useful bits of information, such as testing for several cases that require the use of
-cothreads.  The availability of manager information at this point may aid significantly in this
-decision.
-
-Finally, the scheduling plan is generated, based on all the elements to be managed by the Bin (the list
-of which may span several 'generations' of Bins and elements).  Elements which have peers in child
-self-managed Bins are left alone on for the pad in that makes that connection.  This should keep the
-parent Bins from stepping all over state set up by the child Bins, by establishing clear implicit
-ownership on the pad level, based on the managing Bins' relationship to the pad.
diff --git a/docs/random/omega/sched-case b/docs/random/omega/sched-case
deleted file mode 100644
index f5ebd2d..0000000
--- a/docs/random/omega/sched-case
+++ /dev/null
@@ -1,20 +0,0 @@
-Case 1:
-
-
----------------------------------------------------
-| pipeline                                        |
-| ---------------                ---------------- |
-| | bin         |                | thread       | |
-| | ----------- |  ------------  | ------------ | |
-| | | fakesrc | |  | queue    |  | | fakesink | | |
-| | |     src>|-|--|<sink src>|--|-|<sink     | | |
-| | ----------- |  ------------  | ------------ | |
-| ---------------                ---------------- |
----------------------------------------------------
-
-Pipeline manages: fakesrc, queue
-Thread manages: fakesink
-Both forced to use cothreads.
-
-First thing the thread does is try to pull from the queue.  Because it's a chain function, it runs in
-_chain_wrapper, which calls gst_pad_pull().
diff --git a/docs/random/omega/sched-commit1 b/docs/random/omega/sched-commit1
deleted file mode 100644
index 4170674..0000000
--- a/docs/random/omega/sched-commit1
+++ /dev/null
@@ -1,103 +0,0 @@
-STATUS: pushregion/pullregion is gone
--------------------------------------
-
-Changed the way things are scheduled, especially sources.  A Src used to
-have a push() function, and optionally a pushregion() to deal with async
-reads, etc.  That whole thing has gone away, in favor of providing a
-pull() function for the output (Src) pad instead, ala chain functions.  
-This makes constructing cothreaded schedules out of non-loop elements
-somewhat easier.  Basically there was always a question as to which pad
-was being dealt with.  In the pullregion case, cothread-specific data was
-used to try to pass the region struct to the right place, which is a slow
-hack.  And in general, the push function severely limited the kind of
-tricks that could be played when there's more than one output pad, such as
-a multi-out file reader with async capabilities on each pad independently.
-
-This changes the way cothread scheduling occurs.  Instead of the hack to
-deal with Src's by calling their push() function (or optionally the
-pushregion(), in certain cases), we now are working towards a general
-mechanism where pads are the only thing that are dealt with directly.
-
-An optimization was made in the process of doing this: the loopfunction
-actually run as the outer [stack] frame of the cothread is now set more
-intelligently in create_plan() based on what kind of element it is.  We
-now have:
-
-loopfunc_wrapper: used for loop-based elements, it simply calls the
-	loopfunc in a loop, paying attention to COTHREAD_STOPPING (see
-	below).  It currently does other, soon to be deprecated, stuff.
-
-pullsrc_wrapper: wraps a Src that's not loop-based (since your options
-	are now loop- or pull-based)
-
-There will be a couple more to deal with other cases, such as Connections
-and chain-based elements.  The general idea is that it's a lot more
-efficient to make the decisions once in create_plan than to keep doing
-this huge if/else chain in the wrapper.  Just choose the right wrapper up
-front.  It'll be most apparent performance-wise in the case of whichever
-element context is switched to first for each iteration, since the whole
-wrapper setup is done for every iteration.
-
-The tricky part is that there is now a bit of overloading of the function
-pointers in a pad.  The current meanings (possibly to change a bit more
-soon) are:
-
-chainfunc: as always, chainfunc pointer is mirrored between peer pads
-           (this may change, and the chain func may end up in pushfunc)
-pushfunc: SrcPad: gst_pad_pushfunc_proxy, cothread_switch to peer
-          SinkPad: none (may take over chainfunc, see below) pullfunc:
-SrcPad: Src or Connection's function to construct buffers
-          SinkPad: gst_pad_pullfunc_proxy, cothread_switch to peer
-
-There are a number of issues remaining with the scheduling, not the least
-of which is the fact that Connections are still dealt with the old way,
-with _push() functions and such.  I'm trying to figure out a way to unify
-the system so it makes sense.  Following the scheduling system is hard
-enough, trying to change it is murder.
-
-
-Another useful scheduling addition, mentioned above, is COTHREAD_STOPPING.  
-It's an element flag that's used to signal whatever code is running in
-cothread context that it should be finishing up and exiting soon.  An
-example of this is in plugins/cobin/spindentity.c.  All the loops should
-now be composed of do/while loops, rather than while(1) loops:
-
-  do {
-    buf = gst_pad_pull(spindentity->sinkpad);
-    gst_pad_push(spindentity->srcpad,buf);
-  } while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));
-
-The reason for this is that COTHREAD_STOPPING may be set before the above
-loop ever gets started.  It wouldn't do for the body of the loop to never
-once get called, that would simply stall the pipeline. Note that only the
-core library code is ever responsible for setting and unsetting this flag.  
-All elements have to do is respond to it by cleanly exiting the loop and
-the function holding it.
-
-This is needed primarily to allow iterations to occur properly.  
-Basically, there's a single entry point in the cothread scheduling loop,
-gst_bin_iterate_func() simply switches to this cothread.  If the element
-in this context is allowed to loop infinitely, nothing would even switch
-back to the context from which the iterate() was originally called.  This
-is a bit of a problem.  The solution is for there to be an implicit switch
-back to the originating context.  Now, even I'm not sure exactly how this
-works, but if the cothread that's switched to actually returns, execution
-returns back to the calling context, i.e. iterate_func().
-
-COTHREAD_STOPPING is therefore set just before switching into this
-(currently randomly chosen) context, on the assumption that it will return
-promptly after finishing its duties.  The burden of clearing the flag
-falls to the various wrapper functions provided by the Bin code, thus
-element writers don't have to worry about doing that at all (and simply
-shouldn't).
-
-
-Related changes:
-All the sources in elements/ have been changed to reflect the new system.
-
-
-FIXMEs:
-1) gstpipeline.c calls gst_src_push at some point, dunno why, it's
-commented out now.
-2) any other sources, including vcdsrc, dvdsrc, and v4lsrc will break
-badly and need to be modified to work as pull-based sources.
diff --git a/docs/random/omega/sched/chains b/docs/random/omega/sched/chains
deleted file mode 100644
index 69af945..0000000
--- a/docs/random/omega/sched/chains
+++ /dev/null
@@ -1,89 +0,0 @@
-A new concept in scheduling is that of chains of elements that need to be schedule separately, even in the same set of
-managed elements (which is the set of elements that the Bin in question [a pipeline or thread] is responsible for).  
-An example would by anywhere you have a non-blocking queue in place for buffering.  This kind of element might be
-useful in cases where the scheduling on a buffer level is tight enough that deadlocks might occur.
-
-The scheduler will find chains by traversing the pipeline through the list of managed elements.  A chain boundary is 
-anywhere you have a 'DECOUPLED' element.  A DECOUPLED element is one where there is no direct correlation between the 
-activities of the various pads.  A source fits this description, although the normal single-pad source is the 
-degenerate case.  A queue more properly fits the bill, since pushing a buffer at the sink pad doesn't trigger anything 
-on the src pad, and vice versa.  A multi-src async source is probably the best example, since you want to leave the 
-scheduling up to the elements connected to it.
-
-Anyway, first the simple case:
-
-fakesrc -> fakesink
-
-Both of them should probably have the DECOUPLED bit set, at least to be true to the nature of the actual fake elements.  
-These two end up being a chain, and scheduling has to be set up for the chain.  There are no cothreaded elements in the 
-chain, which means it's relatively easy.  The goal is to find a single entry into the chain, which can be called in a 
-loop to get things done.  Since the fakesrc is DECOUPLED, and we'd be messing with the source pad, it has lower 
-priority than a DECOUPLED sink pad, so the fakesrc's sink pad is the ideal entry into the chain.  This can be 
-simplified into saying that the fakesink is the entry.
-
-In the end, the code to do this boils down to:
-
-  buf = gst_pad_pull (fakesink->sinkpad);
-  gst_pad_push (fakesink->sinkpad, buf);
-
-Because of the way things are no implemented for scheduling, turning it around and making the source the entry has no
-effect as far as the efficiency.  That's because _get no longer directly calls gst_pad_push(), so we have to do it
-outside.  No big deal, it boils down to the same thing I think, modulo a cache-line of stack (i.e. one or two fewer
-this way).
-
-If we put an identity in the middle:
-
-fakesrc -> identity -> fakesink
-
-then we have the same thing, except that there's now an element that isn't DECOUPLED, so it gets higher priority.  That 
-means the identity is now the entry, and when we push the buffer into its chain function, the fakesink gets called.
-
-Now, we can make this much more complex, with the following elementary echo meta-filter:
-
-            |=====| -> delay1 -> |=====|
-            |     |              |     |
--> queue -> | tee | -> delay2 -> | mix | -> queue ->
-            |     |              |     |
-            |=====| -> delay3 -> |=====|
-
-The tee takes a buffer in and spits three out, delay shifts the timestamps around and possibly reframes things to be 
-friendly.  mix takes the three buffers and simply sums them (they're all audio).  The tee element takes one buffer in 
-and promptly spits three out, one after another.  Delay takes an element and immediately spits out a buffer (it 
-zero-pads at the beginning [the duration of the delay] for the sake of argument).  Mix in this case is chained, but 
-assumes that buffer will arrive in order.  On the last chain, it does a push of the newly mixed audio buffer.
-
-The queues are both DECOUPLED, so they have lower weight.  That leaves a bunch of other elements sitting there ripe for 
-entry.  But if we were to take delay1, what would happen?  Well we can't, since there's no _get function on the tee's 
-src pads.
-
-This just re-enforces the idea that the left-most (closest to the source, for you right-to-left people) element should 
-get to be the entry.  But what if we have multiple left-most elements?:
-
--> queue -> eq1 -> |=====|
-                   | mix | -> queue
--> queue -> eq2 -> |=====|
-
-If eq1 is the only entry, we call pull on the queue, then chain over to mix.  Mix then doesn't do anything with it, 
-since it's waiting for another buffer before doing anything.  That means we have to do the same with eq2, and have it 
-chain to mix, at which point mix will do its magic and chain out to the right-hand side.  Figure out to actually use 
-both entries is hard, because the idea at this point is that there's only a single entry to a chain.
-
-Does this mean that we should make mix a DECOUPLED element?  That would fix it to some extent, giving us three chains 
-in the above case.  Each eq chain would be driven by the eq element, pulling from the queue and pushing into the mixer.  
-The mixer -> queue chain is problematic, because there is no possibly entry.  The mixer side has no _get function 
-(since the push always happens upon the receipt of a buffer from the second sink pad), which means that those two
-pads have no possible entrance.
-
-Cothreads make this case much easier, since the mix element would drive things, forcing the eq elements to pull and 
-process buffers in order as needed.  It may be that the best option in the case where there are any multi-sinkpad 
-elements is to turn them into cothreads.
-
-
-Now, on to cothreaded cases.  The simplest possible is to turn all the elements into cothreads.  I may punt on this and 
-do just that for the moment, but there's still the question of what to do at the ends of the chain, where the DECOUPLED 
-elements are.  The easiest is to simply always make then chained, so there's never any worry about who owns the 
-cothread context for the element, simply because there never will be one.
-
-fakesrc -> queue -> @identity -> fakesink
-
-We just set it up so both ends of the queue are chained, and all is well.
diff --git a/docs/random/omega/sched/walkthrough-72 b/docs/random/omega/sched/walkthrough-72
deleted file mode 100644
index 6ea3504..0000000
--- a/docs/random/omega/sched/walkthrough-72
+++ /dev/null
@@ -1,39 +0,0 @@
-72)
- 
- [-pipeline---------------------------------------------------------------------------------------------]
- ! [-bin-----------------------------]                                               [-thread---------] !
- ! ! [--------]        [---------]   !     [------]      [---------]      [------]   !    [--------]  ! !
- ! ! !faksesrc!        !identity1!   !     !queue1!      !identity2!      !queue2!   !    !fakesink!  ! !
- ! ! !       src --- sink  *     src --- sink n  src -- sink     src -- sink    src --  sink       !  ! !
- ! ! [--------]        [---------]   !     [------]      [---------]      [------]   !    [--------]  ! !
- ! [---------------------------------]                                               [----------------] !
- [------------------------------------------------------------------------------------------------------]
-
-
------
-Ideally, you'd end up with the following sub-pipelines
-
-pipeline:
-fakesrc -> identity1 -> queue1
-queue1 -> identity2 -> queue2
-
-thread:
-queue2 -> fakesink
-
-
-They'd be scheduled as following:
-
-fakesrc: passive chained, pulled by identity1
-identity1: loopfunc cothreaded, ENTRY
-queue1:sink: passive chained, pushed by identity1
-
-queue1:src: _get-based iteration, ENTRY
-identity2: chained by queue1
-queue2:src: passively chained, pushed by identity2
-
-queue2:sink: passively chained, pulled by fakesink
-fakesink: loopfunc cothreaded, ENTRY
-
-
------
-Most likely, we'd end up with the following
diff --git a/docs/random/omega/sched2 b/docs/random/omega/sched2
deleted file mode 100644
index 3bac20a..0000000
--- a/docs/random/omega/sched2
+++ /dev/null
@@ -1,13 +0,0 @@
-Currently, when an element wants to push or pull, they call gst_pad_*.  These functions then decide what
-to do based on the selection of pointers in the pad.  There are at least 2 options for each, plus some
-header stuff to do various checking of flags.  Unfortunately, because of the selection of pointers in
-the pad, there is at least one case where scheduling has to be tricked, by providing a pointer to a
-function with no body.
-
-What I propose is that these functions be replaced with macros that call a function pointer directly.
-The default functions (provided by GstPad) would be capable of chaining, that's about it.  When a
-schedule is formed, these get replaced with more specific functions, provided by GstBin or a subclass.
-
-In the chain case, the pad_push_func might even be replaced brute force with the chain function, since
-they have the same prototype.  In the cothreaded case, various functions would provide the ability to
-switch, deal with bufpens, etc.
diff --git a/docs/random/omega/scheduling b/docs/random/omega/scheduling
deleted file mode 100644
index 8da58f0..0000000
--- a/docs/random/omega/scheduling
+++ /dev/null
@@ -1,66 +0,0 @@
-STATUS: pull on srcpads is outdated, they use _get
---------------------------------------------------
-
-0) definitions:
-
-All pads without further specifiers are assumed to belong to the element
-in question.  The pad's peer is always denoted with ->peer.  If there's
-question, pads will be prefixed with self-> and other-> as necessary.
-
-All elements in this document have at most one source and one sink pad,
-called srcpad and sinkpad. Multi-pad cases are supposed to be simple
-extrapolations except in a couple strange cases, to be covered elsewhere.
-
-
-1) loop functions:
-
-A loop function will call gst_pad_pull(sinkpad), do something, and call
-gst_pad_push(srcpad).
-
-gst_pad_pull first checks to see if there's a buffer in the pen.  If not,
-it calls that pad's pullfunc handler, passing it the peer pad.  When that
-finishes, we check again and return the buffer.  If no buffer, we squawk.
-The pullfunc handler simply causes a cothread switch to the peer pad's
-context;
-
-gst_pad_push places the buffer in the peer pad's pen, and calls the local
-pad's pushfunc.  The pushfunc simply causes a switch to the peer pad's
-context.
-
-
-2) chain functions
-
-The loopfunc constructed around a chain function starts by finding all
-sink pads.  For each sink pad, it calls gst_pad_pull.  This causes a
-switch to the peer pad's context and a buffer to appear, which is
-returned.  The pad is the handed off to the chain function, which
-presumably does some processing and calls gst_pad_push(), which causes a
-context switch to that pad's peer.
-
-
-
-3) source
-
-The loopfunc must repeatedly call the srcpad's pull
-
-
-
-
-
----------------------------------	---------------------------------
- srcpad				|	| sinkpad
-				|	|
- GstPad *peer;			| <-p->	| GstPad *peer;
-   pointer to peer pad		|	|   pointer to peer pad
-				|	|
- funcptr *pushfunc;		| --s->	| funcptr *pushfunc;
-   causes switch to peer ctx	|	|   element uses buffer in pen,
-				|	|
- funcptr *pullfunc;		| <-s--	| funcptr *pullfunc;
-   element puts buffer in pen,	|	|   causes switch to peer ctx
-   calls gst_pad_push()		|	|
-				|	|
- funcptr *pullregion func	| <-s--	| funcptr *pullregionfunc;
-   element puts region in pen	|	|   causes switch to peer ctx
-   calls gst_pad_push()		|	|
----------------------------------	---------------------------------
diff --git a/docs/random/omega/testing/Makefile b/docs/random/omega/testing/Makefile
deleted file mode 100644
index 691d5cd..0000000
--- a/docs/random/omega/testing/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-gstobject: gstobject.c
-	libtool gcc -o gstobject gstobject.c -I../../../.. ../../../../gst/libgst.la \
-`gtk-config --cflags --libs` `xml-config --cflags --libs`
diff --git a/docs/random/omega/testing/framework b/docs/random/omega/testing/framework
deleted file mode 100644
index 4ef4519..0000000
--- a/docs/random/omega/testing/framework
+++ /dev/null
@@ -1,144 +0,0 @@
-Construction
-Validation
-Testing
-
-Construction will generate some state
-Validation will ensure that everything is kosher
-Tests use combinations of the above to check things
-
-##### Example:
-parent = gst_object_get_parent(object);
-
-setup:
-	create: new object
-		action: object = gst_object_new();
-		validation: object != NULL, object->parent == NULL, etc
-		[cleanup: gst_object_destroy(object);]
-	create: new parent
-		action: parent = gst_object_new();
-		validation: parent != NULL, parent->parent == NULL, etc
-		[cleanup: gst_object_destroy(parent);]
-	create: set object's parent
-		precondition: object->parent == NULL
-		action: gst_object_set_parent(object,parent);
-		validation: object->parent = parent
-preconditions:
-	nothing
-action:
-	curparent = gst_element_get_parent(object);
-validation:
-	curparent == object->parent
-	curparent == parent
-cleanup:
-	nothing
-
-
-##### Resulting code:
-
-///// setup
-// new object
-object = gst_object_new();
-ASSERT(object != NULL);
-ASSERT(object->parent == NULL);
-// new object
-parent = gst_object_new();
-ASSERT(parent != NULL);
-ASSERT(parent->parent == NULL);
-// set object parent
-ASSERT(object->parent == NULL);
-gst_object_set_parent(object,parent);
-ASSERT(object->parent != NULL);
-
-///// preconditions
-
-///// action
-curparent = gst_element_get_parent(object);
-
-///// validation
-ASSERT(object->parent == parent);
-
-///// cleanup
-gst_object_destroy(parent);
-gst_object_destroy(object);
-
-
-
-##### XML descriptions
-
-<construct name="new object">
-  <variable>
-    GstObject *object;
-  </variabls>
-  <action>
-    object = gst_object_new();
-  </action>
-  <validation>
-    <assert>
-      object != NULL
-    </assert>
-    <assert>
-      GST_IS_OBJECT(object)
-    <assert>
-      object->parent == NULL
-    </assert>
-  </validation>
-  <cleanup>
-    <validation>
-      <assert>
-        object != NULL
-      </assert>
-      <assert>
-        GST_IS_OBJECT(object)
-      </assert>
-    </validation>
-    <action>
-      gst_object_destroy(object);
-    </action>
-  </cleanup>
-</construct>
-
-<construct name="set object parent">
-  <variable>
-    GstObject *object;
-  </variable>
-  <variable>
-    GstObject *object;
-  </variable>
-  <precondition>
-    <assert>
-      object->parent == NULL
-    </assert>
-  </precondition>
-  <action>
-    gst_object_set_parent(object,parent);
-  </action>
-  <validation>
-    <assert>
-      object->parent == parent
-    </assert>
-  </validation>
-</construct>
-
-<test name="set object parent">
-  <variable>
-    GstObject *object;
-  <variable>
-  </variable>
-    GstObject *parent;
-  <variable>
-  </variable>
-    GstObject *curparent;
-  </variable>
-  <setup>
-    object = gst_object_new();
-    parent = gst_object_new();
-    gst_object_set_parent(object,parent);
-  </setup>
-  <action>
-    curparent = gst_element_get_parent(object);
-  </action>
-  <validation>
-    curparent == object->parent
-    curparent == parent
-  </validation>
-</test>
diff --git a/docs/random/omega/testing/gstobject.c b/docs/random/omega/testing/gstobject.c
deleted file mode 100644
index d188f49..0000000
--- a/docs/random/omega/testing/gstobject.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include <gst/gst.h>
-
-static gchar *_subject, *_category;
-static gint _testnum = 0;
-static gboolean _passed;
-static gint _total_tests = 0, _passed_tests = 0;
-static gint _random_size;
-
-void
-tabpad (gchar * str, gint width)
-{
-  int i;
-
-  for (i = 0; i < width - strlen (str); i++)
-    fprintf (stderr, " ");
-}
-
-#define TEST_SUBJECT(subject) fprintf(stderr,"Subject: %s\n",subject),_subject = subject
-#define TEST_CATEGORY(category) fprintf(stderr,"\n\nCategory: %s\n",category)
-
-#define TEST(test) fprintf(stderr,"Test %d: %s...\n",_testnum,test),_passed = TRUE
-#define ASSERT(expr) G_STMT_START{                              \
-  fprintf(stderr,"\t%s:",#expr);tabpad(#expr,50);               \
-  if (!(expr)) {                                                \
-    fprintf(stderr,"FAILED\n");                                 \
-    _passed = FALSE;                                            \
-  } else {                                                      \
-    fprintf(stderr,"passed\n");                                 \
-  }                                                             \
-}G_STMT_END;
-#define ENDTEST() G_STMT_START{                 \
-  _testnum++;                                   \
-  if (_passed) {                                \
-    fprintf(stderr,"\tpassed.\n");              \
-    _passed_tests++;                            \
-  } else {                                      \
-    fprintf(stderr,"\tFAILED.\n");              \
-  }                                             \
-  _total_tests++;                               \
-}G_STMT_END;
-
-void
-SETUP_RANDOM_SIZE (void *random, gint size)
-{
-  int i;
-
-  if (random)
-    g_free (random);
-  _random_size = size;
-  random = g_malloc (_random_size);
-  for (i = 0; i < _random_size; i++)
-    ((unsigned char *) random)[i] = i;
-}
-
-#define SETUP_RANDOM(random,type) SETUP_RANDOM_SIZE(random,sizeof(type))
-
-gboolean
-RANDOM_OK (void *random)
-{
-  int i;
-
-  for (i = 0; i < _random_size; i++) {
-    if (((unsigned char *) random)[i] != i) {
-      SETUP_RANDOM_SIZE (random, _random_size);
-      return FALSE;
-    }
-  }
-  return TRUE;
-}
-
-int
-main (int argc, char *argv[])
-{
-  GstObject *object;
-  GstObject *parent;
-  GstObject *newparent;
-  GtkObject *gtkobject;
-  GstObject *curparent;
-
-  gst_init (&argc, &argv);
-
-  TEST_SUBJECT ("GstObject");
-
-
-  TEST_CATEGORY ("Creation");
-
-  TEST ("create object");
-  /* setup */
-  /* action */
-  object = gst_object_new ();
-  /* assertions */
-  ASSERT (object != NULL);
-  ASSERT (GST_IS_OBJECT (object));
-  /* cleanup */
-  g_free (object);
-  ENDTEST ();
-
-
-  /* new category */
-  TEST_CATEGORY ("Refcounting");
-  /* category setup */
-  object = gst_object_new ();
-
-  TEST ("new object");
-  /* setup */
-  /* action */
-  /* assertions */
-  ASSERT (object->refcount == 1);
-  ASSERT (GTK_OBJECT_FLOATING (object) == TRUE);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("increment refcount");
-  /* setup */
-  /* action */
-  gst_object_ref (object);
-  /* assertions */
-  ASSERT (object->refcount == 2);
-  ASSERT (GTK_OBJECT_FLOATING (object) == TRUE);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("sink object");
-  /* setup */
-  /* action */
-  gst_object_sink (object);
-  /* assertions */
-  ASSERT (object->refcount == 1);
-  ASSERT (GTK_OBJECT_FLOATING (object) == FALSE);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("increment refcount after sink");
-  /* setup */
-  /* action */
-  gst_object_ref (object);
-  /* assertions */
-  ASSERT (object->refcount == 2);
-  ASSERT (GTK_OBJECT_FLOATING (object) == FALSE);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("decrement refcount after sink");
-  /* setup */
-  /* action */
-  gst_object_unref (object);
-  /* assertions */
-  ASSERT (object->refcount == 1);
-  ASSERT (GTK_OBJECT_FLOATING (object) == FALSE);
-  /* cleanup */
-  ENDTEST ();
-
-  /* category cleanup */
-  g_free (object);
-
-
-
-  /* new category */
-  TEST_CATEGORY ("Parentage");
-  /* category setup */
-  object = gst_object_new ();
-  parent = gst_object_new ();
-  newparent = gst_object_new ();
-  gtkobject = gtk_type_new (gtk_object_get_type ());
-  /* category assertions */
-  ASSERT (object != NULL);
-  ASSERT (object->refcount == 1);
-  ASSERT (object->parent == NULL);
-  ASSERT (parent != NULL);
-  ASSERT (newparent != NULL);
-  ASSERT (gtkobject != NULL);
-  ASSERT (!GST_IS_OBJECT (gtkobject));
-
-  TEST ("gst_object_set_parent: null object");
-  /* setup */
-  /* action */
-  gst_object_set_parent (NULL, NULL);
-  /* assertions */
-  ASSERT (object->parent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: invalid object");
-  /* setup */
-  /* action */
-  gst_object_set_parent ((GstObject *) gtkobject, NULL);
-  /* assertions */
-  ASSERT (object->parent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: null parent");
-  /* setup */
-  /* action */
-  gst_object_set_parent (object, NULL);
-  /* assertions */
-  ASSERT (object->parent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: invalid parent");
-  /* setup */
-  /* action */
-  gst_object_set_parent (object, (GstObject *) gtkobject);
-  /* assertions */
-  ASSERT (object->parent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: valid object, parent is object");
-  /* setup */
-  /* action */
-  gst_object_set_parent (object, object);
-  /* assertions */
-  ASSERT (object->parent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: valid object and parent");
-  /* setup */
-  /* action */
-  gst_object_set_parent (object, parent);
-  /* assertions */
-  ASSERT (object->parent == parent);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_set_parent: parent already set");
-  /* setup */
-  /* action */
-  gst_object_set_parent (object, newparent);
-  /* assertions */
-  ASSERT (object->parent != newparent);
-  ASSERT (object->parent == parent);
-  /* cleanup */
-  g_free (object);
-  ENDTEST ();
-
-
-  TEST ("gst_object_get_parent: null object");
-  /* setup */
-  /* action */
-  curparent = gst_object_get_parent (NULL);
-  /* assertions */
-  ASSERT (curparent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_get_parent: invalid object");
-  /* setup */
-  /* action */
-  curparent = gst_object_get_parent ((GstObject *) gtkobject);
-  /* assertions */
-  ASSERT (curparent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_get_parent: no parent");
-  /* setup */
-  object = gst_object_new ();
-  /* action */
-  curparent = gst_object_get_parent (object);
-  /* assertions */
-  ASSERT (curparent == NULL);
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_get_parent: valid parent");
-  /* setup */
-  gst_object_set_parent (object, parent);
-  /* action */
-  curparent = gst_object_get_parent (object);
-  /* assertions */
-  ASSERT (curparent == parent);
-  /* cleanup */
-  g_free (object);
-  ENDTEST ();
-
-
-  TEST ("gst_object_unparent: null object");
-  /* setup */
-  /* action */
-  gst_object_unparent (NULL);
-  /* assertions */
-  /* NONE - FIXME! */
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_unparent: invalid object");
-  /* setup  */
-  /* action */
-  gst_object_unparent ((GstObject *) gtkobject);
-  /* assertions */
-  /* NONE - FIXME! */
-  /* cleanup */
-  ENDTEST ();
-
-  TEST ("gst_object_unparent: no parent");
-  /* setup */
-  object = gst_object_new ();
-
-
-  /* category cleanup */
-  g_free (object);
-  g_free (parent);
-  g_free (newparent);
-  g_free (gtkobject);
-
-
-
-  fprintf (stderr, "\n\nTotal tests:\t%d\n", _total_tests);
-  fprintf (stderr, "Total passed:\t%d\n", _passed_tests);
-  fprintf (stderr, "Total FAILED:\t%d\n", _total_tests - _passed_tests);
-}
diff --git a/docs/random/omega/testing/gstobject.txt b/docs/random/omega/testing/gstobject.txt
deleted file mode 100644
index 35f0396..0000000
--- a/docs/random/omega/testing/gstobject.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-Subject: GstObject
-
-Areas to test
-=============
-
-Creation
-Refcounting
-Destruction
-Flags
-Locking
-Parentage
-Path string
-
-
-Tests
-=====
-
-Creation
---------
-Create an object
-	Does it return !NULL
-	GST_IS_OBJECT() ?
-
-Refcounting
------------
-Create new object
-	object->refcount == 1, GTK_OBJECT_FLOATING(object) == TRUE
-Increment refcount
-	object->refcount == 2
-Sink object
-	object->refcount == 1, GTK_OBJECT_FLOATING(object) == FALSE
-Increment refcount
-	object->refcount == 2
-Decrement refcount
-	object->refcount == 1
-
-Destruction
------------
-???
-
-Flags (start with new object)
------
-Create new object
-	Verify that all flags are unset
-Set a flag
-	Verify it's set
-Unset a flag
-	Verify it's not set
-
-Locking (start with new object)
--------
-Lock an object
-	Try to lock, get false
-
-Parentage (start with new object, check refcount == 1)
----------
-gst_object_set_parent: (start with new parent object)
-	Pass NULL...
-	Pass !NULL, but not Object...
-	Pass NULL parent...
-	Pass !NULL parent, but not Object...
-	Pass valid Object, and parent == object
-		object->refcount == 1
-		GTK_OBJECT_FLOATING(object) == TRUE
-		object->parent == NULL
-	Pass valid Object
-		object->refcount == 1
-		GTK_OBJECT_FLOATING(object) == FALSE
-		object->parent == parent
-		The "parent_set" signal should fire with the object and parent as args
-	Pass Object with parent already set
-		object->parent should not equal new parent
-		object->refcount == 1
-gst_object_get_parent:
-	Pass NULL...
-	Pass !NULL, not Object...
-	Pass valid object with no parent
-		Get NULL
-	Pass valid object with parent
-		Get parent pointer
-gst_object_unparent:
-	Pass NULL, with no parent
-		no effect
-	Pass !NULL, not Object, NULL parent
-		pointer not mangled
-	Pass valid object, with no parent
-		object->parent == NULL
-		object->refcount = 1
-	Pass NULL, with valid parent
-		no effect
-	Pass !NULL, not Object, with valid object as parent
-		pointer not mangled
-	Pass valid object, with valid parent
-		object->parent == NULL
-		object->refcount == 0
diff --git a/docs/random/omega/type-properties b/docs/random/omega/type-properties
deleted file mode 100644
index b216470..0000000
--- a/docs/random/omega/type-properties
+++ /dev/null
@@ -1,77 +0,0 @@
-OUTDATED
---------
-
-
-A type properties system might look like following:
-
-
-1) Type definition includes the properties and their ranges:
-
-audio/mp3
-	layer:		1 - 3
-	bitrate:	8 - 320
-
-audio/raw
-	format:		bitfield (using asound.h definitions)
-	depth:		8 - 32
-	rate:		4000 - 96000
-	channels:	1 - n
-	interleave:	boolean
-
-video/raw
-	format:		32-bit FOURCC
-	bpp:		1 - 32
-	width:		1 - n
-	height:		1 - n
-	framerate:	32-bit float
-
-etc.
-
-
-2) An element can specify what subtypes it can deal with by creating a list of property tables:
-
-mpg123: audio/mp3
-	layer:		1 - 3
-	bitrate:	8 - 320
-
-osssink:
-	format:		S8, S16, etc.
-	depth:		8 - 16
-	rate:		8000 - 48000
-	channels:	1 - 2
-	interleave:	true
-
-And you could list several of these, so for instance if the card only supports 8-bit at up to 22KHz in
-mono, you can remove S8 from the above list and add a second entry:
-
-osssink:
-	format:		S8
-	depth:		8
-	rate:		8000 - 22050
-	channels:	1
-	interleave:	false (irrelevant)
-
-The obvious problem with these examples is that the rate isn't really 8000 - 48000, it's 8000, 11025,
-16000, 22050, 44100, and 48000.  However, we may be able to leave these to pad connect time.
-
-
-
-
-
-struct _type_definition {
-  char *mime_type;
-
-  ....
-
-  GData *properties;
-}
-
-gst_type_add_property_int(_type *type,gchar *propname,int min,int max) {
-  struct _type_prop_int prop_int;
-  GQuark quark = g_quark_from_string(propname);
-
-  prop_int->id = quark;
-  prop_int->min = min;
-  prop_int->max = max;
-  g_datalist_id_set_data(type->properties,quark,&prop_int);
-}
diff --git a/docs/random/phonon-gst b/docs/random/phonon-gst
deleted file mode 100644
index 9f9b934..0000000
--- a/docs/random/phonon-gst
+++ /dev/null
@@ -1,269 +0,0 @@
-Phonon backend
---------------
-
- The phonon design is based around forming graphs using 3 basic components:
-
- - a source component that generates raw audio/video/subtitle data, aka
-   MediaObject. 
- - an effect component that applies effects to raw audio/video known as
-   AudioPath/VideoPath respectively. Subtitles are routed to a VideoPath
- - output components that render audio or video called AudioOutput and
-   VideoOutput.
-
-  there is also a special input object that allows for feeding raw data in the
-  pipeline and specialized sinks to retrieve audio samples and video frames from
-  the pipeline.
-
- A typical graph or a source that produces an audio and a video stream that
- need to be played. The VideoPath and AudioPath typically contain no filters
- in this case:
-
-                     +----+  +---
-                     | FX |  | ...
-                     +----+  +---
-                       V       V
-                      +-----------+      +-------------+
-                ----->| VideoPath |----->| VideoOutput |
-                |     +-----------+      +-------------+
-    +-------------+
-    | MediaObject |
-    +-------------+
-                |     +-----------+      +-------------+
-                +---->| AudioPath |----->| AudioOutput |
-                      +-----------+      +-------------+
-                       ^       ^
-                     +----+  +---
-                     | FX |  | ...
-                     +-+--+  +---
-
-   - This is very similar to a regular gstreamer playback pipeline.
-
-  A typical graph of playing and crosfading two sources:
-
-                          +--------+
-                          | volume |
-                          +--------+
-                              V  
-     +-------------+    +-----------+                    
-     | MediaObject |--->| AudioPath |\                    
-     +-------------+    +-----------+ \     +-------------+
-                                       ---->| AudioOutput |
-     +-------------+    +-----------+ /     +-------------+
-     | MediaObject |--->| AudioPath |/                    
-     +-------------+    +-----------+                    
-                              ^  
-                          +--------+
-                          | volume |
-                          +--------+
-
-  - As soon as two audio paths are connected to one sink, the input signals are
-    mixed before sending them to the sink. The mixing is typically done in the
-    audio sink by an element such as adder.
-
-  Other types of graphs are possible too:
-
-                        +-----------+                    
-                       /| AudioPath |\                    
-     +-------------+  / +-----------+ \     +-------------+
-     | MediaObject |--                 ---->| AudioOutput |
-     +-------------+  \ +-----------+ /     +-------------+
-                       \| AudioPath |/
-                        +-----------+                    
-
-  - This graph sends the same out data to 2 effect filter graphs and then mixes
-    it to an audio output. The splitting of the graph typically happens with a
-    tee element after the media object.
-
-
-Questions
----------
-
- 1) do the following chains run
- 
-    - synchronized with a shared clock?
-
-     +-------------+    +-----------+    +-------------+                
-     | MediaObject |--->| AudioPath |--->| AudioOutput |
-     +-------------+    +-----------+    +-------------+
-
-     +-------------+    +-----------+    +-------------+                
-     | MediaObject |--->| VideoPath |--->| VideoOutput |
-     +-------------+    +-----------+    +-------------+
-
-    - no API to set both MediaObjects atomically to play so it is assumed that
-      the playback starts and follows the rate of the global clock as soon as
-      the MediaObject is set to play. This makes unconnected chains run as if
-      they were in different GstPipelines.
-
- 2) Threading:
-
-   - Can signals be emitted from any thread?
-   - what operations are permitted from a signal handler?
-
- 3) Error reporting
-
-   - How does error reporting work?
-     * an audio/video device/port is busy.
-     * a fatal decoding error occurred.
-     * a media type is not supported
-
-
-General
--------
-
- - Setting up KDE and Phonon build environment
- - Testing, identifying test applications, building test cases
- - Asking questions to Phonon maintainers/designers
-
-Essential classes
------------------
-
-These classes are essential to implement a backend and should be implemented
-first. 
-
-Phonon::BackendCapabilities
-
-  Mostly exposes features in the registry like available decoders and effects.
-
-Phonon::Factory
-
-  Entry point for the GStreamer backend. Provides methods to create instances of
-  object from our backed.
-
-
-Simple playback
----------------
-
-The following classes need to be implemented in order to have simple playback
-capabilities from the backend.
-
-Phonon::AudioOutput
-
-  - Wrapper around audiosinks. Also needs provision for rate and format
-    conversions.  
-  - Mixing capabilities in the case when 2 audio paths are routed to it. 
-
- Notes:
-
-  * is the volume related to the device or to the connection to the device.
-
-Phonon::VideoWidget
-
-  - Wrapper around videosinks. Also needs provision for colorspace and size
-    conversions.  Extends QWidget and probably needs to hook into the XOverlay
-    stuff to draw in the QT widget.  Supports fullscreen mode with a switch.
-
-  - Needs mixing capabilities in the case when 2 video paths are routed to it. 
-
-Phonon::AbstractMediaProducer
-
-  - contains stream selection
-  - play/pause/stop
-  - seeking
-  - periodically performs tick callbacks.
-
-Phonon::MediaObject:
-
-  - The object that decodes the media into raw audio/video/subtitle.
-    This object will use the GStreamer decodebin element to perform the
-    typefinding and decoding.
-
-Phonon::AudioPath/Phonon::VideoPath
-
-  - Simple container for audio/video effect plugins. 
-  - Handles adding/removing of effects, making sure that the streaming is not
-    interrupted and the formats are all compatible.
-
-
-Effect support
---------------
-
-Phonon::Visualization
-
-  Connects an AudioPath to a VideoWidget and allows for selection of a
-  visualisation plugin.
-
-Phonon::AudioEffect/Phonon::VideoEffect
-
-  Base classes
-
-Phonon::VolumeFaderEffect
-
-  Allows fade-in and fade-out with a configurable curve and time. Needs
-  GstController.
-
-Phonon::BrightnessControl
-
-  Controls the brightness of video.
-
-
-Playlist support
-----------------
-
-Phonon::MediaQueue:
-
-  ?? don't know yet where this fits in.
-
-
-Capture
--------
-
-Phonon::AvCapture
-
-  Synchronized audio and video capture. 
-
-Phonon::AudioWriter
-
-  Compress audio.
-
-
-Advanced features
------------------
- 
-Phonon::ByteStream
-
-  Feed raw data into the pipeline. Used for streaming network access.
-
- Implementation:
-
-  Possibly a specialized source element connected to a decodebin.
-
- Notes:
-
-  * Phonon::ByteStream::writeData
-   - can it block?
-
-  * Phonon::ByteStream::setStreamSeekable
-   - If called before starting the ByteStream, decodebin might operate in pull
-     based mode when supported. Else the source is activated in push mode.
-   - If called after starting ByteStream, the Phonon::ByteStream::seekStream
-     signal can be called for push-based seekable streams.
-
-  * Can the signals be emitted from a streaming thread?
-   
-
-Phonon::AudioDataOutput/Phonon::VideoDataOutput/
-
-  Receive raw audio/video data from the pipeline. Used to allow applications to
-  deal with the raw data themselves.
-
- Implementation:
-
-  Possibly a specialized sink element.
-
- Notes :
-
-  * Phonon::AudioDataOutput::dataReady
-    - can this be emitted from the streaming threads?
-
-  * Phonon::AudioDataOutput::endOfMedia 
-    - can this be emitted from the streaming threads?
-    - We need to grab this EOS message synchronously from the bus.
-    - should be emitted _before_ sending the last dataReady. This means we need
-      to cache at least one dataReady.
-
-  * Phonon::AudioDataOutput::setDataSize
-    - can this be a _suggested_ data size or does every callback need to be of
-      this size?
-
-  
diff --git a/docs/random/plugins b/docs/random/plugins
deleted file mode 100644
index ad98aa2..0000000
--- a/docs/random/plugins
+++ /dev/null
@@ -1,93 +0,0 @@
-SOMEWHAT OUTDATED
------------------
-
-
-We describe how the plugin system works.
-
-Plugins
--------
-
-plugins are basically shared libraries with a plugin_init
-function.
-
-they provide the GStreamer core library with the following
-information:
-
-  - element factories
-  - type factories
-  - metadata factories?
-
-ElementFactory
---------------
-
-element factories provide the core library with elements (duh)
-
-an element factory has the following information:
-
-  - a unique name for the element factory
-  - strings describing the element (name, description, copyright,...)
-  - a description of the media types it accepts (as capabilities) 
-  - a description of the media types it outputs (as capabilities)
-
-
-TypeFactory
------------
-
-has the following properties:
-
- - a mime type
- - file extensions that may provide a hint for this type
- - a function to detect this type
- - a string to detect this type (file(1) like)
-
-
-XML registry
-------------
-
-The complete plugin tree will be exported into an XML description so
-that the definitions of the factories can be obtained without having
-to load and plugin_init the plugins.
-
-Loading of plugins
-------------------
-
-at some point, the plugin will need to be read into memory before
-any elements it provides can be used. the XML description of the
-loaded plugin will need to be updated.
-
-We will have the following methods for (implicitly) loading plugins:
-
- gst_plugin_load_all()
-
-  remove the complete XML tree and read all the plugins in the
-  paths. The plugin_init method will be called and the XML tree
-  will be rebuild in memory.
-
- gst_plugin_load (name)
-
-  The plugin will be located in the tree and if it already loaded, the
-  function returns. If it is not loaded, the XML entry is removed and
-  the plugin is loaded. The plugin_init is called so that the XML tree
-  is reconstructed.
-
- gst_elementfactory_create (factory, name);
-
-  The plugin providing the element will be located, if the plugin is
-  already loaded, an element with the given name is created.
-  if the plugin is not loaded, gst_plugin_load is called.
-  the loaded factory is located again and the element is created.
-
- The typefind function is called
-
-  When the plugin description  is read from the XML file, the typefind 
-  function is hooked up to a dummy typefind function. The dummy typefind 
-  function will locate the plugin it belongs to and call gst_plugin_load.
-  after the loading of the plugin, the real typefind function is called.
-
-
-
- 
-
-  
-
-
diff --git a/docs/random/plugins.dia b/docs/random/plugins.dia
deleted file mode 100644
index e7c4206..0000000
--- a/docs/random/plugins.dia
+++ /dev/null
@@ -1,941 +0,0 @@
-<?xml version="1.0"?>
-<diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
-  <diagramdata>
-    <attribute name="background">
-      <color val="#ffffff"/>
-    </attribute>
-    <attribute name="paper">
-      <composite type="paper">
-        <attribute name="name">
-          <string>#A4#</string>
-        </attribute>
-        <attribute name="tmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="bmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="lmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="rmargin">
-          <real val="2.82"/>
-        </attribute>
-        <attribute name="is_portrait">
-          <boolean val="true"/>
-        </attribute>
-        <attribute name="scaling">
-          <real val="1"/>
-        </attribute>
-        <attribute name="fitto">
-          <boolean val="false"/>
-        </attribute>
-      </composite>
-    </attribute>
-    <attribute name="grid">
-      <composite type="grid">
-        <attribute name="width_x">
-          <real val="1"/>
-        </attribute>
-        <attribute name="width_y">
-          <real val="1"/>
-        </attribute>
-        <attribute name="visible_x">
-          <int val="1"/>
-        </attribute>
-        <attribute name="visible_y">
-          <int val="1"/>
-        </attribute>
-      </composite>
-    </attribute>
-    <attribute name="guides">
-      <composite type="guides">
-        <attribute name="hguides"/>
-        <attribute name="vguides"/>
-      </composite>
-    </attribute>
-  </diagramdata>
-  <layer name="Background" visible="true">
-    <object type="UML - Class" version="0" id="O0">
-      <attribute name="obj_pos">
-        <point val="0.85,4.15"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="0.8,4.1;12.3656,11.4"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="0.85,4.15"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="11.4656"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="7.2"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstPlugin#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#name#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#longname#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#char *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#filename#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#loaded#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gboolean#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#elements#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#types#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#autopluggers#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Class" version="0" id="O1">
-      <attribute name="obj_pos">
-        <point val="17,9"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="16.95,8.95;31.9092,13.85"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="17,9"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="14.8592"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="4.8"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstElementFactory#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#name#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#type#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GtkType#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#details#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstElementDetails *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#padtemplates#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GList *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O2">
-      <attribute name="obj_pos">
-        <point val="12.3156,9.25"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="10.8656,7.8;18.45,11.15"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="12.3156,9.25"/>
-        <point val="15,9.25"/>
-        <point val="15,9.7"/>
-        <point val="17,9.7"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O0" connection="17"/>
-        <connection handle="1" to="O1" connection="3"/>
-      </connections>
-    </object>
-    <object type="UML - Class" version="0" id="O3">
-      <attribute name="obj_pos">
-        <point val="21,2"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="20.95,1.95;34.9396,6.85"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="21,2"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="13.8896"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="4.8"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstPadTemplate#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#name_template#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#direction#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstPadDirection#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#presence#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstPadPresence#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#caps#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstCaps *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O4">
-      <attribute name="obj_pos">
-        <point val="31.8592,13.3"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="30.4092,1.25;38.45,14.75"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="31.8592,13.3"/>
-        <point val="37,13.3"/>
-        <point val="37,2.7"/>
-        <point val="34.8896,2.7"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O1" connection="15"/>
-        <connection handle="1" to="O3" connection="4"/>
-      </connections>
-    </object>
-    <object type="UML - Class" version="0" id="O5">
-      <attribute name="obj_pos">
-        <point val="17.1,14.85"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="17.05,14.8;32.494,18.9"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="17.1,14.85"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="15.344"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstTypeFactory#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#mime#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#exts#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#typefindfunc#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GstTypeFindFunc#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O6">
-      <attribute name="obj_pos">
-        <point val="12.3156,10.05"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="10.8656,8.6;18.55,17"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="12.3156,10.05"/>
-        <point val="15.7,10.05"/>
-        <point val="15.7,15.55"/>
-        <point val="17.1,15.55"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O0" connection="19"/>
-        <connection handle="1" to="O5" connection="3"/>
-      </connections>
-    </object>
-    <object type="UML - Class" version="0" id="O7">
-      <attribute name="obj_pos">
-        <point val="17.065,19.975"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="17.015,19.925;27.5201,24.025"/>
-      </attribute>
-      <attribute name="elem_corner">
-        <point val="17.065,19.975"/>
-      </attribute>
-      <attribute name="elem_width">
-        <real val="10.4051"/>
-      </attribute>
-      <attribute name="elem_height">
-        <real val="4"/>
-      </attribute>
-      <attribute name="name">
-        <string>#GstAutoplugFactory#</string>
-      </attribute>
-      <attribute name="stereotype">
-        <string/>
-      </attribute>
-      <attribute name="abstract">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_attributes">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="suppress_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="visible_attributes">
-        <boolean val="true"/>
-      </attribute>
-      <attribute name="visible_operations">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="attributes">
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#name#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#longdesc#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#gchar *#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-        <composite type="umlattribute">
-          <attribute name="name">
-            <string>#type#</string>
-          </attribute>
-          <attribute name="type">
-            <string>#GtkType#</string>
-          </attribute>
-          <attribute name="value">
-            <string/>
-          </attribute>
-          <attribute name="visibility">
-            <enum val="0"/>
-          </attribute>
-          <attribute name="abstract">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="class_scope">
-            <boolean val="false"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <attribute name="operations"/>
-      <attribute name="template">
-        <boolean val="false"/>
-      </attribute>
-      <attribute name="templates"/>
-    </object>
-    <object type="UML - Association" version="0" id="O8">
-      <attribute name="obj_pos">
-        <point val="12.3156,10.85"/>
-      </attribute>
-      <attribute name="obj_bb">
-        <rectangle val="10.8656,9.4;18.515,22.125"/>
-      </attribute>
-      <attribute name="orth_points">
-        <point val="12.3156,10.85"/>
-        <point val="14.8,10.85"/>
-        <point val="14.8,20.675"/>
-        <point val="17.065,20.675"/>
-      </attribute>
-      <attribute name="orth_orient">
-        <enum val="0"/>
-        <enum val="1"/>
-        <enum val="0"/>
-      </attribute>
-      <attribute name="name">
-        <string/>
-      </attribute>
-      <attribute name="direction">
-        <enum val="0"/>
-      </attribute>
-      <attribute name="ends">
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#1#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="2"/>
-          </attribute>
-        </composite>
-        <composite>
-          <attribute name="role">
-            <string/>
-          </attribute>
-          <attribute name="multiplicity">
-            <string>#*#</string>
-          </attribute>
-          <attribute name="arrow">
-            <boolean val="false"/>
-          </attribute>
-          <attribute name="aggregate">
-            <enum val="0"/>
-          </attribute>
-        </composite>
-      </attribute>
-      <connections>
-        <connection handle="0" to="O0" connection="21"/>
-        <connection handle="1" to="O7" connection="3"/>
-      </connections>
-    </object>
-  </layer>
-</diagram>
diff --git a/docs/random/porting-to-0.11.txt b/docs/random/porting-to-0.11.txt
deleted file mode 100644
index 66f850a..0000000
--- a/docs/random/porting-to-0.11.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This guide has been renamed to porting-to-1.0.txt.
-
-The latest version can be found at:
-
-http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/random/porting-to-1.0.txt
diff --git a/docs/random/queue b/docs/random/queue
deleted file mode 100644
index a76f235..0000000
--- a/docs/random/queue
+++ /dev/null
@@ -1,38 +0,0 @@
-            thread 1                                         thread2
-
-                             				   // the queue is empty
-                                                           while (!queue->level_buffers) {
-                                                             STATUS("queue: %s U released lock\n");
-                                                             GST_OBJECT_UNLOCK (queue);
-
-  // thread1 is scheduled and puts a lot of buffers
-  // in the queue
-
-  // thread1 has put the last buffer on the queue
-  // here. A signal is going to be emitted
-
-  tosignal = (queue->level_buffers >= 0);
-  queue->level_buffers++;
-
-  /* we can unlock now */
-  GST_OBJECT_UNLOCK (queue);
-
-  if (tosignal) {
-    g_mutex_lock (queue->emptylock);
-    g_cond_signal (queue->emptycond);
-    g_mutex_unlock (queue->emptylock);
-  }
-
-                                                             g_mutex_lock (queue->emptylock);
-							     // wait forever
-                                                             g_cond_wait (queue->emptycond, queue->emptylock);
-                                                             g_mutex_unlock (queue->emptylock);
-                                                             GST_OBJECT_LOCK (queue);
-                                                           }
-							   
-
-  // thread 1 will also wait forever because the
-  // queue is filled....
-
-
-
diff --git a/docs/random/richardb/syncmail b/docs/random/richardb/syncmail
deleted file mode 100644
index d45adf3..0000000
--- a/docs/random/richardb/syncmail
+++ /dev/null
@@ -1,3 +0,0 @@
-The syncmail script in CVSROOT is a modified version of the script
-taken from the sourceforge snippets page, at:
-http://sourceforge.net/snippet/detail.php?type=snippet&id=100414
diff --git a/docs/random/rtp b/docs/random/rtp
deleted file mode 100644
index b0dbfdc..0000000
--- a/docs/random/rtp
+++ /dev/null
@@ -1,44 +0,0 @@
-RTP client subsystem proposal.
-Ramon Garcia Fernandez
-
-A brief description of the RTP protocol.
-
-The RTP protocol uses two connections: one for passing data and another for control. The control connection is used for starting, finishing, and passing statistics of lost packets. On the data connection, packets are transmitted containing the media. These packets have a 7 bit field that says what codec is the data transmitted with. This codec is variable. However data cannot change from audio to video in packets of the same connection. All the packets belong to the same logical stream, that is, for instanace, to the same speech, or to the same song. Different codecs in the same stream is used, for instance, to insert comfort noise.
-
-Each codec is packeted in a specific way in RTP packets. This is necessary to minimize the damage produced by lost packets. Therefore, packets should be arranged so that each packet can be decoded independently. If a packet is lost, that shouldn't preclude the decoding of following packets.
-
-
-Suggested implementation:
-
-The implementation that I suggest contains an rtpdec element. This element has one sink pad for the data, one src pad for the decoded data, and a pair of src and sink pads for control messages. The decoded data that comes from rtpdec has no RTP dependency. It is in the format expected by the codec that it decodes it. Therefore, rtpdec must do codec specific processing of data to take into account that different codecs are stored differently in RTP.
-
-A possible pipeline is:
-
-udpcon name="data" udpcon name="control" data.src!rtpdec.datasrc  control.src!rtpdec.controlin control.sink!rtpdec.controlout rtpdec name="rtpdec" ! mp3decode ! osssink
-
-udpcon is an element (not yet written) that provides a src and a sink pad to read and write to a socket. There are two udpcon, one for reading the data socket and another for reading and writing to the control socket.
-
-To handle variable types, the following would work (the UDP part left out for clarity is identical to the one above):
-
-[udp] rtpdec ! spider ! osssink
-
-rtpdec has a property that tells it the mapping of the payload bits to mime type. This is necessary, because that mapping is not fixed. It has to be obtained at runtime through other mechanisms, such as a SDP file obtained by http or rtsp.
-
-A possible implementation of rtpdec is a bin that contains two elements: a media independent _rtpparse and a media dependent rtp-dec-mp3. Thus the pipeline would be
-
-udpsrc ! _rtpparse ! rtp-dec-mp3 ! mp3decode ! osssink
-       \________________________/
-             rtpdec bin
-
-Another possible implementation is, that rtpdec opens a plugin that contains the code to convert the codec specific packets into the input that the normal decoder for that codec expects.
-
-Ronald said that this mechanism would be complicated because it would require to duplicate the functionality of the plugin loader. It shouldn't be like that because it should use the normal plugin loader. However, this is an issue that I do not fully understand.
-
-Ronald suggested to use inheritance. Thus the user should insert a codec specific rtp element in the pipeline. Such as:
-
-udpsrc ! rtp-mp3 ! mp3decode ! osssink
-
-Reuse of RTP logic would be achieved through inheritance.
-
-This looks more logical, because inheritance reflects the fact that rtp-mp3 "is an" specialization of rtp. However, there are several issues. As stated above, it is possible in RTP to switch the encoding of the media at any time. If this happens, some state must be kept, such as statistics of packets received and sent.
-
diff --git a/docs/random/signal b/docs/random/signal
deleted file mode 100644
index 679a36c..0000000
--- a/docs/random/signal
+++ /dev/null
@@ -1,12 +0,0 @@
-Random notes on signals:
-
-* Use a BOXED (and not a POINTER) marshaller when your signal will have a 
-  GstBuffer argument:
-
-g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
-              G_STRUCT_OFFSET (GstIdentityClass, handoff), NULL, NULL,
-              gst_marshal_VOID__BOXED, G_TYPE_NONE, 1,
-              GST_TYPE_BUFFER | G_SIGNAL_TYPE_STATIC_SCOPE);
-
-* For GstBuffers arguments, consider using G_SIGNAL_TYPE_STATIC_SCOPE as it
-  can prevent an extra copy of the buffer
diff --git a/docs/random/sources b/docs/random/sources
deleted file mode 100644
index 3e5c466..0000000
--- a/docs/random/sources
+++ /dev/null
@@ -1,324 +0,0 @@
-There are a number of different ways of coding a GstSrc.  I'll try to
-outline them and how the function here: 
-
-1a) Simple push-function based with single output
-
-
- *------*      *------
- !      !      !
- ! src  !--->--! plugin
- !      !      !      
- *------*      *------
-
-This is the style that all the existing sources use.  There is a single
-output pad, and a _push function that's global to the whole element.  The
-_push function simply constructs buffers and pushes them out the pad. 
-
-Chained (current implementation): 
-
-
-      bin               src               pad1           pad2            plugin
-       !                                              (= pad1->peer)
- gst_bin_iterate
-       !
-       ! (find entry)
-       !
-       ! gst_src_push
-       !---------------->!  
-                         ! (create buffer)
-			 !
-                         ! gst_pad_push    
-			 !---------------->! 
-			                   !
-					   ! pad1->chainfunc (pad1->peer) 
-                                           !------------------------------->!
-					   !                                !
-					   :                                :
-					                              (more chaining)
-					   :                                :
-					   !<-------------------------------!
-			 !<----------------!
-      !<-----------------!
-      !
-  iteration ends
-      !
-     ---
-      -
-
-Typically this will be the/an entry into the Bin.  The Bin's iterate
-function simply calls the Src's _push function.  When the _push function
-pushes a buffer out it's pad, the chain function of the peer pad is
-called, presumably causing a push out the other side of that element, and
-eventually data gets to the other end.  The stack unrolls, and the
-iteration ends for that Src. 
-
-
-
-Cothreaded: 
-
-Again, the source would generally be an entry into the Bin.  A loopfunc
-will be constructed around it, which will simply loop calling the Src's
-_push function as in the non-cothreaded case.  When the _push function
-pushes a buffer, it finds a pushfunc attached to the pad, drops the buffer
-in the pen, and calls the pushfunc provided by the Bin.  This causes a
-switch to the next element, then the next, to the end, at which point a
-buffer pull will travel back down the chain.  The _push function gets
-context and finishes, at which point the loopfunc wrapper simply calls it
-again in the next iteration. 
-
-(current implementation): 
-
-
-      bin               cothread1         src               pad1           pad2       cothread2      plugin
-       !                 (src)                          (= pad2->peer)                (plugin)
- gst_bin_iterate
-       !
-       ! (first entry)
-       !
-       ! cothread_switch
-       !---------------->!  
-                         ! gst_src_push    
-			 !---------------->! 
-			                   ! (create buffer)
-					   !
-					   ! gst_pad_push (pad1) 
-					   !
-                                           !--------------------!
-					                        ! (fill bufpen)
-								!
-					                        ! cothread switch
-								----------------------->!
-					                                                ! gst_pad_pull (pad2)
-											!
-									    !<----------!
-									    !
-									    ! (get buffer from bufpen)
-									    !
-									    !---------->!
-											! pad2->chainfunc
-											!------------->!
-					   			                                       !
-					                                                               :
-												       
-												       :
-											!<-------------!
-											! gst_pad_pull (pad2)
-									    !<----------!
-                                                                            ! 
-									    ! (bufpen empty)
-			                                        !<----------! 
-			 !<-------------------------------------! cothread switch
-       !<----------------!
-       !
-  iteration ends
-       !
-       :
-
-       :
-       !
-  next iteration
-       !
-       ! cothread_switch
-       !---------------->!  
-                         ! gst_src_push    
-			 !---------------->! 
-			                   ! (create buffer)
-					   !
-					   ! gst_pad_push (pad1) 
-					   !
-                                           !--------------------!
-					                        ! (fill bufpen)
-								!
-					                        ! cothread switch
-								!---------->!
-									    ! (get buffer from bufpen)
-									    !
-									    !---------->!
-											! pad2->chainfunc
-											!------------->!
-					   			                                       !
-					                                                               :
-												       
-												       :
-											!<-------------!
-											! gst_pad_pull (pad2)
-									    !<----------!
-                                                                            ! 
-									    ! (bufpen empty)
-			                                        !<----------! 
-			 !<-------------------------------------! cothread switch
-       !<----------------!
-       !
-  iteration ends
-       !
-       :
-
-      
------------------------------------------------------------------------------------------------
-1b) Simple push-function based with multiple output
-
-Chained: 
-
-Similar to the single output variant, except several chains are spawned
-off, one per push, hanging off whichever pad the buffer is pushed off of. 
-The stack will grow and unwind as many times as buffers are pushed out. 
-
-(current implementation)
-
-      bin               src               pad1           pad2            plugin
-       !                                              (= pad1->peer)
- gst_bin_iterate
-       !
-       ! (find entry)
-       !
-       ! gst_src_push
-       !---------------->!  
-                         ! (create buffer)
-			 !
-                         ! gst_pad_push    
-			 !---------------->! 
-			                   !
-					   ! pad1->chainfunc (pad1->peer) 
-                                           !------------------------------->!
-					   !                                !
-					   :                                :
-					                              (more chaining)
-					   :                                :
-					   !<-------------------------------!
-			 !<----------------!
-                         ! (create buffer)
-			 !
-                         ! gst_pad_push    
-			 !---------------->! 
-			                   !
-					   ! pad1->chainfunc (pad1->peer) 
-                                           !------------------------------->!
-					   !                                !
-					   :                                :
-					                              (more chaining)
-					   :                                :
-					   !<-------------------------------!
-			 !<----------------!
-			 :
-		   (more pushes)
-			 :
-      !<-----------------!
-      !
-  iteration ends
-      !
-     ---
-      -
-
-
-Cothreaded: 
-
-Also similar to the single output variant.  When the pull winds its way
-back from the first push, execution returns to the Src's _push function,
-which simply goes off and pushes out another buffer, causing another
-series of context switches.  Eventually the loopfunc wrapper starts over,
-round and round we go. 
-
-
-
------------------------------------------------------------------------------------------------
-2) Pull-function based with single output
-
-Similar to a regular filter with a chain function associated with each
-pad, this kind of source doesn't provide a src-wide push function, but
-does provide pullfuncs for its pad.  A pullfunc puts a buffer in the pen
-and exits. 
-
-Chained: 
-
-      bin               src               pad1           pad2            plugin
-       !                                              (= pad1->peer)
- gst_bin_iterate
-       !
-       ! (find entry)
-       !
-       ! (find src pad
-       !  of entry element)
-       !
-       ! gst_pad_pull
-       !------------------------------------------------>!
-                                 ?                       !
-		         !<------------------------------!
-                         !  
-                         ! (create buffer)
-			 !
-                         ! gst_pad_push    
-                         !------------------------------>!
-			                                 ! (bufpen filled)
-			(return buffer)			 !
-       !<------------------------------------------------!
-       !
-       ! gst_pad_chain
-       !------------------------------------------------------------------->!
-					                                    !
-					                                    :
-					                              (more chaining)
-					                                    :
-       !<-------------------------------------------------------------------!
-       !
-  iteration ends
-       !
-      ---
-       -
-
-As usual, is likely to be an entry into a Bin.  The Bin iterate code must
-explicitly pull a buffer and pass it on to the peer.
-
-Cothreaded: 
-
-
-      bin               cothread1         src               pad1           pad2       cothread2      plugin
-       !                 (src)                          (= pad2->peer)                (plugin)
- gst_bin_iterate
-       !
-       ! (first entry)
-       !
-       ! cothread_switch
-       !---------------->! gst_pad_pull 
-                         !------------------------------------------------>!
-                                                   ?                       !
-		                           !<------------------------------!
-                                           !  
-                                           ! (create buffer)
-			                   !
-                                           ! gst_pad_push    
-                                           !------------------------------>!
-			                                                   ! (bufpen filled)
-			                        (return buffer)            !
-                         !<------------------------------------------------!
-                         !
-		         ! pad_chain
-			 !--------------------------------------! cothread switch
-			                                        |---------------------->!
-					                                                ! gst_pad_pull (pad2)
-											!
-									    !<----------!
-									    !
-									    ! (get buffer from bufpen)
-									    !
-									    !---------->!
-											! pad2->chainfunc
-											!------------->!
-					   			                                       !
-					                                                               :
-												       
-												       :
-											!<-------------!
-											! gst_pad_pull (pad2)
-									    !<----------!
-                                                                            ! 
-									    ! (bufpen empty)
-			                                       !<-----------!
-                                                               !   cothread switch
-                                           !-------------------!   
-                         !<----------------!
-       !<----------------!                                     
-       !
-  iteration ends
-       !
-       :
-
diff --git a/docs/random/status-0.11-14-jun-2011.txt b/docs/random/status-0.11-14-jun-2011.txt
deleted file mode 100644
index 48ffaba..0000000
--- a/docs/random/status-0.11-14-jun-2011.txt
+++ /dev/null
@@ -1,192 +0,0 @@
-0.11 status 1 jun 2011
-----------------------
-
-Hello again GStreamer hackers,
-
-
-Here's another status update from the 0.11 branch. This one is packed
-with new stuff because it really took too long between the last 
-update, but well..
-
-
-Misc Core Changes
------------------
-
-The first set of big core change was done by über hacker Sebastian Dröge.
-He removed our special GST_BOILERPLATE macro. Because of some API strangeness
-we needed to do actions in the base_init method, which the GST_BOILERPLATE
-macro set up for us. The base_init concept is unfortunately not supported
-by almost all language bindings so we wanted to clean this up and use the
-regular G_DEFINE_TYPE macros. By inheriting metadata and pad templates
-from the parent, the GST_BOILERPLATE macro could be removed.
-
-
-Removal of gst_pad_alloc_buffer
--------------------------------
-
-The next big change was the removal of gst_pad_alloc_buffer along with
-all the pad_alloc functions. The pad_alloc function were used to both
-implement allocation of buffers and notify upstream elements of new media
-formats. The functionality is replace by 3 new things: GstBufferPool (as
-noted in the previous status update), a new ALLOCATION query and a new
-RECONFIGURE event.
-
-The ALLOCATION query is used to query the downstream elements about the
-buffer properties they would like. These properties include the size,
-prefix and alignment of the memory. The downstream element can also propose
-a GstBufferPool. It is then the upstream element that decides how it
-will allocate buffers. This allows us, for example, to make the video
-decoders specify their required memory alignment to the videosink. 
-
-Since new format suggestions are no longer piggybacked upstream with the
-allocation, something new was needed to notify upstream elements of a
-format change. It started with bringing in the new RENEGOTIATE event
-that Thiago Santos had been experimenting with in the 0.10 branch. The
-new event basically lets upstream elements know that new formats are
-possible somewhere downstream and it would make them renegotiate a new
-format before pushing a new buffer.
-
-New format changes can also happen when new elements are linked, so
-gst_pad_link() will also send this RENEGOTIATE event upstream. As it turns
-out, adding new elements could also signal the availability of a new
-bufferpool or different ALLOCATION properties. The RENEGOTIATE event was
-thus renamed to the more generic RECONFIGURE event.
-
-The most impressive result of these changes is that most of the
-complicated code in GstBaseTransform could simply be removed.
-
-
-Sticky Events
--------------
-
-The idea for the sticky events comes from the observation that a lot of the
-serialized downstream events (SEGMENT, EOS, TAGS, ..) are really context
-for the buffers that follow. The design called for making these events
-sticky on the pads, meaning that they become a property of the pads
-they travel over.
-
-The result is that the current timing information (SEGMENT event) or the
-current stream medatadata (TAG event) that is handled by the pad are 
-directly accessible by looking at the last event that traveled on the pad.
-
-By making the events stick on the pads, we can propagate them downstream
-automatically when new pads are linked. This should solve one of the
-biggest 0.10 problems when dealing with dynamic pipelines, the loss of
-events (mostly NEWSEGMENT events).
-
-It was then only natural to also make the CAPS event a sticky downstream 
-serialized event. CAPS are indeed also context for the buffers that follow.
-The caps property was also removed from GstBuffer, making caps negotiation
-separate from the buffer dataflow again.
-
-
-GstSegment changes
-------------------
-
-For the sticky events to work with SEGMENT events, we needed to change
-the SEGMENT event so that it became selfcontained. The complicated segment
-accumulation logic of 0.10 was simply removed and replaced with pad offsets.
-
-It is now possible to tweak the timing of the data coming from a pad by
-using the pad offset property.
-
-
-GstCaps optimizations
----------------------
-
-It doesn't look like we'll be able to implement GstCaps iterators to 0.11 so
-Sebastian was looking for other ways to improve caps performance. One of the
-low hanging fruits was to pass the complete GstCaps structure to the
-GstBaseTransform transform_caps method. This allows for better and smarter
-implementations of the function at the cost of marginally more complex code.
-
-Sebastian also added a filter caps parameter to the gst_pad_get_caps()
-function. This allows the caller to pass preferences and possible caps to
-the function. The result is that the pad can make much better negotiation
-decisions.
-
-Sebastian also optimized gst_caps_is_subset()in the 0.10 branch and ported
-the results to 0.11 as well.
-
-with the still planned caps simplifications later, these changes should
-substantially improve caps negotiation speed.
-
-
-Pad probes
-----------
-
-Quite a few iterations were needed to reimplement the pad blocking and pad
-probes. The new infrastructure allows you to add callbacks for the various
-stages in the data transfer on a pad.
-
-It's now possible to be notified when no data is going over a pad with the
-IDLE probe. This should also fix one of the big problems with implementing
-dynamic pipelines and the old pad blocking.
-
-Not all features that we want to add to the new probes are implemented yet
-but they can be added later without much trouble.
-
-
-Other gems
-----------
-
-A new SCHEDULING query was added to get more information about the upstream
-elements scheduling properties. 
-
-Tim-Philipp Müller finally removed our dependency on libxml2. Back in the
-day, we used XML for serialization of objects and the registry. Object
-serialization had long been deprecated and the XML registry was replaced
-with a much faster binary registry.
-
-Tim also removed the unversioned gst-launch, gst-inspect and gst-typefind
-scripts. They were always confusing and annoying for packagers and users,
-it is just easier
-
-Edward Hervey spent some time keeping the unit tests working and making
-sure the API docs are up to data.
-
-GstIterator was made more binding friendly By Johan Dahlin and Sebastian.
-
-
-And what about the plugins..
-----------------------------
-
-As usual, all -base plugins are kept in sync with the core API updates and
-the new features. They are always a good place to see how the new API can
-be used and how to port things.
-
-
-What's next
------------
-
-Almost all of the features laid out in the GStreamer conference last year
-are now implemented. We also have quite a few new cool features that
-slipped in. Things are shaping up indeed.
-
-The last big missing piece is the redesign of the caps fields for raw audio
-and video. We plan to finish that in the next weeks.
-
-There are also a few smaller things we would like to do: use GstQuery
-for the various caps functions, do GstFlowReturn for the query/event
-functions, ...
-
-Meanwhile we start the stabilization phase and we will do a first prerelease
-of 0.11 this week to bring things to a wider audience. Now is the time to
-catch up and start porting your plugins to 0.11.
-
-There is still a lot of work to be done to port plugins to 0.11 before we
-can release 1.0. I ask everyone again (and especially maintainers) to help
-us porting plugins, it's really a lot of work!
-
-
-Have a nice hacking week,
-
-Wim
-
-
-
-
-
-
-
-
diff --git a/docs/random/styleguide b/docs/random/styleguide
deleted file mode 100644
index 6fadda1..0000000
--- a/docs/random/styleguide
+++ /dev/null
@@ -1,18 +0,0 @@
-Some notes about various stylistic issues
------------------------------------------
-
-(This file should end up as a nice web page eventually)
-
-CODING STYLE
-------------
-- No //-style comments allowed.  Never.  Reason: Forte doesn't support it.
-- Our indentation style is codified in gstreamer/tools/gst-indent
-- Don't mix tabs with spaces when writing new code.
-- use GST_*_OBJECT as much as possible so it's clear which object you're
-  logging for
-
-SUBMITTING CODE
----------------
-- new code submitted to core, plugins-base, or plugins-good needs to pass a
-  review from another committer.
-- submitting new base classes also means you look at targets for assimilation.
diff --git a/docs/random/testing/syntax b/docs/random/testing/syntax
deleted file mode 100644
index f66c126..0000000
--- a/docs/random/testing/syntax
+++ /dev/null
@@ -1,37 +0,0 @@
-The test program
-----------------
-
-We need a test program that:
-
-  - can read a file with the test specs
-  - construct a pipeline using the pipeline definition in the spec file
-    (using gst_parse_launch ())
-  - add signals to elements in the pipeline 
-  - run the pipeline for a fixed (in time/number of iterations) period
-  - record the fireing of the signals
-  - compare the signals to the expected results.
-
-
-spec file contents:
--------------------
-
-tcN: name-of-the-tescase
-tcP: pipeline of the testcase in gst_parse_launch () syntax.
-tcS: id1, element, signalname (attach to signal in an element)
-tcS: id2, element, signalname
-...
-tcI: the number of iterations on the top bin 
-tcT: a timeout value in mSecs
-tcR: id1,1,id2,1,.. (the pattern of signals triggered)
-or 
-tcR: id1==id2,... (denote an equal number of signals)
-/n
-
-
-signal trigger patterns
------------------------
-
-
-
-
-
diff --git a/docs/random/thaytan/opengl b/docs/random/thaytan/opengl
deleted file mode 100644
index a796629..0000000
--- a/docs/random/thaytan/opengl
+++ /dev/null
@@ -1,20 +0,0 @@
-# OpenGL usage
-How to set up openGL using plugins in such a way that they can
-render to an on-screen window, or offscreen equally?
-
-eg:
-superfoo3d ! glwindow
-or
-superfoo3d ! gloffscreen ! xvideowindow
-
-This would imply that there is some mime type which connects a glwindow/gloffscreen and a GL using component sensibly. I don't see that there is any actual 
-data to send, however - the only purpose of the glwindow/gloffscreen is to 
-set up an openGL context and then 'output' it somehow one the superfoo3d has
-finished drawing each frame.
-
-In the case of glwindow, 'output' it means translate into an on-screen window,
-but for gloffscreen it means produce a video packet and go.
-
-These components really need some other 2 way communication, rather than the
-pads metaphor, I think?
-
diff --git a/docs/random/thaytan/video-overlays b/docs/random/thaytan/video-overlays
deleted file mode 100644
index af0697b..0000000
--- a/docs/random/thaytan/video-overlays
+++ /dev/null
@@ -1,28 +0,0 @@
-# Compositing and video overlays.
-We want a way to composite a video frame and an overlay frame. The video frame is as we expect, the overlay is a normal video frame + an alpha mask. In the following monologue, please consider that I mean RGB/I420/YV12/YUY2 wherever I say RGB.
-
-So we have a plugin with 2 sinks and one src:
-   +----------------+
-   |video           |
-   |           video|
-   |overlay         |
-   +----------------+
-
-What should the format for the overlay data look like?
-Ideas:
- * RGBA   - 4 byte per pixel video frame
- * RGB+A  - 3 Bytes per pixel video frame, then 1 byte per pixel overlay frame.
-            A new mime type, or a variation on video/raw? I'm not sure
- * Overlay is actually 2 sinks, one takes a RGB/YUV data the other the alpha channel.
-
-I'm not sure which approach is better, but I think it is probably neatest to 
-use RGB+A, and then have a separate plugin which has 2 sinks and converts an
-RGB/YUV stream plus an alpha stream into an RGB+A stream. The benefit of RGB+A over RGBA in this scenario, is that it is easier (correct me if I'm wrong) to optimise 2 block copies which appends an alpha frame to a RGB frame than it is to
-do the many copies required to interleave them into an RGBA stream.
-
-So, I see this producing a few new plugins:
-videooverlay - takes an RGB and an RGB+A frame from 2 sinks, does the overlay (according to some properties) and outputs a result frame in RGB or RGB+A (as negotiated) format on 1 src.
-rgb2rgba - takes 1 RGB frame and one A frame from 2 sinks and outputs RGB+A on 1 src. If the A sink is not connected, we just add a fixed alpha channel based on an object-property.
-rgb2rgba - takes an RGB+A frame and discards the RGB component.
-textoverlay - This plugin, instead of taking a video frame and overlaying text, can just output an RGB+A stream with appropriate timestamping. This prevents duplicating code to composite with an alpha mask and allows us to optimise it in one spot only.
-
diff --git a/docs/random/thomasvs/0.10 b/docs/random/thomasvs/0.10
deleted file mode 100644
index ee3e466..0000000
--- a/docs/random/thomasvs/0.10
+++ /dev/null
@@ -1,121 +0,0 @@
-general
--------
-- write script to check for:
-  invalid // comments
-  invalid %lld
-  invalid LL for 64bit ints
-  wrong whitespacing
-  trailing space
-
-gstreamer
----------
-- reorganize tests and examples into
-  - testsuite
-    - check: unit tests
-    - examples: example code
-    - interactive: interactive tests
-- move gst/base to libs/gst/base ?
-  (but elements link against them)
-- move elements out of gst/ dir ?
-- check/gst/pipelines: currently disabled, random failures
-
-gst-plugins-base
-----------------
-- gst-libs/gst/audio:
-  - DONE: audiofilter folded in
-- gst:
-  - adder: needs docs, an example, and a test
-  - audioconvert: ok
-  - audiorate: needs docs and tests
-  - audioresample: David needs to fix this
-  - audioscale: needs to go
-  - audiotestsrc: ok
-  - ffmpegcolorspace: needs a test
-  - playback: example
-  - sine: removed, DONE
-  - subparse:
-    - works, but how do we link it so we can display it ?
-    - example ?
-    - test with different files/sources ? can be inlined
-  - tags:
-    - contained a very small code file that wasn't built, and a copy of a header
-      that was in the tag lib; removed; DONE
-  - tcp:
-    - works
-    - need tests
-    - need docs
-    - need possible porting to GNet (later)
-  - typefind:
-    - works
-    - need tests - this definitely could use it
-    - is there any way they can be documented ?
-    - should the plugin docs show a list of them ?
-  - videorate:
-    - needs tests, docs
-  - videoscale:
-    - needs tests
-      - negotiation
-      - par conversion
-      - different scale algorithms
-    - needs docs
-      - negotiation with five out of six free variables (src/sink w/h/par)
-  - videotestsrc:
-    - could use tests for all possible caps
-  - volume: OK
-- ext:
-  - alsa:
-    - needs docs; esp. params and common practices
-    - needs interactive tests; depends on having such a setup available
-  - cdparanoia:
-    - needs docs, and interactive test
-    - remains in -base until cdio is proven to be better on all counts
-  - gnomevfs:
-    - needs docs (how to use proxy, link to gnomevfs docs, explanation
-	about need for homedir to create .gnome2 dir in, ...)
-    - needs test; test could use local files and http urls
-  - libvisual
-    - needs docs (easy)
-    - needs test
-  - ogg, vorbis, theora
-    - needs docs
-    - needs test
-- sys
-  - v4l
-    - needs interactive test
-    - needs lots of docs
-  - ximage
-    - interactive test should go somewhere
-    - docs ok
-  - xvimage
-    - interactive test should go somewhere
-    - docs ok
-
-gst-plugins-good
-----------------
-
-- gst:
-  - alpha, alphacolor: document with example
-  - auparse: crashes on e.g.
-  gst-launch -v filesrc location=/usr/share/emacs/site-lisp/emacspeak/sounds/default-8k/ask-short-question.au ! auparse ! osssink
-    -> will move to bad
-  - autodetect: OK
-  - videofilter:
-    - is the lib still needed, given basetransform ?
-      yes
-    - currently installs a lib; should not install, or move to a dir, with pc
-      file, possibly in -base
-      DONE: moved to -base
-- ext:
-  - aasink: properties need looking at
-    - width, height: why are they there ? caps don't match
-    - frames-displayed: in base class ?
-    - frame-time: what's this ?
-  - cairo:
-    - cairotimeoverlay works
-    - cairotextoverlay ? pipeline ?
-  - flac:
-    - flacenc:
-gst-launch -v audiotestsrc wave=white-noise ! flacenc ! filesink location=white-noise.flac does not produce a correct file
-    - flacdec works, but
-gst-launch gnomevfssrc location=http://gstreamer.freedesktop.org/media/small/dark.441-16-s.flac ! flacdec ! autoaudiosink
-      does not
diff --git a/docs/random/thomasvs/0.4.0 b/docs/random/thomasvs/0.4.0
deleted file mode 100644
index ddbc777..0000000
--- a/docs/random/thomasvs/0.4.0
+++ /dev/null
@@ -1,108 +0,0 @@
-Set of 0.4.0 proposals
-
-* module versioning
-  - we need an agreement on how we are going to version the separate modules.
-    This needs to meet some requirements :
-    a) we shouldn't be forced to release all of the modules together 
-       every time (if the plugins have been updated, and still work against
-       a previous core, then only release plugins, for example)
-       We should start treating the different modules as separate projects
-       (albeit still closely tied of course)
-    b) it should be clear for other people what packages they need to download
-    c) major API breakage needs to be clear; we don't expect really old players
-       to keep working with really new cores.
-
-   - my idea (which others seemed to agree with) would be to let the micro
-     numbers run independently.  Only when the core API has changed to the
-     point that other modules are not compatible with them anymore
-     should we upgrade the minor version.
-     We can assume/assert that modules with the same minor number will be able
-     to work with each other.
-     
-    - Example schedule : 
-      * we release 0.4.0 versions of all of the modules
-      * plugins get updated a few times : 0.4.1 and 0.4.2
-      * core gets a new scheduler, doesn't affect other modules : 0.4.1
-      * gst-player gets rapid releases due to arik's recovery: 0.4.1-0.4.5
-      * core gets a major new update re: events : 0.5.0
-      * some days later, other modules have been updated to the new core
-        and the new core starts being useful to other people as well
-	
-* release practice
-  - we should have a simple way to cut releases; something that makes
-    the necessary adaptions to the source tree
-    This could also be a simple check list of things that need to pass
-  - cvs tarballs/packages should be easily distinguishable from pre-release
-    tarballs/packages and actual released ones.
-
-    my idea here would be :
-    a) releases are named as normal
-       e.g. gstreamer-0.4.0.tar.gz
-            gstreamer-0.4.0-1.i386.rpm
-
-    b) as soon as the release is made, we are back in "cvs" mode
-       i'd use a ".1" for a fourth version number for all cvs versions
-         so as soon as we release 0.4.0, I'd add a fourth ".1" version number.
-	 this one would be used during the whole of the cvs period, no
-	 reason to up this manually in between
-	The packages (rpms in any case, don't know about debs) would still
-	keep the date as the revision number like they have now, in order
-	to make it easy to work with snapshots.
-
-    c) when we are ready to release this module, I would go back to maintainer
-       mode, but keep the fourth version number and increase that for each cut.
-       So we'd stop developing the module, switch to maintainer mode, up the
-       version number to
-       gstreamer-0.4.0.2.tar.gz
-       and test that.
-
-     d) when we are happy with the precuts, we drop the fourth number and make
-        a release
-
-     Summary :
-     * all "official" released versions have sane versioning with three numbers
-     * all "cvs" versions are clearly recognizable by the fourth .1
-     * all "precuts" are also recognizable
-     * no tarballs will accidentally spill pretending to be real releases ;)
-     * upgrading rpm's all through this process is easy
-	 
-* build code stuff duplicated between various modules
-  - how do we integrate these ? this pertains to stuff in autogen.sh,
-    duplicate stuff in configure.ac (which should probably be moved out to
-    custom .m4 files and yanked in), and maybe testing stuff
-  
-* what possible ways are there to build gstreamer ?
-  I would like to take stock of the combinations of deps possible to build
-  gstreamer.  While most people want only glib2, I think there is merit
-  in still making glib1 work and willing to put in the effort.  I just need
-  the possibilities mapped out once and for all ;) IMO the effort going into
-  making gstreamer build without libxml is the same as making it work with
-  older glib too.  I mean, as soon as you allow variation, it isn't that hard
-  to allow for more than one variation.  The bigger step is from zero to one.
-  
-  so, what are they ?
-  - glib1 & gtk1
-  - glib1 & gtk1 & libxml
-  - glib2 & libxml2
-  
-* media suite
-  - media files on the site should be renamed to simple uniform names
-  - and split up based on size
-  - described by features/content
-
-* when to branch in CVS ?
-
-* automatic build testing
-  - tinderbox ? useful ?
-  - small build scripts
-  
-* automatic functionality testing
-  - an md5sink would be useful to do this
-  - something automated is needed; it should check if you have the plugins
-    that are needed to test other plugins
-
-* media player
-
-* packaging
-  - dependency libs should be easily available
-
diff --git a/docs/random/thomasvs/TODO b/docs/random/thomasvs/TODO
deleted file mode 100644
index fce3d74..0000000
--- a/docs/random/thomasvs/TODO
+++ /dev/null
@@ -1,3 +0,0 @@
-GSTREAMER
----------
-- gst-i18n-lib.h is included funnily from base classes and elements
diff --git a/docs/random/thomasvs/docreview b/docs/random/thomasvs/docreview
deleted file mode 100644
index 0fced3c..0000000
--- a/docs/random/thomasvs/docreview
+++ /dev/null
@@ -1,37 +0,0 @@
-Documentation review
-
-* gstbuffer
-- What are the flags in GstBuffer ? used anywhere ? defined how ?
-
-
-* General
-- how can we define common terms and make them cros-ref'd ?
-  e.g. timestamps in buffer, do we say everywhere that they're in nanosec ?
-
-
-* Style
-- when in doubt, try to conform to GTK+ reference docs
-  (in the gtk-doc tarball, doc/style-guide.txt)
-- GtkMisc and GtkFontSelectionDialog are example templates.
-
-- in the arg clarification, use as much cross-reffing as possible.  Do it
-  only where it is useful in the explanation text.
-
-- examples
-
-  - use active form instead of imperative describing functions; we describe
-    what the function does.
-    good : creates a new buffer.
-    bad : create new buffer
-  - use singular for enum names; this makes it more natural to reference to
-    it in the API docs
-    good : GstBufferFlag
-    bad : GstBufferFlags
-  - in arg clarification, use a period and start with a small letter.
-    Call the object you work on "a" instead of "the".  Call the other objects
-    "the".
-    If the object in question is the return value, this means you call the
-    return value "a".  If the object in question is the first argument
-    of the call, you call this argument "a" and the rest "the".
-    good : @buf: a pointer to query.
-    bad : @buf: The pointer to query
diff --git a/docs/random/thomasvs/features b/docs/random/thomasvs/features
deleted file mode 100644
index 2d52339..0000000
--- a/docs/random/thomasvs/features
+++ /dev/null
@@ -1,15 +0,0 @@
-Here's a list of features in GStreamer which plug-ins can make use of.
-For each feature we will try to find a few plug-ins that show a good way
-of implementing them.
-
-seeking
-caps negotiation
-timestamps
-clock interaction
-signals
-object argument handling
-chain-based
-loop-based
-request pads
-sometimes pads
-
diff --git a/docs/random/thomasvs/guadec-4 b/docs/random/thomasvs/guadec-4
deleted file mode 100644
index f7965dd..0000000
--- a/docs/random/thomasvs/guadec-4
+++ /dev/null
@@ -1,16 +0,0 @@
-Presentation ideas for GUADEC 4 (thomasvs, April 8 2002)
-
-* use gst-editor to create pipelines that make a karaoke machine
-  in different steps and using different features
-
-1) pipeline 1: play the free software song by Richard Stallman
-2) pipeline 2: do the same but add a visualization plugin
-3) create a small video using actual RMS footage
-4) pipeline 3: play this video and the song together
-5) Stallman is a bit hard to understand.  We want text.
-   pipeline 4: use the subtitle reader to overlay text 
-   maybe also do a bouncing ball overlay !
-6) Stallman can't sing. Let's pitch-shift him.
-   this will need MIDI or dynparams to control a pitch shifter
-7) It sounds better, but still not quite there.  Replace him with a festival
-   voice doing the pitch shifting.
diff --git a/docs/random/thomasvs/pthread b/docs/random/thomasvs/pthread
deleted file mode 100644
index 8047c7c..0000000
--- a/docs/random/thomasvs/pthread
+++ /dev/null
@@ -1,75 +0,0 @@
-Some notes on use of pthreads in GStreamer
-------------------------------------------
-
-First off, pthreads are HARD.  Remember that.
-
-1) How I learned to debug glibc and pthreads and add debug code to it.
-
-You have to trick your GStreamer test app in running against a modified
-glibc.
-
-I used Red Hat 7.3, downloaded the .src.rpm, installed it, applied the
-patches included, and ran
-  ./configure --prefix=/home/thomas/cvs --with-add-ons
-  make
-  make install
-
-After quite some time this left me with recompiled libc and libpthread
-libraries in /home/thomas/cvs/lib, as well as a new ld-linux.so.2
-
-Now you need to use this new ld-linux.so ld loader to run your app,
-preferably from inside of gdb so you can tell what's going on when it
-crashes.
-
-You can use ld-linux.so.2 to call your binaries:
-  ld-linux.so.2 .libs/thread1
-to run the thread1 program with the new glibc.
-
-If this is a GStreamer app, chances are it might not find some libraries
-it needs that you could safely use from /usr/lib (like, zlib and popt).
-
-Also, you want it to run in gdb, so this is my full line:
-
-LD_LIBRARY_PATH=/usr/lib /home/thomas/cvs/lib/ld-linux.so.2 \
-  /usr/bin/gdb .libs/thread1 
-
-At this point you can start adding debug code to the pthreads implementation
-in your glibc source tree.  Just change, re-run make install, and restart
-the test app in gdb.
-
-Helpful --gst-mask is 0x00200100 to get thread info and scheduling info
-(with mem alloc from cothreads)
-
-2) What GStreamer does with pthreads.
-
-Apps create a thread with gst_thread_new.  This just allocates the GstThread
-structure without actually doing much with it.
-
-When a thread goes from NULL to READY, the gst_thread_change_state function
-creates the actual pthread.
-  - we lock the thread->lock mutex
-  - we create attributes for the pthread
-    - by default the pthread is JOINABLE
-    - we ask the thread's scheduler for a preferred stack size and location
-      (FIXME: if the scheduler doesn't return one, what do we do ?)
-    - we create the pthread with the given attributes
-      - the pthread id is stored in thread->thread_id
-      - the created pthread starts executing gst_thread_main_loop (thread)
-    - the change_state function does a g_cond_wait
-      - this means it unlocks the mutex, waits until thread->cond is set
-        (which happens in gst_thread_main_loop), 
-        then relocks the mutex and resumes execution
-
-From the point of view of the created pthread, here's what happens.
-gst_thread_main_loop (thread) gets called
-  - the thread's mutex gets locked
-  - the thread's scheduler's policy gets examined
-  - the scheduler gets set up (invokes the scheduler object's setup method)
-    FIXME: what are the prereqs of this _setup method ?
-    - basic and fast scheduler both call do_cothread_context_init
-      - basic: this calls cothread_context_init
-        - cothread_context_init
-      - fast: this calls cothread_create (NULL, 0, NULL, NULL))
-
-(FINISHME) 
-(FOLDMEBACKTOREALDOCS)
diff --git a/docs/random/thomasvs/pwg b/docs/random/thomasvs/pwg
deleted file mode 100644
index c51b767..0000000
--- a/docs/random/thomasvs/pwg
+++ /dev/null
@@ -1,39 +0,0 @@
-Stuff for the PWG
------------------
-
-* arguments
-
-  - how to add arguments
-    - create an identifier in the enum, starting with ARG_
-      example: ARG_RATE
-    - add the property by adding a
-      g_object_class_install_property line
-      FIXME: what is name/nick/blurb in the paramspec ?
-    - if the argument is readable, a block of code for it needs to be added
-      to the _get_property function.
-
-  - default value
-    - default value should be set in _init function
-    - default value can be specified in paramspec (but I don't think this
-      is used anywhere)
-
-
-  - things to check/possible problems
-    - do you have a _get_property function ?
-    - do you have a _set_property function ?
-    - do both have a default handler that handles invalid property ID's ?
-    - are the _get/_set_property handlers assigned to the class's struct ?
-    - do you have a g_object_class_install_property line for the argument ?
-    - are there restrictions on when your parameters can change ?
-      e.g. sample rate is not something that should be changed while PLAYING,
-           so it can only be changed in the NULL state
-    - did you use ARG_ ... consistently everywhere ?
-
-
-  - my own problems:
-    - how to set defaults and make the paramspec be right for them ?
-
-
-* audio
-  - explanation of difference of width and depth
-  - guidelines on how to implement this properly
diff --git a/docs/random/thomasvs/registry b/docs/random/thomasvs/registry
deleted file mode 100644
index 5287133..0000000
--- a/docs/random/thomasvs/registry
+++ /dev/null
@@ -1,36 +0,0 @@
-Reviewing the registry (thomasvs, April 8 2002)
-
-* added a --gst-registry flag to the core which allows any gst app
-  to specify a different registry for loading/saving
-
-  some stuff to do this went into gstreamer/gst/gstregistry.h
-
-* What location is used for writing ? (gst-register)
-
-  - if specified (using --gst-registry) then use the specified location
-  - if not specified :
-       - it can be written in the global location, do it there
-         (which should be sysconfdir/gstreamer) and reg.xml
-       - if not writable, then try ~/.gstreamer/reg.xml
-
-* What location is used for reading ? (gst-whatever)
-
-  - if specified (using --gst-registry) then use the specified location
-  - if not specified :
-    - right now :
-      if local exists, only read local
-      if not, read global
-
-    - TODO: try reading GST_CONFIG_DIR/reg.xml first
-      then try reading ~/.gstreamer/reg.xml
-      AND replace every namespace collision with the new one
-
-* actual variables stuff (gstregistry.c)
-  - use gst_registry_write_get to get a GstRegistryWrite struct back 
-    listing the right location of dir, file and tmp file
-  - use gst_registry_read_get to get a GstRegistryRead struct back
-    listing the path of global and local file to read
-
-* gst-register signals it's going to write to the registry (causing it to
-  be unlinked before the read in post_init ()) by setting a global variable,
-  _gst_init_write_registry
diff --git a/docs/random/types b/docs/random/types
deleted file mode 100644
index eac3012..0000000
--- a/docs/random/types
+++ /dev/null
@@ -1,33 +0,0 @@
-GstTypes exist to try to make sure data eveyrone is talking about the
-right kind of data.  They aid quite a bit in autoplugging, in fact make it
-possible.  Each well-formed type includes a function (typefind) that will
-take one or more buffers and determine whether or not it is indeed a
-stream of that type, and possible a metadata to go with it.  It may
-provide related metadata structure IDs (and must if it provides metadata
-from the typefind function).
-
-Because multiple elements and plugins are very likely to be using the same
-types, the process of creating/finding types is designed to be done with a
-single function call.  All operations on GstTypes occur via their guint16
-ID numbers, with the GstType structure "private" to the GST library.  A
-plugin wishing to use a give type would contain a static struct of type
-GstTypeFactory, which lists the MIME type, possible extensions (which may
-overlap the mime-types file), a typefind function, and any other cruft I
-decide to add.
-
-A plugin init function would take this typefactory and hand it to the
-gst_type_new() (FIXME: badly named) function, which would first search for
-that same MIME type in the current list.  If it found one, it would
-compare the two to see if the new one is "better".  Better is defined as
-having more extensions (to be merged) or a typefind function verses none.
-
-The point of returning an existing MIME type is a result of the goal of
-unifying types enough to guarantee that, for instance, all MP3 decoders
-will work interchangeably.  If MP3 decoder A says "MIME type 'audio/mpeg'
-with extensions 'mpeg3'" and decoder B says "MIME type 'audio/mpeg' with
-extensions 'mp3'", we don't want to have two types defined, possibly with
-two typefind functions. If we did, it's not obvious which of the two would
-be tried first (luck) and if both would really identify streams as mp3
-correctly in all cases.  And whichever wins, we're stuck using the
-associated decoder to play that stream.  We lose the choice between any
-valid mp3 decoder, and thus the whole point of the type system.
diff --git a/docs/random/types2 b/docs/random/types2
deleted file mode 100644
index d2515e5..0000000
--- a/docs/random/types2
+++ /dev/null
@@ -1,282 +0,0 @@
-OUTDATED
---------
-
-
-1. Introduction
----------------
-
-The type system is used to attach meaning to the bytes in a GstBuffer.
-A plugin can decide to add metadata to the GstBuffer, this metadata
-will carry an associated typeid.
-
-Types are also used by the plugins to expose the type of their pads to
-the type system.
-
-Types are essential for autoplugging. 
-
-We will explain the inner workings of the type system in this document, as
-well as the API used in the plugins.
-
-
-2. Type properties
-------------------
-
-a) identification of the type
-
-  Types are identified by one or more MIME types. 
-
-b) detection of types
-
-  The type of any given GstBuffer can be detected using
-
-    - a typefind function: a function that will inspect the bytes
-           in the buffer and return a gboolean indicating the
-	   buffer is of the given type.
-
-    - a template for the bytes/bits in the data that must be
-           satisfied in order for the GstBuffer to be of the given 
-	   type.
-  
-    - other properties that act more like a hint like:
-           the extension of the source filename.
-	   the URI of the source.
-
-
-3. Type registration
---------------------
-
-a) the core libraries will create to types:
-
-   video/raw image/raw
-   audio/raw
-
-b) all other types will be provided by the plugins
-
-before a type can become available to other plugins, the plugin
-has to register the type. 
-
-The system will keep a directed graph of the types and the plugins
-that operate on them.
-
-example:
-
-                     video/mpeg
-                         ! 
-		     mpeg1parse
-		      /     \
-	      video/mpeg1   audio/mp3 -----\
-	      !        !           \        !
-	 mpeg_play   mpeg2dec      mpg123   xing  ...
-              \        /              \     /		        
-              video/raw              audio/raw-----\
-	      !      !                   !         !
-        videosink   SDLsink           audiosink    alsasink ...
-			
-
-The system can find the needed plugins to convert video/mpeg to
-audio/raw using this graph.
-
-
-4. type equivalence
--------------------
-
-some types can have the same meaning for example:
-
-  audio/mp3 and audio/mpeg 
-
-or
-
-  video/raw and image/raw
-  
-
-a plugin that exposes its output type as audio/mpeg and another plugins
-with input type audio/mp3 can be connected. The system has to know about
-the equivalence of both types, even it they have a different mime type.
-
- 
-5. type hierarchy
------------------
-
-some plugins can output a specific subset of an already existing type.
-
-example:
-
-  mp3parse inputs audio/mp3 and packs the stream into mp3 audio frames
-  with mime type: audio/mp3-frame
-
-  mpg123 only accepts audio/mp3-frame but not audio/mp3.
-
-  another mp3 decoder (libmpg123) can accept audio/mp3 (and thus also 
-  audio/mp3-frame)
-
-  it must be possible to connect both libmpg123 and mpg123 to the mp3parse
-  element.
-  it must not be possible to connect mpg123 to an element that outputs only
-  audio/mp3 but not audio/mp3-frame.
-
-
-We say that audio/mp3-frame is a more specific subset of type audio/mp3.
-
-we can create a type hierarchy:
-
-          audio/mp3
-         /        \
-  audio/mp3-frame  audio/mp3-layer12
-                     /        \
-	   audio/mp3-layer1    audio/mp3-layer2
-
-
-6. multi-type pads
-------------------
-
-certain plugins might accept multiple non equivalent types in one of their
-input pads. Consequently a plugin might output non equivalent types in
-its output pad.
-
-It must therefore be possible to specify multiple types for a pad.
-
-example:
-
-  mpegdemux may be able to demux both MPEG1 and MPEG2 system streams.
-  we show the type hierarchy of the video/mpeg as follows:
-
-                          video/mpeg
-		         /        \
-               video/mpeg1         video/mpeg2 ---------------\
-	       /    \                    /    \               !
-      mpeg1-system*  mpeg1-video    mpeg2-ts   mpeg2-ps*    mpeg2-video
-
-
-  the mpegdemux element might specify the type of the input pad as 
-  one of video/mpeg1-system and video/mpeg2-ts
-
-
-
-7. definition of types
-----------------------
-
-A plugin will provide the following information to the type system:
-
- - a mime type string describing the hierarchy and where the types
-   they provide are located in that hierarchy.
-
- - typefind functions for some of the types.
-
- - extensions for some of the types
-
-We will propose a syntax to define the type hierarchy
-
-a) equivalent types :
-
-   separated with a | sign
-
-   ( audio/mp3 | audio/mpeg )
-
-b) type hierarchy :
-
-   in braces:
-
-   ( audio/mp3 ( audio/mp3-frame))
-
-c) multi-type pads
-
-  ( mpegdemux ( video/mpeg1-system + video/mpeg2-ps) )
-
-  the pad will have type mpegdemux which is the parent for
-  type video/mpeg1-system or video/mpeg2-ps
-
-                  mpegdemux
-          	  /       \
- video/mpeg1-system      video/mpeg2-ps
-   
-
-   
-once the type hierarchy has been registered, the typeid of each
-element can be obtained with:
-
-  guint16 gst_type_find_by_mime (gchar *mime)
-
-extra typefind functions and/or extensions can be added to the 
-typeid afterwards.
-
-
-8. type matching
-----------------
-
-The more specific typefind functions, the functions associated with
-types in the leaf nodes, are tried first.
-
-when a specific type has been found ex. video/mpeg1-system elements
-that can handle this type or one of its parents are selected:
-
-  mpegdemux:                     mpeg1parse:                    supermpegdecoder:
-
-    video/mpeg                       video/mpeg                   video/mpeg
-     !                                  !
-    mpegdemux                        video/mpeg1-system
-     !                                 
-    video/mpeg1-system         
-
-In the above case, also the super mpeg element is selected because it stated
-that it can handle all sorts of video/mpeg data. 
-
-
-example 2:
-
-   suppose the typefind functions finds an mp3 stream, following elements
-   are selected:
-
-       libmpg123              mp3parse:
-
-       audio/mp3              audio/mp3
- 
-   mpg123 is not selected because its pad type is too specific (audio/mp3-frame):
-
-       mpg123
-
-       audio/mp3
-         !
-       audio/mp3-frame
-
-   if the typefind would find a mp3-frame type, all three objects would be selected.
-
-
-8. consideration
-----------------
-
-It is clear that clear indications have to be given to the type hierarchy,
-especially for the top nodes.
-
-The more specific an element is in its mime type specification, the more flexible 
-and extendible the plugin system can be.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-     
-
diff --git a/docs/random/types3 b/docs/random/types3
deleted file mode 100644
index 5d84677..0000000
--- a/docs/random/types3
+++ /dev/null
@@ -1,177 +0,0 @@
-SOMEWHAT OUTDATED, design still holds though
---------------------------------------------
-
-
-1. Introduction
----------------
-
-The type system is used to attach meaning to the bytes in a GstBuffer.
-A plugin can decide to add metadata to the GstBuffer, this metadata
-will carry an associated typeid.
-
-Types are also used by the plugins to expose the type of their pads to
-the type system.
-
-Types are essential for autoplugging. 
-
-We will explain the inner workings of the type system in this document, as
-well as the API used in the plugins.
-
-2. major types
---------------
-
-major types are identified with mime types and are used to denote a 
-family of types.
-
-More specific information about the type is given using properties. This
-will allow us to be very specific without creating a lot of mime types.
-
-3. API
-------
-
-Both a simple array based specification and a real API will be
-provided to build the capabilities. 
-
-In the array based approach, we basically build an array of pointers.
-Some macros will be available to specify ranges, boolean values, lists
-and id's. (not sure if this can be done)
-
-#define GST_TYPE_INT_RANGE(a, b) GST_TYPE_RANGE,(a),(b)
-#define GST_TYPE_BOOLEAN(a) GST_TYPE_BOOLEAN,(a)
-#define GST_TYPE_LIST(a...) GST_TYPE_LIST,(##a),NULL
-
-for example:
-
-  static GstTypeCapsFactory mpg123_sink_caps[] = {
-    "audio/mp3",
-    "layer", 	GST_TYPE_INT_RANGE (1, 3),
-    "bitrate",	GST_TYPE_INT_RANGE (8, 320),
-    "framed",	GST_TYPE_BOOLEAN (true),
-    NULL
-  };
-
-will expand to the array:
-
-  static GstTypeCapsFactory mpg123_sink_caps[] = {
-    "audio/mp3",
-    "layer", 	GST_TYPE_RANGE,1,3,
-    "bitrate",	GST_TYPE_RANGE,8,320,
-    "famed",	GST_TYPE_BOOLEAN,true,
-    NULL,
-  };
-
-when we register the caps factory, the strings will be converted
-into GQuarks and be stored into a GData Keyed Data List.
-
-This will result in a GstTypeCaps structure:
-
-struct _GstTypeCaps {
-  guint16 id;                 // if of the major type 
-
-  GData *properties;
-}
-
-4. example using arrays
------------------------
-
-mpg123: an mpeg audio decoder.
-
-  // a factory for the major type we use
-  static GstTypeFactory mp3factory = {
-    "audio/mp3",		// major type
-    ".mp3 .mp2 .mp1 .mpga",	// extensions
-    NULL,			// typefind function
-  };
-
-  // capabilities of the sink pad
-  static GstTypeCapsFactory mpg123_sink_caps[] = {
-    "audio/mp3",
-    "layer", 	GST_TYPE_INT_RANGE (1, 3),
-    "bitrate",	GST_TYPE_INT_RANGE (8, 320),
-    "framed",	GST_TYPE_BOOLEAN (true),
-    NULL
-  };
-
-  // capabilities of the source pad
-  static GstTypeCapsFactory mpg123_src_caps[] = {
-    "audio/raw",
-    "rate", 	GST_TYPE_INT_RANGE (8000, 48000),
-    "channels",	GST_TYPE_INT_RANGE (1, 2),
-    NULL
-  };
-
-  static GstTypeCaps *sinkcaps = NULL, *rawcaps = NULL;
-
-  static gst_mpg123_init (GstMpg123 *mpg123) 
-  {
-    mpg123->sinpad = gst_pad_new ("sink", GST_PAD_SINK);
-    gst_element_add_pad (GST_ELEMENT (mpg123), mpg123->sinkpad);
-    gst_pad_set_caps (mpg123->sinkpad, sinkcaps);
-
-    ...
-  }
-
-  GstPlugin *plugin_init (GModule *module)
-  {
-    ...
-    plugin = gst_plugin_new ("mpg123");
-   
-    gst_plugin_add_type_factory (plugin, mp3factory);
-  
-    ...
-    sinkcaps = gst_type_register_caps (mpg123_sink_caps, NULL);
-    rawcaps  = gst_type_register_caps (mpg123_src_caps, NULL);
-    ...
-  }
-
-mpeg2dec: an mpeg video decoder that can do mpeg1 and mpeg2.
-
-  static GstTypeFactory mpegfactory = {
-    "video/mpeg",		// major type
-    ".mpg .mpeg",		// extensions
-    NULL,			// typefind function
-  };
-
-  static GstTypeCapsFactory mpeg2dec_sink_caps[] = {
-    "video/mpeg",
-    "mpegtype", GST_TYPE_LIST (
-                        GST_TYPE_INT(1),
-                        GST_TYPE_INT(2),
-			),
-    NULL
-  };
-
-  static GstTypeCapsFactory mpeg2dec_src_caps[] = {
-    "video/raw",
-    "fourcc", 	GST_TYPE_LIST (
-                        GST_TYPE_INT32 (0x32315659), 
-			GST_TYPE_INT32 (0x32...), 
-			),
-    "width",	GST_TYPE_INT_RANGE (16, 4096),
-    "height",	GST_TYPE_INT_RANGE (16, 4096),
-    NULL
-  };
-
-  static GstTypeCaps *sinkcaps = NULL, *rawcaps = NULL;
-
-  GstPlugin *plugin_init (GModule *module)
-  {
-    ...
-    plugin = gst_plugin_new ("mpeg2dec");
-   
-    ...
-    sinkcaps = gst_type_register_caps (mpeg2dec_sink_caps, NULL);
-    rawcaps  = gst_type_register_caps (mpeg2dec_src_caps, NULL);
-    ...
-  }
-
-
-5. capability compatibility
---------------------------
-
-Two pads are compatible if:
-
-- The major types are equal
-- range of the sink pad contains the range of the src pad
- 
-
diff --git a/docs/random/use-cases-0.11.txt b/docs/random/use-cases-0.11.txt
deleted file mode 100644
index 6ba1d4d..0000000
--- a/docs/random/use-cases-0.11.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Use cases for 0.11
-------------------
-
-- improve performance 
-
-  * incremental caps
-  * cleanup caps fields
-  * Make miniobject a simple boxed type
-  * reverse negotiation with an event
-
-- buffer metadata
-
-  * Handle strides for video
-  * express crop, scaling, region of interest, ...
-  * Better support for foreign objects such as Cairo, OpenGL, OMX, ...
-
-- make dynamic pipelines easier
-
-  * sticky event propagation
-  * newsegment simplifications
-  * per-pad time offsets
diff --git a/docs/random/usecases b/docs/random/usecases
deleted file mode 100644
index 5fa895a..0000000
--- a/docs/random/usecases
+++ /dev/null
@@ -1,44 +0,0 @@
-Use cases for audio applications
---------------------------------
-
-ANALYSIS
-========
-
-* find start and end  -x dB boundary
-
-* find overall volume for complete track (peak/RMS/average)
-
-* do level-triggered playback
-
-CUE FILES
-=========
-
-Given a long audio file and a .cue file:
-- an element should be able to read an audio input stream and a cue input
-  stream and send new-media events based on the .cue file information
-- a audiocdsink should be able to record this stream straight to disk
-
-Use cases for core functionality
---------------------------------
-
-THREADS
-=======
-
-* { sinesrc } ! { queue ! osssink }
-  - play thread
-  - pause input thread
-  - output thread should keep playing as long as queue not empty
-  - play input thread again
-  - no gaps should be heard
-
-Use cases for video applications
---------------------------------
-
-THUMBNAILING
-============
-- load file
-- figure out if it's playable
-- ask length of file
-- seek to middle
-- snapshot one frame
-- save to disk
diff --git a/docs/random/vis-transform b/docs/random/vis-transform
deleted file mode 100644
index aa80a53..0000000
--- a/docs/random/vis-transform
+++ /dev/null
@@ -1,78 +0,0 @@
-Duh, an 'easy' way to replicate Giess's behavior:
-
-For each frame, you have to mutate it by a transform matrix.  This is
-easy, thought not cheap.  First you precalculate the transform matrix how
-you want it, based on whatever rotations or whatever you want.
-
-The data stored in each spot on the matrix tells you how to transform a
-single pixel.  The simple case is dx,dy, where both are relatively small.
-The probably ought to be a byte in any case, so you can scale the
-transform matrix on slow machines.  A more complex case is some trick
-whereby a single pixel ends up splattered in several places.  Idea below.
-
-The matrix consists of some number of 8bit arrays of the same size as the
-image.  They'd probably be line-interleaved or better to help with cache
-effects (which are VERY serious here).  Each channel represents some
-aspect of the transform. The first two would likely be dx and dy, the
-third might be a multiplier if that wasn't done statically.
-
-The idea: any number of transform sets could be applied, given available
-processing power.  Just set the static scalar or the multiplier matrices
-so you don't completely swamp the output pixels.
-
-Note that this is fastest in 8-bit, but theoretically could be applied to
-32 bit.  15 and 16 are hard, since you can't easily apply the multipliers
-unless they're 1/2^n, and even then it's significantly heavier (you'd have
-to mask the top n bits of each color out).
-
-This SCREAMS for MMX, in case you haven't figured it out yet.
-Unfortunately, MMX is only directly useful for the scalar matrix, unless
-you do a trick where all the pixels in that fit in 64 bits (8 8bit, 4
-16bit, or 2 32bit) are always moved in a group.  This is very possible,
-and might be a significant perf increase by being able to use MMX all the
-way through.  Otherwise you have to place each pixel by extracting the MMX
-stuff back into normal registers, and that just plain sucks.
-
-A pseudo-C implementation:
-
------ BEGIN -----
-gint x,y;				/* image x and y size */
-guchar old_image[x][y];			/* original image */
-guchar new_image[x][y];			/* new image */
-gchar x_xform[x][y];			/* dx matrix */
-gchar y_xform[x][y];			/* dy matrix */
-guchar s_xform[x][y];			/* intensity scalar matrix */
-guchar scalar;				/* global scalar */
-
-gint i,j;				/* indixes */
-gulong p;				/* pixel value in question */
-guchar u,v,w;				/* modifier variables */
-
-/* clear the new image, we don't want anything getting in the way */
-/* NOT NECESSARILY A GOOD THING, THOUGH */
-memset(new_image,0,x*y);
-
-/* loop through all the lines in the image */
-for (j=0;j<y;j++) {
-  /* loop through all the pixels in the line */
-  for (i=0;i<x;i++) {
-    p = old_image[i][j];
-    u = x_xform[i][j];
-    v = y_xform[i][j];
-    w = s_xform[i][j];
-    new_image[i+u][j+v] = (guchar)((p<<14) / (w * scalar));
-  }
-}
------ END -----
-
-Note that the above really, *REALLY* sucks performance-wise.  Throw it a
-80x60 image and it'll swamp my poor laptop.  Also note that I simply set
-the pixel value, not merge it.  That means you'd better be sure your
-transform matrix doesn't have overlapping destinations.
-
-Other notes about the above code: x_xform and y_xform are signed chars,
-which means pixels can move in all directions.  The intensity matrix is
-unsigned, with a range from 0 to 255, so is the global scalar.  Note the
-shift of 14bits (2 * 7bits), then divide by each.  That means identity for
-both scalars is at 128.  The FP range of each is thus 0.0 to 2.0.  Very
-handy.
diff --git a/docs/random/wingo/porting-plugins-to-0.9 b/docs/random/wingo/porting-plugins-to-0.9
deleted file mode 100644
index dc56f73..0000000
--- a/docs/random/wingo/porting-plugins-to-0.9
+++ /dev/null
@@ -1,32 +0,0 @@
--*- outline -*-
-
-
-Some collected notes porting plugins to GStreamer 0.9.
-
-
-* General notes
-
-Consider using the base classes. There are base classes for sources,
-sinks, and "transformers", which are plugins that have the same caps on
-their source and sink sides.
-
-These base classes offer interfaces that are much more appropriate to
-the function of specific plugins than the general GstElement interface.
-
-
-* Functions that changed
-
-** gst_pad_use_explicit_caps
-** gst_pad_set_explicit_caps
-
-Not needed; just set the caps on the first buffer you push out.
-
-** gst_element_set_loop_function
-
-Use gst_pad_set_loop_function. Note that loop-based elements participate
-more in the scheduling process in 0.9, so you'll need to add hooks to
-the activate function to start up a task.
-
-refcounting:
-_get_ accessors
-GValue, GstObject, and refcounts (arrrrgh)
\ No newline at end of file
diff --git a/docs/random/wingo/threadsafe-properties b/docs/random/wingo/threadsafe-properties
deleted file mode 100644
index 7e9306f..0000000
--- a/docs/random/wingo/threadsafe-properties
+++ /dev/null
@@ -1,76 +0,0 @@
--*- Mode: text -*-
-
-Sometimes it's difficult to use GStreamer in real applications where the GUI and
-the GStreamer pipeline are in different threads. You have to somehow make sure
-that the object is not modifying its properties while you get and set them. This
-document is a brief outline of a potential fix to this issue.
-
-* When is it safe to get or set properties?
-
-Well, it is only safe to do so when other threads are not accessing an object.
-So, from the main thread, it is only safe to query or modify properties on an
-object when it is not in the RUNNING state, because when it is RUNNING its
-properties are potentially changing in the thread of execution.
-
-The only place that it is safe to get or set properties while in the RUNNING
-state is from within the thread of execution. Thus, something within the
-iteration loop of the thread must check to see if there are pending property
-changes or queries. There are two places this could be done, from within
-gstthread itself and from within the scheduler. Doing it from gstthread sounds
-like a good idea because it keeps more code out of the scheduler, but is also
-bad in a way because it requires a gstthread-specific api to proxy prop_set and
-prop_get. Setting it in the scheduler sounds good because of its finer
-granularity, but might be bad because it would clutter the scheduler a bit more.
-
-I propose to go with the scheduler-based solution based on system response time
-and out of potentials for integration with gst_clock_wait.
-
-* Implementation
-
-We do want to preserve some measure of generality, however. Considering that
-more threadsafety issues could pop up in the future, it would be nice to have
-one function to call from the scheduler, in the interests of code
-simplification. This function will be present in some elements and not in
-others, and will be modified at run time, so we will make it a function pointer
-within the GstElement struct.
-
-struct _GstElement {
-  ...
-  void (*pre_run_func) (GstElement *);
-  void (*post_run_func) (GstElement *);
-}
-
-Only the managing bin of an element is allowed to set that function, because
-presumably that bin would know something about how to schedule the element.
-Then, in the scheduler, before we call chain functions and before we switch into
-loop functions:
-
-if (element->pre_run_func)
-  element->pre_run_func (element);
-
-Then, to get or set properties, we use the new functions gst_element_get or
-gst_element_set. _set would add the property name and a gvalue onto a queue
-(probably a GAsyncQueue). Then the pre_run_func would go ahead and set the
-properties. _get is a little more tricky; _set doesn't hardly block at all,
-although it's not instantaneous. With _get though, you really don't know what
-the properties are until you query them. The best thing would be to connect to
-the ::notify signal, which executes within the thread of interest. However, say
-you really want to use _get. Hmm. I think that it would have to block. On what?
-Well, probably on an element's mutex. So it seems we might need a
-post_run_func too, to unlock the mutex. We can use the GstObject lock for this.
-
-But we need a little more. How do we know whether or not just calling
-g_object_get/set is ok? I'm thinking this whole prop set/get proxy thing should
-not be abstracted away, that it should be contained in gstelement.c. There are
-more kinds of bins that need threadsafety than just gstthread (I'm thinking
-about jack here). So, we can add on a GAsyncQueue *prop_set_queue; to the
-GstElement struct, and only initialize it in certain managing bins. Then, we can
-set a flag on gstelement, GST_ELEMENT_USE_THREADSAFE_PROPERTIES. If this flag is
-set (by the managing bin), do all this complicated mess; otherwise use the
-gobject native functionality.
-
-So, this is the plan. We'll see how the implementation goes. This should make MT
-gst programming much easier.
-
-wingo.
-25 May 2002.
diff --git a/docs/random/wingo/without-factories b/docs/random/wingo/without-factories
deleted file mode 100644
index 07e3885..0000000
--- a/docs/random/wingo/without-factories
+++ /dev/null
@@ -1,62 +0,0 @@
--*- outline -*-
-
-* Creating Elements Without Factories
-
-** The purpose of factories
-
-On a typical GStreamer system, there are approximately 6.022*10^23
-plugins. GStreamer knows about all of them because of the registry. The
-goal is to avoid initializing each one of them, when maybe for your
-application you only need one or two.
-
-The problem becomes, how do you create an instance of the plugin? The
-normal way to instantiate a class is via g_object_new (TYPE, ARGS...).
-In the case that the plugin isn't loaded, you don't know its type, and
-can't even get it from the type name.
-
-Element factories exist to solve this problem by associating names (like
-"sinesrc" or "identity") with certain types that are provided by the
-plugin. Then when the user asks for "sinesrc", the appropriate plugin is
-loaded, its types are initialized, and then gst_element_factory_create
-creates the object for you.
-
-** Why not factories?
-
-To review, factories (1) allow plugins to remain unloaded if not
-necessary, and (2) make it easy to create elements.
-
-If you are writing an application that has custom elements (as is the
-case with most serious applications), you will probably have the plugin
-loaded up already, and you will have access to the type of the element.
-To muck about creating a plugin for the app, registering the element
-with the plugin, and then creating it with the element factory API
-actually takes more work than the normal way.
-
-** g_object_new
-
-So you want to avoid factories. To create objects with a simple
-g_object_new call is our strategy. However, to preserve the same
-semantics as gst_element_factory_create, we need to know what else is
-needed to initialize a GStreamer element.
-
-The other things that gst_element_factory_create does are as follows:
-
-*** Sets the ->elementfactory member on the element class
-
-Note that anything trying to get the factory won't work (e.g.
-gst_element_get_factory). Thankfully this is less of a problem after the
-0.7 plugin system changes.
-
-*** Initializes the name of the element
-
-To do this ourselves, we either call gst_object_set_name, or when we
-set the "name" property when creating the object.
-
-** Summary
-
-To create a GStreamer element when you know the type, you can just use
-
-g_object_new (get_type_of_my_element (),
-              "name", the_name_you_want_possibly_null,
-              ... any other properties ...
-              NULL);
diff --git a/docs/random/zaheerm/dvb-interface.txt b/docs/random/zaheerm/dvb-interface.txt
deleted file mode 100644
index 1cc479b..0000000
--- a/docs/random/zaheerm/dvb-interface.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-Interface:
-- type (string like caps) channels/x-mpegts-pat
-- GstStructure to describe the what the list is, name, where from etc. (how many entries you can select, if multiple tried, first one picked)
-- method to list entries (channels)
-- method to get current entries
-- method to set list of entries
-- each entry contains an id (32 bit int say), GstStructure (with additional stuff)
-
-signals to say when entry list changes
-        to say when current entry changes
-
-So for a transport stream, this interface would be exported and it could contain a list of interfaces...eg it would export PAT, and PAT list would contain interfaces in the GstStructure for the PMT.
-
-dvbsrc -> list of frequencies
-flutsdemux -> list of programs (PAT) and list of PMT streams per program
-
-get list of frequencies, select frequency
-get list of programs, select programs
-get list of streams, select streams
-
-only give program details in PAT list, when we have seen the PMT for that program.
-
-possibly another interface to select multiple list interfaces from an element. (interface selector interface)
-
---
-other option is to tag
diff --git a/gst/gettext.h b/gst/gettext.h
deleted file mode 100644
index fc70ab7..0000000
--- a/gst/gettext.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU Library General Public License as published
-   by the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
-   USA.  */
-
-#ifndef _LIBGETTEXT_H
-#define _LIBGETTEXT_H 1
-
-/* NLS can be disabled through the configure --disable-nls option.  */
-#ifdef ENABLE_NLS
-
-/* Get declarations of GNU message catalog functions.  */
-# include <libintl.h>
-
-#else
-
-/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
-   chokes if dcgettext is defined as a macro.  So include it now, to make
-   later inclusions of <locale.h> a NOP.  We don't include <libintl.h>
-   as well because people using "gettext.h" will not include <libintl.h>,
-   and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
-   is OK.  */
-#if defined(__sun)
-# include <locale.h>
-#endif
-
-/* Disabled NLS.
-   The casts to 'const char *' serve the purpose of producing warnings
-   for invalid uses of the value returned from these functions.
-   On pre-ANSI systems without 'const', the config.h file is supposed to
-   contain "#define const".  */
-# define gettext(Msgid) ((const char *) (Msgid))
-# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
-# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
-# define ngettext(Msgid1, Msgid2, N) \
-    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dngettext(Domainname, Msgid1, Msgid2, N) \
-    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
-    ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define textdomain(Domainname) ((const char *) (Domainname))
-# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
-# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
-
-#endif
-
-/* A pseudo function call that serves as a marker for the automated
-   extraction of messages, but does not call gettext().  The run-time
-   translation is done at a different place in the code.
-   The argument, String, should be a literal string.  Concatenated strings
-   and other string expressions won't work.
-   The macro's expansion is not parenthesized, so that it is suitable as
-   initializer for static 'char[]' or 'const char[]' variables.  */
-#define gettext_noop(String) String
-
-#endif /* _LIBGETTEXT_H */
diff --git a/gst/glib-compat-private.h b/gst/glib-compat-private.h
index 8f37de2..617a50e 100644
--- a/gst/glib-compat-private.h
+++ b/gst/glib-compat-private.h
@@ -30,6 +30,9 @@ G_BEGIN_DECLS
 /* copies */
 
 /* adaptations */
+#if !GLIB_CHECK_VERSION(2, 67, 4)
+#define g_memdup2(ptr,sz) ((G_LIKELY(((guint64)(sz)) < G_MAXUINT)) ? g_memdup(ptr,sz) : (g_abort(),NULL))
+#endif
 
 G_END_DECLS
 
diff --git a/gst/gst-i18n-app.h b/gst/gst-i18n-app.h
deleted file mode 100644
index 56140e5..0000000
--- a/gst/gst-i18n-app.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* GStreamer
- * Copyright (C) 2004 Thomas Vander Stichele <thomas@apestaart.org>
- *
- * gst-i18n-app.h: internationalization macros for the GStreamer tools
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __GST_I18N_APP_H__
-#define __GST_I18N_APP_H__
-
-#ifdef ENABLE_NLS
-
-#include <locale.h>  /* some people need it and some people don't */
-#include "gettext.h" /* included with gettext distribution and copied */
-
-/* we want to use shorthand _() for translating and N_() for marking */
-#define _(String) gettext (String)
-#define N_(String) gettext_noop (String)
-/* FIXME: if we need it, we can add Q_ as well, like in glib */
-
-#else
-
-#define _(String) String
-#define N_(String) String
-#define ngettext(Singular,Plural,Count) ((Count>1)?Plural:Singular)
-
-#endif
-
-#endif /* __GST_I18N_APP_H__ */
diff --git a/gst/gst-i18n-lib.h b/gst/gst-i18n-lib.h
deleted file mode 100644
index cf5c285..0000000
--- a/gst/gst-i18n-lib.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* GStreamer
- * Copyright (C) 2004 Thomas Vander Stichele <thomas@apestaart.org>
- *
- * gst-i18n-lib.h: internationalization macros for the GStreamer libraries
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef __GST_I18N_LIB_H__
-#define __GST_I18N_LIB_H__
-
-#ifndef PACKAGE_NAME
-#error You must include config.h before including this header.
-#endif
-
-#ifdef ENABLE_NLS
-
-#include <locale.h>  /* some people need it and some people don't */
-#include "gettext.h" /* included with gettext distribution and copied */
-
-/* we want to use shorthand _() for translating and N_() for marking */
-#define _(String) dgettext (GETTEXT_PACKAGE, String)
-#define N_(String) gettext_noop (String)
-/* FIXME: if we need it, we can add Q_ as well, like in glib */
-
-#else
-#define _(String) String
-#define N_(String) String
-#define ngettext(Singular,Plural,Count) ((Count>1)?Plural:Singular)
-
-#endif
-
-#endif /* __GST_I18N_LIB_H__ */
diff --git a/gst/gst.c b/gst/gst.c
index 6e10cab..5d8788f 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -27,61 +27,67 @@
  *                     graphs.
  *
  * GStreamer is a framework for constructing graphs of various filters
- * (termed elements here) that will handle streaming media.  Any discrete
- * (packetizable) media type is supported, with provisions for automatically
- * determining source type.  Formatting/framing information is provided with
- * a powerful negotiation framework.  Plugins are heavily used to provide for
- * all elements, allowing one to construct plugins outside of the GST
- * library, even released binary-only if license require (please don't).
+ * (termed elements here) that will handle streaming media.
+ *
+ * Any discrete (packetizable) media type is supported, with provisions for
+ * automatically determining source type.
+ *
+ * Formatting/framing information is provided with a powerful negotiation
+ * framework.
+ *
+ * Plugins are heavily used to provide for all elements, allowing one to
+ * construct plugins outside of the GST library, even released binary-only if
+ * license require (please don't).
+ *
  * GStreamer covers a wide range of use cases including: playback, recording,
  * editing, serving streams, voice over ip and video calls.
  *
  * The `GStreamer` library should be initialized with
- * gst_init() before it can be used. You should pass pointers to the main argc
- * and argv variables so that GStreamer can process its own command line
+ * gst_init() before it can be used. You should pass pointers to the main `argc`
+ * and `argv` variables so that GStreamer can process its own command line
  * options, as shown in the following example.
  *
  * ## Initializing the gstreamer library
  *
- * |[ <!-- language="C" -->
- * int
- * main (int argc, char *argv[])
+ * ``` C
+ * int main (int argc, char *argv[])
  * {
  *   // initialize the GStreamer library
- *   gst_init (&amp;argc, &amp;argv);
+ *   gst_init (&argc, &argv);
  *   ...
  * }
- * ]|
+ * ```
  *
  * It's allowed to pass two %NULL pointers to gst_init() in case you don't want
  * to pass the command line args to GStreamer.
  *
- * You can also use GOption to initialize your own parameters as shown in
+ * You can also use #GOptionContext to initialize your own parameters as shown in
  * the next code fragment:
  *
- * ## Initializing own parameters when initializing gstreamer
- * |[ <!-- language="C" -->
+ * ## Initializing own parameters when initializing GStreamer
+ *
+ * ``` C
  * static gboolean stats = FALSE;
  * ...
  * int
  * main (int argc, char *argv[])
  * {
  *  GOptionEntry options[] = {
- *   {"tags", 't', 0, G_OPTION_ARG_NONE, &amp;tags,
+ *   {"tags", 't', 0, G_OPTION_ARG_NONE, &tags,
  *       N_("Output tags (also known as metadata)"), NULL},
  *   {NULL}
  *  };
  *  ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
  *  g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
  *  g_option_context_add_group (ctx, gst_init_get_option_group ());
- *  if (!g_option_context_parse (ctx, &amp;argc, &amp;argv, &amp;err)) {
- *    g_print ("Error initializing: &percnt;s\n", GST_STR_NULL (err->message));
+ *  if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
+ *    g_print ("Error initializing: %s\n", GST_STR_NULL (err->message));
  *    exit (1);
  *  }
  *  g_option_context_free (ctx);
  * ...
  * }
- * ]|
+ * ```
  *
  * Use gst_version() to query the library version at runtime or use the
  * GST_VERSION_* macros to find the version at compile time. Optionally
@@ -113,7 +119,7 @@
 #endif
 #endif
 
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include <locale.h>             /* for LC_ALL */
 
 #include "gst.h"
@@ -125,6 +131,7 @@
 
 static gboolean gst_initialized = FALSE;
 static gboolean gst_deinitialized = FALSE;
+static GRecMutex init_lock;
 
 GstClockTime _priv_gst_start_time;
 
@@ -161,18 +168,6 @@ static gboolean parse_goption_arg (const gchar * s_opt,
 
 GSList *_priv_gst_preload_plugins = NULL;
 
-const gchar g_log_domain_gstreamer[] = "GStreamer";
-
-static void
-debug_log_handler (const gchar * log_domain,
-    GLogLevelFlags log_level, const gchar * message, gpointer user_data)
-{
-  g_log_default_handler (log_domain, log_level, message, user_data);
-  /* FIXME: do we still need this ? fatal errors these days are all
-   * other than core errors */
-  /* g_on_error_query (NULL); */
-}
-
 enum
 {
   ARG_VERSION = 1,
@@ -390,7 +385,7 @@ gst_get_main_executable_path (void)
  * gst_init_check:
  * @argc: (inout) (allow-none): pointer to application's argc
  * @argv: (inout) (array length=argc) (allow-none): pointer to application's argv
- * @err: pointer to a #GError to which a message will be posted on error
+ * @error: pointer to a #GError to which a message will be posted on error
  *
  * Initializes the GStreamer library, setting up internal path lists,
  * registering built-in elements, and loading standard plugins.
@@ -402,20 +397,18 @@ gst_get_main_executable_path (void)
  * Returns: %TRUE if GStreamer could be initialized.
  */
 gboolean
-gst_init_check (int *argc, char **argv[], GError ** err)
+gst_init_check (int *argc, char **argv[], GError ** error)
 {
-  static GMutex init_lock;
 #ifndef GST_DISABLE_OPTION_PARSING
   GOptionGroup *group;
   GOptionContext *ctx;
 #endif
   gboolean res;
 
-  g_mutex_lock (&init_lock);
-
+  g_rec_mutex_lock (&init_lock);
   if (gst_initialized) {
     GST_DEBUG ("already initialized gst");
-    g_mutex_unlock (&init_lock);
+    g_rec_mutex_unlock (&init_lock);
     return TRUE;
   }
 #ifndef GST_DISABLE_OPTION_PARSING
@@ -424,7 +417,7 @@ gst_init_check (int *argc, char **argv[], GError ** err)
   g_option_context_set_help_enabled (ctx, FALSE);
   group = gst_init_get_option_group ();
   g_option_context_add_group (ctx, group);
-  res = g_option_context_parse (ctx, argc, argv, err);
+  res = g_option_context_parse (ctx, argc, argv, error);
   g_option_context_free (ctx);
 #else
   init_pre (NULL, NULL, NULL, NULL);
@@ -434,7 +427,7 @@ gst_init_check (int *argc, char **argv[], GError ** err)
 
   gst_initialized = res;
 
-  g_mutex_unlock (&init_lock);
+  g_rec_mutex_unlock (&init_lock);
 
   return res;
 }
@@ -454,14 +447,9 @@ gst_init_check (int *argc, char **argv[], GError ** err)
  * <link linkend="gst-running">Running GStreamer Applications</link>
  * for how to disable automatic registry updates.
  *
- * > This function will terminate your program if it was unable to initialize
- * > GStreamer for some reason.  If you want your program to fall back,
- * > use gst_init_check() instead.
- *
- * WARNING: This function does not work in the same way as corresponding
- * functions in other glib-style libraries, such as gtk_init\(\). In
- * particular, unknown command line options cause this function to
- * abort program execution.
+ * WARNING: This function will terminate your program if it was unable to
+ * initialize GStreamer for some reason. If you want your program to fall back,
+ * use gst_init_check() instead.
  */
 void
 gst_init (int *argc, char **argv[])
@@ -581,7 +569,9 @@ init_pre (GOptionContext * context, GOptionGroup * group, gpointer data,
     g_free (basedir);
   }
 #else
-  libdir = g_strdup (LIBDIR);
+  libdir = priv_gst_get_relocated_libgstreamer ();
+  if (!libdir)
+    libdir = g_strdup (LIBDIR);
 #endif
   GST_INFO ("Initializing GStreamer Core Library version %s", VERSION);
   GST_INFO ("Using library installed in %s", libdir);
@@ -631,6 +621,24 @@ gst_register_core_elements (GstPlugin * plugin)
   return TRUE;
 }
 
+static void
+init_static_plugins (void)
+{
+  GModule *module;
+
+  /* Call gst_init_static_plugins() defined in libgstreamer-full-1.0 in the case
+   * libgstreamer is static linked with some plugins. */
+  module = g_module_open (NULL, G_MODULE_BIND_LOCAL);
+  if (module) {
+    void (*func) (void);
+    if (g_module_symbol (module, "gst_init_static_plugins",
+            (gpointer *) & func)) {
+      func ();
+    }
+    g_module_close (module);
+  }
+}
+
 /*
  * this bit handles:
  * - initialization of threads if we use them
@@ -646,16 +654,11 @@ static gboolean
 init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
     GError ** error)
 {
-  GLogLevelFlags llf;
-
   if (gst_initialized) {
     GST_DEBUG ("already initialized");
     return TRUE;
   }
 
-  llf = G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_ERROR | G_LOG_FLAG_FATAL;
-  g_log_set_handler (g_log_domain_gstreamer, llf, debug_log_handler, NULL);
-
   _priv_gst_mini_object_initialize ();
   _priv_gst_quarks_initialize ();
   _priv_gst_allocator_initialize ();
@@ -793,15 +796,11 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
    * Any errors happening below this point are non-fatal, we therefore mark
    * gstreamer as being initialized, since it is the case from a plugin point of
    * view.
-   *
-   * If anything fails, it will be put back to %FALSE in gst_init_check().
-   * This allows some special plugins that would call gst_init() to not cause a
-   * looping effect (i.e. initializing GStreamer twice).
    */
   gst_initialized = TRUE;
 
-  if (!gst_update_registry ())
-    return FALSE;
+  init_static_plugins ();
+  gst_update_registry ();
 
   GST_INFO ("GLib runtime version: %d.%d.%d", glib_major_version,
       glib_minor_version, glib_micro_version);
@@ -1020,6 +1019,7 @@ parse_one_option (gint opt, const gchar * arg, GError ** err)
   return TRUE;
 }
 
+/* *INDENT-OFF* */
 static gboolean
 parse_goption_arg (const gchar * opt,
     const gchar * arg, gpointer data, GError ** err)
@@ -1062,6 +1062,7 @@ parse_goption_arg (const gchar * opt,
   return parse_one_option (val, arg, err);
 }
 #endif
+/* *INDENT-ON* */
 
 /**
  * gst_deinit:
@@ -1079,17 +1080,19 @@ void
 gst_deinit (void)
 {
   GstBinClass *bin_class;
-  GstClock *clock;
-
-  if (!gst_initialized)
-    return;
 
-  GST_INFO ("deinitializing GStreamer");
+  g_rec_mutex_lock (&init_lock);
 
-  if (gst_deinitialized) {
-    GST_DEBUG ("already deinitialized");
+  if (!gst_initialized) {
+    g_rec_mutex_unlock (&init_lock);
     return;
   }
+  if (gst_deinitialized) {
+    /* tell the user how naughty they've been */
+    g_error ("GStreamer should not be deinitialized a second time.");
+  }
+
+  GST_INFO ("deinitializing GStreamer");
   g_thread_pool_set_max_unused_threads (0);
   bin_class = (GstBinClass *) g_type_class_peek (gst_bin_get_type ());
   if (bin_class && bin_class->pool != NULL) {
@@ -1113,9 +1116,9 @@ gst_deinit (void)
     _gst_executable_path = NULL;
   }
 
-  clock = gst_system_clock_obtain ();
-  gst_object_unref (clock);
+  GstClock *clock = gst_system_clock_obtain ();
   gst_object_unref (clock);
+  gst_clear_object (&clock);
 
   _priv_gst_registry_cleanup ();
   _priv_gst_allocator_cleanup ();
@@ -1129,6 +1132,7 @@ gst_deinit (void)
 
   _priv_gst_caps_features_cleanup ();
   _priv_gst_caps_cleanup ();
+  _priv_gst_meta_cleanup ();
 
   g_type_class_unref (g_type_class_peek (gst_object_get_type ()));
   g_type_class_unref (g_type_class_peek (gst_pad_get_type ()));
@@ -1233,11 +1237,14 @@ gst_deinit (void)
 
   gst_deinitialized = TRUE;
   GST_INFO ("deinitialized GStreamer");
+  g_rec_mutex_unlock (&init_lock);
 
+#ifndef GST_DISABLE_GST_DEBUG
   /* Doing this as the very last step to allow the above GST_INFO() to work
    * correctly. It's of course making the above statement a lie: for a short
    * while we're not deinitialized yet */
   _priv_gst_debug_cleanup ();
+#endif
 }
 
 /**
diff --git a/gst/gst.h b/gst/gst.h
index a1f2297..7bd59cd 100644
--- a/gst/gst.h
+++ b/gst/gst.h
@@ -95,6 +95,13 @@
 /* API compatibility stuff */
 #include <gst/gstcompat.h>
 
+#ifdef __APPLE__
+#	include <TargetConditionals.h>
+#	if TARGET_OS_MAC && !TARGET_OS_IPHONE
+#	 include <gst/gstmacos.h>
+#	endif
+#endif
+
 G_BEGIN_DECLS
 
 GST_API
@@ -102,7 +109,7 @@ void		gst_init			(int *argc, char **argv[]);
 
 GST_API
 gboolean	gst_init_check			(int *argc, char **argv[],
-						 GError ** err);
+						 GError ** error);
 GST_API
 gboolean        gst_is_initialized              (void);
 
diff --git a/gst/gst_private.h b/gst/gst_private.h
index eefd044..0841836 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -29,10 +29,6 @@
 # endif
 #endif
 
-/* This needs to be before glib.h, since it might be used in inline
- * functions */
-extern const char             g_log_domain_gstreamer[];
-
 #include <glib.h>
 
 #include <stdlib.h>
@@ -116,8 +112,6 @@ G_GNUC_INTERNAL  gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
 
 G_GNUC_INTERNAL  gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
 
-G_GNUC_INTERNAL  gboolean _priv_gst_in_valgrind (void);
-
 /* init functions called from gst_init(). */
 G_GNUC_INTERNAL  void  _priv_gst_quarks_initialize (void);
 G_GNUC_INTERNAL  void  _priv_gst_mini_object_initialize (void);
@@ -148,6 +142,7 @@ G_GNUC_INTERNAL  void  _priv_gst_allocator_cleanup (void);
 G_GNUC_INTERNAL  void  _priv_gst_caps_features_cleanup (void);
 G_GNUC_INTERNAL  void  _priv_gst_caps_cleanup (void);
 G_GNUC_INTERNAL  void  _priv_gst_debug_cleanup (void);
+G_GNUC_INTERNAL  void  _priv_gst_meta_cleanup (void);
 
 /* called from gst_task_cleanup_all(). */
 G_GNUC_INTERNAL  void  _priv_gst_element_cleanup (void);
@@ -171,8 +166,8 @@ G_GNUC_INTERNAL const char * _priv_gst_value_gtype_to_abbr (GType type);
 
 G_GNUC_INTERNAL gboolean _priv_gst_value_parse_string (gchar * s, gchar ** end, gchar ** next, gboolean unescape);
 G_GNUC_INTERNAL gboolean _priv_gst_value_parse_simple_string (gchar * str, gchar ** end);
-G_GNUC_INTERNAL gboolean _priv_gst_value_parse_value (gchar * str, gchar ** after, GValue * value, GType default_type);
-G_GNUC_INTERNAL gchar * _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin, const gchar * end, gboolean print_type);
+G_GNUC_INTERNAL gboolean _priv_gst_value_parse_value (gchar * str, gchar ** after, GValue * value, GType default_type, GParamSpec *pspec);
+G_GNUC_INTERNAL gchar * _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin, const gchar * end, gboolean print_type, GstSerializeFlags flags);
 
 /* Used in GstBin for manual state handling */
 G_GNUC_INTERNAL  void _priv_gst_element_state_changed (GstElement *element,
@@ -184,7 +179,8 @@ G_GNUC_INTERNAL  void _priv_gst_element_state_changed (GstElement *element,
 
 G_GNUC_INTERNAL
 gboolean  priv_gst_structure_append_to_gstring (const GstStructure * structure,
-                                                GString            * s);
+                                                GString            * s,
+                                                GstSerializeFlags flags);
 G_GNUC_INTERNAL
 gboolean priv__gst_structure_append_template_to_gstring (GQuark field_id,
                                                         const GValue *value,
@@ -194,7 +190,7 @@ G_GNUC_INTERNAL
 void priv_gst_caps_features_append_to_gstring (const GstCapsFeatures * features, GString *s);
 
 G_GNUC_INTERNAL
-gboolean priv_gst_structure_parse_name (gchar * str, gchar **start, gchar ** end, gchar ** next);
+gboolean priv_gst_structure_parse_name (gchar * str, gchar **start, gchar ** end, gchar ** next, gboolean check_valid);
 G_GNUC_INTERNAL
 gboolean priv_gst_structure_parse_fields (gchar *str, gchar ** end, GstStructure *structure);
 
@@ -352,12 +348,6 @@ extern GstClockTime _priv_gst_start_time;
 
 #endif
 
-#ifdef GST_DISABLE_GST_DEBUG
-/* for _gst_element_error_printf */
-#define __gst_vasprintf __gst_info_fallback_vasprintf
-int __gst_vasprintf (char **result, char const *format, va_list args);
-#endif
-
 /**** objects made opaque until the private bits have been made private ****/
 
 #include <gmodule.h>
@@ -522,12 +512,14 @@ struct _GstDynamicTypeFactoryClass {
 struct _GstClockEntryImpl
 {
   GstClockEntry entry;
-  GWeakRef clock;
+  GWeakRef *clock;
   GDestroyNotify destroy_entry;
   gpointer padding[21];                 /* padding for allowing e.g. systemclock
                                          * to add data in lieu of overridable
                                          * virtual functions on the clock */
 };
 
+char * priv_gst_get_relocated_libgstreamer (void);
+
 G_END_DECLS
 #endif /* __GST_PRIVATE_H__ */
diff --git a/gst/gstallocator.c b/gst/gstallocator.c
index 20ced48..f3cd20e 100644
--- a/gst/gstallocator.c
+++ b/gst/gstallocator.c
@@ -24,6 +24,9 @@
  * @title: GstAllocator
  * @short_description: allocate memory blocks
  * @see_also: #GstMemory
+ * @auto-sort: false
+ * @symbols:
+ * - GstAllocator
  *
  * Memory is usually created by allocators with a gst_allocator_alloc()
  * method call. When %NULL is used as the allocator, the default allocator will
@@ -139,6 +142,31 @@ G_DEFINE_BOXED_TYPE (GstAllocationParams, gst_allocation_params,
     (GBoxedCopyFunc) gst_allocation_params_copy,
     (GBoxedFreeFunc) gst_allocation_params_free);
 
+/**
+ * gst_allocation_params_new:
+ *
+ * Create a new #GstAllocationParams on the heap.  This function is for
+ * use in GStreamer language bindings.  In your own code, you can just
+ * declare a #GstAllocationParams on the stack or in a struct, and
+ * call gst_allocation_params_init() to initialize it.
+ *
+ * You do not need to call gst_allocation_params_init() on the instance
+ * returned by this function.
+ *
+ * Returns: (transfer full) (not nullable): a new #GstAllocationParams
+ *
+ * Since: 1.20
+ */
+GstAllocationParams *
+gst_allocation_params_new (void)
+{
+  /* Call new() and then init(), rather than calling new0(), in case
+   * init() ever changes to something other than a memset(). */
+  GstAllocationParams *result = g_slice_new (GstAllocationParams);
+  gst_allocation_params_init (result);
+  return result;
+}
+
 /**
  * gst_allocation_params_init:
  * @params: a #GstAllocationParams
@@ -159,10 +187,7 @@ gst_allocation_params_init (GstAllocationParams * params)
  *
  * Create a copy of @params.
  *
- * Free-function: gst_allocation_params_free
- *
- * Returns: (transfer full) (nullable): a new ##GstAllocationParams, free with
- * gst_allocation_params_free().
+ * Returns: (transfer full) (nullable): a new #GstAllocationParams.
  */
 GstAllocationParams *
 gst_allocation_params_copy (const GstAllocationParams * params)
@@ -194,8 +219,7 @@ gst_allocation_params_free (GstAllocationParams * params)
  * @name: the name of the allocator
  * @allocator: (transfer full): #GstAllocator
  *
- * Registers the memory @allocator with @name. This function takes ownership of
- * @allocator.
+ * Registers the memory @allocator with @name.
  */
 void
 gst_allocator_register (const gchar * name, GstAllocator * allocator)
@@ -209,20 +233,20 @@ gst_allocator_register (const gchar * name, GstAllocator * allocator)
   g_rw_lock_writer_lock (&lock);
   /* The ref will never be released */
   GST_OBJECT_FLAG_SET (allocator, GST_OBJECT_FLAG_MAY_BE_LEAKED);
-  g_hash_table_insert (allocators, (gpointer) name, (gpointer) allocator);
+  g_hash_table_insert (allocators, (gpointer) g_strdup (name),
+      (gpointer) allocator);
   g_rw_lock_writer_unlock (&lock);
 }
 
 /**
  * gst_allocator_find:
- * @name: (allow-none): the name of the allocator
+ * @name: (nullable): the name of the allocator
  *
  * Find a previously registered allocator with @name. When @name is %NULL, the
  * default allocator will be returned.
  *
  * Returns: (transfer full) (nullable): a #GstAllocator or %NULL when
- * the allocator with @name was not registered. Use gst_object_unref()
- * to release the allocator after usage.
+ * the allocator with @name was not registered.
  */
 GstAllocator *
 gst_allocator_find (const gchar * name)
@@ -246,7 +270,7 @@ gst_allocator_find (const gchar * name)
  * gst_allocator_set_default:
  * @allocator: (transfer full): a #GstAllocator
  *
- * Set the default allocator. This function takes ownership of @allocator.
+ * Set the default allocator.
  */
 void
 gst_allocator_set_default (GstAllocator * allocator)
@@ -266,9 +290,9 @@ gst_allocator_set_default (GstAllocator * allocator)
 
 /**
  * gst_allocator_alloc:
- * @allocator: (transfer none) (allow-none): a #GstAllocator to use
+ * @allocator: (transfer none) (nullable): a #GstAllocator to use
  * @size: size of the visible memory area
- * @params: (transfer none) (allow-none): optional parameters
+ * @params: (transfer none) (nullable): optional parameters
  *
  * Use @allocator to allocate a new memory block with memory that is at least
  * @size big.
@@ -576,7 +600,7 @@ void
 _priv_gst_allocator_initialize (void)
 {
   g_rw_lock_init (&lock);
-  allocators = g_hash_table_new_full (g_str_hash, g_str_equal, NULL,
+  allocators = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
       gst_object_unref);
 
 #ifdef HAVE_GETPAGESIZE
@@ -619,8 +643,8 @@ _priv_gst_allocator_cleanup (void)
  * @maxsize: allocated size of @data
  * @offset: offset in @data
  * @size: size of valid data
- * @user_data: (allow-none): user_data
- * @notify: (allow-none) (scope async) (closure user_data): called with @user_data when the memory is freed
+ * @user_data: (nullable): user_data
+ * @notify: (nullable) (scope async) (closure user_data): called with @user_data when the memory is freed
  *
  * Allocate a new memory block that wraps the given @data.
  *
diff --git a/gst/gstallocator.h b/gst/gstallocator.h
index 51e6b92..0989dd8 100644
--- a/gst/gstallocator.h
+++ b/gst/gstallocator.h
@@ -167,6 +167,9 @@ void           gst_allocator_set_default     (GstAllocator * allocator);
 
 /* allocation parameters */
 
+GST_API
+GstAllocationParams * gst_allocation_params_new (void) G_GNUC_MALLOC;
+
 GST_API
 void           gst_allocation_params_init    (GstAllocationParams *params);
 
diff --git a/gst/gstandroid.c b/gst/gstandroid.c
new file mode 100644
index 0000000..4212a54
--- /dev/null
+++ b/gst/gstandroid.c
@@ -0,0 +1,610 @@
+/* This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gst_private.h"
+#include "gst.h"
+
+#include <jni.h>
+#include <android/log.h>
+#include <string.h>
+
+/* AMC plugin uses g_module_symbol() to find those symbols */
+GST_API jobject gst_android_get_application_context (void);
+GST_API jobject gst_android_get_application_class_loader (void);
+GST_API JavaVM *gst_android_get_java_vm (void);
+
+/* XXX: Workaround for Android <21 making signal() an inline function
+ * around bsd_signal(), and Android >= 21 not having any bsd_signal()
+ * symbol but only signal().
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=766235
+ */
+static gpointer
+load_real_signal (gpointer data)
+{
+  GModule *module;
+  gpointer ret = NULL;
+
+  module = g_module_open ("libc.so", G_MODULE_BIND_LOCAL);
+  g_module_symbol (module, "signal", &ret);
+
+  /* As fallback, let's try bsd_signal */
+  if (ret == NULL) {
+    g_warning ("Can't find signal(3) in libc.so!");
+    g_module_symbol (module, "bsd_signal", &ret);
+  }
+
+  g_module_close (module);
+
+  return ret;
+}
+
+__sighandler_t bsd_signal (int signum, __sighandler_t handler)
+    __attribute__ ((weak));
+__sighandler_t
+bsd_signal (int signum, __sighandler_t handler)
+{
+  static GOnce gonce = G_ONCE_INIT;
+  __sighandler_t (*real_signal) (int signum, __sighandler_t handler);
+
+  g_once (&gonce, load_real_signal, NULL);
+
+  real_signal = gonce.retval;
+  g_assert (real_signal != NULL);
+
+  return real_signal (signum, handler);
+}
+
+static jobject _context = NULL;
+static jobject _class_loader = NULL;
+static JavaVM *_java_vm = NULL;
+static GstClockTime _priv_gst_info_start_time;
+
+static void
+glib_print_handler (const gchar * string)
+{
+  __android_log_print (ANDROID_LOG_INFO, "GLib+stdout", "%s", string);
+}
+
+static void
+glib_printerr_handler (const gchar * string)
+{
+  __android_log_print (ANDROID_LOG_ERROR, "GLib+stderr", "%s", string);
+}
+
+
+/* Based on GLib's default handler */
+#define CHAR_IS_SAFE(wc) (!((wc < 0x20 && wc != '\t' && wc != '\n' && wc != '\r') || \
+			    (wc == 0x7f) || \
+			    (wc >= 0x80 && wc < 0xa0)))
+#define FORMAT_UNSIGNED_BUFSIZE ((GLIB_SIZEOF_LONG * 3) + 3)
+#define	STRING_BUFFER_SIZE	(FORMAT_UNSIGNED_BUFSIZE + 32)
+#define	ALERT_LEVELS		(G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING)
+#define DEFAULT_LEVELS (G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE)
+#define INFO_LEVELS (G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG)
+
+static void
+escape_string (GString * string)
+{
+  const char *p = string->str;
+  gunichar wc;
+
+  while (p < string->str + string->len) {
+    gboolean safe;
+
+    wc = g_utf8_get_char_validated (p, -1);
+    if (wc == (gunichar) - 1 || wc == (gunichar) - 2) {
+      gchar *tmp;
+      guint pos;
+
+      pos = p - string->str;
+
+      /* Emit invalid UTF-8 as hex escapes
+       */
+      tmp = g_strdup_printf ("\\x%02x", (guint) (guchar) * p);
+      g_string_erase (string, pos, 1);
+      g_string_insert (string, pos, tmp);
+
+      p = string->str + (pos + 4);      /* Skip over escape sequence */
+
+      g_free (tmp);
+      continue;
+    }
+    if (wc == '\r') {
+      safe = *(p + 1) == '\n';
+    } else {
+      safe = CHAR_IS_SAFE (wc);
+    }
+
+    if (!safe) {
+      gchar *tmp;
+      guint pos;
+
+      pos = p - string->str;
+
+      /* Largest char we escape is 0x0a, so we don't have to worry
+       * about 8-digit \Uxxxxyyyy
+       */
+      tmp = g_strdup_printf ("\\u%04x", wc);
+      g_string_erase (string, pos, g_utf8_next_char (p) - p);
+      g_string_insert (string, pos, tmp);
+      g_free (tmp);
+
+      p = string->str + (pos + 6);      /* Skip over escape sequence */
+    } else
+      p = g_utf8_next_char (p);
+  }
+}
+
+static void
+glib_log_handler (const gchar * log_domain, GLogLevelFlags log_level,
+    const gchar * message, gpointer user_data)
+{
+  gchar *string;
+  GString *gstring;
+  const gchar *domains;
+  gint android_log_level;
+  gchar *tag;
+
+  if ((log_level & DEFAULT_LEVELS) || (log_level >> G_LOG_LEVEL_USER_SHIFT))
+    goto emit;
+
+  domains = g_getenv ("G_MESSAGES_DEBUG");
+  if (((log_level & INFO_LEVELS) == 0) ||
+      domains == NULL ||
+      (strcmp (domains, "all") != 0 && (!log_domain
+              || !strstr (domains, log_domain))))
+    return;
+
+emit:
+
+  if (log_domain)
+    tag = g_strdup_printf ("GLib+%s", log_domain);
+  else
+    tag = g_strdup ("GLib");
+
+  switch (log_level & G_LOG_LEVEL_MASK) {
+    case G_LOG_LEVEL_ERROR:
+    case G_LOG_LEVEL_CRITICAL:
+      android_log_level = ANDROID_LOG_ERROR;
+      break;
+    case G_LOG_LEVEL_WARNING:
+      android_log_level = ANDROID_LOG_WARN;
+      break;
+    case G_LOG_LEVEL_MESSAGE:
+    case G_LOG_LEVEL_INFO:
+      android_log_level = ANDROID_LOG_INFO;
+      break;
+    case G_LOG_LEVEL_DEBUG:
+      android_log_level = ANDROID_LOG_DEBUG;
+      break;
+    default:
+      android_log_level = ANDROID_LOG_VERBOSE;
+      break;
+  }
+
+  gstring = g_string_new (NULL);
+  if (!message) {
+    g_string_append (gstring, "(NULL) message");
+  } else {
+    GString *msg = g_string_new (message);
+    escape_string (msg);
+    g_string_append (gstring, msg->str);
+    g_string_free (msg, TRUE);
+  }
+  string = g_string_free (gstring, FALSE);
+
+  __android_log_print (android_log_level, tag, "%s", string);
+
+  g_free (string);
+  g_free (tag);
+}
+
+static void
+gst_debug_logcat (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    GObject * object, GstDebugMessage * message, gpointer unused)
+{
+  GstClockTime elapsed;
+  gint android_log_level;
+  gchar *tag;
+
+  if (level > gst_debug_category_get_threshold (category))
+    return;
+
+  elapsed = GST_CLOCK_DIFF (_priv_gst_info_start_time,
+      gst_util_get_timestamp ());
+
+  switch (level) {
+    case GST_LEVEL_ERROR:
+      android_log_level = ANDROID_LOG_ERROR;
+      break;
+    case GST_LEVEL_WARNING:
+      android_log_level = ANDROID_LOG_WARN;
+      break;
+    case GST_LEVEL_FIXME:
+    case GST_LEVEL_INFO:
+      android_log_level = ANDROID_LOG_INFO;
+      break;
+    case GST_LEVEL_DEBUG:
+      android_log_level = ANDROID_LOG_DEBUG;
+      break;
+    default:
+      android_log_level = ANDROID_LOG_VERBOSE;
+      break;
+  }
+
+  tag = g_strdup_printf ("GStreamer+%s",
+      gst_debug_category_get_name (category));
+
+  if (object) {
+    gchar *obj;
+
+    if (GST_IS_PAD (object) && GST_OBJECT_NAME (object)) {
+      obj = g_strdup_printf ("<%s:%s>", GST_DEBUG_PAD_NAME (object));
+    } else if (GST_IS_OBJECT (object) && GST_OBJECT_NAME (object)) {
+      obj = g_strdup_printf ("<%s>", GST_OBJECT_NAME (object));
+    } else if (G_IS_OBJECT (object)) {
+      obj = g_strdup_printf ("<%s@%p>", G_OBJECT_TYPE_NAME (object), object);
+    } else {
+      obj = g_strdup_printf ("<%p>", object);
+    }
+
+    __android_log_print (android_log_level, tag,
+        "%" GST_TIME_FORMAT " %p %s:%d:%s:%s %s\n",
+        GST_TIME_ARGS (elapsed), g_thread_self (),
+        file, line, function, obj, gst_debug_message_get (message));
+
+    g_free (obj);
+  } else {
+    __android_log_print (android_log_level, tag,
+        "%" GST_TIME_FORMAT " %p %s:%d:%s %s\n",
+        GST_TIME_ARGS (elapsed), g_thread_self (),
+        file, line, function, gst_debug_message_get (message));
+  }
+  g_free (tag);
+}
+
+static gboolean
+get_application_dirs (JNIEnv * env, jobject context, gchar ** cache_dir,
+    gchar ** files_dir)
+{
+  jclass context_class;
+  jmethodID get_cache_dir_id, get_files_dir_id;
+  jclass file_class;
+  jmethodID get_absolute_path_id;
+  jobject dir;
+  jstring abs_path;
+  const gchar *abs_path_str;
+
+  *cache_dir = *files_dir = NULL;
+
+  context_class = (*env)->GetObjectClass (env, context);
+  if (!context_class) {
+    return FALSE;
+  }
+  get_cache_dir_id =
+      (*env)->GetMethodID (env, context_class, "getCacheDir",
+      "()Ljava/io/File;");
+  get_files_dir_id =
+      (*env)->GetMethodID (env, context_class, "getFilesDir",
+      "()Ljava/io/File;");
+  if (!get_cache_dir_id || !get_files_dir_id) {
+    (*env)->DeleteLocalRef (env, context_class);
+    return FALSE;
+  }
+
+  file_class = (*env)->FindClass (env, "java/io/File");
+  if (!file_class) {
+    (*env)->DeleteLocalRef (env, context_class);
+    return FALSE;
+  }
+  get_absolute_path_id =
+      (*env)->GetMethodID (env, file_class, "getAbsolutePath",
+      "()Ljava/lang/String;");
+  if (!get_absolute_path_id) {
+    (*env)->DeleteLocalRef (env, context_class);
+    (*env)->DeleteLocalRef (env, file_class);
+    return FALSE;
+  }
+
+  dir = (*env)->CallObjectMethod (env, context, get_cache_dir_id);
+  if ((*env)->ExceptionCheck (env)) {
+    (*env)->ExceptionDescribe (env);
+    (*env)->ExceptionClear (env);
+    (*env)->DeleteLocalRef (env, context_class);
+    (*env)->DeleteLocalRef (env, file_class);
+    return FALSE;
+  }
+
+  if (dir) {
+    abs_path = (*env)->CallObjectMethod (env, dir, get_absolute_path_id);
+    if ((*env)->ExceptionCheck (env)) {
+      (*env)->ExceptionDescribe (env);
+      (*env)->ExceptionClear (env);
+      (*env)->DeleteLocalRef (env, dir);
+      (*env)->DeleteLocalRef (env, context_class);
+      (*env)->DeleteLocalRef (env, file_class);
+      return FALSE;
+    }
+    abs_path_str = (*env)->GetStringUTFChars (env, abs_path, NULL);
+    if ((*env)->ExceptionCheck (env)) {
+      (*env)->ExceptionDescribe (env);
+      (*env)->ExceptionClear (env);
+      (*env)->DeleteLocalRef (env, abs_path);
+      (*env)->DeleteLocalRef (env, dir);
+      (*env)->DeleteLocalRef (env, context_class);
+      (*env)->DeleteLocalRef (env, file_class);
+      return FALSE;
+    }
+    *cache_dir = abs_path ? g_strdup (abs_path_str) : NULL;
+
+    (*env)->ReleaseStringUTFChars (env, abs_path, abs_path_str);
+    (*env)->DeleteLocalRef (env, abs_path);
+    (*env)->DeleteLocalRef (env, dir);
+  }
+
+  dir = (*env)->CallObjectMethod (env, context, get_files_dir_id);
+  if ((*env)->ExceptionCheck (env)) {
+    (*env)->ExceptionDescribe (env);
+    (*env)->ExceptionClear (env);
+    (*env)->DeleteLocalRef (env, context_class);
+    (*env)->DeleteLocalRef (env, file_class);
+    return FALSE;
+  }
+  if (dir) {
+    abs_path = (*env)->CallObjectMethod (env, dir, get_absolute_path_id);
+    if ((*env)->ExceptionCheck (env)) {
+      (*env)->ExceptionDescribe (env);
+      (*env)->ExceptionClear (env);
+      (*env)->DeleteLocalRef (env, dir);
+      (*env)->DeleteLocalRef (env, context_class);
+      (*env)->DeleteLocalRef (env, file_class);
+      return FALSE;
+    }
+    abs_path_str = (*env)->GetStringUTFChars (env, abs_path, NULL);
+    if ((*env)->ExceptionCheck (env)) {
+      (*env)->ExceptionDescribe (env);
+      (*env)->ExceptionClear (env);
+      (*env)->DeleteLocalRef (env, abs_path);
+      (*env)->DeleteLocalRef (env, dir);
+      (*env)->DeleteLocalRef (env, context_class);
+      (*env)->DeleteLocalRef (env, file_class);
+      return FALSE;
+    }
+    *files_dir = files_dir ? g_strdup (abs_path_str) : NULL;
+
+    (*env)->ReleaseStringUTFChars (env, abs_path, abs_path_str);
+    (*env)->DeleteLocalRef (env, abs_path);
+    (*env)->DeleteLocalRef (env, dir);
+  }
+
+  (*env)->DeleteLocalRef (env, file_class);
+  (*env)->DeleteLocalRef (env, context_class);
+
+  return TRUE;
+}
+
+jobject
+gst_android_get_application_context (void)
+{
+  return _context;
+}
+
+jobject
+gst_android_get_application_class_loader (void)
+{
+  return _class_loader;
+}
+
+JavaVM *
+gst_android_get_java_vm (void)
+{
+  return _java_vm;
+}
+
+static gboolean
+init (JNIEnv * env, jobject context)
+{
+  jclass context_cls = NULL;
+  jmethodID get_class_loader_id = 0;
+
+  jobject class_loader = NULL;
+
+  context_cls = (*env)->GetObjectClass (env, context);
+  if (!context_cls) {
+    return FALSE;
+  }
+
+  get_class_loader_id = (*env)->GetMethodID (env, context_cls,
+      "getClassLoader", "()Ljava/lang/ClassLoader;");
+  if ((*env)->ExceptionCheck (env)) {
+    (*env)->ExceptionDescribe (env);
+    (*env)->ExceptionClear (env);
+    return FALSE;
+  }
+
+  class_loader = (*env)->CallObjectMethod (env, context, get_class_loader_id);
+  if ((*env)->ExceptionCheck (env)) {
+    (*env)->ExceptionDescribe (env);
+    (*env)->ExceptionClear (env);
+    return FALSE;
+  }
+
+  if (_context) {
+    (*env)->DeleteGlobalRef (env, _context);
+  }
+  _context = (*env)->NewGlobalRef (env, context);
+
+  if (_class_loader) {
+    (*env)->DeleteGlobalRef (env, _class_loader);
+  }
+  _class_loader = (*env)->NewGlobalRef (env, class_loader);
+
+  return TRUE;
+}
+
+static void
+gst_android_init (JNIEnv * env, jobject context)
+{
+  gchar *cache_dir;
+  gchar *files_dir;
+  gchar *registry;
+  GError *error = NULL;
+
+  if (!init (env, context)) {
+    __android_log_print (ANDROID_LOG_INFO, "GStreamer",
+        "GStreamer failed to initialize");
+  }
+
+  if (gst_is_initialized ()) {
+    __android_log_print (ANDROID_LOG_INFO, "GStreamer",
+        "GStreamer already initialized");
+    return;
+  }
+
+  if (!get_application_dirs (env, context, &cache_dir, &files_dir)) {
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer",
+        "Failed to get application dirs");
+  }
+
+  if (cache_dir) {
+    g_setenv ("TMP", cache_dir, TRUE);
+    g_setenv ("TEMP", cache_dir, TRUE);
+    g_setenv ("TMPDIR", cache_dir, TRUE);
+    g_setenv ("XDG_RUNTIME_DIR", cache_dir, TRUE);
+    g_setenv ("XDG_CACHE_HOME", cache_dir, TRUE);
+    registry = g_build_filename (cache_dir, "registry.bin", NULL);
+    g_setenv ("GST_REGISTRY", registry, TRUE);
+    g_free (registry);
+    g_setenv ("GST_REGISTRY_REUSE_PLUGIN_SCANNER", "no", TRUE);
+    /* TODO: Should probably also set GST_PLUGIN_SCANNER and GST_PLUGIN_SYSTEM_PATH */
+  }
+  if (files_dir) {
+    gchar *fontconfig, *certs;
+
+    g_setenv ("HOME", files_dir, TRUE);
+    g_setenv ("XDG_DATA_DIRS", files_dir, TRUE);
+    g_setenv ("XDG_CONFIG_DIRS", files_dir, TRUE);
+    g_setenv ("XDG_CONFIG_HOME", files_dir, TRUE);
+    g_setenv ("XDG_DATA_HOME", files_dir, TRUE);
+
+    fontconfig = g_build_filename (files_dir, "fontconfig", NULL);
+    g_setenv ("FONTCONFIG_PATH", fontconfig, TRUE);
+    g_free (fontconfig);
+
+    certs =
+        g_build_filename (files_dir, "ssl", "certs", "ca-certificates.crt",
+        NULL);
+    g_setenv ("CA_CERTIFICATES", certs, TRUE);
+    g_free (certs);
+  }
+  g_free (cache_dir);
+  g_free (files_dir);
+
+  /* Set GLib print handlers */
+  g_set_print_handler (glib_print_handler);
+  g_set_printerr_handler (glib_printerr_handler);
+  g_log_set_default_handler (glib_log_handler, NULL);
+
+  /* Set GStreamer log handlers */
+  gst_debug_remove_log_function (NULL);
+  gst_debug_set_default_threshold (GST_LEVEL_WARNING);
+  gst_debug_add_log_function ((GstLogFunction) gst_debug_logcat, NULL, NULL);
+
+  /* get time we started for debugging messages */
+  _priv_gst_info_start_time = gst_util_get_timestamp ();
+
+  if (!gst_init_check (NULL, NULL, &error)) {
+    gchar *message = g_strdup_printf ("GStreamer initialization failed: %s",
+        error && error->message ? error->message : "(no message)");
+    jclass exception_class = (*env)->FindClass (env, "java/lang/Exception");
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer", "%s", message);
+    (*env)->ThrowNew (env, exception_class, message);
+    g_free (message);
+    return;
+  }
+  __android_log_print (ANDROID_LOG_INFO, "GStreamer",
+      "GStreamer initialization complete");
+}
+
+static void
+gst_android_init_jni (JNIEnv * env, jobject gstreamer, jobject context)
+{
+  gst_android_init (env, context);
+}
+
+static JNINativeMethod native_methods[] = {
+  {"nativeInit", "(Landroid/content/Context;)V", (void *) gst_android_init_jni}
+};
+
+jint
+JNI_OnLoad (JavaVM * vm, void *reserved)
+{
+  JNIEnv *env = NULL;
+
+  if ((*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_4) != JNI_OK) {
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer",
+        "Could not retrieve JNIEnv");
+    return 0;
+  }
+  jclass klass = (*env)->FindClass (env, "org/freedesktop/gstreamer/GStreamer");
+  if (!klass) {
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer",
+        "Could not retrieve class org.freedesktop.gstreamer.GStreamer. "
+        "Please copy GStreamer.java file into your project: "
+        "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/tree/master/data/android/GStreamer.java");
+    return 0;
+  }
+  if ((*env)->RegisterNatives (env, klass, native_methods,
+          G_N_ELEMENTS (native_methods))) {
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer",
+        "Could not register native methods for org.freedesktop.gstreamer.GStreamer");
+    return 0;
+  }
+
+  /* Remember Java VM */
+  _java_vm = vm;
+
+  return JNI_VERSION_1_4;
+}
+
+void
+JNI_OnUnload (JavaVM * vm, void *reversed)
+{
+  JNIEnv *env = NULL;
+
+  if ((*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_4) != JNI_OK) {
+    __android_log_print (ANDROID_LOG_ERROR, "GStreamer",
+        "Could not retrieve JNIEnv");
+    return;
+  }
+
+  if (_context) {
+    (*env)->DeleteGlobalRef (env, _context);
+    _context = NULL;
+  }
+
+  if (_class_loader) {
+    (*env)->DeleteGlobalRef (env, _class_loader);
+    _class_loader = NULL;
+  }
+
+  _java_vm = NULL;
+}
diff --git a/gst/gstatomicqueue.c b/gst/gstatomicqueue.c
index a80089c..99ce1e4 100644
--- a/gst/gstatomicqueue.c
+++ b/gst/gstatomicqueue.c
@@ -57,9 +57,9 @@ struct _GstAQueueMem
 {
   gint size;
   gpointer *array;
-  volatile gint head;
-  volatile gint tail_write;
-  volatile gint tail_read;
+  gint head;
+  gint tail_write;
+  gint tail_read;
   GstAQueueMem *next;
   GstAQueueMem *free;
 };
@@ -103,7 +103,7 @@ free_queue_mem (GstAQueueMem * mem)
 
 struct _GstAtomicQueue
 {
-  volatile gint refcount;
+  gint refcount;
 #ifdef LOW_MEM
   gint num_readers;
 #endif
@@ -264,7 +264,7 @@ gst_atomic_queue_peek (GstAtomicQueue * queue)
  *
  * Get the head element of the queue.
  *
- * Returns: (transfer full): the head element of @queue or %NULL when
+ * Returns: (transfer full) (nullable): the head element of @queue or %NULL when
  * the queue is empty.
  */
 gpointer
diff --git a/gst/gstbin.c b/gst/gstbin.c
index b0326f4..19b0fa6 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -19,8 +19,6 @@
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA 02110-1301, USA.
- *
- * MT safe.
  */
 
 /**
@@ -56,75 +54,82 @@
  * the bin. Likewise the #GstBin::element-removed signal is fired whenever an
  * element is removed from the bin.
  *
- * ## Notes
- *
  * A #GstBin internally intercepts every #GstMessage posted by its children and
  * implements the following default behaviour for each of them:
  *
- * * GST_MESSAGE_EOS: This message is only posted by sinks in the PLAYING
+ * * %GST_MESSAGE_EOS: This message is only posted by sinks in the PLAYING
  * state. If all sinks posted the EOS message, this bin will post and EOS
  * message upwards.
  *
- * * GST_MESSAGE_SEGMENT_START: Just collected and never forwarded upwards.
- * The messages are used to decide when all elements have completed playback
- * of their segment.
+ * * %GST_MESSAGE_SEGMENT_START: Just collected and never forwarded upwards.
+ *   The messages are used to decide when all elements have completed playback
+ *   of their segment.
+ *
+ * * %GST_MESSAGE_SEGMENT_DONE: Is posted by #GstBin when all elements that posted
+ *   a SEGMENT_START have posted a SEGMENT_DONE.
+ *
+ * * %GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change
+ *   in the stream duration. The duration change is posted to the
+ *   application so that it can refetch the new duration with a duration
+ *   query.
+ *
+ *   Note that these messages can be posted before the bin is prerolled, in which
+ *   case the duration query might fail.
+ *
+ *   Note also that there might be a discrepancy (due to internal buffering/queueing)
+ *   between the stream being currently displayed and the returned duration query.
+ *
+ *   Applications might want to also query for duration (and changes) by
+ *   listening to the %GST_MESSAGE_STREAM_START message, signaling the active start
+ *   of a (new) stream.
  *
- * * GST_MESSAGE_SEGMENT_DONE: Is posted by #GstBin when all elements that posted
- * a SEGMENT_START have posted a SEGMENT_DONE.
+ * * %GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it
+ *   can no longer provide a clock.
  *
- * * GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change
- * in the stream duration. The duration change is posted to the
- * application so that it can refetch the new duration with a duration
- * query. Note that these messages can be posted before the bin is
- * prerolled, in which case the duration query might fail. Note also that
- * there might be a discrepancy (due to internal buffering/queueing) between the
- * stream being currently displayed and the returned duration query.
- * Applications might want to also query for duration (and changes) by
- * listening to the GST_MESSAGE_STREAM_START message, signaling the active start
- * of a (new) stream.
+ *   The default bin behaviour is to check if the lost clock was the one provided
+ *   by the bin. If so and the bin is currently in the PLAYING state, the message
+ *   is forwarded to the bin parent.
  *
- * * GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it
- * can no longer provide a clock. The default bin behaviour is to
- * check if the lost clock was the one provided by the bin. If so and
- * the bin is currently in the PLAYING state, the message is forwarded to
- * the bin parent.
- * This message is also generated when a clock provider is removed from
- * the bin. If this message is received by the application, it should
- * PAUSE the pipeline and set it back to PLAYING to force a new clock
- * distribution.
+ *   This message is also generated when a clock provider is removed from
+ *   the bin. If this message is received by the application, it should
+ *   PAUSE the pipeline and set it back to PLAYING to force a new clock
+ *   distribution.
  *
- * * GST_MESSAGE_CLOCK_PROVIDE: This message is generated when an element
- * can provide a clock. This mostly happens when a new clock
- * provider is added to the bin. The default behaviour of the bin is to
- * mark the currently selected clock as dirty, which will perform a clock
- * recalculation the next time the bin is asked to provide a clock.
- * This message is never sent tot the application but is forwarded to
- * the parent of the bin.
+ * * %GST_MESSAGE_CLOCK_PROVIDE: This message is generated when an element
+ *   can provide a clock. This mostly happens when a new clock
+ *   provider is added to the bin.
+ *
+ *   The default behaviour of the bin is to mark the currently selected clock as
+ *   dirty, which will perform a clock recalculation the next time the bin is
+ *   asked to provide a clock.
+ *
+ *   This message is never sent to the application but is forwarded to
+ *   the parent of the bin.
  *
  * * OTHERS: posted upwards.
  *
  * A #GstBin implements the following default behaviour for answering to a
  * #GstQuery:
  *
- * * GST_QUERY_DURATION: The bin will forward the query to all sink
- * elements contained within and will return the maximum value.
- * If no sinks are available in the bin, the query fails.
+ * * %GST_QUERY_DURATION: The bin will forward the query to all sink
+ *   elements contained within and will return the maximum value.
+ *   If no sinks are available in the bin, the query fails.
  *
- * * GST_QUERY_POSITION:The query is sent to all sink elements in the bin and the
- * MAXIMUM of all values is returned. If no sinks are available in the bin,
- * the query fails.
+ * * %GST_QUERY_POSITION: The query is sent to all sink elements in the bin and the
+ *   MAXIMUM of all values is returned. If no sinks are available in the bin,
+ *   the query fails.
  *
- * * OTHERS:the query is forwarded to all sink elements, the result
- * of the first sink that answers the query successfully is returned. If no
- * sink is in the bin, the query fails.
+ * * OTHERS: the query is forwarded to all sink elements, the result
+ *   of the first sink that answers the query successfully is returned. If no
+ *   sink is in the bin, the query fails.
  *
  * A #GstBin will by default forward any event sent to it to all sink
- * (#GST_EVENT_TYPE_DOWNSTREAM) or source (#GST_EVENT_TYPE_UPSTREAM) elements
+ * ( %GST_EVENT_TYPE_DOWNSTREAM ) or source ( %GST_EVENT_TYPE_UPSTREAM ) elements
  * depending on the event type.
+ *
  * If all the elements return %TRUE, the bin will also return %TRUE, else %FALSE
  * is returned. If no elements of the required type are in the bin, the event
  * handler will return %TRUE.
- *
  */
 
 #include "gst_private.h"
@@ -321,8 +326,7 @@ _gst_boolean_accumulator (GSignalInvocationHint * ihint,
   gboolean myboolean;
 
   myboolean = g_value_get_boolean (handler_return);
-  if (!(ihint->run_type & G_SIGNAL_RUN_CLEANUP))
-    g_value_set_boolean (return_accu, myboolean);
+  g_value_set_boolean (return_accu, myboolean);
 
   GST_DEBUG ("invocation %d, %d", ihint->run_type, myboolean);
 
@@ -356,7 +360,7 @@ gst_bin_class_init (GstBinClass * klass)
 
   /**
    * GstBin::element-added:
-   * @bin: the #GstBin
+   * @self: the #GstBin
    * @element: the #GstElement that was added to the bin
    *
    * Will be emitted after the element was added to the bin.
@@ -367,7 +371,7 @@ gst_bin_class_init (GstBinClass * klass)
       NULL, NULL, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
   /**
    * GstBin::element-removed:
-   * @bin: the #GstBin
+   * @self: the #GstBin
    * @element: the #GstElement that was removed from the bin
    *
    * Will be emitted after the element was removed from the bin.
@@ -378,11 +382,11 @@ gst_bin_class_init (GstBinClass * klass)
       NULL, NULL, G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
   /**
    * GstBin::deep-element-added:
-   * @bin: the #GstBin
+   * @self: the #GstBin
    * @sub_bin: the #GstBin the element was added to
    * @element: the #GstElement that was added to @sub_bin
    *
-   * Will be emitted after the element was added to sub_bin.
+   * Will be emitted after the element was added to @sub_bin.
    *
    * Since: 1.10
    */
@@ -392,11 +396,11 @@ gst_bin_class_init (GstBinClass * klass)
       NULL, NULL, NULL, G_TYPE_NONE, 2, GST_TYPE_BIN, GST_TYPE_ELEMENT);
   /**
    * GstBin::deep-element-removed:
-   * @bin: the #GstBin
+   * @self: the #GstBin
    * @sub_bin: the #GstBin the element was removed from
    * @element: the #GstElement that was removed from @sub_bin
    *
-   * Will be emitted after the element was removed from sub_bin.
+   * Will be emitted after the element was removed from @sub_bin.
    *
    * Since: 1.10
    */
@@ -406,10 +410,10 @@ gst_bin_class_init (GstBinClass * klass)
       NULL, NULL, NULL, G_TYPE_NONE, 2, GST_TYPE_BIN, GST_TYPE_ELEMENT);
   /**
    * GstBin::do-latency:
-   * @bin: the #GstBin
+   * @self: the #GstBin
    *
    * Will be emitted when the bin needs to perform latency calculations. This
-   * signal is only emitted for toplevel bins or when async-handling is
+   * signal is only emitted for toplevel bins or when #GstBin:async-handling is
    * enabled.
    *
    * Only one signal handler is invoked. If no signals are connected, the
@@ -433,9 +437,8 @@ gst_bin_class_init (GstBinClass * klass)
    * state of individual elements, for example.
    *
    * The messages are converted to an ELEMENT message with the bin as the
-   * source. The structure of the message is named 'GstBinForwarded' and contains
-   * a field named 'message' of type GST_TYPE_MESSAGE that contains the original
-   * forwarded message.
+   * source. The structure of the message is named `GstBinForwarded` and contains
+   * a field named `message` that contains the original forwarded #GstMessage.
    */
   g_object_class_install_property (gobject_class, PROP_MESSAGE_FORWARD,
       g_param_spec_boolean ("message-forward", "Message Forward",
@@ -1120,8 +1123,7 @@ gst_bin_do_deep_add_remove (GstBin * bin, gint sig_id, const gchar * sig_name,
     do {
       ires = gst_iterator_foreach (it, bin_deep_iterator_foreach, &elements);
       if (ires != GST_ITERATOR_DONE) {
-        g_queue_foreach (&elements, (GFunc) gst_object_unref, NULL);
-        g_queue_clear (&elements);
+        g_queue_clear_full (&elements, (GDestroyNotify) gst_object_unref);
       }
       if (ires == GST_ITERATOR_RESYNC)
         gst_iterator_resync (it);
@@ -1139,8 +1141,9 @@ gst_bin_do_deep_add_remove (GstBin * bin, gint sig_id, const gchar * sig_name,
               " in bin %" GST_PTR_FORMAT, sig_name, e, parent);
           g_signal_emit (bin, sig_id, 0, parent, e);
           gst_object_unref (parent);
-          gst_object_unref (e);
         }
+
+        gst_object_unref (e);
       }
     }
     gst_iterator_free (it);
@@ -1163,10 +1166,6 @@ gst_bin_add_func (GstBin * bin, GstElement * element)
 
   GST_DEBUG_OBJECT (bin, "element :%s", GST_ELEMENT_NAME (element));
 
-  /* we obviously can't add ourself to ourself */
-  if (G_UNLIKELY (element == GST_ELEMENT_CAST (bin)))
-    goto adding_itself;
-
   /* get the element name to make sure it is unique in this bin. */
   GST_OBJECT_LOCK (element);
   elem_name = g_strdup (GST_ELEMENT_NAME (element));
@@ -1376,20 +1375,11 @@ no_state_recalc:
   return TRUE;
 
   /* ERROR handling here */
-adding_itself:
-  {
-    GST_OBJECT_LOCK (bin);
-    g_warning ("Cannot add bin '%s' to itself", GST_ELEMENT_NAME (bin));
-    GST_OBJECT_UNLOCK (bin);
-    gst_object_ref_sink (element);
-    gst_object_unref (element);
-    return FALSE;
-  }
 duplicate_name:
   {
-    g_warning ("Name '%s' is not unique in bin '%s', not adding",
-        elem_name, GST_ELEMENT_NAME (bin));
     GST_OBJECT_UNLOCK (bin);
+    GST_WARNING_OBJECT (bin, "Name '%s' is not unique in bin, not adding",
+        elem_name);
     g_free (elem_name);
     gst_object_ref_sink (element);
     gst_object_unref (element);
@@ -1397,8 +1387,8 @@ duplicate_name:
   }
 had_parent:
   {
-    g_warning ("Element '%s' already has parent", elem_name);
     GST_OBJECT_UNLOCK (bin);
+    GST_WARNING_OBJECT (bin, "Element '%s' already has parent", elem_name);
     g_free (elem_name);
     return FALSE;
   }
@@ -1409,13 +1399,11 @@ had_parent:
  * @bin: a #GstBin
  * @flags: the #GstElementFlags to suppress
  *
- * Suppress the given flags on the bin. #GstElementFlags of a
+ * Suppresses the given flags on the bin. #GstElementFlags of a
  * child element are propagated when it is added to the bin.
  * When suppressed flags are set, those specified flags will
  * not be propagated to the bin.
  *
- * MT safe.
- *
  * Since: 1.10
  */
 void
@@ -1435,10 +1423,6 @@ gst_bin_set_suppressed_flags (GstBin * bin, GstElementFlags flags)
  * gst_bin_get_suppressed_flags:
  * @bin: a #GstBin
  *
- * Return the suppressed flags of the bin.
- *
- * MT safe.
- *
  * Returns: the bin's suppressed #GstElementFlags.
  *
  * Since: 1.10
@@ -1520,8 +1504,6 @@ gst_bin_deep_element_removed_func (GstBin * bin, GstBin * sub_bin,
  * > with gst_element_set_state(), or use gst_element_sync_state_with_parent().
  * > The bin or pipeline will not take care of this for you.
  *
- * MT safe.
- *
  * Returns: %TRUE if the element could be added, %FALSE if
  * the bin does not want to accept the element.
  */
@@ -1553,8 +1535,7 @@ gst_bin_add (GstBin * bin, GstElement * element)
   /* ERROR handling */
 no_function:
   {
-    g_warning ("adding elements to bin '%s' is not supported",
-        GST_ELEMENT_NAME (bin));
+    GST_WARNING_OBJECT (bin, "adding elements to bin is not supported");
     gst_object_ref_sink (element);
     gst_object_unref (element);
     return FALSE;
@@ -1581,10 +1562,6 @@ gst_bin_remove_func (GstBin * bin, GstElement * element)
 
   GST_DEBUG_OBJECT (bin, "element :%s", GST_ELEMENT_NAME (element));
 
-  /* we obviously can't remove ourself from ourself */
-  if (G_UNLIKELY (element == GST_ELEMENT_CAST (bin)))
-    goto removing_itself;
-
   GST_OBJECT_LOCK (bin);
 
   GST_OBJECT_LOCK (element);
@@ -1840,19 +1817,11 @@ no_state_recalc:
   return TRUE;
 
   /* ERROR handling */
-removing_itself:
-  {
-    GST_OBJECT_LOCK (bin);
-    g_warning ("Cannot remove bin '%s' from itself", GST_ELEMENT_NAME (bin));
-    GST_OBJECT_UNLOCK (bin);
-    return FALSE;
-  }
 not_in_bin:
   {
-    g_warning ("Element '%s' is not in bin '%s'", elem_name,
-        GST_ELEMENT_NAME (bin));
     GST_OBJECT_UNLOCK (element);
     GST_OBJECT_UNLOCK (bin);
+    GST_WARNING_OBJECT (bin, "Element '%s' is not in bin", elem_name);
     g_free (elem_name);
     return FALSE;
   }
@@ -1873,8 +1842,6 @@ not_in_bin:
  * If the element's pads are linked to other pads, the pads will be unlinked
  * before the element is removed from the bin.
  *
- * MT safe.
- *
  * Returns: %TRUE if the element could be removed, %FALSE if
  * the bin does not want to remove the element.
  */
@@ -1905,8 +1872,7 @@ gst_bin_remove (GstBin * bin, GstElement * element)
   /* ERROR handling */
 no_function:
   {
-    g_warning ("removing elements from bin '%s' is not supported",
-        GST_ELEMENT_NAME (bin));
+    GST_WARNING_OBJECT (bin, "Removing elements from bin is not supported");
     return FALSE;
   }
 }
@@ -1917,10 +1883,7 @@ no_function:
  *
  * Gets an iterator for the elements in this bin.
  *
- * MT safe.  Caller owns returned value.
- *
- * Returns: (transfer full) (nullable): a #GstIterator of #GstElement,
- * or %NULL
+ * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
  */
 GstIterator *
 gst_bin_iterate_elements (GstBin * bin)
@@ -1958,10 +1921,7 @@ iterate_child_recurse (GstIterator * it, const GValue * item)
  * Gets an iterator for the elements in this bin.
  * This iterator recurses into GstBin children.
  *
- * MT safe.  Caller owns returned value.
- *
- * Returns: (transfer full) (nullable): a #GstIterator of #GstElement,
- * or %NULL
+ * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
  */
 GstIterator *
 gst_bin_iterate_recurse (GstBin * bin)
@@ -2016,10 +1976,7 @@ sink_iterator_filter (const GValue * vchild, GValue * vbin)
  * Gets an iterator for all elements in the bin that have the
  * #GST_ELEMENT_FLAG_SINK flag set.
  *
- * MT safe.  Caller owns returned value.
- *
- * Returns: (transfer full) (nullable): a #GstIterator of #GstElement,
- * or %NULL
+ * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
  */
 GstIterator *
 gst_bin_iterate_sinks (GstBin * bin)
@@ -2077,10 +2034,7 @@ src_iterator_filter (const GValue * vchild, GValue * vbin)
  * Gets an iterator for all elements in the bin that have the
  * #GST_ELEMENT_FLAG_SOURCE flag set.
  *
- * MT safe.  Caller owns returned value.
- *
- * Returns: (transfer full) (nullable): a #GstIterator of #GstElement,
- * or %NULL
+ * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
  */
 GstIterator *
 gst_bin_iterate_sources (GstBin * bin)
@@ -2470,10 +2424,7 @@ gst_bin_sort_iterator_new (GstBin * bin)
  * This function is used internally to perform the state changes
  * of the bin elements and for clock selection.
  *
- * MT safe.  Caller owns returned value.
- *
- * Returns: (transfer full) (nullable): a #GstIterator of #GstElement,
- * or %NULL
+ * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
  */
 GstIterator *
 gst_bin_iterate_sorted (GstBin * bin)
@@ -2635,9 +2586,16 @@ no_preroll:
 
 locked:
   {
-    GST_DEBUG_OBJECT (element,
-        "element is locked, return previous return %s",
-        gst_element_state_change_return_get_name (ret));
+    if (ret == GST_STATE_CHANGE_FAILURE) {
+      GST_DEBUG_OBJECT (element,
+          "element is locked, and previous state change failed, return %s",
+          gst_element_state_change_return_get_name (GST_STATE_CHANGE_SUCCESS));
+      ret = GST_STATE_CHANGE_SUCCESS;
+    } else {
+      GST_DEBUG_OBJECT (element,
+          "element is locked, return previous return %s",
+          gst_element_state_change_return_get_name (ret));
+    }
     GST_STATE_UNLOCK (element);
     return ret;
   }
@@ -2746,13 +2704,13 @@ failed:
  * gst_bin_recalculate_latency:
  * @bin: a #GstBin
  *
- * Query @bin for the current latency using and reconfigures this latency to all the
- * elements with a LATENCY event.
+ * Queries @bin for the current latency and reconfigures this latency on all the
+ * elements using a LATENCY event.
  *
  * This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY
  * is posted on the bus.
  *
- * This function simply emits the 'do-latency' signal so any custom latency
+ * This function simply emits the #GstBin::do-latency signal so any custom latency
  * calculations will be performed.
  *
  * Returns: %TRUE if the latency could be queried and reconfigured.
@@ -4410,12 +4368,8 @@ compare_name (const GValue * velement, const gchar * name)
  * Gets the element with the given name from a bin. This
  * function recurses into child bins.
  *
- * Returns %NULL if no element with the given name is found in the bin.
- *
- * MT safe.  Caller owns returned reference.
- *
  * Returns: (transfer full) (nullable): the #GstElement with the given
- * name, or %NULL
+ * name
  */
 GstElement *
 gst_bin_get_by_name (GstBin * bin, const gchar * name)
@@ -4453,13 +4407,8 @@ gst_bin_get_by_name (GstBin * bin, const gchar * name)
  * Gets the element with the given name from this bin. If the
  * element is not found, a recursion is performed on the parent bin.
  *
- * Returns %NULL if:
- * - no element with the given name is found in the bin
- *
- * MT safe.  Caller owns returned reference.
- *
  * Returns: (transfer full) (nullable): the #GstElement with the given
- * name, or %NULL
+ * name
  */
 GstElement *
 gst_bin_get_by_name_recurse_up (GstBin * bin, const gchar * name)
@@ -4512,8 +4461,6 @@ compare_interface (const GValue * velement, GValue * interface)
  * all elements that implement the interface, use
  * gst_bin_iterate_all_by_interface(). This function recurses into child bins.
  *
- * MT safe.  Caller owns returned reference.
- *
  * Returns: (transfer full) (nullable): A #GstElement inside the bin
  * implementing the interface
  */
@@ -4556,13 +4503,10 @@ gst_bin_get_by_interface (GstBin * bin, GType iface)
  * Looks for all elements inside the bin that implements the given
  * interface. You can safely cast all returned elements to the given interface.
  * The function recurses inside child bins. The iterator will yield a series
- * of #GstElement that should be unreffed after use.
- *
- * MT safe.  Caller owns returned value.
+ * of #GstElement.
  *
  * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
- *     for all elements in the bin implementing the given interface,
- *     or %NULL
+ *     for all elements in the bin implementing the given interface
  */
 GstIterator *
 gst_bin_iterate_all_by_interface (GstBin * bin, GType iface)
@@ -4606,13 +4550,10 @@ compare_factory_names (const GValue * velement, GValue * factory_name_val)
  *
  * Looks for all elements inside the bin with the given element factory name.
  * The function recurses inside child bins. The iterator will yield a series of
- * #GstElement that should be unreffed after use.
- *
- * MT safe. Caller owns returned value.
+ * #GstElement.
  *
  * Returns: (transfer full) (nullable): a #GstIterator of #GstElement
- *     for all elements in the bin with the given element factory name,
- *     or %NULL.
+ *     for all elements in the bin with the given element factory name
  *
  * Since: 1.18
  */
diff --git a/gst/gstbin.h b/gst/gstbin.h
index 0a2c345..ed6f29d 100644
--- a/gst/gstbin.h
+++ b/gst/gstbin.h
@@ -40,22 +40,41 @@ G_BEGIN_DECLS
 
 /**
  * GstBinFlags:
- * @GST_BIN_FLAG_NO_RESYNC: don't resync a state change when elements are
- *             added or linked in the bin (Since: 1.0.5)
- * @GST_BIN_FLAG_STREAMS_AWARE: Indicates whether the bin can handle elements
- *             that add/remove source pads at any point in time without
- *             first posting a no-more-pads signal (Since: 1.10)
  * @GST_BIN_FLAG_LAST: the last enum in the series of flags for bins.
  * Derived classes can use this as first value in a list of flags.
  *
  * GstBinFlags are a set of flags specific to bins. Most are set/used
- * internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
- * and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().
+ * internally. They can be checked using the GST_OBJECT_FLAG_IS_SET() macro,
+ * and (un)set using GST_OBJECT_FLAG_SET() and GST_OBJECT_FLAG_UNSET().
  */
 typedef enum {
+  /**
+   * GST_BIN_FLAG_NO_RESYNC:
+   *
+   * Don't resync a state change when elements are added or linked in the bin
+   *
+   * Since: 1.0.5
+   */
   GST_BIN_FLAG_NO_RESYNC	= (GST_ELEMENT_FLAG_LAST << 0),
+
+  /**
+   * GST_BIN_FLAG_STREAMS_AWARE:
+   *
+   * Indicates whether the bin can handle elements that add/remove source pads
+   * at any point in time without first posting a no-more-pads signal.
+   *
+   * Since: 1.10
+   */
   GST_BIN_FLAG_STREAMS_AWARE	= (GST_ELEMENT_FLAG_LAST << 1),
+
   /* padding */
+
+  /**
+   * GST_BIN_FLAG_LAST:
+   *
+   * The last enum in the series of flags for bins. Derived classes can use this
+   * as first value in a list of flags.
+   */
   GST_BIN_FLAG_LAST		= (GST_ELEMENT_FLAG_LAST << 5)
 } GstBinFlags;
 
@@ -85,7 +104,7 @@ typedef struct _GstBinPrivate GstBinPrivate;
  * GST_BIN_CHILDREN:
  * @bin: a #GstBin
  *
- * Gets the list with children in a bin.
+ * Gets the list of children in a bin.
  */
 #define GST_BIN_CHILDREN(bin)		(GST_BIN_CAST(bin)->children)
 /**
@@ -141,22 +160,14 @@ struct _GstBin {
 /**
  * GstBinClass:
  * @parent_class: bin parent class
- * @add_element: method to add an element to a bin
- * @remove_element: method to remove an element from a bin
- * @handle_message: method to handle a message from the children
- * @deep_element_added: method called when an element was added somewhere
- *     in the bin hierarchy
- * @deep_element_removed: method called when an element was removed somewhere
- *     in the bin hierarchy
  *
- * Subclasses can override the @add_element and @remove_element to
- * update the list of children in the bin.
+ * Subclasses can override #GstBinClass::add_element and #GstBinClass::remove_element
+ * to update the list of children in the bin.
  *
- * The @handle_message method can be overridden to implement custom
- * message handling.  @handle_message takes ownership of the message, just like
- * #gst_element_post_message.
+ * The #GstBinClass::handle_message method can be overridden to implement custom
+ * message handling.
  *
- * The @deep_element_added vfunc will be called when a new element has been
+ * #GstBinClass::deep_element_added will be called when a new element has been
  * added to any bin inside this bin, so it will also be called if a new child
  * was added to a sub-bin of this bin. #GstBin implementations that override
  * this message should chain up to the parent class implementation so the
@@ -169,14 +180,57 @@ struct _GstBinClass {
   GThreadPool  *pool; /* deprecated */
 
   /* signals */
+
+  /**
+   * GstBinClass::element_added:
+   * @bin: the #GstBin
+   * @child: the element that was added
+   *
+   * Method called when an element was added to the bin.
+   */
   void		(*element_added)	(GstBin *bin, GstElement *child);
+
+  /**
+   * GstBinClass::element_removed:
+   * @bin: the #GstBin
+   * @child: the element that was removed
+   *
+   * Method called when an element was removed from the bin.
+   */
   void		(*element_removed)	(GstBin *bin, GstElement *child);
 
   /*< public >*/
   /* virtual methods for subclasses */
+
+  /**
+   * GstBinClass::add_element:
+   * @bin: the #GstBin
+   * @element: the element to be added
+   *
+   * Method to add an element to the bin.
+   *
+   * Returns: %TRUE if the @element was added
+   */
   gboolean	(*add_element)		(GstBin *bin, GstElement *element);
+
+  /**
+   * GstBinClass::remove_element:
+   * @bin: the #GstBin
+   * @element: the element to be removed
+   *
+   * Method to remove an element from the bin.
+   *
+   * Returns: %TRUE if the @element was removed
+   */
   gboolean	(*remove_element)	(GstBin *bin, GstElement *element);
 
+  /**
+   * GstBinClass::handle_message:
+   * @bin: the #GstBin
+   * @message: (transfer full): the message to be handled
+   *
+   * Method to handle a message from the children.
+   */
   void		(*handle_message)	(GstBin *bin, GstMessage *message);
 
   /*< private >*/
@@ -185,7 +239,25 @@ struct _GstBinClass {
 
   /*< public >*/
   /* signal */
+
+  /**
+   * GstBinClass::deep_element_added:
+   * @bin: the top level #GstBin
+   * @sub_bin: the #GstBin to which the element was added
+   * @child: the element that was added
+   *
+   * Method called when an element was added somewhere in the bin hierarchy.
+   */
   void          (*deep_element_added)   (GstBin *bin, GstBin *sub_bin, GstElement *child);
+
+  /**
+   * GstBinClass::deep_element_removed:
+   * @bin: the top level #GstBin
+   * @sub_bin: the #GstBin from which the element was removed
+   * @child: the element that was removed
+   *
+   * Method called when an element was removed somewhere in the bin hierarchy.
+   */
   void          (*deep_element_removed) (GstBin *bin, GstBin *sub_bin, GstElement *child);
 
   /*< private >*/
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index c520a8b..fb2c787 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -34,7 +34,8 @@
  * created one will typically allocate memory for it and add it to the buffer.
  * The following example creates a buffer that can hold a given video frame
  * with a given width, height and bits per plane.
- * |[<!-- language="C" -->
+ *
+ * ``` C 
  *   GstBuffer *buffer;
  *   GstMemory *memory;
  *   gint size, width, height, bpp;
@@ -44,7 +45,7 @@
  *   memory = gst_allocator_alloc (NULL, size, NULL);
  *   gst_buffer_insert_memory (buffer, -1, memory);
  *   ...
- * ]|
+ * ```
  *
  * Alternatively, use gst_buffer_new_allocate() to create a buffer with
  * preallocated data of a given size.
@@ -84,7 +85,7 @@
  *
  * If a plug-in wants to modify the buffer data or metadata in-place, it should
  * first obtain a buffer that is safe to modify by using
- * gst_buffer_make_writable().  This function is optimized so that a copy will
+ * gst_buffer_make_writable(). This function is optimized so that a copy will
  * only be made when it is necessary.
  *
  * Several flags of the buffer can be set and unset with the
@@ -96,7 +97,7 @@
  * needed.
  *
  * Arbitrary extra metadata can be set on a buffer with gst_buffer_add_meta().
- * Metadata can be retrieved with gst_buffer_get_meta(). See also #GstMeta
+ * Metadata can be retrieved with gst_buffer_get_meta(). See also #GstMeta.
  *
  * An element should either unref the buffer or push it out on a src pad
  * using gst_pad_push() (see #GstPad).
@@ -114,8 +115,8 @@
  * using the #GstMemory of the parent buffer, and wants to prevent the parent
  * buffer from being returned to a buffer pool until the #GstMemory is available
  * for re-use. (Since: 1.6)
- *
  */
+
 #define GST_DISABLE_MINIOBJECT_INLINE_FUNCTIONS
 #include "gst_private.h"
 
@@ -129,9 +130,13 @@
 #include "gstbuffer.h"
 #include "gstbufferpool.h"
 #include "gstinfo.h"
+#include "gstmeta.h"
 #include "gstutils.h"
 #include "gstversion.h"
 
+/* For g_memdup2 */
+#include "glib-compat-private.h"
+
 GType _gst_buffer_type = 0;
 
 /* info->size will be sizeof(FooMeta) which contains a GstMeta at the beginning
@@ -172,14 +177,14 @@ static gint64 meta_seq;         /* 0 *//* ATOMIC */
 /* TODO: use GLib's once https://gitlab.gnome.org/GNOME/glib/issues/1076 lands */
 #if defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8)
 static inline gint64
-gst_atomic_int64_inc (volatile gint64 * atomic)
+gst_atomic_int64_inc (gint64 * atomic)
 {
   return __sync_fetch_and_add (atomic, 1);
 }
 #elif defined (G_PLATFORM_WIN32)
 #include <windows.h>
 static inline gint64
-gst_atomic_int64_inc (volatile gint64 * atomic)
+gst_atomic_int64_inc (gint64 * atomic)
 {
   return InterlockedExchangeAdd64 (atomic, 1);
 }
@@ -191,7 +196,7 @@ gst_atomic_int64_inc (volatile gint64 * atomic)
 #define NO_64BIT_ATOMIC_INT_FOR_PLATFORM
 G_LOCK_DEFINE_STATIC (meta_seq);
 static inline gint64
-gst_atomic_int64_inc (volatile gint64 * atomic)
+gst_atomic_int64_inc (gint64 * atomic)
 {
   gint64 ret;
 
@@ -355,7 +360,7 @@ _replace_memory (GstBuffer * buffer, guint len, guint idx, guint length,
  * gst_buffer_get_flags:
  * @buffer: a #GstBuffer
  *
- * Get the #GstBufferFlags flags set on this buffer.
+ * Gets the #GstBufferFlags flags set on this buffer.
  *
  * Returns: the flags set on this buffer.
  *
@@ -501,7 +506,7 @@ _priv_gst_buffer_initialize (void)
 /**
  * gst_buffer_get_max_memory:
  *
- * Get the maximum amount of memory blocks that a buffer can hold. This is a
+ * Gets the maximum amount of memory blocks that a buffer can hold. This is a
  * compile time constant that can be queried with the function.
  *
  * When more memory blocks are added, existing memory blocks will be merged
@@ -662,6 +667,10 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
   }
 
   if (flags & GST_BUFFER_COPY_META) {
+    gboolean deep;
+
+    deep = (flags & GST_BUFFER_COPY_DEEP) != 0;
+
     /* NOTE: GstGLSyncMeta copying relies on the meta
      *       being copied now, after the buffer data,
      *       so this has to happen last */
@@ -679,6 +688,10 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
         GST_CAT_DEBUG (GST_CAT_BUFFER,
             "don't copy memory meta %p of API type %s", meta,
             g_type_name (info->api));
+      } else if (deep && gst_meta_api_type_has_tag (info->api,
+              _gst_meta_tag_memory_reference)) {
+        GST_CAT_DEBUG (GST_CAT_BUFFER,
+            "don't copy meta with memory references %" GST_PTR_FORMAT, meta);
       } else if (info->transform_func) {
         GstMetaTransformCopy copy_data;
 
@@ -730,10 +743,10 @@ _gst_buffer_copy (const GstBuffer * buffer)
  * gst_buffer_copy_deep:
  * @buf: a #GstBuffer.
  *
- * Create a copy of the given buffer. This will make a newly allocated
+ * Creates a copy of the given buffer. This will make a newly allocated
  * copy of the data the source buffer contains.
  *
- * Returns: (transfer full): a new copy of @buf.
+ * Returns: (transfer full) (nullable): a new copy of @buf if the copy succeeded, %NULL otherwise.
  *
  * Since: 1.6
  */
@@ -839,8 +852,6 @@ gst_buffer_init (GstBufferImpl * buffer, gsize size)
  *
  * Creates a newly allocated buffer without any data.
  *
- * MT safe.
- *
  * Returns: (transfer full): the new #GstBuffer.
  */
 GstBuffer *
@@ -871,10 +882,7 @@ gst_buffer_new (void)
  *
  * Note that when @size == 0, the buffer will not have memory associated with it.
  *
- * MT safe.
- *
- * Returns: (transfer full) (nullable): a new #GstBuffer, or %NULL if
- *     the memory couldn't be allocated.
+ * Returns: (transfer full) (nullable): a new #GstBuffer
  */
 GstBuffer *
 gst_buffer_new_allocate (GstAllocator * allocator, gsize size,
@@ -972,7 +980,7 @@ no_memory:
  * @user_data: (allow-none): user_data
  * @notify: (allow-none) (scope async) (closure user_data): called with @user_data when the memory is freed
  *
- * Allocate a new buffer that wraps the given memory. @data must point to
+ * Allocates a new buffer that wraps the given memory. @data must point to
  * @maxsize of memory, the wrapped buffer will have the region from @offset and
  * @size visible.
  *
@@ -1008,9 +1016,7 @@ gst_buffer_new_wrapped_full (GstMemoryFlags flags, gpointer data,
  * @size: allocated size of @data
  *
  * Creates a new buffer that wraps the given @data. The memory will be freed
- * with g_free and will be marked writable.
- *
- * MT safe.
+ * with g_free() and will be marked writable.
  *
  * Returns: (transfer full): a new #GstBuffer
  */
@@ -1027,8 +1033,6 @@ gst_buffer_new_wrapped (gpointer data, gsize size)
  * Creates a new #GstBuffer that wraps the given @bytes. The data inside
  * @bytes cannot be %NULL and the resulting buffer will be marked as read only.
  *
- * MT safe.
- *
  * Returns: (transfer full): a new #GstBuffer wrapping @bytes
  *
  * Since: 1.16
@@ -1047,11 +1051,30 @@ gst_buffer_new_wrapped_bytes (GBytes * bytes)
       size, 0, size, g_bytes_ref (bytes), (GDestroyNotify) g_bytes_unref);
 }
 
+/**
+ * gst_buffer_new_memdup:
+ * @data: (array length=size) (element-type guint8) (transfer none): data to copy into new buffer
+ * @size: size of @data in bytes
+ *
+ * Creates a new buffer of size @size and fills it with a copy of @data.
+ *
+ * Returns: (transfer full): a new #GstBuffer
+ *
+ * Since: 1.20
+ */
+GstBuffer *
+gst_buffer_new_memdup (gconstpointer data, gsize size)
+{
+  gpointer data2 = g_memdup2 (data, size);
+
+  return gst_buffer_new_wrapped_full (0, data2, size, 0, size, data2, g_free);
+}
+
 /**
  * gst_buffer_n_memory:
  * @buffer: a #GstBuffer.
  *
- * Get the amount of memory blocks that this buffer has. This amount is never
+ * Gets the amount of memory blocks that this buffer has. This amount is never
  * larger than what gst_buffer_get_max_memory() returns.
  *
  * Returns: the number of memory blocks this buffer is made of.
@@ -1069,7 +1092,7 @@ gst_buffer_n_memory (GstBuffer * buffer)
  * @buffer: a #GstBuffer.
  * @mem: (transfer full): a #GstMemory.
  *
- * Prepend the memory block @mem to @buffer. This function takes
+ * Prepends the memory block @mem to @buffer. This function takes
  * ownership of @mem and thus doesn't increase its refcount.
  *
  * This function is identical to gst_buffer_insert_memory() with an index of 0.
@@ -1086,7 +1109,7 @@ gst_buffer_prepend_memory (GstBuffer * buffer, GstMemory * mem)
  * @buffer: a #GstBuffer.
  * @mem: (transfer full): a #GstMemory.
  *
- * Append the memory block @mem to @buffer. This function takes
+ * Appends the memory block @mem to @buffer. This function takes
  * ownership of @mem and thus doesn't increase its refcount.
  *
  * This function is identical to gst_buffer_insert_memory() with an index of -1.
@@ -1104,7 +1127,7 @@ gst_buffer_append_memory (GstBuffer * buffer, GstMemory * mem)
  * @idx: the index to add the memory at, or -1 to append it to the end
  * @mem: (transfer full): a #GstMemory.
  *
- * Insert the memory block @mem to @buffer at @idx. This function takes ownership
+ * Inserts the memory block @mem into @buffer at @idx. This function takes ownership
  * of @mem and thus doesn't increase its refcount.
  *
  * Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is
@@ -1160,7 +1183,7 @@ _get_mapped (GstBuffer * buffer, guint idx, GstMapInfo * info,
  * @buffer: a #GstBuffer.
  * @idx: an index
  *
- * Get the memory block at @idx in @buffer. The memory block stays valid until
+ * Gets the memory block at @idx in @buffer. The memory block stays valid until
  * the memory block in @buffer is removed, replaced or merged, typically with
  * any call that modifies the memory in @buffer.
  *
@@ -1180,10 +1203,10 @@ gst_buffer_peek_memory (GstBuffer * buffer, guint idx)
  * @buffer: a #GstBuffer.
  * @idx: an index
  *
- * Get the memory block at index @idx in @buffer.
+ * Gets the memory block at index @idx in @buffer.
  *
  * Returns: (transfer full) (nullable): a #GstMemory that contains the data of the
- * memory block at @idx. Use gst_memory_unref () after usage.
+ * memory block at @idx.
  */
 GstMemory *
 gst_buffer_get_memory (GstBuffer * buffer, guint idx)
@@ -1195,11 +1218,10 @@ gst_buffer_get_memory (GstBuffer * buffer, guint idx)
  * gst_buffer_get_all_memory:
  * @buffer: a #GstBuffer.
  *
- * Get all the memory block in @buffer. The memory blocks will be merged
+ * Gets all the memory blocks in @buffer. The memory blocks will be merged
  * into one large #GstMemory.
  *
  * Returns: (transfer full) (nullable): a #GstMemory that contains the merged memory.
- * Use gst_memory_unref () after usage.
  */
 GstMemory *
 gst_buffer_get_all_memory (GstBuffer * buffer)
@@ -1213,13 +1235,13 @@ gst_buffer_get_all_memory (GstBuffer * buffer)
  * @idx: an index
  * @length: a length
  *
- * Get @length memory blocks in @buffer starting at @idx. The memory blocks will
+ * Gets @length memory blocks in @buffer starting at @idx. The memory blocks will
  * be merged into one large #GstMemory.
  *
  * If @length is -1, all memory starting from @idx is merged.
  *
  * Returns: (transfer full) (nullable): a #GstMemory that contains the merged data of @length
- *    blocks starting at @idx. Use gst_memory_unref () after usage.
+ *    blocks starting at @idx.
  */
 GstMemory *
 gst_buffer_get_memory_range (GstBuffer * buffer, guint idx, gint length)
@@ -1270,7 +1292,7 @@ gst_buffer_replace_all_memory (GstBuffer * buffer, GstMemory * mem)
  * gst_buffer_replace_memory_range:
  * @buffer: a #GstBuffer.
  * @idx: an index
- * @length: a length should not be 0
+ * @length: a length, should not be 0
  * @mem: (transfer full): a #GstMemory
  *
  * Replaces @length memory blocks in @buffer starting at @idx with @mem.
@@ -1306,7 +1328,7 @@ gst_buffer_replace_memory_range (GstBuffer * buffer, guint idx, gint length,
  * @buffer: a #GstBuffer.
  * @idx: an index
  *
- * Remove the memory block in @b at index @i.
+ * Removes the memory block in @b at index @i.
  */
 void
 gst_buffer_remove_memory (GstBuffer * buffer, guint idx)
@@ -1318,7 +1340,7 @@ gst_buffer_remove_memory (GstBuffer * buffer, guint idx)
  * gst_buffer_remove_all_memory:
  * @buffer: a #GstBuffer.
  *
- * Remove all the memory blocks in @buffer.
+ * Removes all the memory blocks in @buffer.
  */
 void
 gst_buffer_remove_all_memory (GstBuffer * buffer)
@@ -1333,7 +1355,7 @@ gst_buffer_remove_all_memory (GstBuffer * buffer)
  * @idx: an index
  * @length: a length
  *
- * Remove @length memory blocks in @buffer starting from @idx.
+ * Removes @length memory blocks in @buffer starting from @idx.
  *
  * @length can be -1, in which case all memory starting from @idx is removed.
  */
@@ -1366,7 +1388,7 @@ gst_buffer_remove_memory_range (GstBuffer * buffer, guint idx, gint length)
  * @length: (out): pointer to length
  * @skip: (out): pointer to skip
  *
- * Find the memory blocks that span @size bytes starting from @offset
+ * Finds the memory blocks that span @size bytes starting from @offset
  * in @buffer.
  *
  * When this function returns %TRUE, @idx will contain the index of the first
@@ -1434,9 +1456,9 @@ gst_buffer_find_memory (GstBuffer * buffer, gsize offset, gsize size,
  * gst_buffer_is_memory_range_writable:
  * @buffer: a #GstBuffer.
  * @idx: an index
- * @length: a length should not be 0
+ * @length: a length, should not be 0
  *
- * Check if @length memory blocks in @buffer starting from @idx are writable.
+ * Checks if @length memory blocks in @buffer starting from @idx are writable.
  *
  * @length can be -1 to check all the memory blocks after @idx.
  *
@@ -1477,7 +1499,7 @@ gst_buffer_is_memory_range_writable (GstBuffer * buffer, guint idx, gint length)
  * gst_buffer_is_all_memory_writable:
  * @buffer: a #GstBuffer.
  *
- * Check if all memory blocks in @buffer are writable.
+ * Checks if all memory blocks in @buffer are writable.
  *
  * Note that this function does not check if @buffer is writable, use
  * gst_buffer_is_writable() to check that if needed.
@@ -1498,7 +1520,7 @@ gst_buffer_is_all_memory_writable (GstBuffer * buffer)
  * @offset: (out) (allow-none): a pointer to the offset
  * @maxsize: (out) (allow-none): a pointer to the maxsize
  *
- * Get the total size of the memory blocks in @b.
+ * Gets the total size of the memory blocks in @buffer.
  *
  * When not %NULL, @offset will contain the offset of the data in the
  * first memory block in @buffer and @maxsize will contain the sum of
@@ -1518,7 +1540,7 @@ gst_buffer_get_sizes (GstBuffer * buffer, gsize * offset, gsize * maxsize)
  * gst_buffer_get_size:
  * @buffer: a #GstBuffer.
  *
- * Get the total size of the memory blocks in @buffer.
+ * Gets the total size of the memory blocks in @buffer.
  *
  * Returns: total size of the memory blocks in @buffer.
  */
@@ -1545,7 +1567,7 @@ gst_buffer_get_size (GstBuffer * buffer)
  * @offset: (out) (allow-none): a pointer to the offset
  * @maxsize: (out) (allow-none): a pointer to the maxsize
  *
- * Get the total size of @length memory blocks stating from @idx in @buffer.
+ * Gets the total size of @length memory blocks stating from @idx in @buffer.
  *
  * When not %NULL, @offset will contain the offset of the data in the
  * memory block in @buffer at @idx and @maxsize will contain the sum of the size
@@ -1625,7 +1647,7 @@ gst_buffer_get_sizes_range (GstBuffer * buffer, guint idx, gint length,
  * @offset: the offset adjustment
  * @size: the new size or -1 to just adjust the offset
  *
- * Set the offset and total size of the memory blocks in @buffer.
+ * Sets the offset and total size of the memory blocks in @buffer.
  */
 void
 gst_buffer_resize (GstBuffer * buffer, gssize offset, gssize size)
@@ -1638,7 +1660,7 @@ gst_buffer_resize (GstBuffer * buffer, gssize offset, gssize size)
  * @buffer: a #GstBuffer.
  * @size: the new size
  *
- * Set the total size of the memory blocks in @buffer.
+ * Sets the total size of the memory blocks in @buffer.
  */
 void
 gst_buffer_set_size (GstBuffer * buffer, gssize size)
@@ -1654,7 +1676,7 @@ gst_buffer_set_size (GstBuffer * buffer, gssize size)
  * @offset: the offset adjustment
  * @size: the new size or -1 to just adjust the offset
  *
- * Set the total size of the @length memory blocks starting at @idx in
+ * Sets the total size of the @length memory blocks starting at @idx in
  * @buffer
  *
  * Returns: %TRUE if resizing succeeded, %FALSE otherwise.
@@ -1760,8 +1782,7 @@ gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
  * @info: (out caller-allocates): info about the mapping
  * @flags: flags for the mapping
  *
- * This function fills @info with the #GstMapInfo of all merged memory
- * blocks in @buffer.
+ * Fills @info with the #GstMapInfo of all merged memory blocks in @buffer.
  *
  * @flags describe the desired access of the memory. When @flags is
  * #GST_MAP_WRITE, @buffer should be writable (as returned from
@@ -1790,7 +1811,7 @@ gst_buffer_map (GstBuffer * buffer, GstMapInfo * info, GstMapFlags flags)
  * @info: (out caller-allocates): info about the mapping
  * @flags: flags for the mapping
  *
- * This function fills @info with the #GstMapInfo of @length merged memory blocks
+ * Fills @info with the #GstMapInfo of @length merged memory blocks
  * starting at @idx in @buffer. When @length is -1, all memory blocks starting
  * from @idx are merged and mapped.
  *
@@ -1887,7 +1908,7 @@ cannot_map:
  * @buffer: a #GstBuffer.
  * @info: a #GstMapInfo
  *
- * Release the memory previously mapped with gst_buffer_map().
+ * Releases the memory previously mapped with gst_buffer_map().
  */
 void
 gst_buffer_unmap (GstBuffer * buffer, GstMapInfo * info)
@@ -1895,12 +1916,7 @@ gst_buffer_unmap (GstBuffer * buffer, GstMapInfo * info)
   g_return_if_fail (GST_IS_BUFFER (buffer));
   g_return_if_fail (info != NULL);
 
-  /* we need to check for NULL, it is possible that we tried to map a buffer
-   * without memory and we should be able to unmap that fine */
-  if (G_LIKELY (info->memory)) {
-    gst_memory_unmap (info->memory, info);
-    gst_memory_unref (info->memory);
-  }
+  _gst_buffer_map_info_clear ((GstBufferMapInfo *) info);
 }
 
 /**
@@ -1910,7 +1926,7 @@ gst_buffer_unmap (GstBuffer * buffer, GstMapInfo * info)
  * @src: (array length=size) (element-type guint8): the source address
  * @size: the size to fill
  *
- * Copy @size bytes from @src to @buffer at @offset.
+ * Copies @size bytes from @src to @buffer at @offset.
  *
  * Returns: The amount of bytes copied. This value can be lower than @size
  *    when @buffer did not contain enough data.
@@ -1963,7 +1979,7 @@ gst_buffer_fill (GstBuffer * buffer, gsize offset, gconstpointer src,
  *     the destination address
  * @size: the size to extract
  *
- * Copy @size bytes starting from @offset in @buffer to @dest.
+ * Copies @size bytes starting from @offset in @buffer to @dest.
  *
  * Returns: The amount of bytes extracted. This value can be lower than @size
  *    when @buffer did not contain enough data.
@@ -2013,7 +2029,7 @@ gst_buffer_extract (GstBuffer * buffer, gsize offset, gpointer dest, gsize size)
  * @mem: (array length=size) (element-type guint8): the memory to compare
  * @size: the size to compare
  *
- * Compare @size bytes starting from @offset in @buffer with the memory in @mem.
+ * Compares @size bytes starting from @offset in @buffer with the memory in @mem.
  *
  * Returns: 0 if the memory is equal.
  */
@@ -2066,7 +2082,7 @@ gst_buffer_memcmp (GstBuffer * buffer, gsize offset, gconstpointer mem,
  * @val: the value to set
  * @size: the size to set
  *
- * Fill @buf with @size bytes with @val starting from @offset.
+ * Fills @buf with @size bytes with @val starting from @offset.
  *
  * Returns: The amount of bytes filled. This value can be lower than @size
  *    when @buffer did not contain enough data.
@@ -2125,10 +2141,8 @@ gst_buffer_memset (GstBuffer * buffer, gsize offset, guint8 val, gsize size)
  * duration and offset end fields are also copied. If not they will be set
  * to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE.
  *
- * MT safe.
- *
- * Returns: (transfer full): the new #GstBuffer or %NULL if the arguments were
- *     invalid.
+ * Returns: (transfer full) (nullable): the new #GstBuffer or %NULL if copying
+ *     failed.
  */
 GstBuffer *
 gst_buffer_copy_region (GstBuffer * buffer, GstBufferCopyFlags flags,
@@ -2155,7 +2169,7 @@ gst_buffer_copy_region (GstBuffer * buffer, GstBufferCopyFlags flags,
  * @buf1: (transfer full): the first source #GstBuffer to append.
  * @buf2: (transfer full): the second source #GstBuffer to append.
  *
- * Append all the memory from @buf2 to @buf1. The result buffer will contain a
+ * Appends all the memory from @buf2 to @buf1. The result buffer will contain a
  * concatenation of the memory of @buf1 and @buf2.
  *
  * Returns: (transfer full): the new #GstBuffer that contains the memory
@@ -2174,7 +2188,7 @@ gst_buffer_append (GstBuffer * buf1, GstBuffer * buf2)
  * @offset: the offset in @buf2
  * @size: the size or -1 of @buf2
  *
- * Append @size bytes at @offset from @buf2 to @buf1. The result buffer will
+ * Appends @size bytes at @offset from @buf2 to @buf1. The result buffer will
  * contain a concatenation of the memory of @buf1 and the requested region of
  * @buf2.
  *
@@ -2218,14 +2232,13 @@ gst_buffer_append_region (GstBuffer * buf1, GstBuffer * buf2, gssize offset,
  * @buffer: a #GstBuffer
  * @api: the #GType of an API
  *
- * Get the metadata for @api on buffer. When there is no such metadata, %NULL is
+ * Gets the metadata for @api on buffer. When there is no such metadata, %NULL is
  * returned. If multiple metadata with the given @api are attached to this
  * buffer only the first one is returned.  To handle multiple metadata with a
  * given API use gst_buffer_iterate_meta() or gst_buffer_foreach_meta() instead
- * and check the meta->info.api member for the API type.
+ * and check the `meta->info.api` member for the API type.
  *
- * Returns: (transfer none) (nullable): the metadata for @api on
- * @buffer.
+ * Returns: (transfer none) (nullable): the metadata for @api on @buffer.
  */
 GstMeta *
 gst_buffer_get_meta (GstBuffer * buffer, GType api)
@@ -2275,7 +2288,7 @@ gst_buffer_get_n_meta (GstBuffer * buffer, GType api_type)
  * @info: a #GstMetaInfo
  * @params: params for @info
  *
- * Add metadata for @info to @buffer using the parameters in @params.
+ * Adds metadata for @info to @buffer using the parameters in @params.
  *
  * Returns: (transfer none) (nullable): the metadata for the api in @info on @buffer.
  */
@@ -2338,7 +2351,7 @@ init_failed:
  * @buffer: a #GstBuffer
  * @meta: a #GstMeta
  *
- * Remove the metadata for @meta on @buffer.
+ * Removes the metadata for @meta on @buffer.
  *
  * Returns: %TRUE if the metadata existed and was removed, %FALSE if no such
  * metadata was on @buffer.
@@ -2392,7 +2405,7 @@ gst_buffer_remove_meta (GstBuffer * buffer, GstMeta * meta)
  * @buffer: a #GstBuffer
  * @state: (out caller-allocates): an opaque state pointer
  *
- * Retrieve the next #GstMeta after @current. If @state points
+ * Retrieves the next #GstMeta after @current. If @state points
  * to %NULL, the first metadata is returned.
  *
  * @state will be updated with an opaque state pointer
@@ -2428,7 +2441,7 @@ gst_buffer_iterate_meta (GstBuffer * buffer, gpointer * state)
  * @state: (out caller-allocates): an opaque state pointer
  * @meta_api_type: only return #GstMeta of this type
  *
- * Retrieve the next #GstMeta of type @meta_api_type after the current one
+ * Retrieves the next #GstMeta of type @meta_api_type after the current one
  * according to @state. If @state points to %NULL, the first metadata of
  * type @meta_api_type is returned.
  *
@@ -2471,10 +2484,10 @@ gst_buffer_iterate_meta_filtered (GstBuffer * buffer, gpointer * state,
  * @func: (scope call): a #GstBufferForeachMetaFunc to call
  * @user_data: (closure): user data passed to @func
  *
- * Call @func with @user_data for each meta in @buffer.
+ * Calls @func with @user_data for each meta in @buffer.
  *
  * @func can modify the passed meta pointer or its contents. The return value
- * of @func define if this function returns or if the remaining metadata items
+ * of @func defines if this function returns or if the remaining metadata items
  * in the buffer should be skipped.
  *
  * Returns: %FALSE when @func returned %FALSE for one of the metadata.
@@ -2577,7 +2590,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_parent_buffer_meta_debug);
  * @buffer: (transfer none): a #GstBuffer
  * @ref: (transfer none): a #GstBuffer to ref
  *
- * Add a #GstParentBufferMeta to @buffer that holds a reference on
+ * Adds a #GstParentBufferMeta to @buffer that holds a reference on
  * @ref until the buffer is freed.
  *
  * Returns: (transfer none) (nullable): The #GstParentBufferMeta that was added to the buffer
@@ -2643,7 +2656,7 @@ static gboolean
 _gst_parent_buffer_meta_init (GstParentBufferMeta * parent_meta,
     gpointer params, GstBuffer * buffer)
 {
-  static volatile gsize _init;
+  static gsize _init;
 
   if (g_once_init_enter (&_init)) {
     GST_DEBUG_CATEGORY_INIT (gst_parent_buffer_meta_debug, "parentbuffermeta",
@@ -2662,8 +2675,8 @@ _gst_parent_buffer_meta_init (GstParentBufferMeta * parent_meta,
 GType
 gst_parent_buffer_meta_api_get_type (void)
 {
-  static volatile GType type = 0;
-  static const gchar *tags[] = { NULL };
+  static GType type = 0;
+  static const gchar *tags[] = { GST_META_TAG_MEMORY_REFERENCE_STR, NULL };
 
   if (g_once_init_enter (&type)) {
     GType _type = gst_meta_api_type_register ("GstParentBufferMetaAPI", tags);
@@ -2676,7 +2689,7 @@ gst_parent_buffer_meta_api_get_type (void)
 /**
  * gst_parent_buffer_meta_get_info:
  *
- * Get the global #GstMetaInfo describing  the #GstParentBufferMeta meta.
+ * Gets the global #GstMetaInfo describing  the #GstParentBufferMeta meta.
  *
  * Returns: (transfer none): The #GstMetaInfo
  *
@@ -2710,7 +2723,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_reference_timestamp_meta_debug);
  * @timestamp: timestamp
  * @duration: duration, or %GST_CLOCK_TIME_NONE
  *
- * Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and
+ * Adds a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and
  * optionally @duration based on a specific timestamp @reference. See the
  * documentation of #GstReferenceTimestampMeta for details.
  *
@@ -2746,7 +2759,7 @@ gst_buffer_add_reference_timestamp_meta (GstBuffer * buffer,
  * @buffer: a #GstBuffer
  * @reference: (allow-none): a reference #GstCaps
  *
- * Find the first #GstReferenceTimestampMeta on @buffer that conforms to
+ * Finds the first #GstReferenceTimestampMeta on @buffer that conforms to
  * @reference. Conformance is tested by checking if the meta's reference is a
  * subset of @reference.
  *
@@ -2812,7 +2825,7 @@ static gboolean
 _gst_reference_timestamp_meta_init (GstReferenceTimestampMeta * meta,
     gpointer params, GstBuffer * buffer)
 {
-  static volatile gsize _init;
+  static gsize _init;
 
   if (g_once_init_enter (&_init)) {
     GST_DEBUG_CATEGORY_INIT (gst_reference_timestamp_meta_debug,
@@ -2833,7 +2846,7 @@ _gst_reference_timestamp_meta_init (GstReferenceTimestampMeta * meta,
 GType
 gst_reference_timestamp_meta_api_get_type (void)
 {
-  static volatile GType type = 0;
+  static GType type = 0;
   static const gchar *tags[] = { NULL };
 
   if (g_once_init_enter (&type)) {
@@ -2848,7 +2861,7 @@ gst_reference_timestamp_meta_api_get_type (void)
 /**
  * gst_reference_timestamp_meta_get_info:
  *
- * Get the global #GstMetaInfo describing  the #GstReferenceTimestampMeta meta.
+ * Gets the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta.
  *
  * Returns: (transfer none): The #GstMetaInfo
  *
@@ -2873,6 +2886,67 @@ gst_reference_timestamp_meta_get_info (void)
   return meta_info;
 }
 
+/**
+ * gst_buffer_add_custom_meta:
+ * @buffer: (transfer none): a #GstBuffer
+ * @name: the registered name of the desired custom meta
+ *
+ * Creates and adds a #GstCustomMeta for the desired @name. @name must have
+ * been successfully registered with gst_meta_register_custom().
+ *
+ * Returns: (transfer none) (nullable): The #GstCustomMeta that was added to the buffer
+ *
+ * Since: 1.20
+ */
+GstCustomMeta *
+gst_buffer_add_custom_meta (GstBuffer * buffer, const gchar * name)
+{
+  GstCustomMeta *meta;
+  const GstMetaInfo *info;
+
+  g_return_val_if_fail (name != NULL, NULL);
+  g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
+
+  info = gst_meta_get_info (name);
+
+  if (info == NULL || !gst_meta_info_is_custom (info))
+    return NULL;
+
+  meta = (GstCustomMeta *) gst_buffer_add_meta (buffer, info, NULL);
+
+  return meta;
+}
+
+/**
+ * gst_buffer_get_custom_meta:
+ * @buffer: a #GstBuffer
+ * @name: the registered name of the custom meta to retrieve.
+ *
+ * Finds the first #GstCustomMeta on @buffer for the desired @name.
+ *
+ * Returns: (transfer none) (nullable): the #GstCustomMeta
+ *
+ * Since: 1.20
+ */
+GstCustomMeta *
+gst_buffer_get_custom_meta (GstBuffer * buffer, const gchar * name)
+{
+  const GstMetaInfo *info;
+
+  g_return_val_if_fail (buffer != NULL, NULL);
+  g_return_val_if_fail (name != NULL, NULL);
+
+  info = gst_meta_get_info (name);
+
+  if (!info)
+    return NULL;
+
+  if (!gst_meta_info_is_custom (info))
+    return NULL;
+
+  return (GstCustomMeta *) gst_buffer_get_meta (buffer, info->api);
+}
+
 /**
  * gst_buffer_ref: (skip)
  * @buf: a #GstBuffer.
@@ -2883,7 +2957,7 @@ gst_reference_timestamp_meta_get_info (void)
  * of @buf and its metadata, see gst_buffer_is_writable().
  * It is important to note that keeping additional references to
  * GstBuffer instances can potentially increase the number
- * of memcpy operations in a pipeline.
+ * of `memcpy` operations in a pipeline.
  *
  * Returns: (transfer full): @buf
  */
@@ -2929,13 +3003,13 @@ gst_clear_buffer (GstBuffer ** buf_ptr)
  * gst_buffer_copy: (skip)
  * @buf: a #GstBuffer.
  *
- * Create a copy of the given buffer. This will only copy the buffer's
+ * Creates a copy of the given buffer. This will only copy the buffer's
  * data to a newly allocated memory if needed (if the type of memory
  * requires it), otherwise the underlying data is just referenced.
  * Check gst_buffer_copy_deep() if you want to force the data
  * to be copied to newly allocated memory.
  *
- * Returns: (transfer full): a new copy of @buf.
+ * Returns: (transfer full) (nullable): a new copy of @buf if the copy succeeded, %NULL otherwise.
  */
 GstBuffer *
 gst_buffer_copy (const GstBuffer * buf)
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index c564905..6a8b84f 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -47,7 +47,7 @@ typedef struct _GstBufferPool GstBufferPool;
  * GST_BUFFER_FLAGS:
  * @buf: a #GstBuffer.
  *
- * A flags word containing #GstBufferFlags flags set on this buffer.
+ * Returns a flags word containing #GstBufferFlags flags set on this buffer.
  */
 #define GST_BUFFER_FLAGS(buf)                   GST_MINI_OBJECT_FLAGS(buf)
 /**
@@ -80,25 +80,27 @@ typedef struct _GstBufferPool GstBufferPool;
  * GST_BUFFER_PTS:
  * @buf: a #GstBuffer.:
  *
- * The presentation timestamp (pts) in nanoseconds (as a #GstClockTime)
+ * Gets the presentation timestamp (pts) in nanoseconds (as a #GstClockTime)
  * of the data in the buffer. This is the timestamp when the media should be
  * presented to the user.
+ *
  * Value will be %GST_CLOCK_TIME_NONE if the pts is unknown.
  */
 #define GST_BUFFER_PTS(buf)                     (GST_BUFFER_CAST(buf)->pts)
 /**
  * GST_BUFFER_DTS:
- * @buf: a #GstBuffer.:
+ * @buf: a #GstBuffer.
  *
- * The decoding timestamp (dts) in nanoseconds (as a #GstClockTime)
+ * Gets the decoding timestamp (dts) in nanoseconds (as a #GstClockTime)
  * of the data in the buffer. This is the timestamp when the media should be
  * decoded or processed otherwise.
+ *
  * Value will be %GST_CLOCK_TIME_NONE if the dts is unknown.
  */
 #define GST_BUFFER_DTS(buf)                     (GST_BUFFER_CAST(buf)->dts)
 /**
  * GST_BUFFER_DTS_OR_PTS:
- * @buf: a #GstBuffer.:
+ * @buf: a #GstBuffer.
  *
  * Returns the buffer decoding timestamp (dts) if valid, else the buffer
  * presentation time (pts)
@@ -110,7 +112,8 @@ typedef struct _GstBufferPool GstBufferPool;
  * GST_BUFFER_DURATION:
  * @buf: a #GstBuffer.
  *
- * The duration in nanoseconds (as a #GstClockTime) of the data in the buffer.
+ * Gets the duration in nanoseconds (as a #GstClockTime) of the data in the buffer.
+ *
  * Value will be %GST_CLOCK_TIME_NONE if the duration is unknown.
  */
 #define GST_BUFFER_DURATION(buf)                (GST_BUFFER_CAST(buf)->duration)
@@ -118,14 +121,14 @@ typedef struct _GstBufferPool GstBufferPool;
  * GST_BUFFER_OFFSET:
  * @buf: a #GstBuffer.
  *
- * The offset in the source file of the beginning of this buffer.
+ * Gets the offset in the source file of the beginning of this buffer.
  */
 #define GST_BUFFER_OFFSET(buf)                  (GST_BUFFER_CAST(buf)->offset)
 /**
  * GST_BUFFER_OFFSET_END:
  * @buf: a #GstBuffer.
  *
- * The offset in the source file of the end of this buffer.
+ * Gets the offset in the source file of the end of this buffer.
  */
 #define GST_BUFFER_OFFSET_END(buf)              (GST_BUFFER_CAST(buf)->offset_end)
 
@@ -195,7 +198,9 @@ typedef struct _GstBufferPool GstBufferPool;
  * @GST_BUFFER_FLAG_CORRUPTED:     the buffer data is corrupted.
  * @GST_BUFFER_FLAG_MARKER:        the buffer contains a media specific marker. for
  *                                 video this is the end of a frame boundary, for audio
- *                                 this is the start of a talkspurt.
+ *                                 this is the start of a talkspurt. for RTP
+ *                                 packets this matches the marker flag in the
+ *                                 RTP packet header.
  * @GST_BUFFER_FLAG_HEADER:        the buffer contains header information that is
  *                                 needed to decode the following data.
  * @GST_BUFFER_FLAG_GAP:           the buffer has been created to fill a gap in the
@@ -207,14 +212,6 @@ typedef struct _GstBufferPool GstBufferPool;
  * @GST_BUFFER_FLAG_DELTA_UNIT:    this unit cannot be decoded independently.
  * @GST_BUFFER_FLAG_TAG_MEMORY:    this flag is set when memory of the buffer
  *                                 is added/removed
- * @GST_BUFFER_FLAG_SYNC_AFTER:    Elements which write to disk or permanent
- *                                 storage should ensure the data is synced after
- *                                 writing the contents of this buffer. (Since: 1.6)
- * @GST_BUFFER_FLAG_NON_DROPPABLE: This buffer is important and should not be dropped.
- *                                 This can be used to mark important buffers, e.g. to flag
- *                                 RTP packets carrying keyframes or codec setup data for RTP
- *                                 Forward Error Correction purposes, or to prevent still video
- *                                 frames from being dropped by elements due to QoS. (Since: 1.14)
  * @GST_BUFFER_FLAG_LAST:          additional media specific flags can be added starting from
  *                                 this flag.
  *
@@ -232,7 +229,29 @@ typedef enum {
   GST_BUFFER_FLAG_DROPPABLE     = (GST_MINI_OBJECT_FLAG_LAST << 8),
   GST_BUFFER_FLAG_DELTA_UNIT    = (GST_MINI_OBJECT_FLAG_LAST << 9),
   GST_BUFFER_FLAG_TAG_MEMORY    = (GST_MINI_OBJECT_FLAG_LAST << 10),
+
+  /**
+   * GST_BUFFER_FLAG_SYNC_AFTER:
+   *
+   * Elements which write to disk or permanent storage should ensure the data
+   * is synced after writing the contents of this buffer.
+   *
+   * Since: 1.6
+   */
   GST_BUFFER_FLAG_SYNC_AFTER    = (GST_MINI_OBJECT_FLAG_LAST << 11),
+
+  /**
+   * GST_BUFFER_FLAG_NON_DROPPABLE:
+   *
+   * This buffer is important and should not be dropped.
+   *
+   * This can be used to mark important buffers, e.g. to flag RTP packets
+   * carrying keyframes or codec setup data for RTP Forward Error Correction
+   * purposes, or to prevent still video frames from being dropped by elements
+   * due to QoS.
+   *
+   * Since: 1.14
+   */
   GST_BUFFER_FLAG_NON_DROPPABLE = (GST_MINI_OBJECT_FLAG_LAST << 12),
 
   GST_BUFFER_FLAG_LAST          = (GST_MINI_OBJECT_FLAG_LAST << 16)
@@ -297,9 +316,13 @@ GstBuffer * gst_buffer_new_wrapped_full    (GstMemoryFlags flags, gpointer data,
                                             GDestroyNotify notify);
 GST_API
 GstBuffer * gst_buffer_new_wrapped         (gpointer data, gsize size);
+
 GST_API
 GstBuffer * gst_buffer_new_wrapped_bytes   (GBytes * bytes);
 
+GST_API
+GstBuffer * gst_buffer_new_memdup           (gconstpointer data, gsize size);
+
 /* memory blocks */
 
 GST_API
@@ -466,8 +489,6 @@ GstBuffer * gst_buffer_copy_deep (const GstBuffer * buf);
  *   merged
  * @GST_BUFFER_COPY_META: flag indicating that buffer meta should be
  *   copied
- * @GST_BUFFER_COPY_DEEP: flag indicating that memory should always be
- *   copied instead of reffed (Since: 1.2)
  *
  * A set of flags that can be provided to the gst_buffer_copy_into()
  * function to specify which items should be copied.
@@ -479,6 +500,14 @@ typedef enum {
   GST_BUFFER_COPY_META           = (1 << 2),
   GST_BUFFER_COPY_MEMORY         = (1 << 3),
   GST_BUFFER_COPY_MERGE          = (1 << 4),
+
+  /**
+   * GST_BUFFER_COPY_DEEP:
+   *
+   * flag indicating that memory should always be copied instead of reffed
+   *
+   * Since: 1.2
+   */
   GST_BUFFER_COPY_DEEP           = (1 << 5)
 } GstBufferCopyFlags;
 
@@ -538,8 +567,8 @@ gboolean        gst_buffer_copy_into            (GstBuffer *dest, GstBuffer *src
  * that it returns. Don't access the argument after calling this function unless
  * you have an additional reference to it.
  *
- * Returns: (transfer full): a writable buffer which may or may not be the
- *     same as @buf
+ * Returns: (transfer full) (nullable): a writable buffer (which may or may not be the
+ *     same as @buf) or %NULL if copying is required but not possible.
  */
 #define         gst_buffer_make_writable(buf)   GST_BUFFER_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (buf)))
 
@@ -617,6 +646,14 @@ gboolean        gst_buffer_foreach_meta         (GstBuffer *buffer,
                                                  GstBufferForeachMetaFunc func,
                                                  gpointer user_data);
 
+GST_API
+GstCustomMeta * gst_buffer_add_custom_meta      (GstBuffer *buffer,
+                                                 const gchar *name);
+
+GST_API
+GstCustomMeta * gst_buffer_get_custom_meta      (GstBuffer *buffer,
+                                                 const gchar *name);
+
 /**
  * gst_value_set_buffer:
  * @v: a #GValue to receive the data
@@ -682,7 +719,7 @@ GType gst_parent_buffer_meta_api_get_type (void);
  * gst_buffer_get_parent_buffer_meta:
  * @b: a #GstBuffer
  *
- * Find and return a #GstParentBufferMeta if one exists on the
+ * Finds and returns a #GstParentBufferMeta if one exists on the
  * buffer
  */
 #define gst_buffer_get_parent_buffer_meta(b) \
@@ -713,10 +750,18 @@ typedef struct _GstReferenceTimestampMeta GstReferenceTimestampMeta;
  * captured.
  *
  * The reference is stored as a #GstCaps in @reference. Examples of valid
- * references would be "timestamp/x-drivername-stream" for timestamps that are locally
- * generated by some driver named "drivername" when generating the stream,
- * e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org,
- * port=123" for timestamps based on a specific NTP server.
+ * references would be
+ *
+ *  * `timestamp/x-drivername-stream`: for timestamps that are locally
+ *    generated by some driver named `drivername` when generating the stream,
+ *    e.g. based on a frame counter
+ *  * `timestamp/x-ntp, host=pool.ntp.org, port=123`: for timestamps based on a
+ *    specific NTP server. Note that the host/port parameters might not always
+ *    be given.
+ *  * `timestamp/x-ptp, version=IEEE1588-2008, domain=1`: for timestamps based
+ *    on a given PTP clock.
+ *  * `timestamp/x-unix`: for timestamps based on the UNIX epoch according to
+ *    the local clock.
  *
  * Since: 1.14
  */
@@ -753,6 +798,42 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBuffer, gst_buffer_unref)
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstBufferPool, gst_object_unref)
 
+/**
+ * GstBufferMapInfo: (skip):
+ *
+ * Alias for #GstMapInfo to be used with g_auto():
+ * ```c
+ * void my_func(GstBuffer *buf)
+ * {
+ *   g_auto(GstBufferMapInfo) map = GST_MAP_INFO_INIT;
+ *   if (!gst_buffer_map(buf, &map, GST_MAP_READWRITE))
+ *     return;
+ *   ...
+ *   // No need to call gst_buffer_unmap()
+ * }
+ * ```
+ *
+ * #GstMapInfo cannot be used with g_auto() because it is ambiguous whether it
+ * needs to be unmapped using gst_buffer_unmap() or gst_memory_unmap().
+ *
+ * See also #GstMemoryMapInfo.
+ *
+ * Since: 1.22
+ */
+typedef GstMapInfo GstBufferMapInfo;
+
+static inline void _gst_buffer_map_info_clear(GstBufferMapInfo *info)
+{
+  /* we need to check for NULL, it is possible that we tried to map a buffer
+   * without memory and we should be able to unmap that fine */
+  if (G_LIKELY (info->memory)) {
+    gst_memory_unmap (info->memory, info);
+    gst_memory_unref (info->memory);
+  }
+}
+
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GstBufferMapInfo, _gst_buffer_map_info_clear)
+
 G_END_DECLS
 
 #endif /* __GST_BUFFER_H__ */
diff --git a/gst/gstbufferlist.c b/gst/gstbufferlist.c
index 5dfc9ca..dca4335 100644
--- a/gst/gstbufferlist.c
+++ b/gst/gstbufferlist.c
@@ -30,7 +30,7 @@
  * Buffer lists are an object containing a list of buffers.
  *
  * Buffer lists are created with gst_buffer_list_new() and filled with data
- * using a gst_buffer_list_insert().
+ * using gst_buffer_list_insert().
  *
  * Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is
  * interesting when multiple buffers need to be pushed in one go because it
@@ -147,14 +147,10 @@ gst_buffer_list_init (GstBufferList * list, guint n_allocated, gsize slice_size)
  * gst_buffer_list_new_sized:
  * @size: an initial reserved size
  *
- * Creates a new, empty #GstBufferList. The caller is responsible for unreffing
- * the returned #GstBufferList. The list will have @size space preallocated so
- * that memory reallocations can be avoided.
+ * Creates a new, empty #GstBufferList. The list will have @size space
+ * preallocated so that memory reallocations can be avoided.
  *
- * Free-function: gst_buffer_list_unref
- *
- * Returns: (transfer full): the new #GstBufferList. gst_buffer_list_unref()
- *     after usage.
+ * Returns: (transfer full): the new #GstBufferList.
  */
 GstBufferList *
 gst_buffer_list_new_sized (guint size)
@@ -182,13 +178,9 @@ gst_buffer_list_new_sized (guint size)
 /**
  * gst_buffer_list_new:
  *
- * Creates a new, empty #GstBufferList. The caller is responsible for unreffing
- * the returned #GstBufferList.
- *
- * Free-function: gst_buffer_list_unref
+ * Creates a new, empty #GstBufferList.
  *
- * Returns: (transfer full): the new #GstBufferList. gst_buffer_list_unref()
- *     after usage.
+ * Returns: (transfer full): the new #GstBufferList.
  */
 GstBufferList *
 gst_buffer_list_new (void)
@@ -240,10 +232,10 @@ gst_buffer_list_remove_range_internal (GstBufferList * list, guint idx,
  * @func: (scope call): a #GstBufferListFunc to call
  * @user_data: (closure): user data passed to @func
  *
- * Call @func with @data for each buffer in @list.
+ * Calls @func with @data for each buffer in @list.
  *
  * @func can modify the passed buffer pointer or its contents. The return value
- * of @func define if this function returns or if the remaining buffers in
+ * of @func defines if this function returns or if the remaining buffers in
  * the list should be skipped.
  *
  * Returns: %TRUE when @func returned %TRUE for each buffer in @list or when
@@ -341,7 +333,7 @@ gst_buffer_list_foreach (GstBufferList * list, GstBufferListFunc func,
  * @list: a #GstBufferList
  * @idx: the index
  *
- * Get the buffer at @idx.
+ * Gets the buffer at @idx.
  *
  * You must make sure that @idx does not exceed the number of
  * buffers available.
@@ -413,7 +405,7 @@ gst_buffer_list_get_writable (GstBufferList * list, guint idx)
  * @idx: the index
  * @buffer: (transfer full): a #GstBuffer
  *
- * Insert @buffer at @idx in @list. Other buffers are moved to make room for
+ * Inserts @buffer at @idx in @list. Other buffers are moved to make room for
  * this new buffer.
  *
  * A -1 value for @idx will append the buffer at the end.
@@ -473,7 +465,7 @@ gst_buffer_list_insert (GstBufferList * list, gint idx, GstBuffer * buffer)
  * @idx: the index
  * @length: the amount to remove
  *
- * Remove @length buffers starting from @idx in @list. The following buffers
+ * Removes @length buffers starting from @idx in @list. The following buffers
  * are moved to close the gap.
  */
 void
@@ -491,8 +483,8 @@ gst_buffer_list_remove (GstBufferList * list, guint idx, guint length)
  * gst_buffer_list_copy_deep:
  * @list: a #GstBufferList
  *
- * Create a copy of the given buffer list. This will make a newly allocated
- * copy of the buffer that the source buffer list contains.
+ * Creates a copy of the given buffer list. This will make a newly allocated
+ * copy of the buffers that the source buffer list contains.
  *
  * Returns: (transfer full): a new copy of @list.
  *
@@ -530,10 +522,10 @@ gst_buffer_list_copy_deep (const GstBufferList * list)
  * gst_buffer_list_calculate_size:
  * @list: a #GstBufferList
  *
- * Calculates the size of the data contained in buffer list by adding the
+ * Calculates the size of the data contained in @list by adding the
  * size of all buffers.
  *
- * Returns: the size of the data contained in buffer list in bytes.
+ * Returns: the size of the data contained in @list in bytes.
  *
  * Since: 1.14
  */
@@ -611,7 +603,7 @@ gst_clear_buffer_list (GstBufferList ** list_ptr)
  * gst_buffer_list_copy: (skip)
  * @list: a #GstBufferList
  *
- * Create a shallow copy of the given buffer list. This will make a newly
+ * Creates a shallow copy of the given buffer list. This will make a newly
  * allocated copy of the source list with copies of buffer pointers. The
  * refcount of buffers pointed to will be increased by one.
  *
diff --git a/gst/gstbufferlist.h b/gst/gstbufferlist.h
index 87132c9..6077717 100644
--- a/gst/gstbufferlist.h
+++ b/gst/gstbufferlist.h
@@ -38,7 +38,7 @@ typedef struct _GstBufferList GstBufferList;
 
 /**
  * GstBufferListFunc:
- * @buffer: (out) (nullable): pointer the buffer
+ * @buffer: (out) (nullable): pointer to the buffer
  * @idx: the index of @buffer
  * @user_data: user data passed to gst_buffer_list_foreach()
  *
diff --git a/gst/gstbufferpool.c b/gst/gstbufferpool.c
index 374af77..a1bfd3c 100644
--- a/gst/gstbufferpool.c
+++ b/gst/gstbufferpool.c
@@ -46,7 +46,7 @@
  * gst_buffer_pool_set_config() updates the configuration in the pool. This can
  * fail when the configuration structure is not accepted.
  *
- * After the a pool has been configured, it can be activated with
+ * After the pool has been configured, it can be activated with
  * gst_buffer_pool_set_active(). This will preallocate the configured resources
  * in the pool.
  *
@@ -59,9 +59,6 @@
  * The bufferpool can be deactivated again with gst_buffer_pool_set_active().
  * All further gst_buffer_pool_acquire_buffer() calls will return an error. When
  * all buffers are returned to the pool they will be freed.
- *
- * Use gst_object_unref() to release the reference to a bufferpool. If the
- * refcount of the pool reaches 0, the pool will be freed.
  */
 
 #include "gst_private.h"
@@ -115,6 +112,7 @@ struct _GstBufferPoolPrivate
   GstAllocationParams params;
 };
 
+static void gst_buffer_pool_dispose (GObject * object);
 static void gst_buffer_pool_finalize (GObject * object);
 
 G_DEFINE_TYPE_WITH_PRIVATE (GstBufferPool, gst_buffer_pool, GST_TYPE_OBJECT);
@@ -136,6 +134,7 @@ gst_buffer_pool_class_init (GstBufferPoolClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
 
+  gobject_class->dispose = gst_buffer_pool_dispose;
   gobject_class->finalize = gst_buffer_pool_finalize;
 
   klass->start = default_start;
@@ -180,6 +179,23 @@ gst_buffer_pool_init (GstBufferPool * pool)
   GST_DEBUG_OBJECT (pool, "created");
 }
 
+static void
+gst_buffer_pool_dispose (GObject * object)
+{
+  GstBufferPool *pool;
+  GstBufferPoolPrivate *priv;
+
+  pool = GST_BUFFER_POOL_CAST (object);
+  priv = pool->priv;
+
+  GST_DEBUG_OBJECT (pool, "%p dispose", pool);
+
+  gst_buffer_pool_set_active (pool, FALSE);
+  gst_clear_object (&priv->allocator);
+
+  G_OBJECT_CLASS (gst_buffer_pool_parent_class)->dispose (object);
+}
+
 static void
 gst_buffer_pool_finalize (GObject * object)
 {
@@ -191,13 +207,10 @@ gst_buffer_pool_finalize (GObject * object)
 
   GST_DEBUG_OBJECT (pool, "%p finalize", pool);
 
-  gst_buffer_pool_set_active (pool, FALSE);
   gst_atomic_queue_unref (priv->queue);
   gst_poll_free (priv->poll);
   gst_structure_free (priv->config);
   g_rec_mutex_clear (&priv->rec_lock);
-  if (priv->allocator)
-    gst_object_unref (priv->allocator);
 
   G_OBJECT_CLASS (gst_buffer_pool_parent_class)->finalize (object);
 }
@@ -477,7 +490,7 @@ do_set_flushing (GstBufferPool * pool, gboolean flushing)
  * @pool: a #GstBufferPool
  * @active: the new active state
  *
- * Control the active state of @pool. When the pool is inactive, new calls to
+ * Controls the active state of @pool. When the pool is inactive, new calls to
  * gst_buffer_pool_acquire_buffer() will return with %GST_FLOW_FLUSHING.
  *
  * Activating the bufferpool will preallocate all resources in the pool based on
@@ -572,7 +585,7 @@ stop_failed:
  * gst_buffer_pool_is_active:
  * @pool: a #GstBufferPool
  *
- * Check if @pool is active. A pool can be activated with the
+ * Checks if @pool is active. A pool can be activated with the
  * gst_buffer_pool_set_active() call.
  *
  * Returns: %TRUE when the pool is active.
@@ -633,10 +646,10 @@ wrong_config:
  * @pool: a #GstBufferPool
  * @config: (transfer full): a #GstStructure
  *
- * Set the configuration of the pool. If the pool is already configured, and
- * the configuration haven't change, this function will return %TRUE. If the
+ * Sets the configuration of the pool. If the pool is already configured, and
+ * the configuration hasn't changed, this function will return %TRUE. If the
  * pool is active, this method will return %FALSE and active configuration
- * will remain. Buffers allocated form this pool must be returned or else this
+ * will remain. Buffers allocated from this pool must be returned or else this
  * function will do nothing and return %FALSE.
  *
  * @config is a #GstStructure that contains the configuration parameters for
@@ -727,12 +740,10 @@ have_outstanding:
  * gst_buffer_pool_get_config:
  * @pool: a #GstBufferPool
  *
- * Get a copy of the current configuration of the pool. This configuration
- * can either be modified and used for the gst_buffer_pool_set_config() call
- * or it must be freed after usage.
+ * Gets a copy of the current configuration of the pool. This configuration
+ * can be modified and used for the gst_buffer_pool_set_config() call.
  *
- * Returns: (transfer full): a copy of the current configuration of @pool. use
- * gst_structure_free() after usage or gst_buffer_pool_set_config().
+ * Returns: (transfer full): a copy of the current configuration of @pool.
  */
 GstStructure *
 gst_buffer_pool_get_config (GstBufferPool * pool)
@@ -754,7 +765,7 @@ static const gchar *empty_option[] = { NULL };
  * gst_buffer_pool_get_options:
  * @pool: a #GstBufferPool
  *
- * Get a %NULL terminated array of string with supported bufferpool options for
+ * Gets a %NULL terminated array of string with supported bufferpool options for
  * @pool. An option would typically be enabled with
  * gst_buffer_pool_config_add_option().
  *
@@ -792,7 +803,7 @@ invalid_result:
  * @pool: a #GstBufferPool
  * @option: an option
  *
- * Check if the bufferpool supports @option.
+ * Checks if the bufferpool supports @option.
  *
  * Returns: %TRUE if the buffer pool contains @option.
  */
@@ -822,7 +833,7 @@ gst_buffer_pool_has_option (GstBufferPool * pool, const gchar * option)
  * @min_buffers: the minimum amount of buffers to allocate.
  * @max_buffers: the maximum amount of buffers to allocate or 0 for unlimited.
  *
- * Configure @config with the given parameters.
+ * Configures @config with the given parameters.
  */
 void
 gst_buffer_pool_config_set_params (GstStructure * config, GstCaps * caps,
@@ -845,7 +856,7 @@ gst_buffer_pool_config_set_params (GstStructure * config, GstCaps * caps,
  * @allocator: (nullable): a #GstAllocator
  * @params: (nullable): #GstAllocationParams
  *
- * Set the @allocator and @params on @config.
+ * Sets the @allocator and @params on @config.
  *
  * One of @allocator and @params can be %NULL, but not both. When @allocator
  * is %NULL, the default allocator of the pool will use the values in @param
@@ -875,10 +886,10 @@ gst_buffer_pool_config_set_allocator (GstStructure * config,
  * @config: a #GstBufferPool configuration
  * @option: an option to add
  *
- * Enabled the option in @config. This will instruct the @bufferpool to enable
+ * Enables the option in @config. This will instruct the @bufferpool to enable
  * the specified option on the buffers that it allocates.
  *
- * The supported options by @pool can be retrieved with gst_buffer_pool_get_options().
+ * The options supported by @pool can be retrieved with gst_buffer_pool_get_options().
  */
 void
 gst_buffer_pool_config_add_option (GstStructure * config, const gchar * option)
@@ -914,7 +925,7 @@ gst_buffer_pool_config_add_option (GstStructure * config, const gchar * option)
  * gst_buffer_pool_config_n_options:
  * @config: a #GstBufferPool configuration
  *
- * Retrieve the number of values currently stored in the options array of the
+ * Retrieves the number of values currently stored in the options array of the
  * @config structure.
  *
  * Returns: the options array size as a #guint.
@@ -939,10 +950,10 @@ gst_buffer_pool_config_n_options (GstStructure * config)
  * @config: a #GstBufferPool configuration
  * @index: position in the option array to read
  *
- * Parse an available @config and get the option at @index of the options API
+ * Parses an available @config and gets the option at @index of the options API
  * array.
  *
- * Returns: (nullable): a #gchar of the option at @index.
+ * Returns: (nullable): the option at @index.
  */
 const gchar *
 gst_buffer_pool_config_get_option (GstStructure * config, guint index)
@@ -968,7 +979,7 @@ gst_buffer_pool_config_get_option (GstStructure * config, guint index)
  * @config: a #GstBufferPool configuration
  * @option: an option
  *
- * Check if @config contains @option.
+ * Checks if @config contains @option.
  *
  * Returns: %TRUE if the options array contains @option.
  */
@@ -1001,7 +1012,7 @@ gst_buffer_pool_config_has_option (GstStructure * config, const gchar * option)
  * @min_buffers: (out) (optional): the minimum amount of buffers to allocate.
  * @max_buffers: (out) (optional): the maximum amount of buffers to allocate or 0 for unlimited.
  *
- * Get the configuration values from @config.
+ * Gets the configuration values from @config.
  *
  * Returns: %TRUE if all parameters could be fetched.
  */
@@ -1027,7 +1038,7 @@ gst_buffer_pool_config_get_params (GstStructure * config, GstCaps ** caps,
  * @allocator: (out) (optional) (nullable) (transfer none): a #GstAllocator, or %NULL
  * @params: (out caller-allocates) (optional): #GstAllocationParams, or %NULL
  *
- * Get the @allocator and @params from @config.
+ * Gets the @allocator and @params from @config.
  *
  * Returns: %TRUE, if the values are set.
  */
@@ -1062,7 +1073,7 @@ gst_buffer_pool_config_get_allocator (GstStructure * config,
  * @min_buffers: the expected minimum amount of buffers to allocate.
  * @max_buffers: the expect maximum amount of buffers to allocate or 0 for unlimited.
  *
- * Validate that changes made to @config are still valid in the context of the
+ * Validates that changes made to @config are still valid in the context of the
  * expected parameters. This function is a helper that can be used to validate
  * changes made by a pool to a config when gst_buffer_pool_set_config()
  * returns %FALSE. This expects that @caps haven't changed and that
@@ -1247,14 +1258,15 @@ default_reset_buffer (GstBufferPool * pool, GstBuffer * buffer)
 /**
  * gst_buffer_pool_acquire_buffer:
  * @pool: a #GstBufferPool
- * @buffer: (out): a location for a #GstBuffer
- * @params: (transfer none) (allow-none): parameters.
+ * @buffer: (out) (transfer full) (nullable): a location for a #GstBuffer
+ * @params: (transfer none) (nullable): parameters.
  *
- * Acquire a buffer from @pool. @buffer should point to a memory location that
- * can hold a pointer to the new buffer.
+ * Acquires a buffer from @pool. @buffer should point to a memory location that
+ * can hold a pointer to the new buffer. When the pool is empty, this function
+ * will by default block until a buffer is released into the pool again or when
+ * the pool is set to flushing or deactivated.
  *
- * @params can be %NULL or contain optional parameters to influence the
- * allocation.
+ * @params can contain optional parameters to influence the allocation.
  *
  * Returns: a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
  * inactive.
@@ -1269,6 +1281,8 @@ gst_buffer_pool_acquire_buffer (GstBufferPool * pool, GstBuffer ** buffer,
   g_return_val_if_fail (GST_IS_BUFFER_POOL (pool), GST_FLOW_ERROR);
   g_return_val_if_fail (buffer != NULL, GST_FLOW_ERROR);
 
+  *buffer = NULL;
+
   pclass = GST_BUFFER_POOL_GET_CLASS (pool);
 
   /* assume we'll have one more outstanding buffer we need to do that so
@@ -1348,7 +1362,7 @@ discard:
  * @pool: a #GstBufferPool
  * @buffer: (transfer full): a #GstBuffer
  *
- * Release @buffer to @pool. @buffer should have previously been allocated from
+ * Releases @buffer to @pool. @buffer should have previously been allocated from
  * @pool with gst_buffer_pool_acquire_buffer().
  *
  * This function is usually called automatically when the last ref on @buffer
@@ -1387,7 +1401,7 @@ gst_buffer_pool_release_buffer (GstBufferPool * pool, GstBuffer * buffer)
  * @pool: a #GstBufferPool
  * @flushing: whether to start or stop flushing
  *
- * Enable or disable the flushing state of a @pool without freeing or
+ * Enables or disables the flushing state of a @pool without freeing or
  * allocating buffers.
  *
  * Since: 1.4
diff --git a/gst/gstbufferpool.h b/gst/gstbufferpool.h
index 0efd24f..5d69fa7 100644
--- a/gst/gstbufferpool.h
+++ b/gst/gstbufferpool.h
@@ -98,6 +98,8 @@ struct _GstBufferPoolAcquireParams {
 
 /**
  * GstBufferPool:
+ * @object: the parent structure
+ * @flushing: whether the pool is currently gathering back outstanding buffers
  *
  * The structure of a #GstBufferPool. Use the associated macros to access the public
  * variables.
@@ -117,58 +119,150 @@ struct _GstBufferPool {
 /**
  * GstBufferPoolClass:
  * @object_class:  Object parent class
- * @get_options: get a list of options supported by this pool
- * @set_config: apply the bufferpool configuration. The default configuration
- *              will parse the default config parameters
- * @start: start the bufferpool. The default implementation will preallocate
- *         min-buffers buffers and put them in the queue
- * @stop: stop the bufferpool. the default implementation will free the
- *        preallocated buffers. This function is called when all the buffers are
- *        returned to the pool.
- * @acquire_buffer: get a new buffer from the pool. The default implementation
- *        will take a buffer from the queue and optionally wait for a buffer to
- *        be released when there are no buffers available.
- * @alloc_buffer: allocate a buffer. the default implementation allocates
- *        buffers from the configured memory allocator and with the configured
- *        parameters. All metadata that is present on the allocated buffer will
- *        be marked as #GST_META_FLAG_POOLED and #GST_META_FLAG_LOCKED and will
- *        not be removed from the buffer in @reset_buffer. The buffer should
- *        have the GST_BUFFER_FLAG_TAG_MEMORY cleared.
- * @reset_buffer: reset the buffer to its state when it was freshly allocated.
- *        The default implementation will clear the flags, timestamps and
- *        will remove the metadata without the #GST_META_FLAG_POOLED flag (even
- *        the metadata with #GST_META_FLAG_LOCKED). If the
- *        #GST_BUFFER_FLAG_TAG_MEMORY was set, this function can also try to
- *        restore the memory and clear the #GST_BUFFER_FLAG_TAG_MEMORY again.
- * @release_buffer: release a buffer back in the pool. The default
- *        implementation will put the buffer back in the queue and notify any
- *        blocking acquire_buffer calls when the #GST_BUFFER_FLAG_TAG_MEMORY
- *        is not set on the buffer. If #GST_BUFFER_FLAG_TAG_MEMORY is set, the
- *        buffer will be freed with @free_buffer.
- * @free_buffer: free a buffer. The default implementation unrefs the buffer.
- * @flush_start: enter the flushing state. (Since: 1.4)
- * @flush_stop: leave the flushign state. (Since: 1.4)
  *
- * The GstBufferPool class.
+ * The #GstBufferPool class.
  */
 struct _GstBufferPoolClass {
   GstObjectClass    object_class;
 
   /*< public >*/
+
+  /**
+   * GstBufferPoolClass::get_options:
+   * @pool: the #GstBufferPool
+   *
+   * Get a list of options supported by this pool
+   *
+   * Returns: (array zero-terminated=1) (transfer none): a %NULL terminated array
+   *          of strings.
+   */
   const gchar ** (*get_options)    (GstBufferPool *pool);
+
+  /**
+   * GstBufferPoolClass::set_config:
+   * @pool: the #GstBufferPool
+   * @config: the required configuration
+   *
+   * Apply the bufferpool configuration. The default configuration will parse
+   * the default config parameters.
+   *
+   * Returns: whether the configuration could be set.
+   */
   gboolean       (*set_config)     (GstBufferPool *pool, GstStructure *config);
 
+  /**
+   * GstBufferPoolClass::start:
+   * @pool: the #GstBufferPool
+   *
+   * Start the bufferpool. The default implementation will preallocate
+   * min-buffers buffers and put them in the queue.
+   *
+   * Returns: whether the pool could be started.
+   */
   gboolean       (*start)          (GstBufferPool *pool);
+
+  /**
+   * GstBufferPoolClass::stop:
+   * @pool: the #GstBufferPool
+   *
+   * Stop the bufferpool. the default implementation will free the
+   * preallocated buffers. This function is called when all the buffers are
+   * returned to the pool.
+   *
+   * Returns: whether the pool could be stopped.
+   */
   gboolean       (*stop)           (GstBufferPool *pool);
 
+  /**
+   * GstBufferPoolClass::acquire_buffer:
+   * @pool: the #GstBufferPool
+   * @buffer: (out) (transfer full) (nullable): a location for a #GstBuffer
+   * @params: (transfer none) (nullable): parameters.
+   *
+   * Get a new buffer from the pool. The default implementation
+   * will take a buffer from the queue and optionally wait for a buffer to
+   * be released when there are no buffers available.
+   *
+   * Returns: a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
+   * inactive.
+   */
   GstFlowReturn  (*acquire_buffer) (GstBufferPool *pool, GstBuffer **buffer,
                                     GstBufferPoolAcquireParams *params);
+
+  /**
+   * GstBufferPoolClass::alloc_buffer:
+   * @pool: the #GstBufferPool
+   * @buffer: (out) (transfer full) (nullable): a location for a #GstBuffer
+   * @params: (transfer none) (nullable): parameters.
+   *
+   * Allocate a buffer. the default implementation allocates
+   * buffers from the configured memory allocator and with the configured
+   * parameters. All metadata that is present on the allocated buffer will
+   * be marked as #GST_META_FLAG_POOLED and #GST_META_FLAG_LOCKED and will
+   * not be removed from the buffer in #GstBufferPoolClass::reset_buffer.
+   * The buffer should have the #GST_BUFFER_FLAG_TAG_MEMORY cleared.
+   *
+   * Returns: a #GstFlowReturn to indicate whether the allocation was
+   * successful.
+   */
   GstFlowReturn  (*alloc_buffer)   (GstBufferPool *pool, GstBuffer **buffer,
                                     GstBufferPoolAcquireParams *params);
+
+  /**
+   * GstBufferPoolClass::reset_buffer:
+   * @pool: the #GstBufferPool
+   * @buffer: the #GstBuffer to reset
+   *
+   * Reset the buffer to its state when it was freshly allocated.
+   * The default implementation will clear the flags, timestamps and
+   * will remove the metadata without the #GST_META_FLAG_POOLED flag (even
+   * the metadata with #GST_META_FLAG_LOCKED). If the
+   * #GST_BUFFER_FLAG_TAG_MEMORY was set, this function can also try to
+   * restore the memory and clear the #GST_BUFFER_FLAG_TAG_MEMORY again.
+   */
   void           (*reset_buffer)   (GstBufferPool *pool, GstBuffer *buffer);
+
+  /**
+   * GstBufferPoolClass::release_buffer:
+   * @pool: the #GstBufferPool
+   * @buffer: the #GstBuffer to release
+   *
+   * Release a buffer back in the pool. The default implementation
+   * will put the buffer back in the queue and notify any
+   * blocking #GstBufferPoolClass::acquire_buffer calls when the
+   * #GST_BUFFER_FLAG_TAG_MEMORY is not set on the buffer.
+   * If #GST_BUFFER_FLAG_TAG_MEMORY is set, the buffer will be freed with
+   * #GstBufferPoolClass::free_buffer.
+   */
   void           (*release_buffer) (GstBufferPool *pool, GstBuffer *buffer);
+
+  /**
+   * GstBufferPoolClass::free_buffer:
+   * @pool: the #GstBufferPool
+   * @buffer: the #GstBuffer to free
+   *
+   * Free a buffer. The default implementation unrefs the buffer.
+   */
   void           (*free_buffer)    (GstBufferPool *pool, GstBuffer *buffer);
+
+  /**
+   * GstBufferPoolClass::flush_start:
+   * @pool: the #GstBufferPool
+   *
+   * Enter the flushing state.
+   *
+   * Since: 1.4
+   */
   void           (*flush_start)    (GstBufferPool *pool);
+
+  /**
+   * GstBufferPoolClass::flush_stop:
+   * @pool: the #GstBufferPool
+   *
+   * Leave the flushing state.
+   *
+   * Since: 1.4
+   */
   void           (*flush_stop)     (GstBufferPool *pool);
 
   /*< private >*/
diff --git a/gst/gstbus.c b/gst/gstbus.c
index dbe503e..15cf16b 100644
--- a/gst/gstbus.c
+++ b/gst/gstbus.c
@@ -35,7 +35,7 @@
  * is done in another thread than the application.
  *
  * The GstBus provides support for #GSource based notifications. This makes it
- * possible to handle the delivery in the glib mainloop.
+ * possible to handle the delivery in the glib #GMainLoop.
  *
  * The #GSource callback function gst_bus_async_signal_func() can be used to
  * convert all bus messages into signal emissions.
@@ -147,7 +147,7 @@ struct _GstBusPrivate
   guint num_signal_watchers;
 
   guint num_sync_message_emitters;
-  GSource *signal_watch;
+  GSource *gsource;
 
   gboolean enable_async;
   GstPoll *poll;
@@ -197,9 +197,9 @@ gst_bus_class_init (GstBusClass * klass)
   gobject_class->constructed = gst_bus_constructed;
 
   /**
-   * GstBus::enable-async:
+   * GstBus:enable-async:
    *
-   * Enable async message delivery support for bus watches,
+   * Enables async message delivery support for bus watches,
    * gst_bus_pop() and similar API. Without this only the
    * synchronous message handlers are called.
    *
@@ -214,7 +214,7 @@ gst_bus_class_init (GstBusClass * klass)
 
   /**
    * GstBus::sync-message:
-   * @bus: the object which received the signal
+   * @self: the object which received the signal
    * @message: the message that has been posted synchronously
    *
    * A message has been posted on the bus. This signal is emitted from the
@@ -231,12 +231,12 @@ gst_bus_class_init (GstBusClass * klass)
 
   /**
    * GstBus::message:
-   * @bus: the object which received the signal
+   * @self: the object which received the signal
    * @message: the message that has been posted asynchronously
    *
    * A message has been posted on the bus. This signal is emitted from a
-   * GSource added to the mainloop. this signal will only be emitted when
-   * there is a mainloop running.
+   * #GSource added to the mainloop. this signal will only be emitted when
+   * there is a #GMainLoop running.
    */
   gst_bus_signals[ASYNC_MESSAGE] =
       g_signal_new ("message", G_TYPE_FROM_CLASS (klass),
@@ -320,12 +320,10 @@ gst_bus_new (void)
  * @bus: a #GstBus to post on
  * @message: (transfer full): the #GstMessage to post
  *
- * Post a message on the given bus. Ownership of the message
+ * Posts a message on the given bus. Ownership of the message
  * is taken by the bus.
  *
  * Returns: %TRUE if the message could be posted, %FALSE if the bus is flushing.
- *
- * MT safe.
  */
 gboolean
 gst_bus_post (GstBus * bus, GstMessage * message)
@@ -445,13 +443,11 @@ is_flushing:
  * gst_bus_have_pending:
  * @bus: a #GstBus to check
  *
- * Check if there are pending messages on the bus that
+ * Checks if there are pending messages on the bus that
  * should be handled.
  *
  * Returns: %TRUE if there are messages on the bus to be handled, %FALSE
  * otherwise.
- *
- * MT safe.
  */
 gboolean
 gst_bus_have_pending (GstBus * bus)
@@ -471,11 +467,9 @@ gst_bus_have_pending (GstBus * bus)
  * @bus: a #GstBus
  * @flushing: whether or not to flush the bus
  *
- * If @flushing, flush out and unref any messages queued in the bus. Releases
+ * If @flushing, flushes out and unrefs any messages queued in the bus. Releases
  * references to the message origin objects. Will flush future messages until
  * gst_bus_set_flushing() sets @flushing to %FALSE.
- *
- * MT safe.
  */
 void
 gst_bus_set_flushing (GstBus * bus, gboolean flushing)
@@ -507,10 +501,10 @@ gst_bus_set_flushing (GstBus * bus, gboolean flushing)
 /**
  * gst_bus_timed_pop_filtered:
  * @bus: a #GstBus to pop from
- * @timeout: a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever
- * @types: message types to take into account, GST_MESSAGE_ANY for any type
+ * @timeout: a timeout in nanoseconds, or %GST_CLOCK_TIME_NONE to wait forever
+ * @types: message types to take into account, %GST_MESSAGE_ANY for any type
  *
- * Get a message from the bus whose type matches the message type mask @types,
+ * Gets a message from the bus whose type matches the message type mask @types,
  * waiting up to the specified timeout (and discarding any messages that do not
  * match the mask provided).
  *
@@ -520,11 +514,7 @@ gst_bus_set_flushing (GstBus * bus, gboolean flushing)
  *
  * Returns: (transfer full) (nullable): a #GstMessage matching the
  *     filter in @types, or %NULL if no matching message was found on
- *     the bus until the timeout expired. The message is taken from
- *     the bus and needs to be unreffed with gst_message_unref() after
- *     usage.
- *
- * MT safe.
+ *     the bus until the timeout expired.
  */
 GstMessage *
 gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout,
@@ -610,10 +600,10 @@ gst_bus_timed_pop_filtered (GstBus * bus, GstClockTime timeout,
     g_mutex_lock (&bus->priv->queue_lock);
 
     if (ret == 0) {
-      GST_INFO_OBJECT (bus, "timed out, breaking loop");
+      GST_DEBUG_OBJECT (bus, "timed out, breaking loop");
       break;
     } else {
-      GST_INFO_OBJECT (bus, "we got woken up, recheck for message");
+      GST_DEBUG_OBJECT (bus, "we got woken up, recheck for message");
     }
   }
 
@@ -630,7 +620,7 @@ beach:
  * @bus: a #GstBus to pop
  * @timeout: a timeout
  *
- * Get a message from the bus, waiting up to the specified timeout.
+ * Gets a message from the bus, waiting up to the specified timeout.
  *
  * If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is
  * #GST_CLOCK_TIME_NONE, this function will block forever until a message was
@@ -638,10 +628,7 @@ beach:
  *
  * Returns: (transfer full) (nullable): the #GstMessage that is on the
  *     bus after the specified timeout or %NULL if the bus is empty
- *     after the timeout expired.  The message is taken from the bus
- *     and needs to be unreffed with gst_message_unref() after usage.
- *
- * MT safe.
+ *     after the timeout expired.
  */
 GstMessage *
 gst_bus_timed_pop (GstBus * bus, GstClockTime timeout)
@@ -656,7 +643,7 @@ gst_bus_timed_pop (GstBus * bus, GstClockTime timeout)
  * @bus: a #GstBus to pop
  * @types: message types to take into account
  *
- * Get a message matching @type from the bus.  Will discard all messages on
+ * Gets a message matching @type from the bus.  Will discard all messages on
  * the bus that do not match @type and that have been posted before the first
  * message that does match @type.  If there is no message matching @type on
  * the bus, all messages will be discarded. It is not possible to use message
@@ -664,10 +651,7 @@ gst_bus_timed_pop (GstBus * bus, GstClockTime timeout)
  *
  * Returns: (transfer full) (nullable): the next #GstMessage matching
  *     @type that is on the bus, or %NULL if the bus is empty or there
- *     is no message matching @type. The message is taken from the bus
- *     and needs to be unreffed with gst_message_unref() after usage.
- *
- * MT safe.
+ *     is no message matching @type.
  */
 GstMessage *
 gst_bus_pop_filtered (GstBus * bus, GstMessageType types)
@@ -682,14 +666,10 @@ gst_bus_pop_filtered (GstBus * bus, GstMessageType types)
  * gst_bus_pop:
  * @bus: a #GstBus to pop
  *
- * Get a message from the bus.
+ * Gets a message from the bus.
  *
  * Returns: (transfer full) (nullable): the #GstMessage that is on the
- *     bus, or %NULL if the bus is empty. The message is taken from
- *     the bus and needs to be unreffed with gst_message_unref() after
- *     usage.
- *
- * MT safe.
+ *     bus, or %NULL if the bus is empty.
  */
 GstMessage *
 gst_bus_pop (GstBus * bus)
@@ -703,14 +683,11 @@ gst_bus_pop (GstBus * bus)
  * gst_bus_peek:
  * @bus: a #GstBus
  *
- * Peek the message on the top of the bus' queue. The message will remain
- * on the bus' message queue. A reference is returned, and needs to be unreffed
- * by the caller.
+ * Peeks the message on the top of the bus' queue. The message will remain
+ * on the bus' message queue.
  *
  * Returns: (transfer full) (nullable): the #GstMessage that is on the
  *     bus, or %NULL if the bus is empty.
- *
- * MT safe.
  */
 GstMessage *
 gst_bus_peek (GstBus * bus)
@@ -804,13 +781,6 @@ typedef struct
   GstBus *bus;
 } GstBusSource;
 
-static gboolean
-gst_bus_source_prepare (GSource * source, gint * timeout)
-{
-  *timeout = -1;
-  return FALSE;
-}
-
 static gboolean
 gst_bus_source_check (GSource * source)
 {
@@ -876,8 +846,8 @@ gst_bus_source_dispose (GSource * source)
   GST_DEBUG_OBJECT (bus, "disposing source %p", source);
 
   GST_OBJECT_LOCK (bus);
-  if (bus->priv->signal_watch == source)
-    bus->priv->signal_watch = NULL;
+  if (bus->priv->gsource == source)
+    bus->priv->gsource = NULL;
   GST_OBJECT_UNLOCK (bus);
 }
 #endif
@@ -892,52 +862,74 @@ gst_bus_source_finalize (GSource * source)
   GST_DEBUG_OBJECT (bus, "finalize source %p", source);
 
   GST_OBJECT_LOCK (bus);
-  if (bus->priv->signal_watch == source)
-    bus->priv->signal_watch = NULL;
+  if (bus->priv->gsource == source)
+    bus->priv->gsource = NULL;
   GST_OBJECT_UNLOCK (bus);
 #endif
 
-  gst_object_unref (bsource->bus);
-  bsource->bus = NULL;
+  gst_clear_object (&bsource->bus);
 }
 
 static GSourceFuncs gst_bus_source_funcs = {
-  gst_bus_source_prepare,
+  NULL,
   gst_bus_source_check,
   gst_bus_source_dispatch,
   gst_bus_source_finalize
 };
 
+
+static GSource *
+gst_bus_create_watch_unlocked (GstBus * bus)
+{
+  GstBusSource *source;
+
+  if (bus->priv->gsource) {
+    GST_ERROR_OBJECT (bus,
+        "Tried to add new GSource while one was already there");
+    return NULL;
+  }
+
+  bus->priv->gsource = g_source_new (&gst_bus_source_funcs,
+      sizeof (GstBusSource));
+  source = (GstBusSource *) bus->priv->gsource;
+
+  g_source_set_name ((GSource *) source, "GStreamer message bus watch");
+#if GLIB_CHECK_VERSION(2,63,3)
+  g_source_set_dispose_function ((GSource *) source, gst_bus_source_dispose);
+#endif
+
+  source->bus = gst_object_ref (bus);
+  g_source_add_poll ((GSource *) source, &bus->priv->pollfd);
+
+  return (GSource *) source;
+}
+
 /**
  * gst_bus_create_watch:
  * @bus: a #GstBus to create the watch for
  *
- * Create watch for this bus. The GSource will be dispatched whenever
+ * Create watch for this bus. The #GSource will be dispatched whenever
  * a message is on the bus. After the GSource is dispatched, the
  * message is popped off the bus and unreffed.
  *
- * Returns: (transfer full) (nullable): a #GSource that can be added to a mainloop.
+ * As with other watches, there can only be one watch on the bus, including
+ * any signal watch added with #gst_bus_add_signal_watch.
+ *
+ * Returns: (transfer full) (nullable): a #GSource that can be added to a #GMainLoop.
  */
 GSource *
 gst_bus_create_watch (GstBus * bus)
 {
-  GstBusSource *source;
+  GSource *source;
 
   g_return_val_if_fail (GST_IS_BUS (bus), NULL);
   g_return_val_if_fail (bus->priv->poll != NULL, NULL);
 
-  source = (GstBusSource *) g_source_new (&gst_bus_source_funcs,
-      sizeof (GstBusSource));
-
-  g_source_set_name ((GSource *) source, "GStreamer message bus watch");
-#if GLIB_CHECK_VERSION(2,63,3)
-  g_source_set_dispose_function ((GSource *) source, gst_bus_source_dispose);
-#endif
-
-  source->bus = gst_object_ref (bus);
-  g_source_add_poll ((GSource *) source, &bus->priv->pollfd);
+  GST_OBJECT_LOCK (bus);
+  source = gst_bus_create_watch_unlocked (bus);
+  GST_OBJECT_UNLOCK (bus);
 
-  return (GSource *) source;
+  return source;
 }
 
 /* must be called with the bus OBJECT LOCK */
@@ -949,13 +941,13 @@ gst_bus_add_watch_full_unlocked (GstBus * bus, gint priority,
   guint id;
   GSource *source;
 
-  if (bus->priv->signal_watch) {
+  if (bus->priv->gsource) {
     GST_ERROR_OBJECT (bus,
         "Tried to add new watch while one was already there");
     return 0;
   }
 
-  source = gst_bus_create_watch (bus);
+  source = gst_bus_create_watch_unlocked (bus);
   if (!source) {
     g_critical ("Creating bus watch failed");
     return 0;
@@ -971,7 +963,7 @@ gst_bus_add_watch_full_unlocked (GstBus * bus, gint priority,
   g_source_unref (source);
 
   if (id) {
-    bus->priv->signal_watch = source;
+    bus->priv->gsource = source;
   }
 
   GST_DEBUG_OBJECT (bus, "New source %p with id %u", source, id);
@@ -996,7 +988,7 @@ gst_bus_add_watch_full_unlocked (GstBus * bus, gint priority,
  * There can only be a single bus watch per bus, you must remove it before you
  * can set a new one.
  *
- * The bus watch will only work if a GLib main loop is being run.
+ * The bus watch will only work if a #GMainLoop is being run.
  *
  * When @func is called, the message belongs to the caller; if you want to
  * keep a copy of it, call gst_message_ref() before leaving @func.
@@ -1008,8 +1000,6 @@ gst_bus_add_watch_full_unlocked (GstBus * bus, gint priority,
  * The bus watch will take its own reference to the @bus, so it is safe to unref
  * @bus using gst_object_unref() after setting the bus watch.
  *
- * MT safe.
- *
  * Returns: The event source id or 0 if @bus already got an event source.
  */
 guint
@@ -1034,7 +1024,7 @@ gst_bus_add_watch_full (GstBus * bus, gint priority,
  * @user_data: user data passed to @func.
  *
  * Adds a bus watch to the default main context with the default priority
- * (%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+ * ( %G_PRIORITY_DEFAULT ). It is also possible to use a non-default main
  * context set up using g_main_context_push_thread_default() (before
  * one had to create a bus watch source and attach it to the desired main
  * context 'manually').
@@ -1043,7 +1033,7 @@ gst_bus_add_watch_full (GstBus * bus, gint priority,
  * There can only be a single bus watch per bus, you must remove it before you
  * can set a new one.
  *
- * The bus watch will only work if a GLib main loop is being run.
+ * The bus watch will only work if a #GMainLoop is being run.
  *
  * The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
  * from @func. If the watch was added to the default main context it is also
@@ -1052,8 +1042,6 @@ gst_bus_add_watch_full (GstBus * bus, gint priority,
  * The bus watch will take its own reference to the @bus, so it is safe to unref
  * @bus using gst_object_unref() after setting the bus watch.
  *
- * MT safe.
- *
  * Returns: The event source id or 0 if @bus already got an event source.
  */
 guint
@@ -1083,7 +1071,7 @@ gst_bus_remove_watch (GstBus * bus)
 
   GST_OBJECT_LOCK (bus);
 
-  if (bus->priv->signal_watch == NULL) {
+  if (bus->priv->gsource == NULL) {
     GST_ERROR_OBJECT (bus, "no bus watch was present");
     goto error;
   }
@@ -1094,9 +1082,8 @@ gst_bus_remove_watch (GstBus * bus)
     goto error;
   }
 
-  source =
-      bus->priv->signal_watch ? g_source_ref (bus->priv->signal_watch) : NULL;
-  bus->priv->signal_watch = NULL;
+  source = g_source_ref (bus->priv->gsource);
+  bus->priv->gsource = NULL;
 
   GST_OBJECT_UNLOCK (bus);
 
@@ -1184,7 +1171,7 @@ poll_destroy_timeout (GstBusPollData * poll_data)
  * @timeout: the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll
  * indefinitely.
  *
- * Poll the bus for messages. Will block while waiting for messages to come.
+ * Polls the bus for messages. Will block while waiting for messages to come.
  * You can specify a maximum time to poll with the @timeout parameter. If
  * @timeout is negative, this function will block indefinitely.
  *
@@ -1198,7 +1185,7 @@ poll_destroy_timeout (GstBusPollData * poll_data)
  * signal handler will see the same messages that this function sees -- neither
  * will steal messages from the other.
  *
- * This function will run a main loop from the default main context when
+ * This function will run a #GMainLoop from the default main context when
  * polling.
  *
  * You should never use this function, since it is pure evil. This is
@@ -1219,9 +1206,7 @@ poll_destroy_timeout (GstBusPollData * poll_data)
  * from there.
  *
  * Returns: (transfer full) (nullable): the message that was received,
- *     or %NULL if the poll timed out. The message is taken from the
- *     bus and needs to be unreffed with gst_message_unref() after
- *     usage.
+ *     or %NULL if the poll timed out.
  */
 GstMessage *
 gst_bus_poll (GstBus * bus, GstMessageType events, GstClockTime timeout)
@@ -1304,10 +1289,10 @@ gst_bus_async_signal_func (GstBus * bus, GstMessage * message, gpointer data)
  * @message: the #GstMessage received
  * @data: user data
  *
- * A helper GstBusSyncHandler that can be used to convert all synchronous
+ * A helper #GstBusSyncHandler that can be used to convert all synchronous
  * messages into signals.
  *
- * Returns: GST_BUS_PASS
+ * Returns: %GST_BUS_PASS
  */
 GstBusSyncReply
 gst_bus_sync_signal_handler (GstBus * bus, GstMessage * message, gpointer data)
@@ -1342,9 +1327,7 @@ gst_bus_sync_signal_handler (GstBus * bus, GstMessage * message, gpointer data)
  * signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback
  * to pop messages off the bus *asynchronously*. The sync-message signal
  * comes from the thread of whatever object posted the message; the "message"
- * signal is marshalled to the main thread via the main loop.
- *
- * MT safe.
+ * signal is marshalled to the main thread via the #GMainLoop.
  */
 void
 gst_bus_enable_sync_message_emission (GstBus * bus)
@@ -1370,8 +1353,6 @@ gst_bus_enable_sync_message_emission (GstBus * bus)
  * "cancelled" by calling this function. In this way the semantics are exactly
  * the same as gst_object_ref() that which calls enable should also call
  * disable.
- *
- * MT safe.
  */
 void
 gst_bus_disable_sync_message_emission (GstBus * bus)
@@ -1396,7 +1377,7 @@ gst_bus_disable_sync_message_emission (GstBus * bus)
  * main context 'manually').
  *
  * After calling this statement, the bus will emit the "message" signal for each
- * message posted on the bus when the main loop is running.
+ * message posted on the bus when the #GMainLoop is running.
  *
  * This function may be called multiple times. To clean up, the caller is
  * responsible for calling gst_bus_remove_signal_watch() as many times as this
@@ -1404,8 +1385,6 @@ gst_bus_disable_sync_message_emission (GstBus * bus)
  *
  * There can only be a single bus watch per bus, you must remove any signal
  * watch before you can set another type of watch.
- *
- * MT safe.
  */
 void
 gst_bus_add_signal_watch_full (GstBus * bus, gint priority)
@@ -1418,13 +1397,13 @@ gst_bus_add_signal_watch_full (GstBus * bus, gint priority)
   if (bus->priv->num_signal_watchers > 0)
     goto done;
 
-  /* this should not fail because the counter above takes care of it */
-  g_assert (!bus->priv->signal_watch);
+  if (bus->priv->gsource)
+    goto has_gsource;
 
   gst_bus_add_watch_full_unlocked (bus, priority, gst_bus_async_signal_func,
       NULL, NULL);
 
-  if (G_UNLIKELY (!bus->priv->signal_watch))
+  if (G_UNLIKELY (!bus->priv->gsource))
     goto add_failed;
 
 done:
@@ -1441,6 +1420,12 @@ add_failed:
     GST_OBJECT_UNLOCK (bus);
     return;
   }
+has_gsource:
+  {
+    g_critical ("Bus %s already has a GSource watch", GST_OBJECT_NAME (bus));
+    GST_OBJECT_UNLOCK (bus);
+    return;
+  }
 }
 
 /**
@@ -1448,7 +1433,7 @@ add_failed:
  * @bus: a #GstBus on which you want to receive the "message" signal
  *
  * Adds a bus signal watch to the default main context with the default priority
- * (%G_PRIORITY_DEFAULT). It is also possible to use a non-default
+ * ( %G_PRIORITY_DEFAULT ). It is also possible to use a non-default
  * main context set up using g_main_context_push_thread_default() (before
  * one had to create a bus watch source and attach it to the desired main
  * context 'manually').
@@ -1459,8 +1444,6 @@ add_failed:
  * This function may be called multiple times. To clean up, the caller is
  * responsible for calling gst_bus_remove_signal_watch() as many times as this
  * function is called.
- *
- * MT safe.
  */
 void
 gst_bus_add_signal_watch (GstBus * bus)
@@ -1473,8 +1456,6 @@ gst_bus_add_signal_watch (GstBus * bus)
  * @bus: a #GstBus you previously added a signal watch to
  *
  * Removes a signal watch previously added with gst_bus_add_signal_watch().
- *
- * MT safe.
  */
 void
 gst_bus_remove_signal_watch (GstBus * bus)
@@ -1494,12 +1475,12 @@ gst_bus_remove_signal_watch (GstBus * bus)
   if (bus->priv->num_signal_watchers > 0)
     goto done;
 
-  GST_DEBUG_OBJECT (bus, "removing signal watch %u",
-      g_source_get_id (bus->priv->signal_watch));
+  GST_DEBUG_OBJECT (bus, "removing gsource %u",
+      g_source_get_id (bus->priv->gsource));
 
-  source =
-      bus->priv->signal_watch ? g_source_ref (bus->priv->signal_watch) : NULL;
-  bus->priv->signal_watch = NULL;
+  g_assert (bus->priv->gsource);
+  source = g_source_ref (bus->priv->gsource);
+  bus->priv->gsource = NULL;
 
 done:
   GST_OBJECT_UNLOCK (bus);
diff --git a/gst/gstbus.h b/gst/gstbus.h
index 301b4ef..d8e7583 100644
--- a/gst/gstbus.h
+++ b/gst/gstbus.h
@@ -78,7 +78,7 @@ typedef enum
  * into the bus. This function is mostly used internally. Only one sync handler
  * can be attached to a given bus.
  *
- * If the handler returns GST_BUS_DROP, it should unref the message, else the
+ * If the handler returns %GST_BUS_DROP, it should unref the message, else the
  * message should not be unreffed by the sync handler.
  *
  * Returns: #GstBusSyncReply stating what to do with the message
@@ -98,8 +98,8 @@ typedef GstBusSyncReply (*GstBusSyncHandler)    (GstBus * bus, GstMessage * mess
  * The message passed to the function will be unreffed after execution of this
  * function so it should not be freed in the function.
  *
- * Note that this function is used as a GSourceFunc which means that returning
- * %FALSE will remove the GSource from the mainloop.
+ * Note that this function is used as a #GSourceFunc which means that returning
+ * %FALSE will remove the #GSource from the mainloop.
  *
  * Returns: %FALSE if the event source should be removed.
  */
@@ -107,6 +107,7 @@ typedef gboolean        (*GstBusFunc)           (GstBus * bus, GstMessage * mess
 
 /**
  * GstBus:
+ * @object: the parent structure
  *
  * The opaque #GstBus data structure.
  */
@@ -120,12 +121,34 @@ struct _GstBus
   gpointer _gst_reserved[GST_PADDING];
 };
 
+/**
+ * GstBusClass:
+ * @parent_class: the parent class structure
+ *
+ * GStreamer bus class.
+ */
 struct _GstBusClass
 {
   GstObjectClass parent_class;
 
   /* signals */
+
+  /**
+   * GstBusClass::message:
+   * @bus: the #GstBus
+   * @message: the message that has been posted asynchronously
+   *
+   * A message has been posted on the bus.
+   */
   void (*message)       (GstBus *bus, GstMessage *message);
+
+  /**
+   * GstBusClass::sync_message:
+   * @bus: the #GstBus
+   * @message: the message that has been posted synchronously
+   *
+   * A message has been posted on the bus.
+   */
   void (*sync_message)  (GstBus *bus, GstMessage *message);
 
   /*< private >*/
diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index 818404d..28a7dfe 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -35,7 +35,8 @@
  * handle or produce at runtime.
  *
  * A #GstCaps can be constructed with the following code fragment:
- * |[<!-- language="C" -->
+ *
+ * ``` C
  *   GstCaps *caps = gst_caps_new_simple ("video/x-raw",
  *      "format", G_TYPE_STRING, "I420",
  *      "framerate", GST_TYPE_FRACTION, 25, 1,
@@ -43,18 +44,18 @@
  *      "width", G_TYPE_INT, 320,
  *      "height", G_TYPE_INT, 240,
  *      NULL);
- * ]|
+ * ```
  *
- * A #GstCaps is fixed when it has no properties with ranges or lists. Use
+ * A #GstCaps is fixed when it has no fields with ranges or lists. Use
  * gst_caps_is_fixed() to test for fixed caps. Fixed caps can be used in a
  * caps event to notify downstream elements of the current media type.
  *
  * Various methods exist to work with the media types such as subtracting
  * or intersecting.
  *
- * Be aware that the current #GstCaps / #GstStructure serialization into string
- * has limited support for nested #GstCaps / #GstStructure fields. It can only
- * support one level of nesting. Using more levels will lead to unexpected
+ * Be aware that until 1.20 the #GstCaps / #GstStructure serialization into string
+ * had limited support for nested #GstCaps / #GstStructure fields. It could only
+ * support one level of nesting. Using more levels would lead to unexpected
  * behavior when using serialization features, such as gst_caps_to_string() or
  * gst_value_serialize() and their counterparts.
  */
@@ -246,7 +247,6 @@ gst_caps_init (GstCaps * caps)
  * Creates a new #GstCaps that is empty.  That is, the returned
  * #GstCaps contains no media formats.
  * The #GstCaps is guaranteed to be writable.
- * Caller is responsible for unreffing the returned caps.
  *
  * Returns: (transfer full): the new #GstCaps
  */
@@ -290,7 +290,6 @@ gst_caps_new_any (void)
  *
  * Creates a new #GstCaps that contains one #GstStructure with name
  * @media_type.
- * Caller is responsible for unreffing the returned caps.
  *
  * Returns: (transfer full): the new #GstCaps
  */
@@ -301,6 +300,16 @@ gst_caps_new_empty_simple (const char *media_type)
   GstStructure *structure;
 
   caps = gst_caps_new_empty ();
+  if (strcmp ("ANY", media_type) == 0) {
+    g_warning
+        ("media_type should not be ANY. Please consider using `gst_caps_new_any` or `gst_caps_from_string`.");
+  }
+  if (strcmp ("", media_type) == 0 || strcmp ("EMPTY", media_type) == 0
+      || strcmp ("NONE", media_type) == 0) {
+    g_warning
+        ("media_type should not be `%s`. Please consider using `gst_caps_new_empty` or `gst_caps_from_string`.",
+        media_type);
+  }
   structure = gst_structure_new_empty (media_type);
   if (structure)
     gst_caps_append_structure_unchecked (caps, structure, NULL);
@@ -317,7 +326,6 @@ gst_caps_new_empty_simple (const char *media_type)
  * Creates a new #GstCaps that contains one #GstStructure.  The
  * structure is defined by the arguments, which have the same format
  * as gst_structure_new().
- * Caller is responsible for unreffing the returned caps.
  *
  * Returns: (transfer full): the new #GstCaps
  */
@@ -400,10 +408,9 @@ G_DEFINE_POINTER_TYPE (GstStaticCaps, gst_static_caps);
  *
  * Converts a #GstStaticCaps to a #GstCaps.
  *
- * Returns: (transfer full) (nullable): a pointer to the #GstCaps. Unref
- *     after usage. Since the core holds an additional ref to the
- *     returned caps, use gst_caps_make_writable() on the returned caps
- *     to modify it.
+ * Returns: (transfer full) (nullable): a pointer to the #GstCaps. Since the
+ *     core holds an additional ref to the returned caps, use
+ *     gst_caps_make_writable() on the returned caps to modify it.
  */
 GstCaps *
 gst_static_caps_get (GstStaticCaps * static_caps)
@@ -463,7 +470,7 @@ no_string:
  * gst_static_caps_cleanup:
  * @static_caps: the #GstStaticCaps to clean
  *
- * Clean up the cached caps contained in @static_caps.
+ * Cleans up the cached caps contained in @static_caps.
  */
 void
 gst_static_caps_cleanup (GstStaticCaps * static_caps)
@@ -700,7 +707,7 @@ gst_caps_append_structure_full (GstCaps * caps, GstStructure * structure,
  * @caps: the #GstCaps to remove from
  * @idx: Index of the structure to remove
  *
- * removes the structure with the given index from the list of structures
+ * Removes the structure with the given index from the list of structures
  * contained in @caps.
  */
 void
@@ -721,7 +728,7 @@ gst_caps_remove_structure (GstCaps * caps, guint idx)
  * @caps: (transfer full): the #GstCaps to merge into
  * @structure: (transfer full): the #GstStructure to merge
  *
- * Appends @structure to @caps if its not already expressed by @caps.
+ * Appends @structure to @caps if it is not already expressed by @caps.
  *
  * Returns: (transfer full): the merged caps.
  */
@@ -859,11 +866,10 @@ gst_caps_get_size (const GstCaps * caps)
  * @caps: a #GstCaps
  * @index: the index of the structure
  *
- * Finds the structure in @caps that has the index @index, and
- * returns it.
+ * Finds the structure in @caps at @index, and returns it.
  *
- * WARNING: This function takes a const GstCaps *, but returns a
- * non-const GstStructure *.  This is for programming convenience --
+ * WARNING: This function takes a `const GstCaps *`, but returns a
+ * non-const `GstStructure *`.  This is for programming convenience --
  * the caller should be aware that structures inside a constant
  * #GstCaps should not be modified. However, if you know the caps
  * are writable, either because you have just copied them or made
@@ -871,9 +877,6 @@ gst_caps_get_size (const GstCaps * caps)
  * structure returned in the usual way, e.g. with functions like
  * gst_structure_set().
  *
- * You do not need to free or unref the structure returned, it
- * belongs to the #GstCaps.
- *
  * Returns: (transfer none): a pointer to the #GstStructure corresponding
  *     to @index
  */
@@ -891,21 +894,17 @@ gst_caps_get_structure (const GstCaps * caps, guint index)
  * @caps: a #GstCaps
  * @index: the index of the structure
  *
- * Finds the features in @caps that has the index @index, and
- * returns it.
+ * Finds the features in @caps at @index, and returns it.
  *
- * WARNING: This function takes a const GstCaps *, but returns a
- * non-const GstCapsFeatures *.  This is for programming convenience --
- * the caller should be aware that structures inside a constant
+ * WARNING: This function takes a `const GstCaps *`, but returns a
+ * non-const `GstCapsFeatures *`.  This is for programming convenience --
+ * the caller should be aware that features inside a constant
  * #GstCaps should not be modified. However, if you know the caps
  * are writable, either because you have just copied them or made
  * them writable with gst_caps_make_writable(), you may modify the
  * features returned in the usual way, e.g. with functions like
  * gst_caps_features_add().
  *
- * You do not need to free or unref the structure returned, it
- * belongs to the #GstCaps.
- *
  * Returns: (transfer none) (nullable): a pointer to the #GstCapsFeatures
  *     corresponding to @index
  *
@@ -950,7 +949,7 @@ gst_caps_get_features (const GstCaps * caps, guint index)
  * @index: the index of the structure
  * @features: (allow-none) (transfer full): the #GstCapsFeatures to set
  *
- * Sets the #GstCapsFeatures @features for the structure at @index.
+ * Sets the @features for the structure at @index.
  *
  * Since: 1.2
  */
@@ -982,7 +981,7 @@ gst_caps_set_features (GstCaps * caps, guint index, GstCapsFeatures * features)
  * @caps: a #GstCaps
  * @features: (allow-none) (transfer full): the #GstCapsFeatures to set
  *
- * Sets the #GstCapsFeatures @features for all the structures of @caps.
+ * Sets the @features for all the structures of @caps.
  *
  * Since: 1.16
  */
@@ -1056,7 +1055,7 @@ gst_caps_copy_nth (const GstCaps * caps, guint nth)
  * gst_caps_truncate:
  * @caps: (transfer full): the #GstCaps to truncate
  *
- * Discard all but the first structure from @caps. Useful when
+ * Discards all but the first structure from @caps. Useful when
  * fixating.
  *
  * This function takes ownership of @caps and will call gst_caps_make_writable()
@@ -1064,7 +1063,7 @@ gst_caps_copy_nth (const GstCaps * caps, guint nth)
  * additional reference to it with gst_caps_ref().
  *
  * Note that it is not guaranteed that the returned caps have exactly one
- * structure. If @caps is any or empty caps then then returned caps will be
+ * structure. If @caps is any or empty caps then the returned caps will be
  * the same and contain no structure at all.
  *
  * Returns: (transfer full): truncated caps
@@ -2005,7 +2004,7 @@ gst_caps_normalize_foreach (GQuark field_id, const GValue * value, gpointer ptr)
  *
  * Returns a #GstCaps that represents the same set of formats as
  * @caps, but contains no lists.  Each list is expanded into separate
- * @GstStructures.
+ * #GstStructure.
  *
  * This function takes ownership of @caps and will call gst_caps_make_writable()
  * on it so you must not use @caps afterwards unless you keep an additional
@@ -2249,10 +2248,10 @@ gst_caps_simplify (GstCaps * caps)
  * reference to it with gst_caps_ref().
  *
  * Note that it is not guaranteed that the returned caps have exactly one
- * structure. If @caps are empty caps then then returned caps will be
+ * structure. If @caps are empty caps then the returned caps will be
  * the empty too and contain no structure at all.
  *
- * Calling this function with any caps is not allowed.
+ * Calling this function with ANY caps is not allowed.
  *
  * Returns: (transfer full): the fixated caps
  */
@@ -2292,29 +2291,13 @@ gst_caps_fixate (GstCaps * caps)
 
 /* utility */
 
-/**
- * gst_caps_to_string:
- * @caps: a #GstCaps
- *
- * Converts @caps to a string representation.  This string representation
- * can be converted back to a #GstCaps by gst_caps_from_string().
- *
- * For debugging purposes its easier to do something like this:
- * |[<!-- language="C" -->
- * GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
- * ]|
- * This prints the caps in human readable form.
- *
- * The current implementation of serialization will lead to unexpected results
- * when there are nested #GstCaps / #GstStructure deeper than one level.
- *
- * Returns: (transfer full): a newly allocated string representing @caps.
- */
-gchar *
-gst_caps_to_string (const GstCaps * caps)
+static gchar *
+caps_serialize (const GstCaps * caps, GstSerializeFlags flags)
 {
   guint i, slen, clen;
   GString *s;
+  gboolean nested_structs_brackets =
+      !(flags & GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
 
   /* NOTE:  This function is potentially called by the debug system,
    * so any calls to gst_log() (and GST_DEBUG(), GST_LOG(), etc.)
@@ -2367,7 +2350,8 @@ gst_caps_to_string (const GstCaps * caps)
       priv_gst_caps_features_append_to_gstring (features, s);
       g_string_append_c (s, ')');
     }
-    priv_gst_structure_append_to_gstring (structure, s);
+    priv_gst_structure_append_to_gstring (structure, s,
+        nested_structs_brackets);
   }
   if (s->len && s->str[s->len - 1] == ';') {
     /* remove latest ';' */
@@ -2376,6 +2360,57 @@ gst_caps_to_string (const GstCaps * caps)
   return g_string_free (s, FALSE);
 }
 
+/**
+ * gst_caps_to_string:
+ * @caps: a #GstCaps
+ *
+ * Converts @caps to a string representation.  This string representation
+ * can be converted back to a #GstCaps by gst_caps_from_string().
+ *
+ * For debugging purposes its easier to do something like this:
+ *
+ * ``` C
+ * GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
+ * ```
+ *
+ * This prints the caps in human readable form.
+ *
+ * The implementation of serialization up to 1.20 would lead to unexpected results
+ * when there were nested #GstCaps / #GstStructure deeper than one level.
+ *
+ * Returns: (transfer full): a newly allocated string representing @caps.
+ */
+gchar *
+gst_caps_to_string (const GstCaps * caps)
+{
+  return caps_serialize (caps, GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
+}
+
+/**
+ * gst_caps_serialize:
+ * @caps: a #GstCaps
+ * @flags: a #GstSerializeFlags
+ *
+ * Converts @caps to a string representation.  This string representation can be
+ * converted back to a #GstCaps by gst_caps_from_string().
+ *
+ * This prints the caps in human readable form.
+ *
+ * This version of the caps serialization function introduces support for nested
+ * structures and caps but the resulting strings won't be parsable with
+ * GStreamer prior to 1.20 unless #GST_SERIALIZE_FLAG_BACKWARD_COMPAT is passed
+ * as @flag.
+ *
+ * Returns: (transfer full): a newly allocated string representing @caps.
+ *
+ * Since: 1.20
+ */
+gchar *
+gst_caps_serialize (const GstCaps * caps, GstSerializeFlags flags)
+{
+  return caps_serialize (caps, flags);
+}
+
 static gboolean
 gst_caps_from_string_inplace (GstCaps * caps, const gchar * string)
 {
@@ -2401,7 +2436,7 @@ gst_caps_from_string_inplace (GstCaps * caps, const gchar * string)
       break;
     }
 
-    if (!priv_gst_structure_parse_name (s, &s, &end, &next)) {
+    if (!priv_gst_structure_parse_name (s, &s, &end, &next, FALSE)) {
       g_free (copy);
       return FALSE;
     }
@@ -2480,8 +2515,8 @@ gst_caps_from_string_inplace (GstCaps * caps, const gchar * string)
  *
  * Converts @caps from a string representation.
  *
- * The current implementation of serialization will lead to unexpected results
- * when there are nested #GstCaps / #GstStructure deeper than one level.
+ * The implementation of serialization up to 1.20 would lead to unexpected results
+ * when there were nested #GstCaps / #GstStructure deeper than one level.
  *
  * Returns: (transfer full) (nullable): a newly allocated #GstCaps
  */
@@ -2490,7 +2525,7 @@ gst_caps_from_string (const gchar * string)
 {
   GstCaps *caps;
 
-  g_return_val_if_fail (string, FALSE);
+  g_return_val_if_fail (string, NULL);
 
   caps = gst_caps_new_empty ();
   if (gst_caps_from_string_inplace (caps, string)) {
@@ -2673,9 +2708,7 @@ gst_caps_filter_and_map_in_place (GstCaps * caps, GstCapsFilterMapFunc func,
  * followed by a gst_caps_make_writable(). If you only want to hold on to a
  * reference to the data, you should use gst_caps_ref().
  *
- * When you are finished with the caps, call gst_caps_unref() on it.
- *
- * Returns: the new #GstCaps
+ * Returns: (transfer full): the new #GstCaps
  */
 GstCaps *(gst_caps_copy) (const GstCaps * caps)
 {
@@ -2686,7 +2719,7 @@ GstCaps *(gst_caps_copy) (const GstCaps * caps)
  * gst_caps_ref: (skip)
  * @caps: the #GstCaps to reference
  *
- * Add a reference to a #GstCaps object.
+ * Adds a reference to a #GstCaps object.
  *
  * From this point on, until the caller calls gst_caps_unref() or
  * gst_caps_make_writable(), it is guaranteed that the caps object will not
@@ -2707,7 +2740,7 @@ gst_caps_ref (GstCaps * caps)
  * gst_caps_unref: (skip)
  * @caps: a #GstCaps.
  *
- * Unref a #GstCaps and and free all its structures and the
+ * Unrefs a #GstCaps and frees all its structures and the
  * structures' values when the refcount reaches 0.
  */
 void
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index cf67480..d031b6f 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -55,23 +55,25 @@ typedef enum {
  *
  * Modes of caps intersection
  *
- * @GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps
+ * %GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps
  * by iterating on the caps' structures as the following matrix shows:
- * |[
+ *
+ * ```
  *          caps1
  *       +-------------
  *       | 1  2  4  7
  * caps2 | 3  5  8 10
  *       | 6  9 11 12
- * ]|
+ * ```
+ *
  * Used when there is no explicit precedence of one caps over the other. e.g.
  * tee's sink pad getcaps function, it will probe its src pad peers' for their
  * caps and intersect them with this mode.
  *
- * @GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve
+ * %GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve
  * another element's caps priority order when intersecting with its own caps.
- * Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
- * would be [A, B], maintaining the first caps priority on the intersection.
+ * Example: If caps1 is `[A, B, C]` and caps2 is `[E, B, D, A]`, the result
+ * would be `[A, B]`, maintaining the first caps priority on the intersection.
  */
 typedef enum {
   GST_CAPS_INTERSECT_ZIG_ZAG            =  0,
@@ -114,8 +116,7 @@ typedef enum {
  * GST_CAPS_IS_SIMPLE:
  * @caps: the #GstCaps instance to check
  *
- * Convenience macro that checks if the number of structures in the given caps
- * is exactly one.
+ * Checks if the number of structures in the given caps is exactly one.
  */
 #define GST_CAPS_IS_SIMPLE(caps) (gst_caps_get_size(caps) == 1)
 
@@ -143,7 +144,7 @@ GST_API GstCaps * _gst_caps_none;
  * GST_CAPS_FLAGS:
  * @caps: a #GstCaps.
  *
- * A flags word containing #GstCapsFlags flags set on this caps.
+ * Gets a flags word containing #GstCapsFlags flags set on this caps.
  */
 #define GST_CAPS_FLAGS(caps)                    GST_MINI_OBJECT_FLAGS(caps)
 
@@ -152,14 +153,14 @@ GST_API GstCaps * _gst_caps_none;
  * GST_CAPS_REFCOUNT:
  * @caps: a #GstCaps
  *
- * Get access to the reference count field of the caps
+ * Gives access to the reference count field of the caps
  */
 #define GST_CAPS_REFCOUNT(caps)                 GST_MINI_OBJECT_REFCOUNT(caps)
 /**
  * GST_CAPS_REFCOUNT_VALUE:
  * @caps: a #GstCaps
  *
- * Get the reference count value of the caps.
+ * Gets the reference count value of the caps.
  */
 #define GST_CAPS_REFCOUNT_VALUE(caps)           GST_MINI_OBJECT_REFCOUNT_VALUE(caps)
 
@@ -291,7 +292,7 @@ struct _GstCaps {
  * @caps: the cached #GstCaps
  * @string: a string describing a caps
  *
- * Datastructure to initialize #GstCaps from a string description usually
+ * Data structure to initialize #GstCaps from a string description usually
  * used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
  * instantiate a #GstCaps.
  */
@@ -529,6 +530,8 @@ GstCaps *         gst_caps_fixate                  (GstCaps *caps) G_GNUC_WARN_U
 
 GST_API
 gchar *           gst_caps_to_string               (const GstCaps *caps) G_GNUC_MALLOC;
+GST_API
+gchar *           gst_caps_serialize               (const GstCaps *caps, GstSerializeFlags flags) G_GNUC_MALLOC;
 
 GST_API
 GstCaps *         gst_caps_from_string             (const gchar   *string) G_GNUC_WARN_UNUSED_RESULT;
diff --git a/gst/gstcapsfeatures.c b/gst/gstcapsfeatures.c
index d6d0b1e..243837f 100644
--- a/gst/gstcapsfeatures.c
+++ b/gst/gstcapsfeatures.c
@@ -40,8 +40,8 @@
  *
  * Examples for caps features would be the requirement of a specific #GstMemory
  * types or the requirement of having a specific #GstMeta on the buffer. Features
- * are given as a string of the format "memory:GstMemoryTypeName" or
- * "meta:GstMetaAPIName".
+ * are given as a string of the format `memory:GstMemoryTypeName` or
+ * `meta:GstMetaAPIName`.
  *
  * Since: 1.2
  */
@@ -171,8 +171,6 @@ gst_caps_feature_name_is_valid (const gchar * feature)
  *
  * Creates a new, empty #GstCapsFeatures.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, empty #GstCapsFeatures
  *
  * Since: 1.2
@@ -200,8 +198,6 @@ gst_caps_features_new_empty (void)
  * to any other #GstCapsFeatures but caps with these are
  * unfixed.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, ANY #GstCapsFeatures
  *
  * Since: 1.2
@@ -217,6 +213,27 @@ gst_caps_features_new_any (void)
   return features;
 }
 
+/**
+ * gst_caps_features_new_single:
+ * @feature: The feature
+ *
+ * Creates a new #GstCapsFeatures with a single feature.
+ *
+ * Returns: (transfer full): a new #GstCapsFeatures
+ *
+ * Since: 1.20
+ */
+GstCapsFeatures *
+gst_caps_features_new_single (const gchar * feature)
+{
+  GstCapsFeatures *features;
+  g_return_val_if_fail (feature != NULL, NULL);
+
+  features = gst_caps_features_new_empty ();
+  gst_caps_features_add (features, feature);
+  return features;
+}
+
 /**
  * gst_caps_features_new:
  * @feature1: name of first feature to set
@@ -225,8 +242,6 @@ gst_caps_features_new_any (void)
  * Creates a new #GstCapsFeatures with the given features.
  * The last argument must be %NULL.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, empty #GstCapsFeatures
  *
  * Since: 1.2
@@ -253,8 +268,6 @@ gst_caps_features_new (const gchar * feature1, ...)
  *
  * Creates a new #GstCapsFeatures with the given features.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, empty #GstCapsFeatures
  *
  * Since: 1.2
@@ -284,8 +297,6 @@ gst_caps_features_new_valist (const gchar * feature1, va_list varargs)
  * Creates a new #GstCapsFeatures with the given features.
  * The last argument must be 0.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, empty #GstCapsFeatures
  *
  * Since: 1.2
@@ -312,8 +323,6 @@ gst_caps_features_new_id (GQuark feature1, ...)
  *
  * Creates a new #GstCapsFeatures with the given features.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new, empty #GstCapsFeatures
  *
  * Since: 1.2
@@ -343,7 +352,7 @@ gst_caps_features_new_id_valist (GQuark feature1, va_list varargs)
  * Sets the parent_refcount field of #GstCapsFeatures. This field is used to
  * determine whether a caps features is mutable or not. This function should only be
  * called by code implementing parent objects of #GstCapsFeatures, as described in
- * the MT Refcounting section of the design documents.
+ * [the MT refcounting design document](additional/design/MT-refcounting.md).
  *
  * Returns: %TRUE if the parent refcount could be set.
  *
@@ -380,8 +389,6 @@ gst_caps_features_set_parent_refcount (GstCapsFeatures * features,
  *
  * Duplicates a #GstCapsFeatures and all its values.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full): a new #GstCapsFeatures.
  *
  * Since: 1.2
@@ -434,15 +441,14 @@ gst_caps_features_free (GstCapsFeatures * features)
  * Converts @features to a human-readable string representation.
  *
  * For debugging purposes its easier to do something like this:
- * |[<!-- language="C" -->
+ *
+ * ``` C
  * GST_LOG ("features is %" GST_PTR_FORMAT, features);
- * ]|
- * This prints the features in human readable form.
+ * ```
  *
- * Free-function: g_free
+ * This prints the features in human readable form.
  *
  * Returns: (transfer full): a pointer to string allocated by g_malloc().
- *     g_free() after usage.
  *
  * Since: 1.2
  */
@@ -489,11 +495,8 @@ priv_gst_caps_features_append_to_gstring (const GstCapsFeatures * features,
  *
  * Creates a #GstCapsFeatures from a string representation.
  *
- * Free-function: gst_caps_features_free
- *
  * Returns: (transfer full) (nullable): a new #GstCapsFeatures or
- *     %NULL when the string could not be parsed. Free with
- *     gst_caps_features_free() after use.
+ *     %NULL when the string could not be parsed.
  *
  * Since: 1.2
  */
@@ -649,7 +652,7 @@ gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i)
  * @features: a #GstCapsFeatures.
  * @feature: a feature
  *
- * Check if @features contains @feature.
+ * Checks if @features contains @feature.
  *
  * Returns: %TRUE if @features contains @feature.
  *
@@ -671,7 +674,7 @@ gst_caps_features_contains (const GstCapsFeatures * features,
  * @features: a #GstCapsFeatures.
  * @feature: a feature
  *
- * Check if @features contains @feature.
+ * Checks if @features contains @feature.
  *
  * Returns: %TRUE if @features contains @feature.
  *
@@ -705,7 +708,7 @@ gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature)
  * @features1: a #GstCapsFeatures.
  * @features2: a #GstCapsFeatures.
  *
- * Check if @features1 and @features2 are equal.
+ * Checks if @features1 and @features2 are equal.
  *
  * Returns: %TRUE if @features1 and @features2 are equal.
  *
@@ -751,7 +754,7 @@ gst_caps_features_is_equal (const GstCapsFeatures * features1,
  * gst_caps_features_is_any:
  * @features: a #GstCapsFeatures.
  *
- * Check if @features is %GST_CAPS_FEATURES_ANY.
+ * Checks if @features is %GST_CAPS_FEATURES_ANY.
  *
  * Returns: %TRUE if @features is %GST_CAPS_FEATURES_ANY.
  *
diff --git a/gst/gstcapsfeatures.h b/gst/gstcapsfeatures.h
index 97babb2..cdf7755 100644
--- a/gst/gstcapsfeatures.h
+++ b/gst/gstcapsfeatures.h
@@ -58,7 +58,10 @@ GST_API
 GstCapsFeatures * gst_caps_features_new_any (void);
 
 GST_API
-GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
+GstCapsFeatures * gst_caps_features_new_single (const gchar *feature) G_GNUC_MALLOC;
+
+GST_API
+GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...) G_GNUC_NULL_TERMINATED;
 
 GST_API
 GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
diff --git a/gst/gstchildproxy.c b/gst/gstchildproxy.c
index 9ac97d3..fc4f742 100644
--- a/gst/gstchildproxy.c
+++ b/gst/gstchildproxy.c
@@ -35,9 +35,9 @@
  * By implementing this interface the child properties can be accessed from the
  * parent element by using gst_child_proxy_get() and gst_child_proxy_set().
  *
- * Property names are written as "child-name::property-name". The whole naming
- * scheme is recursive. Thus "child1::child2::property" is valid too, if
- * "child1" and "child2" implement the #GstChildProxy interface.
+ * Property names are written as `child-name::property-name`. The whole naming
+ * scheme is recursive. Thus `child1::child2::property` is valid too, if
+ * `child1` and `child2` implement the #GstChildProxy interface.
  */
 
 #include "gst_private.h"
@@ -55,6 +55,69 @@ enum
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
+/**
+ * gst_child_proxy_get_child_by_name_recurse:
+ * @child_proxy: the parent object to get the child from
+ * @name: the full-path child's name
+ *
+ * Looks up a child element by the given full-path name.
+ *
+ * Similar to gst_child_proxy_get_child_by_name(), this method
+ * searches and returns a child given a name. The difference is that
+ * this method allows a hierarchical path in the form of
+ * child1::child2::child3. In the later example this method would
+ * return a reference to child3, if found. The name should be made of
+ * element names only and should not contain any property names.
+ *
+ * Returns: (transfer full) (nullable): the child object or %NULL if
+ *     not found.
+ *
+ * Since: 1.22
+ */
+GObject *
+gst_child_proxy_get_child_by_name_recurse (GstChildProxy * child_proxy,
+    const gchar * name)
+{
+  gchar **names = NULL, **current = NULL;
+  GObject *obj = NULL, *next = NULL;
+
+  g_return_val_if_fail (child_proxy != NULL, NULL);
+  g_return_val_if_fail (name != NULL, NULL);
+
+  current = names = g_strsplit (name, "::", -1);
+  if (current[0]) {
+    obj = G_OBJECT (g_object_ref (child_proxy));
+  }
+
+  /* walk through the children hierarchy until the requested one is found */
+  while (current[0]) {
+
+    /* Cannot ask for the child of a non-childproxy */
+    if (!GST_IS_CHILD_PROXY (obj)) {
+      gst_object_unref (obj);
+      next = NULL;
+      break;
+    }
+
+    next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (obj),
+        current[0]);
+    gst_object_unref (obj);
+
+    /* The child does not exist */
+    if (!next) {
+      GST_INFO ("Unable to find child %s", current[0]);
+      break;
+    }
+
+    obj = next;
+    current++;
+  }
+
+  g_strfreev (names);
+
+  return next;
+}
+
 static GObject *
 gst_child_proxy_default_get_child_by_name (GstChildProxy * parent,
     const gchar * name)
@@ -110,9 +173,7 @@ gst_child_proxy_default_get_child_by_name (GstChildProxy * parent,
  * #GObjects, this methods needs to be overridden.
  *
  * Returns: (transfer full) (nullable): the child object or %NULL if
- *     not found. Unref after usage.
- *
- * MT safe.
+ *     not found.
  */
 GObject *
 gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name)
@@ -137,9 +198,7 @@ gst_child_proxy_get_child_by_name (GstChildProxy * parent, const gchar * name)
  * Fetches a child by its number.
  *
  * Returns: (transfer full) (nullable): the child object or %NULL if
- *     not found (index too high). Unref after usage.
- *
- * MT safe.
+ *     not found (index too high).
  */
 GObject *
 gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index)
@@ -163,8 +222,6 @@ gst_child_proxy_get_child_by_index (GstChildProxy * parent, guint index)
  * Gets the number of child objects this parent contains.
  *
  * Returns: the number of child objects
- *
- * MT safe.
  */
 guint
 gst_child_proxy_get_children_count (GstChildProxy * parent)
@@ -192,65 +249,62 @@ gst_child_proxy_get_children_count (GstChildProxy * parent)
  *
  * Looks up which object and #GParamSpec would be effected by the given @name.
  *
- * MT safe.
- *
  * Returns: %TRUE if @target and @pspec could be found. %FALSE otherwise. In that
  * case the values for @pspec and @target are not modified. Unref @target after
- * usage. For plain GObjects @target is the same as @object.
+ * usage. For plain #GObject @target is the same as @object.
  */
 gboolean
 gst_child_proxy_lookup (GstChildProxy * object, const gchar * name,
     GObject ** target, GParamSpec ** pspec)
 {
-  GObject *obj;
   gboolean res = FALSE;
-  gchar **names, **current;
+  gchar *children = NULL;
+  const gchar *prop = NULL;
+  GObject *child = NULL;
+  static const gchar *separator = "::";
 
   g_return_val_if_fail (GST_IS_CHILD_PROXY (object), FALSE);
   g_return_val_if_fail (name != NULL, FALSE);
 
-  obj = G_OBJECT (g_object_ref (object));
-
-  current = names = g_strsplit (name, "::", -1);
-  /* find the owner of the property */
-  while (current[1]) {
-    GObject *next;
-
-    if (!GST_IS_CHILD_PROXY (obj)) {
-      GST_INFO
-          ("object %s is not a parent, so you cannot request a child by name %s",
-          (GST_IS_OBJECT (obj) ? GST_OBJECT_NAME (obj) : ""), current[0]);
-      break;
+  /* If the requested name does not include a "::" then it is not a
+     child proxy path, but the property name directly */
+  prop = g_strrstr (name, separator);
+  if (!prop) {
+    child = gst_object_ref (G_OBJECT (object));
+    prop = name;
+  } else {
+    /* Skip "::" */
+    prop += 2;
+
+    /* Extract "child1::child2" from "child1::child2::prop" */
+    children = g_strndup (name, prop - name - 2);
+    GST_INFO ("Looking for property %s in %s", prop, children);
+
+    child = gst_child_proxy_get_child_by_name_recurse (object, children);
+    g_free (children);
+
+    if (!child) {
+      GST_INFO ("Child not found");
+      goto out;
     }
-    next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (obj),
-        current[0]);
-    if (!next) {
-      GST_INFO ("no such object %s", current[0]);
-      break;
-    }
-    gst_object_unref (obj);
-    obj = next;
-    current++;
   }
 
-  /* look for psec */
-  if (current[1] == NULL) {
-    GParamSpec *spec =
-        g_object_class_find_property (G_OBJECT_GET_CLASS (obj), current[0]);
-    if (spec == NULL) {
-      GST_INFO ("no param spec named %s", current[0]);
-    } else {
-      if (pspec)
-        *pspec = spec;
-      if (target) {
-        g_object_ref (obj);
-        *target = obj;
-      }
-      res = TRUE;
+  GParamSpec *spec =
+      g_object_class_find_property (G_OBJECT_GET_CLASS (child), prop);
+  if (spec == NULL) {
+    GST_INFO ("no param spec named %s", prop);
+  } else {
+    if (pspec)
+      *pspec = spec;
+    if (target) {
+      g_object_ref (child);
+      *target = child;
     }
+    res = TRUE;
   }
-  gst_object_unref (obj);
-  g_strfreev (names);
+  gst_object_unref (child);
+
+out:
   return res;
 }
 
@@ -272,11 +326,15 @@ gst_child_proxy_get_property (GstChildProxy * object, const gchar * name,
 
   g_return_if_fail (GST_IS_CHILD_PROXY (object));
   g_return_if_fail (name != NULL);
-  g_return_if_fail (G_IS_VALUE (value));
+  g_return_if_fail (value != NULL);
 
   if (!gst_child_proxy_lookup (object, name, &target, &pspec))
     goto not_found;
 
+  if (!G_IS_VALUE (value)) {
+    g_value_init (value, pspec->value_type);
+  }
+
   g_object_get_property (target, pspec->name, value);
   gst_object_unref (target);
 
@@ -484,7 +542,7 @@ gst_child_proxy_set (GstChildProxy * object, const gchar * first_property_name,
  * @child: the newly added child
  * @name: the name of the new child
  *
- * Emits the "child-added" signal.
+ * Emits the #GstChildProxy::child-added signal.
  */
 void
 gst_child_proxy_child_added (GstChildProxy * parent, GObject * child,
@@ -499,7 +557,7 @@ gst_child_proxy_child_added (GstChildProxy * parent, GObject * child,
  * @child: the removed child
  * @name: the name of the old child
  *
- * Emits the "child-removed" signal.
+ * Emits the #GstChildProxy::child-removed signal.
  */
 void
 gst_child_proxy_child_removed (GstChildProxy * parent, GObject * child,
@@ -527,7 +585,7 @@ gst_child_proxy_base_init (gpointer g_class)
     /* create interface signals and properties here. */
     /**
      * GstChildProxy::child-added:
-     * @child_proxy: the #GstChildProxy
+     * @self: the #GstChildProxy
      * @object: the #GObject that was added
      * @name: the name of the new child
      *
@@ -541,7 +599,7 @@ gst_child_proxy_base_init (gpointer g_class)
 
     /**
      * GstChildProxy::child-removed:
-     * @child_proxy: the #GstChildProxy
+     * @self: the #GstChildProxy
      * @object: the #GObject that was removed
      * @name: the name of the old child
      *
@@ -560,7 +618,7 @@ gst_child_proxy_base_init (gpointer g_class)
 GType
 gst_child_proxy_get_type (void)
 {
-  static volatile gsize type = 0;
+  static gsize type = 0;
 
   if (g_once_init_enter (&type)) {
     GType _type;
diff --git a/gst/gstchildproxy.h b/gst/gstchildproxy.h
index 57e3012..407a4f5 100644
--- a/gst/gstchildproxy.h
+++ b/gst/gstchildproxy.h
@@ -44,9 +44,6 @@ typedef struct _GstChildProxyInterface GstChildProxyInterface;
 /**
  * GstChildProxyInterface:
  * @parent: parent interface type.
- * @get_child_by_name:  virtual method to fetch the child by name
- * @get_child_by_index: virtual method to fetch the child by index
- * @get_children_count: virtual method to get the children count
  *
  * #GstChildProxy interface.
  */
@@ -55,12 +52,60 @@ struct _GstChildProxyInterface
   GTypeInterface parent;
 
   /* methods */
+
+  /**
+   * GstChildProxyInterface.get_child_by_name:
+   * @parent: the #GstChildProxy
+   * @name: the name of the child to fetch
+   *
+   * Fetch a child object by name
+   *
+   * Returns: (transfer full) (nullable): the child object
+   */
   GObject * (*get_child_by_name)  (GstChildProxy * parent, const gchar * name);
+
+  /**
+   * GstChildProxyInterface.get_child_by_index:
+   * @parent: the #GstChildProxy
+   * @index: the index of the child to fetch
+   *
+   * Fetch a child object by index
+   *
+   * Returns: (transfer full) (nullable): the child object
+   */
   GObject * (*get_child_by_index) (GstChildProxy * parent, guint index);
+
+  /**
+   * GstChildProxyInterface.get_children_count:
+   * @parent: the #GstChildProxy
+   *
+   * Get the number of children in @parent
+   *
+   * Returns: the number of children
+   */
   guint     (*get_children_count) (GstChildProxy * parent);
+
   /*< private >*/
   /* signals */
+
+  /**
+   * GstChildProxyInterface.child_added:
+   * @parent: the #GstChildProxy
+   * @child: the child object
+   * @name: the name of the child object
+   *
+   * Called when @child is added to @parent
+   */
   void      (*child_added)        (GstChildProxy * parent, GObject * child, const gchar * name);
+
+  /**
+   * GstChildProxyInterface.child_removed:
+   * @parent: the #GstChildProxy
+   * @child: the child object
+   * @name: the name of the child object
+   *
+   * Called when @child is removed from @parent
+   */
   void      (*child_removed)      (GstChildProxy * parent, GObject * child, const gchar * name);
 
   /*< private >*/
@@ -73,6 +118,10 @@ GType     gst_child_proxy_get_type (void);
 GST_API
 GObject * gst_child_proxy_get_child_by_name  (GstChildProxy * parent, const gchar * name);
 
+GST_API
+GObject * gst_child_proxy_get_child_by_name_recurse (GstChildProxy * child_proxy,
+                                                     const gchar *name);
+
 GST_API
 guint     gst_child_proxy_get_children_count (GstChildProxy * parent);
 
diff --git a/gst/gstclock.c b/gst/gstclock.c
index 827d299..365a0e1 100644
--- a/gst/gstclock.c
+++ b/gst/gstclock.c
@@ -40,7 +40,7 @@
  *
  * The pipeline uses the clock to calculate the running time. Usually all
  * renderers synchronize to the global clock using the buffer timestamps, the
- * newsegment events and the element's base time, see #GstPipeline.
+ * #GST_EVENT_SEGMENT events and the element's base time, see #GstPipeline.
  *
  * A clock implementation can support periodic and single shot clock
  * notifications both synchronous and asynchronous.
@@ -49,14 +49,14 @@
  * notification using gst_clock_new_single_shot_id() or
  * gst_clock_new_periodic_id().
  *
- * To perform a blocking wait for the specific time of the #GstClockID use the
+ * To perform a blocking wait for the specific time of the #GstClockID use
  * gst_clock_id_wait(). To receive a callback when the specific time is reached
  * in the clock use gst_clock_id_wait_async(). Both these calls can be
  * interrupted with the gst_clock_id_unschedule() call. If the blocking wait is
  * unscheduled a return value of #GST_CLOCK_UNSCHEDULED is returned.
  *
  * Periodic callbacks scheduled async will be repeatedly called automatically
- * until it is unscheduled. To schedule a sync periodic callback,
+ * until they are unscheduled. To schedule a sync periodic callback,
  * gst_clock_id_wait() should be called repeatedly.
  *
  * The async callbacks can happen from any thread, either provided by the core
@@ -84,7 +84,7 @@
  * the clock is not PLAYING.
  *
  * When a clock has the #GST_CLOCK_FLAG_CAN_SET_MASTER flag set, it can be
- * slaved to another #GstClock with the gst_clock_set_master(). The clock will
+ * slaved to another #GstClock with gst_clock_set_master(). The clock will
  * then automatically be synchronized to this master clock by repeatedly
  * sampling the master clock and the slave clock and recalibrating the slave
  * clock with gst_clock_set_calibration(). This feature is mostly useful for
@@ -165,11 +165,13 @@ struct _GstClockPrivate
   gint post_count;
 
   gboolean synced;
+
+  GWeakRef *clock_weakref;
 };
 
 typedef struct _GstClockEntryImpl GstClockEntryImpl;
 
-#define GST_CLOCK_ENTRY_CLOCK_WEAK_REF(entry) (&((GstClockEntryImpl *)(entry))->clock)
+#define GST_CLOCK_ENTRY_CLOCK_WEAK_REF(entry) (((GstClockEntryImpl *)(entry))->clock)
 
 /* seqlocks */
 #define read_seqbegin(clock)                                   \
@@ -260,7 +262,8 @@ gst_clock_entry_new (GstClock * clock, GstClockTime time,
   entry->_clock = clock;
 #endif
 #endif
-  g_weak_ref_init (GST_CLOCK_ENTRY_CLOCK_WEAK_REF (entry), clock);
+  GST_CLOCK_ENTRY_CLOCK_WEAK_REF (entry) =
+      g_atomic_rc_box_acquire (clock->priv->clock_weakref);
   entry->type = type;
   entry->time = time;
   entry->interval = interval;
@@ -310,6 +313,8 @@ gboolean
 gst_clock_single_shot_id_reinit (GstClock * clock, GstClockID id,
     GstClockTime time)
 {
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (time), FALSE);
+
   return gst_clock_entry_reinit (clock, (GstClockEntry *) id, time,
       GST_CLOCK_TIME_NONE, GST_CLOCK_ENTRY_SINGLE);
 }
@@ -331,6 +336,9 @@ gboolean
 gst_clock_periodic_id_reinit (GstClock * clock, GstClockID id,
     GstClockTime start_time, GstClockTime interval)
 {
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (start_time), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (interval), FALSE);
+
   return gst_clock_entry_reinit (clock, (GstClockEntry *) id, start_time,
       interval, GST_CLOCK_ENTRY_PERIODIC);
 }
@@ -339,11 +347,9 @@ gst_clock_periodic_id_reinit (GstClock * clock, GstClockID id,
  * gst_clock_id_ref:
  * @id: The #GstClockID to ref
  *
- * Increase the refcount of given @id.
+ * Increases the refcount of given @id.
  *
  * Returns: (transfer full): The same #GstClockID with increased refcount.
- *
- * MT safe.
  */
 GstClockID
 gst_clock_id_ref (GstClockID id)
@@ -371,7 +377,8 @@ _gst_clock_id_free (GstClockID id)
   if (entry_impl->destroy_entry)
     entry_impl->destroy_entry (entry_impl);
 
-  g_weak_ref_clear (GST_CLOCK_ENTRY_CLOCK_WEAK_REF (entry));
+  g_atomic_rc_box_release_full (GST_CLOCK_ENTRY_CLOCK_WEAK_REF (entry),
+      (GDestroyNotify) g_weak_ref_clear);
 
   /* FIXME: add tracer hook for struct allocations such as clock entries */
 
@@ -382,10 +389,8 @@ _gst_clock_id_free (GstClockID id)
  * gst_clock_id_unref:
  * @id: (transfer full): The #GstClockID to unref
  *
- * Unref given @id. When the refcount reaches 0 the
+ * Unrefs given @id. When the refcount reaches 0 the
  * #GstClockID will be freed.
- *
- * MT safe.
  */
 void
 gst_clock_id_unref (GstClockID id)
@@ -406,21 +411,17 @@ gst_clock_id_unref (GstClockID id)
  * @clock: The #GstClockID to get a single shot notification from
  * @time: the requested time
  *
- * Get a #GstClockID from @clock to trigger a single shot
- * notification at the requested time. The single shot id should be
- * unreffed after usage.
- *
- * Free-function: gst_clock_id_unref
+ * Gets a #GstClockID from @clock to trigger a single shot
+ * notification at the requested time.
  *
  * Returns: (transfer full): a #GstClockID that can be used to request the
  *     time notification.
- *
- * MT safe.
  */
 GstClockID
 gst_clock_new_single_shot_id (GstClock * clock, GstClockTime time)
 {
   g_return_val_if_fail (GST_IS_CLOCK (clock), NULL);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (time), NULL);
 
   return gst_clock_entry_new (clock,
       time, GST_CLOCK_TIME_NONE, GST_CLOCK_ENTRY_SINGLE);
@@ -432,17 +433,12 @@ gst_clock_new_single_shot_id (GstClock * clock, GstClockTime time)
  * @start_time: the requested start time
  * @interval: the requested interval
  *
- * Get an ID from @clock to trigger a periodic notification.
+ * Gets an ID from @clock to trigger a periodic notification.
  * The periodic notifications will start at time @start_time and
- * will then be fired with the given @interval. @id should be unreffed
- * after usage.
- *
- * Free-function: gst_clock_id_unref
+ * will then be fired with the given @interval.
  *
  * Returns: (transfer full): a #GstClockID that can be used to request the
  *     time notification.
- *
- * MT safe.
  */
 GstClockID
 gst_clock_new_periodic_id (GstClock * clock, GstClockTime start_time,
@@ -465,9 +461,7 @@ gst_clock_new_periodic_id (GstClock * clock, GstClockTime start_time,
  * Compares the two #GstClockID instances. This function can be used
  * as a GCompareFunc when sorting ids.
  *
- * Returns: negative value if a < b; zero if a = b; positive value if a > b
- *
- * MT safe.
+ * Returns: negative value if `a < b`; zero if `a = b`; positive value if `a > b`
  */
 gint
 gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2)
@@ -490,11 +484,9 @@ gst_clock_id_compare_func (gconstpointer id1, gconstpointer id2)
  * gst_clock_id_get_time:
  * @id: The #GstClockID to query
  *
- * Get the time of the clock ID
+ * Gets the time of the clock ID
  *
  * Returns: the time of the given clock id.
- *
- * MT safe.
  */
 GstClockTime
 gst_clock_id_get_time (GstClockID id)
@@ -510,7 +502,7 @@ gst_clock_id_get_time (GstClockID id)
  * @jitter: (out) (allow-none): a pointer that will contain the jitter,
  *     can be %NULL.
  *
- * Perform a blocking wait on @id.
+ * Performs a blocking wait on @id.
  * @id should have been created with gst_clock_new_single_shot_id()
  * or gst_clock_new_periodic_id() and should not have been unscheduled
  * with a call to gst_clock_id_unschedule().
@@ -528,8 +520,6 @@ gst_clock_id_get_time (GstClockID id)
  * if the current clock time is past the time of @id, #GST_CLOCK_OK if
  * @id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
  * unscheduled with gst_clock_id_unschedule().
- *
- * MT safe.
  */
 GstClockReturn
 gst_clock_id_wait (GstClockID id, GstClockTimeDiff * jitter)
@@ -601,18 +591,16 @@ invalid_entry:
  * @user_data: User data passed in the callback
  * @destroy_data: #GDestroyNotify for user_data
  *
- * Register a callback on the given #GstClockID @id with the given
+ * Registers a callback on the given #GstClockID @id with the given
  * function and user_data. When passing a #GstClockID with an invalid
  * time to this function, the callback will be called immediately
- * with  a time set to GST_CLOCK_TIME_NONE. The callback will
+ * with  a time set to %GST_CLOCK_TIME_NONE. The callback will
  * be called when the time of @id has been reached.
  *
  * The callback @func can be invoked from any thread, either provided by the
  * core or from a streaming thread. The application should be prepared for this.
  *
  * Returns: the result of the non blocking wait.
- *
- * MT safe.
  */
 GstClockReturn
 gst_clock_id_wait_async (GstClockID id,
@@ -677,12 +665,10 @@ invalid_entry:
  * gst_clock_id_unschedule:
  * @id: The id to unschedule
  *
- * Cancel an outstanding request with @id. This can either
+ * Cancels an outstanding request with @id. This can either
  * be an outstanding async notification or a pending sync notification.
  * After this call, @id cannot be used anymore to receive sync or
  * async notifications, you need to create a new #GstClockID.
- *
- * MT safe.
  */
 void
 gst_clock_id_unschedule (GstClockID id)
@@ -747,10 +733,10 @@ gst_clock_class_init (GstClockClass * klass)
 
   /**
    * GstClock::synced:
-   * @clock: the clock
+   * @self: the clock
    * @synced: if the clock is synced now
    *
-   * Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
+   * Signaled on clocks with %GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
    * the clock is synchronized, or when it completely lost synchronization.
    * This signal will not be emitted on clocks without the flag.
    *
@@ -787,6 +773,17 @@ gst_clock_init (GstClock * clock)
   priv->timeout = DEFAULT_TIMEOUT;
   priv->times = g_new0 (GstClockTime, 4 * priv->window_size);
   priv->times_temp = priv->times + 2 * priv->window_size;
+  /*
+   * An atomically ref-counted wrapper around a GWeakRef for this GstClock,
+   * created by the clock and shared with all its clock entries.
+   *
+   * This exists because g_weak_ref_ operations are quite expensive and operate
+   * with a global GRWLock. _get takes a reader lock, _init and _clear take
+   * a writer lock. We want to avoid having to instantiate a new GWeakRef for
+   * every clock entry.
+   */
+  priv->clock_weakref = g_atomic_rc_box_new (GWeakRef);
+  g_weak_ref_init (priv->clock_weakref, clock);
 }
 
 static void
@@ -819,6 +816,8 @@ gst_clock_finalize (GObject * object)
   clock->priv->times_temp = NULL;
   GST_CLOCK_SLAVE_UNLOCK (clock);
 
+  g_atomic_rc_box_release_full (clock->priv->clock_weakref,
+      (GDestroyNotify) g_weak_ref_clear);
   g_mutex_clear (&clock->priv->slave_lock);
   g_cond_clear (&clock->priv->sync_cond);
 
@@ -830,7 +829,7 @@ gst_clock_finalize (GObject * object)
  * @clock: a #GstClock
  * @resolution: The resolution to set
  *
- * Set the accuracy of the clock. Some clocks have the possibility to operate
+ * Sets the accuracy of the clock. Some clocks have the possibility to operate
  * with different accuracy at the expense of more resource usage. There is
  * normally no need to change the default resolution of a clock. The resolution
  * of a clock can only be changed if the clock has the
@@ -861,12 +860,10 @@ gst_clock_set_resolution (GstClock * clock, GstClockTime resolution)
  * gst_clock_get_resolution:
  * @clock: a #GstClock
  *
- * Get the accuracy of the clock. The accuracy of the clock is the granularity
+ * Gets the accuracy of the clock. The accuracy of the clock is the granularity
  * of the values returned by gst_clock_get_time().
  *
  * Returns: the resolution of the clock in units of #GstClockTime.
- *
- * MT safe.
  */
 GstClockTime
 gst_clock_get_resolution (GstClock * clock)
@@ -1063,10 +1060,8 @@ gst_clock_unadjust_unlocked (GstClock * clock, GstClockTime external)
  * Gets the current internal time of the given clock. The time is returned
  * unadjusted for the offset and the rate.
  *
- * Returns: the internal time of the clock. Or GST_CLOCK_TIME_NONE when
+ * Returns: the internal time of the clock. Or %GST_CLOCK_TIME_NONE when
  * given invalid input.
- *
- * MT safe.
  */
 GstClockTime
 gst_clock_get_internal_time (GstClock * clock)
@@ -1110,10 +1105,8 @@ not_supported:
  * monotonically increasing and adjusted according to the current
  * offset and rate.
  *
- * Returns: the time of the clock. Or GST_CLOCK_TIME_NONE when
+ * Returns: the time of the clock. Or %GST_CLOCK_TIME_NONE when
  * given invalid input.
- *
- * MT safe.
  */
 GstClockTime
 gst_clock_get_time (GstClock * clock)
@@ -1159,9 +1152,9 @@ gst_clock_get_time (GstClock * clock)
  * Subsequent calls to gst_clock_get_time() will return clock times computed as
  * follows:
  *
- * |[
+ * ``` C
  *   time = (internal_time - internal) * rate_num / rate_denom + external
- * ]|
+ * ```
  *
  * This formula is implemented in gst_clock_adjust_unlocked(). Of course, it
  * tries to do the integer arithmetic as precisely as possible.
@@ -1169,8 +1162,6 @@ gst_clock_get_time (GstClock * clock)
  * Note that gst_clock_get_time() always returns increasing values so when you
  * move the clock backwards, gst_clock_get_time() will report the previous value
  * until the clock catches up.
- *
- * MT safe.
  */
 void
 gst_clock_set_calibration (GstClock * clock, GstClockTime internal, GstClockTime
@@ -1179,6 +1170,8 @@ gst_clock_set_calibration (GstClock * clock, GstClockTime internal, GstClockTime
   GstClockPrivate *priv;
 
   g_return_if_fail (GST_IS_CLOCK (clock));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (internal));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (external));
   g_return_if_fail (rate_num != GST_CLOCK_TIME_NONE);
   g_return_if_fail (rate_denom > 0 && rate_denom != GST_CLOCK_TIME_NONE);
 
@@ -1211,8 +1204,6 @@ gst_clock_set_calibration (GstClock * clock, GstClockTime internal, GstClockTime
  *
  * @internal, @external, @rate_num, and @rate_denom can be left %NULL if the
  * caller is not interested in the values.
- *
- * MT safe.
  */
 void
 gst_clock_get_calibration (GstClock * clock, GstClockTime * internal,
@@ -1273,7 +1264,7 @@ gst_clock_slave_callback (GstClock * master, GstClockTime time,
  * @clock: a #GstClock
  * @master: (allow-none): a master #GstClock
  *
- * Set @master as the master clock for @clock. @clock will be automatically
+ * Sets @master as the master clock for @clock. @clock will be automatically
  * calibrated so that gst_clock_get_time() reports the same time as the
  * master clock.
  *
@@ -1287,8 +1278,6 @@ gst_clock_slave_callback (GstClock * master, GstClockTime time,
  * Returns: %TRUE if the clock is capable of being slaved to a master clock.
  * Trying to set a master on a clock without the
  * #GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE.
- *
- * MT safe.
  */
 gboolean
 gst_clock_set_master (GstClock * clock, GstClock * master)
@@ -1360,14 +1349,11 @@ master_not_synced:
  * gst_clock_get_master:
  * @clock: a #GstClock
  *
- * Get the master clock that @clock is slaved to or %NULL when the clock is
+ * Gets the master clock that @clock is slaved to or %NULL when the clock is
  * not slaved to any master clock.
  *
  * Returns: (transfer full) (nullable): a master #GstClock or %NULL
- *     when this clock is not slaved to a master clock. Unref after
- *     usage.
- *
- * MT safe.
+ *     when this clock is not slaved to a master clock.
  */
 GstClock *
 gst_clock_get_master (GstClock * clock)
@@ -1394,10 +1380,7 @@ gst_clock_get_master (GstClock * clock)
  * This function returns the underlying clock.
  *
  * Returns: (transfer full) (nullable): a #GstClock or %NULL when the
- *     underlying clock has been freed.  Unref after usage.
- *
- * MT safe.
- *
+ *     underlying clock has been freed.
  * Since: 1.16
  */
 GstClock *
@@ -1422,9 +1405,6 @@ gst_clock_id_get_clock (GstClockID id)
  * no longer usable and should be freed.
  *
  * Returns: whether the clock @id uses the same underlying #GstClock @clock.
- *
- * MT safe.
- *
  * Since: 1.16
  */
 gboolean
@@ -1469,8 +1449,6 @@ gst_clock_id_uses_clock (GstClockID id, GstClock * clock)
  *
  * Returns: %TRUE if enough observations were added to run the
  * regression algorithm.
- *
- * MT safe.
  */
 gboolean
 gst_clock_add_observation (GstClock * clock, GstClockTime slave,
@@ -1506,6 +1484,8 @@ gst_clock_add_observation (GstClock * clock, GstClockTime slave,
  * The caller can then take the results and call gst_clock_set_calibration()
  * with the values, or some modified version of them.
  *
+ * Returns: %TRUE if enough observations were added to run the
+ * regression algorithm.
  * Since: 1.6
  */
 gboolean
@@ -1519,6 +1499,8 @@ gst_clock_add_observation_unapplied (GstClock * clock, GstClockTime slave,
   guint n;
 
   g_return_val_if_fail (GST_IS_CLOCK (clock), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (slave), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (master), FALSE);
   g_return_val_if_fail (r_squared != NULL, FALSE);
 
   priv = clock->priv;
@@ -1581,7 +1563,7 @@ invalid:
  * @clock: a #GstClock
  * @timeout: a timeout
  *
- * Set the amount of time, in nanoseconds, to sample master and slave
+ * Sets the amount of time, in nanoseconds, to sample master and slave
  * clocks
  */
 void
@@ -1598,7 +1580,7 @@ gst_clock_set_timeout (GstClock * clock, GstClockTime timeout)
  * gst_clock_get_timeout:
  * @clock: a #GstClock
  *
- * Get the amount of time that master and slave clocks are sampled.
+ * Gets the amount of time that master and slave clocks are sampled.
  *
  * Returns: the interval between samples.
  */
@@ -1692,9 +1674,9 @@ gst_clock_get_property (GObject * object, guint prop_id,
  * is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out
  * after @timeout nanoseconds.
  *
- * For asynchronous waiting, the GstClock::synced signal can be used.
+ * For asynchronous waiting, the #GstClock::synced signal can be used.
  *
- * This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+ * This returns immediately with %TRUE if %GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
  * is not set on the clock, or if the clock is already synced.
  *
  * Returns: %TRUE if waiting was successful, or %FALSE on timeout
@@ -1739,9 +1721,8 @@ gst_clock_wait_for_sync (GstClock * clock, GstClockTime timeout)
  * gst_clock_is_synced:
  * @clock: a GstClock
  *
- * Checks if the clock is currently synced.
- *
- * This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.
+ * Checks if the clock is currently synced, by looking at whether
+ * %GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is set.
  *
  * Returns: %TRUE if the clock is currently synced
  *
@@ -1761,10 +1742,10 @@ gst_clock_is_synced (GstClock * clock)
  * @clock: a GstClock
  * @synced: if the clock is synced
  *
- * Sets @clock to synced and emits the GstClock::synced signal, and wakes up any
+ * Sets @clock to synced and emits the #GstClock::synced signal, and wakes up any
  * thread waiting in gst_clock_wait_for_sync().
  *
- * This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+ * This function must only be called if %GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
  * is set on the clock, and is intended to be called by subclasses only.
  *
  * Since: 1.6
diff --git a/gst/gstclock.h b/gst/gstclock.h
index 1c17e9f..46419c9 100644
--- a/gst/gstclock.h
+++ b/gst/gstclock.h
@@ -125,28 +125,28 @@ typedef gpointer GstClockID;
  * GST_TIME_AS_SECONDS:
  * @time: the time
  *
- * Convert a #GstClockTime to seconds.
+ * Converts a #GstClockTime to seconds.
  */
 #define GST_TIME_AS_SECONDS(time)  ((time) / GST_SECOND)
 /**
  * GST_TIME_AS_MSECONDS:
  * @time: the time
  *
- * Convert a #GstClockTime to milliseconds (1/1000 of a second).
+ * Converts a #GstClockTime to milliseconds (1/1000 of a second).
  */
 #define GST_TIME_AS_MSECONDS(time) ((time) / G_GINT64_CONSTANT (1000000))
 /**
  * GST_TIME_AS_USECONDS:
  * @time: the time
  *
- * Convert a #GstClockTime to microseconds (1/1000000 of a second).
+ * Converts a #GstClockTime to microseconds (1/1000000 of a second).
  */
 #define GST_TIME_AS_USECONDS(time) ((time) / G_GINT64_CONSTANT (1000))
 /**
  * GST_TIME_AS_NSECONDS:
  * @time: the time
  *
- * Convert a #GstClockTime to nanoseconds (1/1000000000 of a second).
+ * Converts a #GstClockTime to nanoseconds (1/1000000000 of a second).
  */
 #define GST_TIME_AS_NSECONDS(time) (time)
 
@@ -155,7 +155,7 @@ typedef gpointer GstClockID;
  * @s: the first time
  * @e: the second time
  *
- * Calculate a difference between two clock times as a #GstClockTimeDiff.
+ * Calculates a difference between two clock times as a #GstClockTimeDiff.
  * The difference is calculated as @e - @s.
  */
 #define GST_CLOCK_DIFF(s, e)            (GstClockTimeDiff)((e) - (s))
@@ -164,7 +164,7 @@ typedef gpointer GstClockID;
  * GST_TIMEVAL_TO_TIME:
  * @tv: the timeval to convert
  *
- * Convert a GTimeVal to a #GstClockTime.
+ * Converts a GTimeVal to a #GstClockTime.
  */
 #define GST_TIMEVAL_TO_TIME(tv)         (GstClockTime)((tv).tv_sec * GST_SECOND + (tv).tv_usec * GST_USECOND)
 
@@ -173,7 +173,7 @@ typedef gpointer GstClockID;
  * @t: The #GstClockTime to convert
  * @tv: The target timeval
  *
- * Convert a #GstClockTime to a GTimeVal
+ * Converts a #GstClockTime to a GTimeVal
  *
  * > on 32-bit systems, a timeval has a range of only 2^32 - 1 seconds,
  * > which is about 68 years.  Expect trouble if you want to schedule stuff
@@ -193,7 +193,7 @@ G_STMT_START {                                                  \
  * GST_TIMESPEC_TO_TIME:
  * @ts: the timespec to convert
  *
- * Convert a struct timespec (see man pselect) to a #GstClockTime.
+ * Converts a struct timespec (see `man pselect`) to a #GstClockTime.
  */
 #define GST_TIMESPEC_TO_TIME(ts)        (GstClockTime)((ts).tv_sec * GST_SECOND + (ts).tv_nsec * GST_NSECOND)
 /**
@@ -201,7 +201,7 @@ G_STMT_START {                                                  \
  * @t: The #GstClockTime to convert
  * @ts: The target timespec
  *
- * Convert a #GstClockTime to a struct timespec (see man pselect)
+ * Converts a #GstClockTime to a struct timespec (see `man pselect`)
  */
 #define GST_TIME_TO_TIMESPEC(t,ts)                                \
 G_STMT_START {                                                    \
@@ -216,20 +216,21 @@ G_STMT_START {                                                    \
  * GST_TIME_FORMAT: (skip):
  *
  * A string that can be used in printf-like format strings to display a
- * #GstClockTime value in h:m:s format.  Use GST_TIME_ARGS() to construct
+ * #GstClockTime value in `h:m:s` format.  Use GST_TIME_ARGS() to construct
  * the matching arguments.
  *
  * Example:
- * |[<!-- language="C" -->
+ *
+ * ``` C
  * printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts));
- * ]|
+ * ``` 
  */
 #define GST_TIME_FORMAT "u:%02u:%02u.%09u"
 /**
  * GST_TIME_ARGS: (skip):
  * @t: a #GstClockTime
  *
- * Format @t for the #GST_TIME_FORMAT format string. Note: @t will be
+ * Formats @t for the #GST_TIME_FORMAT format string. Note: @t will be
  * evaluated more than once.
  */
 #define GST_TIME_ARGS(t) \
@@ -245,13 +246,14 @@ G_STMT_START {                                                    \
  * GST_STIME_FORMAT: (skip):
  *
  * A string that can be used in printf-like format strings to display a signed
- * #GstClockTimeDiff or #gint64 value in h:m:s format.  Use GST_TIME_ARGS() to
+ * #GstClockTimeDiff or #gint64 value in `h:m:s` format.  Use GST_TIME_ARGS() to
  * construct the matching arguments.
  *
  * Example:
- * |[
+ *
+ * ``` C
  * printf("%" GST_STIME_FORMAT "\n", GST_STIME_ARGS(ts));
- * ]|
+ * ```
  *
  * Since: 1.6
  */
@@ -260,7 +262,7 @@ G_STMT_START {                                                    \
  * GST_STIME_ARGS: (skip):
  * @t: a #GstClockTimeDiff or #gint64
  *
- * Format @t for the #GST_STIME_FORMAT format string. Note: @t will be
+ * Formats @t for the #GST_STIME_FORMAT format string. Note: @t will be
  * evaluated more than once.
  *
  * Since: 1.6
@@ -336,7 +338,7 @@ typedef enum {
  * GST_CLOCK_ENTRY:
  * @entry: the entry to cast
  *
- * Cast to a clock entry
+ * Casts to a clock entry
  */
 #define GST_CLOCK_ENTRY(entry)          ((GstClockEntry *)(entry))
 
@@ -345,7 +347,7 @@ typedef enum {
  * GST_CLOCK_ENTRY_CLOCK:
  * @entry: the entry to query
  *
- * Get the owner clock of the entry
+ * Gets the owner clock of the entry
  *
  * Deprecated: Use gst_clock_id_get_clock() instead.
  */
@@ -355,21 +357,21 @@ typedef enum {
  * GST_CLOCK_ENTRY_TYPE:
  * @entry: the entry to query
  *
- * Get the type of the clock entry
+ * Gets the type of the clock entry
  */
 #define GST_CLOCK_ENTRY_TYPE(entry)     ((entry)->type)
 /**
  * GST_CLOCK_ENTRY_TIME:
  * @entry: the entry to query
  *
- * Get the requested time of this entry
+ * Gets the requested time of this entry
  */
 #define GST_CLOCK_ENTRY_TIME(entry)     ((entry)->time)
 /**
  * GST_CLOCK_ENTRY_INTERVAL:
  * @entry: the entry to query
  *
- * Get the interval of this periodic entry
+ * Gets the interval of this periodic entry
  */
 #define GST_CLOCK_ENTRY_INTERVAL(entry) ((entry)->interval)
 /**
@@ -391,7 +393,7 @@ typedef enum {
  */
 struct _GstClockEntry {
   gint                  refcount;
-  /*< protected >*/
+  /*< private >*/
 #ifndef GST_REMOVE_DEPRECATED
 #ifndef GST_DISABLE_DEPRECATED
   GstClock              *clock;
@@ -423,8 +425,6 @@ struct _GstClockEntry {
  * @GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC: clock can do async periodic timeout callbacks
  * @GST_CLOCK_FLAG_CAN_SET_RESOLUTION: clock's resolution can be changed
  * @GST_CLOCK_FLAG_CAN_SET_MASTER: clock can be slaved to a master clock
- * @GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC: clock needs to be synced before it can be used
- *     (Since: 1.6)
  * @GST_CLOCK_FLAG_LAST: subclasses can add additional flags starting from this flag
  *
  * The capabilities of this clock
@@ -436,6 +436,14 @@ typedef enum {
   GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC  = (GST_OBJECT_FLAG_LAST << 3),
   GST_CLOCK_FLAG_CAN_SET_RESOLUTION     = (GST_OBJECT_FLAG_LAST << 4),
   GST_CLOCK_FLAG_CAN_SET_MASTER         = (GST_OBJECT_FLAG_LAST << 5),
+
+  /**
+   * GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC:
+   *
+   * clock needs to be synced before it can be used
+   *
+   * Since: 1.6
+   */
   GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC     = (GST_OBJECT_FLAG_LAST << 6),
   /* padding */
   GST_CLOCK_FLAG_LAST                   = (GST_OBJECT_FLAG_LAST << 8)
@@ -451,9 +459,9 @@ typedef enum {
 
 /**
  * GstClock:
+ * @object: the parent structure
  *
- * #GstClock base structure. The values of this structure are
- * protected for subclasses, use the methods to use the #GstClock.
+ * #GstClock base structure.
  */
 struct _GstClock {
   GstObject      object;
@@ -467,15 +475,6 @@ struct _GstClock {
 /**
  * GstClockClass:
  * @parent_class: the parent class structure
- * @change_resolution: change the resolution of the clock. Not all values might
- *                     be acceptable. The new resolution should be returned.
- * @get_resolution: get the resolution of the clock.
- * @get_internal_time: get the internal unadjusted time of the clock.
- *        implement @wait_jitter instead.
- * @wait: perform a blocking wait on the given #GstClockEntry and return
- *               the jitter.
- * @wait_async: perform an asynchronous wait for the given #GstClockEntry.
- * @unschedule: unblock a blocking or async wait operation.
  *
  * GStreamer clock class. Override the vmethods to implement the clock
  * functionality.
@@ -485,17 +484,81 @@ struct _GstClockClass {
 
   /*< public >*/
   /* vtable */
+
+  /**
+   * GstClockClass::change_resolution:
+   * @clock: the #GstClock
+   * @old_resolution: the previous resolution
+   * @new_resolution: the new resolution
+   *
+   * Change the resolution of the clock. Not all values might
+   * be acceptable.
+   *
+   * Returns: the new resolution
+   */
   GstClockTime          (*change_resolution)    (GstClock *clock,
                                                  GstClockTime old_resolution,
                                                  GstClockTime new_resolution);
+
+  /**
+   * GstClockClass::get_resolution:
+   * @clock: the #GstClock
+   *
+   * Get the resolution of the clock.
+   *
+   * Returns: the current resolution
+   */
   GstClockTime          (*get_resolution)       (GstClock *clock);
 
+  /**
+   * GstClockClass::get_internal_time:
+   * @clock: the #GstClock
+   *
+   * Get the internal unadjusted time of the clock.
+   *
+   * Implement #GstClockClass::wait instead.
+   *
+   * Returns: the internal time
+   */
   GstClockTime          (*get_internal_time)    (GstClock *clock);
 
   /* waiting on an ID */
+
+  /**
+   * GstClockClass::wait:
+   * @clock: the #GstClock
+   * @entry: the entry to wait on
+   * @jitter: (out) (allow-none): a pointer that will contain the jitter
+   *
+   * Perform a blocking wait on the given #GstClockEntry and return
+   * the jitter.
+   *
+   * Returns: the result of the blocking wait. #GST_CLOCK_EARLY will be returned
+   * if the current clock time is past the time of @id, #GST_CLOCK_OK if
+   * @id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
+   * unscheduled with gst_clock_id_unschedule().
+   */
   GstClockReturn        (*wait)                 (GstClock *clock, GstClockEntry *entry,
                                                  GstClockTimeDiff *jitter);
+
+  /**
+   * GstClockClass::wait_async:
+   * @clock: the #GstClock
+   * @entry: the entry to wait on
+   *
+   * Perform an asynchronous wait on the given #GstClockEntry.
+   *
+   * Returns: the result of the non blocking wait.
+   */
   GstClockReturn        (*wait_async)           (GstClock *clock, GstClockEntry *entry);
+
+  /**
+   * GstClockClass::unschedule:
+   * @clock: the #GstClock
+   * @entry: the entry to unschedule
+   *
+   * Unblock a blocking or async wait operation.
+   */
   void                  (*unschedule)           (GstClock *clock, GstClockEntry *entry);
 
   /*< private >*/
diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
index cc5794e..df35b23 100644
--- a/gst/gstconfig.h.in
+++ b/gst/gstconfig.h.in
@@ -124,7 +124,7 @@
  * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6
  * https://software.intel.com/en-us/node/583402
  */
-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv)
+#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) || defined(__ARC64__) || defined(__loongarch__)
 #  define GST_HAVE_UNALIGNED_ACCESS 0
 #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__)
 #  define GST_HAVE_UNALIGNED_ACCESS 1
@@ -132,14 +132,26 @@
 #  error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug."
 #endif
 
-/**
- * GST_EXPORT:
- *
- * Export the given variable from the built shared object.
- *
- * On Windows, this exports the variable from the DLL.
- * On other platforms, this gets defined to "extern".
- */
+#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(GST_STATIC_COMPILATION)
+#  define _GST_EXPORT __declspec(dllexport)
+#  define _GST_IMPORT __declspec(dllimport)
+#elif __GNUC__ >= 4
+#  define _GST_EXPORT __attribute__((visibility("default")))
+#  define _GST_IMPORT
+#else
+#  define _GST_EXPORT
+#  define _GST_IMPORT
+#endif
+
+#define GST_API_EXPORT _GST_EXPORT extern
+#define GST_API_IMPORT _GST_IMPORT extern
+
+#ifdef BUILDING_GST
+#  define GST_API GST_API_EXPORT
+#else
+#  define GST_API GST_API_IMPORT
+#endif
+
 /**
  * GST_PLUGIN_EXPORT:
  *
@@ -148,45 +160,21 @@
  * On Windows, this exports the plugin definition from the DLL.
  * On other platforms, this gets defined as a no-op.
  */
-/* Only use __declspec(dllexport/import) when we have been built with MSVC or
- * the user is linking to us with MSVC. The only remaining case is when we were
- * built with MinGW and are linking with MinGW in which case we rely on the
- * linker to auto-export/import symbols. Of course all this is only used when
- * not linking statically.
- *
- * NOTE: To link to GStreamer statically on Windows, you must define
- * GST_STATIC_COMPILATION or the prototypes will cause the compiler to search
- * for the symbol inside a DLL.
- */
-#if (@GSTCONFIG_BUILT_WITH_MSVC@ || defined(_MSC_VER)) && !defined(GST_STATIC_COMPILATION)
-# define GST_PLUGIN_EXPORT __declspec(dllexport)
-# ifdef GST_EXPORTS
-#  define GST_EXPORT __declspec(dllexport)
-# else
-#  define GST_EXPORT __declspec(dllimport) extern
-# endif
-#else
-# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-#  define GST_PLUGIN_EXPORT __attribute__ ((visibility ("default")))
-#  define GST_EXPORT extern __attribute__ ((visibility ("default")))
-# else
-#  define GST_PLUGIN_EXPORT
-#  define GST_EXPORT extern
-# endif
-#endif
+#define GST_PLUGIN_EXPORT _GST_EXPORT
 
-#if defined(_MSC_VER) && !defined(GST_STATIC_COMPILATION)
-# define GST_API_IMPORT __declspec(dllimport) extern
+/**
+ * GST_EXPORT:
+ *
+ * Export the given variable from the built shared object.
+ *
+ * On Windows, this exports the variable from the DLL.
+ * On other platforms, this gets defined to "extern".
+ * Deprecated: 1.22: Applications should define their own export macros.
+ */
+#ifdef GST_EXPORTS
+#  define GST_EXPORT GST_API_EXPORT
 #else
-# define GST_API_IMPORT extern
-#endif
-
-#ifndef GST_API
-# ifdef BUILDING_GST
-#  define GST_API GST_API_EXPORT        /* from config.h */
-# else
-#  define GST_API GST_API_IMPORT
-# endif
+#  define GST_EXPORT GST_API_IMPORT
 #endif
 
 /* These macros are used to mark deprecated functions in GStreamer headers,
diff --git a/gst/gstcontext.c b/gst/gstcontext.c
index 1e13c89..8d71c00 100644
--- a/gst/gstcontext.c
+++ b/gst/gstcontext.c
@@ -33,24 +33,25 @@
  *
  * Applications can set a context on a complete pipeline by using
  * gst_element_set_context(), which will then be propagated to all
- * child elements. Elements can handle these in #GstElementClass.set_context()
+ * child elements. Elements can handle these in #GstElementClass::set_context
  * and merge them with the context information they already have.
  *
  * When an element needs a context it will do the following actions in this
  * order until one step succeeds:
+ *
  * 1. Check if the element already has a context
- * 2. Query downstream with GST_QUERY_CONTEXT for the context
- * 3. Query upstream with GST_QUERY_CONTEXT for the context
- * 4. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
+ * 2. Query downstream with %GST_QUERY_CONTEXT for the context
+ * 3. Query upstream with %GST_QUERY_CONTEXT for the context
+ * 4. Post a %GST_MESSAGE_NEED_CONTEXT message on the bus with the required
  *    context types and afterwards check if a usable context was set now
- * 5. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
+ * 5. Create a context by itself and post a %GST_MESSAGE_HAVE_CONTEXT message
  *    on the bus.
  *
- * Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously
+ * Bins will catch %GST_MESSAGE_NEED_CONTEXT messages and will set any previously
  * known context on the element that asks for it if possible. Otherwise the
  * application should provide one if it can.
  *
- * #GstContext<!-- -->s can be persistent.
+ * #GstContext can be persistent.
  * A persistent #GstContext is kept in elements when they reach
  * %GST_STATE_NULL, non-persistent ones will be removed.
  * Also, a non-persistent context won't override a previous persistent
@@ -156,7 +157,7 @@ gst_context_init (GstContext * context)
  * @context_type: Context type
  * @persistent: Persistent context
  *
- * Create a new context.
+ * Creates a new context.
  *
  * Returns: (transfer full): The new context.
  *
@@ -189,7 +190,7 @@ gst_context_new (const gchar * context_type, gboolean persistent)
  * gst_context_get_context_type:
  * @context: The #GstContext.
  *
- * Get the type of @context.
+ * Gets the type of @context.
  *
  * Returns: The type of the context.
  *
@@ -228,7 +229,7 @@ gst_context_has_context_type (const GstContext * context,
  * gst_context_get_structure:
  * @context: The #GstContext.
  *
- * Access the structure of the context.
+ * Accesses the structure of the context.
  *
  * Returns: (transfer none): The structure of the context. The structure is
  * still owned by the context, which means that you should not modify it,
@@ -248,9 +249,9 @@ gst_context_get_structure (const GstContext * context)
  * gst_context_writable_structure:
  * @context: The #GstContext.
  *
- * Get a writable version of the structure.
+ * Gets a writable version of the structure.
  *
- * Returns: The structure of the context. The structure is still
+ * Returns: (transfer none): The structure of the context. The structure is still
  * owned by the context, which means that you should not free it and
  * that the pointer becomes invalid when you free the context.
  * This function checks if @context is writable.
@@ -270,7 +271,7 @@ gst_context_writable_structure (GstContext * context)
  * gst_context_is_persistent:
  * @context: The #GstContext.
  *
- * Check if @context is persistent.
+ * Checks if @context is persistent.
  *
  * Returns: %TRUE if the context is persistent.
  *
diff --git a/gst/gstcontrolbinding.c b/gst/gstcontrolbinding.c
index db1d4b4..42c32f1 100644
--- a/gst/gstcontrolbinding.c
+++ b/gst/gstcontrolbinding.c
@@ -24,7 +24,7 @@
  * @title: GstControlBinding
  * @short_description: attachment for control source sources
  *
- * A base class for value mapping objects that attaches control sources to gobject
+ * A base class for value mapping objects that attaches control sources to #GObject
  * properties. Such an object is taking one or more #GstControlSource instances,
  * combines them and maps the resulting value to the type and value range of the
  * bound property.
@@ -244,7 +244,7 @@ gst_control_binding_get_property (GObject * object, guint prop_id,
  * @last_sync: the last time this was called
  *
  * Sets the property of the @object, according to the #GstControlSources that
- * handle them and for the given timestamp.
+ * handles it and for the given timestamp.
  *
  * If this function fails, it is most likely the application developers fault.
  * Most probably the control sources are not setup correctly.
@@ -260,6 +260,7 @@ gst_control_binding_sync_values (GstControlBinding * binding,
   gboolean ret = FALSE;
 
   g_return_val_if_fail (GST_IS_CONTROL_BINDING (binding), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
 
   if (binding->disabled)
     return TRUE;
@@ -313,7 +314,7 @@ gst_control_binding_get_value (GstControlBinding * binding,
  * @values: (array length=n_values): array to put control-values in
  *
  * Gets a number of values for the given controlled property starting at the
- * requested time. The array @values need to hold enough space for @n_values of
+ * requested time. The array @values needs to hold enough space for @n_values of
  * the same type as the objects property's type.
  *
  * This function is useful if one wants to e.g. draw a graph of the control
@@ -482,7 +483,7 @@ gst_control_binding_set_disabled (GstControlBinding * binding,
  * gst_control_binding_is_disabled:
  * @binding: the control binding
  *
- * Check if the control binding is disabled.
+ * Checks if the control binding is disabled.
  *
  * Returns: %TRUE if the binding is inactive
  */
diff --git a/gst/gstcontrolbinding.h b/gst/gstcontrolbinding.h
index a0f28ce..e357669 100644
--- a/gst/gstcontrolbinding.h
+++ b/gst/gstcontrolbinding.h
@@ -56,6 +56,7 @@ typedef void (* GstControlBindingConvert) (GstControlBinding *binding, gdouble s
 
 /**
  * GstControlBinding:
+ * @parent: the parent structure
  * @name: name of the property of this binding
  * @pspec: #GParamSpec for this property
  *
@@ -79,8 +80,10 @@ struct _GstControlBinding {
 
   union {
     struct {
+      /*< private >*/
       GstControlBindingPrivate *priv;
     } abi;
+    /*< private >*/
     gpointer _gst_reserved[GST_PADDING];
   } ABI;
 };
@@ -88,11 +91,6 @@ struct _GstControlBinding {
 /**
  * GstControlBindingClass:
  * @parent_class: Parent class
- * @sync_values: implementation for updating the target values
- * @get_value: implementation to fetch a single control-value
- * @get_value_array: implementation to fetch a series of control-values
- * @get_g_value_array: implementation to fetch a series of control-values
- *                     as g_values
  *
  * The class structure of #GstControlBinding.
  */
@@ -102,9 +100,59 @@ struct _GstControlBindingClass
   GstObjectClass parent_class;
 
   /*< public >*/
+
+  /**
+   * GstControlBindingClass::sync_values:
+   * @binding: the control binding
+   * @object: the object that has controlled properties
+   * @timestamp: the time that should be processed
+   * @last_sync: the last time this was called
+   *
+   * Update the target values
+   *
+   * Returns: %TRUE if the controller value could be applied to the object
+   * property, %FALSE otherwise
+   */
   gboolean (* sync_values) (GstControlBinding *binding, GstObject *object, GstClockTime timestamp, GstClockTime last_sync);
+
+  /**
+   * GstControlBindingClass::get_value:
+   * @binding: the control binding
+   * @timestamp: the time the control-change should be read from
+   *
+   * Fetch a single control-value
+   *
+   * Returns: (nullable): the GValue of the property at the given time,
+   * or %NULL if the property isn't controlled.
+   */
   GValue * (* get_value) (GstControlBinding *binding, GstClockTime timestamp);
+
+  /**
+   * GstControlBindingClass::get_value_array:
+   * @binding: the control binding
+   * @timestamp: the time that should be processed
+   * @interval: the time spacing between subsequent values
+   * @n_values: the number of values
+   * @values: (array length=n_values): array to put control-values in
+   *
+   * Fetch a series of control-values
+   *
+   * Returns: %TRUE if the given array could be filled, %FALSE otherwise
+   */
   gboolean (* get_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, gpointer values);
+
+  /**
+   * GstControlBindingClass::get_g_value_array:
+   * @binding: the control binding
+   * @timestamp: the time that should be processed
+   * @interval: the time spacing between subsequent values
+   * @n_values: the number of values
+   * @values: (array length=n_values): array to put control-values in
+   *
+   * Fetch a series of control-values as g_values
+   *
+   * Returns: %TRUE if the given array could be filled, %FALSE otherwise
+   */
   gboolean (* get_g_value_array) (GstControlBinding *binding, GstClockTime timestamp,GstClockTime interval, guint n_values, GValue *values);
 
   /*< private >*/
diff --git a/gst/gstcontrolsource.c b/gst/gstcontrolsource.c
index 1817edc..04271be 100644
--- a/gst/gstcontrolsource.c
+++ b/gst/gstcontrolsource.c
@@ -84,6 +84,7 @@ gst_control_source_get_value (GstControlSource * self, GstClockTime timestamp,
     gdouble * value)
 {
   g_return_val_if_fail (GST_IS_CONTROL_SOURCE (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
 
   if (G_LIKELY (self->get_value)) {
     return self->get_value (self, timestamp, value);
@@ -112,6 +113,8 @@ gst_control_source_get_value_array (GstControlSource * self,
     gdouble * values)
 {
   g_return_val_if_fail (GST_IS_CONTROL_SOURCE (self), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp), FALSE);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (interval), FALSE);
 
   if (G_LIKELY (self->get_value_array)) {
     return self->get_value_array (self, timestamp, interval, n_values, values);
diff --git a/gst/gstcontrolsource.h b/gst/gstcontrolsource.h
index 2c0f351..cd2dfaf 100644
--- a/gst/gstcontrolsource.h
+++ b/gst/gstcontrolsource.h
@@ -54,7 +54,7 @@ typedef struct _GstValueArray GstValueArray;
  * @timestamp: timestamp of the value change
  * @value: the corresponding value
  *
- * Structure for saving a timestamp and a value.
+ * Structure for storing a timestamp and a value.
  */
 struct _GstTimedValue
 {
@@ -84,7 +84,7 @@ typedef gboolean (* GstControlSourceGetValue) (GstControlSource *self,
  * @n_values: the number of values
  * @values: array to put control-values in
  *
- * Function for returning an array of values for starting at a given timestamp.
+ * Function for returning an array of values starting at a given timestamp.
  *
  * Returns: %TRUE if the values were successfully calculated.
  *
@@ -94,6 +94,7 @@ typedef gboolean (* GstControlSourceGetValueArray) (GstControlSource *self,
 
 /**
  * GstControlSource:
+ * @parent: the parent structure
  * @get_value: Function for returning a value for a given timestamp
  * @get_value_array: Function for returning a values array for a given timestamp
  *
diff --git a/gst/gstdatetime.c b/gst/gstdatetime.c
index 4b57c6e..10e73e2 100644
--- a/gst/gstdatetime.c
+++ b/gst/gstdatetime.c
@@ -37,9 +37,11 @@
  * Struct to store date, time and timezone information altogether.
  * #GstDateTime is refcounted and immutable.
  *
- * Date information is handled using the proleptic Gregorian calendar.
+ * Date information is handled using the [proleptic Gregorian calendar].
  *
  * Provides basic creation functions and accessor functions to its fields.
+ *
+ * [proleptic Gregorian calendar]: https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar
  */
 
 typedef enum
@@ -70,14 +72,12 @@ static void gst_date_time_free (GstDateTime * datetime);
 
 /**
  * gst_date_time_new_from_g_date_time:
- * @dt: (transfer full): the #GDateTime. The new #GstDateTime takes ownership.
+ * @dt: (transfer full) (nullable): the #GDateTime.
  *
  * Creates a new #GstDateTime from a #GDateTime object.
  *
- * Free-function: gst_date_time_unref
- *
  * Returns: (transfer full) (nullable): a newly created #GstDateTime,
- * or %NULL on error
+ * or %NULL if @dt is %NULL.
  */
 GstDateTime *
 gst_date_time_new_from_g_date_time (GDateTime * dt)
@@ -103,10 +103,9 @@ gst_date_time_new_from_g_date_time (GDateTime * dt)
  *
  * Creates a new #GDateTime from a fully defined #GstDateTime object.
  *
- * Free-function: g_date_time_unref
- *
  * Returns: (transfer full) (nullable): a newly created #GDateTime, or
- * %NULL on error
+ * %NULL on error or if @datetime does not have a year, month, day, hour,
+ * minute and second.
  */
 GDateTime *
 gst_date_time_to_g_date_time (GstDateTime * datetime)
@@ -195,7 +194,7 @@ gst_date_time_has_second (const GstDateTime * datetime)
  * gst_date_time_get_year:
  * @datetime: a #GstDateTime
  *
- * Returns the year of this #GstDateTime
+ * Returns the year of this #GstDateTime.
  * Call gst_date_time_has_year() before, to avoid warnings.
  *
  * Return value: The year of this #GstDateTime
@@ -213,15 +212,16 @@ gst_date_time_get_year (const GstDateTime * datetime)
  * @datetime: a #GstDateTime
  *
  * Returns the month of this #GstDateTime. January is 1, February is 2, etc..
- * Call gst_date_time_has_month() before, to avoid warnings.
  *
- * Return value: The month of this #GstDateTime
+ * Return value: The month of this #GstDateTime, or -1 if none is set.
  */
 gint
 gst_date_time_get_month (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_month (datetime), 0);
+
+  if (!gst_date_time_has_month (datetime))
+    return -1;
 
   return g_date_time_get_month (datetime->datetime);
 }
@@ -231,15 +231,16 @@ gst_date_time_get_month (const GstDateTime * datetime)
  * @datetime: a #GstDateTime
  *
  * Returns the day of the month of this #GstDateTime.
- * Call gst_date_time_has_day() before, to avoid warnings.
  *
- * Return value: The day of this #GstDateTime
+ * Return value: The day of this #GstDateTime, or -1 if none is set.
  */
 gint
 gst_date_time_get_day (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_day (datetime), 0);
+
+  if (!gst_date_time_has_day (datetime))
+    return -1;
 
   return g_date_time_get_day_of_month (datetime->datetime);
 }
@@ -250,15 +251,16 @@ gst_date_time_get_day (const GstDateTime * datetime)
  *
  * Retrieves the hour of the day represented by @datetime in the gregorian
  * calendar. The return is in the range of 0 to 23.
- * Call gst_date_time_has_time() before, to avoid warnings.
  *
- * Return value: the hour of the day
+ * Return value: the hour of the day, or -1 if none is set.
  */
 gint
 gst_date_time_get_hour (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_time (datetime), 0);
+
+  if (!gst_date_time_has_time (datetime))
+    return -1;
 
   return g_date_time_get_hour (datetime->datetime);
 }
@@ -269,15 +271,16 @@ gst_date_time_get_hour (const GstDateTime * datetime)
  *
  * Retrieves the minute of the hour represented by @datetime in the gregorian
  * calendar.
- * Call gst_date_time_has_time() before, to avoid warnings.
  *
- * Return value: the minute of the hour
+ * Return value: the minute of the hour, or -1 if none is set.
  */
 gint
 gst_date_time_get_minute (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_time (datetime), 0);
+
+  if (!gst_date_time_has_time (datetime))
+    return -1;
 
   return g_date_time_get_minute (datetime->datetime);
 }
@@ -288,15 +291,16 @@ gst_date_time_get_minute (const GstDateTime * datetime)
  *
  * Retrieves the second of the minute represented by @datetime in the gregorian
  * calendar.
- * Call gst_date_time_has_time() before, to avoid warnings.
  *
- * Return value: the second represented by @datetime
+ * Return value: the second represented by @datetime, or -1 if none is set.
  */
 gint
 gst_date_time_get_second (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_second (datetime), 0);
+
+  if (!gst_date_time_has_second (datetime))
+    return -1;
 
   return g_date_time_get_second (datetime->datetime);
 }
@@ -308,13 +312,15 @@ gst_date_time_get_second (const GstDateTime * datetime)
  * Retrieves the fractional part of the seconds in microseconds represented by
  * @datetime in the gregorian calendar.
  *
- * Return value: the microsecond of the second
+ * Return value: the microsecond of the second, or -1 if none is set.
  */
 gint
 gst_date_time_get_microsecond (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0);
-  g_return_val_if_fail (gst_date_time_has_second (datetime), 0);
+
+  if (!gst_date_time_has_second (datetime))
+    return -1;
 
   return g_date_time_get_microsecond (datetime->datetime);
 }
@@ -328,13 +334,15 @@ gst_date_time_get_microsecond (const GstDateTime * datetime)
  * values, timezones before (to the west) of UTC have negative values.
  * If @datetime represents UTC time, then the offset is zero.
  *
- * Return value: the offset from UTC in hours
+ * Return value: the offset from UTC in hours, or %G_MAXDOUBLE if none is set.
  */
 gfloat
 gst_date_time_get_time_zone_offset (const GstDateTime * datetime)
 {
   g_return_val_if_fail (datetime != NULL, 0.0);
-  g_return_val_if_fail (gst_date_time_has_time (datetime), 0.0);
+
+  if (!gst_date_time_has_time (datetime))
+    return G_MAXDOUBLE;
 
   return (g_date_time_get_utc_offset (datetime->datetime) /
       G_USEC_PER_SEC) / 3600.0;
@@ -349,9 +357,8 @@ gst_date_time_get_time_zone_offset (const GstDateTime * datetime)
  *
  * @year should be from 1 to 9999.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_y (gint year)
@@ -372,9 +379,8 @@ gst_date_time_new_y (gint year)
  * If value is -1 then all over value will be ignored. For example
  * if @month == -1, then #GstDateTime will created only for @year.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_ym (gint year, gint month)
@@ -399,9 +405,8 @@ gst_date_time_new_ym (gint year, gint month)
  * @day == -1, then #GstDateTime will created for @year and @month and
  * so on.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_ymd (gint year, gint month, gint day)
@@ -416,9 +421,8 @@ gst_date_time_new_ymd (gint year, gint month, gint day)
  * Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
  * @secs. The #GstDateTime is in the local timezone.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
@@ -426,6 +430,9 @@ gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
   GDateTime *datetime;
 
   datetime = g_date_time_new_from_unix_local (secs);
+  if (!datetime)
+    return NULL;
+
   return gst_date_time_new_from_g_date_time (datetime);
 }
 
@@ -436,17 +443,19 @@ gst_date_time_new_from_unix_epoch_local_time (gint64 secs)
  * Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
  * @secs. The #GstDateTime is in the UTC timezone.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_from_unix_epoch_utc (gint64 secs)
 {
-  GstDateTime *datetime;
-  datetime =
-      gst_date_time_new_from_g_date_time (g_date_time_new_from_unix_utc (secs));
-  return datetime;
+  GDateTime *datetime;
+
+  datetime = g_date_time_new_from_unix_utc (secs);
+  if (!datetime)
+    return NULL;
+
+  return gst_date_time_new_from_g_date_time (datetime);
 }
 
 /**
@@ -456,7 +465,8 @@ gst_date_time_new_from_unix_epoch_utc (gint64 secs)
  * Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
  * @usecs. The #GstDateTime is in the local timezone.
  *
- * Returns: (transfer full) (nullable): a newly created #GstDateTime
+ * Returns: (transfer full) (nullable): a newly created #GstDateTime, or %NULL
+ * on error.
  *
  * Since: 1.18
  */
@@ -468,8 +478,13 @@ gst_date_time_new_from_unix_epoch_local_time_usecs (gint64 usecs)
   gint64 usec_part = usecs % G_USEC_PER_SEC;
 
   dt = g_date_time_new_from_unix_local (secs);
+  if (!dt)
+    return NULL;
   datetime = g_date_time_add_seconds (dt, (gdouble) usec_part / G_USEC_PER_SEC);
   g_date_time_unref (dt);
+  if (!datetime)
+    return NULL;
+
   return gst_date_time_new_from_g_date_time (datetime);
 }
 
@@ -480,7 +495,8 @@ gst_date_time_new_from_unix_epoch_local_time_usecs (gint64 usecs)
  * Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
  * @usecs. The #GstDateTime is in UTC.
  *
- * Returns: (transfer full) (nullable): a newly created #GstDateTime
+ * Returns: (transfer full) (nullable): a newly created #GstDateTime, or %NULL
+ * on error.
  *
  * Since: 1.18
  */
@@ -492,8 +508,13 @@ gst_date_time_new_from_unix_epoch_utc_usecs (gint64 usecs)
   gint64 usec_part = usecs % G_USEC_PER_SEC;
 
   dt = g_date_time_new_from_unix_utc (secs);
+  if (!dt)
+    return NULL;
   datetime = g_date_time_add_seconds (dt, (gdouble) usec_part / G_USEC_PER_SEC);
   g_date_time_unref (dt);
+  if (!datetime)
+    return NULL;
+
   return gst_date_time_new_from_g_date_time (datetime);
 }
 
@@ -544,30 +565,43 @@ gst_date_time_check_fields (gint * year, gint * month, gint * day,
  * @month and @day, and the time fields will be considered not set. In this
  * case @minute and @seconds should also be -1.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_local_time (gint year, gint month, gint day, gint hour,
     gint minute, gdouble seconds)
 {
   GstDateTimeFields fields;
+  GDateTime *dt;
   GstDateTime *datetime;
 
-  g_return_val_if_fail (year > 0 && year <= 9999, NULL);
-  g_return_val_if_fail ((month > 0 && month <= 12) || month == -1, NULL);
-  g_return_val_if_fail ((day > 0 && day <= 31) || day == -1, NULL);
-  g_return_val_if_fail ((hour >= 0 && hour < 24) || hour == -1, NULL);
-  g_return_val_if_fail ((minute >= 0 && minute < 60) || minute == -1, NULL);
-  g_return_val_if_fail ((seconds >= 0 && seconds < 60) || seconds == -1, NULL);
+  if (year <= 0 || year > 9999)
+    return NULL;
+
+  if ((month <= 0 || month > 12) && month != -1)
+    return NULL;
+
+  if ((day <= 0 || day > 31) && day != -1)
+    return NULL;
+
+  if ((hour < 0 || hour >= 24) && hour != -1)
+    return NULL;
+
+  if ((minute < 0 || minute >= 60) && minute != -1)
+    return NULL;
+
+  if ((seconds < 0 || seconds >= 60) && seconds != -1)
+    return NULL;
 
   fields = gst_date_time_check_fields (&year, &month, &day,
       &hour, &minute, &seconds);
 
-  datetime = gst_date_time_new_from_g_date_time (g_date_time_new_local (year,
-          month, day, hour, minute, seconds));
+  dt = g_date_time_new_local (year, month, day, hour, minute, seconds);
+  if (dt == NULL)
+    return NULL;
 
+  datetime = gst_date_time_new_from_g_date_time (dt);
   if (datetime == NULL)
     return NULL;
 
@@ -580,15 +614,19 @@ gst_date_time_new_local_time (gint year, gint month, gint day, gint hour,
  *
  * Creates a new #GstDateTime representing the current date and time.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full): the newly created #GstDateTime which should
- *     be freed with gst_date_time_unref().
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime which should
+ *     be freed with gst_date_time_unref(), or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_now_local_time (void)
 {
-  return gst_date_time_new_from_g_date_time (g_date_time_new_now_local ());
+  GDateTime *dt;
+
+  dt = g_date_time_new_now_local ();
+  if (!dt)
+    return NULL;
+
+  return gst_date_time_new_from_g_date_time (dt);
 }
 
 /**
@@ -597,15 +635,19 @@ gst_date_time_new_now_local_time (void)
  * Creates a new #GstDateTime that represents the current instant at Universal
  * coordinated time.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full): the newly created #GstDateTime which should
- *   be freed with gst_date_time_unref().
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime which should
+ *   be freed with gst_date_time_unref(), or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new_now_utc (void)
 {
-  return gst_date_time_new_from_g_date_time (g_date_time_new_now_utc ());
+  GDateTime *dt;
+
+  dt = g_date_time_new_now_utc ();
+  if (!dt)
+    return NULL;
+
+  return gst_date_time_new_from_g_date_time (dt);
 }
 
 gint
@@ -652,13 +694,12 @@ __gst_date_time_compare (const GstDateTime * dt1, const GstDateTime * dt2)
  * representing it in hours for most timezones.
  *
  * If value is -1 then all over value will be ignored. For example
- * if @month == -1, then #GstDateTime will created only for @year. If
- * @day == -1, then #GstDateTime will created for @year and @month and
+ * if @month == -1, then #GstDateTime will be created only for @year. If
+ * @day == -1, then #GstDateTime will be created for @year and @month and
  * so on.
  *
- * Free-function: gst_date_time_unref
- *
- * Return value: (transfer full) (nullable): the newly created #GstDateTime
+ * Return value: (transfer full) (nullable): the newly created #GstDateTime,
+ * or %NULL on error.
  */
 GstDateTime *
 gst_date_time_new (gfloat tzoffset, gint year, gint month, gint day, gint hour,
@@ -671,15 +712,30 @@ gst_date_time_new (gfloat tzoffset, gint year, gint month, gint day, gint hour,
   GstDateTime *datetime;
   gint tzhour, tzminute;
 
-  g_return_val_if_fail (year > 0 && year <= 9999, NULL);
-  g_return_val_if_fail ((month > 0 && month <= 12) || month == -1, NULL);
-  g_return_val_if_fail ((day > 0 && day <= 31) || day == -1, NULL);
-  g_return_val_if_fail ((hour >= 0 && hour < 24) || hour == -1, NULL);
-  g_return_val_if_fail ((minute >= 0 && minute < 60) || minute == -1, NULL);
-  g_return_val_if_fail ((seconds >= 0 && seconds < 60) || seconds == -1, NULL);
-  g_return_val_if_fail (tzoffset >= -12.0 && tzoffset <= 12.0, NULL);
-  g_return_val_if_fail ((hour >= 0 && minute >= 0) ||
-      (hour == -1 && minute == -1 && seconds == -1 && tzoffset == 0.0), NULL);
+  if (year <= 0 || year > 9999)
+    return NULL;
+
+  if ((month <= 0 || month > 12) && month != -1)
+    return NULL;
+
+  if ((day <= 0 || day > 31) && day != -1)
+    return NULL;
+
+  if ((hour < 0 || hour >= 24) && hour != -1)
+    return NULL;
+
+  if ((minute < 0 || minute >= 60) && minute != -1)
+    return NULL;
+
+  if ((seconds < 0 || seconds >= 60) && seconds != -1)
+    return NULL;
+
+  if (tzoffset < -12.0 || tzoffset > 12.0)
+    return NULL;
+
+  if ((hour < 0 || minute < 0) &&
+      (hour != -1 || minute != -1 || seconds != -1 || tzoffset != 0.0))
+    return NULL;
 
   tzhour = (gint) ABS (tzoffset);
   tzminute = (gint) ((ABS (tzoffset) - tzhour) * 60);
@@ -687,7 +743,15 @@ gst_date_time_new (gfloat tzoffset, gint year, gint month, gint day, gint hour,
   g_snprintf (buf, 6, "%c%02d%02d", tzoffset >= 0 ? '+' : '-', tzhour,
       tzminute);
 
+#if GLIB_CHECK_VERSION (2, 67, 1)
+  /* g_time_zone_new() would always return UTC if the identifier can't be
+   * parsed, which is rather suboptimal. */
+  tz = g_time_zone_new_identifier (buf);
+  if (!tz)
+    return NULL;
+#else
   tz = g_time_zone_new (buf);
+#endif
 
   fields = gst_date_time_check_fields (&year, &month, &day,
       &hour, &minute, &seconds);
@@ -775,16 +839,15 @@ done:
 
 /**
  * gst_date_time_to_iso8601_string:
- * @datetime: GstDateTime.
+ * @datetime: a #GstDateTime.
  *
  * Create a minimal string compatible with ISO-8601. Possible output formats
- * are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
- * 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100
+ * are (for example): `2012`, `2012-06`, `2012-06-23`, `2012-06-23T23:30Z`,
+ * `2012-06-23T23:30+0100`, `2012-06-23T23:30:59Z`, `2012-06-23T23:30:59+0100`
  *
  * Returns: (nullable): a newly allocated string formatted according
  *     to ISO 8601 and only including the datetime fields that are
- *     valid, or %NULL in case there was an error. The string should
- *     be freed with g_free().
+ *     valid, or %NULL in case there was an error.
  */
 gchar *
 gst_date_time_to_iso8601_string (GstDateTime * datetime)
@@ -803,15 +866,13 @@ gst_date_time_to_iso8601_string (GstDateTime * datetime)
  *
  * Tries to parse common variants of ISO-8601 datetime strings into a
  * #GstDateTime. Possible input formats are (for example):
- * 2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430,
- * 2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46,
- * 2012-06-30 22:46:43, 2012-06-00, 2012-00-00, 2012-00-30, 22:46:43Z, 22:46Z,
- * 22:46:43-0430, 22:46-0430, 22:46:30, 22:46
+ * `2012-06-30T22:46:43Z`, `2012`, `2012-06`, `2012-06-30`, `2012-06-30T22:46:43-0430`,
+ * `2012-06-30T22:46Z`, `2012-06-30T22:46-0430`, `2012-06-30 22:46`,
+ * `2012-06-30 22:46:43`, `2012-06-00`, `2012-00-00`, `2012-00-30`, `22:46:43Z`, `22:46Z`,
+ * `22:46:43-0430`, `22:46-0430`, `22:46:30`, `22:46`
  * If no date is provided, it is assumed to be "today" in the timezone
  * provided (if any), otherwise UTC.
  *
- * Free-function: gst_date_time_unref
- *
  * Returns: (transfer full) (nullable): a newly created #GstDateTime,
  * or %NULL on error
  */
@@ -949,6 +1010,9 @@ ymd_hms:
 
     /* No date was supplied: make it today */
     now_utc = g_date_time_new_now_utc ();
+    if (!now_utc)
+      return NULL;
+
     if (tzoffset != 0.0) {
       /* If a timezone offset was supplied, get the date of that timezone */
       g_assert (gmt_offset_min != -99);
@@ -957,6 +1021,8 @@ ymd_hms:
           g_date_time_add_minutes (now_utc,
           (60 * gmt_offset_hour) + gmt_offset_min);
       g_date_time_unref (now_utc);
+      if (!now_in_given_tz)
+        return NULL;
     } else {
       now_in_given_tz = now_utc;
     }
diff --git a/gst/gstdatetime.h b/gst/gstdatetime.h
index ede2b44..8d2b747 100644
--- a/gst/gstdatetime.h
+++ b/gst/gstdatetime.h
@@ -32,8 +32,8 @@ G_BEGIN_DECLS
  * GstDateTime:
  *
  * Opaque, immutable, refcounted struct that stores date, time and timezone
- * information. It currently supports ranges from 0001-01-01 to
- * 9999-12-31 in the Gregorian proleptic calendar.
+ * information. It currently supports ranges from `0001-01-01` to
+ * `9999-12-31` in the Gregorian proleptic calendar.
  *
  * Use the accessor functions to get the stored values.
  */
diff --git a/gst/gstdebugutils.c b/gst/gstdebugutils.c
index e501c61..8ca334a 100644
--- a/gst/gstdebugutils.c
+++ b/gst/gstdebugutils.c
@@ -34,6 +34,17 @@
  *     caps (simple caps = one line)
  */
 
+/**
+ * SECTION: debugutils
+ * @title: Debugging utilities
+ * @short_description: A set of utilities for debugging and development
+ *
+ * These utility functions help with generating dot graphs which can
+ * be rendered with [graphviz] to multiple formats.
+ *
+ * [graphviz]: https://graphviz.org/
+ */
+
 #include "gst_private.h"
 #include "gstdebugutils.h"
 
@@ -799,7 +810,7 @@ debug_dump_footer (GString * str)
  * @details: type of #GstDebugGraphDetails to use
  *
  * To aid debugging applications one can use this method to obtain the whole
- * network of gstreamer elements that form the pipeline into an dot file.
+ * network of gstreamer elements that form the pipeline into a dot file.
  * This data can be processed with graphviz to get an image.
  *
  * Returns: (transfer full): a string containing the pipeline in graphviz
@@ -828,7 +839,7 @@ gst_debug_bin_to_dot_data (GstBin * bin, GstDebugGraphDetails details)
  * @file_name: (type filename): output base filename (e.g. "myplayer")
  *
  * To aid debugging applications one can use this method to write out the whole
- * network of gstreamer elements that form the pipeline into an dot file.
+ * network of gstreamer elements that form the pipeline into a dot file.
  * This file can be processed with graphviz to get an image.
  *
  * ``` shell
diff --git a/gst/gstdebugutils.h b/gst/gstdebugutils.h
index 3808fc6..6a2caa9 100644
--- a/gst/gstdebugutils.h
+++ b/gst/gstdebugutils.h
@@ -80,17 +80,21 @@ void gst_debug_bin_to_dot_file_with_ts (GstBin *bin, GstDebugGraphDetails detail
  * @file_name: output base filename (e.g. "myplayer")
  *
  * To aid debugging applications one can use this method to write out the whole
- * network of gstreamer elements that form the pipeline into an dot file.
+ * network of gstreamer elements that form the pipeline into a dot file.
  * This file can be processed with graphviz to get an image, like this:
- * |[
- *  dot -Tpng -oimage.png graph_lowlevel.dot
- * ]|
- * There is also a utility called xdot which allows you to view the dot file
+ *
+ * ``` shell
+ * dot -Tpng -oimage.png graph_lowlevel.dot
+ * ```
+ *
+ * There is also a utility called [xdot] which allows you to view the dot file
  * directly without converting it first.
  *
- * The macro is only active if the environment variable GST_DEBUG_DUMP_DOT_DIR
- * is set to a basepath (e.g. /tmp), and the GStreamer debugging subsystem is
- * enabled (i.e., no use of `./configure --disable-gst-debug')
+ * The macro is only active if the environment variable `GST_DEBUG_DUMP_DOT_DIR`
+ * is set to a basepath (e.g. `/tmp`), and the GStreamer debugging subsystem is
+ * enabled (i.e., no use of `./configure --disable-gst-debug`)
+ *
+ * [xdot]: https://pypi.org/project/xdot/
  */
 #define GST_DEBUG_BIN_TO_DOT_FILE(bin, details, file_name) gst_debug_bin_to_dot_file (bin, details, file_name)
 
diff --git a/gst/gstdevicemonitor.c b/gst/gstdevicemonitor.c
index 43752e1..c542cad 100644
--- a/gst/gstdevicemonitor.c
+++ b/gst/gstdevicemonitor.c
@@ -108,10 +108,10 @@ struct _GstDeviceMonitorPrivate
   GstBus *bus;
 
   GPtrArray *providers;
-  guint cookie;
-
   GPtrArray *filters;
 
+  GList *started_providers;
+
   guint last_id;
   GList *hidden;
   gboolean show_all;
@@ -129,6 +129,17 @@ G_DEFINE_TYPE_WITH_PRIVATE (GstDeviceMonitor, gst_device_monitor,
 
 static void gst_device_monitor_dispose (GObject * object);
 
+static guint gst_device_monitor_add_filter_unlocked (GstDeviceMonitor * monitor,
+    const gchar * classes, GstCaps * caps);
+
+static void
+provider_hidden (GstDeviceProvider * provider, const gchar * hidden,
+    GstDeviceMonitor * monitor);
+
+static void
+provider_unhidden (GstDeviceProvider * provider, const gchar * hidden,
+    GstDeviceMonitor * monitor);
+
 struct DeviceFilter
 {
   guint id;
@@ -137,11 +148,24 @@ struct DeviceFilter
   GstCaps *caps;
 };
 
+static struct DeviceFilter *
+device_filter_copy (struct DeviceFilter *filter)
+{
+  struct DeviceFilter *copy = g_slice_new0 (struct DeviceFilter);
+
+  copy->classesv = g_strdupv (filter->classesv);
+  copy->caps = filter->caps ? gst_caps_ref (filter->caps) : NULL;
+
+  return copy;
+}
+
 static void
 device_filter_free (struct DeviceFilter *filter)
 {
   g_strfreev (filter->classesv);
-  gst_caps_unref (filter->caps);
+
+  if (filter->caps)
+    gst_caps_unref (filter->caps);
 
   g_slice_free (struct DeviceFilter, filter);
 }
@@ -233,7 +257,7 @@ update_hidden_providers_list (GList ** hidden, GstDeviceProvider * provider)
   }
 }
 
-static void
+static GstBusSyncReply
 bus_sync_message (GstBus * bus, GstMessage * message,
     GstDeviceMonitor * monitor)
 {
@@ -281,6 +305,10 @@ bus_sync_message (GstBus * bus, GstMessage * message,
     if (matches)
       gst_bus_post (monitor->priv->bus, gst_message_ref (message));
   }
+
+  gst_message_unref (message);
+
+  return GST_BUS_DROP;
 }
 
 
@@ -303,7 +331,7 @@ gst_device_monitor_init (GstDeviceMonitor * self)
 
 
 static void
-gst_device_monitor_remove (GstDeviceMonitor * self, guint i)
+gst_device_monitor_remove_provider (GstDeviceMonitor * self, guint i)
 {
   GstDeviceProvider *provider = g_ptr_array_index (self->priv->providers, i);
   GstBus *bus;
@@ -311,9 +339,12 @@ gst_device_monitor_remove (GstDeviceMonitor * self, guint i)
   g_ptr_array_remove_index (self->priv->providers, i);
 
   bus = gst_device_provider_get_bus (provider);
-  g_signal_handlers_disconnect_by_func (bus, bus_sync_message, self);
+  gst_bus_set_sync_handler (bus, NULL, NULL, NULL);
   gst_object_unref (bus);
 
+  g_signal_handlers_disconnect_by_func (provider, provider_hidden, self);
+  g_signal_handlers_disconnect_by_func (provider, provider_unhidden, self);
+
   gst_object_unref (provider);
 }
 
@@ -326,7 +357,7 @@ gst_device_monitor_dispose (GObject * object)
 
   if (self->priv->providers) {
     while (self->priv->providers->len)
-      gst_device_monitor_remove (self, self->priv->providers->len - 1);
+      gst_device_monitor_remove_provider (self, self->priv->providers->len - 1);
     g_ptr_array_unref (self->priv->providers);
     self->priv->providers = NULL;
   }
@@ -336,6 +367,11 @@ gst_device_monitor_dispose (GObject * object)
     self->priv->filters = NULL;
   }
 
+  if (self->priv->hidden) {
+    g_list_free_full (self->priv->hidden, g_free);
+    self->priv->hidden = NULL;
+  }
+
   gst_object_replace ((GstObject **) & self->priv->bus, NULL);
 
   G_OBJECT_CLASS (gst_device_monitor_parent_class)->dispose (object);
@@ -357,9 +393,11 @@ gst_device_monitor_dispose (GObject * object)
 GList *
 gst_device_monitor_get_devices (GstDeviceMonitor * monitor)
 {
-  GList *devices = NULL, *hidden = NULL;
+  GQueue providers = G_QUEUE_INIT, filters = G_QUEUE_INIT;
+  GList *hidden = NULL;
+  GQueue devices = G_QUEUE_INIT;
+  GList *l;
   guint i;
-  guint cookie;
 
   g_return_val_if_fail (GST_IS_DEVICE_MONITOR (monitor), NULL);
 
@@ -377,13 +415,6 @@ gst_device_monitor_get_devices (GstDeviceMonitor * monitor)
     return NULL;
   }
 
-again:
-
-  g_list_free_full (devices, gst_object_unref);
-  g_list_free_full (hidden, g_free);
-  devices = NULL;
-  hidden = NULL;
-
   for (i = 0; i < monitor->priv->providers->len; i++) {
     GstDeviceProvider *provider =
         g_ptr_array_index (monitor->priv->providers, i);
@@ -391,37 +422,41 @@ again:
     update_hidden_providers_list (&hidden, provider);
   }
 
-  cookie = monitor->priv->cookie;
-
+  /* Create a copy of all current providers and filters while keeping the lock
+   * and afterwards unlock and work with this snapshot */
   for (i = 0; i < monitor->priv->providers->len; i++) {
-    GList *tmpdev;
     GstDeviceProvider *provider =
-        gst_object_ref (g_ptr_array_index (monitor->priv->providers, i));
-    GList *item;
+        g_ptr_array_index (monitor->priv->providers, i);
 
     if (!is_provider_hidden (monitor, hidden, provider)) {
-      GST_OBJECT_UNLOCK (monitor);
+      g_queue_push_tail (&providers, gst_object_ref (provider));
+    }
+  }
 
-      tmpdev = gst_device_provider_get_devices (provider);
+  for (i = 0; i < monitor->priv->filters->len; i++) {
+    struct DeviceFilter *filter = g_ptr_array_index (monitor->priv->filters, i);
 
-      GST_OBJECT_LOCK (monitor);
-    } else {
-      tmpdev = NULL;
-    }
+    g_queue_push_tail (&filters, device_filter_copy (filter));
+  }
+  GST_OBJECT_UNLOCK (monitor);
 
+  for (l = providers.head; l; l = l->next) {
+    GstDeviceProvider *provider = l->data;
+    GList *tmpdev, *item, *filter_item;
+
+    tmpdev = gst_device_provider_get_devices (provider);
 
     for (item = tmpdev; item; item = item->next) {
       GstDevice *dev = GST_DEVICE (item->data);
       GstCaps *caps = gst_device_get_caps (dev);
-      guint j;
 
-      for (j = 0; j < monitor->priv->filters->len; j++) {
-        struct DeviceFilter *filter =
-            g_ptr_array_index (monitor->priv->filters, j);
+      for (filter_item = filters.head; filter_item;
+          filter_item = filter_item->next) {
+        struct DeviceFilter *filter = filter_item->data;
 
         if (gst_caps_can_intersect (filter->caps, caps) &&
             gst_device_has_classesv (dev, filter->classesv)) {
-          devices = g_list_prepend (devices, gst_object_ref (dev));
+          g_queue_push_tail (&devices, gst_object_ref (dev));
           break;
         }
       }
@@ -429,16 +464,13 @@ again:
     }
 
     g_list_free_full (tmpdev, gst_object_unref);
-    gst_object_unref (provider);
-
-    if (monitor->priv->cookie != cookie)
-      goto again;
   }
   g_list_free_full (hidden, g_free);
 
-  GST_OBJECT_UNLOCK (monitor);
+  g_queue_clear_full (&providers, (GDestroyNotify) gst_object_unref);
+  g_queue_clear_full (&filters, (GDestroyNotify) device_filter_free);
 
-  return g_list_reverse (devices);
+  return devices.head;
 }
 
 /**
@@ -449,7 +481,8 @@ again:
  * %GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages
  * will be emitted on the bus when the list of devices changes.
  *
- * Returns: %TRUE if the device monitoring could be started
+ * Returns: %TRUE if the device monitoring could be started, i.e. at least a
+ *     single device provider was started successfully.
  *
  * Since: 1.4
  */
@@ -457,19 +490,24 @@ again:
 gboolean
 gst_device_monitor_start (GstDeviceMonitor * monitor)
 {
-  guint cookie, i;
-  GList *pending = NULL, *started = NULL, *removed = NULL;
+  guint i;
+  GQueue pending = G_QUEUE_INIT;
+  GList *started = NULL;
+  GstDeviceProvider *provider;
 
   g_return_val_if_fail (GST_IS_DEVICE_MONITOR (monitor), FALSE);
 
   GST_OBJECT_LOCK (monitor);
 
-  if (monitor->priv->filters->len == 0) {
+  if (monitor->priv->started) {
     GST_OBJECT_UNLOCK (monitor);
+    GST_DEBUG_OBJECT (monitor, "Monitor started already");
+    return TRUE;
+  }
+  if (monitor->priv->filters->len == 0) {
     GST_WARNING_OBJECT (monitor, "No filters have been set, will expose all "
         "devices found");
-    gst_device_monitor_add_filter (monitor, NULL, NULL);
-    GST_OBJECT_LOCK (monitor);
+    gst_device_monitor_add_filter_unlocked (monitor, NULL, NULL);
   }
 
   if (monitor->priv->providers->len == 0) {
@@ -478,74 +516,39 @@ gst_device_monitor_start (GstDeviceMonitor * monitor)
     return FALSE;
   }
 
-  gst_bus_set_flushing (monitor->priv->bus, FALSE);
-
-again:
-  cookie = monitor->priv->cookie;
+  monitor->priv->started = TRUE;
 
-  g_list_free_full (pending, gst_object_unref);
-  pending = NULL;
-  removed = started;
-  started = NULL;
+  gst_bus_set_flushing (monitor->priv->bus, FALSE);
 
   for (i = 0; i < monitor->priv->providers->len; i++) {
     GstDeviceProvider *provider;
-    GList *find;
 
     provider = g_ptr_array_index (monitor->priv->providers, i);
-
-    find = g_list_find (removed, provider);
-    if (find) {
-      /* this was already started, move to started list */
-      removed = g_list_remove_link (removed, find);
-      started = g_list_concat (started, find);
-    } else {
-      /* not started, add to pending list */
-      pending = g_list_append (pending, gst_object_ref (provider));
-    }
+    g_queue_push_tail (&pending, gst_object_ref (provider));
   }
-  g_list_free_full (removed, gst_object_unref);
-  removed = NULL;
-
-  while (pending) {
-    GstDeviceProvider *provider = pending->data;
 
+  while ((provider = g_queue_pop_head (&pending))) {
     GST_OBJECT_UNLOCK (monitor);
 
-    if (!gst_device_provider_start (provider))
-      goto start_failed;
+    if (gst_device_provider_start (provider)) {
+      started = g_list_prepend (started, provider);
+    } else {
+      gst_object_unref (provider);
+    }
 
     GST_OBJECT_LOCK (monitor);
-
-    started = g_list_prepend (started, provider);
-    pending = g_list_delete_link (pending, pending);
-
-    if (monitor->priv->cookie != cookie)
-      goto again;
   }
-  monitor->priv->started = TRUE;
-  GST_OBJECT_UNLOCK (monitor);
 
-  g_list_free_full (started, gst_object_unref);
-
-  return TRUE;
-
-start_failed:
-  {
-    GST_OBJECT_LOCK (monitor);
+  if (started) {
+    monitor->priv->started_providers = started;
+  } else {
     gst_bus_set_flushing (monitor->priv->bus, TRUE);
-    GST_OBJECT_UNLOCK (monitor);
-
-    while (started) {
-      GstDeviceProvider *provider = started->data;
+    monitor->priv->started = FALSE;
+  }
 
-      gst_device_provider_stop (provider);
-      gst_object_unref (provider);
+  GST_OBJECT_UNLOCK (monitor);
 
-      started = g_list_delete_link (started, started);
-    }
-    return FALSE;
-  }
+  return started != NULL;
 }
 
 /**
@@ -559,7 +562,6 @@ start_failed:
 void
 gst_device_monitor_stop (GstDeviceMonitor * monitor)
 {
-  guint i;
   GList *started = NULL;
 
   g_return_if_fail (GST_IS_DEVICE_MONITOR (monitor));
@@ -567,12 +569,15 @@ gst_device_monitor_stop (GstDeviceMonitor * monitor)
   gst_bus_set_flushing (monitor->priv->bus, TRUE);
 
   GST_OBJECT_LOCK (monitor);
-  for (i = 0; i < monitor->priv->providers->len; i++) {
-    GstDeviceProvider *provider =
-        g_ptr_array_index (monitor->priv->providers, i);
-
-    started = g_list_prepend (started, gst_object_ref (provider));
+  if (!monitor->priv->started) {
+    GST_DEBUG_OBJECT (monitor, "Monitor was not started yet");
+    GST_OBJECT_UNLOCK (monitor);
+    return;
   }
+
+  started = monitor->priv->started_providers;
+  monitor->priv->started_providers = NULL;
+  monitor->priv->started = FALSE;
   GST_OBJECT_UNLOCK (monitor);
 
   while (started) {
@@ -583,11 +588,6 @@ gst_device_monitor_stop (GstDeviceMonitor * monitor)
     started = g_list_delete_link (started, started);
     gst_object_unref (provider);
   }
-
-  GST_OBJECT_LOCK (monitor);
-  monitor->priv->started = FALSE;
-  GST_OBJECT_UNLOCK (monitor);
-
 }
 
 static void
@@ -644,15 +644,26 @@ guint
 gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
     const gchar * classes, GstCaps * caps)
 {
-  GList *factories = NULL;
-  struct DeviceFilter *filter;
-  guint id = 0;
-  gboolean matched = FALSE;
+  guint id;
 
   g_return_val_if_fail (GST_IS_DEVICE_MONITOR (monitor), 0);
   g_return_val_if_fail (!monitor->priv->started, 0);
 
   GST_OBJECT_LOCK (monitor);
+  id = gst_device_monitor_add_filter_unlocked (monitor, classes, caps);
+  GST_OBJECT_UNLOCK (monitor);
+
+  return id;
+}
+
+static guint
+gst_device_monitor_add_filter_unlocked (GstDeviceMonitor * monitor,
+    const gchar * classes, GstCaps * caps)
+{
+  GList *factories = NULL;
+  struct DeviceFilter *filter;
+  guint id = 0;
+  gboolean matched = FALSE;
 
   filter = g_slice_new0 (struct DeviceFilter);
   filter->id = monitor->priv->last_id++;
@@ -696,12 +707,10 @@ gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
             (GCallback) provider_unhidden, monitor);
 
         matched = TRUE;
-        gst_bus_enable_sync_message_emission (bus);
-        g_signal_connect (bus, "sync-message",
-            G_CALLBACK (bus_sync_message), monitor);
+        gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_message,
+            monitor, NULL);
         gst_object_unref (bus);
         g_ptr_array_add (monitor->priv->providers, provider);
-        monitor->priv->cookie++;
       }
     }
 
@@ -716,8 +725,6 @@ gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
     id = filter->id;
   g_ptr_array_add (monitor->priv->filters, filter);
 
-  GST_OBJECT_UNLOCK (monitor);
-
   return id;
 }
 
@@ -774,8 +781,7 @@ gst_device_monitor_remove_filter (GstDeviceMonitor * monitor, guint filter_id)
       }
 
       if (!valid) {
-        monitor->priv->cookie++;
-        gst_device_monitor_remove (monitor, i);
+        gst_device_monitor_remove_provider (monitor, i);
         i--;
       }
     }
diff --git a/gst/gstdeviceprovider.c b/gst/gstdeviceprovider.c
index 4b4ba76..f073ede 100644
--- a/gst/gstdeviceprovider.c
+++ b/gst/gstdeviceprovider.c
@@ -55,7 +55,7 @@ struct _GstDeviceProviderPrivate
 
   GMutex start_lock;
 
-  gboolean started_count;
+  gint started_count;
 
   GList *hidden_providers;
 };
@@ -84,7 +84,7 @@ static gint private_offset = 0;
 GType
 gst_device_provider_get_type (void)
 {
-  static volatile gsize gst_device_provider_type = 0;
+  static gsize gst_device_provider_type = 0;
 
   if (g_once_init_enter (&gst_device_provider_type)) {
     GType _type;
@@ -165,6 +165,8 @@ gst_device_provider_init (GstDeviceProvider * provider)
 
   g_mutex_init (&provider->priv->start_lock);
 
+  provider->priv->started_count = 0;
+
   provider->priv->bus = gst_bus_new ();
   gst_bus_set_flushing (provider->priv->bus, TRUE);
 }
@@ -417,9 +419,15 @@ gst_device_provider_get_devices (GstDeviceProvider * provider)
     for (item = provider->devices; item; item = item->next)
       devices = g_list_prepend (devices, gst_object_ref (item->data));
     GST_OBJECT_UNLOCK (provider);
-  } else if (klass->probe)
+  } else if (klass->probe) {
+
     devices = klass->probe (provider);
 
+    for (item = devices; item; item = item->next)
+      if (g_object_is_floating (item->data))
+        g_object_ref_sink (item->data);
+  }
+
   g_mutex_unlock (&provider->priv->start_lock);
 
   return devices;
@@ -848,3 +856,24 @@ gst_device_provider_device_changed (GstDeviceProvider * provider,
   gst_bus_post (provider->priv->bus, message);
   gst_object_unparent (GST_OBJECT (changed_device));
 }
+
+/**
+ * gst_device_provider_is_started:
+ * @provider: a #GstDeviceProvider
+ *
+ * This function can be used to know if the @provider was successfully started.
+ *
+ * Since: 1.20
+ */
+gboolean
+gst_device_provider_is_started (GstDeviceProvider * provider)
+{
+  gboolean started = FALSE;
+
+  g_return_val_if_fail (GST_IS_DEVICE_PROVIDER (provider), FALSE);
+
+  g_mutex_lock (&provider->priv->start_lock);
+  started = provider->priv->started_count > 0;
+  g_mutex_unlock (&provider->priv->start_lock);
+  return started;
+}
diff --git a/gst/gstdeviceprovider.h b/gst/gstdeviceprovider.h
index 95e274c..1d69a7d 100644
--- a/gst/gstdeviceprovider.h
+++ b/gst/gstdeviceprovider.h
@@ -19,13 +19,96 @@
  * Boston, MA 02111-1307, USA.
  */
 
-
-
 #ifndef __GST_DEVICE_PROVIDER_H__
 #define __GST_DEVICE_PROVIDER_H__
 
 #include <gst/gstelement.h>
 
+/**
+ * GST_DEVICE_PROVIDER_REGISTER_DEFINE_CUSTOM:
+ * @d_p: The device provider name in lower case, with words separated by '_'.
+ * Used to generate `gst_device_provider_register_*(GstPlugin* plugin)`.
+ * @register_func: pointer to a method with the format: `gboolean register_func (GstPlugin* plugin);`
+ *
+ * A convenience macro to define the entry point of a
+ * device provider `gst_device_provider_register_*(GstPlugin* plugin)` which uses
+ * register_func as the main registration method for the device provider.
+ * As an example, you may define the device provider named "device-provider"
+ * with the namespace `my` as following using `device_provider_register_custom`:
+ *
+ * ```
+ *
+ * gboolean my_device_provider_register_custom (GstPlugin * plugin)
+ * {
+ *    gboolean ret = FALSE;
+ *    ret |= gst_device_provider_register (plugin, "my-device-provider",
+         GST_RANK_PRIMARY, GST_TYPE_MY_DEVICE_PROVIDER);
+ *    return TRUE;
+ * }
+ *
+ * GST_DEVICE_PROVIDER_REGISTER_DEFINE_CUSTOM (my_device_provider, my_device_provider_register_custom)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_DEVICE_PROVIDER_REGISTER_DEFINE_CUSTOM(d_p, register_func) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_device_provider_register_, d_p) (GstPlugin * plugin) \
+{ \
+  return register_func (plugin); \
+} \
+G_END_DECLS
+
+/**
+ * GST_DEVICE_PROVIDER_REGISTER_DEFINE:
+ * @d_p: The device provider name in lower case, with words separated by '_'.
+ * Used to generate `gst_device_provider_register_*(GstPlugin* plugin)`.
+ * @d_p_n: The public name of the device provider
+ * @r: The #GstRank of the device provider (higher rank means more importance when autoplugging, see #GstRank)
+ * @t: The #GType of the device provider.
+ *
+ * A convenience macro to define the entry point of a
+ * device provider `gst_device_provider_register_*(GstPlugin* plugin)`.
+ *
+ * Since: 1.20
+ */
+#define GST_DEVICE_PROVIDER_REGISTER_DEFINE(d_p, d_p_n, r, t) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_device_provider_register_, d_p) (GstPlugin * plugin) \
+{ \
+  return gst_device_provider_register (plugin, d_p_n, r, t); \
+} \
+G_END_DECLS
+
+/**
+ * GST_DEVICE_PROVIDER_REGISTER_DECLARE:
+ * @d_p: The device provider name in lower case, with words separated by '_'.
+ *
+ * This macro can be used to declare a new device provider.
+ * It has to be used in combination with #GST_DEVICE_PROVIDER_REGISTER_DEFINE macro
+ * and must be placed outside any block to declare the device provider registration
+ * function.
+ *
+ * Since: 1.20
+ */
+#define GST_DEVICE_PROVIDER_REGISTER_DECLARE(d_p) \
+G_BEGIN_DECLS \
+gboolean G_PASTE(gst_device_provider_register_, d_p) (GstPlugin * plugin); \
+G_END_DECLS
+
+/**
+ * GST_DEVICE_PROVIDER_REGISTER:
+ * @d_p: The device provider name in lower case, with words separated by '_'.
+ * @plugin: The #GstPlugin where to register the device provider.
+ *
+ * This macro can be used to register a device provider into a #GstPlugin.
+ * This method will be usually called in the plugin init function
+ * but can also be called with a NULL plugin.
+ *
+ * Since: 1.20
+ */
+#define GST_DEVICE_PROVIDER_REGISTER(d_p, plugin) G_PASTE(gst_device_provider_register_, d_p) (plugin)
+
 G_BEGIN_DECLS
 
 typedef struct _GstDeviceProvider GstDeviceProvider;
@@ -71,7 +154,8 @@ struct _GstDeviceProvider {
  * @factory: a pointer to the #GstDeviceProviderFactory that creates this
  *  provider
  * @probe: Returns a list of devices that are currently available.
- *  This should never block.
+ *  This should never block. The devices should not have a parent and should
+ *  be floating.
  * @start: Starts monitoring for new devices. Only subclasses that can know
  *  that devices have been added or remove need to implement this method.
  * @stop: Stops monitoring for new devices. Only subclasses that implement
@@ -138,6 +222,9 @@ GST_API
 const gchar * gst_device_provider_get_metadata       (GstDeviceProvider * provider,
                                                       const gchar * key);
 
+GST_API
+gboolean    gst_device_provider_is_started     (GstDeviceProvider * provider);
+
 /* device provider class meta data */
 
 GST_API
diff --git a/gst/gstdeviceproviderfactory.c b/gst/gstdeviceproviderfactory.c
index 91e96ef..8f54f88 100644
--- a/gst/gstdeviceproviderfactory.c
+++ b/gst/gstdeviceproviderfactory.c
@@ -270,7 +270,7 @@ gst_device_provider_factory_get (GstDeviceProviderFactory * factory)
 
   GST_INFO ("getting device provider \"%s\"", GST_OBJECT_NAME (factory));
 
-  if (factory->type == 0)
+  if (factory->type == G_TYPE_INVALID)
     goto no_type;
 
   device_provider = g_atomic_pointer_get (&newfactory->provider);
@@ -283,8 +283,10 @@ gst_device_provider_factory_get (GstDeviceProviderFactory * factory)
    * also set name as early as we can
    */
   device_provider = g_object_new (factory->type, NULL);
-  if (G_UNLIKELY (device_provider == NULL))
-    goto no_device_provider;
+  if (G_UNLIKELY (!device_provider)) {
+    gst_object_unref (factory);
+    g_return_val_if_fail (device_provider != NULL, NULL);
+  }
 
   /* fill in the pointer to the factory in the device provider class. The
    * class will not be unreffed currently.
@@ -328,12 +330,6 @@ no_type:
     gst_object_unref (factory);
     return NULL;
   }
-no_device_provider:
-  {
-    GST_WARNING_OBJECT (factory, "could not create device provider");
-    gst_object_unref (factory);
-    return NULL;
-  }
 }
 
 /**
diff --git a/gst/gstdynamictypefactory.h b/gst/gstdynamictypefactory.h
index c8ac3c6..371dafb 100644
--- a/gst/gstdynamictypefactory.h
+++ b/gst/gstdynamictypefactory.h
@@ -22,6 +22,54 @@
 #ifndef __GST_DYNAMIC_TYPE_FACTORY_H__
 #define __GST_DYNAMIC_TYPE_FACTORY_H__
 
+/**
+ * GST_DYNAMIC_TYPE_REGISTER_DEFINE:
+ * @t_n: The dynamic type name in lower case, with words separated by '_'.
+ * Used to generate `gst_dynamic_type_register_*(GstPlugin* plugin)`.
+ * @t: The #GType of the dynamic type
+
+ * A convenience macro to define the entry point of a
+ * dynamic type `gst_dynamic_type_register_*(GstPlugin* plugin)`.
+ *
+ * Since: 1.20
+ */
+#define GST_DYNAMIC_TYPE_REGISTER_DEFINE(t_n, t) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_dynamic_type_register_, t_n) (GstPlugin * plugin) \
+{ \
+  return gst_dynamic_type_register (plugin, t); \
+} \
+G_END_DECLS
+
+/**
+ * GST_DYNAMIC_TYPE_REGISTER_DECLARE:
+ * @t_f: The dynamic type name in lower case, with words separated by '_'.
+ *
+ * This macro can be used to declare a new dynamic type.
+ * It has to be used in combination with #GST_DYNAMIC_TYPE_REGISTER_DEFINE macro
+ * and must be placed outside any block to declare the type find registration
+ * function.
+ *
+ * Since: 1.20
+ */
+#define GST_DYNAMIC_TYPE_REGISTER_DECLARE(t_n) \
+G_BEGIN_DECLS \
+gboolean G_PASTE(gst_dynamic_type_register_, t_n) (GstPlugin * plugin); \
+G_END_DECLS
+
+/**
+ * GST_DYNAMIC_TYPE_REGISTER:
+ * @t_n: The dynamic type name to register
+ * @plugin: The #GstPlugin where to register the dynamic type.
+ *
+ * This macro can be used to register a dynamic type into a #GstPlugin.
+ * This method will be usually called in the plugin init function
+ * but can also be called with a NULL plugin.
+ *
+ * Since: 1.20
+ */
+#define GST_DYNAMIC_TYPE_REGISTER(t_n, plugin) G_PASTE(gst_dynamic_type_register_, t_n) (plugin)
+
 /**
  * GstDynamicTypeFactory:
  *
diff --git a/gst/gstelement.c b/gst/gstelement.c
index 584cfd8..154b612 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -101,12 +101,10 @@
 #include "gstquark.h"
 #include "gsttracerutils.h"
 #include "gstvalue.h"
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "glib-compat-private.h"
 
-#ifndef GST_DISABLE_GST_DEBUG
 #include "printf/printf.h"
-#endif
 
 /* Element signals and args */
 enum
@@ -152,7 +150,7 @@ static gboolean gst_element_default_query (GstElement * element,
     GstQuery * query);
 
 static GstPadTemplate
-    * gst_element_class_get_request_pad_template (GstElementClass *
+    * gst_element_class_request_pad_simple_template (GstElementClass *
     element_class, const gchar * name);
 
 static void gst_element_call_async_func (gpointer data, gpointer user_data);
@@ -166,10 +164,14 @@ static GThreadPool *gst_element_pool = NULL;
 /* this is used in gstelementfactory.c:gst_element_register() */
 GQuark __gst_elementclass_factory = 0;
 
+/* used for gst_element_type_set_skip_documentation() and
+ * gst_element_factory_get_skip_documentation() */
+GQuark __gst_elementclass_skip_doc = 0;
+
 GType
 gst_element_get_type (void)
 {
-  static volatile gsize gst_element_type = 0;
+  static gsize gst_element_type = 0;
 
   if (g_once_init_enter (&gst_element_type)) {
     GType _type;
@@ -191,6 +193,8 @@ gst_element_get_type (void)
 
     __gst_elementclass_factory =
         g_quark_from_static_string ("GST_ELEMENTCLASS_FACTORY");
+    __gst_elementclass_skip_doc =
+        g_quark_from_static_string ("GST_ELEMENTCLASS_SKIP_DOCUMENTATION");
     g_once_init_leave (&gst_element_type, _type);
   }
   return gst_element_type;
@@ -413,7 +417,7 @@ gst_element_set_clock_func (GstElement * element, GstClock * clock)
 /**
  * gst_element_set_clock:
  * @element: a #GstElement to set the clock for.
- * @clock: (transfer none) (allow-none): the #GstClock to set for the element.
+ * @clock: (transfer none) (nullable): the #GstClock to set for the element.
  *
  * Sets the clock for the element. This function increases the
  * refcount on the clock. Any previously set clock on the object
@@ -488,6 +492,7 @@ gst_element_set_base_time (GstElement * element, GstClockTime time)
   GstClockTime old;
 
   g_return_if_fail (GST_IS_ELEMENT (element));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (time));
 
   GST_OBJECT_LOCK (element);
   old = element->base_time;
@@ -742,6 +747,7 @@ gst_element_add_pad (GstElement * element, GstPad * pad)
 {
   gchar *pad_name;
   gboolean active;
+  gboolean should_activate;
 
   g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
   g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
@@ -766,10 +772,8 @@ gst_element_add_pad (GstElement * element, GstPad * pad)
     goto had_parent;
 
   /* check for active pads */
-  if (!active && (GST_STATE (element) > GST_STATE_READY ||
-          GST_STATE_NEXT (element) == GST_STATE_PAUSED)) {
-    gst_pad_set_active (pad, TRUE);
-  }
+  should_activate = !active && (GST_STATE (element) > GST_STATE_READY ||
+      GST_STATE_NEXT (element) == GST_STATE_PAUSED);
 
   g_free (pad_name);
 
@@ -791,6 +795,9 @@ gst_element_add_pad (GstElement * element, GstPad * pad)
   element->pads_cookie++;
   GST_OBJECT_UNLOCK (element);
 
+  if (should_activate)
+    gst_pad_set_active (pad, TRUE);
+
   /* emit the PAD_ADDED signal */
   g_signal_emit (element, gst_element_signals[PAD_ADDED], 0, pad);
   GST_TRACER_ELEMENT_ADD_PAD (element, pad);
@@ -1045,7 +1052,7 @@ gst_element_is_valid_request_template_name (const gchar * templ_name,
     /* %s is not allowed for multiple specifiers, just a single specifier can be
      * accepted in gst_pad_template_new() and can not be mixed with other
      * specifier '%u' and '%d' */
-    if (*(templ_name_ptr + 1) == 's' && g_strcmp0 (templ_name, name) == 0) {
+    if (*(templ_name_ptr + 1) == 's') {
       return TRUE;
     }
 
@@ -1158,6 +1165,16 @@ _gst_element_request_pad (GstElement * element, GstPadTemplate * templ,
   }
 #endif
 
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  {
+    if (!g_list_find (oclass->padtemplates, templ)) {
+      /* FIXME 2.0: Change this to g_return_val_if_fail() */
+      g_critical ("Element type %s does not have a pad template %s (%p)",
+          g_type_name (G_OBJECT_TYPE (element)), templ->name_template, templ);
+    }
+  }
+#endif
+
   if (oclass->request_new_pad)
     newpad = (oclass->request_new_pad) (element, templ, name, caps);
 
@@ -1167,11 +1184,34 @@ _gst_element_request_pad (GstElement * element, GstPadTemplate * templ,
   return newpad;
 }
 
+#ifndef GST_REMOVE_DEPRECATED
 /**
  * gst_element_get_request_pad:
  * @element: a #GstElement to find a request pad of.
  * @name: the name of the request #GstPad to retrieve.
  *
+ * The name of this function is confusing to people learning GStreamer.
+ * gst_element_request_pad_simple() aims at making it more explicit it is
+ * a simplified gst_element_request_pad().
+ *
+ * Deprecated: 1.20: Prefer using gst_element_request_pad_simple() which
+ * provides the exact same functionality.
+ *
+ * Returns: (transfer full) (nullable): requested #GstPad if found,
+ *     otherwise %NULL.  Release after usage.
+ */
+GstPad *
+gst_element_get_request_pad (GstElement * element, const gchar * name)
+{
+  return gst_element_request_pad_simple (element, name);
+}
+#endif
+
+/**
+ * gst_element_request_pad_simple:
+ * @element: a #GstElement to find a request pad of.
+ * @name: the name of the request #GstPad to retrieve.
+ *
  * Retrieves a pad from the element by name (e.g. "src_\%d"). This version only
  * retrieves request pads. The pad should be released with
  * gst_element_release_request_pad().
@@ -1180,11 +1220,18 @@ _gst_element_request_pad (GstElement * element, GstPadTemplate * templ,
  * gst_element_request_pad() if the pads should have a specific name (e.g.
  * @name is "src_1" instead of "src_\%u").
  *
+ * Note that this function was introduced in GStreamer 1.20 in order to provide
+ * a better name to gst_element_get_request_pad(). Prior to 1.20, users
+ * should use gst_element_get_request_pad() which provides the same
+ * functionality.
+ *
  * Returns: (transfer full) (nullable): requested #GstPad if found,
  *     otherwise %NULL.  Release after usage.
+ *
+ * Since: 1.20
  */
 GstPad *
-gst_element_get_request_pad (GstElement * element, const gchar * name)
+gst_element_request_pad_simple (GstElement * element, const gchar * name)
 {
   GstPadTemplate *templ = NULL;
   GstPad *pad;
@@ -1198,7 +1245,7 @@ gst_element_get_request_pad (GstElement * element, const gchar * name)
 
   class = GST_ELEMENT_GET_CLASS (element);
 
-  templ = gst_element_class_get_request_pad_template (class, name);
+  templ = gst_element_class_request_pad_simple_template (class, name);
   if (templ) {
     req_name = strstr (name, "%") ? NULL : name;
     templ_found = TRUE;
@@ -1714,9 +1761,9 @@ gst_element_get_metadata (GstElement * element, const gchar * key)
  *
  * Retrieves a list of the pad templates associated with @element_class. The
  * list must not be modified by the calling code.
- * > If you use this function in the #GInstanceInitFunc of an object class
+ * > If you use this function in the GInstanceInitFunc of an object class
  * > that has subclasses, make sure to pass the g_class parameter of the
- * > #GInstanceInitFunc here.
+ * > GInstanceInitFunc here.
  *
  * Returns: (transfer none) (element-type Gst.PadTemplate): the #GList of
  *     pad templates.
@@ -1756,9 +1803,9 @@ gst_element_get_pad_template_list (GstElement * element)
  * @name: the name of the #GstPadTemplate to get.
  *
  * Retrieves a padtemplate from @element_class with the given name.
- * > If you use this function in the #GInstanceInitFunc of an object class
+ * > If you use this function in the GInstanceInitFunc of an object class
  * > that has subclasses, make sure to pass the g_class parameter of the
- * > #GInstanceInitFunc here.
+ * > GInstanceInitFunc here.
  *
  * Returns: (transfer none) (nullable): the #GstPadTemplate with the
  *     given name, or %NULL if none was found. No unreferencing is
@@ -1811,7 +1858,7 @@ gst_element_get_pad_template (GstElement * element, const gchar * name)
 }
 
 static GstPadTemplate *
-gst_element_class_get_request_pad_template (GstElementClass *
+gst_element_class_request_pad_simple_template (GstElementClass *
     element_class, const gchar * name)
 {
   GstPadTemplate *tmpl;
@@ -3385,6 +3432,7 @@ gst_element_dispose (GObject * object)
   gst_object_replace ((GstObject **) clock_p, NULL);
   gst_object_replace ((GstObject **) bus_p, NULL);
   g_list_free_full (element->contexts, (GDestroyNotify) gst_context_unref);
+  element->contexts = NULL;
   GST_OBJECT_UNLOCK (element);
 
   GST_CAT_INFO_OBJECT (GST_CAT_REFCOUNTING, element, "%p parent class dispose",
@@ -3845,7 +3893,8 @@ _priv_gst_element_cleanup (void)
  * @name: Name of the first field to set
  * @...: variable arguments in the same form as #GstStructure
  *
- * Create a #GstStructure to be used with #gst_element_message_full_with_details
+ * Create a #GstStructure to be used with #gst_element_message_full_with_details.
+ * %NULL terminator required.
  *
  * Since: 1.10
  */
diff --git a/gst/gstelement.h b/gst/gstelement.h
index c1bfb45..e690bf0 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -28,6 +28,142 @@
 
 G_BEGIN_DECLS
 
+/**
+ * _GST_ELEMENT_REGISTER_DEFINE_BEGIN: (attributes doc.skip=true)
+ */
+#define _GST_ELEMENT_REGISTER_DEFINE_BEGIN(element) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_element_register_, element) (GstPlugin * plugin) \
+{ \
+  {
+
+/**
+ * _GST_ELEMENT_REGISTER_DEFINE_END: (attributes doc.skip=true)
+ */
+#define _GST_ELEMENT_REGISTER_DEFINE_END(element_name, rank, type) \
+  } \
+  return gst_element_register (plugin, element_name, rank, type); \
+} \
+G_END_DECLS
+
+/**
+ * GST_ELEMENT_REGISTER_DEFINE_CUSTOM:
+ * @element: The element name in lower case, with words separated by '_'.
+ * Used to generate `gst_element_register_*(GstPlugin* plugin)`.
+ * @register_func: pointer to a method with the format: `gboolean register_func (GstPlugin* plugin);`
+ *
+ * A convenience macro to define the entry point of an
+ * element `gst_element_register_*(GstPlugin* plugin)` which uses
+ * register_func as the main registration method for the element.
+ * As an example, you may define the element named "streamer-filter"
+ * with the namespace `my` as following using `element_register_custom`:
+ *
+ * ```
+ * GST_ELEMENT_REGISTER_DEFINE_CUSTOM (my_element, element_register_custom)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_ELEMENT_REGISTER_DEFINE_CUSTOM(element, register_func) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_element_register_, element) (GstPlugin * plugin) \
+{ \
+  return register_func (plugin); \
+} \
+G_END_DECLS
+
+/**
+ * GST_ELEMENT_REGISTER_DEFINE:
+ * @e: The element name in lower case, with words separated by '_'.
+ * Used to generate `gst_element_register_*(GstPlugin* plugin)`.
+ * @e_n: The public name of the element
+ * @r: The #GstRank of the element (higher rank means more importance when autoplugging, see #GstRank)
+ * @t: The #GType of the element.
+ *
+ * A convenience macro to define the entry point of an
+ * element `gst_element_register_*(GstPlugin* plugin)`.
+ * As an example, you may define the element named "streamer-filter"
+ * with the namespace `my` as following:
+ *
+ * ```
+ * GST_ELEMENT_REGISTER_REGISTER_DEFINE (stream_filter, "stream-filter", GST_RANK_PRIMARY, MY_TYPE_STREAM_FILTER)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_ELEMENT_REGISTER_DEFINE(e, e_n, r, t) _GST_ELEMENT_REGISTER_DEFINE_BEGIN(e) _GST_ELEMENT_REGISTER_DEFINE_END(e_n, r, t)
+
+/**
+ * GST_ELEMENT_REGISTER_DEFINE_WITH_CODE:
+ * @e: The element name in lower case, with words separated by '_'.
+ * Used to generate `gst_element_register_*(GstPlugin* plugin)`.
+ * @e_n: The public name of the element
+ * @r: The #GstRank of the element (higher rank means more importance when autoplugging, see #GstRank)
+ * @t: The #GType of the element.
+ * @_c_: Custom code that gets inserted in the gst_element_register_*() function.
+ *
+ * A convenience macro to define the entry point of an
+ * element `gst_element_register_*(GstPlugin* plugin)` executing code
+ * before gst_element_register in `gst_element_register_*(GstPlugin* plugin)`.
+
+ * As an example, you may define the element named "stream-filter"
+ * with the namespace `my` as following:
+ *
+ * ```
+ * #define _pre_register_init \
+ *   my_stream_filter_pre_register (plugin);
+ * GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (stream_filter, "stream-filter", GST_RANK_PRIMARY, MY_TYPE_STREAM_FILTER, _pre_register_init)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_ELEMENT_REGISTER_DEFINE_WITH_CODE(e, e_n, r, t, _c_) _GST_ELEMENT_REGISTER_DEFINE_BEGIN(e) {_c_;} _GST_ELEMENT_REGISTER_DEFINE_END(e_n, r, t)
+
+/**
+ * GST_ELEMENT_REGISTER_DECLARE:
+ * @element: The element name in lower case, with words separated by '_'.
+ *
+ * This macro can be used to declare a new element.
+ * It has to be used in combination with #GST_ELEMENT_REGISTER_DEFINE macros
+ * and must be placed outside any block to declare the element registration
+ * function.
+ * As an example, you may declare the element named "stream-filter"
+ * with the namespace `my` as following:
+ *
+ * ```
+ * GST_ELEMENT_REGISTER_DECLARE (stream_filter)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_ELEMENT_REGISTER_DECLARE(element) \
+G_BEGIN_DECLS \
+gboolean G_PASTE(gst_element_register_, element) (GstPlugin * plugin); \
+G_END_DECLS
+
+/**
+ * GST_ELEMENT_REGISTER:
+ * @element: The element name in lower case, with words separated by '_'.
+ * @plugin: The #GstPlugin where to register the element.
+ *
+ * This macro can be used to register an element into a #GstPlugin.
+ * This method will be usually called in the plugin init function
+ * but can also be called with a NULL plugin,
+ * for example with a static registration of the element.
+ * It has to be used in combination with #GST_ELEMENT_REGISTER_DECLARE.
+ *
+ * ```
+ * GstPlugin* plugin;
+ *
+ * ...
+ *
+ * GST_ELEMENT_REGISTER (stream_filter, plugin);
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_ELEMENT_REGISTER(element, plugin) G_PASTE(gst_element_register_, element) (plugin)
+
 /* gstelement.h and gstelementfactory.h include each other */
 typedef struct _GstElement GstElement;
 typedef struct _GstElementClass GstElementClass;
@@ -348,7 +484,7 @@ typedef enum
 #define GST_ELEMENT_START_TIME(elem)            (GST_ELEMENT_CAST(elem)->start_time)
 
 GST_API
-GstStructure *gst_make_element_message_details (const char *name, ...);
+GstStructure *gst_make_element_message_details (const char *name, ...) G_GNUC_NULL_TERMINATED;
 
 #define GST_ELEMENT_MESSAGE_MAKE_DETAILS(args) gst_make_element_message_details args
 
@@ -902,9 +1038,12 @@ void                    gst_element_no_more_pads        (GstElement *element);
 GST_API
 GstPad*                 gst_element_get_static_pad      (GstElement *element, const gchar *name);
 
-GST_API
+GST_API G_DEPRECATED_FOR(gst_element_request_pad_simple)
 GstPad*                 gst_element_get_request_pad     (GstElement *element, const gchar *name);
 
+GST_API
+GstPad*                 gst_element_request_pad_simple  (GstElement *element, const gchar *name);
+
 GST_API
 GstPad*                 gst_element_request_pad         (GstElement *element, GstPadTemplate *templ,
 							 const gchar * name, const GstCaps *caps);
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index f7b71bb..ea3427a 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -39,12 +39,12 @@
  *
  * ## Using an element factory
  * |[<!-- language="C" -->
- *   #include &lt;gst/gst.h&gt;
+ *   #include <gst/gst.h>
  *
  *   GstElement *src;
  *   GstElementFactory *srcfactory;
  *
- *   gst_init (&amp;argc, &amp;argv);
+ *   gst_init (&argc, &argv);
  *
  *   srcfactory = gst_element_factory_find ("filesrc");
  *   g_return_if_fail (srcfactory != NULL);
@@ -65,6 +65,8 @@
 
 #include "glib-compat-private.h"
 
+#include <gobject/gvaluecollector.h>
+
 GST_DEBUG_CATEGORY_STATIC (element_factory_debug);
 #define GST_CAT_DEFAULT element_factory_debug
 
@@ -75,6 +77,7 @@ static void gst_element_factory_cleanup (GstElementFactory * factory);
 
 /* this is defined in gstelement.c */
 extern GQuark __gst_elementclass_factory;
+extern GQuark __gst_elementclass_skip_doc;
 
 #define _do_init \
 { \
@@ -326,20 +329,147 @@ detailserror:
 }
 
 /**
- * gst_element_factory_create:
+ * gst_element_type_set_skip_documentation:
+ * @type: a #GType of element
+ *
+ * Marks @type as "documentation should be skipped".
+ * Can be useful for dynamically registered element to be excluded from
+ * plugin documentation system.
+ *
+ * Example:
+ * ```c
+ * GType my_type;
+ * GTypeInfo my_type_info;
+ *
+ * // Fill "my_type_info"
+ * ...
+ *
+ * my_type = g_type_register_static (GST_TYPE_MY_ELEMENT, "my-type-name",
+ *    &my_type_info, 0);
+ * gst_element_type_set_skip_documentation (my_type);
+ * gst_element_register (plugin, "my-plugin-feature-name", rank, my_type);
+ * ```
+ *
+ * Since: 1.20
+ */
+void
+gst_element_type_set_skip_documentation (GType type)
+{
+  g_return_if_fail (g_type_is_a (type, GST_TYPE_ELEMENT));
+
+  g_type_set_qdata (type, __gst_elementclass_skip_doc, GINT_TO_POINTER (1));
+}
+
+/**
+ * gst_element_factory_get_skip_documentation:
+ * @factory: a #GstElementFactory to query documentation skip
+ *
+ * Queries whether registered element managed by @factory needs to
+ * be excluded from documentation system or not.
+ *
+ * Returns: %TRUE if documentation should be skipped
+ *
+ * Since: 1.20
+ */
+gboolean
+gst_element_factory_get_skip_documentation (GstElementFactory * factory)
+{
+  g_return_val_if_fail (GST_IS_ELEMENT_FACTORY (factory), TRUE);
+
+  if (g_type_get_qdata (factory->type, __gst_elementclass_skip_doc))
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+gst_element_factory_property_valist_to_array (const gchar * first,
+    va_list properties, GType object_type, guint * n, const gchar ** names[],
+    GValue ** values)
+{
+  GObjectClass *class;
+  const gchar *name;
+  guint n_params = 0;
+  guint n_params_alloc = 16;
+  GValue *values_array;
+  const gchar **names_array;
+
+  if (!first)
+    return FALSE;
+
+  g_return_val_if_fail (G_TYPE_IS_OBJECT (object_type), FALSE);
+
+  class = g_type_class_ref (object_type);
+  if (!class)
+    return FALSE;
+
+  name = first;
+  names_array = g_new0 (const gchar *, n_params_alloc);
+  values_array = g_new0 (GValue, n_params_alloc);
+
+  do {
+    gchar *error = NULL;
+    GParamSpec *pspec;
+
+    pspec = g_object_class_find_property (class, name);
+    if (!pspec)
+      goto cleanup;
+
+    if (G_UNLIKELY (n_params == n_params_alloc)) {
+      n_params_alloc *= 2u;
+      names_array =
+          g_realloc (names_array, sizeof (const gchar *) * n_params_alloc);
+      values_array = g_realloc (values_array, sizeof (GValue) * n_params_alloc);
+      memset (&values_array[n_params], 0,
+          sizeof (GValue) * (n_params_alloc - n_params));
+    }
+
+    names_array[n_params] = name;
+
+    G_VALUE_COLLECT_INIT (&values_array[n_params], pspec->value_type,
+        properties, 0, &error);
+
+    if (error) {
+      g_critical ("%s", error);
+      g_free (error);
+      goto cleanup;
+    }
+
+    ++n_params;
+    name = va_arg (properties, const gchar *);
+  } while (name);
+
+  *n = n_params;
+  *names = names_array;
+  *values = values_array;
+  g_type_class_unref (class);
+  return TRUE;
+
+cleanup:
+  g_free (names_array);
+  g_free (values_array);
+  g_type_class_unref (class);
+  return FALSE;
+}
+
+/**
+ * gst_element_factory_create_with_properties:
  * @factory: factory to instantiate
- * @name: (allow-none): name of new element, or %NULL to automatically create
- *    a unique name
+ * @n: count of properties
+ * @names: (nullable) (array length=n): array of properties names
+ * @values: (nullable) (array length=n): array of associated properties values
  *
  * Create a new element of the type defined by the given elementfactory.
- * It will be given the name supplied, since all elements require a name as
- * their first argument.
+ * The supplied list of properties, will be passed at object construction.
  *
  * Returns: (transfer floating) (nullable): new #GstElement or %NULL
  *     if the element couldn't be created
+ *
+ * Since: 1.20
  */
 GstElement *
-gst_element_factory_create (GstElementFactory * factory, const gchar * name)
+gst_element_factory_create_with_properties (GstElementFactory * factory,
+    guint n, const gchar * names[], const GValue values[])
 {
   GstElement *element;
   GstElementClass *oclass;
@@ -356,24 +486,17 @@ gst_element_factory_create (GstElementFactory * factory, const gchar * name)
 
   factory = newfactory;
 
-  if (name)
-    GST_INFO ("creating element \"%s\" named \"%s\"",
-        GST_OBJECT_NAME (factory), GST_STR_NULL (name));
-  else
-    GST_INFO ("creating element \"%s\"", GST_OBJECT_NAME (factory));
+  GST_INFO ("creating element \"%s\"", GST_OBJECT_NAME (factory));
 
-  if (factory->type == 0)
+  if (factory->type == G_TYPE_INVALID)
     goto no_type;
 
-  /* create an instance of the element, cast so we don't assert on NULL
-   * also set name as early as we can
-   */
-  if (name)
-    element = g_object_new (factory->type, "name", name, NULL);
-  else
-    element = g_object_new (factory->type, NULL);
-  if (G_UNLIKELY (element == NULL))
-    goto no_element;
+  element = (GstElement *) g_object_new_with_properties (factory->type, n,
+      names, values);
+  if (G_UNLIKELY (!element)) {
+    gst_object_unref (factory);
+    g_return_val_if_fail (element != NULL, NULL);
+  }
 
   /* fill in the pointer to the factory in the element class. The
    * class will not be unreffed currently.
@@ -404,8 +527,7 @@ gst_element_factory_create (GstElementFactory * factory, const gchar * name)
   /* ERRORS */
 load_failed:
   {
-    GST_WARNING_OBJECT (factory,
-        "loading plugin containing feature %s returned NULL!", name);
+    GST_WARNING_OBJECT (factory, "loading plugin returned NULL!");
     return NULL;
   }
 no_type:
@@ -414,30 +536,207 @@ no_type:
     gst_object_unref (factory);
     return NULL;
   }
-no_element:
+}
+
+/**
+ * gst_element_factory_create_valist:
+ * @factory: factory to instantiate
+ * @first: (nullable): name of the first property
+ * @properties: (nullable): list of properties
+ *
+ * Create a new element of the type defined by the given elementfactory.
+ * The supplied list of properties, will be passed at object construction.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ *     if the element couldn't be created
+ *
+ * Since: 1.20
+ */
+GstElement *
+gst_element_factory_create_valist (GstElementFactory * factory,
+    const gchar * first, va_list properties)
+{
+  GstElementFactory *newfactory;
+  GstElement *element;
+  const gchar **names = NULL;
+  GValue *values = NULL;
+  guint n = 0;
+
+  g_return_val_if_fail (factory != NULL, NULL);
+
+  newfactory =
+      GST_ELEMENT_FACTORY (gst_plugin_feature_load (GST_PLUGIN_FEATURE
+          (factory)));
+
+  if (newfactory == NULL)
+    goto load_failed;
+
+  factory = newfactory;
+
+  if (factory->type == G_TYPE_INVALID)
+    goto no_type;
+
+  if (!first) {
+    element =
+        gst_element_factory_create_with_properties (factory, 0, NULL, NULL);
+    goto out;
+  }
+
+  if (!gst_element_factory_property_valist_to_array (first, properties,
+          factory->type, &n, &names, &values)) {
+    GST_ERROR_OBJECT (factory, "property parsing failed");
+    element = NULL;
+    goto out;
+  }
+
+  element = gst_element_factory_create_with_properties (factory, n, names,
+      values);
+
+  g_free (names);
+  while (n--)
+    g_value_unset (&values[n]);
+  g_free (values);
+
+out:
+  gst_object_unref (factory);
+  return element;
+
+  /* ERRORS */
+load_failed:
+  {
+    GST_WARNING_OBJECT (factory, "loading plugin returned NULL!");
+    return NULL;
+  }
+no_type:
   {
-    GST_WARNING_OBJECT (factory, "could not create element");
+    GST_WARNING_OBJECT (factory, "factory has no type");
     gst_object_unref (factory);
     return NULL;
   }
 }
 
 /**
- * gst_element_factory_make:
- * @factoryname: a named factory to instantiate
- * @name: (allow-none): name of new element, or %NULL to automatically create
+ * gst_element_factory_create_full:
+ * @factory: factory to instantiate
+ * @first: (nullable): name of the first property
+ * @...: (nullable): %NULL terminated list of properties
+ *
+ * Create a new element of the type defined by the given elementfactory.
+ * The supplied list of properties, will be passed at object construction.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ *     if the element couldn't be created
+ *
+ * Since: 1.20
+ */
+GstElement *
+gst_element_factory_create_full (GstElementFactory * factory,
+    const gchar * first, ...)
+{
+  GstElement *element;
+  va_list properties;
+
+  va_start (properties, first);
+  element = gst_element_factory_create_valist (factory, first, properties);
+  va_end (properties);
+
+  return element;
+}
+
+/**
+ * gst_element_factory_create:
+ * @factory: factory to instantiate
+ * @name: (nullable): name of new element, or %NULL to automatically create
  *    a unique name
  *
+ * Create a new element of the type defined by the given elementfactory.
+ * It will be given the name supplied, since all elements require a name as
+ * their first argument.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ *     if the element couldn't be created
+ */
+GstElement *
+gst_element_factory_create (GstElementFactory * factory, const gchar * name)
+{
+  if (name)
+    return gst_element_factory_create_full (factory, "name", name, NULL);
+  else
+    return gst_element_factory_create_with_properties (factory, 0, NULL, NULL);
+}
+
+/**
+ * gst_element_factory_make_with_properties:
+ * @factoryname: a named factory to instantiate
+ * @n: count of properties
+ * @names: (nullable) (array length=n): array of properties names
+ * @values: (nullable) (array length=n): array of associated properties values
+ *
+ * Create a new element of the type defined by the given elementfactory.
+ * The supplied list of properties, will be passed at object construction.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ *     if the element couldn't be created
+ *
+ * Since: 1.20
+ */
+GstElement *
+gst_element_factory_make_with_properties (const gchar * factoryname,
+    guint n, const gchar * names[], const GValue values[])
+{
+  GstElementFactory *factory;
+  GstElement *element;
+
+  g_return_val_if_fail (factoryname != NULL, NULL);
+  g_return_val_if_fail (gst_is_initialized (), NULL);
+
+  GST_LOG ("gstelementfactory: make \"%s\"", factoryname);
+
+  factory = gst_element_factory_find (factoryname);
+  if (factory == NULL)
+    goto no_factory;
+
+  GST_LOG_OBJECT (factory, "found factory %p", factory);
+  element = gst_element_factory_create_with_properties (factory, n, names,
+      values);
+  if (element == NULL)
+    goto create_failed;
+
+  gst_object_unref (factory);
+
+  return element;
+
+  /* ERRORS */
+no_factory:
+  {
+    GST_WARNING ("no such element factory \"%s\"!", factoryname);
+    return NULL;
+  }
+create_failed:
+  {
+    GST_INFO_OBJECT (factory, "couldn't create instance!");
+    gst_object_unref (factory);
+    return NULL;
+  }
+}
+
+/**
+ * gst_element_factory_make_valist:
+ * @factoryname: a named factory to instantiate
+ * @first: (nullable): name of first property
+ * @properties: (nullable): list of properties
+ *
  * Create a new element of the type defined by the given element factory.
- * If name is %NULL, then the element will receive a guaranteed unique name,
- * consisting of the element factory name and a number.
- * If name is given, it will be given the name supplied.
+ * The supplied list of properties, will be passed at object construction.
  *
  * Returns: (transfer floating) (nullable): new #GstElement or %NULL
  * if unable to create element
+ *
+ * Since: 1.20
  */
 GstElement *
-gst_element_factory_make (const gchar * factoryname, const gchar * name)
+gst_element_factory_make_valist (const gchar * factoryname,
+    const gchar * first, va_list properties)
 {
   GstElementFactory *factory;
   GstElement *element;
@@ -445,15 +744,14 @@ gst_element_factory_make (const gchar * factoryname, const gchar * name)
   g_return_val_if_fail (factoryname != NULL, NULL);
   g_return_val_if_fail (gst_is_initialized (), NULL);
 
-  GST_LOG ("gstelementfactory: make \"%s\" \"%s\"",
-      factoryname, GST_STR_NULL (name));
+  GST_LOG ("gstelementfactory: make \"%s\"", factoryname);
 
   factory = gst_element_factory_find (factoryname);
   if (factory == NULL)
     goto no_factory;
 
   GST_LOG_OBJECT (factory, "found factory %p", factory);
-  element = gst_element_factory_create (factory, name);
+  element = gst_element_factory_create_valist (factory, first, properties);
   if (element == NULL)
     goto create_failed;
 
@@ -475,6 +773,59 @@ create_failed:
   }
 }
 
+/**
+ * gst_element_factory_make_full:
+ * @factoryname: a named factory to instantiate
+ * @first: (nullable): name of first property
+ * @...: (nullable): %NULL terminated list of properties
+ *
+ * Create a new element of the type defined by the given element factory.
+ * The supplied list of properties, will be passed at object construction.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ * if unable to create element
+ *
+ * Since: 1.20
+ */
+GstElement *
+gst_element_factory_make_full (const gchar * factoryname,
+    const gchar * first, ...)
+{
+  GstElement *element;
+  va_list properties;
+
+  va_start (properties, first);
+
+  element = gst_element_factory_make_valist (factoryname, first, properties);
+
+  va_end (properties);
+  return element;
+}
+
+/**
+ * gst_element_factory_make:
+ * @factoryname: a named factory to instantiate
+ * @name: (nullable): name of new element, or %NULL to automatically create
+ *    a unique name
+ *
+ * Create a new element of the type defined by the given element factory.
+ * If name is %NULL, then the element will receive a guaranteed unique name,
+ * consisting of the element factory name and a number.
+ * If name is given, it will be given the name supplied.
+ *
+ * Returns: (transfer floating) (nullable): new #GstElement or %NULL
+ * if unable to create element
+ */
+GstElement *
+gst_element_factory_make (const gchar * factoryname, const gchar * name)
+{
+  if (name)
+    return gst_element_factory_make_full (factoryname, "name", name, NULL);
+  else
+    return gst_element_factory_make_with_properties (factoryname, 0, NULL,
+        NULL);
+}
+
 void
 __gst_element_factory_add_static_pad_template (GstElementFactory * factory,
     GstStaticPadTemplate * templ)
diff --git a/gst/gstelementfactory.h b/gst/gstelementfactory.h
index cffb123..07f3f81 100644
--- a/gst/gstelementfactory.h
+++ b/gst/gstelementfactory.h
@@ -84,12 +84,36 @@ GST_API
 GstElement*             gst_element_factory_create              (GstElementFactory *factory,
                                                                  const gchar *name) G_GNUC_MALLOC;
 GST_API
+GstElement*             gst_element_factory_create_full         (GstElementFactory * factory,
+                                                                 const gchar * first, ...) G_GNUC_MALLOC;
+GST_API
+GstElement *            gst_element_factory_create_valist       (GstElementFactory * factory,
+                                                                 const gchar * first, va_list properties) G_GNUC_MALLOC;
+GST_API
+GstElement *            gst_element_factory_create_with_properties (GstElementFactory * factory,
+                                                                 guint n, const gchar *names[], const GValue values[]) G_GNUC_MALLOC;
+GST_API
 GstElement*             gst_element_factory_make                (const gchar *factoryname, const gchar *name) G_GNUC_MALLOC;
 
+GST_API
+GstElement*             gst_element_factory_make_full           (const gchar *factoryname,
+                                                                  const gchar *first, ...) G_GNUC_MALLOC;
+GST_API
+GstElement*             gst_element_factory_make_valist         (const gchar *factoryname,
+                                                                 const gchar *first, va_list properties) G_GNUC_MALLOC;
+GST_API
+GstElement*             gst_element_factory_make_with_properties (const gchar *factoryname,
+                                                                 guint n, const gchar *names[], const GValue values[]) G_GNUC_MALLOC;
 GST_API
 gboolean                gst_element_register                    (GstPlugin *plugin, const gchar *name,
                                                                  guint rank, GType type);
 
+GST_API
+void                    gst_element_type_set_skip_documentation (GType type);
+
+GST_API
+gboolean                gst_element_factory_get_skip_documentation (GstElementFactory * factory);
+
 /* Factory list functions */
 
 /**
diff --git a/gst/gsterror.c b/gst/gsterror.c
index 059cbca..3e11566 100644
--- a/gst/gsterror.c
+++ b/gst/gsterror.c
@@ -117,7 +117,7 @@
 
 #include "gst_private.h"
 #include <gst/gst.h>
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #define QUARK_FUNC(string)                                              \
 GQuark gst_ ## string ## _error_quark (void) {                          \
diff --git a/gst/gstevent.c b/gst/gstevent.c
index 5b3d572..0bd4ac0 100644
--- a/gst/gstevent.c
+++ b/gst/gstevent.c
@@ -213,6 +213,33 @@ gst_event_type_get_flags (GstEventType type)
   return ret;
 }
 
+/**
+ * gst_event_type_to_sticky_ordering
+ * @type: a #GstEventType
+ *
+ * Converts the #GstEventType to an unsigned integer that
+ * represents the ordering of sticky events when re-sending them.
+ * A lower value represents a higher-priority event.
+ *
+ * Returns: an unsigned integer
+ * Since: 1.22
+ */
+/* FIXME 2.0: Remove the sticky event order overrides once
+ * the event type numbers are fixed */
+guint
+gst_event_type_to_sticky_ordering (GstEventType type)
+{
+  guint sticky_order = type;
+
+  /* Fix up the sticky event ordering for events where the
+   * type was chosen poorly */
+  if (type == GST_EVENT_INSTANT_RATE_CHANGE) {
+    sticky_order = GST_EVENT_SEGMENT + 1;
+  }
+
+  return sticky_order;
+}
+
 static void
 _gst_event_free (GstEvent * event)
 {
@@ -298,7 +325,7 @@ gst_event_init (GstEventImpl * event, GstEventType type)
  * New custom events can also be created by subclassing the event type if
  * needed.
  *
- * Returns: (transfer full) (nullable): the new custom event.
+ * Returns: (transfer full): the new custom event.
  */
 GstEvent *
 gst_event_new_custom (GstEventType type, GstStructure * structure)
@@ -354,15 +381,15 @@ gst_event_get_structure (GstEvent * event)
 
 /**
  * gst_event_writable_structure:
- * @event: The #GstEvent.
+ * @event: A writable #GstEvent.
  *
  * Get a writable version of the structure.
  *
  * Returns: (transfer none): The structure of the event. The structure
  * is still owned by the event, which means that you should not free
  * it and that the pointer becomes invalid when you free the event.
- * This function checks if @event is writable and will never return
- * %NULL.
+ * This function ensures that @event is writable, and if so, will
+ * never return %NULL.
  *
  * MT safe.
  */
@@ -591,7 +618,7 @@ gst_event_new_flush_stop (gboolean reset_time)
 /**
  * gst_event_parse_flush_stop:
  * @event: The event to parse
- * @reset_time: (out): if time should be reset
+ * @reset_time: (out) (optional): if time should be reset
  *
  * Parse the FLUSH_STOP event and retrieve the @reset_time member.
  */
@@ -626,8 +653,7 @@ gst_event_parse_flush_stop (GstEvent * event, gboolean * reset_time)
  *
  * Note: The list of @streams can not be empty.
  *
- * Returns: (transfer full): a new select-streams event or %NULL in case of
- * an error (like an empty streams list).
+ * Returns: (transfer full): a new select-streams event.
  *
  * Since: 1.10
  */
@@ -661,7 +687,7 @@ gst_event_new_select_streams (GList * streams)
 /**
  * gst_event_parse_select_streams:
  * @event: The event to parse
- * @streams: (out) (element-type utf8) (transfer full): the streams
+ * @streams: (out) (optional) (element-type utf8) (transfer full): the streams
  *
  * Parse the SELECT_STREAMS event and retrieve the contained streams.
  *
@@ -724,7 +750,7 @@ gst_event_new_stream_group_done (guint group_id)
 /**
  * gst_event_parse_stream_group_done:
  * @event: a stream-group-done event.
- * @group_id: (out): address of variable to store the group id into
+ * @group_id: (out) (optional): address of variable to store the group id into
  *
  * Parse a stream-group-done @event and store the result in the given
  * @group_id location.
@@ -804,9 +830,9 @@ gst_event_new_gap (GstClockTime timestamp, GstClockTime duration)
 /**
  * gst_event_parse_gap:
  * @event: a #GstEvent of type #GST_EVENT_GAP
- * @timestamp: (out) (allow-none): location where to store the
+ * @timestamp: (out) (optional): location where to store the
  *     start time (pts) of the gap, or %NULL
- * @duration: (out) (allow-none): location where to store the duration of
+ * @duration: (out) (optional): location where to store the duration of
  *     the gap, or %NULL
  *
  * Extract timestamp and duration from a new GAP event.
@@ -826,6 +852,51 @@ gst_event_parse_gap (GstEvent * event, GstClockTime * timestamp,
       GST_QUARK (DURATION), GST_TYPE_CLOCK_TIME, duration, NULL);
 }
 
+/**
+ * gst_event_set_gap_flags:
+ * @event: a #GstEvent of type #GST_EVENT_GAP
+ * @flags: a #GstGapFlags
+ *
+ * Sets @flags on @event to give additional information about the reason for
+ * the #GST_EVENT_GAP.
+ *
+ * Since: 1.20
+ */
+void
+gst_event_set_gap_flags (GstEvent * event, GstGapFlags flags)
+{
+  g_return_if_fail (event != NULL);
+  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_GAP);
+  g_return_if_fail (gst_event_is_writable (event));
+
+  gst_structure_id_set (GST_EVENT_STRUCTURE (event),
+      GST_QUARK (GAP_FLAGS), GST_TYPE_GAP_FLAGS, flags, NULL);
+}
+
+/**
+ * gst_event_parse_gap_flags:
+ * @event: a #GstEvent of type #GST_EVENT_GAP
+ * @flags: (out) (optional): a #GstGapFlags or %NULL
+ *
+ * Retrieve the gap flags that may have been set on a gap event with
+ * gst_event_set_gap_flags().
+ *
+ * Since: 1.20
+ */
+void
+gst_event_parse_gap_flags (GstEvent * event, GstGapFlags * flags)
+{
+  g_return_if_fail (event != NULL);
+  g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_GAP);
+
+  /* Initialize to 0 for GAP events that don't have the field set */
+  if (flags)
+    *flags = 0;
+
+  gst_structure_id_get (GST_EVENT_STRUCTURE (event),
+      GST_QUARK (GAP_FLAGS), GST_TYPE_GAP_FLAGS, flags, NULL);
+}
+
 /**
  * gst_event_new_caps:
  * @caps: (transfer none): a #GstCaps
@@ -834,7 +905,7 @@ gst_event_parse_gap (GstEvent * event, GstClockTime * timestamp,
  * synchronized with the buffer flow and contains the format of the buffers
  * that will follow after the event.
  *
- * Returns: (transfer full) (nullable): the new CAPS event.
+ * Returns: (transfer full): the new CAPS event.
  */
 GstEvent *
 gst_event_new_caps (GstCaps * caps)
@@ -856,7 +927,7 @@ gst_event_new_caps (GstCaps * caps)
 /**
  * gst_event_parse_caps:
  * @event: The event to parse
- * @caps: (out) (transfer none): A pointer to the caps
+ * @caps: (out) (optional) (transfer none): A pointer to the caps
  *
  * Get the caps from @event. The caps remains valid as long as @event remains
  * valid.
@@ -912,7 +983,7 @@ gst_event_parse_caps (GstEvent * event, GstCaps ** caps)
  *
  *   time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)
  *
- * Returns: (transfer full) (nullable): the new SEGMENT event.
+ * Returns: (transfer full): the new SEGMENT event.
  */
 GstEvent *
 gst_event_new_segment (const GstSegment * segment)
@@ -937,7 +1008,7 @@ gst_event_new_segment (const GstSegment * segment)
 /**
  * gst_event_parse_segment:
  * @event: The event to parse
- * @segment: (out) (transfer none): a pointer to a #GstSegment
+ * @segment: (out) (optional) (transfer none): a pointer to a #GstSegment
  *
  * Parses a segment @event and stores the result in the given @segment location.
  * @segment remains valid only until the @event is freed. Don't modify the segment
@@ -1014,7 +1085,7 @@ gst_event_new_tag (GstTagList * taglist)
 /**
  * gst_event_parse_tag:
  * @event: a tag event
- * @taglist: (out) (transfer none): pointer to metadata list
+ * @taglist: (out) (optional) (transfer none): pointer to metadata list
  *
  * Parses a tag @event and stores the results in the given @taglist location.
  * No reference to the taglist will be returned, it remains valid only until
@@ -1076,10 +1147,10 @@ gst_event_new_buffer_size (GstFormat format, gint64 minsize,
 /**
  * gst_event_parse_buffer_size:
  * @event: The event to query
- * @format: (out): A pointer to store the format in
- * @minsize: (out): A pointer to store the minsize in
- * @maxsize: (out): A pointer to store the maxsize in
- * @async: (out): A pointer to store the async-flag in
+ * @format: (out) (optional): A pointer to store the format in
+ * @minsize: (out) (optional): A pointer to store the minsize in
+ * @maxsize: (out) (optional): A pointer to store the maxsize in
+ * @async: (out) (optional): A pointer to store the async-flag in
  *
  * Get the format, minsize, maxsize and async-flag in the buffersize event.
  */
@@ -1161,7 +1232,7 @@ gst_event_parse_buffer_size (GstEvent * event, GstFormat * format,
  * The application can use general event probes to intercept the QoS
  * event and implement custom application specific QoS handling.
  *
- * Returns: (transfer full) (nullable): a new QOS event.
+ * Returns: (transfer full): a new QOS event.
  */
 GstEvent *
 gst_event_new_qos (GstQOSType type, gdouble proportion,
@@ -1191,10 +1262,10 @@ gst_event_new_qos (GstQOSType type, gdouble proportion,
 /**
  * gst_event_parse_qos:
  * @event: The event to query
- * @type: (out): A pointer to store the QoS type in
- * @proportion: (out): A pointer to store the proportion in
- * @diff: (out): A pointer to store the diff in
- * @timestamp: (out): A pointer to store the timestamp in
+ * @type: (out) (optional): A pointer to store the QoS type in
+ * @proportion: (out) (optional): A pointer to store the proportion in
+ * @diff: (out) (optional): A pointer to store the diff in
+ * @timestamp: (out) (optional): A pointer to store the timestamp in
  *
  * Get the type, proportion, diff and timestamp in the qos event. See
  * gst_event_new_qos() for more information about the different QoS values.
@@ -1287,7 +1358,7 @@ gst_event_parse_qos (GstEvent * event, GstQOSType * type,
  * #GST_QUERY_POSITION and update the playback segment current position with a
  * #GST_SEEK_TYPE_SET to the desired position.
  *
- * Returns: (transfer full) (nullable): a new seek event.
+ * Returns: (transfer full): a new seek event.
  */
 GstEvent *
 gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags,
@@ -1348,13 +1419,13 @@ gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags,
 /**
  * gst_event_parse_seek:
  * @event: a seek event
- * @rate: (out): result location for the rate
- * @format: (out): result location for the stream format
- * @flags:  (out): result location for the #GstSeekFlags
- * @start_type: (out): result location for the #GstSeekType of the start position
- * @start: (out): result location for the start position expressed in @format
- * @stop_type:  (out): result location for the #GstSeekType of the stop position
- * @stop: (out): result location for the stop position expressed in @format
+ * @rate: (out) (optional): result location for the rate
+ * @format: (out) (optional): result location for the stream format
+ * @flags:  (out) (optional): result location for the #GstSeekFlags
+ * @start_type: (out) (optional): result location for the #GstSeekType of the start position
+ * @start: (out) (optional): result location for the start position expressed in @format
+ * @stop_type:  (out) (optional): result location for the #GstSeekType of the stop position
+ * @stop: (out) (optional): result location for the stop position expressed in @format
  *
  * Parses a seek @event and stores the results in the given result locations.
  */
@@ -1422,7 +1493,7 @@ gst_event_set_seek_trickmode_interval (GstEvent * event, GstClockTime interval)
 
 /**
  * gst_event_parse_seek_trickmode_interval:
- * @interval: (out)
+ * @interval: (out) (optional): interval
  *
  * Retrieve the trickmode interval that may have been set on a
  * seek event with gst_event_set_seek_trickmode_interval().
@@ -1437,6 +1508,9 @@ gst_event_parse_seek_trickmode_interval (GstEvent * event,
   g_return_if_fail (interval != NULL);
   g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_SEEK);
 
+  if (interval)
+    *interval = GST_CLOCK_TIME_NONE;
+
   gst_structure_id_get (GST_EVENT_STRUCTURE (event),
       GST_QUARK (TRICKMODE_INTERVAL), GST_TYPE_CLOCK_TIME, interval, NULL);
 }
@@ -1444,7 +1518,8 @@ gst_event_parse_seek_trickmode_interval (GstEvent * event,
 /**
  * gst_event_new_navigation:
  * @structure: (transfer full): description of the event. The event will take
- *     ownership of the structure.
+ *     ownership of the structure. See #GstNavigation for more specific
+ *     constructors.
  *
  * Create a new navigation event from the given description.
  *
@@ -1477,6 +1552,8 @@ gst_event_new_latency (GstClockTime latency)
   GstEvent *event;
   GstStructure *structure;
 
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (latency), NULL);
+
   GST_CAT_INFO (GST_CAT_EVENT,
       "creating latency event %" GST_TIME_FORMAT, GST_TIME_ARGS (latency));
 
@@ -1490,7 +1567,7 @@ gst_event_new_latency (GstClockTime latency)
 /**
  * gst_event_parse_latency:
  * @event: The event to query
- * @latency: (out): A pointer to store the latency in.
+ * @latency: (out) (optional): A pointer to store the latency in.
  *
  * Get the latency in the latency event.
  */
@@ -1528,7 +1605,7 @@ gst_event_parse_latency (GstEvent * event, GstClockTime * latency)
  * The @intermediate flag instructs the pipeline that this step operation is
  * part of a larger step operation.
  *
- * Returns: (transfer full) (nullable): a new #GstEvent
+ * Returns: (transfer full): a new #GstEvent
  */
 GstEvent *
 gst_event_new_step (GstFormat format, guint64 amount, gdouble rate,
@@ -1555,11 +1632,11 @@ gst_event_new_step (GstFormat format, guint64 amount, gdouble rate,
 /**
  * gst_event_parse_step:
  * @event: The event to query
- * @format: (out) (allow-none): a pointer to store the format in
- * @amount: (out) (allow-none): a pointer to store the amount in
- * @rate: (out) (allow-none): a pointer to store the rate in
- * @flush: (out) (allow-none): a pointer to store the flush boolean in
- * @intermediate: (out) (allow-none): a pointer to store the intermediate
+ * @format: (out) (optional): a pointer to store the format in
+ * @amount: (out) (optional): a pointer to store the amount in
+ * @rate: (out) (optional): a pointer to store the rate in
+ * @flush: (out) (optional): a pointer to store the flush boolean in
+ * @intermediate: (out) (optional): a pointer to store the intermediate
  *     boolean in
  *
  * Parse the step event.
@@ -1648,7 +1725,7 @@ gst_event_new_sink_message (const gchar * name, GstMessage * msg)
 /**
  * gst_event_parse_sink_message:
  * @event: The event to query
- * @msg: (out) (transfer full): a pointer to store the #GstMessage in.
+ * @msg: (out) (optional) (transfer full): a pointer to store the #GstMessage in.
  *
  * Parse the sink-message event. Unref @msg after usage.
  */
@@ -1712,7 +1789,7 @@ gst_event_new_stream_start (const gchar * stream_id)
 /**
  * gst_event_parse_stream_start:
  * @event: a stream-start event.
- * @stream_id: (out) (transfer none): pointer to store the stream-id
+ * @stream_id: (out) (optional) (transfer none): pointer to store the stream-id
  *
  * Parse a stream-id @event and store the result in the given @stream_id
  * location. The string stored in @stream_id must not be modified and will
@@ -1758,7 +1835,7 @@ gst_event_set_stream (GstEvent * event, GstStream * stream)
 /**
  * gst_event_parse_stream:
  * @event: a stream-start event
- * @stream: (out) (transfer full): address of variable to store the stream
+ * @stream: (out) (optional) (transfer full): address of variable to store the stream
  *
  * Parse a stream-start @event and extract the #GstStream from it.
  *
@@ -1771,10 +1848,10 @@ gst_event_parse_stream (GstEvent * event, GstStream ** stream)
   g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
 
   if (stream) {
+    *stream = NULL;
     gst_structure_id_get (GST_EVENT_STRUCTURE (event),
         GST_QUARK (STREAM), GST_TYPE_STREAM, stream, NULL);
   }
-
 }
 
 /**
@@ -1798,7 +1875,7 @@ gst_event_set_stream_flags (GstEvent * event, GstStreamFlags flags)
 /**
  * gst_event_parse_stream_flags:
  * @event: a stream-start event
- * @flags: (out): address of variable where to store the stream flags
+ * @flags: (out) (optional): address of variable where to store the stream flags
  *
  * Since: 1.2
  */
@@ -1809,6 +1886,7 @@ gst_event_parse_stream_flags (GstEvent * event, GstStreamFlags * flags)
   g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START);
 
   if (flags) {
+    *flags = 0;
     gst_structure_id_get (GST_EVENT_STRUCTURE (event),
         GST_QUARK (FLAGS), GST_TYPE_STREAM_FLAGS, flags, NULL);
   }
@@ -1844,7 +1922,7 @@ gst_event_set_group_id (GstEvent * event, guint group_id)
 /**
  * gst_event_parse_group_id:
  * @event: a stream-start event
- * @group_id: (out): address of variable where to store the group id
+ * @group_id: (out) (optional): address of variable where to store the group id
  *
  * Returns: %TRUE if a group id was set on the event and could be parsed,
  *   %FALSE otherwise.
@@ -1859,6 +1937,7 @@ gst_event_parse_group_id (GstEvent * event, guint * group_id)
       FALSE);
 
   if (group_id) {
+    *group_id = 0;
     return gst_structure_id_get (GST_EVENT_STRUCTURE (event),
         GST_QUARK (GROUP_ID), G_TYPE_UINT, group_id, NULL);
   }
@@ -1868,7 +1947,7 @@ gst_event_parse_group_id (GstEvent * event, guint * group_id)
 
 /**
  * gst_event_new_stream_collection:
- * @collection: Active collection for this data flow
+ * @collection: (transfer none): Active collection for this data flow
  *
  * Create a new STREAM_COLLECTION event. The stream collection event can only
  * travel downstream synchronized with the buffer flow.
@@ -1900,7 +1979,7 @@ gst_event_new_stream_collection (GstStreamCollection * collection)
 /**
  * gst_event_parse_stream_collection:
  * @event: a stream-collection event
- * @collection: (out): pointer to store the collection
+ * @collection: (out) (optional) (transfer full): pointer to store the collection.
  *
  * Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event.
  *
@@ -1960,8 +2039,8 @@ gst_event_new_toc (GstToc * toc, gboolean updated)
 /**
  * gst_event_parse_toc:
  * @event: a TOC event.
- * @toc: (out) (transfer full): pointer to #GstToc structure.
- * @updated: (out): pointer to store TOC updated flag.
+ * @toc: (out) (optional) (transfer full): pointer to #GstToc structure.
+ * @updated: (out) (optional): pointer to store TOC updated flag.
  *
  * Parse a TOC @event and store the results in the given @toc and @updated locations.
  */
@@ -2009,7 +2088,7 @@ gst_event_new_toc_select (const gchar * uid)
 /**
  * gst_event_parse_toc_select:
  * @event: a TOC select event.
- * @uid: (out) (transfer full) (allow-none): storage for the selection UID.
+ * @uid: (out) (transfer full) (optional): storage for the selection UID.
  *
  * Parse a TOC select @event and store the results in the given @uid location.
  */
@@ -2070,8 +2149,7 @@ gst_event_parse_toc_select (GstEvent * event, gchar ** uid)
  * event of a particular @origin and @system_id will
  * be stuck to the output pad of the sending element.
  *
- * Returns: a #GST_EVENT_PROTECTION event, if successful; %NULL
- * if unsuccessful.
+ * Returns: (transfer full): a #GST_EVENT_PROTECTION event.
  *
  * Since: 1.6
  */
@@ -2105,11 +2183,11 @@ gst_event_new_protection (const gchar * system_id,
 /**
  * gst_event_parse_protection:
  * @event: a #GST_EVENT_PROTECTION event.
- * @system_id: (out) (allow-none) (transfer none): pointer to store the UUID
+ * @system_id: (out) (optional) (transfer none): pointer to store the UUID
  * string uniquely identifying a content protection system.
- * @data: (out) (allow-none) (transfer none): pointer to store a #GstBuffer
+ * @data: (out) (optional) (transfer none): pointer to store a #GstBuffer
  * holding protection system specific information.
- * @origin: (out) (allow-none) (transfer none): pointer to store a value that
+ * @origin: (out) (optional) (transfer none): pointer to store a value that
  * indicates where the protection information carried by @event was extracted
  * from.
  *
@@ -2173,8 +2251,8 @@ gst_event_new_segment_done (GstFormat format, gint64 position)
 /**
  * gst_event_parse_segment_done:
  * @event: A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.
- * @format: (out) (allow-none): Result location for the format, or %NULL
- * @position: (out) (allow-none): Result location for the position, or %NULL
+ * @format: (out) (optional): Result location for the format, or %NULL
+ * @position: (out) (optional): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment done message.
  *
@@ -2243,9 +2321,9 @@ gst_event_new_instant_rate_change (gdouble rate_multiplier,
 /**
  * gst_event_parse_instant_rate_change:
  * @event: a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE
- * @rate_multiplier: (out) (allow-none): location in which to store the rate
+ * @rate_multiplier: (out) (optional): location in which to store the rate
  *     multiplier of the instant-rate-change event, or %NULL
- * @new_flags: (out) (allow-none): location in which to store the new
+ * @new_flags: (out) (optional): location in which to store the new
  *     segment flags of the instant-rate-change event, or %NULL
  *
  * Extract rate and flags from an instant-rate-change event.
@@ -2319,11 +2397,11 @@ gst_event_new_instant_rate_sync_time (gdouble rate_multiplier,
 /**
  * gst_event_parse_instant_rate_sync_time:
  * @event: a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE
- * @rate_multiplier: (out) (allow-none): location where to store the rate of
+ * @rate_multiplier: (out) (optional): location where to store the rate of
  *     the instant-rate-sync-time event, or %NULL
- * @running_time: (out) (allow-none): location in which to store the running time
+ * @running_time: (out) (optional): location in which to store the running time
  *     of the instant-rate-sync-time event, or %NULL
- * @upstream_running_time: (out) (allow-none): location in which to store the
+ * @upstream_running_time: (out) (optional): location in which to store the
  *     upstream running time of the instant-rate-sync-time event, or %NULL
  *
  * Extract the rate multiplier and running times from an instant-rate-sync-time event.
@@ -2351,7 +2429,7 @@ gst_event_parse_instant_rate_sync_time (GstEvent * event,
  * gst_event_replace: (skip)
  * @old_event: (inout) (transfer full) (nullable): pointer to a
  *     pointer to a #GstEvent to be replaced.
- * @new_event: (allow-none) (transfer none): pointer to a #GstEvent that will
+ * @new_event: (nullable) (transfer none): pointer to a #GstEvent that will
  *     replace the event pointed to by @old_event.
  *
  * Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
@@ -2390,7 +2468,7 @@ gst_event_steal (GstEvent ** old_event)
  * gst_event_take: (skip)
  * @old_event: (inout) (transfer full) (nullable): pointer to a
  *     pointer to a #GstEvent to be stolen.
- * @new_event: (allow-none) (transfer full): pointer to a #GstEvent that will
+ * @new_event: (nullable) (transfer full): pointer to a #GstEvent that will
  *     replace the event pointed to by @old_event.
  *
  * Modifies a pointer to a #GstEvent to point to a different #GstEvent. This
diff --git a/gst/gstevent.h b/gst/gstevent.h
index f4f1ebe..a58eb40 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -169,6 +169,7 @@ typedef enum {
   GST_EVENT_GAP                   = GST_EVENT_MAKE_TYPE (160, _FLAG(DOWNSTREAM) | _FLAG(SERIALIZED)),
 
   /* sticky downstream non-serialized */
+  /* FIXME 2.0: change to value 72 and move after the GST_EVENT_SEGMENT event */
   GST_EVENT_INSTANT_RATE_CHANGE   = GST_EVENT_MAKE_TYPE (180, _FLAG(DOWNSTREAM) | _FLAG(STICKY)),
 
   /* upstream events */
@@ -374,6 +375,19 @@ typedef enum {
   GST_QOS_TYPE_THROTTLE        = 2
 } GstQOSType;
 
+/**
+ * GstGapFlags:
+ * @GST_GAP_FLAG_MISSING_DATA: The #GST_EVENT_GAP signals missing data,
+ *    for example because of packet loss.
+ *
+ * The different flags that can be set on #GST_EVENT_GAP events. See
+ * gst_event_set_gap_flags() for details.
+ *
+ * Since: 1.20
+ */
+typedef enum {
+  GST_GAP_FLAG_MISSING_DATA = (1<<0),
+} GstGapFlags;
 
 /**
  * GstEvent:
@@ -404,6 +418,10 @@ GST_API
 GstEventTypeFlags
                 gst_event_type_get_flags        (GstEventType type);
 
+
+GST_API
+guint gst_event_type_to_sticky_ordering (GstEventType type) G_GNUC_CONST;
+
 #ifndef GST_DISABLE_MINIOBJECT_INLINE_FUNCTIONS
 /* refcounting */
 static inline GstEvent *
@@ -557,6 +575,14 @@ void            gst_event_parse_gap             (GstEvent     * event,
                                                  GstClockTime * timestamp,
                                                  GstClockTime * duration);
 
+GST_API
+void            gst_event_set_gap_flags           (GstEvent    * event,
+                                                   GstGapFlags   flags);
+
+GST_API
+void            gst_event_parse_gap_flags         (GstEvent    * event,
+                                                   GstGapFlags * flags);
+
 /* Caps events */
 
 GST_API
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
index d788d9b..e5efe8f 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
@@ -73,7 +73,7 @@
  * If you must do that for some reason, there is still an option.
  * If the debugging
  * subsystem was compiled out, GST_DISABLE_GST_DEBUG is defined in
- * &lt;gst/gst.h&gt;,
+ * <gst/gst.h>,
  * so you can check that before doing your trick.
  * Disabling the debugging subsystem will give you a slight (read: unnoticeable)
  * speed increase and will reduce the size of your compiled code. The GStreamer
@@ -97,17 +97,7 @@
 #include <stdio.h>              /* fprintf */
 #include <glib/gstdio.h>
 #include <errno.h>
-#ifdef HAVE_UNISTD_H
-#  include <unistd.h>           /* getpid on UNIX */
-#endif
-#ifdef HAVE_PROCESS_H
-#  include <process.h>          /* getpid on win32 */
-#endif
 #include <string.h>             /* G_VA_COPY */
-#ifdef G_OS_WIN32
-#  define WIN32_LEAN_AND_MEAN   /* prevents from including too many things */
-#  include <windows.h>          /* GetStdHandle, windows console */
-#endif
 
 #include "gst_private.h"
 #include "gstutils.h"
@@ -119,6 +109,8 @@
 #ifdef HAVE_VALGRIND_VALGRIND_H
 #  include <valgrind/valgrind.h>
 #endif
+#endif /* GST_DISABLE_GST_DEBUG */
+
 #include <glib/gprintf.h>       /* g_sprintf */
 
 /* our own printf implementation with custom extensions to %p for caps etc. */
@@ -127,10 +119,34 @@
 
 static char *gst_info_printf_pointer_extension_func (const char *format,
     void *ptr);
-#else /* GST_DISABLE_GST_DEBUG */
 
-#include <glib/gprintf.h>
-#endif /* !GST_DISABLE_GST_DEBUG */
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>           /* getpid on UNIX */
+#endif
+
+#ifdef G_OS_WIN32
+#  define WIN32_LEAN_AND_MEAN   /* prevents from including too many things */
+#  include <windows.h>          /* GetStdHandle, windows console */
+#  include <processthreadsapi.h>        /* GetCurrentProcessId */
+/* getpid() is not allowed in case of UWP, use GetCurrentProcessId() instead
+ * which can be used on both desktop and UWP */
+#endif
+
+/* use glib's abstraction once it's landed
+ * https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2475 */
+#ifdef G_OS_WIN32
+static inline DWORD
+_gst_getpid (void)
+{
+  return GetCurrentProcessId ();
+}
+#else
+static inline pid_t
+_gst_getpid (void)
+{
+  return getpid ();
+}
+#endif
 
 #ifdef HAVE_UNWIND
 /* No need for remote debugging so turn on the 'local only' optimizations in
@@ -147,6 +163,28 @@ static char *gst_info_printf_pointer_extension_func (const char *format,
 
 #ifdef HAVE_DW
 #include <elfutils/libdwfl.h>
+static Dwfl *_global_dwfl = NULL;
+static GMutex _dwfl_mutex;
+
+#define GST_DWFL_LOCK() g_mutex_lock(&_dwfl_mutex);
+#define GST_DWFL_UNLOCK() g_mutex_unlock(&_dwfl_mutex);
+
+static Dwfl *
+get_global_dwfl (void)
+{
+  if (g_once_init_enter (&_global_dwfl)) {
+    static Dwfl_Callbacks callbacks = {
+      .find_elf = dwfl_linux_proc_find_elf,
+      .find_debuginfo = dwfl_standard_find_debuginfo,
+    };
+    Dwfl *_dwfl = dwfl_begin (&callbacks);
+    g_mutex_init (&_dwfl_mutex);
+    g_once_init_leave (&_global_dwfl, _dwfl);
+  }
+
+  return _global_dwfl;
+}
+
 #endif /* HAVE_DW */
 #endif /* HAVE_UNWIND */
 
@@ -266,6 +304,19 @@ struct _GstDebugMessage
   gchar *message;
   const gchar *format;
   va_list arguments;
+
+  /* The emitter of the message (can be NULL) */
+  GObject *object;
+
+  /* Provider of the message. Can be user-provided, or generated dynamically
+   * from object */
+  gchar *object_id;
+
+  /* Whether object_id was dynamically allocated and should be freed */
+  gboolean free_object_id;
+
+  /* heap-allocated write area for short names */
+  gchar tmp_id[32];
 };
 
 /* list of all name/level pairs from --gst-debug and GST_DEBUG */
@@ -278,6 +329,8 @@ typedef struct
 }
 LevelNameEntry;
 
+static void clear_level_names (void);
+
 /* list of all categories */
 static GMutex __cat_mutex;
 static GSList *__categories = NULL;
@@ -302,38 +355,8 @@ static gboolean add_default_log_func = TRUE;
 #define PRETTY_TAGS_DEFAULT  TRUE
 static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
 
-static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
-static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
-
-/* FIXME: export this? */
-gboolean
-_priv_gst_in_valgrind (void)
-{
-  static enum
-  {
-    GST_VG_UNCHECKED,
-    GST_VG_NO_VALGRIND,
-    GST_VG_INSIDE
-  }
-  in_valgrind = GST_VG_UNCHECKED;
-
-  if (in_valgrind == GST_VG_UNCHECKED) {
-#ifdef HAVE_VALGRIND_VALGRIND_H
-    if (RUNNING_ON_VALGRIND) {
-      GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind");
-      in_valgrind = GST_VG_INSIDE;
-    } else {
-      GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff");
-      in_valgrind = GST_VG_NO_VALGRIND;
-    }
-#else
-    in_valgrind = GST_VG_NO_VALGRIND;
-#endif
-    g_assert (in_valgrind == GST_VG_NO_VALGRIND ||
-        in_valgrind == GST_VG_INSIDE);
-  }
-  return (in_valgrind == GST_VG_INSIDE);
-}
+static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
+static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
 
 static gchar *
 _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
@@ -357,7 +380,7 @@ _priv_gst_debug_file_name (const gchar * env)
   gchar *name;
 
   name = g_strdup (env);
-  name = _replace_pattern_in_gst_debug_file_name (name, "%p", getpid ());
+  name = _replace_pattern_in_gst_debug_file_name (name, "%p", _gst_getpid ());
   name = _replace_pattern_in_gst_debug_file_name (name, "%r", g_random_int ());
 
   return name;
@@ -463,9 +486,6 @@ _priv_gst_debug_init (void)
   _priv_GST_CAT_PROTECTION =
       _gst_debug_category_new ("GST_PROTECTION", 0, "protection");
 
-  /* print out the valgrind message if we're in valgrind */
-  _priv_gst_in_valgrind ();
-
   env = g_getenv ("GST_DEBUG_OPTIONS");
   if (env != NULL) {
     if (strstr (env, "full_tags") || strstr (env, "full-tags"))
@@ -515,6 +535,35 @@ gst_debug_log (GstDebugCategory * category, GstDebugLevel level,
   va_end (var_args);
 }
 
+/**
+ * gst_debug_log_id:
+ * @category: category to log
+ * @level: level of the message is in
+ * @file: the file that emitted the message, usually the __FILE__ identifier
+ * @function: the function that emitted the message
+ * @line: the line from that the message was emitted, usually __LINE__
+ * @id: (transfer none) (allow-none): the identifier of the object this message
+ *    relates to, or %NULL if none.
+ * @format: a printf style format string
+ * @...: optional arguments for the format
+ *
+ * Logs the given message using the currently registered debugging handlers.
+ *
+ * Since: 1.22
+ */
+void
+gst_debug_log_id (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    const gchar * id, const gchar * format, ...)
+{
+  va_list var_args;
+
+  va_start (var_args, format);
+  gst_debug_log_id_valist (category, level, file, function, line, id, format,
+      var_args);
+  va_end (var_args);
+}
+
 /* based on g_basename(), which we can't use because it was deprecated */
 static inline const gchar *
 gst_path_basename (const gchar * file_name)
@@ -538,6 +587,49 @@ gst_path_basename (const gchar * file_name)
   return file_name;
 }
 
+static void
+gst_debug_log_full_valist (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    GObject * object, const gchar * id, const gchar * format, va_list args)
+{
+  GstDebugMessage message;
+  LogFuncEntry *entry;
+  GSList *handler;
+
+  g_return_if_fail (category != NULL);
+
+  if (level > gst_debug_category_get_threshold (category))
+    return;
+
+  g_return_if_fail (file != NULL);
+  g_return_if_fail (function != NULL);
+  g_return_if_fail (format != NULL);
+
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  g_return_if_fail (id != NULL || object == NULL || G_IS_OBJECT (object));
+#endif
+
+  message.message = NULL;
+  message.format = format;
+  message.object = object;
+  message.object_id = (gchar *) id;
+  message.free_object_id = FALSE;
+
+  G_VA_COPY (message.arguments, args);
+
+  handler = __log_functions;
+  while (handler) {
+    entry = handler->data;
+    handler = g_slist_next (handler);
+    entry->func (category, level, file, function, line, object, &message,
+        entry->user_data);
+  }
+  g_free (message.message);
+  if (message.free_object_id)
+    g_free (message.object_id);
+  va_end (message.arguments);
+}
+
 /**
  * gst_debug_log_valist:
  * @category: category to log
@@ -556,6 +648,44 @@ void
 gst_debug_log_valist (GstDebugCategory * category, GstDebugLevel level,
     const gchar * file, const gchar * function, gint line,
     GObject * object, const gchar * format, va_list args)
+{
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  g_warn_if_fail (object == NULL || G_IS_OBJECT (object));
+#endif
+
+  gst_debug_log_full_valist (category, level, file, function, line, object,
+      NULL, format, args);
+}
+
+/**
+ * gst_debug_log_id_valist:
+ * @category: category to log
+ * @level: level of the message is in
+ * @file: the file that emitted the message, usually the __FILE__ identifier
+ * @function: the function that emitted the message
+ * @line: the line from that the message was emitted, usually __LINE__
+ * @id: (transfer none) (allow-none): the identifier of the object this message
+ *    relates to or %NULL if none.
+ * @format: a printf style format string
+ * @args: optional arguments for the format
+ *
+ * Logs the given message using the currently registered debugging handlers.
+ *
+ * Since: 1.22
+ */
+void
+gst_debug_log_id_valist (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    const gchar * id, const gchar * format, va_list args)
+{
+  gst_debug_log_full_valist (category, level, file, function, line, NULL, id,
+      format, args);
+}
+
+static void
+gst_debug_log_literal_full (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    GObject * object, const gchar * id, const gchar * message_string)
 {
   GstDebugMessage message;
   LogFuncEntry *entry;
@@ -566,13 +696,18 @@ gst_debug_log_valist (GstDebugCategory * category, GstDebugLevel level,
   if (level > gst_debug_category_get_threshold (category))
     return;
 
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  g_return_if_fail (id != NULL || object == NULL || G_IS_OBJECT (object));
+#endif
+
   g_return_if_fail (file != NULL);
   g_return_if_fail (function != NULL);
-  g_return_if_fail (format != NULL);
+  g_return_if_fail (message_string != NULL);
 
-  message.message = NULL;
-  message.format = format;
-  G_VA_COPY (message.arguments, args);
+  message.message = (gchar *) message_string;
+  message.object = object;
+  message.object_id = (gchar *) id;
+  message.free_object_id = FALSE;
 
   handler = __log_functions;
   while (handler) {
@@ -581,8 +716,61 @@ gst_debug_log_valist (GstDebugCategory * category, GstDebugLevel level,
     entry->func (category, level, file, function, line, object, &message,
         entry->user_data);
   }
-  g_free (message.message);
-  va_end (message.arguments);
+
+  if (message.free_object_id)
+    g_free (message.object_id);
+}
+
+/**
+ * gst_debug_log_literal:
+ * @category: category to log
+ * @level: level of the message is in
+ * @file: the file that emitted the message, usually the __FILE__ identifier
+ * @function: the function that emitted the message
+ * @line: the line from that the message was emitted, usually __LINE__
+ * @object: (transfer none) (allow-none): the object this message relates to,
+ *     or %NULL if none
+ * @message_string: a message string
+ *
+ * Logs the given message using the currently registered debugging handlers.
+ *
+ * Since: 1.20
+ */
+void
+gst_debug_log_literal (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    GObject * object, const gchar * message_string)
+{
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  g_warn_if_fail (object == NULL || G_IS_OBJECT (object));
+#endif
+
+  gst_debug_log_literal_full (category, level, file, function, line, object,
+      NULL, message_string);
+}
+
+/**
+ * gst_debug_log_id_literal:
+ * @category: category to log
+ * @level: level of the message is in
+ * @file: the file that emitted the message, usually the __FILE__ identifier
+ * @function: the function that emitted the message
+ * @line: the line from that the message was emitted, usually __LINE__
+ * @id: (transfer none) (allow-none): the identifier of the object this message relates to
+ *    or %NULL if none
+ * @message_string: a message string
+ *
+ * Logs the given message using the currently registered debugging handlers.
+ *
+ * Since: 1.22
+ */
+void
+gst_debug_log_id_literal (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    const gchar * id, const gchar * message_string)
+{
+  gst_debug_log_literal_full (category, level, file, function, line, NULL, id,
+      message_string);
 }
 
 /**
@@ -609,6 +797,75 @@ gst_debug_message_get (GstDebugMessage * message)
   return message->message;
 }
 
+/* Return the pad name. Will use the provided 32 byte write_area if it fits
+ * within */
+static inline gchar *
+_heap_pad_name (GstPad * pad, gchar * write_area, gboolean * allocated)
+{
+  GstObject *parent = GST_OBJECT_PARENT (pad);
+  const gchar *parentname =
+      parent ? GST_STR_NULL (GST_OBJECT_NAME (parent)) : "''";
+  const gchar *padname = GST_STR_NULL (GST_OBJECT_NAME (pad));
+
+  /* 1 byte for ':' and 1 for terminating '\0' */
+  if (strlen (parentname) + strlen (padname) + 2 <= 32) {
+    g_sprintf (write_area, "%s:%s", parentname, padname);
+    *allocated = FALSE;
+    return write_area;
+  }
+  *allocated = TRUE;
+  return g_strdup_printf ("%s:%s", parentname, padname);
+}
+
+/* Returns the object id. Allocated is set to TRUE if a memory allocation
+ * happened and the returned value should be freed */
+static gchar *
+_get_object_id (GObject * object, gboolean * allocated, gchar * write_area)
+{
+  gchar *object_id;
+
+  if (GST_IS_PAD (object) && GST_OBJECT_NAME (object)) {
+    object_id = _heap_pad_name (GST_PAD_CAST (object), write_area, allocated);
+  } else if (GST_IS_OBJECT (object)
+      && GST_OBJECT_NAME (object)) {
+    object_id = GST_OBJECT_NAME (object);
+    *allocated = FALSE;
+  } else if (G_IS_OBJECT (object)) {
+    object_id = g_strdup_printf ("%s@%p", G_OBJECT_TYPE_NAME (object), object);
+    *allocated = TRUE;
+  } else {
+    object_id = g_strdup_printf ("%p", object);
+    *allocated = TRUE;
+  }
+
+  return object_id;
+}
+
+/**
+ * gst_debug_message_get_id:
+ * @message: a debug message
+ *
+ * Get the id of the object that emitted this message. This function is used in
+ * debug handlers. Can be empty.
+ *
+ * Since: 1.22
+ *
+ * Returns: (nullable): The emitter of a #GstDebugMessage.
+ */
+const gchar *
+gst_debug_message_get_id (GstDebugMessage * message)
+{
+  if (!message->object_id && message->object) {
+    /* Dynamically generate the object id */
+    /* Note : we don't use gst_debug_print_object since we only accept a subset
+     * and can avoid duplicating if needed */
+    message->object_id =
+        _get_object_id (message->object, &message->free_object_id,
+        (gchar *) & message->tmp_id);
+  }
+  return message->object_id;
+}
+
 #define MAX_BUFFER_DUMP_STRING_LEN  100
 
 /* structure_to_pretty_string:
@@ -985,6 +1242,37 @@ gst_info_printf_pointer_extension_func (const char *format, void *ptr)
   return s;
 }
 
+/* Allocation-less generator of color escape code. Provide a 20 byte write
+ * area */
+static void
+_construct_term_color (guint colorinfo, gchar write_area[20])
+{
+  guint offset;
+
+  memcpy (write_area, "\033[00", 4);
+  offset = 4;
+
+  if (colorinfo & GST_DEBUG_BOLD) {
+    memcpy (write_area + offset, ";01", 3);
+    offset += 3;
+  }
+  if (colorinfo & GST_DEBUG_UNDERLINE) {
+    memcpy (write_area + offset, ";04", 3);
+    offset += 3;
+  }
+  if (colorinfo & GST_DEBUG_FG_MASK) {
+    memcpy (write_area + offset, ";3", 2);
+    write_area[offset + 2] = '0' + (colorinfo & GST_DEBUG_FG_MASK);
+    offset += 3;
+  }
+  if (colorinfo & GST_DEBUG_BG_MASK) {
+    memcpy (write_area + offset, ";4", 2);
+    write_area[offset + 2] = '0' + ((colorinfo & GST_DEBUG_BG_MASK) >> 4);
+    offset += 3;
+  }
+  strncpy (write_area + offset, "m", 2);
+}
+
 /**
  * gst_debug_construct_term_color:
  * @colorinfo: the color info
@@ -999,26 +1287,11 @@ gst_info_printf_pointer_extension_func (const char *format, void *ptr)
 gchar *
 gst_debug_construct_term_color (guint colorinfo)
 {
-  GString *color;
-
-  color = g_string_new ("\033[00");
+  gchar tmp_color[20];
 
-  if (colorinfo & GST_DEBUG_BOLD) {
-    g_string_append_len (color, ";01", 3);
-  }
-  if (colorinfo & GST_DEBUG_UNDERLINE) {
-    g_string_append_len (color, ";04", 3);
-  }
-  if (colorinfo & GST_DEBUG_FG_MASK) {
-    g_string_append_printf (color, ";3%1d", colorinfo & GST_DEBUG_FG_MASK);
-  }
-  if (colorinfo & GST_DEBUG_BG_MASK) {
-    g_string_append_printf (color, ";4%1d",
-        (colorinfo & GST_DEBUG_BG_MASK) >> 4);
-  }
-  g_string_append_c (color, 'm');
+  _construct_term_color (colorinfo, tmp_color);
 
-  return g_string_free (color, FALSE);
+  return g_strdup (tmp_color);
 }
 
 /**
@@ -1088,9 +1361,15 @@ gst_debug_construct_win_color (guint colorinfo)
 #else
 #define PTR_FMT "%10p"
 #endif
+#ifdef G_OS_WIN32
+#define PID_FMT "%5lu"
+#else
 #define PID_FMT "%5d"
+#endif
 #define CAT_FMT "%20s %s:%d:%s:%s"
 #define NOCOLOR_PRINT_FMT " "PID_FMT" "PTR_FMT" %s "CAT_FMT" %s\n"
+#define CAT_FMT_ID "%20s %s:%d:%s:<%s>"
+#define NOCOLOR_PRINT_FMT_ID " "PID_FMT" "PTR_FMT" %s "CAT_FMT_ID" %s\n"
 
 #ifdef G_OS_WIN32
 static const guchar levelcolormap_w32[GST_LEVEL_COUNT] = {
@@ -1136,8 +1415,8 @@ static const gchar *levelcolormap[GST_LEVEL_COUNT] = {
 };
 
 static void
-_gst_debug_log_preamble (GstDebugMessage * message, GObject * object,
-    const gchar ** file, const gchar ** message_str, gchar ** obj_str,
+_gst_debug_log_preamble (GstDebugMessage * message, const gchar ** file,
+    const gchar ** message_str, const gchar ** object_id,
     GstClockTime * elapsed)
 {
   gchar c;
@@ -1160,12 +1439,7 @@ _gst_debug_log_preamble (GstDebugMessage * message, GObject * object,
     *file = gst_path_basename (*file);
   }
 
-  if (object) {
-    *obj_str = gst_debug_print_object (object);
-  } else {
-    *obj_str = (gchar *) "";
-  }
-
+  *object_id = gst_debug_message_get_id (message);
   *elapsed = GST_CLOCK_DIFF (_priv_gst_start_time, gst_util_get_timestamp ());
 }
 
@@ -1194,19 +1468,22 @@ gst_debug_log_get_line (GstDebugCategory * category, GstDebugLevel level,
     GObject * object, GstDebugMessage * message)
 {
   GstClockTime elapsed;
-  gchar *ret, *obj_str = NULL;
-  const gchar *message_str;
+  gchar *ret;
+  const gchar *message_str, *object_id;
 
-  _gst_debug_log_preamble (message, object, &file, &message_str, &obj_str,
-      &elapsed);
+  _gst_debug_log_preamble (message, &file, &message_str, &object_id, &elapsed);
 
-  ret = g_strdup_printf ("%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
-      GST_TIME_ARGS (elapsed), getpid (), g_thread_self (),
-      gst_debug_level_get_name (level), gst_debug_category_get_name
-      (category), file, line, function, obj_str, message_str);
+  if (object_id)
+    ret = g_strdup_printf ("%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT_ID,
+        GST_TIME_ARGS (elapsed), _gst_getpid (), g_thread_self (),
+        gst_debug_level_get_name (level), gst_debug_category_get_name
+        (category), file, line, function, object_id, message_str);
+  else
+    ret = g_strdup_printf ("%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
+        GST_TIME_ARGS (elapsed), _gst_getpid (), g_thread_self (),
+        gst_debug_level_get_name (level), gst_debug_category_get_name
+        (category), file, line, function, "", message_str);
 
-  if (object != NULL)
-    g_free (obj_str);
   return ret;
 }
 
@@ -1276,7 +1553,7 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
 {
   gint pid;
   GstClockTime elapsed;
-  gchar *obj = NULL;
+  const gchar *object_id;
   GstDebugColorMode color_mode;
   const gchar *message_str;
   FILE *log_file = user_data ? user_data : stderr;
@@ -1291,10 +1568,13 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
   } G_STMT_END
 #endif
 
-  _gst_debug_log_preamble (message, object, &file, &message_str, &obj,
-      &elapsed);
+#ifdef GST_ENABLE_EXTRA_CHECKS
+  g_warn_if_fail (object == NULL || G_IS_OBJECT (object));
+#endif
+
+  _gst_debug_log_preamble (message, &file, &message_str, &object_id, &elapsed);
 
-  pid = getpid ();
+  pid = _gst_getpid ();
   color_mode = gst_debug_get_color_mode ();
 
   if (color_mode != GST_DEBUG_COLOR_MODE_OFF) {
@@ -1303,26 +1583,34 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
     if (color_mode == GST_DEBUG_COLOR_MODE_UNIX) {
 #endif
       /* colors, non-windows */
-      gchar *color = NULL;
+      gchar color[20];
       const gchar *clear;
       gchar pidcolor[10];
       const gchar *levelcolor;
 
-      color = gst_debug_construct_term_color (gst_debug_category_get_color
-          (category));
+      _construct_term_color (gst_debug_category_get_color (category), color);
       clear = "\033[00m";
       g_sprintf (pidcolor, "\033[%02dm", pid % 6 + 31);
       levelcolor = levelcolormap[level];
 
+      if (object_id) {
+#define PRINT_FMT_ID " %s"PID_FMT"%s "PTR_FMT" %s%s%s %s"CAT_FMT_ID"%s %s\n"
+        FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT PRINT_FMT_ID,
+            GST_TIME_ARGS (elapsed), pidcolor, pid, clear, g_thread_self (),
+            levelcolor, gst_debug_level_get_name (level), clear, color,
+            gst_debug_category_get_name (category), file, line, function,
+            object_id, clear, message_str);
+      } else {
 #define PRINT_FMT " %s"PID_FMT"%s "PTR_FMT" %s%s%s %s"CAT_FMT"%s %s\n"
-      FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT PRINT_FMT,
-          GST_TIME_ARGS (elapsed), pidcolor, pid, clear, g_thread_self (),
-          levelcolor, gst_debug_level_get_name (level), clear, color,
-          gst_debug_category_get_name (category), file, line, function, obj,
-          clear, message_str);
+        FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT PRINT_FMT,
+            GST_TIME_ARGS (elapsed), pidcolor, pid, clear, g_thread_self (),
+            levelcolor, gst_debug_level_get_name (level), clear, color,
+            gst_debug_category_get_name (category), file, line, function, "",
+            clear, message_str);
+      }
       FFLUSH_DEBUG (log_file);
 #undef PRINT_FMT
-      g_free (color);
+#undef PRINT_FMT_ID
 #ifdef G_OS_WIN32
     } else {
       /* colors, windows. */
@@ -1346,8 +1634,14 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
       /* category */
       SET_COLOR (gst_debug_construct_win_color (gst_debug_category_get_color
               (category)));
-      FPRINTF_DEBUG (log_file, CAT_FMT, gst_debug_category_get_name (category),
-          file, line, function, obj);
+      if (object_id) {
+        FPRINTF_DEBUG (log_file, CAT_FMT_ID,
+            gst_debug_category_get_name (category), file, line, function,
+            object_id);
+      } else {
+        FPRINTF_DEBUG (log_file, CAT_FMT,
+            gst_debug_category_get_name (category), file, line, function, "");
+      }
       /* message */
       SET_COLOR (clear);
       FPRINTF_DEBUG (log_file, " %s\n", message_str);
@@ -1356,16 +1650,21 @@ gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
 #endif
   } else {
     /* no color, all platforms */
-    FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
-        GST_TIME_ARGS (elapsed), pid, g_thread_self (),
-        gst_debug_level_get_name (level),
-        gst_debug_category_get_name (category), file, line, function, obj,
-        message_str);
+    if (object_id) {
+      FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT_ID,
+          GST_TIME_ARGS (elapsed), pid, g_thread_self (),
+          gst_debug_level_get_name (level),
+          gst_debug_category_get_name (category), file, line, function,
+          object_id, message_str);
+    } else {
+      FPRINTF_DEBUG (log_file, "%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
+          GST_TIME_ARGS (elapsed), pid, g_thread_self (),
+          gst_debug_level_get_name (level),
+          gst_debug_category_get_name (category), file, line, function, "",
+          message_str);
+    }
     FFLUSH_DEBUG (log_file);
   }
-
-  if (object != NULL)
-    g_free (obj);
 }
 
 /**
@@ -1704,10 +2003,14 @@ gst_debug_get_default_threshold (void)
   return (GstDebugLevel) g_atomic_int_get (&__default_level);
 }
 
+#if !GLIB_CHECK_VERSION(2,70,0)
+#define g_pattern_spec_match_string g_pattern_match_string
+#endif
+
 static gboolean
 gst_debug_apply_entry (GstDebugCategory * cat, LevelNameEntry * entry)
 {
-  if (!g_pattern_match_string (entry->pat, cat->name))
+  if (!g_pattern_spec_match_string (entry->pat, cat->name))
     return FALSE;
 
   if (gst_is_initialized ())
@@ -2051,6 +2354,8 @@ parse_debug_level (gchar * str, GstDebugLevel * level)
     } else {
       return FALSE;
     }
+  } else if (strcmp (str, "NONE") == 0) {
+    *level = GST_LEVEL_NONE;
   } else if (strcmp (str, "ERROR") == 0) {
     *level = GST_LEVEL_ERROR;
   } else if (strncmp (str, "WARN", 4) == 0) {
@@ -2096,8 +2401,10 @@ gst_debug_set_threshold_from_string (const gchar * list, gboolean reset)
 
   g_assert (list);
 
-  if (reset)
+  if (reset) {
+    clear_level_names ();
     gst_debug_set_default_threshold (GST_LEVEL_DEFAULT);
+  }
 
   split = g_strsplit (list, ",", 0);
 
@@ -2197,6 +2504,19 @@ _gst_debug_register_funcptr (GstDebugFuncPtr func, const gchar * ptrname)
   g_mutex_unlock (&__dbg_functions_mutex);
 }
 
+static void
+clear_level_names (void)
+{
+  g_mutex_lock (&__level_name_mutex);
+  while (__level_name) {
+    LevelNameEntry *level_name_entry = __level_name->data;
+    g_pattern_spec_free (level_name_entry->pat);
+    g_slice_free (LevelNameEntry, level_name_entry);
+    __level_name = g_slist_delete_link (__level_name, __level_name);
+  }
+  g_mutex_unlock (&__level_name_mutex);
+}
+
 void
 _priv_gst_debug_cleanup (void)
 {
@@ -2219,14 +2539,7 @@ _priv_gst_debug_cleanup (void)
   }
   g_mutex_unlock (&__cat_mutex);
 
-  g_mutex_lock (&__level_name_mutex);
-  while (__level_name) {
-    LevelNameEntry *level_name_entry = __level_name->data;
-    g_pattern_spec_free (level_name_entry->pat);
-    g_slice_free (LevelNameEntry, level_name_entry);
-    __level_name = g_slist_delete_link (__level_name, __level_name);
-  }
-  g_mutex_unlock (&__level_name_mutex);
+  clear_level_names ();
 
   g_mutex_lock (&__log_func_mutex);
   while (__log_functions) {
@@ -2268,18 +2581,25 @@ gst_info_dump_mem_line (gchar * linebuf, gsize linebuf_size,
       (guint) mem_offset, hexstr, ascstr);
 }
 
-void
-_gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
-    const gchar * func, gint line, GObject * obj, const gchar * msg,
-    const guint8 * data, guint length)
+static void
+_gst_debug_dump_mem_full (GstDebugCategory * cat, const gchar * file,
+    const gchar * func, gint line, GObject * obj, const gchar * object_id,
+    const gchar * msg, const guint8 * data, guint length)
 {
   guint off = 0;
+  gboolean free_object_id = FALSE;
+  gchar tmp_id[32];
+
+  if (object_id == NULL && obj)
+    object_id = _get_object_id (obj, &free_object_id, (gchar *) & tmp_id);
 
-  gst_debug_log ((cat), GST_LEVEL_MEMDUMP, file, func, line, obj, "--------"
+  gst_debug_log_id ((cat), GST_LEVEL_MEMDUMP, file, func, line, object_id,
+      "--------"
       "-------------------------------------------------------------------");
 
   if (msg != NULL && *msg != '\0') {
-    gst_debug_log ((cat), GST_LEVEL_MEMDUMP, file, func, line, obj, "%s", msg);
+    gst_debug_log_id ((cat), GST_LEVEL_MEMDUMP, file, func, line, object_id,
+        "%s", msg);
   }
 
   while (off < length) {
@@ -2287,14 +2607,38 @@ _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
 
     /* gst_info_dump_mem_line will process 16 bytes at most */
     gst_info_dump_mem_line (buf, sizeof (buf), data, off, length - off);
-    gst_debug_log (cat, GST_LEVEL_MEMDUMP, file, func, line, obj, "%s", buf);
+    gst_debug_log_id (cat, GST_LEVEL_MEMDUMP, file, func, line, object_id, "%s",
+        buf);
     off += 16;
   }
 
-  gst_debug_log ((cat), GST_LEVEL_MEMDUMP, file, func, line, obj, "--------"
+  gst_debug_log_id ((cat), GST_LEVEL_MEMDUMP, file, func, line, object_id,
+      "--------"
       "-------------------------------------------------------------------");
+
+  if (free_object_id)
+    g_free ((gchar *) object_id);
 }
 
+void
+_gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
+    const gchar * func, gint line, GObject * obj, const gchar * msg,
+    const guint8 * data, guint length)
+{
+  _gst_debug_dump_mem_full (cat, file, func, line, obj, NULL, msg, data,
+      length);
+}
+
+void
+_gst_debug_dump_mem_id (GstDebugCategory * cat, const gchar * file,
+    const gchar * func, gint line, const gchar * object_id, const gchar * msg,
+    const guint8 * data, guint length)
+{
+  _gst_debug_dump_mem_full (cat, file, func, line, NULL, object_id, msg, data,
+      length);
+}
+
+
 #else /* !GST_DISABLE_GST_DEBUG */
 #ifndef GST_REMOVE_DISABLED
 
@@ -2336,12 +2680,25 @@ gst_debug_log_valist (GstDebugCategory * category, GstDebugLevel level,
 {
 }
 
+void
+gst_debug_log_literal (GstDebugCategory * category, GstDebugLevel level,
+    const gchar * file, const gchar * function, gint line,
+    GObject * object, const gchar * message_string)
+{
+}
+
 const gchar *
 gst_debug_message_get (GstDebugMessage * message)
 {
   return "";
 }
 
+const gchar *
+gst_debug_message_get_id (GstDebugMessage * message)
+{
+  return NULL;
+}
+
 void
 gst_debug_log_default (GstDebugCategory * category, GstDebugLevel level,
     const gchar * file, const gchar * function, gint line,
@@ -2505,12 +2862,6 @@ gst_debug_construct_win_color (guint colorinfo)
   return 0;
 }
 
-gboolean
-_priv_gst_in_valgrind (void)
-{
-  return FALSE;
-}
-
 void
 _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
     const gchar * func, gint line, GObject * obj, const gchar * msg,
@@ -2520,46 +2871,6 @@ _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
 #endif /* GST_REMOVE_DISABLED */
 #endif /* GST_DISABLE_GST_DEBUG */
 
-/* Need this for _gst_element_error_printf even if GST_REMOVE_DISABLED is set:
- * fallback function that cleans up the format string and replaces all pointer
- * extension formats with plain %p. */
-#ifdef GST_DISABLE_GST_DEBUG
-int
-__gst_info_fallback_vasprintf (char **result, char const *format, va_list args)
-{
-  gchar *clean_format, *c;
-  gsize len;
-
-  if (format == NULL)
-    return -1;
-
-  clean_format = g_strdup (format);
-  c = clean_format;
-  while ((c = strstr (c, "%p\a"))) {
-    if (c[3] < 'A' || c[3] > 'Z') {
-      c += 3;
-      continue;
-    }
-    len = strlen (c + 4);
-    memmove (c + 2, c + 4, len + 1);
-    c += 2;
-  }
-  while ((c = strstr (clean_format, "%P")))     /* old GST_PTR_FORMAT */
-    c[1] = 'p';
-  while ((c = strstr (clean_format, "%Q")))     /* old GST_SEGMENT_FORMAT */
-    c[1] = 'p';
-
-  len = g_vasprintf (result, clean_format, args);
-
-  g_free (clean_format);
-
-  if (*result == NULL)
-    return -1;
-
-  return len;
-}
-#endif
-
 /**
  * gst_info_vasprintf:
  * @result: (out): the resulting string
@@ -2583,9 +2894,6 @@ __gst_info_fallback_vasprintf (char **result, char const *format, va_list args)
 gint
 gst_info_vasprintf (gchar ** result, const gchar * format, va_list args)
 {
-  /* This will fallback to __gst_info_fallback_vasprintf() via a #define in
-   * gst_private.h if the debug system is disabled which will remove the gst
-   * specific printf format specifiers */
   return __gst_vasprintf (result, format, args);
 }
 
@@ -2827,12 +3135,6 @@ append_debug_info (GString * trace, Dwfl * dwfl, const void *ip)
   Dwfl_Module *module;
   const gchar *function_name;
 
-  if (dwfl_linux_proc_report (dwfl, getpid ()) != 0)
-    return FALSE;
-
-  if (dwfl_report_end (dwfl, NULL, NULL))
-    return FALSE;
-
   addr = (uintptr_t) ip;
   module = dwfl_addrmodule (dwfl, addr);
   function_name = dwfl_module_addrname (module, addr);
@@ -2870,13 +3172,15 @@ generate_unwind_trace (GstStackTraceFlags flags)
 
 #ifdef HAVE_DW
   Dwfl *dwfl = NULL;
-  Dwfl_Callbacks callbacks = {
-    .find_elf = dwfl_linux_proc_find_elf,
-    .find_debuginfo = dwfl_standard_find_debuginfo,
-  };
 
-  if ((flags & GST_STACK_TRACE_SHOW_FULL))
-    dwfl = dwfl_begin (&callbacks);
+  if ((flags & GST_STACK_TRACE_SHOW_FULL)) {
+    dwfl = get_global_dwfl ();
+    if (G_UNLIKELY (dwfl == NULL)) {
+      GST_WARNING ("Failed to initialize dwlf");
+      goto done;
+    }
+    GST_DWFL_LOCK ();
+  }
 #endif /* HAVE_DW */
 
   unret = unw_getcontext (&uc);
@@ -2891,6 +3195,12 @@ generate_unwind_trace (GstStackTraceFlags flags)
 
     goto done;
   }
+#ifdef HAVE_DW
+  /* Due to plugins being loaded, mapping of process might have changed,
+   * so always scan it. */
+  if (dwfl_linux_proc_report (dwfl, _gst_getpid ()) != 0)
+    goto done;
+#endif
 
   while (unw_step (&cursor) > 0) {
 #ifdef HAVE_DW
@@ -2924,7 +3234,7 @@ generate_unwind_trace (GstStackTraceFlags flags)
 done:
 #ifdef HAVE_DW
   if (dwfl)
-    dwfl_end (dwfl);
+    GST_DWFL_UNLOCK ();
 #endif
 
   return g_string_free (trace, FALSE);
@@ -2941,7 +3251,6 @@ generate_backtrace_trace (void)
   char **strings;
   GString *trace;
 
-  trace = g_string_new (NULL);
   nptrs = backtrace (buffer, BT_BUF_SIZE);
 
   strings = backtrace_symbols (buffer, nptrs);
@@ -2949,6 +3258,8 @@ generate_backtrace_trace (void)
   if (!strings)
     return NULL;
 
+  trace = g_string_new (NULL);
+
   for (j = 0; j < nptrs; j++)
     g_string_append_printf (trace, "%s\n", strings[j]);
 
@@ -3007,7 +3318,7 @@ dbghelp_load_symbol (const gchar * symbol_name, gpointer * symbol)
     dbg_help_module = NULL;
   }
 
-  return ! !dbg_help_module;
+  return dbg_help_module != NULL;
 }
 
 static gboolean
@@ -3045,7 +3356,7 @@ dbghelp_initialize_symbols (HANDLE process)
     g_once_init_leave (&initialization_value, 1);
   }
 
-  return ! !dbg_help_module;
+  return dbg_help_module != NULL;
 }
 
 static gchar *
@@ -3215,22 +3526,19 @@ static GstRingBufferLogger *ring_buffer_logger = NULL;
 
 static void
 gst_ring_buffer_logger_log (GstDebugCategory * category,
-    GstDebugLevel level,
-    const gchar * file,
-    const gchar * function,
+    GstDebugLevel level, const gchar * file, const gchar * function,
     gint line, GObject * object, GstDebugMessage * message, gpointer user_data)
 {
   GstRingBufferLogger *logger = user_data;
-  gint pid;
   GThread *thread;
   GstClockTime elapsed;
-  gchar *obj = NULL;
   gchar c;
   gchar *output;
   gsize output_len;
   GstRingBufferLog *log;
   gint64 now = g_get_monotonic_time ();
   const gchar *message_str = gst_debug_message_get (message);
+  const gchar *object_id = gst_debug_message_get_id (message);
 
   /* __FILE__ might be a file name or an absolute path or a
    * relative path, irrespective of the exact compiler used,
@@ -3241,29 +3549,29 @@ gst_ring_buffer_logger_log (GstDebugCategory * category,
     file = gst_path_basename (file);
   }
 
-  if (object) {
-    obj = gst_debug_print_object (object);
-  } else {
-    obj = (gchar *) "";
-  }
-
   elapsed = GST_CLOCK_DIFF (_priv_gst_start_time, gst_util_get_timestamp ());
-  pid = getpid ();
   thread = g_thread_self ();
 
-  /* no color, all platforms */
-#define PRINT_FMT " "PID_FMT" "PTR_FMT" %s "CAT_FMT" %s\n"
-  output =
-      g_strdup_printf ("%" GST_TIME_FORMAT PRINT_FMT, GST_TIME_ARGS (elapsed),
-      pid, thread, gst_debug_level_get_name (level),
-      gst_debug_category_get_name (category), file, line, function, obj,
-      message_str);
-#undef PRINT_FMT
+  if (object_id) {
+    /* no color, all platforms */
+    output =
+        g_strdup_printf ("%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT_ID,
+        GST_TIME_ARGS (elapsed), _gst_getpid (), thread,
+        gst_debug_level_get_name (level),
+        gst_debug_category_get_name (category), file, line, function,
+        object_id, message_str);
+  } else {
+    /* no color, all platforms */
+    output =
+        g_strdup_printf ("%" GST_TIME_FORMAT NOCOLOR_PRINT_FMT,
+        GST_TIME_ARGS (elapsed), _gst_getpid (), thread,
+        gst_debug_level_get_name (level),
+        gst_debug_category_get_name (category), file, line, function, "",
+        message_str);
+  }
 
   output_len = strlen (output);
 
-  if (object != NULL)
-    g_free (obj);
 
   G_LOCK (ring_buffer_logger);
 
@@ -3343,7 +3651,7 @@ gst_ring_buffer_logger_log (GstDebugCategory * category,
  * Fetches the current logs per thread from the ring buffer logger. See
  * gst_debug_add_ring_buffer_logger() for details.
  *
- * Returns: (transfer full) (array zero-terminated): NULL-terminated array of
+ * Returns: (transfer full) (array zero-terminated=1): NULL-terminated array of
  * strings with the debug output per thread
  *
  * Since: 1.14
diff --git a/gst/gstinfo.h b/gst/gstinfo.h
index 9d8d7f9..416bd7c 100644
--- a/gst/gstinfo.h
+++ b/gst/gstinfo.h
@@ -368,11 +368,48 @@ void            gst_debug_log_valist     (GstDebugCategory * category,
                                           GstDebugLevel      level,
                                           const gchar      * file,
                                           const gchar      * function,
-                                          gint	              line,
+                                          gint	             line,
                                           GObject          * object,
                                           const gchar      * format,
                                           va_list            args) G_GNUC_NO_INSTRUMENT;
 
+GST_API
+void            gst_debug_log_literal    (GstDebugCategory * category,
+                                          GstDebugLevel      level,
+                                          const gchar      * file,
+                                          const gchar      * function,
+                                          gint	             line,
+                                          GObject          * object,
+                                          const gchar      * message_string) G_GNUC_NO_INSTRUMENT;
+
+GST_API
+void		gst_debug_log_id          (GstDebugCategory * category,
+                                          GstDebugLevel      level,
+                                          const gchar      * file,
+                                          const gchar      * function,
+                                          gint               line,
+					  const gchar      * id,
+                                          const gchar      * format,
+                                          ...) G_GNUC_PRINTF (7, 8) G_GNUC_NO_INSTRUMENT;
+GST_API
+void            gst_debug_log_id_valist  (GstDebugCategory * category,
+                                          GstDebugLevel      level,
+                                          const gchar      * file,
+                                          const gchar      * function,
+                                          gint	             line,
+                                          const gchar      * id,
+                                          const gchar      * format,
+                                          va_list            args) G_GNUC_NO_INSTRUMENT;
+
+GST_API
+void            gst_debug_log_id_literal (GstDebugCategory * category,
+                                          GstDebugLevel      level,
+                                          const gchar      * file,
+                                          const gchar      * function,
+                                          gint	             line,
+                                          const gchar      * id,
+                                          const gchar      * message_string) G_GNUC_NO_INSTRUMENT;
+
 /* do not use this function, use the GST_DEBUG_CATEGORY_INIT macro */
 
 GST_API
@@ -386,13 +423,18 @@ GST_API
 GstDebugCategory *_gst_debug_get_category (const gchar *name);
 
 
-/* do not use this function, use the GST_CAT_MEMDUMP_* macros */
+/* do not use these functions, use the GST_CAT_MEMDUMP_* macros */
 
 GST_API
 void _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
     const gchar * func, gint line, GObject * obj, const gchar * msg,
     const guint8 * data, guint length);
 
+GST_API
+void _gst_debug_dump_mem_id (GstDebugCategory * cat, const gchar * file,
+    const gchar * func, gint line, const gchar *object_id, const gchar * msg,
+    const guint8 * data, guint length);
+
 /**
  * GstDebugFuncPtr: (attributes doc.skip=true)
  * we define this to avoid a compiler warning regarding a cast from a function
@@ -414,6 +456,9 @@ const gchar *
 GST_API
 const gchar   * gst_debug_message_get    (GstDebugMessage  * message);
 
+GST_API
+const gchar   * gst_debug_message_get_id (GstDebugMessage  * message);
+
 GST_API
 gchar         * gst_debug_log_get_line    (GstDebugCategory * category,
                                            GstDebugLevel      level,
@@ -714,6 +759,62 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
 #endif
 #endif /* G_HAVE_ISO_VARARGS */
 
+/**
+ * GST_CAT_LEVEL_LOG_ID:
+ * @cat: category to use
+ * @level: the severity of the message
+ * @id: (transfer none) (allow-none): the identifier of the object this message
+ *     relates to, or %NULL if none
+ * @...: A printf-style message to output
+ *
+ * Outputs a debugging message. This is the most general macro for outputting
+ * debugging messages. You will probably want to use one of the ones described
+ * below.
+ *
+ * There is no need to finish the end of the debug message with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+#ifdef G_HAVE_ISO_VARARGS
+#define GST_CAT_LEVEL_LOG_ID(cat,level,id,...) G_STMT_START{		\
+  if (G_UNLIKELY ((level) <= GST_LEVEL_MAX && (level) <= _gst_debug_min)) {						\
+    gst_debug_log_id ((cat), (level), __FILE__, GST_FUNCTION, __LINE__,	\
+		      (id), __VA_ARGS__);				\
+  }									\
+}G_STMT_END
+#else /* G_HAVE_GNUC_VARARGS */
+#ifdef G_HAVE_GNUC_VARARGS
+#define GST_CAT_LEVEL_LOG_ID(cat,level,id,args...) G_STMT_START{	\
+  if (G_UNLIKELY ((level) <= GST_LEVEL_MAX && (level) <= _gst_debug_min)) {						\
+    gst_debug_log_id ((cat), (level), __FILE__, GST_FUNCTION, __LINE__,	\
+		      (id), ##args );					\
+  }									\
+}G_STMT_END
+#else /* no variadic macros, use inline */
+static inline void
+GST_CAT_LEVEL_LOG_ID_valist (GstDebugCategory * cat,
+    GstDebugLevel level, const gchar *id, const char *format, va_list varargs)
+{
+  if (G_UNLIKELY ((level) <= GST_LEVEL_MAX && (level) <= _gst_debug_min)) {
+    gst_debug_log_id_valist (cat, level, "", "", 0, id, format,
+        varargs);
+  }
+}
+
+static inline void
+GST_CAT_LEVEL_LOG_ID (GstDebugCategory * cat, GstDebugLevel level,
+    const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (cat, level, id, format, varargs);
+  va_end (varargs);
+}
+#endif
+#endif /* G_HAVE_ISO_VARARGS */
+
 /* This one doesn't have varargs in the macro, so it's different than all the
  * other macros and hence in a separate block right here. Docs chunks are
  * with the other doc chunks below though. */
@@ -725,12 +826,35 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
   }                                                                           \
 }G_STMT_END
 
+/**
+ * __GST_CAT_MEMDUMP_LOG_ID:
+ *
+ * Only for private usage
+ *
+ * This one doesn't have varargs in the macro, so it's different than all the
+ * other macros and hence in a separate block right here. Docs chunks are
+ * with the other doc chunks below though.
+ *
+ * Since: 1.22
+ */
+#define __GST_CAT_MEMDUMP_LOG_ID(cat,id,msg,data,length) G_STMT_START{	\
+    if (G_UNLIKELY (GST_LEVEL_MEMDUMP <= GST_LEVEL_MAX &&		\
+		    GST_LEVEL_MEMDUMP <= _gst_debug_min)) {		\
+      _gst_debug_dump_mem_id ((cat), __FILE__, GST_FUNCTION, __LINE__,	\
+			      (id), (msg), (data), (length));		\
+    }									\
+}G_STMT_END
+
 #define GST_CAT_MEMDUMP_OBJECT(cat,obj,msg,data,length)  \
     __GST_CAT_MEMDUMP_LOG(cat,obj,msg,data,length)
+#define GST_CAT_MEMDUMP_ID(cat,id,msg,data,length)	\
+    __GST_CAT_MEMDUMP_LOG_ID(cat,id,msg,data,length)
 #define GST_CAT_MEMDUMP(cat,msg,data,length)             \
     __GST_CAT_MEMDUMP_LOG(cat,NULL,msg,data,length)
 #define GST_MEMDUMP_OBJECT(obj,msg,data,length)          \
     __GST_CAT_MEMDUMP_LOG(GST_CAT_DEFAULT,obj,msg,data,length)
+#define GST_MEMDUMP_ID(id,msg,data,length)          \
+    __GST_CAT_MEMDUMP_LOG_ID(GST_CAT_DEFAULT,id,msg,data,length)
 #define GST_MEMDUMP(msg,data,length)                     \
     __GST_CAT_MEMDUMP_LOG(GST_CAT_DEFAULT,NULL,msg,data,length)
 
@@ -828,6 +952,22 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
  * character, a newline character will be added automatically.
  */
 
+/**
+ * GST_CAT_MEMDUMP_ID:
+ * @cat: category to use
+ * @id: An identifier of the message provider
+ * @msg: message string to log with the data
+ * @data: pointer to the data to output
+ * @length: length of the data to output
+ *
+ * Output a hexdump of @data relating to the given @id in the given category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+
 
 /**
  * GST_CAT_ERROR:
@@ -998,6 +1138,107 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
  * character, a newline character will be added automatically.
  */
 
+/**
+ * GST_ERROR_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output an error message for the given identifier in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_WARNING_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output a warning message for the given identifier in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_INFO_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output an informational message for the given identifier the default
+ * category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_DEBUG_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output a debugging message for the given identifier in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_LOG_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output a logging message for the given identifier in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_FIXME_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output a fixme message for the given identifier in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_TRACE_ID:
+ * @id: An identifier of the message provider
+ * @...: printf-style message to output
+ *
+ * Output a tracing message for the given identifier  in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+/**
+ * GST_MEMDUMP_ID:
+ * @id: An identifier of the message provider
+ * @msg: message string to log with the data
+ * @data: pointer to the data to output
+ * @length: length of the data to output
+ *
+ * Output a logging message belonging to the given object in the default category.
+ *
+ * There is no need to finish the end of the message string with a newline
+ * character, a newline character will be added automatically.
+ *
+ * Since: 1.22
+ */
+
+
 
 /**
  * GST_ERROR:
@@ -1100,6 +1341,14 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
 #define GST_FIXME_OBJECT(obj,...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_FIXME,   obj,  __VA_ARGS__)
 #define GST_TRACE_OBJECT(obj,...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_TRACE,   obj,  __VA_ARGS__)
 
+#define GST_ERROR_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_ERROR,   id,  __VA_ARGS__)
+#define GST_WARNING_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_WARNING, id,  __VA_ARGS__)
+#define GST_INFO_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_INFO,    id,  __VA_ARGS__)
+#define GST_DEBUG_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_DEBUG,   id,  __VA_ARGS__)
+#define GST_LOG_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_LOG,     id,  __VA_ARGS__)
+#define GST_FIXME_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_FIXME,   id,  __VA_ARGS__)
+#define GST_TRACE_ID(id,...)	GST_CAT_LEVEL_LOG_ID (GST_CAT_DEFAULT, GST_LEVEL_TRACE,   id,  __VA_ARGS__)
+
 #define GST_ERROR(...)			GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_ERROR,   NULL, __VA_ARGS__)
 #define GST_WARNING(...)		GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, __VA_ARGS__)
 #define GST_INFO(...)			GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_INFO,    NULL, __VA_ARGS__)
@@ -1135,6 +1384,14 @@ GST_CAT_LEVEL_LOG (GstDebugCategory * cat, GstDebugLevel level,
 #define GST_FIXME_OBJECT(obj,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_FIXME,   obj,  ##args )
 #define GST_TRACE_OBJECT(obj,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_TRACE,   obj,  ##args )
 
+#define GST_ERROR_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_ERROR,   id,  ##args )
+#define GST_WARNING_ID(id,args...) GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, id,  ##args )
+#define GST_INFO_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_INFO,    id,  ##args )
+#define GST_DEBUG_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_DEBUG,   id,  ##args )
+#define GST_LOG_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_LOG,     id,  ##args )
+#define GST_FIXME_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_FIXME,   id,  ##args )
+#define GST_TRACE_ID(id,args...)	GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_TRACE,   id,  ##args )
+
 #define GST_ERROR(args...)		GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_ERROR,   NULL, ##args )
 #define GST_WARNING(args...)		GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_WARNING, NULL, ##args )
 #define GST_INFO(args...)		GST_CAT_LEVEL_LOG (GST_CAT_DEFAULT, GST_LEVEL_INFO,    NULL, ##args )
@@ -1369,6 +1626,83 @@ GST_TRACE_OBJECT (gpointer obj, const char *format, ...)
   va_end (varargs);
 }
 
+static inline void
+GST_ERROR_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_ERROR, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_WARNING_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_WARNING, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_INFO_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_INFO, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_DEBUG_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_DEBUG, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_LOG_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_LOG, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_FIXME_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_FIXME, id, format,
+      varargs);
+  va_end (varargs);
+}
+
+static inline void
+GST_TRACE_ID (const gchar *id, const char *format, ...)
+{
+  va_list varargs;
+
+  va_start (varargs, format);
+  GST_CAT_LEVEL_LOG_ID_valist (GST_CAT_DEFAULT, GST_LEVEL_TRACE, id, format,
+      varargs);
+  va_end (varargs);
+}
+
 static inline void
 GST_ERROR (const char *format, ...)
 {
@@ -1496,6 +1830,10 @@ GST_TRACE (const char *format, ...)
 #if defined(__GNUC__) && __GNUC__ >= 3
 #  pragma GCC poison gst_debug_log
 #  pragma GCC poison gst_debug_log_valist
+#  pragma GCC poison gst_debug_log_literal
+#  pragma GCC poison gst_debug_log_id
+#  pragma GCC poison gst_debug_log_id_valist
+#  pragma GCC poison gst_debug_log_id_literal
 #  pragma GCC poison _gst_debug_category_new
 #endif
 
@@ -1506,6 +1844,7 @@ GST_TRACE (const char *format, ...)
 
 #define gst_debug_level_get_name(level)				("NONE")
 #define gst_debug_message_get(message)  			("")
+#define gst_debug_message_get_id(message)  			(NULL)
 #define gst_debug_add_log_function(func,data,notify)    G_STMT_START{ }G_STMT_END
 #define gst_debug_set_active(active)			G_STMT_START{ }G_STMT_END
 #define gst_debug_is_active()				(FALSE)
@@ -1570,6 +1909,14 @@ GST_TRACE (const char *format, ...)
 #define GST_FIXME_OBJECT(...)				G_STMT_START{ }G_STMT_END
 #define GST_TRACE_OBJECT(...)				G_STMT_START{ }G_STMT_END
 
+#define GST_ERROR_ID(...)			G_STMT_START{ }G_STMT_END
+#define GST_WARNING_ID(...)			G_STMT_START{ }G_STMT_END
+#define GST_INFO_ID(...)				G_STMT_START{ }G_STMT_END
+#define GST_DEBUG_ID(...)			G_STMT_START{ }G_STMT_END
+#define GST_LOG_ID(...)				G_STMT_START{ }G_STMT_END
+#define GST_FIXME_ID(...)			G_STMT_START{ }G_STMT_END
+#define GST_TRACE_ID(...)			G_STMT_START{ }G_STMT_END
+
 #define GST_ERROR(...)					G_STMT_START{ }G_STMT_END
 #define GST_WARNING(...)				G_STMT_START{ }G_STMT_END
 #define GST_INFO(...)					G_STMT_START{ }G_STMT_END
@@ -1607,6 +1954,14 @@ GST_TRACE (const char *format, ...)
 #define GST_FIXME_OBJECT(args...)			G_STMT_START{ }G_STMT_END
 #define GST_TRACE_OBJECT(args...)			G_STMT_START{ }G_STMT_END
 
+#define GST_ERROR_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_WARNING_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_INFO_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_DEBUG_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_LOG_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_FIXME_ID(args...)			G_STMT_START{ }G_STMT_END
+#define GST_TRACE_ID(args...)			G_STMT_START{ }G_STMT_END
+
 #define GST_ERROR(args...)				G_STMT_START{ }G_STMT_END
 #define GST_WARNING(args...)				G_STMT_START{ }G_STMT_END
 #define GST_INFO(args...)				G_STMT_START{ }G_STMT_END
@@ -1777,8 +2132,10 @@ GST_TRACE (const char *format, ...)
 #define GST_DEBUG_FUNCPTR_NAME(ptr) (g_strdup_printf ("%p", ptr))
 
 #define GST_CAT_MEMDUMP_OBJECT(cat,obj,msg,data,length) G_STMT_START{ }G_STMT_END
+#define GST_CAT_MEMDUMP_ID(cat,id,msg,data,length)      G_STMT_START{ }G_STMT_END
 #define GST_CAT_MEMDUMP(cat,msg,data,length)            G_STMT_START{ }G_STMT_END
 #define GST_MEMDUMP_OBJECT(obj,msg,data,length)         G_STMT_START{ }G_STMT_END
+#define GST_MEMDUMP_ID(id,msg,data,length)              G_STMT_START{ }G_STMT_END
 #define GST_MEMDUMP(msg,data,length)                    G_STMT_START{ }G_STMT_END
 
 #endif /* GST_DISABLE_GST_DEBUG */
diff --git a/gst/gstiterator.c b/gst/gstiterator.c
index 2689435..af8d2b1 100644
--- a/gst/gstiterator.c
+++ b/gst/gstiterator.c
@@ -44,10 +44,10 @@
  *   GValue item = G_VALUE_INIT;
  *   done = FALSE;
  *   while (!done) {
- *     switch (gst_iterator_next (it, &amp;item)) {
+ *     switch (gst_iterator_next (it, &item)) {
  *       case GST_ITERATOR_OK:
  *         ...get/use/change item here...
- *         g_value_reset (&amp;item);
+ *         g_value_reset (&item);
  *         break;
  *       case GST_ITERATOR_RESYNC:
  *         ...rollback changes to items...
@@ -62,7 +62,7 @@
  *         break;
  *     }
  *   }
- *   g_value_unset (&amp;item);
+ *   g_value_unset (&item);
  *   gst_iterator_free (it);
  * ]|
  */
@@ -212,7 +212,7 @@ static void
 gst_list_iterator_free (GstListIterator * it)
 {
   if (it->owner)
-    gst_object_unref (it->owner);
+    g_object_unref (it->owner);
 }
 
 /**
@@ -629,12 +629,7 @@ gst_iterator_fold (GstIterator * it, GstIteratorFoldFunction func,
 
 fold_done:
 
-#if GLIB_CHECK_VERSION (2, 48, 0)
   g_value_unset (&item);
-#else
-  if (item.g_type != 0)
-    g_value_unset (&item);
-#endif
 
   return result;
 }
diff --git a/gst/gstmacos.h b/gst/gstmacos.h
new file mode 100644
index 0000000..8e1f21a
--- /dev/null
+++ b/gst/gstmacos.h
@@ -0,0 +1,43 @@
+#ifndef __GST_MACOS_H__
+#define __GST_MACOS_H__
+
+#include <gst/gstconfig.h>
+#include <gst/glib-compat.h>
+
+G_BEGIN_DECLS
+
+/**
+ * GstMainFunc:
+ * @argc: the amount of arguments passed in @argv
+ * @argv: (array length=argc): an array of arguments passed to the main function
+ * @user_data: (nullable): user data passed to the main function
+ *
+ * Represents a simple pointer to the main() function of a program.
+ * It is used to pass that function along with its arguments to
+ * gst_macos_main(), which ensures correct behaviour of various
+ * GStreamer elements (e.g glimagesink) on macOS.
+ */
+typedef int (*GstMainFunc) (int argc, char** argv, gpointer user_data);
+
+/**
+ * GstMainFuncSimple:
+ * @user_data: (nullable): user data passed to the main function
+ *
+ * Simplified version of #GstMainFunc, meant to be used with
+ * gst_macos_main_simple(), which does not require argc/argv to be passed.
+ */
+typedef int (*GstMainFuncSimple) (gpointer user_data);
+
+GST_API
+int              gst_macos_main                   (GstMainFunc main_func,
+                                                   int argc,
+                                                   char *argv[],
+                                                   gpointer user_data);
+
+GST_API
+int              gst_macos_main_simple            (GstMainFuncSimple main_func,
+                                                   gpointer user_data);
+
+G_END_DECLS
+
+#endif /* __GST_MACOS_H__ */
diff --git a/gst/gstmacos.m b/gst/gstmacos.m
new file mode 100644
index 0000000..e0cd09b
--- /dev/null
+++ b/gst/gstmacos.m
@@ -0,0 +1,101 @@
+#include "gstmacos.h"
+#include <Cocoa/Cocoa.h>
+
+typedef struct _ThreadArgs ThreadArgs;
+
+struct _ThreadArgs {
+  void* main_func;
+  int argc;
+  char **argv;
+  gpointer user_data;
+  gboolean is_simple;
+};
+
+int
+gst_thread_func (ThreadArgs *args)
+{
+  int ret;
+  if (args->is_simple) {
+    ret = ((GstMainFuncSimple) args->main_func) (args->user_data);
+  } else {
+    ret = ((GstMainFunc) args->main_func) (args->argc, args->argv, args->user_data);
+  }
+
+  [NSApp terminate: nil];
+  return ret;
+}
+
+int
+run_main_with_nsapp (ThreadArgs args)
+{
+  GThread *gst_thread;
+
+  [NSApplication sharedApplication]; 
+  gst_thread = g_thread_new ("macos-gst-thread", (GThreadFunc) gst_thread_func, &args);
+  [NSApp run];
+
+  return GPOINTER_TO_INT (g_thread_join (gst_thread));
+}
+
+/**
+ * gst_macos_main:
+ * @main_func: (scope async): pointer to the main function to be called
+ * @argc: the amount of arguments passed in @argv
+ * @argv: (array length=argc): an array of arguments to be passed to the main function
+ * @user_data: (nullable): user data to be passed to the main function
+ *
+ * Starts an NSApplication on the main thread before calling 
+ * the provided main() function on a secondary thread. 
+ * 
+ * This ensures that GStreamer can correctly perform actions 
+ * such as creating a GL window, which require a Cocoa main loop 
+ * to be running on the main thread.
+ *
+ * Do not call this function more than once - especially while
+ * another one is still running - as that will cause unpredictable
+ * behaviour and most likely completely fail.
+ *
+ * Returns: the return value of the provided main_func
+ *
+ * Since: 1.22
+ */
+int
+gst_macos_main (GstMainFunc main_func, int argc, char **argv, gpointer user_data)
+{
+  ThreadArgs args;
+
+  args.argc = argc;
+  args.argv = argv;
+  args.main_func = main_func;
+  args.user_data = user_data;
+  args.is_simple = FALSE;
+
+  return run_main_with_nsapp (args);
+}
+
+/**
+ * gst_macos_main_simple:
+ * @main_func: (scope async): pointer to the main function to be called
+ * @user_data: (nullable): user data to be passed to the main function
+ *
+ * Simplified variant of gst_macos_main(), meant to be used with bindings
+ * for languages which do not have to pass argc and argv like C does.
+ * See gst_macos_main() for a more detailed description.
+ *
+ * Returns: the return value of the provided main_func
+ *
+ * Since: 1.22
+ */
+int 
+gst_macos_main_simple (GstMainFuncSimple main_func, gpointer user_data)
+{
+  ThreadArgs args;
+
+  args.argc = 0;
+  args.argv = NULL;
+  args.main_func = main_func;
+  args.user_data = user_data;
+  args.is_simple = TRUE;
+
+  return run_main_with_nsapp (args);
+}
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index 0eaf208..10d724b 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -363,7 +363,7 @@ gst_memory_unmap (GstMemory * mem, GstMapInfo * info)
  * guaranteed to be writable. @size can be set to -1 to return a copy
  * from @offset to the end of the memory region.
  *
- * Returns: a new #GstMemory.
+ * Returns: (transfer full) (nullable): a new copy of @mem if the copy succeeded, %NULL otherwise.
  */
 GstMemory *
 gst_memory_copy (GstMemory * mem, gssize offset, gssize size)
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index b9f7ba5..ee02d6d 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -47,11 +47,16 @@ typedef struct _GstAllocator GstAllocator;
  * @GST_MEMORY_FLAG_READONLY: memory is readonly. It is not allowed to map the
  * memory with #GST_MAP_WRITE.
  * @GST_MEMORY_FLAG_NO_SHARE: memory must not be shared. Copies will have to be
- * made when this memory needs to be shared between buffers.
+ * made when this memory needs to be shared between buffers. (DEPRECATED:
+ * do not use in new code, instead you should create a custom GstAllocator for
+ * memory pooling instead of relying on the GstBuffer they were originally
+ * attached to.)
  * @GST_MEMORY_FLAG_ZERO_PREFIXED: the memory prefix is filled with 0 bytes
  * @GST_MEMORY_FLAG_ZERO_PADDED: the memory padding is filled with 0 bytes
- * @GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS: the memory is physically contiguous. (Since: 1.2)
- * @GST_MEMORY_FLAG_NOT_MAPPABLE: the memory can't be mapped via gst_memory_map() without any preconditions. (Since: 1.2)
+ * @GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS: the memory is physically
+ * contiguous. (Since: 1.2)
+ * @GST_MEMORY_FLAG_NOT_MAPPABLE: the memory can't be mapped via
+ * gst_memory_map() without any preconditions. (Since: 1.2)
  * @GST_MEMORY_FLAG_LAST: first flag that can be used for custom purposes
  *
  * Flags for wrapped memory.
@@ -200,6 +205,10 @@ typedef enum {
  *
  * A structure containing the result of a map operation such as
  * gst_memory_map(). It contains the data and size.
+ *
+ * #GstMapInfo cannot be used with g_auto() because it is ambiguous whether it
+ * needs to be unmapped using gst_buffer_unmap() or gst_memory_unmap(). Instead,
+ * #GstBufferMapInfo and #GstMemoryMapInfo can be used in that case.
  */
 typedef struct {
   GstMemory *memory;
@@ -350,6 +359,16 @@ void           gst_memory_resize       (GstMemory *mem, gssize offset, gsize siz
 #define        gst_memory_lock(m,f)        gst_mini_object_lock (GST_MINI_OBJECT_CAST (m), (f))
 #define        gst_memory_unlock(m,f)      gst_mini_object_unlock (GST_MINI_OBJECT_CAST (m), (f))
 #define        gst_memory_is_writable(m)   gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (m))
+/**
+ * gst_memory_make_writable:
+ * @m: (transfer full): a #GstMemory
+ *
+ * Returns a writable copy of @m. If the source memory is
+ * already writable, this will simply return the same memory.
+ *
+ * Returns: (transfer full) (nullable): a writable memory (which may or may not be the
+ *     same as @m) or %NULL if copying is required but not possible.
+ */
 #define        gst_memory_make_writable(m) GST_MEMORY_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (m)))
 
 /* retrieving data */
@@ -380,6 +399,39 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstMemory, gst_memory_unref)
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstAllocator, gst_object_unref)
 
+/**
+ * GstMemoryMapInfo: (skip):
+ *
+ * Alias for #GstMapInfo to be used with g_auto():
+ * ```c
+ * void my_func(GstMemory *mem)
+ * {
+ *   g_auto(GstMemoryMapInfo) map = GST_MAP_INFO_INIT;
+ *   if (!gst_memory_map(mem, &map, GST_MAP_READWRITE))
+ *     return;
+ *   ...
+ *   // No need to call gst_memory_unmap()
+ * }
+ * ```
+ *
+ * #GstMapInfo cannot be used with g_auto() because it is ambiguous whether it
+ * needs to be unmapped using gst_buffer_unmap() or gst_memory_unmap().
+ *
+ * See also #GstBufferMapInfo.
+ *
+ * Since: 1.22
+ */
+typedef GstMapInfo GstMemoryMapInfo;
+
+static inline void _gst_memory_map_info_clear(GstMemoryMapInfo *info)
+{
+  if (G_LIKELY (info->memory)) {
+    gst_memory_unmap (info->memory, info);
+  }
+}
+
+G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GstMemoryMapInfo, _gst_memory_map_info_clear)
+
 G_END_DECLS
 
 #endif /* __GST_MEMORY_H__ */
diff --git a/gst/gstmessage.c b/gst/gstmessage.c
index 26cf379..f6ecbe3 100644
--- a/gst/gstmessage.c
+++ b/gst/gstmessage.c
@@ -281,15 +281,15 @@ gst_message_init (GstMessageImpl * message, GstMessageType type,
 /**
  * gst_message_new_custom:
  * @type: The #GstMessageType to distinguish messages
- * @src: (transfer none) (allow-none): The object originating the message.
- * @structure: (transfer full) (allow-none): the structure for the
+ * @src: (transfer none) (nullable): The object originating the message.
+ * @structure: (transfer full) (nullable): the structure for the
  *     message. The message will take ownership of the structure.
  *
  * Create a new custom-typed message. This can be used for anything not
  * handled by other message-specific functions to pass a message to the
  * app. The structure field can be %NULL.
  *
- * Returns: (transfer full) (nullable): The new message.
+ * Returns: (transfer full): The new message.
  *
  * MT safe.
  */
@@ -379,7 +379,7 @@ gst_message_set_seqnum (GstMessage * message, guint32 seqnum)
 
 /**
  * gst_message_new_eos:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  *
  * Create a new eos message. This message is generated and posted in
  * the sink elements of a GstBin. The bin will only forward the EOS
@@ -401,17 +401,17 @@ gst_message_new_eos (GstObject * src)
 
 /**
  * gst_message_new_error_with_details:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
- * @details: (transfer full) (allow-none): A GstStructure with details
+ * @details: (transfer full) (nullable): A GstStructure with details
  *
  * Create a new error message. The message will copy @error and
  * @debug. This message is posted by element when a fatal event
  * occurred. The pipeline will probably (partially) stop. The application
  * receiving this message should stop the pipeline.
  *
- * Returns: (transfer full) (nullable): the new error message.
+ * Returns: (transfer full): the new error message.
  *
  * Since: 1.10
  */
@@ -446,7 +446,7 @@ gst_message_new_error_with_details (GstObject * src, GError * error,
 
 /**
  * gst_message_new_error:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
  *
@@ -468,7 +468,7 @@ gst_message_new_error (GstObject * src, GError * error, const gchar * debug)
 /**
  * gst_message_parse_error_details:
  * @message: The message object
- * @structure: (transfer none) (out): A pointer to the returned details
+ * @structure: (optional) (nullable) (transfer none) (out): A pointer to the returned details
  *
  * Returns the optional details structure, may be NULL if none.
  * The returned structure must not be freed.
@@ -495,15 +495,15 @@ gst_message_parse_error_details (GstMessage * message,
 
 /**
  * gst_message_new_warning_with_details:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
- * @details: (transfer full) (allow-none): A GstStructure with details
+ * @details: (transfer full) (nullable): A GstStructure with details
  *
  * Create a new warning message. The message will make copies of @error and
  * @debug.
  *
- * Returns: (transfer full) (nullable): the new warning message.
+ * Returns: (transfer full): the new warning message.
  *
  * Since: 1.10
  */
@@ -538,7 +538,7 @@ gst_message_new_warning_with_details (GstObject * src, GError * error,
 
 /**
  * gst_message_new_warning:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
  *
@@ -558,7 +558,7 @@ gst_message_new_warning (GstObject * src, GError * error, const gchar * debug)
 /**
  * gst_message_parse_warning_details:
  * @message: The message object
- * @structure: (transfer none) (out): A pointer to the returned details structure
+ * @structure: (optional) (nullable) (transfer none) (out): A pointer to the returned details
  *
  * Returns the optional details structure, may be NULL if none
  * The returned structure must not be freed.
@@ -585,15 +585,15 @@ gst_message_parse_warning_details (GstMessage * message,
 
 /**
  * gst_message_new_info_with_details:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
- * @details: (transfer full) (allow-none): A GstStructure with details
+ * @details: (transfer full) (nullable): A GstStructure with details
  *
  * Create a new info message. The message will make copies of @error and
  * @debug.
  *
- * Returns: (transfer full) (nullable): the new warning message.
+ * Returns: (transfer full): the new warning message.
  *
  * Since: 1.10
  */
@@ -628,7 +628,7 @@ gst_message_new_info_with_details (GstObject * src, GError * error,
 
 /**
  * gst_message_new_info:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @error: (transfer none): The GError for this message.
  * @debug: A debugging string.
  *
@@ -648,7 +648,7 @@ gst_message_new_info (GstObject * src, GError * error, const gchar * debug)
 /**
  * gst_message_parse_info_details:
  * @message: The message object
- * @structure: (transfer none) (out): A pointer to the returned details structure
+ * @structure: (optional) (nullable) (transfer none) (out): A pointer to the returned details
  *
  * Returns the optional details structure, may be NULL if none
  * The returned structure must not be freed.
@@ -675,7 +675,7 @@ gst_message_parse_info_details (GstMessage * message,
 
 /**
  * gst_message_new_tag:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @tag_list: (transfer full): the tag list for the message.
  *
  * Create a new tag message. The message will take ownership of the tag list.
@@ -704,7 +704,7 @@ gst_message_new_tag (GstObject * src, GstTagList * tag_list)
 
 /**
  * gst_message_new_buffering:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @percent: The buffering percent
  *
  * Create a new buffering message. This message can be posted by an element that
@@ -720,7 +720,7 @@ gst_message_new_tag (GstObject * src, GstTagList * tag_list)
  *
  * MT safe.
  *
- * Returns: (transfer full) (nullable): The new buffering message.
+ * Returns: (transfer full): The new buffering message.
  */
 GstMessage *
 gst_message_new_buffering (GstObject * src, gint percent)
@@ -746,7 +746,7 @@ gst_message_new_buffering (GstObject * src, gint percent)
 
 /**
  * gst_message_new_state_changed:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @oldstate: the previous state
  * @newstate: the new (current) state
  * @pending: the pending (target) state
@@ -776,7 +776,7 @@ gst_message_new_state_changed (GstObject * src,
 
 /**
  * gst_message_new_state_dirty:
- * @src: (transfer none) (allow-none): The object originating the message
+ * @src: (transfer none) (nullable): The object originating the message
  *
  * Create a state dirty message. This message is posted whenever an element
  * changed its state asynchronously and is used internally to update the
@@ -798,7 +798,7 @@ gst_message_new_state_dirty (GstObject * src)
 
 /**
  * gst_message_new_clock_provide:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @clock: (transfer none): the clock it provides
  * @ready: %TRUE if the sender can provide a clock
  *
@@ -830,7 +830,7 @@ gst_message_new_clock_provide (GstObject * src, GstClock * clock,
 
 /**
  * gst_message_new_clock_lost:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @clock: (transfer none): the clock that was lost
  *
  * Create a clock lost message. This message is posted whenever the
@@ -859,7 +859,7 @@ gst_message_new_clock_lost (GstObject * src, GstClock * clock)
 
 /**
  * gst_message_new_new_clock:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @clock: (transfer none): the new selected clock
  *
  * Create a new clock message. This message is posted whenever the
@@ -884,7 +884,7 @@ gst_message_new_new_clock (GstObject * src, GstClock * clock)
 
 /**
  * gst_message_new_structure_change:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @type: The change type.
  * @owner: (transfer none): The owner element of @src.
  * @busy: Whether the structure change is busy.
@@ -923,7 +923,7 @@ gst_message_new_structure_change (GstObject * src, GstStructureChangeType type,
 
 /**
  * gst_message_new_segment_start:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @format: The format of the position being played
  * @position: The position of the segment being played
  *
@@ -953,7 +953,7 @@ gst_message_new_segment_start (GstObject * src, GstFormat format,
 
 /**
  * gst_message_new_segment_done:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @format: The format of the position being done
  * @position: The position of the segment being done
  *
@@ -983,14 +983,14 @@ gst_message_new_segment_done (GstObject * src, GstFormat format,
 
 /**
  * gst_message_new_application:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @structure: (transfer full): the structure for the message. The message
  *     will take ownership of the structure.
  *
  * Create a new application-typed message. GStreamer will never create these
  * messages; they are a gift from us to you. Enjoy.
  *
- * Returns: (transfer full) (nullable): The new application message.
+ * Returns: (transfer full): The new application message.
  *
  * MT safe.
  */
@@ -1004,7 +1004,7 @@ gst_message_new_application (GstObject * src, GstStructure * structure)
 
 /**
  * gst_message_new_element:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @structure: (transfer full): The structure for the
  *     message. The message will take ownership of the structure.
  *
@@ -1013,7 +1013,7 @@ gst_message_new_application (GstObject * src, GstStructure * structure)
  * "the firewire cable was unplugged". The format of the message should be
  * documented in the element's documentation. The structure field can be %NULL.
  *
- * Returns: (transfer full) (nullable): The new element message.
+ * Returns: (transfer full): The new element message.
  *
  * MT safe.
  */
@@ -1027,7 +1027,7 @@ gst_message_new_element (GstObject * src, GstStructure * structure)
 
 /**
  * gst_message_new_duration_changed:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  *
  * Create a new duration changed message. This message is posted by elements
  * that know the duration of a stream when the duration changes. This message
@@ -1051,7 +1051,7 @@ gst_message_new_duration_changed (GstObject * src)
 
 /**
  * gst_message_new_async_start:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  *
  * This message is posted by elements when they start an ASYNC state change.
  *
@@ -1071,7 +1071,7 @@ gst_message_new_async_start (GstObject * src)
 
 /**
  * gst_message_new_async_done:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @running_time: the desired running_time
  *
  * The message is posted when elements completed an ASYNC state change.
@@ -1099,7 +1099,7 @@ gst_message_new_async_done (GstObject * src, GstClockTime running_time)
 
 /**
  * gst_message_new_latency:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  *
  * This message can be posted by elements when their latency requirements have
  * changed.
@@ -1120,7 +1120,7 @@ gst_message_new_latency (GstObject * src)
 
 /**
  * gst_message_new_request_state:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @state: The new requested state
  *
  * This message can be posted by elements when they want to have their state
@@ -1166,15 +1166,15 @@ gst_message_get_structure (GstMessage * message)
 
 /**
  * gst_message_writable_structure:
- * @message: The #GstMessage.
+ * @message: A writable #GstMessage.
  *
  * Get a writable version of the structure.
  *
  * Returns: (transfer none): The structure of the message. The structure
  * is still owned by the message, which means that you should not free
  * it and that the pointer becomes invalid when you free the message.
- * This function checks if @message is writable and will never return
- * %NULL.
+ * This function ensures that @message is writable, and if so, will
+ * never return %NULL.
  *
  * MT safe.
  *
@@ -1240,7 +1240,7 @@ gst_message_has_name (GstMessage * message, const gchar * name)
  *     case GST_MESSAGE_TAG: {
  *       GstTagList *tags = NULL;
  *
- *       gst_message_parse_tag (msg, &amp;tags);
+ *       gst_message_parse_tag (msg, &tags);
  *       g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src));
  *       handle_tags (tags);
  *       gst_tag_list_unref (tags);
@@ -1267,7 +1267,7 @@ gst_message_parse_tag (GstMessage * message, GstTagList ** tag_list)
 /**
  * gst_message_parse_buffering:
  * @message: A valid #GstMessage of type GST_MESSAGE_BUFFERING.
- * @percent: (out) (allow-none): Return location for the percent.
+ * @percent: (out) (optional): Return location for the percent.
  *
  * Extracts the buffering percent from the GstMessage. see also
  * gst_message_new_buffering().
@@ -1313,10 +1313,10 @@ gst_message_set_buffering_stats (GstMessage * message, GstBufferingMode mode,
 /**
  * gst_message_parse_buffering_stats:
  * @message: A valid #GstMessage of type GST_MESSAGE_BUFFERING.
- * @mode: (out) (allow-none): a buffering mode, or %NULL
- * @avg_in: (out) (allow-none): the average input rate, or %NULL
- * @avg_out: (out) (allow-none): the average output rate, or %NULL
- * @buffering_left: (out) (allow-none): amount of buffering time left in
+ * @mode: (out) (optional): a buffering mode, or %NULL
+ * @avg_in: (out) (optional): the average input rate, or %NULL
+ * @avg_out: (out) (optional): the average output rate, or %NULL
+ * @buffering_left: (out) (optional): amount of buffering time left in
  *     milliseconds, or %NULL
  *
  * Extracts the buffering stats values from @message.
@@ -1350,9 +1350,9 @@ gst_message_parse_buffering_stats (GstMessage * message,
 /**
  * gst_message_parse_state_changed:
  * @message: a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED
- * @oldstate: (out) (allow-none): the previous state, or %NULL
- * @newstate: (out) (allow-none): the new (current) state, or %NULL
- * @pending: (out) (allow-none): the pending (target) state, or %NULL
+ * @oldstate: (out) (optional): the previous state, or %NULL
+ * @newstate: (out) (optional): the new (current) state, or %NULL
+ * @pending: (out) (optional): the pending (target) state, or %NULL
  *
  * Extracts the old and new states from the GstMessage.
  *
@@ -1363,7 +1363,7 @@ gst_message_parse_buffering_stats (GstMessage * message,
  *     case GST_MESSAGE_STATE_CHANGED: {
  *       GstState old_state, new_state;
  *
- *       gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL);
+ *       gst_message_parse_state_changed (msg, &old_state, &new_state, NULL);
  *       g_print ("Element %s changed state from %s to %s.\n",
  *           GST_OBJECT_NAME (msg->src),
  *           gst_element_state_get_name (old_state),
@@ -1404,9 +1404,9 @@ gst_message_parse_state_changed (GstMessage * message,
 /**
  * gst_message_parse_clock_provide:
  * @message: A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE.
- * @clock: (out) (allow-none) (transfer none): a pointer to  hold a clock
+ * @clock: (out) (optional) (transfer none): a pointer to  hold a clock
  *     object, or %NULL
- * @ready: (out) (allow-none): a pointer to hold the ready flag, or %NULL
+ * @ready: (out) (optional): a pointer to hold the ready flag, or %NULL
  *
  * Extracts the clock and ready flag from the GstMessage.
  * The clock object returned remains valid until the message is freed.
@@ -1439,7 +1439,7 @@ gst_message_parse_clock_provide (GstMessage * message, GstClock ** clock,
 /**
  * gst_message_parse_clock_lost:
  * @message: A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST.
- * @clock: (out) (allow-none) (transfer none): a pointer to hold the lost clock
+ * @clock: (out) (optional) (transfer none): a pointer to hold the lost clock
  *
  * Extracts the lost clock from the GstMessage.
  * The clock object returned remains valid until the message is freed.
@@ -1467,7 +1467,7 @@ gst_message_parse_clock_lost (GstMessage * message, GstClock ** clock)
 /**
  * gst_message_parse_new_clock:
  * @message: A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK.
- * @clock: (out) (allow-none) (transfer none): a pointer to hold the selected
+ * @clock: (out) (optional) (transfer none): a pointer to hold the selected
  *     new clock
  *
  * Extracts the new clock from the GstMessage.
@@ -1497,9 +1497,9 @@ gst_message_parse_new_clock (GstMessage * message, GstClock ** clock)
  * gst_message_parse_structure_change:
  * @message: A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE.
  * @type: (out): A pointer to hold the change type
- * @owner: (out) (allow-none) (transfer none): The owner element of the
+ * @owner: (out) (optional) (transfer none): The owner element of the
  *     message source
- * @busy: (out) (allow-none): a pointer to hold whether the change is in
+ * @busy: (out) (optional): a pointer to hold whether the change is in
  *     progress or has been completed
  *
  * Extracts the change type and completion status from the GstMessage.
@@ -1536,8 +1536,8 @@ gst_message_parse_structure_change (GstMessage * message,
 /**
  * gst_message_parse_error:
  * @message: A valid #GstMessage of type GST_MESSAGE_ERROR.
- * @gerror: (out) (allow-none) (transfer full): location for the GError
- * @debug: (out) (allow-none) (transfer full): location for the debug message,
+ * @gerror: (out) (optional) (transfer full): location for the GError
+ * @debug: (out) (optional) (nullable) (transfer full): location for the debug message,
  *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
@@ -1551,7 +1551,7 @@ gst_message_parse_structure_change (GstMessage * message,
  *       GError *err = NULL;
  *       gchar *dbg_info = NULL;
  *
- *       gst_message_parse_error (msg, &amp;err, &amp;dbg_info);
+ *       gst_message_parse_error (msg, &err, &dbg_info);
  *       g_printerr ("ERROR from element %s: %s\n",
  *           GST_OBJECT_NAME (msg->src), err->message);
  *       g_printerr ("Debugging info: %s\n", (dbg_info) ? dbg_info : "none");
@@ -1580,8 +1580,8 @@ gst_message_parse_error (GstMessage * message, GError ** gerror, gchar ** debug)
 /**
  * gst_message_parse_warning:
  * @message: A valid #GstMessage of type GST_MESSAGE_WARNING.
- * @gerror: (out) (allow-none) (transfer full): location for the GError
- * @debug: (out) (allow-none) (transfer full): location for the debug message,
+ * @gerror: (out) (optional) (transfer full): location for the GError
+ * @debug: (out) (optional) (nullable) (transfer full): location for the debug message,
  *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
@@ -1604,8 +1604,8 @@ gst_message_parse_warning (GstMessage * message, GError ** gerror,
 /**
  * gst_message_parse_info:
  * @message: A valid #GstMessage of type GST_MESSAGE_INFO.
- * @gerror: (out) (allow-none) (transfer full): location for the GError
- * @debug: (out) (allow-none) (transfer full): location for the debug message,
+ * @gerror: (out) (optional) (transfer full): location for the GError
+ * @debug: (out) (optional) (nullable) (transfer full): location for the debug message,
  *     or %NULL
  *
  * Extracts the GError and debug string from the GstMessage. The values returned
@@ -1627,8 +1627,8 @@ gst_message_parse_info (GstMessage * message, GError ** gerror, gchar ** debug)
 /**
  * gst_message_parse_segment_start:
  * @message: A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.
- * @format: (out) (allow-none): Result location for the format, or %NULL
- * @position: (out) (allow-none): Result location for the position, or %NULL
+ * @format: (out) (optional): Result location for the format, or %NULL
+ * @position: (out) (optional): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment start message.
  *
@@ -1657,8 +1657,8 @@ gst_message_parse_segment_start (GstMessage * message, GstFormat * format,
 /**
  * gst_message_parse_segment_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE.
- * @format: (out) (allow-none): Result location for the format, or %NULL
- * @position: (out) (allow-none): Result location for the position, or %NULL
+ * @format: (out) (optional): Result location for the format, or %NULL
+ * @position: (out) (optional): Result location for the position, or %NULL
  *
  * Extracts the position and format from the segment done message.
  *
@@ -1687,7 +1687,7 @@ gst_message_parse_segment_done (GstMessage * message, GstFormat * format,
 /**
  * gst_message_parse_async_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.
- * @running_time: (out) (allow-none): Result location for the running_time or %NULL
+ * @running_time: (out) (optional): Result location for the running_time or %NULL
  *
  * Extract the running_time from the async_done message.
  *
@@ -1711,7 +1711,7 @@ gst_message_parse_async_done (GstMessage * message, GstClockTime * running_time)
 /**
  * gst_message_parse_request_state:
  * @message: A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE.
- * @state: (out) (allow-none): Result location for the requested state or %NULL
+ * @state: (out) (optional): Result location for the requested state or %NULL
  *
  * Extract the requested state from the request_state message.
  *
@@ -1734,7 +1734,7 @@ gst_message_parse_request_state (GstMessage * message, GstState * state)
 
 /**
  * gst_message_new_stream_status:
- * @src: The object originating the message.
+ * @src:  (transfer none) (nullable): The object originating the message.
  * @type: The stream status type.
  * @owner: (transfer none): the owner element of @src.
  *
@@ -1844,7 +1844,7 @@ gst_message_get_stream_status_object (GstMessage * message)
 
 /**
  * gst_message_new_step_done:
- * @src: The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @format: the format of @amount
  * @amount: the amount of stepped data
  * @rate: the rate of the stepped amount
@@ -1887,13 +1887,13 @@ gst_message_new_step_done (GstObject * src, GstFormat format, guint64 amount,
 /**
  * gst_message_parse_step_done:
  * @message: A valid #GstMessage of type GST_MESSAGE_STEP_DONE.
- * @format: (out) (allow-none): result location for the format
- * @amount: (out) (allow-none): result location for the amount
- * @rate: (out) (allow-none): result location for the rate
- * @flush: (out) (allow-none): result location for the flush flag
- * @intermediate: (out) (allow-none): result location for the intermediate flag
- * @duration: (out) (allow-none): result location for the duration
- * @eos: (out) (allow-none): result location for the EOS flag
+ * @format: (out) (optional): result location for the format
+ * @amount: (out) (optional): result location for the amount
+ * @rate: (out) (optional): result location for the rate
+ * @flush: (out) (optional): result location for the flush flag
+ * @intermediate: (out) (optional): result location for the intermediate flag
+ * @duration: (out) (optional): result location for the duration
+ * @eos: (out) (optional): result location for the EOS flag
  *
  * Extract the values the step_done message.
  *
@@ -1922,7 +1922,7 @@ gst_message_parse_step_done (GstMessage * message, GstFormat * format,
 
 /**
  * gst_message_new_step_start:
- * @src: The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @active: if the step is active or queued
  * @format: the format of @amount
  * @amount: the amount of stepped data
@@ -1967,12 +1967,12 @@ gst_message_new_step_start (GstObject * src, gboolean active, GstFormat format,
 /**
  * gst_message_parse_step_start:
  * @message: A valid #GstMessage of type GST_MESSAGE_STEP_DONE.
- * @active: (out) (allow-none): result location for the active flag
- * @format: (out) (allow-none): result location for the format
- * @amount: (out) (allow-none): result location for the amount
- * @rate: (out) (allow-none): result location for the rate
- * @flush: (out) (allow-none): result location for the flush flag
- * @intermediate: (out) (allow-none): result location for the intermediate flag
+ * @active: (out) (optional): result location for the active flag
+ * @format: (out) (optional): result location for the format
+ * @amount: (out) (optional): result location for the amount
+ * @rate: (out) (optional): result location for the rate
+ * @flush: (out) (optional): result location for the flush flag
+ * @intermediate: (out) (optional): result location for the intermediate flag
  *
  * Extract the values from step_start message.
  *
@@ -2000,7 +2000,7 @@ gst_message_parse_step_start (GstMessage * message, gboolean * active,
 
 /**
  * gst_message_new_qos:
- * @src: The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @live: if the message was generated by a live element
  * @running_time: the running time of the buffer that generated the message
  * @stream_time: the stream time of the buffer that generated the message
@@ -2116,14 +2116,14 @@ gst_message_set_qos_stats (GstMessage * message, GstFormat format,
 /**
  * gst_message_parse_qos:
  * @message: A valid #GstMessage of type GST_MESSAGE_QOS.
- * @live: (out) (allow-none): if the message was generated by a live element
- * @running_time: (out) (allow-none): the running time of the buffer that
+ * @live: (out) (optional): if the message was generated by a live element
+ * @running_time: (out) (optional): the running time of the buffer that
  *     generated the message
- * @stream_time: (out) (allow-none): the stream time of the buffer that
+ * @stream_time: (out) (optional): the stream time of the buffer that
  *     generated the message
- * @timestamp: (out) (allow-none): the timestamps of the buffer that
+ * @timestamp: (out) (optional): the timestamps of the buffer that
  *     generated the message
- * @duration: (out) (allow-none): the duration of the buffer that
+ * @duration: (out) (optional): the duration of the buffer that
  *     generated the message
  *
  * Extract the timestamps and live status from the QoS message.
@@ -2156,11 +2156,11 @@ gst_message_parse_qos (GstMessage * message, gboolean * live,
 /**
  * gst_message_parse_qos_values:
  * @message: A valid #GstMessage of type GST_MESSAGE_QOS.
- * @jitter: (out) (allow-none): The difference of the running-time against
+ * @jitter: (out) (optional): The difference of the running-time against
  *     the deadline.
- * @proportion: (out) (allow-none): Long term prediction of the ideal rate
+ * @proportion: (out) (optional): Long term prediction of the ideal rate
  *     relative to normal rate to get optimal quality.
- * @quality: (out) (allow-none): An element dependent integer value that
+ * @quality: (out) (optional): An element dependent integer value that
  *     specifies the current quality level of the element. The default
  *     maximum quality is 1000000.
  *
@@ -2187,13 +2187,13 @@ gst_message_parse_qos_values (GstMessage * message, gint64 * jitter,
 /**
  * gst_message_parse_qos_stats:
  * @message: A valid #GstMessage of type GST_MESSAGE_QOS.
- * @format: (out) (allow-none): Units of the 'processed' and 'dropped' fields.
+ * @format: (out) (optional): Units of the 'processed' and 'dropped' fields.
  *     Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).
  *     Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT
  *     (samples).
- * @processed: (out) (allow-none): Total number of units correctly processed
+ * @processed: (out) (optional): Total number of units correctly processed
  *     since the last state change to READY or a flushing operation.
- * @dropped: (out) (allow-none): Total number of units dropped since the last
+ * @dropped: (out) (optional): Total number of units dropped since the last
  *     state change to READY or a flushing operation.
  *
  * Extract the QoS stats representing the history of the current continuous
@@ -2222,7 +2222,7 @@ gst_message_parse_qos_stats (GstMessage * message, GstFormat * format,
 
 /**
  * gst_message_new_progress:
- * @src: The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @type: a #GstProgressType
  * @code: a progress code
  * @text: free, user visible text describing the progress
@@ -2233,7 +2233,7 @@ gst_message_parse_qos_stats (GstMessage * message, GstFormat * format,
  * @code contains a well defined string describing the action.
  * @text should contain a user visible string detailing the current action.
  *
- * Returns: (transfer full) (nullable): The new qos message.
+ * Returns: (transfer full): The new qos message.
  */
 GstMessage *
 gst_message_new_progress (GstObject * src, GstProgressType type,
@@ -2263,9 +2263,9 @@ gst_message_new_progress (GstObject * src, GstProgressType type,
 /**
  * gst_message_parse_progress:
  * @message: A valid #GstMessage of type GST_MESSAGE_PROGRESS.
- * @type: (out) (allow-none): location for the type
- * @code: (out) (allow-none) (transfer full): location for the code
- * @text: (out) (allow-none) (transfer full): location for the text
+ * @type: (out) (optional): location for the type
+ * @code: (out) (optional) (transfer full): location for the code
+ * @text: (out) (optional) (transfer full): location for the text
  *
  * Parses the progress @type, @code and @text.
  */
@@ -2287,7 +2287,7 @@ gst_message_parse_progress (GstMessage * message, GstProgressType * type,
 
 /**
  * gst_message_new_toc:
- * @src: the object originating the message.
+ * @src: (transfer none) (nullable): the object originating the message.
  * @toc: (transfer none): #GstToc structure for the message.
  * @updated: whether TOC was updated or not.
  *
@@ -2338,7 +2338,7 @@ gst_message_parse_toc (GstMessage * message, GstToc ** toc, gboolean * updated)
 
 /**
  * gst_message_new_reset_time:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @running_time: the requested running-time
  *
  * This message is posted when the pipeline running-time should be reset to
@@ -2354,6 +2354,8 @@ gst_message_new_reset_time (GstObject * src, GstClockTime running_time)
   GstMessage *message;
   GstStructure *structure;
 
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (running_time), NULL);
+
   structure = gst_structure_new_id (GST_QUARK (MESSAGE_RESET_TIME),
       GST_QUARK (RUNNING_TIME), G_TYPE_UINT64, running_time, NULL);
   message = gst_message_new_custom (GST_MESSAGE_RESET_TIME, src, structure);
@@ -2364,7 +2366,7 @@ gst_message_new_reset_time (GstObject * src, GstClockTime running_time)
 /**
  * gst_message_parse_reset_time:
  * @message: A valid #GstMessage of type GST_MESSAGE_RESET_TIME.
- * @running_time: (out) (allow-none): Result location for the running_time or
+ * @running_time: (out) (optional): Result location for the running_time or
  *      %NULL
  *
  * Extract the running-time from the RESET_TIME message.
@@ -2388,7 +2390,7 @@ gst_message_parse_reset_time (GstMessage * message, GstClockTime * running_time)
 
 /**
  * gst_message_new_stream_start:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  *
  * Create a new stream_start message. This message is generated and posted in
  * the sink elements of a GstBin. The bin will only forward the STREAM_START
@@ -2446,7 +2448,7 @@ gst_message_set_group_id (GstMessage * message, guint group_id)
 /**
  * gst_message_parse_group_id:
  * @message: A valid #GstMessage of type GST_MESSAGE_STREAM_START.
- * @group_id: (out) (allow-none): Result location for the group id or
+ * @group_id: (out) (optional): Result location for the group id or
  *      %NULL
  *
  * Extract the group from the STREAM_START message.
@@ -2470,6 +2472,8 @@ gst_message_parse_group_id (GstMessage * message, guint * group_id)
   if (!group_id)
     return TRUE;
 
+  *group_id = 0;
+
   structure = GST_MESSAGE_STRUCTURE (message);
 
   v = gst_structure_id_get_value (structure, GST_QUARK (GROUP_ID));
@@ -2482,7 +2486,7 @@ gst_message_parse_group_id (GstMessage * message, guint * group_id)
 
 /**
  * gst_message_new_need_context:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @context_type: The context type that is needed
  *
  * This message is posted when an element needs a specific #GstContext.
@@ -2511,7 +2515,7 @@ gst_message_new_need_context (GstObject * src, const gchar * context_type)
 /**
  * gst_message_parse_context_type:
  * @message: a GST_MESSAGE_NEED_CONTEXT type message
- * @context_type: (out) (transfer none) (allow-none): the context type, or %NULL
+ * @context_type: (out) (transfer none) (optional): the context type, or %NULL
  *
  * Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.
  *
@@ -2541,7 +2545,7 @@ gst_message_parse_context_type (GstMessage * message,
 
 /**
  * gst_message_new_have_context:
- * @src: (transfer none) (allow-none): The object originating the message.
+ * @src: (transfer none) (nullable): The object originating the message.
  * @context: (transfer full): the context
  *
  * This message is posted when an element has a new local #GstContext.
@@ -2569,7 +2573,7 @@ gst_message_new_have_context (GstObject * src, GstContext * context)
 /**
  * gst_message_parse_have_context:
  * @message: A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.
- * @context: (out) (transfer full) (allow-none): Result location for the
+ * @context: (out) (transfer full) (optional): Result location for the
  *      context or %NULL
  *
  * Extract the context from the HAVE_CONTEXT message.
@@ -2591,14 +2595,14 @@ gst_message_parse_have_context (GstMessage * message, GstContext ** context)
 
 /**
  * gst_message_new_device_added:
- * @src: The #GstObject that created the message
+ * @src: (transfer none) (nullable): The #GstObject that created the message
  * @device: (transfer none): The new #GstDevice
  *
  * Creates a new device-added message. The device-added message is produced by
  * #GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance
  * of monitored devices.
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.4
  */
@@ -2621,7 +2625,7 @@ gst_message_new_device_added (GstObject * src, GstDevice * device)
 /**
  * gst_message_parse_device_added:
  * @message: a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED
- * @device: (out) (allow-none) (transfer full): A location where to store a
+ * @device: (out) (optional) (transfer full): A location where to store a
  *  pointer to the new #GstDevice, or %NULL
  *
  * Parses a device-added message. The device-added message is produced by
@@ -2643,14 +2647,14 @@ gst_message_parse_device_added (GstMessage * message, GstDevice ** device)
 
 /**
  * gst_message_new_device_removed:
- * @src: The #GstObject that created the message
+ * @src: (transfer none) (nullable): The #GstObject that created the message
  * @device: (transfer none): The removed #GstDevice
  *
  * Creates a new device-removed message. The device-removed message is produced
  * by #GstDeviceProvider or a #GstDeviceMonitor. They announce the
  * disappearance of monitored devices.
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.4
  */
@@ -2673,7 +2677,7 @@ gst_message_new_device_removed (GstObject * src, GstDevice * device)
 /**
  * gst_message_parse_device_removed:
  * @message: a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED
- * @device: (out) (allow-none) (transfer full): A location where to store a
+ * @device: (out) (optional) (transfer full): A location where to store a
  *  pointer to the removed #GstDevice, or %NULL
  *
  * Parses a device-removed message. The device-removed message is produced by
@@ -2695,15 +2699,16 @@ gst_message_parse_device_removed (GstMessage * message, GstDevice ** device)
 
 /**
  * gst_message_new_device_changed:
- * @src: The #GstObject that created the message
- * @device: (transfer none): The newly created device representing @replaced_device
+ * @src: (transfer none) (nullable): The #GstObject that created the message
+ * @device: (transfer none): The newly created device representing @changed_device
  *         with its new configuration.
+ * @changed_device: (transfer none): The old version of the device.
  *
  * Creates a new device-changed message. The device-changed message is produced
  * by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device
  * properties has changed and @device represent the new modified version of @changed_device.
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.16
  */
@@ -2728,9 +2733,9 @@ gst_message_new_device_changed (GstObject * src, GstDevice * device,
 /**
  * gst_message_parse_device_changed:
  * @message: a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED
- * @device: (out) (allow-none) (transfer full): A location where to store a
+ * @device: (out) (optional) (transfer full): A location where to store a
  *  pointer to the updated version of the #GstDevice, or %NULL
- * @changed_device: (out) (allow-none) (transfer full): A location where to store a
+ * @changed_device: (out) (optional) (transfer full): A location where to store a
  *  pointer to the old version of the #GstDevice, or %NULL
  *
  * Parses a device-changed message. The device-changed message is produced by
@@ -2758,11 +2763,11 @@ gst_message_parse_device_changed (GstMessage * message, GstDevice ** device,
 
 /**
  * gst_message_new_property_notify:
- * @src: The #GstObject whose property changed (may or may not be a #GstElement)
+ * @src: (transfer none): The #GstObject whose property changed (may or may not be a #GstElement)
  * @property_name: name of the property that changed
- * @val: (allow-none) (transfer full): new property value, or %NULL
+ * @val: (nullable) (transfer full): new property value, or %NULL
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.10
  */
@@ -2773,6 +2778,7 @@ gst_message_new_property_notify (GstObject * src, const gchar * property_name,
   GstStructure *structure;
   GValue name_val = G_VALUE_INIT;
 
+  g_return_val_if_fail (GST_IS_OBJECT (src), NULL);
   g_return_val_if_fail (property_name != NULL, NULL);
 
   structure = gst_structure_new_id_empty (GST_QUARK (MESSAGE_PROPERTY_NOTIFY));
@@ -2789,11 +2795,11 @@ gst_message_new_property_notify (GstObject * src, const gchar * property_name,
 /**
  * gst_message_parse_property_notify:
  * @message: a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY
- * @object: (out) (allow-none) (transfer none): location where to store a
+ * @object: (out) (optional) (transfer none): location where to store a
  *     pointer to the object whose property got changed, or %NULL
- * @property_name: (out) (transfer none) (allow-none): return location for
+ * @property_name: (out) (transfer none) (optional): return location for
  *     the name of the property that got changed, or %NULL
- * @property_value: (out) (transfer none) (allow-none): return location for
+ * @property_value: (out) (transfer none) (optional) (nullable): return location for
  *     the new value of the property that got changed, or %NULL. This will
  *     only be set if the property notify watch was told to include the value
  *     when it was set up
@@ -2830,13 +2836,13 @@ gst_message_parse_property_notify (GstMessage * message, GstObject ** object,
 
 /**
  * gst_message_new_stream_collection:
- * @src: The #GstObject that created the message
+ * @src: (transfer none) (nullable): The #GstObject that created the message
  * @collection: (transfer none): The #GstStreamCollection
  *
  * Creates a new stream-collection message. The message is used to announce new
  * #GstStreamCollection
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.10
  */
@@ -2862,7 +2868,7 @@ gst_message_new_stream_collection (GstObject * src,
 /**
  * gst_message_parse_stream_collection:
  * @message: a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION
- * @collection: (out) (allow-none) (transfer full): A location where to store a
+ * @collection: (out) (optional) (transfer full): A location where to store a
  *  pointer to the #GstStreamCollection, or %NULL
  *
  * Parses a stream-collection message.
@@ -2884,7 +2890,7 @@ gst_message_parse_stream_collection (GstMessage * message,
 
 /**
  * gst_message_new_streams_selected:
- * @src: The #GstObject that created the message
+ * @src: (transfer none) (nullable): The #GstObject that created the message
  * @collection: (transfer none): The #GstStreamCollection
  *
  * Creates a new steams-selected message. The message is used to announce
@@ -2898,7 +2904,7 @@ gst_message_parse_stream_collection (GstMessage * message,
  * Users of gst_message_new_streams_selected() can add the selected streams with
  * gst_message_streams_selected_add().
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.10
  */
@@ -3010,7 +3016,7 @@ gst_message_streams_selected_get_stream (GstMessage * msg, guint idx)
 /**
  * gst_message_parse_streams_selected:
  * @message: a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED
- * @collection: (out) (allow-none) (transfer full): A location where to store a
+ * @collection: (out) (optional) (transfer full): A location where to store a
  *  pointer to the #GstStreamCollection, or %NULL
  *
  * Parses a streams-selected message.
@@ -3031,10 +3037,10 @@ gst_message_parse_streams_selected (GstMessage * message,
 
 /**
  * gst_message_new_redirect:
- * @src: The #GstObject whose property changed (may or may not be a #GstElement)
+ * @src: (transfer none) (nullable): The #GstObject whose property changed (may or may not be a #GstElement)
  * @location: (transfer none): location string for the new entry
- * @tag_list: (transfer full) (allow-none): tag list for the new entry
- * @entry_struct: (transfer full) (allow-none): structure for the new entry
+ * @tag_list: (transfer full) (nullable): tag list for the new entry
+ * @entry_struct: (transfer full) (nullable): structure for the new entry
  *
  * Creates a new redirect message and adds a new entry to it. Redirect messages
  * are posted when an element detects that the actual data has to be retrieved
@@ -3062,7 +3068,7 @@ gst_message_parse_streams_selected (GstMessage * message,
  * The specified location string is copied. However, ownership over the tag
  * list and structure are transferred to the message.
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.10
  */
@@ -3102,8 +3108,8 @@ gst_message_new_redirect (GstObject * src, const gchar * location,
  * gst_message_add_redirect_entry:
  * @message: a #GstMessage of type %GST_MESSAGE_REDIRECT
  * @location: (transfer none): location string for the new entry
- * @tag_list: (transfer full) (allow-none): tag list for the new entry
- * @entry_struct: (transfer full) (allow-none): structure for the new entry
+ * @tag_list: (transfer full) (nullable): tag list for the new entry
+ * @entry_struct: (transfer full) (nullable): structure for the new entry
  *
  * Creates and appends a new entry.
  *
@@ -3161,11 +3167,11 @@ gst_message_add_redirect_entry (GstMessage * message, const gchar * location,
  * gst_message_parse_redirect_entry:
  * @message: a #GstMessage of type %GST_MESSAGE_REDIRECT
  * @entry_index: index of the entry to parse
- * @location: (out) (transfer none) (allow-none): return location for
+ * @location: (out) (transfer none) (optional): return location for
  *     the pointer to the entry's location string, or %NULL
- * @tag_list: (out) (transfer none) (allow-none): return location for
+ * @tag_list: (out) (transfer none) (optional) (nullable): return location for
  *     the pointer to the entry's tag list, or %NULL
- * @entry_struct: (out) (transfer none) (allow-none): return location
+ * @entry_struct: (out) (transfer none) (optional) (nullable): return location
  *     for the pointer to the entry's structure, or %NULL
  *
  * Parses the location and/or structure from the entry with the given index.
@@ -3271,7 +3277,7 @@ gst_message_get_num_redirect_entries (GstMessage * message)
 
 /**
  * gst_message_new_instant_rate_request:
- * @src: The #GstObject that posted the message
+ * @src: (transfer none) (nullable): The #GstObject that posted the message
  * @rate_multiplier: the rate multiplier factor that should be applied
  *
  * Creates a new instant-rate-request message. Elements handling the
@@ -3281,7 +3287,7 @@ gst_message_get_num_redirect_entries (GstMessage * message)
  * @GST_EVENT_INSTANT_RATE_SYNC_TIME event to notify the elements
  * in the pipeline.
  *
- * Returns: a newly allocated #GstMessage
+ * Returns: (transfer full): a newly allocated #GstMessage
  *
  * Since: 1.18
  */
@@ -3304,7 +3310,7 @@ gst_message_new_instant_rate_request (GstObject * src, gdouble rate_multiplier)
 /**
  * gst_message_parse_instant_rate_request:
  * @message: a #GstMessage of type %GST_MESSAGE_INSTANT_RATE_REQUEST
- * @rate_multiplier: (out) (allow-none): return location for the rate, or %NULL
+ * @rate_multiplier: (out) (optional): return location for the rate, or %NULL
  *
  * Parses the rate_multiplier from the instant-rate-request message.
  *
@@ -3393,7 +3399,7 @@ gst_message_copy (const GstMessage * msg)
  * gst_message_replace: (skip)
  * @old_message: (inout) (transfer full) (nullable): pointer to a
  *     pointer to a #GstMessage to be replaced.
- * @new_message: (allow-none) (transfer none): pointer to a #GstMessage that will
+ * @new_message: (nullable) (transfer none): pointer to a #GstMessage that will
  *     replace the message pointed to by @old_message.
  *
  * Modifies a pointer to a #GstMessage to point to a different #GstMessage. The
@@ -3416,7 +3422,7 @@ gst_message_replace (GstMessage ** old_message, GstMessage * new_message)
  * gst_message_take:
  * @old_message: (inout) (transfer full): pointer to a pointer to a #GstMessage
  *     to be replaced.
- * @new_message: (transfer full) (allow-none): pointer to a #GstMessage that
+ * @new_message: (transfer full) (nullable): pointer to a #GstMessage that
  *     will replace the message pointed to by @old_message.
  *
  * Modifies a pointer to a #GstMessage to point to a different #GstMessage. This
diff --git a/gst/gstmeta.c b/gst/gstmeta.c
index ab36cef..9fc6198 100644
--- a/gst/gstmeta.c
+++ b/gst/gstmeta.c
@@ -57,15 +57,62 @@ static GRWLock lock;
 
 GQuark _gst_meta_transform_copy;
 GQuark _gst_meta_tag_memory;
+GQuark _gst_meta_tag_memory_reference;
+
+typedef struct
+{
+  GstCustomMeta meta;
+
+  GstStructure *structure;
+} GstCustomMetaImpl;
+
+typedef struct
+{
+  GstMetaInfo info;
+  GstCustomMetaTransformFunction custom_transform_func;
+  gpointer custom_transform_user_data;
+  GDestroyNotify custom_transform_destroy_notify;
+  gboolean is_custom;
+} GstMetaInfoImpl;
+
+static void
+free_info (gpointer data)
+{
+  g_slice_free (GstMetaInfoImpl, data);
+}
 
 void
 _priv_gst_meta_initialize (void)
 {
   g_rw_lock_init (&lock);
-  metainfo = g_hash_table_new (g_str_hash, g_str_equal);
+  metainfo = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, free_info);
 
   _gst_meta_transform_copy = g_quark_from_static_string ("gst-copy");
   _gst_meta_tag_memory = g_quark_from_static_string ("memory");
+  _gst_meta_tag_memory_reference =
+      g_quark_from_static_string ("memory-reference");
+}
+
+static gboolean
+notify_custom (gchar * key, GstMetaInfo * info, gpointer unused)
+{
+  GstMetaInfoImpl *impl = (GstMetaInfoImpl *) info;
+
+  if (impl->is_custom) {
+    if (impl->custom_transform_destroy_notify)
+      impl->custom_transform_destroy_notify (impl->custom_transform_user_data);
+  }
+  return TRUE;
+}
+
+void
+_priv_gst_meta_cleanup (void)
+{
+  if (metainfo != NULL) {
+    g_hash_table_foreach_remove (metainfo, (GHRFunc) notify_custom, NULL);
+    g_hash_table_unref (metainfo);
+    metainfo = NULL;
+  }
 }
 
 /**
@@ -89,7 +136,7 @@ gst_meta_api_type_register (const gchar * api, const gchar ** tags)
   GST_CAT_DEBUG (GST_CAT_META, "register API \"%s\"", api);
   type = g_pointer_type_register_static (api);
 
-  if (type != 0) {
+  if (type != G_TYPE_INVALID) {
     gint i;
 
     for (i = 0; tags[i]; i++) {
@@ -104,6 +151,168 @@ gst_meta_api_type_register (const gchar * api, const gchar ** tags)
   return type;
 }
 
+static gboolean
+custom_init_func (GstMeta * meta, gpointer params, GstBuffer * buffer)
+{
+  GstCustomMetaImpl *cmeta = (GstCustomMetaImpl *) meta;
+
+  cmeta->structure = gst_structure_new_empty (g_type_name (meta->info->type));
+
+  gst_structure_set_parent_refcount (cmeta->structure,
+      &GST_MINI_OBJECT_REFCOUNT (buffer));
+
+  return TRUE;
+}
+
+static void
+custom_free_func (GstMeta * meta, GstBuffer * buffer)
+{
+  GstCustomMetaImpl *cmeta = (GstCustomMetaImpl *) meta;
+
+  gst_structure_set_parent_refcount (cmeta->structure, NULL);
+  gst_structure_free (cmeta->structure);
+}
+
+static gboolean
+custom_transform_func (GstBuffer * transbuf, GstMeta * meta,
+    GstBuffer * buffer, GQuark type, gpointer data)
+{
+  GstCustomMetaImpl *custom, *cmeta = (GstCustomMetaImpl *) meta;
+  GstMetaInfoImpl *info = (GstMetaInfoImpl *) meta->info;
+
+  if (info->custom_transform_func)
+    return info->custom_transform_func (transbuf, (GstCustomMeta *) meta,
+        buffer, type, data, info->custom_transform_user_data);
+
+  if (GST_META_TRANSFORM_IS_COPY (type)) {
+    custom =
+        (GstCustomMetaImpl *) gst_buffer_add_meta (transbuf, meta->info, NULL);
+    gst_structure_set_parent_refcount (custom->structure, NULL);
+    gst_structure_take (&custom->structure,
+        gst_structure_copy (cmeta->structure));
+    gst_structure_set_parent_refcount (custom->structure,
+        &GST_MINI_OBJECT_REFCOUNT (transbuf));
+  } else {
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+/**
+ * gst_custom_meta_get_structure:
+ *
+ * Retrieve the #GstStructure backing a custom meta, the structure's mutability
+ * is conditioned to the writability of the #GstBuffer @meta is attached to.
+ *
+ * Returns: (transfer none): the #GstStructure backing @meta
+ * Since: 1.20
+ */
+GstStructure *
+gst_custom_meta_get_structure (GstCustomMeta * meta)
+{
+  g_return_val_if_fail (meta != NULL, NULL);
+  g_return_val_if_fail (gst_meta_info_is_custom (((GstMeta *) meta)->info),
+      NULL);
+
+  return ((GstCustomMetaImpl *) meta)->structure;
+}
+
+/**
+ * gst_custom_meta_has_name:
+ *
+ * Checks whether the name of the custom meta is @name
+ *
+ * Returns: Whether @name is the name of the custom meta
+ * Since: 1.20
+ */
+gboolean
+gst_custom_meta_has_name (GstCustomMeta * meta, const gchar * name)
+{
+  g_return_val_if_fail (meta != NULL, FALSE);
+  g_return_val_if_fail (gst_meta_info_is_custom (((GstMeta *) meta)->info),
+      FALSE);
+
+  return gst_structure_has_name (((GstCustomMetaImpl *) meta)->structure, name);
+}
+
+/**
+ * gst_meta_register_custom:
+ * @name: the name of the #GstMeta implementation
+ * @tags: (array zero-terminated=1): tags for @api
+ * @transform_func: (scope notified) (nullable): a #GstMetaTransformFunction
+ * @user_data: (closure): user data passed to @transform_func
+ * @destroy_data: #GDestroyNotify for user_data
+ *
+ * Register a new custom #GstMeta implementation, backed by an opaque
+ * structure holding a #GstStructure.
+ *
+ * The registered info can be retrieved later with gst_meta_get_info() by using
+ * @name as the key.
+ *
+ * The backing #GstStructure can be retrieved with
+ * gst_custom_meta_get_structure(), its mutability is conditioned by the
+ * writability of the buffer the meta is attached to.
+ *
+ * When @transform_func is %NULL, the meta and its backing #GstStructure
+ * will always be copied when the transform operation is copy, other operations
+ * are discarded, copy regions are ignored.
+ *
+ * Returns: (transfer none): a #GstMetaInfo that can be used to
+ * access metadata.
+ * Since: 1.20
+ */
+const GstMetaInfo *
+gst_meta_register_custom (const gchar * name, const gchar ** tags,
+    GstCustomMetaTransformFunction transform_func,
+    gpointer user_data, GDestroyNotify destroy_data)
+{
+  gchar *api_name = g_strdup_printf ("%s-api", name);
+  GType api;
+  GstMetaInfoImpl *info;
+  GstMetaInfo *ret = NULL;
+
+  g_return_val_if_fail (tags != NULL, NULL);
+  g_return_val_if_fail (name != NULL, NULL);
+
+  api = gst_meta_api_type_register (api_name, tags);
+  g_free (api_name);
+  if (api == G_TYPE_INVALID)
+    goto done;
+
+  info = (GstMetaInfoImpl *) gst_meta_register (api, name,
+      sizeof (GstCustomMetaImpl),
+      custom_init_func, custom_free_func, custom_transform_func);
+
+  if (!info)
+    goto done;
+
+  info->is_custom = TRUE;
+  info->custom_transform_func = transform_func;
+  info->custom_transform_user_data = user_data;
+  info->custom_transform_destroy_notify = destroy_data;
+
+  ret = (GstMetaInfo *) info;
+
+done:
+  return ret;
+}
+
+/**
+ * gst_meta_info_is_custom:
+ *
+ * Returns: whether @info was registered as a #GstCustomMeta with
+ *   gst_meta_register_custom()
+ * Since:1.20
+ */
+gboolean
+gst_meta_info_is_custom (const GstMetaInfo * info)
+{
+  g_return_val_if_fail (info != NULL, FALSE);
+
+  return ((GstMetaInfoImpl *) info)->is_custom;
+}
+
 /**
  * gst_meta_api_type_has_tag:
  * @api: an API
@@ -158,7 +367,7 @@ gst_meta_api_type_get_tags (GType api)
  * The same @info can be retrieved later with gst_meta_get_info() by using
  * @impl as the key.
  *
- * Returns: (transfer none) (nullable): a #GstMetaInfo that can be used to
+ * Returns: (transfer none): a #GstMetaInfo that can be used to
  * access metadata.
  */
 
@@ -182,16 +391,17 @@ gst_meta_register (GType api, const gchar * impl, gsize size,
    * that this fails because it was already registered. Don't warn,
    * glib did this for us already. */
   type = g_pointer_type_register_static (impl);
-  if (type == 0)
+  if (type == G_TYPE_INVALID)
     return NULL;
 
-  info = g_slice_new (GstMetaInfo);
+  info = (GstMetaInfo *) g_slice_new (GstMetaInfoImpl);
   info->api = api;
   info->type = type;
   info->size = size;
   info->init_func = init_func;
   info->free_func = free_func;
   info->transform_func = transform_func;
+  ((GstMetaInfoImpl *) info)->is_custom = FALSE;
 
   GST_CAT_DEBUG (GST_CAT_META,
       "register \"%s\" implementing \"%s\" of size %" G_GSIZE_FORMAT, impl,
diff --git a/gst/gstmeta.h b/gst/gstmeta.h
index d617ef8..44edbe0 100644
--- a/gst/gstmeta.h
+++ b/gst/gstmeta.h
@@ -87,11 +87,21 @@ typedef enum {
  * GST_META_TAG_MEMORY_STR:
  *
  * This metadata stays relevant as long as memory layout is unchanged.
+ * In hindsight, this tag should have been called "memory-layout".
  *
  * Since: 1.2
  */
 #define GST_META_TAG_MEMORY_STR "memory"
 
+/**
+ * GST_META_TAG_MEMORY_REFERENCE_STR:
+ *
+ * This metadata stays relevant until a deep copy is made.
+ *
+ * Since: 1.20.4
+ */
+#define GST_META_TAG_MEMORY_REFERENCE_STR "memory-reference"
+
 /**
  * GstMeta:
  * @flags: extra flags for the metadata
@@ -105,6 +115,17 @@ struct _GstMeta {
   const GstMetaInfo *info;
 };
 
+/**
+ * GstCustomMeta:
+ *
+ * Simple typing wrapper around #GstMeta
+ *
+ * Since: 1.20
+ */
+typedef struct {
+  GstMeta meta;
+} GstCustomMeta;
+
 #include <gst/gstbuffer.h>
 
 /**
@@ -178,6 +199,30 @@ typedef gboolean (*GstMetaTransformFunction) (GstBuffer *transbuf,
                                               GstMeta *meta, GstBuffer *buffer,
                                               GQuark type, gpointer data);
 
+/**
+ * GstCustomMetaTransformFunction:
+ * @transbuf: a #GstBuffer
+ * @meta: a #GstCustomMeta
+ * @buffer: a #GstBuffer
+ * @type: the transform type
+ * @data: transform specific data.
+ * @user_data: user data passed when registering the meta
+ *
+ * Function called for each @meta in @buffer as a result of performing a
+ * transformation that yields @transbuf. Additional @type specific transform
+ * data is passed to the function as @data.
+ *
+ * Implementations should check the @type of the transform and parse
+ * additional type specific fields in @data that should be used to update
+ * the metadata on @transbuf.
+ *
+ * Returns: %TRUE if the transform could be performed
+ * Since: 1.20
+ */
+typedef gboolean (*GstCustomMetaTransformFunction) (GstBuffer *transbuf,
+                                                    GstCustomMeta *meta, GstBuffer *buffer,
+                                                    GQuark type, gpointer data, gpointer user_data);
+
 /**
  * GstMetaInfo:
  * @api: tag identifying the metadata structure and api
@@ -216,6 +261,21 @@ const GstMetaInfo *  gst_meta_register          (GType api, const gchar *impl,
                                                  GstMetaInitFunction      init_func,
                                                  GstMetaFreeFunction      free_func,
                                                  GstMetaTransformFunction transform_func);
+
+GST_API
+const GstMetaInfo *  gst_meta_register_custom   (const gchar *name, const gchar **tags,
+                                                 GstCustomMetaTransformFunction transform_func,
+                                                 gpointer user_data, GDestroyNotify destroy_data);
+
+GST_API
+gboolean             gst_meta_info_is_custom    (const GstMetaInfo *info);
+
+GST_API
+GstStructure *       gst_custom_meta_get_structure (GstCustomMeta *meta);
+
+GST_API
+gboolean             gst_custom_meta_has_name (GstCustomMeta *meta, const gchar * name);
+
 GST_API
 const GstMetaInfo *  gst_meta_get_info          (const gchar * impl);
 
@@ -232,6 +292,7 @@ gint                 gst_meta_compare_seqnum    (const GstMeta * meta1,
 /* some default tags */
 
 GST_API GQuark _gst_meta_tag_memory;
+GST_API GQuark _gst_meta_tag_memory_reference;
 
 /**
  * GST_META_TAG_MEMORY:
diff --git a/gst/gstminiobject.c b/gst/gstminiobject.c
index bc7aef0..18fdce0 100644
--- a/gst/gstminiobject.c
+++ b/gst/gstminiobject.c
@@ -59,6 +59,8 @@
 #include "gst/gstinfo.h"
 #include <gobject/gvaluecollector.h>
 
+GType _gst_mini_object_type = 0;
+
 /* Mutex used for weak referencing */
 G_LOCK_DEFINE_STATIC (qdata_mutex);
 static GQuark weak_ref_quark;
@@ -72,6 +74,14 @@ static GQuark weak_ref_quark;
 #define LOCK_MASK ((SHARE_ONE - 1) - FLAG_MASK)
 #define LOCK_FLAG_MASK (SHARE_ONE - 1)
 
+/**
+ * GST_TYPE_MINI_OBJECT:
+ *
+ * The #GType associated with #GstMiniObject.
+ *
+ * Since: 1.20
+ */
+
 /* For backwards compatibility reasons we use the
  * guint and gpointer in the GstMiniObject struct in
  * a rather complicated way to store the parent(s) and qdata.
@@ -126,9 +136,12 @@ typedef struct
 #define QDATA_DATA(o,i)     (QDATA(o,i).data)
 #define QDATA_DESTROY(o,i)  (QDATA(o,i).destroy)
 
+GST_DEFINE_MINI_OBJECT_TYPE (GstMiniObject, gst_mini_object);
+
 void
 _priv_gst_mini_object_initialize (void)
 {
+  _gst_mini_object_type = gst_mini_object_get_type ();
   weak_ref_quark = g_quark_from_static_string ("GstMiniObjectWeakRefQuark");
 }
 
@@ -204,7 +217,7 @@ gst_mini_object_copy (const GstMiniObject * mini_object)
 gboolean
 gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags)
 {
-  gint access_mode, state, newstate;
+  guint access_mode, state, newstate;
 
   g_return_val_if_fail (object != NULL, FALSE);
   g_return_val_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object), FALSE);
@@ -215,9 +228,9 @@ gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags)
 
   do {
     access_mode = flags & FLAG_MASK;
-    newstate = state = g_atomic_int_get (&object->lockstate);
+    newstate = state = (guint) g_atomic_int_get (&object->lockstate);
 
-    GST_CAT_TRACE (GST_CAT_LOCKING, "lock %p: state %08x, access_mode %d",
+    GST_CAT_TRACE (GST_CAT_LOCKING, "lock %p: state %08x, access_mode %u",
         object, state, access_mode);
 
     if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
@@ -252,7 +265,7 @@ gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags)
 lock_failed:
   {
     GST_CAT_DEBUG (GST_CAT_LOCKING,
-        "lock failed %p: state %08x, access_mode %d", object, state,
+        "lock failed %p: state %08x, access_mode %u", object, state,
         access_mode);
     return FALSE;
   }
@@ -268,16 +281,16 @@ lock_failed:
 void
 gst_mini_object_unlock (GstMiniObject * object, GstLockFlags flags)
 {
-  gint access_mode, state, newstate;
+  guint access_mode, state, newstate;
 
   g_return_if_fail (object != NULL);
   g_return_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object));
 
   do {
     access_mode = flags & FLAG_MASK;
-    newstate = state = g_atomic_int_get (&object->lockstate);
+    newstate = state = (guint) g_atomic_int_get (&object->lockstate);
 
-    GST_CAT_TRACE (GST_CAT_LOCKING, "unlock %p: state %08x, access_mode %d",
+    GST_CAT_TRACE (GST_CAT_LOCKING, "unlock %p: state %08x, access_mode %u",
         object, state, access_mode);
 
     if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
@@ -410,8 +423,8 @@ gst_mini_object_is_writable (const GstMiniObject * mini_object)
  *
  * MT safe
  *
- * Returns: (transfer full): a mini-object (possibly the same pointer) that
- *     is writable.
+ * Returns: (transfer full) (nullable): a writable mini-object (which may or may not be
+ *     the same as @mini_object) or %NULL if copying is required but not possible.
  */
 GstMiniObject *
 gst_mini_object_make_writable (GstMiniObject * mini_object)
diff --git a/gst/gstminiobject.h b/gst/gstminiobject.h
index b931e76..f4dfa8d 100644
--- a/gst/gstminiobject.h
+++ b/gst/gstminiobject.h
@@ -29,6 +29,10 @@
 
 G_BEGIN_DECLS
 
+GST_API GType _gst_mini_object_type;
+
+#define GST_TYPE_MINI_OBJECT               (_gst_mini_object_type)
+
 #define GST_IS_MINI_OBJECT_TYPE(obj,type)  ((obj) && GST_MINI_OBJECT_TYPE(obj) == (type))
 #define GST_MINI_OBJECT_CAST(obj)          ((GstMiniObject*)(obj))
 #define GST_MINI_OBJECT_CONST_CAST(obj)    ((const GstMiniObject*)(obj))
@@ -36,6 +40,9 @@ G_BEGIN_DECLS
 
 typedef struct _GstMiniObject GstMiniObject;
 
+GST_API
+GType           gst_mini_object_get_type   (void);
+
 /**
  * GstMiniObjectCopyFunction:
  * @obj: MiniObject to copy
diff --git a/gst/gstobject.c b/gst/gstobject.c
index dfc7a2f..2b7146d 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -324,7 +324,7 @@ gst_clear_object (GstObject ** object_ptr)
  * gst_object_replace:
  * @oldobj: (inout) (transfer full) (nullable): pointer to a place of
  *     a #GstObject to replace
- * @newobj: (transfer none) (allow-none): a new #GstObject
+ * @newobj: (transfer none) (nullable): a new #GstObject
  *
  * Atomically modifies a pointer to point to a new object.
  * The reference count of @oldobj is decreased and the reference count of
@@ -630,7 +630,7 @@ had_parent:
 /**
  * gst_object_set_name:
  * @object: a #GstObject
- * @name: (allow-none): new name of object
+ * @name: (nullable): new name of object
  *
  * Sets the name of @object, or gives @object a guaranteed unique
  * name (if @name is %NULL).
@@ -1342,7 +1342,7 @@ gst_object_remove_control_binding (GstObject * object,
  *
  * Gets the value for the given controlled property at the requested time.
  *
- * Returns: (nullable): the GValue of the property at the given time,
+ * Returns: (transfer full) (nullable): the GValue of the property at the given time,
  * or %NULL if the property isn't controlled.
  */
 GValue *
@@ -1372,7 +1372,7 @@ gst_object_get_value (GstObject * object, const gchar * property_name,
  * @timestamp: the time that should be processed
  * @interval: the time spacing between subsequent values
  * @n_values: the number of values
- * @values: array to put control-values in
+ * @values: (array length=n_values): array to put control-values in
  *
  * Gets a number of values for the given controlled property starting at the
  * requested time. The array @values need to hold enough space for @n_values of
diff --git a/gst/gstpad.c b/gst/gstpad.c
index 6ae914b..db98933 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -99,7 +99,6 @@
 #include "gstvalue.h"
 #include "glib-compat-private.h"
 
-GST_DEBUG_CATEGORY_STATIC (debug_dataflow);
 #define GST_CAT_DEFAULT GST_CAT_PADS
 
 /* Pad signals and args */
@@ -129,6 +128,7 @@ enum
 typedef struct
 {
   gboolean received;
+  guint sticky_order;
   GstEvent *event;
 } PadEvent;
 
@@ -312,8 +312,6 @@ gst_pad_link_get_name (GstPadLinkReturn ret)
     flow_quarks[i].quark = g_quark_from_static_string (flow_quarks[i].name); \
   } \
   \
-  GST_DEBUG_CATEGORY_INIT (debug_dataflow, "GST_DATAFLOW", \
-      GST_DEBUG_BOLD | GST_DEBUG_FG_GREEN, "dataflow inside pads"); \
 }
 
 #define gst_pad_parent_class parent_class
@@ -462,6 +460,8 @@ remove_events (GstPad * pad)
   }
 }
 
+#define _to_sticky_order(t) gst_event_type_to_sticky_ordering(t)
+
 /* should be called with object lock */
 static PadEvent *
 find_event_by_type (GstPad * pad, GstEventType type, guint idx)
@@ -469,6 +469,7 @@ find_event_by_type (GstPad * pad, GstEventType type, guint idx)
   guint i, len;
   GArray *events;
   PadEvent *ev;
+  guint last_sticky_order = _to_sticky_order (type);
 
   events = pad->priv->events;
   len = events->len;
@@ -482,7 +483,7 @@ find_event_by_type (GstPad * pad, GstEventType type, guint idx)
       if (idx == 0)
         goto found;
       idx--;
-    } else if (GST_EVENT_TYPE (ev->event) > type) {
+    } else if (ev->sticky_order > last_sticky_order) {
       break;
     }
   }
@@ -502,11 +503,12 @@ find_event (GstPad * pad, GstEvent * event)
   events = pad->priv->events;
   len = events->len;
 
+  guint sticky_order = _to_sticky_order (GST_EVENT_TYPE (event));
   for (i = 0; i < len; i++) {
     ev = &g_array_index (events, PadEvent, i);
     if (event == ev->event)
       goto found;
-    else if (GST_EVENT_TYPE (ev->event) > GST_EVENT_TYPE (event))
+    else if (ev->sticky_order > sticky_order)
       break;
   }
   ev = NULL;
@@ -525,13 +527,15 @@ remove_event_by_type (GstPad * pad, GstEventType type)
   events = pad->priv->events;
   len = events->len;
 
+  guint last_sticky_order = _to_sticky_order (type);
+
   i = 0;
   while (i < len) {
     ev = &g_array_index (events, PadEvent, i);
     if (ev->event == NULL)
       goto next;
 
-    if (GST_EVENT_TYPE (ev->event) > type)
+    if (ev->sticky_order > last_sticky_order)
       break;
     else if (GST_EVENT_TYPE (ev->event) != type)
       goto next;
@@ -602,6 +606,7 @@ restart:
       goto next;
 
     /* take additional ref, func might release the lock */
+    ev_ret.sticky_order = ev->sticky_order;
     ev_ret.event = gst_event_ref (ev->event);
     ev_ret.received = ev->received;
 
@@ -723,9 +728,8 @@ gst_pad_dispose (GObject * object)
 
   GST_OBJECT_LOCK (pad);
   remove_events (pad);
-  GST_OBJECT_UNLOCK (pad);
-
   g_hook_list_clear (&pad->probes);
+  GST_OBJECT_UNLOCK (pad);
 
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
@@ -1372,8 +1376,10 @@ cleanup_hook (GstPad * pad, GHook * hook)
   GST_DEBUG_OBJECT (pad,
       "cleaning up hook %lu with flags %08x", hook->hook_id, hook->flags);
 
-  if (!G_HOOK_IS_VALID (hook))
+  if (!G_HOOK_IS_VALID (hook)) {
+    /* We've already destroyed this hook */
     return;
+  }
 
   type = (hook->flags) >> G_HOOK_FLAG_USER_SHIFT;
 
@@ -1493,6 +1499,9 @@ gst_pad_add_probe (GstPad * pad, GstPadProbeType mask,
       gst_object_ref (pad);
       pad->priv->idle_running++;
 
+      /* Ref the hook, it could be destroyed by the callback or concurrently */
+      g_hook_ref (&pad->probes, hook);
+
       /* the pad is idle now, we can signal the idle callback now */
       GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
           "pad is idle, trigger idle callback");
@@ -1524,6 +1533,7 @@ gst_pad_add_probe (GstPad * pad, GstPadProbeType mask,
           GST_DEBUG_OBJECT (pad, "probe returned %d", ret);
           break;
       }
+      g_hook_unref (&pad->probes, hook);
       pad->priv->idle_running--;
       if (pad->priv->idle_running == 0) {
         GST_PAD_BLOCK_BROADCAST (pad);
@@ -3533,15 +3543,13 @@ gst_pad_query_default (GstPad * pad, GstObject * parent, GstQuery * query)
 
 #define N_STACK_ALLOCATE_PROBES (16)
 
-static void
-probe_hook_marshal (GHook * hook, ProbeMarshall * data)
+/* A helper that checks if a probe was already
+ * in the called_probes list, and adds it if
+ * not. Used to avoid calling probes a 2nd time when
+ * looping again after probe removal */
+static gboolean
+check_probe_already_called (GHook * hook, ProbeMarshall * data)
 {
-  GstPad *pad = data->pad;
-  GstPadProbeInfo *info = data->info;
-  GstPadProbeType type, flags;
-  GstPadProbeCallback callback;
-  GstPadProbeReturn ret;
-  gpointer original_data;
   guint i;
 
   /* if we have called this callback, do nothing. But only check
@@ -3549,9 +3557,7 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
   if (data->retry) {
     for (i = 0; i < data->n_called_probes; i++) {
       if (data->called_probes[i] == hook->hook_id) {
-        GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
-            "hook %lu already called", hook->hook_id);
-        return;
+        return TRUE;
       }
     }
   }
@@ -3573,6 +3579,20 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
   }
   data->called_probes[data->n_called_probes++] = hook->hook_id;
 
+  /* This probe was not alraedy called */
+  return FALSE;
+}
+
+static void
+probe_hook_marshal (GHook * hook, ProbeMarshall * data)
+{
+  GstPad *pad = data->pad;
+  GstPadProbeInfo *info = data->info;
+  GstPadProbeType type, flags;
+  GstPadProbeCallback callback;
+  GstPadProbeReturn ret;
+  gpointer original_data;
+
   flags = hook->flags >> G_HOOK_FLAG_USER_SHIFT;
   type = info->type;
   original_data = info->data;
@@ -3618,14 +3638,26 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
       (flags & GST_PAD_PROBE_TYPE_EVENT_FLUSH & type) == 0)
     goto no_match;
 
+  if (check_probe_already_called (hook, data)) {
+    /* Reset marshalled = TRUE here, because the probe
+     * was already called and set it the first time around,
+     * and we may want to keep blocking on it.
+     *
+     * https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/658
+     */
+    data->marshalled = TRUE;
+    goto already_called;
+  }
+
   GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
       "hook %lu with flags 0x%08x matches", hook->hook_id, flags);
 
-  data->marshalled = TRUE;
-
   callback = (GstPadProbeCallback) hook->func;
-  if (callback == NULL)
+  if (callback == NULL) {
+    /* No callback is equivalent to just returning GST_PAD_PROBE_OK */
+    data->marshalled = TRUE;
     return;
+  }
 
   info->id = hook->hook_id;
 
@@ -3638,6 +3670,18 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
 
   GST_OBJECT_LOCK (pad);
 
+  /* If the probe callback asked for the
+   * probe to be removed, don't set the marshalled flag
+   * otherwise, you can get a case where you return
+   * GST_PAD_PROBE_REMOVE from a buffer probe and
+   * then the pad blocks anyway if there's any other
+   * blocking probes installed.
+   *
+   * https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/658
+   */
+  if (ret != GST_PAD_PROBE_REMOVE)
+    data->marshalled = TRUE;
+
   if ((flags & GST_PAD_PROBE_TYPE_IDLE))
     pad->priv->idle_running--;
 
@@ -3686,6 +3730,12 @@ no_match:
         hook->hook_id, flags, info->type);
     return;
   }
+already_called:
+  {
+    GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
+        "hook %lu already called", hook->hook_id);
+    return;
+  }
 }
 
 /* a probe that does not take or return any data */
@@ -3774,7 +3824,6 @@ do_probe_callbacks (GstPad * pad, GstPadProbeInfo * info,
   data.info = info;
   data.pass = FALSE;
   data.handled = FALSE;
-  data.marshalled = FALSE;
   data.dropped = FALSE;
 
   /* We stack-allocate for N_STACK_ALLOCATE_PROBES hooks as a first step. If more are needed,
@@ -3797,6 +3846,10 @@ again:
   GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, "do probes");
   cookie = pad->priv->probe_list_cookie;
 
+  /* Clear the marshalled flag before doing callbacks. Only if
+   * there are matching callbacks still will it get set */
+  data.marshalled = FALSE;
+
   g_hook_list_marshal (&pad->probes, TRUE,
       (GHookMarshaller) probe_hook_marshal, &data);
 
@@ -3988,12 +4041,17 @@ push_sticky (GstPad * pad, PadEvent * ev, gpointer user_data)
     return TRUE;
   }
 
+  guint data_sticky_order = 0;
+  if (data->event) {
+    data_sticky_order = _to_sticky_order (GST_EVENT_TYPE (data->event));
+  }
+
   /* If we're called because of an sticky event, only forward
    * events that would come before this new event and the
    * event itself */
   if (data->event && GST_EVENT_IS_STICKY (data->event) &&
-      GST_EVENT_TYPE (data->event) <= GST_EVENT_SEGMENT &&
-      GST_EVENT_TYPE (data->event) < GST_EVENT_TYPE (event)) {
+      data_sticky_order <= _to_sticky_order (GST_EVENT_SEGMENT) &&
+      data_sticky_order < ev->sticky_order) {
     data->ret = GST_FLOW_CUSTOM_SUCCESS_1;
   } else {
     data->ret = gst_pad_push_event_unchecked (pad, gst_event_ref (event),
@@ -4345,6 +4403,12 @@ gst_pad_chain_data_unchecked (GstPad * pad, GstPadProbeType type, void *data)
   GstObject *parent;
   gboolean handled = FALSE;
 
+  if (type & GST_PAD_PROBE_TYPE_BUFFER_LIST) {
+    GST_TRACER_PAD_CHAIN_LIST_PRE (pad, data);
+  } else {
+    GST_TRACER_PAD_CHAIN_PRE (pad, data);
+  }
+
   GST_PAD_STREAM_LOCK (pad);
 
   GST_OBJECT_LOCK (pad);
@@ -4418,10 +4482,19 @@ gst_pad_chain_data_unchecked (GstPad * pad, GstPadProbeType type, void *data)
         GST_DEBUG_FUNCPTR_NAME (chainlistfunc), gst_flow_get_name (ret));
   }
 
+  pad->ABI.abi.last_flowret = ret;
+
   RELEASE_PARENT (parent);
 
   GST_PAD_STREAM_UNLOCK (pad);
 
+out:
+  if (type & GST_PAD_PROBE_TYPE_BUFFER_LIST) {
+    GST_TRACER_PAD_CHAIN_LIST_POST (pad, ret);
+  } else {
+    GST_TRACER_PAD_CHAIN_POST (pad, ret);
+  }
+
   return ret;
 
   /* ERRORS */
@@ -4429,35 +4502,39 @@ flushing:
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
         "chaining, but pad was flushing");
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
-    return GST_FLOW_FLUSHING;
+    ret = GST_FLOW_FLUSHING;
+    goto out;
   }
 eos:
   {
     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad, "chaining, but pad was EOS");
+    pad->ABI.abi.last_flowret = GST_FLOW_EOS;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
-    return GST_FLOW_EOS;
+    ret = GST_FLOW_EOS;
+    goto out;
   }
 wrong_mode:
   {
     g_critical ("chain on pad %s:%s but it was not in push mode",
         GST_DEBUG_PAD_NAME (pad));
+    pad->ABI.abi.last_flowret = GST_FLOW_ERROR;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
-    return GST_FLOW_ERROR;
+    ret = GST_FLOW_ERROR;
+    goto out;
   }
 probe_handled:
   handled = TRUE;
   /* PASSTHROUGH */
 probe_stopped:
   {
-    GST_OBJECT_UNLOCK (pad);
-    GST_PAD_STREAM_UNLOCK (pad);
     /* We unref the buffer, except if the probe handled it (CUSTOM_SUCCESS_1) */
     if (!handled)
       gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
@@ -4472,24 +4549,31 @@ probe_stopped:
         GST_DEBUG_OBJECT (pad, "an error occurred %s", gst_flow_get_name (ret));
         break;
     }
-    return ret;
+    pad->ABI.abi.last_flowret = ret;
+    GST_OBJECT_UNLOCK (pad);
+    GST_PAD_STREAM_UNLOCK (pad);
+    goto out;
   }
 no_parent:
   {
     GST_DEBUG_OBJECT (pad, "No parent when chaining %" GST_PTR_FORMAT, data);
+    pad->ABI.abi.last_flowret = GST_FLOW_FLUSHING;
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
-    return GST_FLOW_FLUSHING;
+    ret = GST_FLOW_FLUSHING;
+    goto out;
   }
 no_function:
   {
+    pad->ABI.abi.last_flowret = GST_FLOW_NOT_SUPPORTED;
     RELEASE_PARENT (parent);
     gst_mini_object_unref (GST_MINI_OBJECT_CAST (data));
     g_critical ("chain on pad %s:%s but it has no chainfunction",
         GST_DEBUG_PAD_NAME (pad));
     GST_PAD_STREAM_UNLOCK (pad);
-    return GST_FLOW_NOT_SUPPORTED;
+    ret = GST_FLOW_NOT_SUPPORTED;
+    goto out;
   }
 }
 
@@ -4538,7 +4622,7 @@ gst_pad_chain_list_default (GstPad * pad, GstObject * parent,
   GstBuffer *buffer;
   GstFlowReturn ret;
 
-  GST_INFO_OBJECT (pad, "chaining each buffer in list individually");
+  GST_LOG_OBJECT (pad, "chaining each buffer in list individually");
 
   len = gst_buffer_list_length (list);
 
@@ -4898,11 +4982,11 @@ flushing:
   }
 wrong_mode:
   {
-    g_critical ("getrange on pad %s:%s but it was not activated in pull mode",
-        GST_DEBUG_PAD_NAME (pad));
     pad->ABI.abi.last_flowret = GST_FLOW_ERROR;
     GST_OBJECT_UNLOCK (pad);
     GST_PAD_STREAM_UNLOCK (pad);
+    g_critical ("getrange on pad %s:%s but it was not activated in pull mode",
+        GST_DEBUG_PAD_NAME (pad));
     return GST_FLOW_ERROR;
   }
 events_error:
@@ -5224,6 +5308,7 @@ store_sticky_event (GstPad * pad, GstEvent * event)
   gboolean insert = TRUE;
 
   type = GST_EVENT_TYPE (event);
+  guint sticky_order = _to_sticky_order (type);
 
   /* Store all sticky events except SEGMENT/EOS when we're flushing,
    * otherwise they can be dropped and nothing would ever resend them.
@@ -5272,11 +5357,11 @@ store_sticky_event (GstPad * pad, GstEvent * event)
       break;
     }
 
-    if (type < GST_EVENT_TYPE (ev->event) || (type != GST_EVENT_TYPE (ev->event)
+    if (sticky_order < ev->sticky_order || (type != GST_EVENT_TYPE (ev->event)
             && GST_EVENT_TYPE (ev->event) == GST_EVENT_EOS)) {
       /* STREAM_START, CAPS and SEGMENT must be delivered in this order. By
        * storing the sticky ordered we can check that this is respected. */
-      if (G_UNLIKELY (GST_EVENT_TYPE (ev->event) <= GST_EVENT_SEGMENT
+      if (G_UNLIKELY (ev->sticky_order <= _to_sticky_order (GST_EVENT_SEGMENT)
               || GST_EVENT_TYPE (ev->event) == GST_EVENT_EOS))
         g_warning (G_STRLOC
             ":%s:<%s:%s> Sticky event misordering, got '%s' before '%s'",
@@ -5288,6 +5373,7 @@ store_sticky_event (GstPad * pad, GstEvent * event)
   }
   if (insert) {
     PadEvent ev;
+    ev.sticky_order = sticky_order;
     ev.event = gst_event_ref (event);
     ev.received = FALSE;
     g_array_insert_val (events, i, ev);
@@ -5367,7 +5453,7 @@ sticky_changed (GstPad * pad, PadEvent * ev, gpointer user_data)
 
   /* Forward all sticky events before our current one that are pending */
   if (ev->event != data->event
-      && GST_EVENT_TYPE (ev->event) < GST_EVENT_TYPE (data->event))
+      && ev->sticky_order < _to_sticky_order (GST_EVENT_TYPE (data->event)))
     return push_sticky (pad, ev, data);
 
   return TRUE;
@@ -5436,8 +5522,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
           GST_PAD_PROBE_TYPE_BLOCK, event, probe_stopped);
       /* recheck sticky events because the probe might have cause a relink */
       if (GST_PAD_HAS_PENDING_EVENTS (pad) && GST_PAD_IS_SRC (pad)
-          && (GST_EVENT_IS_SERIALIZED (event)
-              || GST_EVENT_IS_STICKY (event))) {
+          && (GST_EVENT_IS_SERIALIZED (event))) {
         PushStickyData data = { GST_FLOW_OK, FALSE, event };
         GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
 
@@ -5454,8 +5539,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
 
   /* recheck sticky events because the probe might have cause a relink */
   if (GST_PAD_HAS_PENDING_EVENTS (pad) && GST_PAD_IS_SRC (pad)
-      && (GST_EVENT_IS_SERIALIZED (event)
-          || GST_EVENT_IS_STICKY (event))) {
+      && (GST_EVENT_IS_SERIALIZED (event))) {
     PushStickyData data = { GST_FLOW_OK, FALSE, event };
     GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
 
@@ -5613,15 +5697,17 @@ gst_pad_push_event (GstPad * pad, GstEvent * event)
         break;
     }
   }
-  if (GST_PAD_IS_SRC (pad) && (serialized || sticky)) {
-    /* all serialized or sticky events on the srcpad trigger push of
-     * sticky events */
+  if (GST_PAD_IS_SRC (pad) && serialized) {
+    /* All serialized events on the srcpad trigger push of sticky events.
+     *
+     * Note that we do not do this for non-serialized sticky events since it
+     * could potentially block. */
     res = (check_sticky (pad, event) == GST_FLOW_OK);
   }
-  if (!sticky) {
+  if (!serialized || !sticky) {
     GstFlowReturn ret;
 
-    /* other events are pushed right away */
+    /* non-serialized and non-sticky events are pushed right away. */
     ret = gst_pad_push_event_unchecked (pad, event, type);
     /* dropped events by a probe are not an error */
     res = (ret == GST_FLOW_OK || ret == GST_FLOW_CUSTOM_SUCCESS
@@ -5779,6 +5865,17 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
 
       switch (event_type) {
         case GST_EVENT_STREAM_START:
+          /* Take the stream lock to unset the EOS status. This is to ensure
+           * there isn't any other serialized event passing through while this
+           * EOS status is being unset */
+          /* lock order: STREAM_LOCK, LOCK, recheck flushing. */
+          GST_OBJECT_UNLOCK (pad);
+          GST_PAD_STREAM_LOCK (pad);
+          need_unlock = TRUE;
+          GST_OBJECT_LOCK (pad);
+          if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
+            goto flushing;
+
           /* Remove sticky EOS events */
           GST_LOG_OBJECT (pad, "Removing pending EOS events");
           remove_event_by_type (pad, GST_EVENT_EOS);
@@ -5787,24 +5884,22 @@ gst_pad_send_event_unchecked (GstPad * pad, GstEvent * event,
           GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_EOS);
           break;
         default:
+          if (serialized) {
+            /* Take the stream lock to check the EOS status and drop the event
+             * if that is the case. */
+            /* lock order: STREAM_LOCK, LOCK, recheck flushing. */
+            GST_OBJECT_UNLOCK (pad);
+            GST_PAD_STREAM_LOCK (pad);
+            need_unlock = TRUE;
+            GST_OBJECT_LOCK (pad);
+            if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
+              goto flushing;
+
+            if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
+              goto eos;
+          }
           break;
       }
-
-      if (serialized) {
-        if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
-          goto eos;
-
-        /* lock order: STREAM_LOCK, LOCK, recheck flushing. */
-        GST_OBJECT_UNLOCK (pad);
-        GST_PAD_STREAM_LOCK (pad);
-        need_unlock = TRUE;
-        GST_OBJECT_LOCK (pad);
-        if (G_UNLIKELY (GST_PAD_IS_FLUSHING (pad)))
-          goto flushing;
-
-        if (G_UNLIKELY (GST_PAD_IS_EOS (pad)))
-          goto eos;
-      }
       break;
   }
 
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 8cc896d..c89be30 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -548,9 +548,12 @@ typedef enum
  *        the data item is not passed upstream. In both cases, no other probes
  *        are called for this item and %GST_FLOW_OK or %TRUE is returned to the
  *        caller.
- * @GST_PAD_PROBE_REMOVE: remove this probe.
+ * @GST_PAD_PROBE_REMOVE: remove this probe, passing the data. For blocking probes
+ *        this will cause data flow to unblock, unless there are also other
+ *        blocking probes installed.
  * @GST_PAD_PROBE_PASS: pass the data item in the block probe and block on the
- *        next item.
+ *        next item. Note, that if there are multiple pad probes installed and
+ *        any probe returns PASS, the data will be passed.
  * @GST_PAD_PROBE_HANDLED: Data has been handled in the probe and will not be
  *        forwarded further. For events and buffers this is the same behaviour as
  *        %GST_PAD_PROBE_DROP (except that in this case you need to unref the buffer
diff --git a/gst/gstpadtemplate.c b/gst/gstpadtemplate.c
index 606440f..d37aeb9 100644
--- a/gst/gstpadtemplate.c
+++ b/gst/gstpadtemplate.c
@@ -42,7 +42,7 @@
  * GST_PAD_TEMPLATE_DIRECTION().
  *
  * The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads
- * because it has to be used as the name in the gst_element_get_request_pad()
+ * because it has to be used as the name in the gst_element_request_pad_simple()
  * call to instantiate a pad from this template.
  *
  * Padtemplates can be created with gst_pad_template_new() or with
@@ -70,7 +70,7 @@
  *   my_method (void)
  *   {
  *     GstPad *pad;
- *     pad = gst_pad_new_from_static_template (&amp;my_template, "sink");
+ *     pad = gst_pad_new_from_static_template (&my_template, "sink");
  *     ...
  *   }
  * ]|
@@ -83,7 +83,7 @@
  *   {
  *     GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
  *
- *     gst_element_class_add_static_pad_template (gstelement_class, &amp;my_template);
+ *     gst_element_class_add_static_pad_template (gstelement_class, &my_template);
  *   }
  * ]|
  */
@@ -483,7 +483,7 @@ gst_pad_template_get_caps (GstPadTemplate * templ)
 /**
  * gst_pad_template_set_documentation_caps:
  * @templ: the pad template to set documented capabilities on
- * @caps: (transfer full): the documented capabilities
+ * @caps: (transfer none): the documented capabilities
  *
  * Certain elements will dynamically construct the caps of their
  * pad templates. In order not to let environment-specific information
@@ -510,7 +510,7 @@ gst_pad_template_set_documentation_caps (GstPadTemplate * templ, GstCaps * caps)
  *
  * See gst_pad_template_set_documentation_caps().
  *
- * Returns: The caps to document. For convenience, this will return
+ * Returns: (transfer full): The caps to document. For convenience, this will return
  *   gst_pad_template_get_caps() when no documentation caps were set.
  * Since: 1.18
  */
diff --git a/gst/gstparamspecs.c b/gst/gstparamspecs.c
index 7de51d7..39c378c 100644
--- a/gst/gstparamspecs.c
+++ b/gst/gstparamspecs.c
@@ -123,7 +123,7 @@ _gst_param_fraction_values_cmp (GParamSpec * pspec, const GValue * value1,
 GType
 gst_param_spec_fraction_get_type (void)
 {
-  static volatile GType gst_faction_type = 0;
+  static GType gst_faction_type = 0;
 
   /* register GST_TYPE_PARAM_FRACTION */
   if (g_once_init_enter (&gst_faction_type)) {
@@ -304,7 +304,7 @@ _gst_param_array_values_cmp (GParamSpec * pspec, const GValue * value1,
 GType
 gst_param_spec_array_get_type (void)
 {
-  static volatile GType gst_array_type = 0;
+  static GType gst_array_type = 0;
 
   /* register GST_TYPE_PARAM_FRACTION */
   if (g_once_init_enter (&gst_array_type)) {
diff --git a/gst/gstparse.c b/gst/gstparse.c
index b44d345..1a0d34b 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -230,7 +230,7 @@ gst_parse_launchv (const gchar ** argv, GError ** error)
 /**
  * gst_parse_launchv_full:
  * @argv: (in) (array zero-terminated=1): null-terminated array of arguments
- * @context: (allow-none): a parse context allocated with
+ * @context: (nullable): a parse context allocated with
  *     gst_parse_context_new(), or %NULL
  * @flags: parsing options, or #GST_PARSE_FLAG_NONE
  * @error: pointer to a #GError (which must be initialised to %NULL)
@@ -311,7 +311,7 @@ gst_parse_launch (const gchar * pipeline_description, GError ** error)
 /**
  * gst_parse_launch_full:
  * @pipeline_description: the command line describing the pipeline
- * @context: (allow-none): a parse context allocated with
+ * @context: (nullable): a parse context allocated with
  *      gst_parse_context_new(), or %NULL
  * @flags: parsing options, or #GST_PARSE_FLAG_NONE
  * @error: the error message in case of an erroneous pipeline.
diff --git a/gst/gstpipeline.c b/gst/gstpipeline.c
index 032fe69..f2e694f 100644
--- a/gst/gstpipeline.c
+++ b/gst/gstpipeline.c
@@ -40,8 +40,12 @@
  * methods like gst_bin_add() and gst_bin_remove() (see #GstBin).
  *
  * Before changing the state of the #GstPipeline (see #GstElement) a #GstBus
- * can be retrieved with gst_pipeline_get_bus(). This bus can then be
- * used to receive #GstMessage from the elements in the pipeline.
+ * should be retrieved with gst_pipeline_get_bus(). This #GstBus should then
+ * be used to receive #GstMessage from the elements in the pipeline. Listening
+ * to the #GstBus is necessary for retrieving error messages from the
+ * #GstPipeline and otherwise the #GstPipeline might stop without any
+ * indication, why. Furthermore, the #GstPipeline posts messages even if
+ * nobody listens on the #GstBus, which will pile up and use up memory.
  *
  * By default, a #GstPipeline will automatically flush the pending #GstBus
  * messages when going to the NULL state to ensure that no circular
@@ -76,7 +80,7 @@
 
 #include "gst_private.h"
 #include "gsterror.h"
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include "gstpipeline.h"
 #include "gstinfo.h"
@@ -330,7 +334,7 @@ reset_start_time (GstPipeline * pipeline, GstClockTime start_time)
 
 /**
  * gst_pipeline_new:
- * @name: (allow-none): name of new pipeline
+ * @name: (nullable): name of new pipeline
  *
  * Create a new pipeline with the given name.
  *
@@ -863,7 +867,7 @@ gst_pipeline_use_clock (GstPipeline * pipeline, GstClock * clock)
 /**
  * gst_pipeline_set_clock: (skip)
  * @pipeline: a #GstPipeline
- * @clock: (transfer none): the clock to set
+ * @clock: (transfer none) (nullable): the clock to set
  *
  * Set the clock for @pipeline. The clock will be distributed
  * to all the elements managed by the pipeline.
diff --git a/gst/gstplugin.c b/gst/gstplugin.c
index 3998f04..ced754c 100644
--- a/gst/gstplugin.c
+++ b/gst/gstplugin.c
@@ -86,33 +86,32 @@ static gchar **_plugin_loading_whitelist;       /* NULL */
 /* static variables for segfault handling of plugin loading */
 static char *_gst_plugin_fault_handler_filename = NULL;
 
-/* list of valid licenses.
- * One of these must be specified or the plugin won't be loaded
- * Please file a bug to request any additional license be added.
- *
- * GPL: http://www.gnu.org/copyleft/gpl.html
- * LGPL: http://www.gnu.org/copyleft/lesser.html
- * QPL: http://www.trolltech.com/licenses/qpl.html
- * MPL: http://www.opensource.org/licenses/mozilla1.1.php
- * MIT/X11: http://www.opensource.org/licenses/mit-license.php
+/* List of known licenses:
+ * GPL: https://opensource.org/licenses/gpl-license
+ * LGPL: https://opensource.org/licenses/lgpl-license
+ * QPL: https://opensource.org/licenses/QPL-1.0
+ * MPL: https://opensource.org/licenses/MPL-1.1
+ * MPL-2.0: https://opensource.org/licenses/MPL-2.0
+ * MIT/X11: https://opensource.org/licenses/MIT
  * 3-clause BSD: https://opensource.org/licenses/BSD-3-Clause
  * Zero-Clause BSD: https://opensource.org/licenses/0BSD
+ * Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0 (Since: 1.22)
+
+ * FIXME: update to use SPDX identifiers, or just remove entirely
  */
-static const gchar valid_licenses[] = "LGPL\000"        /* GNU Lesser General Public License */
+static const gchar known_licenses[] = "LGPL\000"        /* GNU Lesser General Public License */
     "GPL\000"                   /* GNU General Public License */
     "QPL\000"                   /* Trolltech Qt Public License */
     "GPL/QPL\000"               /* Combi-license of GPL + QPL */
     "MPL\000"                   /* MPL 1.1 license */
+    "MPL-2.0\000"               /* MPL 2.0 license */
     "BSD\000"                   /* 3-clause BSD license */
     "MIT/X11\000"               /* MIT/X11 license */
     "0BSD\000"                  /* Zero-Clause BSD */
+    "Apache 2.0\000"            /* Apache License 2.0 */
     "Proprietary\000"           /* Proprietary license */
     GST_LICENSE_UNKNOWN;        /* some other license */
 
-static const guint8 valid_licenses_idx[] = { 0, 5, 9, 13, 21, 25, 29, 37, 42,
-  54
-};
-
 static GstPlugin *gst_plugin_register_func (GstPlugin * plugin,
     const GstPluginDesc * desc, gpointer user_data);
 static void gst_plugin_desc_copy (GstPluginDesc * dest,
@@ -462,12 +461,13 @@ priv_gst_plugin_loading_get_whitelist_hash (void)
 static gboolean
 gst_plugin_check_license (const gchar * license)
 {
-  gint i;
+  const gchar *l, *end = known_licenses + sizeof (known_licenses);
 
-  for (i = 0; i < G_N_ELEMENTS (valid_licenses_idx); ++i) {
-    if (strcmp (license, valid_licenses + valid_licenses_idx[i]) == 0)
+  for (l = known_licenses; l < end; l += strlen (l) + 1) {
+    if (strcmp (license, l) == 0)
       return TRUE;
   }
+
   return FALSE;
 }
 
@@ -505,9 +505,9 @@ gst_plugin_register_func (GstPlugin * plugin, const GstPluginDesc * desc,
 
   if (!gst_plugin_check_license (desc->license)) {
     if (GST_CAT_DEFAULT)
-      GST_WARNING ("plugin \"%s\" has invalid license \"%s\", not loading",
+      GST_WARNING ("plugin \"%s\" has unknown license \"%s\"",
           GST_STR_NULL (plugin->filename), desc->license);
-    return NULL;
+    /* We still want to load the plugin, it's not our job to validate licenses */
   }
 
   if (GST_CAT_DEFAULT)
@@ -727,6 +727,70 @@ extract_symname (const char *filename)
   return symname;
 }
 
+#ifdef G_OS_WIN32
+/*
+ * It is an extremely common mistake on Windows to have incorrect PATH values
+ * when loading a plugin, and the error message is very confusing in this case:
+ * 'The specified module could not be found.' which implies the plugin itself
+ * could not be found. The actual issue is that a DLL dependency could not be
+ * found. We need to detect this case and print a more useful error message.
+ *
+ * Unfortunately, g_module_open() doesn't actually give us the GetLastError()
+ * code from LoadLibraryW() and only gives us a literal message from
+ * FormatMessageW(). We can't do a string comparison on that because it is
+ * locale-dependent.
+ *
+ * The only way out is for us to try loading the module ourselves on failure and
+ * get the error DWORD again from GetLastError().
+ */
+static char *
+get_better_module_load_error (const char *filename, const char *orig_err_msg)
+{
+  BOOL ret = 0;
+  DWORD mode;
+  wchar_t *wfilename;
+  HMODULE handle;
+  char *err_msg = NULL;
+
+  wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
+#ifdef GST_WINAPI_ONLY_APP
+  handle = LoadPackagedLibrary (wfilename, 0);
+#else
+  ret = SetThreadErrorMode (SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS,
+      &mode);
+
+  handle = LoadLibraryW (wfilename);
+#endif
+  g_free (wfilename);
+
+  if (handle == NULL) {
+    DWORD err = GetLastError ();
+    char *win32_err_msg = g_win32_error_message (err);
+    if (err == ERROR_MOD_NOT_FOUND) {
+      err_msg = g_strdup_printf ("%s\nThis usually means Windows was unable "
+          "to find a DLL dependency of the plugin. Please check that PATH is "
+          "correct.\nYou can run 'dumpbin -dependents' (provided by the "
+          "Visual Studio developer prompt) to list the DLL deps of any DLL.\n"
+          "There are also some third-party GUIs to list and debug DLL "
+          "dependencies recursively.", win32_err_msg);
+      g_free (win32_err_msg);
+    } else {
+      err_msg = win32_err_msg;
+    }
+  } else {
+    err_msg = g_strdup_printf ("g_module_open() failed on %s with \"%s\" but "
+        "manual loading succeeded; this should be impossible! Please "
+        "report this as a GStreamer bug.", filename, orig_err_msg);
+    FreeLibrary (handle);
+  }
+
+  if (ret > 0)
+    SetThreadErrorMode (mode, NULL);
+
+  return err_msg;
+}
+#endif /* G_OS_WIN32 */
+
 /* Note: The return value is (transfer full) although we work with floating
  * references here. If a new plugin instance is created, it is always sinked
  * in the registry first and a new reference is returned
@@ -758,7 +822,7 @@ _priv_gst_plugin_load_file_for_registry (const gchar * filename,
       /* already loaded */
       g_mutex_unlock (&gst_plugin_loading_mutex);
       return plugin;
-    } else {
+    } else if (g_strcmp0 (plugin->filename, filename) == 0) {
       /* load plugin and update fields */
       new_plugin = FALSE;
     }
@@ -802,15 +866,23 @@ _priv_gst_plugin_load_file_for_registry (const gchar * filename,
 
   module = g_module_open (filename, flags);
   if (module == NULL) {
-    GST_CAT_WARNING (GST_CAT_PLUGIN_LOADING, "module_open failed: %s",
-        g_module_error ());
+#ifdef G_OS_WIN32
+    /* flags are meaningless / ignored on Windows */
+    char *err_msg = get_better_module_load_error (filename, g_module_error ());
+#else
+    const char *err_msg = g_module_error ();
+#endif
+    GST_CAT_WARNING (GST_CAT_PLUGIN_LOADING, "module_open failed: %s", err_msg);
     g_set_error (error,
         GST_PLUGIN_ERROR, GST_PLUGIN_ERROR_MODULE, "Opening module failed: %s",
-        g_module_error ());
+        err_msg);
     /* If we failed to open the shared object, then it's probably because a
      * plugin is linked against the wrong libraries. Print out an easy-to-see
      * message in this case. */
-    g_warning ("Failed to load plugin '%s': %s", filename, g_module_error ());
+    g_warning ("Failed to load plugin '%s': %s", filename, err_msg);
+#ifdef G_OS_WIN32
+    g_free (err_msg);
+#endif
     goto return_error;
   }
 
@@ -1111,8 +1183,16 @@ gboolean
 gst_plugin_is_loaded (GstPlugin * plugin)
 {
   g_return_val_if_fail (plugin != NULL, FALSE);
+  gboolean ret;
+
+  if (plugin->filename == NULL)
+    return TRUE;                /* Static plugin */
 
-  return (plugin->module != NULL || plugin->filename == NULL);
+  g_mutex_lock (&gst_plugin_loading_mutex);
+  ret = (plugin->module != NULL);
+  g_mutex_unlock (&gst_plugin_loading_mutex);
+
+  return ret;
 }
 
 /**
@@ -1334,22 +1414,27 @@ gst_plugin_load_by_name (const gchar * name)
 
   GST_DEBUG ("looking up plugin %s in default registry", name);
   plugin = gst_registry_find_plugin (gst_registry_get (), name);
-  if (plugin) {
-    GST_DEBUG ("loading plugin %s from file %s", name, plugin->filename);
-    newplugin = gst_plugin_load_file (plugin->filename, &error);
-    gst_object_unref (plugin);
+  if (plugin == NULL) {
+    GST_DEBUG ("Could not find plugin %s in registry", name);
+    return NULL;
+  }
 
-    if (!newplugin) {
-      GST_WARNING ("load_plugin error: %s", error->message);
-      g_error_free (error);
-      return NULL;
-    }
-    /* newplugin was reffed by load_file */
-    return newplugin;
+  if (gst_plugin_is_loaded (plugin)) {
+    GST_DEBUG ("plugin %s already loaded", name);
+    return plugin;
   }
 
-  GST_DEBUG ("Could not find plugin %s in registry", name);
-  return NULL;
+  GST_DEBUG ("loading plugin %s from file %s", name, plugin->filename);
+  newplugin = gst_plugin_load_file (plugin->filename, &error);
+  gst_object_unref (plugin);
+
+  if (!newplugin) {
+    GST_WARNING ("load_plugin error: %s", error->message);
+    g_error_free (error);
+    return NULL;
+  }
+  /* newplugin was reffed by load_file */
+  return newplugin;
 }
 
 /**
@@ -1418,19 +1503,19 @@ gst_plugin_list_free (GList * list)
  * ENV + *xyz   same as above, but xyz acts as suffix filter
  * ENV + xyz*   same as above, but xyz acts as prefix filter (is this needed?)
  * ENV + *xyz*  same as above, but xyz acts as strstr filter (is this needed?)
- * 
+ *
  * same as above, with additional paths hard-coded at compile-time:
  *   - only check paths + ... if ENV is not set or yields not paths
  *   - always check paths + ... in addition to ENV
  *
  * When user specifies set of environment variables, he/she may also use e.g.
  * "HOME/.mystuff/plugins", and we'll expand the content of $HOME with the
- * remainder 
+ * remainder
  */
 
 /* we store in registry:
  *  sets of:
- *   { 
+ *   {
  *     - environment variables (array of strings)
  *     - last hash of env variable contents (uint) (so we can avoid doing stats
  *       if one of the env vars has changed; premature optimisation galore)
diff --git a/gst/gstpluginfeature.c b/gst/gstpluginfeature.c
index e7c741d..bdcabb4 100644
--- a/gst/gstpluginfeature.c
+++ b/gst/gstpluginfeature.c
@@ -124,6 +124,8 @@ gst_plugin_feature_load (GstPluginFeature * feature)
   else if (!real_feature->loaded)
     goto not_found;
 
+  GST_TRACER_PLUGIN_FEATURE_LOADED (real_feature);
+
   return real_feature;
 
   /* ERRORS */
@@ -489,6 +491,7 @@ _priv_gst_plugin_feature_rank_initialize (void)
           if (feature) {
             gst_plugin_feature_set_rank (feature, rank);
             GST_DEBUG ("Update rank of plugin feature \"%s\" to %d", str, rank);
+            gst_object_unref (feature);
           }
         }
       }
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
index d1e404d..8dc96fd 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
@@ -381,7 +381,7 @@ plugin_loader_create_blacklist_plugin (GstPluginLoader * l,
 static gboolean
 gst_plugin_loader_use_usr_bin_arch (void)
 {
-  static volatile gsize multiarch = 0;
+  static gsize multiarch = 0;
 
   if (g_once_init_enter (&multiarch)) {
     gsize res = NO_MULTIARCH;
@@ -413,6 +413,7 @@ gst_plugin_loader_try_helper (GstPluginLoader * loader, gchar * location)
 {
   char *argv[6] = { NULL, };
   int c = 0;
+  GError *error = NULL;
 
 #if defined (__APPLE__) && defined (USR_BIN_ARCH_SWITCH)
   if (gst_plugin_loader_use_usr_bin_arch ()) {
@@ -432,11 +433,16 @@ gst_plugin_loader_try_helper (GstPluginLoader * loader, gchar * location)
     GST_LOG ("Trying to spawn gst-plugin-scanner helper at %s", location);
   }
 
-  if (!g_spawn_async_with_pipes (NULL, argv, NULL,
-          G_SPAWN_DO_NOT_REAP_CHILD /* | G_SPAWN_STDERR_TO_DEV_NULL */ ,
-          NULL, NULL, &loader->child_pid, &loader->fd_w.fd, &loader->fd_r.fd,
-          NULL, NULL))
+  g_spawn_async_with_pipes (NULL, argv, NULL,
+      G_SPAWN_DO_NOT_REAP_CHILD /* | G_SPAWN_STDERR_TO_DEV_NULL */ ,
+      NULL, NULL, &loader->child_pid, &loader->fd_w.fd, &loader->fd_r.fd,
+      NULL, &error);
+
+  if (error) {
+    GST_ERROR ("Spawning gst-plugin-scanner helper failed: %s", error->message);
+    g_clear_error (&error);
     return FALSE;
+  }
 
   gst_poll_add_fd (loader->fdset, &loader->fd_w);
   gst_poll_add_fd (loader->fdset, &loader->fd_r);
@@ -454,6 +460,83 @@ gst_plugin_loader_try_helper (GstPluginLoader * loader, gchar * location)
   return TRUE;
 }
 
+static int
+count_directories (const char *filepath)
+{
+  int i = 0;
+  char *tmp;
+  gsize len;
+
+  g_return_val_if_fail (!g_path_is_absolute (filepath), 0);
+
+  tmp = g_strdup (filepath);
+  len = strlen (tmp);
+
+#if defined(G_OS_WIN32)
+  /* ignore UNC share paths entirely */
+  if (len >= 3 && G_IS_DIR_SEPARATOR (tmp[0]) && G_IS_DIR_SEPARATOR (tmp[1])
+      && !G_IS_DIR_SEPARATOR (tmp[2])) {
+    GST_WARNING ("found a UNC share path, ignoring");
+    return 0;
+  }
+#endif
+
+  /* remove trailing slashes if they exist */
+  while (
+#if defined(G_OS_WIN32)
+      /* don't remove the trailing slash for C:\.
+       * UNC paths are at least \\s\s */
+      len > 3
+#else
+      /* don't remove the trailing slash for / */
+      len > 1
+#endif
+      && G_IS_DIR_SEPARATOR (tmp[len - 1])) {
+    tmp[len - 1] = '\0';
+    len--;
+  }
+
+  while (tmp) {
+    char *dirname, *basename;
+    len = strlen (tmp);
+
+    if (g_strcmp0 (tmp, ".") == 0)
+      break;
+    if (g_strcmp0 (tmp, "/") == 0)
+      break;
+#if defined(G_OS_WIN32)
+    /* g_path_get_dirname() may return something of the form 'C:.', where C is
+     * a drive letter */
+    if (len == 3 && g_ascii_isalpha (tmp[0]) && tmp[1] == ':' && tmp[2] == '.')
+      break;
+#endif
+
+    basename = g_path_get_basename (tmp);
+    dirname = g_path_get_dirname (tmp);
+
+    if (g_strcmp0 (basename, "..") == 0) {
+      i--;
+    } else if (g_strcmp0 (basename, ".") == 0) {
+      /* nothing to do */
+    } else {
+      i++;
+    }
+
+    g_clear_pointer (&basename, g_free);
+    g_clear_pointer (&tmp, g_free);
+    tmp = dirname;
+  }
+
+  g_clear_pointer (&tmp, g_free);
+
+  if (i < 0) {
+    g_critical ("path counting resulted in a negative directory count!");
+    return 0;
+  }
+
+  return i;
+}
+
 static gboolean
 gst_plugin_loader_spawn (GstPluginLoader * loader)
 {
@@ -464,43 +547,74 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
   if (loader->child_running)
     return TRUE;
 
-  /* Find the gst-plugin-scanner: first try the env-var if it is set,
-   * otherwise use the installed version */
+  /* Find the gst-plugin-scanner */
   env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
   if (env == NULL)
     env = g_getenv ("GST_PLUGIN_SCANNER");
 
   if (env != NULL && *env != '\0') {
+    /* use the env-var if it is set */
     GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
     helper_bin = g_strdup (env);
     res = gst_plugin_loader_try_helper (loader, helper_bin);
     g_free (helper_bin);
-  }
+  } else {
+    char *relocated_libgstreamer;
 
-  if (!res) {
+    /* use the installed version */
     GST_LOG ("Trying installed plugin scanner");
 
 #ifdef G_OS_WIN32
-    {
-      gchar *basedir;
-
-      basedir =
-          g_win32_get_package_installation_directory_of_module
-          (_priv_gst_dll_handle);
-      helper_bin =
-          g_build_filename (basedir, GST_PLUGIN_SCANNER_SUBDIR,
-          "gstreamer-" GST_API_VERSION, "gst-plugin-scanner.exe", NULL);
-      g_free (basedir);
-    }
+#define EXESUFFIX ".exe"
 #else
-    helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
+#define EXESUFFIX
 #endif
+
+#define MAX_PATH_DEPTH 64
+
+    relocated_libgstreamer = priv_gst_get_relocated_libgstreamer ();
+    if (relocated_libgstreamer) {
+      int plugin_subdir_depth = count_directories (GST_PLUGIN_SUBDIR);
+
+      GST_DEBUG ("found libgstreamer-" GST_API_VERSION " library "
+          "at %s", relocated_libgstreamer);
+
+      if (plugin_subdir_depth < MAX_PATH_DEPTH) {
+        const char *filenamev[MAX_PATH_DEPTH + 5];
+        int i = 0, j;
+
+        filenamev[i++] = relocated_libgstreamer;
+        for (j = 0; j < plugin_subdir_depth; j++)
+          filenamev[i++] = "..";
+        filenamev[i++] = GST_PLUGIN_SCANNER_SUBDIR;
+        filenamev[i++] = "gstreamer-" GST_API_VERSION;
+        filenamev[i++] = "gst-plugin-scanner" EXESUFFIX;
+        filenamev[i++] = NULL;
+        g_assert (i <= MAX_PATH_DEPTH + 5);
+
+        GST_DEBUG ("constructing path to system plugin scanner using "
+            "plugin dir: \'%s\', plugin scanner dir: \'%s\'",
+            GST_PLUGIN_SUBDIR, GST_PLUGIN_SCANNER_SUBDIR);
+
+        helper_bin = g_build_filenamev ((char **) filenamev);
+      } else {
+        GST_WARNING ("GST_PLUGIN_SUBDIR: \'%s\' has too many path segments",
+            GST_PLUGIN_SUBDIR);
+        helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
+      }
+    } else {
+      helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
+    }
+
+    GST_DEBUG ("using system plugin scanner at %s", helper_bin);
+
     res = gst_plugin_loader_try_helper (loader, helper_bin);
     g_free (helper_bin);
+    g_free (relocated_libgstreamer);
+  }
 
-    if (!res) {
-      GST_INFO ("No gst-plugin-scanner available, or not working");
-    }
+  if (!res) {
+    GST_INFO ("No gst-plugin-scanner available, or not working");
   }
 
   return loader->child_running;
@@ -696,6 +810,9 @@ write_one (GstPluginLoader * l)
         continue;
       /* Failed to write -> child died */
       goto fail_and_cleanup;
+    } else if (G_UNLIKELY (res == 0)) {
+      /* FD closed -> child died */
+      goto fail_and_cleanup;
     }
     to_write -= res;
     out += res;
@@ -960,6 +1077,9 @@ read_one (GstPluginLoader * l)
         continue;
       GST_LOG ("Failed reading packet header");
       return FALSE;
+    } else if (G_UNLIKELY (res == 0)) {
+      GST_LOG ("Failed reading packet header: Unexpected EOF");
+      return FALSE;
     }
     to_read -= res;
     in += res;
@@ -997,6 +1117,9 @@ read_one (GstPluginLoader * l)
           continue;
         GST_ERROR ("Packet payload read failed");
         return FALSE;
+      } else if (G_UNLIKELY (res == 0)) {
+        GST_ERROR ("Packet payload read failed: Unexpected EOF");
+        return FALSE;
       }
       to_read -= res;
       in += res;
diff --git a/gst/gstpoll.c b/gst/gstpoll.c
index bf5fb8b..f5f10bc 100644
--- a/gst/gstpoll.c
+++ b/gst/gstpoll.c
@@ -151,11 +151,11 @@ struct _GstPoll
 #endif
 
   gboolean controllable;
-  volatile gint waiting;
-  volatile gint control_pending;
-  volatile gint flushing;
+  gint waiting;
+  gint control_pending;
+  gint flushing;
   gboolean timer;
-  volatile gint rebuild;
+  gint rebuild;
 };
 
 static gboolean gst_poll_fd_ctl_read_unlocked (GstPoll * set, GstPollFD * fd,
diff --git a/gst/gstpreset.c b/gst/gstpreset.c
index 9f1b1b1..ed25b5b 100644
--- a/gst/gstpreset.c
+++ b/gst/gstpreset.c
@@ -1054,7 +1054,7 @@ no_presets:
  *
  * Get a copy of preset names as a %NULL terminated string array.
  *
- * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*):
+ * Returns: (transfer full) (array zero-terminated=1) (element-type utf8):
  *     list with names, use g_strfreev() after usage.
  */
 gchar **
@@ -1071,7 +1071,7 @@ gst_preset_get_preset_names (GstPreset * preset)
  *
  * Get a the names of the GObject properties that can be used for presets.
  *
- * Returns: (transfer full) (array zero-terminated=1) (element-type gchar*): an
+ * Returns: (transfer full) (array zero-terminated=1) (element-type utf8): an
  *   array of property names which should be freed with g_strfreev() after use.
  */
 gchar **
@@ -1322,7 +1322,7 @@ gst_preset_base_init (gpointer g_class)
 GType
 gst_preset_get_type (void)
 {
-  static volatile gsize type = 0;
+  static gsize type = 0;
 
   if (g_once_init_enter (&type)) {
     GType _type;
diff --git a/gst/gstpromise.c b/gst/gstpromise.c
index afcda18..322d603 100644
--- a/gst/gstpromise.c
+++ b/gst/gstpromise.c
@@ -347,7 +347,7 @@ gst_promise_free (GstMiniObject * object)
 static void
 gst_promise_init (GstPromise * promise)
 {
-  static volatile gsize _init = 0;
+  static gsize _init = 0;
 
   if (g_once_init_enter (&_init)) {
     GST_DEBUG_CATEGORY_INIT (gst_promise_debug, "gstpromise", 0, "gstpromise");
diff --git a/gst/gstprotection.c b/gst/gstprotection.c
index af0434a..73deed8 100644
--- a/gst/gstprotection.c
+++ b/gst/gstprotection.c
@@ -56,7 +56,7 @@ static const gchar *gst_protection_factory_check (GstElementFactory * fact,
 GType
 gst_protection_meta_api_get_type (void)
 {
-  static volatile GType type;
+  static GType type;
   static const gchar *tags[] = { NULL };
 
   if (g_once_init_enter (&type)) {
@@ -134,8 +134,7 @@ gst_protection_meta_get_info (void)
  *
  * Attaches protection metadata to a #GstBuffer.
  *
- * Returns: (transfer none): a pointer to the added #GstProtectionMeta if successful; %NULL if
- * unsuccessful.
+ * Returns: (transfer none): a pointer to the added #GstProtectionMeta if successful
  *
  * Since: 1.6
  */
diff --git a/gst/gstquark.c b/gst/gstquark.c
index daf6a51..304e274 100644
--- a/gst/gstquark.c
+++ b/gst/gstquark.c
@@ -80,6 +80,7 @@ static const gchar *_quark_strings[] = {
   "GstEventInstantRateChange",
   "GstEventInstantRateSyncTime", "GstMessageInstantRateRequest",
   "upstream-running-time", "base", "offset", "plugin-api", "plugin-api-flags",
+  "gap-flags", "GstQuerySelectable", "selectable"
 };
 
 GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquark.h b/gst/gstquark.h
index cc796bc..f7de510 100644
--- a/gst/gstquark.h
+++ b/gst/gstquark.h
@@ -230,7 +230,10 @@ typedef enum _GstQuarkId
   GST_QUARK_OFFSET = 199,
   GST_QUARK_PLUGIN_API = 200,
   GST_QUARK_PLUGIN_API_FLAGS = 201,
-  GST_QUARK_MAX = 202
+  GST_QUARK_GAP_FLAGS = 202,
+  GST_QUARK_QUERY_SELECTABLE = 203,
+  GST_QUARK_SELECTABLE = 204,
+  GST_QUARK_MAX = 205
 } GstQuarkId;
 
 extern GQuark _priv_gst_quark_table[GST_QUARK_MAX];
diff --git a/gst/gstquery.c b/gst/gstquery.c
index db3586c..106c450 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -44,7 +44,7 @@
  *   res = gst_element_query (pipeline, query);
  *   if (res) {
  *     gint64 duration;
- *     gst_query_parse_duration (query, NULL, &amp;duration);
+ *     gst_query_parse_duration (query, NULL, &duration);
  *     g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration));
  *   } else {
  *     g_print ("duration query failed...");
@@ -272,9 +272,9 @@ gst_query_set_position (GstQuery * query, GstFormat format, gint64 cur)
 /**
  * gst_query_parse_position:
  * @query: a #GstQuery
- * @format: (out) (allow-none): the storage for the #GstFormat of the
+ * @format: (out) (optional): the storage for the #GstFormat of the
  *     position values (may be %NULL)
- * @cur: (out) (allow-none): the storage for the current position (may be %NULL)
+ * @cur: (out) (optional): the storage for the current position (may be %NULL)
  *
  * Parse a position query, writing the format into @format, and the position
  * into @cur, if the respective parameters are non-%NULL.
@@ -349,9 +349,9 @@ gst_query_set_duration (GstQuery * query, GstFormat format, gint64 duration)
 /**
  * gst_query_parse_duration:
  * @query: a #GstQuery
- * @format: (out) (allow-none): the storage for the #GstFormat of the duration
+ * @format: (out) (optional): the storage for the #GstFormat of the duration
  *     value, or %NULL.
- * @duration: (out) (allow-none): the storage for the total duration, or %NULL.
+ * @duration: (out) (optional): the storage for the total duration, or %NULL.
  *
  * Parse a duration query answer. Write the format of the duration into @format,
  * and the value into @duration, if the respective variables are non-%NULL.
@@ -430,9 +430,9 @@ gst_query_set_latency (GstQuery * query, gboolean live,
 /**
  * gst_query_parse_latency:
  * @query: a #GstQuery
- * @live: (out) (allow-none): storage for live or %NULL
- * @min_latency: (out) (allow-none): the storage for the min latency or %NULL
- * @max_latency: (out) (allow-none): the storage for the max latency or %NULL
+ * @live: (out) (optional): storage for live or %NULL
+ * @min_latency: (out) (optional): the storage for the min latency or %NULL
+ * @max_latency: (out) (optional): the storage for the max latency or %NULL
  *
  * Parse a latency query answer.
  */
@@ -518,12 +518,12 @@ gst_query_set_convert (GstQuery * query, GstFormat src_format, gint64 src_value,
 /**
  * gst_query_parse_convert:
  * @query: a #GstQuery
- * @src_format: (out) (allow-none): the storage for the #GstFormat of the
+ * @src_format: (out) (optional): the storage for the #GstFormat of the
  *     source value, or %NULL
- * @src_value: (out) (allow-none): the storage for the source value, or %NULL
- * @dest_format: (out) (allow-none): the storage for the #GstFormat of the
+ * @src_value: (out) (optional): the storage for the source value, or %NULL
+ * @dest_format: (out) (optional): the storage for the #GstFormat of the
  *     destination value, or %NULL
- * @dest_value: (out) (allow-none): the storage for the destination value,
+ * @dest_value: (out) (optional): the storage for the destination value,
  *     or %NULL
  *
  * Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
@@ -622,11 +622,11 @@ gst_query_set_segment (GstQuery * query, gdouble rate, GstFormat format,
 /**
  * gst_query_parse_segment:
  * @query: a #GstQuery
- * @rate: (out) (allow-none): the storage for the rate of the segment, or %NULL
- * @format: (out) (allow-none): the storage for the #GstFormat of the values,
+ * @rate: (out) (optional): the storage for the rate of the segment, or %NULL
+ * @format: (out) (optional): the storage for the #GstFormat of the values,
  *     or %NULL
- * @start_value: (out) (allow-none): the storage for the start value, or %NULL
- * @stop_value: (out) (allow-none): the storage for the stop value, or %NULL
+ * @start_value: (out) (optional): the storage for the start value, or %NULL
+ * @stop_value: (out) (optional): the storage for the stop value, or %NULL
  *
  * Parse a segment query answer. Any of @rate, @format, @start_value, and
  * @stop_value may be %NULL, which will cause this value to be omitted.
@@ -660,14 +660,14 @@ gst_query_parse_segment (GstQuery * query, gdouble * rate, GstFormat * format,
 /**
  * gst_query_new_custom:
  * @type: the query type
- * @structure: (allow-none) (transfer full): a structure for the query
+ * @structure: (nullable) (transfer full): a structure for the query
  *
  * Constructs a new custom query object. Use gst_query_unref()
  * when done with it.
  *
  * Free-function: gst_query_unref()
  *
- * Returns: (transfer full) (nullable): a new #GstQuery
+ * Returns: (transfer full): a new #GstQuery
  */
 GstQuery *
 gst_query_new_custom (GstQueryType type, GstStructure * structure)
@@ -810,11 +810,11 @@ gst_query_set_seeking (GstQuery * query, GstFormat format,
 /**
  * gst_query_parse_seeking:
  * @query: a GST_QUERY_SEEKING type query #GstQuery
- * @format: (out) (allow-none): the format to set for the @segment_start
+ * @format: (out) (optional): the format to set for the @segment_start
  *     and @segment_end values, or %NULL
- * @seekable: (out) (allow-none): the seekable flag to set, or %NULL
- * @segment_start: (out) (allow-none): the segment_start to set, or %NULL
- * @segment_end: (out) (allow-none): the segment_end to set, or %NULL
+ * @seekable: (out) (optional): the seekable flag to set, or %NULL
+ * @segment_start: (out) (optional): the segment_start to set, or %NULL
+ * @segment_end: (out) (optional): the segment_end to set, or %NULL
  *
  * Parse a seeking query, writing the format into @format, and
  * other results into the passed parameters, if the respective parameters
@@ -971,7 +971,7 @@ gst_query_set_formatsv (GstQuery * query, gint n_formats,
 /**
  * gst_query_parse_n_formats:
  * @query: a #GstQuery
- * @n_formats: (out) (allow-none): the number of formats in this query.
+ * @n_formats: (out) (optional): the number of formats in this query.
  *
  * Parse the number of formats in the formats @query.
  */
@@ -998,7 +998,7 @@ gst_query_parse_n_formats (GstQuery * query, guint * n_formats)
  * gst_query_parse_nth_format:
  * @query: a #GstQuery
  * @nth: the nth format to retrieve.
- * @format: (out) (allow-none): a pointer to store the nth format
+ * @format: (out) (optional): a pointer to store the nth format
  *
  * Parse the format query and retrieve the @nth format from it into
  * @format. If the list contains less elements than @nth, @format will be
@@ -1091,8 +1091,8 @@ gst_query_set_buffering_percent (GstQuery * query, gboolean busy, gint percent)
 /**
  * gst_query_parse_buffering_percent:
  * @query: A valid #GstQuery of type GST_QUERY_BUFFERING.
- * @busy: (out) (allow-none): if buffering is busy, or %NULL
- * @percent: (out) (allow-none): a buffering percent, or %NULL
+ * @busy: (out) (optional): if buffering is busy, or %NULL
+ * @percent: (out) (optional): a buffering percent, or %NULL
  *
  * Get the percentage of buffered data. This is a value between 0 and 100.
  * The @busy indicator is %TRUE when the buffering is in progress.
@@ -1144,10 +1144,10 @@ gst_query_set_buffering_stats (GstQuery * query, GstBufferingMode mode,
 /**
  * gst_query_parse_buffering_stats:
  * @query: A valid #GstQuery of type GST_QUERY_BUFFERING.
- * @mode: (out) (allow-none): a buffering mode, or %NULL
- * @avg_in: (out) (allow-none): the average input rate, or %NULL
- * @avg_out: (out) (allow-none): the average output rat, or %NULL
- * @buffering_left: (out) (allow-none): amount of buffering time left in
+ * @mode: (out) (optional): a buffering mode, or %NULL
+ * @avg_in: (out) (optional): the average input rate, or %NULL
+ * @avg_out: (out) (optional): the average output rat, or %NULL
+ * @buffering_left: (out) (optional): amount of buffering time left in
  *     milliseconds, or %NULL
  *
  * Extracts the buffering stats values from @query.
@@ -1209,11 +1209,11 @@ gst_query_set_buffering_range (GstQuery * query, GstFormat format,
 /**
  * gst_query_parse_buffering_range:
  * @query: a GST_QUERY_BUFFERING type query #GstQuery
- * @format: (out) (allow-none): the format to set for the @segment_start
+ * @format: (out) (optional): the format to set for the @segment_start
  *     and @segment_end values, or %NULL
- * @start: (out) (allow-none): the start to set, or %NULL
- * @stop: (out) (allow-none): the stop to set, or %NULL
- * @estimated_total: (out) (allow-none): estimated total amount of download
+ * @start: (out) (optional): the start to set, or %NULL
+ * @stop: (out) (optional): the stop to set, or %NULL
+ * @estimated_total: (out) (optional): estimated total amount of download
  *     time remaining in milliseconds, or %NULL
  *
  * Parse an available query, writing the format into @format, and
@@ -1325,8 +1325,8 @@ gst_query_get_n_buffering_ranges (GstQuery * query)
  * gst_query_parse_nth_buffering_range:
  * @query: a GST_QUERY_BUFFERING type query #GstQuery
  * @index: position in the buffered-ranges array to read
- * @start: (out) (allow-none): the start position to set, or %NULL
- * @stop: (out) (allow-none): the stop position to set, or %NULL
+ * @start: (out) (optional): the start position to set, or %NULL
+ * @stop: (out) (optional): the stop position to set, or %NULL
  *
  * Parse an available query and get the start and stop values stored
  * at the @index of the buffered ranges array.
@@ -1388,7 +1388,7 @@ gst_query_new_uri (void)
 /**
  * gst_query_set_uri:
  * @query: a #GstQuery with query type GST_QUERY_URI
- * @uri: the URI to set
+ * @uri: (nullable): the URI to set
  *
  * Answer a URI query by setting the requested URI.
  */
@@ -1399,7 +1399,6 @@ gst_query_set_uri (GstQuery * query, const gchar * uri)
 
   g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_URI);
   g_return_if_fail (gst_query_is_writable (query));
-  g_return_if_fail (gst_uri_is_valid (uri));
 
   structure = GST_QUERY_STRUCTURE (query);
   gst_structure_id_set (structure, GST_QUARK (URI), G_TYPE_STRING, uri, NULL);
@@ -1408,7 +1407,7 @@ gst_query_set_uri (GstQuery * query, const gchar * uri)
 /**
  * gst_query_parse_uri:
  * @query: a #GstQuery
- * @uri: (out) (transfer full) (allow-none): the storage for the current URI
+ * @uri: (out) (transfer full) (optional) (nullable): the storage for the current URI
  *     (may be %NULL)
  *
  * Parse an URI query, writing the URI into @uri as a newly
@@ -1431,7 +1430,7 @@ gst_query_parse_uri (GstQuery * query, gchar ** uri)
 /**
  * gst_query_set_uri_redirection:
  * @query: a #GstQuery with query type GST_QUERY_URI
- * @uri: the URI to set
+ * @uri: (nullable): the URI to set
  *
  * Answer a URI query by setting the requested URI redirection.
  *
@@ -1444,7 +1443,6 @@ gst_query_set_uri_redirection (GstQuery * query, const gchar * uri)
 
   g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_URI);
   g_return_if_fail (gst_query_is_writable (query));
-  g_return_if_fail (gst_uri_is_valid (uri));
 
   structure = GST_QUERY_STRUCTURE (query);
   gst_structure_id_set (structure, GST_QUARK (URI_REDIRECTION),
@@ -1454,7 +1452,7 @@ gst_query_set_uri_redirection (GstQuery * query, const gchar * uri)
 /**
  * gst_query_parse_uri_redirection:
  * @query: a #GstQuery
- * @uri: (out) (transfer full) (allow-none): the storage for the redirect URI
+ * @uri: (out) (transfer full) (optional) (nullable): the storage for the redirect URI
  *     (may be %NULL)
  *
  * Parse an URI query, writing the URI into @uri as a newly
@@ -1504,7 +1502,7 @@ gst_query_set_uri_redirection_permanent (GstQuery * query, gboolean permanent)
 /**
  * gst_query_parse_uri_redirection_permanent:
  * @query: a #GstQuery
- * @permanent: (out) (allow-none): if the URI redirection is permanent
+ * @permanent: (out) (optional): if the URI redirection is permanent
  *     (may be %NULL)
  *
  * Parse an URI query, and set @permanent to %TRUE if there is a redirection
@@ -1532,7 +1530,7 @@ gst_query_parse_uri_redirection_permanent (GstQuery * query,
 
 /**
  * gst_query_new_allocation:
- * @caps: the negotiated caps
+ * @caps: (nullable): the negotiated caps
  * @need_pool: return a pool
  *
  * Constructs a new query object for querying the allocation properties.
@@ -1559,8 +1557,8 @@ gst_query_new_allocation (GstCaps * caps, gboolean need_pool)
 /**
  * gst_query_parse_allocation:
  * @query: a #GstQuery
- * @caps: (out) (transfer none) (allow-none): The #GstCaps
- * @need_pool: (out) (allow-none): Whether a #GstBufferPool is needed
+ * @caps: (out) (transfer none) (optional) (nullable): The #GstCaps
+ * @need_pool: (out) (optional): Whether a #GstBufferPool is needed
  *
  * Parse an allocation query, writing the requested caps in @caps and
  * whether a pool is needed in @need_pool, if the respective parameters
@@ -1604,7 +1602,7 @@ allocation_pool_free (AllocationPool * ap)
 /**
  * gst_query_add_allocation_pool:
  * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
- * @pool: (transfer none) (allow-none): the #GstBufferPool
+ * @pool: (transfer none) (nullable): the #GstBufferPool
  * @size: the buffer size
  * @min_buffers: the min buffers
  * @max_buffers: the max buffers
@@ -1663,10 +1661,10 @@ gst_query_get_n_allocation_pools (GstQuery * query)
  * gst_query_parse_nth_allocation_pool:
  * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
  * @index: index to parse
- * @pool: (out) (allow-none) (transfer full): the #GstBufferPool
- * @size: (out) (allow-none): the buffer size
- * @min_buffers: (out) (allow-none): the min buffers
- * @max_buffers: (out) (allow-none): the max buffers
+ * @pool: (out) (optional) (transfer full) (nullable): the #GstBufferPool
+ * @size: (out) (optional): the buffer size
+ * @min_buffers: (out) (optional): the min buffers
+ * @max_buffers: (out) (optional): the max buffers
  *
  * Get the pool parameters in @query.
  *
@@ -1705,7 +1703,7 @@ gst_query_parse_nth_allocation_pool (GstQuery * query, guint index,
  * gst_query_set_nth_allocation_pool:
  * @index: index to modify
  * @query: A valid #GstQuery of type GST_QUERY_ALLOCATION.
- * @pool: (transfer none) (allow-none): the #GstBufferPool
+ * @pool: (transfer none) (nullable): the #GstBufferPool
  * @size: the buffer size
  * @min_buffers: the min buffers
  * @max_buffers: the max buffers
@@ -1782,7 +1780,7 @@ allocation_meta_free (AllocationMeta * am)
  * gst_query_add_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @api: the metadata API
- * @params: (transfer none) (allow-none): API specific parameters
+ * @params: (transfer none) (nullable): API specific parameters
  *
  * Add @api with @params as one of the supported metadata API to @query.
  */
@@ -1838,7 +1836,7 @@ gst_query_get_n_allocation_metas (GstQuery * query)
  * gst_query_parse_nth_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the metadata API array to read
- * @params: (out) (transfer none) (allow-none): API specific parameters
+ * @params: (out) (transfer none) (optional): API specific parameters
  *
  * Parse an available query and get the metadata API
  * at @index of the metadata API array.
@@ -1899,7 +1897,7 @@ gst_query_remove_nth_allocation_meta (GstQuery * query, guint index)
  * gst_query_find_allocation_meta:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @api: the metadata API
- * @index: (out) (transfer none) (allow-none): the index
+ * @index: (out) (transfer none) (optional): the index
  *
  * Check if @query has metadata @api set. When this function returns %TRUE,
  * @index will contain the index where the requested API and the parameters
@@ -1950,8 +1948,8 @@ allocation_param_free (AllocationParam * ap)
 /**
  * gst_query_add_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
- * @allocator: (transfer none) (allow-none): the memory allocator
- * @params: (transfer none) (allow-none): a #GstAllocationParams
+ * @allocator: (transfer none) (nullable): the memory allocator
+ * @params: (transfer none) (nullable): a #GstAllocationParams
  *
  * Add @allocator and its @params as a supported memory allocator.
  */
@@ -2014,8 +2012,8 @@ gst_query_get_n_allocation_params (GstQuery * query)
  * gst_query_parse_nth_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the allocator array to read
- * @allocator: (out) (transfer full) (allow-none): variable to hold the result
- * @params: (out) (allow-none): parameters for the allocator
+ * @allocator: (out) (transfer full) (optional) (nullable): variable to hold the result
+ * @params: (out) (optional): parameters for the allocator
  *
  * Parse an available query and get the allocator and its params
  * at @index of the allocator array.
@@ -2048,8 +2046,8 @@ gst_query_parse_nth_allocation_param (GstQuery * query, guint index,
  * gst_query_set_nth_allocation_param:
  * @query: a GST_QUERY_ALLOCATION type query #GstQuery
  * @index: position in the allocator array to set
- * @allocator: (transfer none) (allow-none): new allocator to set
- * @params: (transfer none) (allow-none): parameters for the allocator
+ * @allocator: (transfer none) (nullable): new allocator to set
+ * @params: (transfer none) (nullable): parameters for the allocator
  *
  * Parse an available query and get the allocator and its params
  * at @index of the allocator array.
@@ -2164,10 +2162,10 @@ gst_query_set_scheduling (GstQuery * query, GstSchedulingFlags flags,
 /**
  * gst_query_parse_scheduling:
  * @query: A valid #GstQuery of type GST_QUERY_SCHEDULING.
- * @flags: (out) (allow-none): #GstSchedulingFlags
- * @minsize: (out) (allow-none): the suggested minimum size of pull requests
- * @maxsize: (out) (allow-none): the suggested maximum size of pull requests:
- * @align: (out) (allow-none): the suggested alignment of pull requests
+ * @flags: (out) (optional): #GstSchedulingFlags
+ * @minsize: (out) (optional): the suggested minimum size of pull requests
+ * @maxsize: (out) (optional): the suggested maximum size of pull requests:
+ * @align: (out) (optional): the suggested alignment of pull requests
  *
  * Set the scheduling properties.
  */
@@ -2393,7 +2391,7 @@ gst_query_set_accept_caps_result (GstQuery * query, gboolean result)
 /**
  * gst_query_parse_accept_caps_result:
  * @query: a GST_QUERY_ACCEPT_CAPS type query #GstQuery
- * @result: (out) (allow-none): location for the result
+ * @result: (out) (nullable): location for the result
  *
  * Parse the result from @query and store in @result.
  */
@@ -2474,7 +2472,7 @@ gst_query_parse_caps (GstQuery * query, GstCaps ** filter)
 /**
  * gst_query_set_caps_result:
  * @query: The query to use
- * @caps: (in): A pointer to the caps
+ * @caps: (nullable): A pointer to the caps
  *
  * Set the @caps result in @query.
  */
@@ -2493,7 +2491,7 @@ gst_query_set_caps_result (GstQuery * query, GstCaps * caps)
 /**
  * gst_query_parse_caps_result:
  * @query: The query to parse
- * @caps: (out) (transfer none): A pointer to the caps
+ * @caps: (out) (transfer none) (nullable): A pointer to the caps
  *
  * Get the caps result from @query. The caps remains valid as long as
  * @query remains valid.
@@ -2576,7 +2574,7 @@ gst_query_new_context (const gchar * context_type)
 /**
  * gst_query_set_context:
  * @query: a #GstQuery with query type GST_QUERY_CONTEXT
- * @context: the requested #GstContext
+ * @context: (nullable): the requested #GstContext
  *
  * Answer a context query by setting the requested context.
  *
@@ -2603,7 +2601,7 @@ gst_query_set_context (GstQuery * query, GstContext * context)
 /**
  * gst_query_parse_context:
  * @query: The query to parse
- * @context: (out) (transfer none): A pointer to store the #GstContext
+ * @context: (out) (transfer none) (nullable): A pointer to store the #GstContext
  *
  * Get the context from the context @query. The context remains valid as long as
  * @query remains valid.
@@ -2630,7 +2628,7 @@ gst_query_parse_context (GstQuery * query, GstContext ** context)
 /**
  * gst_query_parse_context_type:
  * @query: a GST_QUERY_CONTEXT type query
- * @context_type: (out) (transfer none) (allow-none): the context type, or %NULL
+ * @context_type: (out) (transfer none) (optional): the context type, or %NULL
  *
  * Parse a context type from an existing GST_QUERY_CONTEXT query.
  *
@@ -2706,7 +2704,7 @@ gst_query_set_bitrate (GstQuery * query, guint nominal_bitrate)
 /**
  * gst_query_parse_bitrate:
  * @query: a GST_QUERY_BITRATE type #GstQuery
- * @nominal_bitrate: (out) (allow-none): The resulting bitrate in bits per second
+ * @nominal_bitrate: (out) (optional): The resulting bitrate in bits per second
  *
  * Get the results of a bitrate query. See also gst_query_set_bitrate().
  *
@@ -2728,6 +2726,80 @@ gst_query_parse_bitrate (GstQuery * query, guint * nominal_bitrate)
   }
 }
 
+/**
+ * gst_query_new_selectable:
+ *
+ * Constructs a new query object for querying the stream selection capability.
+ *
+ * Free-function: gst_query_unref()
+ *
+ * Returns: (transfer full): a new #GstQuery
+ *
+ * Since: 1.22
+ */
+GstQuery *
+gst_query_new_selectable (void)
+{
+  GstQuery *query;
+  GstStructure *structure;
+
+  structure = gst_structure_new_id_empty (GST_QUARK (QUERY_SELECTABLE));
+  query = gst_query_new_custom (GST_QUERY_SELECTABLE, structure);
+
+  return query;
+}
+
+/**
+ * gst_query_set_selectable:
+ * @query: a GST_QUERY_SELECTABLE type #GstQuery
+ * @selectable: Whether the element can handle stream selection.
+ *
+ * Set the results of a selectable query. If the element answering the query can
+ * handle stream selection, @selectable should be set to %TRUE.
+ *
+ * Since: 1.22
+ */
+void
+gst_query_set_selectable (GstQuery * query, gboolean selectable)
+{
+  GstStructure *s;
+
+  g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_SELECTABLE);
+
+  s = GST_QUERY_STRUCTURE (query);
+
+  gst_structure_id_set (s,
+      GST_QUARK (SELECTABLE), G_TYPE_BOOLEAN, selectable, NULL);
+}
+
+/**
+ * gst_query_parse_selectable:
+ * @query: a GST_QUERY_SELECTABLE type #GstQuery
+ * @selectable: (out) (optional): The resulting stream selection capability
+ *
+ * Get the results of a selectable query. See also gst_query_set_selectable().
+ *
+ * Since: 1.22
+ */
+void
+gst_query_parse_selectable (GstQuery * query, gboolean * selectable)
+{
+  GstStructure *structure;
+
+  g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_SELECTABLE);
+
+  structure = GST_QUERY_STRUCTURE (query);
+
+  if (selectable) {
+    const GValue *value =
+        gst_structure_id_get_value (structure, GST_QUARK (SELECTABLE));
+    if (value)
+      *selectable = g_value_get_boolean (value);
+    else
+      *selectable = FALSE;
+  }
+}
+
 /**
  * gst_query_ref:
  * @q: a #GstQuery to increase the refcount of.
@@ -2794,7 +2866,7 @@ gst_query_copy (const GstQuery * q)
  * gst_query_replace: (skip)
  * @old_query: (inout) (transfer full) (nullable): pointer to a pointer to a
  *     #GstQuery to be replaced.
- * @new_query: (allow-none) (transfer none): pointer to a #GstQuery that will
+ * @new_query: (nullable) (transfer none): pointer to a #GstQuery that will
  *     replace the query pointed to by @old_query.
  *
  * Modifies a pointer to a #GstQuery to point to a different #GstQuery. The
@@ -2817,7 +2889,7 @@ gst_query_replace (GstQuery ** old_query, GstQuery * new_query)
  * gst_query_take:
  * @old_query: (inout) (transfer full) (nullable): pointer to a
  *     pointer to a #GstQuery to be stolen.
- * @new_query: (allow-none) (transfer full): pointer to a #GstQuery that will
+ * @new_query: (nullable) (transfer full): pointer to a #GstQuery that will
  *     replace the query pointed to by @old_query.
  *
  * Modifies a pointer to a #GstQuery to point to a different #GstQuery. This
diff --git a/gst/gstquery.h b/gst/gstquery.h
index 949e30a..7bf2774 100644
--- a/gst/gstquery.h
+++ b/gst/gstquery.h
@@ -100,6 +100,7 @@ typedef enum {
  * @GST_QUERY_CONTEXT: query the pipeline-local context from
  *     downstream or upstream (since 1.2)
  * @GST_QUERY_BITRATE: the bitrate query (since 1.16)
+ * @GST_QUERY_SELECTABLE: Query stream selection capability (Since: 1.22)
  *
  * Standard predefined Query types
  */
@@ -126,6 +127,15 @@ typedef enum {
   GST_QUERY_DRAIN        = GST_QUERY_MAKE_TYPE (180, _FLAG(DOWNSTREAM) | _FLAG(SERIALIZED)),
   GST_QUERY_CONTEXT      = GST_QUERY_MAKE_TYPE (190, _FLAG(BOTH)),
   GST_QUERY_BITRATE      = GST_QUERY_MAKE_TYPE (200, _FLAG(DOWNSTREAM)),
+
+  /**
+   * GST_QUERY_SELECTABLE:
+   *
+   * Query stream selection capability.
+   *
+   * Since: 1.22
+   */
+  GST_QUERY_SELECTABLE   = GST_QUERY_MAKE_TYPE (210, _FLAG(BOTH)),
 } GstQueryType;
 #undef _FLAG
 
@@ -653,6 +663,17 @@ void            gst_query_set_bitrate              (GstQuery * query, guint nomi
 GST_API
 void            gst_query_parse_bitrate            (GstQuery * query, guint * nominal_bitrate);
 
+/* selectable query */
+
+GST_API
+GstQuery *      gst_query_new_selectable           (void) G_GNUC_MALLOC;
+
+GST_API
+void            gst_query_set_selectable           (GstQuery *query, gboolean selectable);
+
+GST_API
+void            gst_query_parse_selectable         (GstQuery *query, gboolean * selectable);
+
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstQuery, gst_query_unref)
 
 G_END_DECLS
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index 9b61cef..34f4529 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -112,7 +112,7 @@
 
 #include "gstpluginloader.h"
 
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include "gst.h"
 #include "glib-compat-private.h"
@@ -121,6 +121,9 @@
 #include <windows.h>
 extern HMODULE _priv_gst_dll_handle;
 #endif
+#ifdef HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
 
 /* Use a toolchain-dependent suffix on Windows */
 #ifdef G_OS_WIN32
@@ -393,8 +396,8 @@ was_added:
  *
  * Get the list of paths for the given registry.
  *
- * Returns: (transfer container) (element-type char*): A #GList of paths as
- *     strings. g_list_free after use.
+ * Returns: (transfer container) (element-type filename): A #GList of
+ *     paths as strings. g_list_free after use.
  *
  * MT safe.
  */
@@ -700,8 +703,9 @@ gst_plugin_feature_type_name_filter (GstPluginFeature * feature,
 {
   g_assert (GST_IS_PLUGIN_FEATURE (feature));
 
-  return ((data->type == 0 || data->type == G_OBJECT_TYPE (feature)) &&
-      (data->name == NULL || !strcmp (data->name, GST_OBJECT_NAME (feature))));
+  return ((data->type == G_TYPE_INVALID
+          || data->type == G_OBJECT_TYPE (feature)) && (data->name == NULL
+          || !strcmp (data->name, GST_OBJECT_NAME (feature))));
 }
 
 /* returns TRUE if the list was changed
@@ -1186,7 +1190,7 @@ gst_registry_scan_plugin_file (GstRegistryScanContext * context,
     /* Load plugin the old fashioned way... */
 
     /* We don't use a GError here because a failure to load some shared
-     * objects as plugins is normal (particularly in the uninstalled case)
+     * objects as plugins is normal (particularly in the development environment case)
      */
     newplugin = _priv_gst_plugin_load_file_for_registry (filename,
         context->registry, NULL);
@@ -1210,13 +1214,45 @@ gst_registry_scan_plugin_file (GstRegistryScanContext * context,
 }
 
 static gboolean
-is_blacklisted_directory (const gchar * dirent)
+skip_directory (const gchar * parent_path, const gchar * dirent)
 {
+  const gchar *target;
+
   /* hotdoc private folder can contain many files and it slows down
    * the discovery for nothing */
   if (g_str_has_prefix (dirent, "hotdoc-private-"))
     return TRUE;
 
+  /* gst-integration-testsuites can end up with many log files */
+  if (strcmp (dirent, "gst-integration-testsuites") == 0)
+    return TRUE;
+
+  /* Rust build dirs which may contain artefacts we should skip, can be
+   * /target/{debug,release} or /target/{arch}/{debug,release} */
+  target = strstr (parent_path, "/target/");
+
+  /* On Windows both forward and backward slashes may be used */
+#ifdef G_OS_WIN32
+  if (target == NULL)
+    target = strstr (parent_path, "\\target\\");
+#endif
+
+  if (target != NULL) {
+    if (g_str_has_suffix (target + 7, "/debug")
+#ifdef G_OS_WIN32
+        || g_str_has_suffix (target + 7, "\\debug")
+        || g_str_has_suffix (target + 7, "\\release")
+#endif
+        || g_str_has_suffix (target + 7, "/release")) {
+      if (dirent[0] == '.'
+          || strcmp (dirent, "build") == 0
+          || strcmp (dirent, "deps") == 0
+          || strcmp (dirent, "incremental") == 0) {
+        return TRUE;
+      }
+    }
+  }
+
   if (G_LIKELY (dirent[0] != '.'))
     return FALSE;
 
@@ -1226,7 +1262,7 @@ is_blacklisted_directory (const gchar * dirent)
     return TRUE;
 
   /* can also skip .git and .deps dirs, those won't contain useful files.
-   * This speeds up scanning a bit in uninstalled setups. */
+   * This speeds up scanning a bit in development environment setups. */
   if (strcmp (dirent, ".git") == 0 || strcmp (dirent, ".deps") == 0)
     return TRUE;
 
@@ -1259,7 +1295,7 @@ gst_registry_scan_path_level (GstRegistryScanContext * context,
     }
 
     if (file_status.st_mode & S_IFDIR) {
-      if (G_UNLIKELY (is_blacklisted_directory (dirent))) {
+      if (G_UNLIKELY (skip_directory (path, dirent))) {
         GST_TRACE_OBJECT (context->registry, "ignoring %s directory", dirent);
         g_free (filename);
         continue;
@@ -1543,6 +1579,59 @@ load_plugin_func (gpointer data, gpointer user_data)
   }
 }
 
+char *
+priv_gst_get_relocated_libgstreamer (void)
+{
+  char *dir = NULL;
+
+#ifdef G_OS_WIN32
+  {
+    char *base_dir;
+
+    GST_DEBUG ("attempting to retrieve libgstreamer-1.0 location using "
+        "Win32-specific method");
+
+    base_dir =
+        g_win32_get_package_installation_directory_of_module
+        (_priv_gst_dll_handle);
+    if (!base_dir)
+      return NULL;
+
+    dir = g_build_filename (base_dir, GST_PLUGIN_SUBDIR, NULL);
+    GST_DEBUG ("using DLL dir %s", dir);
+
+    g_free (base_dir);
+  }
+#elif defined(HAVE_DLADDR)
+  {
+    Dl_info info;
+
+    GST_DEBUG ("attempting to retrieve libgstreamer-1.0 location using "
+        "dladdr()");
+
+    if (dladdr (&gst_init, &info)) {
+      GST_LOG ("dli_fname: %s", info.dli_fname);
+
+      if (!info.dli_fname) {
+        return NULL;
+      }
+
+      dir = g_path_get_dirname (info.dli_fname);
+    } else {
+      GST_LOG ("dladdr() failed");
+      return NULL;
+    }
+  }
+#else
+#warning "Unsupported platform for retrieving the current location of a shared library."
+#warning "Relocatable builds will not work."
+  GST_WARNING ("Don't know how to retrieve the location of the shared "
+      "library libgstreamer-" GST_API_VERSION);
+#endif
+
+  return dir;
+}
+
 #ifndef GST_DISABLE_REGISTRY
 /* Unref all plugins marked 'cached', to clear old plugins that no
  * longer exist. Returns %TRUE if any plugins were removed */
@@ -1654,7 +1743,7 @@ scan_and_update_registry (GstRegistry * default_registry,
   if (plugin_path == NULL)
     plugin_path = g_getenv ("GST_PLUGIN_SYSTEM_PATH");
   if (plugin_path == NULL) {
-    char *home_plugins;
+    char *home_plugins, *relocated_libgstreamer, *system_plugindir;
 
     GST_DEBUG ("GST_PLUGIN_SYSTEM_PATH not set");
 
@@ -1669,28 +1758,21 @@ scan_and_update_registry (GstRegistry * default_registry,
 
     /* add the main (installed) library path */
 
-#ifdef G_OS_WIN32
-    {
-      char *base_dir;
-      char *dir;
-
-      base_dir =
-          g_win32_get_package_installation_directory_of_module
-          (_priv_gst_dll_handle);
-
-      dir = g_build_filename (base_dir, GST_PLUGIN_SUBDIR,
+    relocated_libgstreamer = priv_gst_get_relocated_libgstreamer ();
+    if (relocated_libgstreamer) {
+      GST_DEBUG ("found libgstreamer-" GST_API_VERSION " library "
+          "at %s", relocated_libgstreamer);
+      system_plugindir = g_build_filename (relocated_libgstreamer,
           "gstreamer-" GST_API_VERSION, NULL);
-      GST_DEBUG ("scanning DLL dir %s", dir);
+    } else {
+      system_plugindir = g_strdup (PLUGINDIR);
+    }
 
-      changed |= gst_registry_scan_path_internal (&context, dir);
+    GST_DEBUG ("using plugin dir %s", system_plugindir);
+    changed |= gst_registry_scan_path_internal (&context, system_plugindir);
 
-      g_free (dir);
-      g_free (base_dir);
-    }
-#else
-    GST_DEBUG ("scanning main plugins %s", PLUGINDIR);
-    changed |= gst_registry_scan_path_internal (&context, PLUGINDIR);
-#endif
+    g_clear_pointer (&system_plugindir, g_free);
+    g_clear_pointer (&relocated_libgstreamer, g_free);
   } else {
     gchar **list;
     gint i;
@@ -1732,12 +1814,11 @@ scan_and_update_registry (GstRegistry * default_registry,
   return REGISTRY_SCAN_AND_UPDATE_SUCCESS_UPDATED;
 }
 
-static gboolean
+static void
 ensure_current_registry (GError ** error)
 {
   gchar *registry_file;
   GstRegistry *default_registry;
-  gboolean ret = TRUE;
   gboolean do_update = TRUE;
   gboolean have_cache = TRUE;
 
@@ -1787,9 +1868,7 @@ ensure_current_registry (GError ** error)
   }
 
   g_free (registry_file);
-  GST_INFO ("registry reading and updating done, result = %d", ret);
-
-  return ret;
+  GST_INFO ("registry reading and updating done");
 }
 #endif /* GST_DISABLE_REGISTRY */
 
@@ -1852,13 +1931,11 @@ gst_registry_fork_set_enabled (gboolean enabled)
 gboolean
 gst_update_registry (void)
 {
-  gboolean res;
-
 #ifndef GST_DISABLE_REGISTRY
   if (!_priv_gst_disable_registry) {
     GError *err = NULL;
 
-    res = ensure_current_registry (&err);
+    ensure_current_registry (&err);
     if (err) {
       GST_WARNING ("registry update failed: %s", err->message);
       g_error_free (err);
@@ -1867,12 +1944,10 @@ gst_update_registry (void)
     }
   } else {
     GST_INFO ("registry update disabled by environment");
-    res = TRUE;
   }
 
 #else
   GST_WARNING ("registry update failed: %s", "registry disabled");
-  res = TRUE;
 #endif /* GST_DISABLE_REGISTRY */
 
 #ifndef GST_DISABLE_OPTION_PARSING
@@ -1882,7 +1957,7 @@ gst_update_registry (void)
   }
 #endif
 
-  return res;
+  return TRUE;
 }
 
 /**
diff --git a/gst/gstregistrybinary.c b/gst/gstregistrybinary.c
index db2846f..1e86464 100644
--- a/gst/gstregistrybinary.c
+++ b/gst/gstregistrybinary.c
@@ -252,6 +252,7 @@ static gboolean
 gst_registry_binary_cache_finish (BinaryRegistryCache * cache, gboolean success)
 {
   gint fclose_ret;
+  const gchar *registry_mode;
 
   if (success) {
     /* flush the file and make sure the OS's buffer has been written to disk */
@@ -292,6 +293,22 @@ gst_registry_binary_cache_finish (BinaryRegistryCache * cache, gboolean success)
   if (g_rename (cache->tmp_location, cache->location) < 0)
     goto rename_failed;
 
+  /* Change mode of registry if set in environment */
+  registry_mode = g_getenv ("GST_REGISTRY_MODE");
+  if (registry_mode) {
+    gchar *endptr;
+    gint64 mode;
+
+    /* Expect numeric mode as one to four octal digits */
+    mode = g_ascii_strtoll (registry_mode, &endptr, 8);
+    if (mode > G_MAXINT || *endptr != '\0')
+      GST_ERROR ("GST_REGISTRY_MODE not an integer value");
+    else if (g_chmod (cache->location, mode) < 0)
+      GST_ERROR ("g_chmod failed: %s", g_strerror (errno));
+    else
+      GST_INFO ("Changed mode of registry cache to %s", registry_mode);
+  }
+
   g_free (cache->tmp_location);
   g_slice_free (BinaryRegistryCache, cache);
   GST_INFO ("Wrote binary registry cache");
diff --git a/gst/gstregistrychunks.c b/gst/gstregistrychunks.c
index b352c45..80d0d4f 100644
--- a/gst/gstregistrychunks.c
+++ b/gst/gstregistrychunks.c
@@ -40,6 +40,7 @@
 #include <gst/gstinfo.h>
 #include <gst/gstenumtypes.h>
 #include <gst/gstpadtemplate.h>
+#include "glib-compat-private.h"
 
 #include <gst/gstregistrychunks.h>
 
@@ -95,7 +96,7 @@ _strnlen (const gchar * str, gint maxlen)
   gint _len = _strnlen (inptr, (endptr-inptr)); \
   if (_len == -1) \
     goto error_label; \
-  outptr = g_memdup ((gconstpointer)inptr, _len + 1); \
+  outptr = g_memdup2 ((gconstpointer)inptr, _len + 1); \
   inptr += _len + 1; \
 }G_STMT_END
 
diff --git a/gst/gststreams.c b/gst/gststreams.c
index 6df80d1..43bb53e 100644
--- a/gst/gststreams.c
+++ b/gst/gststreams.c
@@ -191,6 +191,7 @@ gst_stream_finalize (GObject * object)
       (GstMiniObject *) NULL);
   gst_caps_replace (&stream->priv->caps, NULL);
   g_free ((gchar *) stream->stream_id);
+  stream->stream_id = NULL;
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
@@ -241,6 +242,10 @@ gst_stream_set_stream_id (GstStream * stream, const gchar * stream_id)
         g_random_int (), g_random_int ());
   }
 
+  /* We hold the object lock, replace directly */
+  g_free (GST_OBJECT_NAME (stream));
+  GST_OBJECT_NAME (stream) = g_strdup (stream->stream_id);
+
   GST_OBJECT_UNLOCK (stream);
 
   if (!stream_id)
@@ -550,7 +555,6 @@ gst_stream_get_property (GObject * object, guint prop_id,
 const gchar *
 gst_stream_type_get_name (GstStreamType stype)
 {
-  /* FIXME : Make this more flexible */
   switch (stype) {
     case GST_STREAM_TYPE_UNKNOWN:
       return "unknown";
@@ -562,8 +566,32 @@ gst_stream_type_get_name (GstStreamType stype)
       return "container";
     case GST_STREAM_TYPE_TEXT:
       return "text";
-    default:
-      g_return_val_if_reached ("invalid");
-      return "invalid";
+    default:{
+      gchar str[32] = { 0, };
+
+#define _GST_STREAM_TYPE_ALL          \
+        (GST_STREAM_TYPE_AUDIO        \
+         | GST_STREAM_TYPE_VIDEO      \
+         | GST_STREAM_TYPE_CONTAINER  \
+         | GST_STREAM_TYPE_TEXT)
+
+      if ((stype & (~_GST_STREAM_TYPE_ALL)) != 0)
+        break;
+
+      if ((stype & GST_STREAM_TYPE_CONTAINER) != 0)
+        g_strlcat (str, "+container", sizeof (str));
+      if ((stype & GST_STREAM_TYPE_VIDEO) != 0)
+        g_strlcat (str, "+video", sizeof (str));
+      if ((stype & GST_STREAM_TYPE_AUDIO) != 0)
+        g_strlcat (str, "+audio", sizeof (str));
+      if ((stype & GST_STREAM_TYPE_TEXT) != 0)
+        g_strlcat (str, "+text", sizeof (str));
+
+      g_assert (str[0] != '\0');
+
+      return g_intern_string (str + 1);
+    }
   }
+
+  g_return_val_if_reached ("invalid");
 }
diff --git a/gst/gststructure.c b/gst/gststructure.c
index d9d307f..c8228c4 100644
--- a/gst/gststructure.c
+++ b/gst/gststructure.c
@@ -99,7 +99,7 @@
  * - [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`<` and
  *   `>`). For example `a-structure, list=<1, 2, 3>
  *
- * Structures are delimited either by a null character `\0` or a semicolumn `;`
+ * Structures are delimited either by a null character `\0` or a semicolon `;`
  * the latter allowing to store multiple structures in the same string (see
  * #GstCaps).
  *
@@ -119,11 +119,16 @@
  * a-struct, nested=(GstStructure)"nested-struct, nested=true"
  * ```
  *
- * > *Note*: Be aware that the current #GstCaps / #GstStructure serialization
- * > into string has limited support for nested #GstCaps / #GstStructure fields.
- * > It can only support one level of nesting. Using more levels will lead to
- * > unexpected behavior when using serialization features, such as
- * > gst_caps_to_string() or gst_value_serialize() and their counterparts.
+ * Since 1.20, nested structures and caps can be specified using brackets (`[`
+ * and `]`), for example:
+ *
+ * ```
+ * a-struct, nested=[nested-struct, nested=true]
+ * ```
+ *
+ * > *note*: gst_structure_to_string() won't use that syntax for backward
+ * > compatibility reason, gst_structure_serialize() has been added for
+ * > that purpose.
  */
 
 #ifdef HAVE_CONFIG_H
@@ -307,7 +312,6 @@ gst_structure_new_id_empty (GQuark quark)
   return gst_structure_new_id_empty_with_size (quark, 0);
 }
 
-#ifndef G_DISABLE_CHECKS
 static gboolean
 gst_structure_validate_name (const gchar * name)
 {
@@ -341,7 +345,6 @@ gst_structure_validate_name (const gchar * name)
 
   return TRUE;
 }
-#endif
 
 /**
  * gst_structure_new_empty:
@@ -574,7 +577,7 @@ gst_clear_structure (GstStructure ** structure_ptr)
  * gst_structure_take:
  * @oldstr_ptr: (inout) (transfer full) (nullable): pointer to a place of
  *     a #GstStructure to take
- * @newstr: (transfer full) (allow-none): a new #GstStructure
+ * @newstr: (transfer full) (nullable): a new #GstStructure
  *
  * Atomically modifies a pointer to point to a new structure.
  * The #GstStructure @oldstr_ptr is pointing to is freed and
@@ -1959,8 +1962,8 @@ gst_structure_get_fraction (const GstStructure * structure,
  * gst_structure_get_flagset:
  * @structure: a #GstStructure
  * @fieldname: the name of a field
- * @value_flags: (out) (allow-none): a pointer to a guint for the flags field
- * @value_mask: (out) (allow-none): a pointer to a guint for the mask field
+ * @value_flags: (out) (optional): a pointer to a guint for the flags field
+ * @value_mask: (out) (optional): a pointer to a guint for the mask field
  *
  * Read the GstFlagSet flags and mask out of the structure into the
  * provided pointers.
@@ -2024,25 +2027,31 @@ gst_structure_value_get_generic_type (const GValue * val)
 
 gboolean
 priv_gst_structure_append_to_gstring (const GstStructure * structure,
-    GString * s)
+    GString * s, GstSerializeFlags flags)
 {
   GstStructureField *field;
   guint i, len;
+  gboolean nested_structs_brackets =
+      !(flags & GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
 
   g_return_val_if_fail (s != NULL, FALSE);
 
   len = GST_STRUCTURE_LEN (structure);
   for (i = 0; i < len; i++) {
-    char *t;
+    gchar *t = NULL;
     GType type;
 
     field = GST_STRUCTURE_FIELD (structure, i);
 
     if (G_VALUE_TYPE (&field->value) == GST_TYPE_ARRAY) {
-      t = _priv_gst_value_serialize_any_list (&field->value, "< ", " >", FALSE);
+      t = _priv_gst_value_serialize_any_list (&field->value, "< ", " >", FALSE,
+          flags);
     } else if (G_VALUE_TYPE (&field->value) == GST_TYPE_LIST) {
-      t = _priv_gst_value_serialize_any_list (&field->value, "{ ", " }", FALSE);
-    } else {
+      t = _priv_gst_value_serialize_any_list (&field->value, "{ ", " }", FALSE,
+          flags);
+    } else if (!nested_structs_brackets
+        || (G_VALUE_TYPE (&field->value) != GST_TYPE_STRUCTURE
+            && G_VALUE_TYPE (&field->value) != GST_TYPE_CAPS)) {
       t = gst_value_serialize (&field->value);
     }
 
@@ -2054,7 +2063,22 @@ priv_gst_structure_append_to_gstring (const GstStructure * structure,
     g_string_append_len (s, "=(", 2);
     g_string_append (s, _priv_gst_value_gtype_to_abbr (type));
     g_string_append_c (s, ')');
-    if (t) {
+    if (nested_structs_brackets
+        && G_VALUE_TYPE (&field->value) == GST_TYPE_STRUCTURE) {
+      const GstStructure *substruct = gst_value_get_structure (&field->value);
+
+      g_string_append_c (s, '[');
+      g_string_append (s, g_quark_to_string (substruct->name));
+      priv_gst_structure_append_to_gstring (substruct, s, flags);
+      g_string_append_c (s, ']');
+    } else if (nested_structs_brackets
+        && G_VALUE_TYPE (&field->value) == GST_TYPE_CAPS) {
+      const GstCaps *subcaps = gst_value_get_caps (&field->value);
+      gchar *capsstr = gst_caps_serialize (subcaps, flags);
+
+      g_string_append_printf (s, "[%s]", capsstr);
+      g_free (capsstr);
+    } else if (t) {
       g_string_append (s, t);
       g_free (t);
     } else if (G_TYPE_CHECK_VALUE_TYPE (&field->value, G_TYPE_POINTER)) {
@@ -2127,20 +2151,42 @@ priv__gst_structure_append_template_to_gstring (GQuark field_id,
   return TRUE;
 }
 
+static gchar *
+structure_serialize (const GstStructure * structure, GstSerializeFlags flags)
+{
+  GString *s;
+
+  /* NOTE:  This function is potentially called by the debug system,
+   * so any calls to gst_log() (and GST_DEBUG(), GST_LOG(), etc.)
+   * should be careful to avoid recursion.  This includes any functions
+   * called by gst_structure_to_string.  In particular, calls should
+   * not use the GST_PTR_FORMAT extension.  */
+
+  g_return_val_if_fail (structure != NULL, NULL);
+
+  /* we estimate a minimum size based on the number of fields in order to
+   * avoid unnecessary reallocs within GString */
+  s = g_string_sized_new (STRUCTURE_ESTIMATED_STRING_LEN (structure));
+  g_string_append (s, g_quark_to_string (structure->name));
+  priv_gst_structure_append_to_gstring (structure, s, flags);
+  return g_string_free (s, FALSE);
+
+}
+
 /**
  * gst_structure_to_string:
  * @structure: a #GstStructure
  *
  * Converts @structure to a human-readable string representation.
  *
- * For debugging purposes its easier to do something like this:
- * |[<!-- language="C" -->
- * GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
+ * For debugging purposes its easier to do something like this: |[<!--
+ * language="C" --> GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
  * ]|
  * This prints the structure in human readable form.
  *
- * The current implementation of serialization will lead to unexpected results
- * when there are nested #GstCaps / #GstStructure deeper than one level.
+ * This function will lead to unexpected results when there are nested #GstCaps
+ * / #GstStructure deeper than one level, you should user
+ * gst_structure_serialize() instead for those cases.
  *
  * Free-function: g_free
  *
@@ -2150,22 +2196,33 @@ priv__gst_structure_append_template_to_gstring (GQuark field_id,
 gchar *
 gst_structure_to_string (const GstStructure * structure)
 {
-  GString *s;
-
-  /* NOTE:  This function is potentially called by the debug system,
-   * so any calls to gst_log() (and GST_DEBUG(), GST_LOG(), etc.)
-   * should be careful to avoid recursion.  This includes any functions
-   * called by gst_structure_to_string.  In particular, calls should
-   * not use the GST_PTR_FORMAT extension.  */
-
-  g_return_val_if_fail (structure != NULL, NULL);
+  return structure_serialize (structure, GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
+}
 
-  /* we estimate a minimum size based on the number of fields in order to
-   * avoid unnecessary reallocs within GString */
-  s = g_string_sized_new (STRUCTURE_ESTIMATED_STRING_LEN (structure));
-  g_string_append (s, g_quark_to_string (structure->name));
-  priv_gst_structure_append_to_gstring (structure, s);
-  return g_string_free (s, FALSE);
+/**
+ * gst_structure_serialize:
+ * @structure: a #GstStructure
+ * @flags: The flags to use to serialize structure
+ *
+ * Converts @structure to a human-readable string representation.
+ *
+ * This version of the caps serialization function introduces support for nested
+ * structures and caps but the resulting strings won't be parsable with
+ * GStreamer prior to 1.20 unless #GST_SERIALIZE_FLAG_BACKWARD_COMPAT is passed
+ * as @flag.
+ *
+ * Free-function: g_free
+ *
+ * Returns: (transfer full): a pointer to string allocated by g_malloc().
+ *     g_free() after usage.
+ *
+ * Since: 1.20
+ */
+gchar *
+gst_structure_serialize (const GstStructure * structure,
+    GstSerializeFlags flags)
+{
+  return structure_serialize (structure, flags);
 }
 
 static gboolean
@@ -2204,7 +2261,7 @@ gst_structure_parse_field (gchar * str,
   *name_end = c;
 
   if (G_UNLIKELY (!_priv_gst_value_parse_value (s, &s, &field->value,
-              G_TYPE_INVALID))) {
+              G_TYPE_INVALID, NULL))) {
     GST_WARNING ("failed to parse value %s", str);
     return FALSE;
   }
@@ -2215,7 +2272,7 @@ gst_structure_parse_field (gchar * str,
 
 gboolean
 priv_gst_structure_parse_name (gchar * str, gchar ** start, gchar ** end,
-    gchar ** next)
+    gchar ** next, gboolean check_valid)
 {
   char *w;
   char *r;
@@ -2234,6 +2291,17 @@ priv_gst_structure_parse_name (gchar * str, gchar ** start, gchar ** end,
     return FALSE;
   }
 
+  if (check_valid) {
+    gchar save = *w;
+
+    *w = '\0';
+    if (!gst_structure_validate_name (*start)) {
+      *w = save;
+      return FALSE;
+    }
+    *w = save;
+  }
+
   *end = w;
   *next = r;
 
@@ -2271,6 +2339,14 @@ priv_gst_structure_parse_fields (gchar * str, gchar ** end,
                 && g_ascii_isspace (r[1]))))
       r++;
 
+    /* Trailing comma */
+    if (*r == '\0') {
+      break;
+    } else if (*r == ';') {
+      r++;
+      break;
+    }
+
     memset (&field, 0, sizeof (field));
     if (G_UNLIKELY (!gst_structure_parse_field (r, &r, &field))) {
       GST_WARNING ("Failed to parse field, r=%s", r);
@@ -2293,7 +2369,9 @@ priv_gst_structure_parse_fields (gchar * str, gchar ** end,
  * where parsing ended will be returned.
  *
  * The current implementation of serialization will lead to unexpected results
- * when there are nested #GstCaps / #GstStructure deeper than one level.
+ * when there are nested #GstCaps / #GstStructure deeper than one level unless
+ * the gst_structure_serialize() function is used (without
+ * #GST_SERIALIZE_FLAG_BACKWARD_COMPAT)
  *
  * Free-function: gst_structure_free
  *
@@ -2312,7 +2390,7 @@ gst_structure_new_from_string (const gchar * string)
 /**
  * gst_structure_from_string: (constructor):
  * @string: a string representation of a #GstStructure.
- * @end: (out) (allow-none) (transfer none) (skip): pointer to store the end of the string in.
+ * @end: (out) (optional) (transfer none) (skip): pointer to store the end of the string in.
  *
  * Creates a #GstStructure from a string representation.
  * If end is not %NULL, a pointer to the place inside the given string
@@ -2339,7 +2417,7 @@ gst_structure_from_string (const gchar * string, gchar ** end)
   copy = g_strdup (string);
   r = copy;
 
-  if (!priv_gst_structure_parse_name (r, &name, &w, &r))
+  if (!priv_gst_structure_parse_name (r, &name, &w, &r, FALSE))
     goto error;
 
   save = *w;
@@ -3054,7 +3132,7 @@ gst_structure_is_equal (const GstStructure * structure1,
  *
  * Intersects @struct1 and @struct2 and returns the intersection.
  *
- * Returns: (nullable): Intersection of @struct1 and @struct2
+ * Returns: (transfer full) (nullable): Intersection of @struct1 and @struct2
  */
 GstStructure *
 gst_structure_intersect (const GstStructure * struct1,
@@ -3398,3 +3476,43 @@ gst_structure_set_list (GstStructure * structure, const gchar * fieldname,
 {
   _gst_structure_set_any_list (structure, GST_TYPE_LIST, fieldname, array);
 }
+
+/**
+ * gst_structure_get_flags:
+ * @structure: a #GstStructure
+ * @fieldname: the name of a field
+ * @flags_type: the flags type of a field
+ * @value: (out): a pointer to an unsigned int to set
+ *
+ * Sets the unsigned int pointed to by @value corresponding to the value of the
+ * given field. Caller is responsible for making sure the field exists,
+ * has the correct type and that the flagstype is correct.
+ *
+ * Returns: %TRUE if the value could be set correctly. If there was no field
+ * with @fieldname or the existing field did not contain flags or
+ * did not contain flags of the given type, this function returns %FALSE.
+ *
+ * Since: 1.22
+ */
+gboolean
+gst_structure_get_flags (const GstStructure * structure,
+    const gchar * fieldname, GType flags_type, guint * value)
+{
+  GstStructureField *field;
+
+  g_return_val_if_fail (structure != NULL, FALSE);
+  g_return_val_if_fail (fieldname != NULL, FALSE);
+  g_return_val_if_fail (flags_type != G_TYPE_INVALID, FALSE);
+  g_return_val_if_fail (value != NULL, FALSE);
+
+  field = gst_structure_get_field (structure, fieldname);
+
+  if (field == NULL)
+    return FALSE;
+  if (!G_TYPE_CHECK_VALUE_TYPE (&field->value, flags_type))
+    return FALSE;
+
+  *value = g_value_get_flags (&field->value);
+
+  return TRUE;
+}
diff --git a/gst/gststructure.h b/gst/gststructure.h
index a267bc8..64fec16 100644
--- a/gst/gststructure.h
+++ b/gst/gststructure.h
@@ -32,6 +32,20 @@ GST_API GType _gst_structure_type;
 
 typedef struct _GstStructure GstStructure;
 
+/**
+ * GstSerializeFlags:
+ * @GST_SERIALIZE_FLAG_NONE: No special flags specified.
+ * @GST_SERIALIZE_FLAG_BACKWARD_COMPAT: Serialize using the old format for
+ *                                      nested structures.
+ *
+ * Since: 1.20
+ */
+typedef enum
+{
+  GST_SERIALIZE_FLAG_NONE = 0,
+  GST_SERIALIZE_FLAG_BACKWARD_COMPAT = (1 << 0),
+} GstSerializeFlags;
+
 #define GST_TYPE_STRUCTURE             (_gst_structure_type)
 #define GST_IS_STRUCTURE(object)       ((object) && (GST_STRUCTURE(object)->type == GST_TYPE_STRUCTURE))
 #define GST_STRUCTURE_CAST(object)     ((GstStructure *)(object))
@@ -328,8 +342,18 @@ GST_API
 gboolean              gst_structure_get_list             (GstStructure        * structure,
                                                           const gchar         * fieldname,
                                                           GValueArray        ** array);
+
+GST_API
+gboolean              gst_structure_get_flags            (const GstStructure  * structure,
+                                                          const gchar         * fieldname,
+                                                          GType                 flags_type,
+                                                          guint               * value);
+
+GST_API
+gchar *               gst_structure_to_string            (const GstStructure * structure) G_GNUC_MALLOC;
 GST_API
-gchar *               gst_structure_to_string    (const GstStructure * structure) G_GNUC_MALLOC;
+gchar *               gst_structure_serialize            (const GstStructure * structure,
+                                                          GstSerializeFlags flags) G_GNUC_MALLOC;
 
 GST_API
 GstStructure *        gst_structure_from_string  (const gchar * string,
diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c
index 96341fd..7d8efb1 100644
--- a/gst/gstsystemclock.c
+++ b/gst/gstsystemclock.c
@@ -70,11 +70,15 @@
 #define GST_SYSTEM_CLOCK_WAIT(clock)            g_cond_wait(GST_SYSTEM_CLOCK_GET_COND(clock),GST_SYSTEM_CLOCK_GET_LOCK(clock))
 #define GST_SYSTEM_CLOCK_BROADCAST(clock)       g_cond_broadcast(GST_SYSTEM_CLOCK_GET_COND(clock))
 
-#if defined(HAVE_FUTEX)
+#if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
 #include <unistd.h>
 #include <linux/futex.h>
 #include <sys/syscall.h>
 
+#if !defined(__NR_futex) && !defined(__NR_futex_time64)
+#error "Neither __NR_futex nor __NR_futex_time64 are defined but were found by meson"
+#endif
+
 #ifndef FUTEX_WAIT_BITSET_PRIVATE
 #define FUTEX_WAIT_BITSET_PRIVATE FUTEX_WAIT_BITSET
 #endif
@@ -123,14 +127,35 @@ gst_futex_cond_broadcast (guint * cond_val)
 {
   g_atomic_int_inc (cond_val);
 
+#if defined(__NR_futex_time64)
+  {
+    int res;
+    res = syscall (__NR_futex_time64, cond_val, (gsize) FUTEX_WAKE_PRIVATE,
+        (gsize) INT_MAX, NULL);
+
+    /* If the syscall does not exist (`ENOSYS`), we retry again below with the
+     * normal `futex` syscall. This can happen if newer kernel headers are
+     * used than the kernel that is actually running.
+     */
+#ifdef __NR_futex
+    if (res >= 0 || errno != ENOSYS) {
+#else
+    {
+#endif
+      return;
+    }
+  }
+#endif
+
+#if defined(__NR_futex)
   syscall (__NR_futex, cond_val, (gsize) FUTEX_WAKE_PRIVATE, (gsize) INT_MAX,
       NULL);
+#endif
 }
 
 static gboolean
 gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time)
 {
-  struct timespec end;
   guint sampled;
   int res;
   gboolean success;
@@ -138,20 +163,92 @@ gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time)
   if (end_time < 0)
     return FALSE;
 
-  end.tv_sec = end_time / 1000000000;
-  end.tv_nsec = end_time % 1000000000;
-
   sampled = *cond_val;
   g_mutex_unlock (mutex);
-  /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
-   * able to use absolute time */
-  res =
-      syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
-      (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
-  success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
-  g_mutex_lock (mutex);
-
-  return success;
+
+  /* `struct timespec` as defined by the libc headers does not necessarily
+   * have any relation to the one used by the kernel for the `futex` syscall.
+   *
+   * Specifically, the libc headers might use 64-bit `time_t` while the kernel
+   * headers use 32-bit `__kernel_old_time_t` on certain systems.
+   *
+   * To get around this problem we
+   *   a) check if `futex_time64` is available, which only exists on 32-bit
+   *      platforms and always uses 64-bit `time_t`.
+   *   b) otherwise (or if that returns `ENOSYS`), we call the normal `futex`
+   *      syscall with the `struct timespec_t` used by the kernel, which uses
+   *      `__kernel_long_t` for both its fields. We use that instead of
+   *      `__kernel_old_time_t` because it is equivalent and available in the
+   *      kernel headers for a longer time.
+   *
+   * Also some 32-bit systems do not define `__NR_futex` at all and only
+   * define `__NR_futex_time64`.
+   */
+
+#ifdef __NR_futex_time64
+  {
+    struct
+    {
+      gint64 tv_sec;
+      gint64 tv_nsec;
+    } end;
+
+    end.tv_sec = end_time / 1000000000;
+    end.tv_nsec = end_time % 1000000000;
+
+    /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
+     * able to use absolute time */
+    res =
+        syscall (__NR_futex_time64, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
+        (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
+
+    /* If the syscall does not exist (`ENOSYS`), we retry again below with the
+     * normal `futex` syscall. This can happen if newer kernel headers are
+     * used than the kernel that is actually running.
+     */
+#ifdef __NR_futex
+    if (res >= 0 || errno != ENOSYS) {
+#else
+    {
+#endif
+      success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+      g_mutex_lock (mutex);
+
+      return success;
+    }
+  }
+#endif
+
+#ifdef __NR_futex
+  {
+    struct
+    {
+      __kernel_long_t tv_sec;
+      __kernel_long_t tv_nsec;
+    } end;
+
+    /* Make sure to only ever call this if the end time actually fits into the
+     * target type */
+    g_assert (sizeof (__kernel_long_t) >= 8
+        || end_time / 1000000000 <= G_MAXINT32);
+
+    end.tv_sec = end_time / 1000000000;
+    end.tv_nsec = end_time % 1000000000;
+
+    /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
+     * able to use absolute time */
+    res =
+        syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
+        (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
+    success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+    g_mutex_lock (mutex);
+
+    return success;
+  }
+#endif
+
+  /* We can't end up here because of the checks above */
+  g_assert_not_reached ();
 }
 
 #elif defined (G_OS_UNIX)
@@ -365,7 +462,7 @@ struct _GstSystemClockPrivate
 #  define DEFAULT_CLOCK_TYPE GST_CLOCK_TYPE_REALTIME
 # endif
 #else
-#define DEFAULT_CLOCK_TYPE GST_CLOCK_TYPE_REALTIME
+#define DEFAULT_CLOCK_TYPE GST_CLOCK_TYPE_MONOTONIC
 #endif
 
 enum
@@ -386,6 +483,10 @@ static void gst_system_clock_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
 static GstClockTime gst_system_clock_get_internal_time (GstClock * clock);
+#if !defined HAVE_POSIX_TIMERS || !defined HAVE_CLOCK_GETTIME
+static GstClockTime gst_system_clock_get_mono_time (GstSystemClock * clock);
+static GstClockTime gst_system_clock_get_real_time ();
+#endif
 static guint64 gst_system_clock_get_resolution (GstClock * clock);
 static GstClockReturn gst_system_clock_id_wait_jitter (GstClock * clock,
     GstClockEntry * entry, GstClockTimeDiff * jitter);
@@ -825,15 +926,46 @@ clock_type_to_posix_id (GstClockType clock_type)
 static GstClockTime
 gst_system_clock_get_internal_time (GstClock * clock)
 {
-#if defined __APPLE__
   GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
+#if defined HAVE_POSIX_TIMERS && defined HAVE_CLOCK_GETTIME
+  // BSD and Linux' Posix timers and clock_gettime cover all of the different clock types
+  // without need for special handling so we'll use those.
+  clockid_t ptype;
+  struct timespec ts;
+
+  ptype = clock_type_to_posix_id (sysclock->priv->clock_type);
+
+  if (G_UNLIKELY (clock_gettime (ptype, &ts)))
+    return GST_CLOCK_TIME_NONE;
+
+  return GST_TIMESPEC_TO_TIME (ts);
+#else
+  if (sysclock->priv->clock_type == GST_CLOCK_TYPE_REALTIME) {
+    return gst_system_clock_get_real_time ();
+  } else {
+    return gst_system_clock_get_mono_time (sysclock);
+  }
+#endif /* !HAVE_POSIX_TIMERS || !HAVE_CLOCK_GETTIME */
+}
+
+#if !defined HAVE_POSIX_TIMERS || !defined HAVE_CLOCK_GETTIME
+static GstClockTime
+gst_system_clock_get_real_time ()
+{
+  gint64 rt_micros = g_get_real_time ();
+  // g_get_real_time returns microseconds but we need nanos, so we'll multiply by 1000
+  return ((guint64) rt_micros) * 1000;
+}
+
+static GstClockTime
+gst_system_clock_get_mono_time (GstSystemClock * sysclock)
+{
+#if defined __APPLE__
   uint64_t mach_t = mach_absolute_time ();
   return gst_util_uint64_scale (mach_t, sysclock->priv->mach_timebase.numer,
       sysclock->priv->mach_timebase.denom);
 #else
-#ifdef G_OS_WIN32
-  GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
-
+#if defined G_OS_WIN32
   if (sysclock->priv->frequency.QuadPart != 0) {
     LARGE_INTEGER now;
 
@@ -844,7 +976,6 @@ gst_system_clock_get_internal_time (GstClock * clock)
         GST_SECOND, sysclock->priv->frequency.QuadPart);
   } else
 #endif /* G_OS_WIN32 */
-#if !defined HAVE_POSIX_TIMERS || !defined HAVE_CLOCK_GETTIME
   {
     gint64 monotime;
 
@@ -852,56 +983,45 @@ gst_system_clock_get_internal_time (GstClock * clock)
 
     return monotime * 1000;
   }
-#else
-  {
-    GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
-    clockid_t ptype;
-    struct timespec ts;
-
-    ptype = clock_type_to_posix_id (sysclock->priv->clock_type);
-
-    if (G_UNLIKELY (clock_gettime (ptype, &ts)))
-      return GST_CLOCK_TIME_NONE;
-
-    return GST_TIMESPEC_TO_TIME (ts);
-  }
-#endif
 #endif /* __APPLE__ */
 }
+#endif /* !HAVE_POSIX_TIMERS || !HAVE_CLOCK_GETTIME */
 
 static guint64
 gst_system_clock_get_resolution (GstClock * clock)
 {
-#if defined __APPLE__
-  GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
-  return gst_util_uint64_scale (GST_NSECOND,
-      sysclock->priv->mach_timebase.numer, sysclock->priv->mach_timebase.denom);
-#else
-#ifdef G_OS_WIN32
   GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
-
-  if (sysclock->priv->frequency.QuadPart != 0) {
-    return GST_SECOND / sysclock->priv->frequency.QuadPart;
+#if defined __APPLE__ || defined G_OS_WIN32
+  if (sysclock->priv->clock_type == GST_CLOCK_TYPE_REALTIME) {
+    return 1 * GST_USECOND;
   } else
-#endif /* G_OS_WIN32 */
-#if defined(HAVE_POSIX_TIMERS) && defined(HAVE_CLOCK_GETTIME)
+#endif
+#if defined __APPLE__
+  {
+    return gst_util_uint64_scale (GST_NSECOND,
+        sysclock->priv->mach_timebase.numer,
+        sysclock->priv->mach_timebase.denom);
+  }
+#elif defined G_OS_WIN32
   {
-    GstSystemClock *sysclock = GST_SYSTEM_CLOCK_CAST (clock);
+    if (sysclock->priv->frequency.QuadPart != 0) {
+      return GST_SECOND / sysclock->priv->frequency.QuadPart;
+    } else {
+      return 1 * GST_USECOND;
+    }
+  }
+#elif defined(HAVE_POSIX_TIMERS) && defined(HAVE_CLOCK_GETTIME)
     clockid_t ptype;
-    struct timespec ts;
+  struct timespec ts;
 
-    ptype = clock_type_to_posix_id (sysclock->priv->clock_type);
+  ptype = clock_type_to_posix_id (sysclock->priv->clock_type);
 
-    if (G_UNLIKELY (clock_getres (ptype, &ts)))
-      return GST_CLOCK_TIME_NONE;
+  if (G_UNLIKELY (clock_getres (ptype, &ts)))
+    return GST_CLOCK_TIME_NONE;
 
-    return GST_TIMESPEC_TO_TIME (ts);
-  }
+  return GST_TIMESPEC_TO_TIME (ts);
 #else
-  {
     return 1 * GST_USECOND;
-  }
-#endif
 #endif /* __APPLE__ */
 }
 
@@ -961,11 +1081,34 @@ gst_system_clock_id_wait_jitter_unlocked (GstClock * clock,
     while (TRUE) {
       gboolean waitret;
 
-      /* now wait on the entry, it either times out or the cond is signalled.
-       * The status of the entry is BUSY only around the wait. */
-      waitret =
-          GST_SYSTEM_CLOCK_ENTRY_WAIT_UNTIL ((GstClockEntryImpl *) entry,
-          mono_ts * 1000 + diff);
+#ifdef HAVE_CLOCK_NANOSLEEP
+      if (diff <= 500 * GST_USECOND) {
+        /* In order to provide more accurate wait, we will use BLOCKING
+           clock_nanosleep for any deadlines at or below 500us */
+        struct timespec end;
+        GST_TIME_TO_TIMESPEC (mono_ts * 1000 + diff, end);
+        GST_SYSTEM_CLOCK_ENTRY_UNLOCK ((GstClockEntryImpl *) entry);
+        waitret =
+            clock_nanosleep (CLOCK_MONOTONIC, TIMER_ABSTIME, &end, NULL) == 0;
+        GST_SYSTEM_CLOCK_ENTRY_LOCK ((GstClockEntryImpl *) entry);
+      } else {
+
+        if (diff < 2 * GST_MSECOND) {
+          /* For any deadline within 2ms, we first use the regular non-blocking
+             wait by reducing the diff accordingly */
+          diff -= 500 * GST_USECOND;
+        }
+#endif
+
+        /* now wait on the entry, it either times out or the cond is signalled.
+         * The status of the entry is BUSY only around the wait. */
+        waitret =
+            GST_SYSTEM_CLOCK_ENTRY_WAIT_UNTIL ((GstClockEntryImpl *) entry,
+            mono_ts * 1000 + diff);
+
+#ifdef HAVE_CLOCK_NANOSLEEP
+      }
+#endif
 
       /* get the new status, mark as DONE. We do this so that the unschedule
        * function knows when we left the poll and doesn't need to wakeup the
@@ -1004,6 +1147,7 @@ gst_system_clock_id_wait_jitter_unlocked (GstClock * clock,
 
         /* reschedule if gst_cond_wait_until returned early or we have to reschedule after
          * an unlock*/
+        mono_ts = g_get_monotonic_time ();
         now = gst_clock_get_time (clock);
         diff = GST_CLOCK_DIFF (now, entryt);
 
diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c
index fedfc37..07519fe 100644
--- a/gst/gsttaglist.c
+++ b/gst/gsttaglist.c
@@ -37,7 +37,7 @@
 #define GST_DISABLE_MINIOBJECT_INLINE_FUNCTIONS
 #include "gst_private.h"
 #include "math-compat.h"
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "gsttaglist.h"
 #include "gstinfo.h"
 #include "gstvalue.h"
@@ -509,7 +509,7 @@ gst_tag_register (const gchar * name, GstTagFlag flag, GType type,
   g_return_if_fail (name != NULL);
   g_return_if_fail (nick != NULL);
   g_return_if_fail (blurb != NULL);
-  g_return_if_fail (type != 0 && type != GST_TYPE_LIST);
+  g_return_if_fail (type != G_TYPE_INVALID && type != GST_TYPE_LIST);
 
   gst_tag_register_static (g_intern_string (name), flag, type,
       g_intern_string (nick), g_intern_string (blurb), func);
@@ -540,7 +540,7 @@ gst_tag_register_static (const gchar * name, GstTagFlag flag, GType type,
   g_return_if_fail (name != NULL);
   g_return_if_fail (nick != NULL);
   g_return_if_fail (blurb != NULL);
-  g_return_if_fail (type != 0 && type != GST_TYPE_LIST);
+  g_return_if_fail (type != G_TYPE_INVALID && type != GST_TYPE_LIST);
 
   info = gst_tag_lookup (name);
 
@@ -605,7 +605,7 @@ gst_tag_get_type (const gchar * tag)
  * Returns the human-readable name of this tag, You must not change or free
  * this string.
  *
- * Returns: (nullable): the human-readable name of this tag
+ * Returns: the human-readable name of this tag
  */
 const gchar *
 gst_tag_get_nick (const gchar * tag)
@@ -630,7 +630,7 @@ gst_tag_get_nick (const gchar * tag)
  * Returns the human-readable description of this tag, You must not change or
  * free this string.
  *
- * Returns: (nullable): the human-readable description of this tag
+ * Returns: the human-readable description of this tag
  */
 const gchar *
 gst_tag_get_description (const gchar * tag)
@@ -863,8 +863,8 @@ gst_tag_list_get_scope (const GstTagList * list)
  *
  * Serializes a tag list to a string.
  *
- * Returns: (nullable): a newly-allocated string, or %NULL in case of
- *     an error. The string must be freed with g_free() when no longer
+ * Returns: (transfer full): a newly-allocated string.
+ *     The string must be freed with g_free() when no longer
  *     needed.
  */
 gchar *
@@ -881,7 +881,7 @@ gst_tag_list_to_string (const GstTagList * list)
  *
  * Deserializes a tag list.
  *
- * Returns: (nullable): a new #GstTagList, or %NULL in case of an
+ * Returns: (transfer full) (nullable): a new #GstTagList, or %NULL in case of an
  * error.
  */
 GstTagList *
@@ -1148,8 +1148,8 @@ gst_tag_list_insert (GstTagList * into, const GstTagList * from,
 
 /**
  * gst_tag_list_merge:
- * @list1: (allow-none): first list to merge
- * @list2: (allow-none): second list to merge
+ * @list1: (nullable): first list to merge
+ * @list2: (nullable): second list to merge
  * @mode: the mode to use
  *
  * Merges the two given lists into a new list. If one of the lists is %NULL, a
@@ -2078,7 +2078,7 @@ gst_tag_list_get_sample_index (const GstTagList * list,
  *
  * When you are finished with the taglist, call gst_tag_list_unref() on it.
  *
- * Returns: the new #GstTagList
+ * Returns: (transfer full): the new #GstTagList
  */
 GstTagList *(gst_tag_list_copy) (const GstTagList * taglist)
 {
diff --git a/gst/gsttaglist.h b/gst/gsttaglist.h
index 2df43c7..c15ea2d 100644
--- a/gst/gsttaglist.h
+++ b/gst/gsttaglist.h
@@ -201,7 +201,7 @@ GST_API
 GstTagList * gst_tag_list_new_empty         (void) G_GNUC_MALLOC;
 
 GST_API
-GstTagList * gst_tag_list_new               (const gchar * tag, ...) G_GNUC_MALLOC;
+GstTagList * gst_tag_list_new               (const gchar * tag, ...) G_GNUC_NULL_TERMINATED G_GNUC_MALLOC;
 
 GST_API
 GstTagList * gst_tag_list_new_valist        (va_list var_args) G_GNUC_MALLOC;
diff --git a/gst/gsttask.c b/gst/gsttask.c
index f8df426..da81820 100644
--- a/gst/gsttask.c
+++ b/gst/gsttask.c
@@ -148,7 +148,7 @@ gst_task_win32_load_library (void)
 {
   /* FIXME: Add support for UWP app */
 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-  static volatile gsize _init_once = 0;
+  static gsize _init_once = 0;
   if (g_once_init_enter (&_init_once)) {
     kernel32_module = LoadLibraryW (L"kernel32.dll");
     if (kernel32_module) {
diff --git a/gst/gsttaskpool.c b/gst/gsttaskpool.c
index 89c8905..3116cc7 100644
--- a/gst/gsttaskpool.c
+++ b/gst/gsttaskpool.c
@@ -126,6 +126,12 @@ default_join (GstTaskPool * pool, gpointer id)
   /* we do nothing here, we can't join from the pools */
 }
 
+static void
+default_dispose_handle (GstTaskPool * pool, gpointer id)
+{
+  /* we do nothing here, the default handle is NULL */
+}
+
 static void
 gst_task_pool_class_init (GstTaskPoolClass * klass)
 {
@@ -143,6 +149,7 @@ gst_task_pool_class_init (GstTaskPoolClass * klass)
   gsttaskpool_class->cleanup = default_cleanup;
   gsttaskpool_class->push = default_push;
   gsttaskpool_class->join = default_join;
+  gsttaskpool_class->dispose_handle = default_dispose_handle;
 }
 
 static void
@@ -233,9 +240,11 @@ gst_task_pool_cleanup (GstTaskPool * pool)
  *
  * Start the execution of a new thread from @pool.
  *
- * Returns: (transfer none) (nullable): a pointer that should be used
+ * Returns: (transfer full) (nullable): a pointer that should be used
  * for the gst_task_pool_join function. This pointer can be %NULL, you
- * must check @error to detect errors.
+ * must check @error to detect errors. If the pointer is not %NULL and
+ * gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+ * instead.
  */
 gpointer
 gst_task_pool_push (GstTaskPool * pool, GstTaskPoolFunction func,
@@ -263,10 +272,14 @@ not_supported:
 /**
  * gst_task_pool_join:
  * @pool: a #GstTaskPool
- * @id: the id
+ * @id: (transfer full) (nullable): the id
  *
  * Join a task and/or return it to the pool. @id is the id obtained from
- * gst_task_pool_push().
+ * gst_task_pool_push(). The default implementation does nothing, as the
+ * default #GstTaskPoolClass::push implementation always returns %NULL.
+ *
+ * This method should only be called with the same @pool instance that provided
+ * @id.
  */
 void
 gst_task_pool_join (GstTaskPool * pool, gpointer id)
@@ -280,3 +293,257 @@ gst_task_pool_join (GstTaskPool * pool, gpointer id)
   if (klass->join)
     klass->join (pool, id);
 }
+
+/**
+ * gst_task_pool_dispose_handle:
+ * @pool: a #GstTaskPool
+ * @id: (transfer full) (nullable): the id
+ *
+ * Dispose of the handle returned by gst_task_pool_push(). This does
+ * not need to be called with the default implementation as the default
+ * #GstTaskPoolClass::push implementation always returns %NULL. This does not need to be
+ * called either when calling gst_task_pool_join(), but should be called
+ * when joining is not necessary, but gst_task_pool_push() returned a
+ * non-%NULL value.
+ *
+ * This method should only be called with the same @pool instance that provided
+ * @id.
+ *
+ * Since: 1.20
+ */
+void
+gst_task_pool_dispose_handle (GstTaskPool * pool, gpointer id)
+{
+  GstTaskPoolClass *klass;
+
+  g_return_if_fail (GST_IS_TASK_POOL (pool));
+
+  klass = GST_TASK_POOL_GET_CLASS (pool);
+
+  if (klass->dispose_handle)
+    klass->dispose_handle (pool, id);
+}
+
+typedef struct
+{
+  gboolean done;
+  guint64 id;
+  GstTaskPoolFunction func;
+  gpointer user_data;
+  GMutex done_lock;
+  GCond done_cond;
+  gint refcount;
+} SharedTaskData;
+
+static SharedTaskData *
+shared_task_data_ref (SharedTaskData * tdata)
+{
+  g_atomic_int_add (&tdata->refcount, 1);
+
+  return tdata;
+}
+
+static void
+shared_task_data_unref (SharedTaskData * tdata)
+{
+  if (g_atomic_int_dec_and_test (&tdata->refcount)) {
+    g_mutex_clear (&tdata->done_lock);
+    g_cond_clear (&tdata->done_cond);
+    g_slice_free (SharedTaskData, tdata);
+  }
+}
+
+struct _GstSharedTaskPoolPrivate
+{
+  guint max_threads;
+};
+
+#define GST_SHARED_TASK_POOL_CAST(pool)       ((GstSharedTaskPool*)(pool))
+
+G_DEFINE_TYPE_WITH_PRIVATE (GstSharedTaskPool, gst_shared_task_pool,
+    GST_TYPE_TASK_POOL);
+
+static void
+shared_func (SharedTaskData * tdata, GstTaskPool * pool)
+{
+  tdata->func (tdata->user_data);
+
+  g_mutex_lock (&tdata->done_lock);
+  tdata->done = TRUE;
+  g_cond_signal (&tdata->done_cond);
+  g_mutex_unlock (&tdata->done_lock);
+
+  shared_task_data_unref (tdata);
+}
+
+static gpointer
+shared_push (GstTaskPool * pool, GstTaskPoolFunction func,
+    gpointer user_data, GError ** error)
+{
+  SharedTaskData *ret = NULL;
+
+  GST_OBJECT_LOCK (pool);
+
+  if (!pool->pool) {
+    GST_OBJECT_UNLOCK (pool);
+    goto done;
+  }
+
+  ret = g_slice_new (SharedTaskData);
+
+  ret->done = FALSE;
+  ret->func = func;
+  ret->user_data = user_data;
+  g_atomic_int_set (&ret->refcount, 1);
+  g_cond_init (&ret->done_cond);
+  g_mutex_init (&ret->done_lock);
+
+  g_thread_pool_push (pool->pool, shared_task_data_ref (ret), error);
+
+  GST_OBJECT_UNLOCK (pool);
+
+done:
+  return ret;
+}
+
+static void
+shared_join (GstTaskPool * pool, gpointer id)
+{
+  SharedTaskData *tdata;
+
+  if (!id)
+    return;
+
+  tdata = (SharedTaskData *) id;
+
+  g_mutex_lock (&tdata->done_lock);
+  while (!tdata->done) {
+    g_cond_wait (&tdata->done_cond, &tdata->done_lock);
+  }
+  g_mutex_unlock (&tdata->done_lock);
+
+  shared_task_data_unref (tdata);
+}
+
+static void
+shared_dispose_handle (GstTaskPool * pool, gpointer id)
+{
+  SharedTaskData *tdata;
+
+  if (!id)
+    return;
+
+  tdata = (SharedTaskData *) id;
+
+
+  shared_task_data_unref (tdata);
+}
+
+static void
+shared_prepare (GstTaskPool * pool, GError ** error)
+{
+  GstSharedTaskPool *shared_pool = GST_SHARED_TASK_POOL_CAST (pool);
+
+  GST_OBJECT_LOCK (pool);
+  pool->pool =
+      g_thread_pool_new ((GFunc) shared_func, pool,
+      shared_pool->priv->max_threads, FALSE, error);
+  GST_OBJECT_UNLOCK (pool);
+}
+
+static void
+gst_shared_task_pool_class_init (GstSharedTaskPoolClass * klass)
+{
+  GstTaskPoolClass *taskpoolclass = GST_TASK_POOL_CLASS (klass);
+
+  taskpoolclass->prepare = shared_prepare;
+  taskpoolclass->push = shared_push;
+  taskpoolclass->join = shared_join;
+  taskpoolclass->dispose_handle = shared_dispose_handle;
+}
+
+static void
+gst_shared_task_pool_init (GstSharedTaskPool * pool)
+{
+  GstSharedTaskPoolPrivate *priv;
+
+  priv = pool->priv = gst_shared_task_pool_get_instance_private (pool);
+  priv->max_threads = 1;
+}
+
+/**
+ * gst_shared_task_pool_set_max_threads:
+ * @pool: a #GstSharedTaskPool
+ * @max_threads: Maximum number of threads to spawn.
+ *
+ * Update the maximal number of threads the @pool may spawn. When
+ * the maximal number of threads is reduced, existing threads are not
+ * immediately shut down, see g_thread_pool_set_max_threads().
+ *
+ * Setting @max_threads to 0 effectively freezes the pool.
+ *
+ * Since: 1.20
+ */
+void
+gst_shared_task_pool_set_max_threads (GstSharedTaskPool * pool,
+    guint max_threads)
+{
+  GstTaskPool *taskpool;
+
+  g_return_if_fail (GST_IS_SHARED_TASK_POOL (pool));
+
+  taskpool = GST_TASK_POOL (pool);
+
+  GST_OBJECT_LOCK (pool);
+  if (taskpool->pool)
+    g_thread_pool_set_max_threads (taskpool->pool, max_threads, NULL);
+  pool->priv->max_threads = max_threads;
+  GST_OBJECT_UNLOCK (pool);
+}
+
+/**
+ * gst_shared_task_pool_get_max_threads:
+ * @pool: a #GstSharedTaskPool
+ *
+ * Returns: the maximum number of threads @pool is configured to spawn
+ * Since: 1.20
+ */
+guint
+gst_shared_task_pool_get_max_threads (GstSharedTaskPool * pool)
+{
+  guint ret;
+
+  g_return_val_if_fail (GST_IS_SHARED_TASK_POOL (pool), 0);
+
+  GST_OBJECT_LOCK (pool);
+  ret = pool->priv->max_threads;
+  GST_OBJECT_UNLOCK (pool);
+
+  return ret;
+}
+
+/**
+ * gst_shared_task_pool_new:
+ *
+ * Create a new shared task pool. The shared task pool will queue tasks on
+ * a maximum number of threads, 1 by default.
+ *
+ * Do not use a #GstSharedTaskPool to manage potentially inter-dependent tasks such
+ * as pad tasks, as having one task waiting on another to return before returning
+ * would cause obvious deadlocks if they happen to share the same thread.
+ *
+ * Returns: (transfer full): a new #GstSharedTaskPool. gst_object_unref() after usage.
+ * Since: 1.20
+ */
+GstTaskPool *
+gst_shared_task_pool_new (void)
+{
+  GstTaskPool *pool;
+
+  pool = g_object_new (GST_TYPE_SHARED_TASK_POOL, NULL);
+
+  /* clear floating flag */
+  gst_object_ref_sink (pool);
+
+  return pool;
+}
diff --git a/gst/gsttaskpool.h b/gst/gsttaskpool.h
index 8bae5f5..94c5ebe 100644
--- a/gst/gsttaskpool.h
+++ b/gst/gsttaskpool.h
@@ -81,8 +81,19 @@ struct _GstTaskPoolClass {
                          gpointer user_data, GError **error);
   void      (*join)     (GstTaskPool *pool, gpointer id);
 
+  /**
+   * GstTaskPoolClass::dispose_handle:
+   * @pool: a #GstTaskPool
+   * @id: (transfer full): the handle to dispose of
+   *
+   * free / unref the handle returned in GstTaskPoolClass::push.
+   *
+   * Since: 1.20
+   */
+  void      (*dispose_handle) (GstTaskPool *pool, gpointer id);
+
   /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
+  gpointer _gst_reserved[GST_PADDING - 1];
 };
 
 GST_API
@@ -100,11 +111,67 @@ gpointer        gst_task_pool_push        (GstTaskPool *pool, GstTaskPoolFunctio
 GST_API
 void            gst_task_pool_join        (GstTaskPool *pool, gpointer id);
 
+GST_API
+void            gst_task_pool_dispose_handle (GstTaskPool *pool, gpointer id);
+
 GST_API
 void		gst_task_pool_cleanup     (GstTaskPool *pool);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstTaskPool, gst_object_unref)
 
+typedef struct _GstSharedTaskPool GstSharedTaskPool;
+typedef struct _GstSharedTaskPoolClass GstSharedTaskPoolClass;
+typedef struct _GstSharedTaskPoolPrivate GstSharedTaskPoolPrivate;
+
+#define GST_TYPE_SHARED_TASK_POOL             (gst_shared_task_pool_get_type ())
+#define GST_SHARED_TASK_POOL(pool)            (G_TYPE_CHECK_INSTANCE_CAST ((pool), GST_TYPE_TASK_POOL, GstSharedTaskPool))
+#define GST_IS_SHARED_TASK_POOL(pool)         (G_TYPE_CHECK_INSTANCE_TYPE ((pool), GST_TYPE_SHARED_TASK_POOL))
+#define GST_SHARED_TASK_POOL_CLASS(pclass)    (G_TYPE_CHECK_CLASS_CAST ((pclass), GST_TYPE_SHARED_TASK_POOL, GstSharedTaskPoolClass))
+#define GST_IS_SHARED_TASK_POOL_CLASS(pclass) (G_TYPE_CHECK_CLASS_TYPE ((pclass), GST_TYPE_SHARED_TASK_POOL))
+#define GST_SHARED_TASK_POOL_GET_CLASS(pool)  (G_TYPE_INSTANCE_GET_CLASS ((pool), GST_TYPE_SHARED_TASK_POOL, GstSharedTaskPoolClass))
+
+/**
+ * GstSharedTaskPool:
+ *
+ * The #GstSharedTaskPool object.
+ *
+ * since: 1.20
+ */
+struct _GstSharedTaskPool {
+  GstTaskPool parent;
+
+  /*< private >*/
+  GstSharedTaskPoolPrivate *priv;
+
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * GstSharedTaskPoolClass:
+ *
+ * The #GstSharedTaskPoolClass object.
+ *
+ * Since: 1.20
+ */
+struct _GstSharedTaskPoolClass {
+  GstTaskPoolClass parent_class;
+
+  /*< private >*/
+  gpointer _gst_reserved[GST_PADDING];
+};
+
+GST_API
+GType           gst_shared_task_pool_get_type        (void);
+
+GST_API
+void            gst_shared_task_pool_set_max_threads (GstSharedTaskPool *pool, guint max_threads);
+
+GST_API
+guint           gst_shared_task_pool_get_max_threads (GstSharedTaskPool *pool);
+
+GST_API
+GstTaskPool *   gst_shared_task_pool_new             (void);
+
 G_END_DECLS
 
 #endif /* __GST_TASK_POOL_H__ */
diff --git a/gst/gsttoc.c b/gst/gsttoc.c
index fd6bd66..7e8ba17 100644
--- a/gst/gsttoc.c
+++ b/gst/gsttoc.c
@@ -169,7 +169,7 @@ gst_toc_get_scope (const GstToc * toc)
 /**
  * gst_toc_set_tags:
  * @toc: A #GstToc instance
- * @tags: (allow-none) (transfer full): A #GstTagList or %NULL
+ * @tags: (nullable) (transfer full): A #GstTagList or %NULL
  *
  * Set a #GstTagList with tags for the complete @toc.
  */
@@ -187,7 +187,7 @@ gst_toc_set_tags (GstToc * toc, GstTagList * tags)
 /**
  * gst_toc_merge_tags:
  * @toc: A #GstToc instance
- * @tags: (allow-none): A #GstTagList or %NULL
+ * @tags: (nullable): A #GstTagList or %NULL
  * @mode: A #GstTagMergeMode
  *
  * Merge @tags into the existing tags of @toc using @mode.
@@ -213,7 +213,7 @@ gst_toc_merge_tags (GstToc * toc, GstTagList * tags, GstTagMergeMode mode)
  *
  * Gets the tags for @toc.
  *
- * Returns: (transfer none): A #GstTagList for @entry
+ * Returns: (transfer none) (nullable): A #GstTagList for @entry
  */
 GstTagList *
 gst_toc_get_tags (const GstToc * toc)
@@ -290,7 +290,7 @@ gst_toc_entry_new_internal (GstTocEntryType type, const gchar * uid)
  *
  * Create new #GstTocEntry structure.
  *
- * Returns: newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref().
+ * Returns: (transfer full): newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref().
  */
 GstTocEntry *
 gst_toc_entry_new (GstTocEntryType type, const gchar * uid)
@@ -415,8 +415,7 @@ gst_toc_deep_copy_toc_entries (GList * entry_list)
  *
  * Copy #GstTocEntry with all subentries (deep copy).
  *
- * Returns: (nullable): newly allocated #GstTocEntry in case of
- * success, %NULL otherwise; free it when done with
+ * Returns: (transfer full): newly allocated #GstTocEntry; free it when done with
  * gst_toc_entry_unref().
  */
 static GstTocEntry *
@@ -450,8 +449,7 @@ gst_toc_entry_copy (const GstTocEntry * entry)
  *
  * Copy #GstToc with all subentries (deep copy).
  *
- * Returns: (nullable): newly allocated #GstToc in case of success,
- * %NULL otherwise; free it when done with gst_toc_unref().
+ * Returns: (transfer full): newly allocated #GstToc; free it when done with gst_toc_unref().
  */
 static GstToc *
 gst_toc_copy (const GstToc * toc)
@@ -495,9 +493,9 @@ gst_toc_entry_set_start_stop_times (GstTocEntry * entry, gint64 start,
 /**
  * gst_toc_entry_get_start_stop_times:
  * @entry: #GstTocEntry to get values from.
- * @start: (out) (allow-none): the storage for the start value, leave
+ * @start: (out) (optional): the storage for the start value, leave
  *   %NULL if not need.
- * @stop: (out) (allow-none): the storage for the stop value, leave
+ * @stop: (out) (optional): the storage for the stop value, leave
  *   %NULL if not need.
  *
  * Get @start and @stop values from the @entry and write them into appropriate
@@ -543,9 +541,9 @@ gst_toc_entry_set_loop (GstTocEntry * entry, GstTocLoopType loop_type,
 /**
  * gst_toc_entry_get_loop:
  * @entry: #GstTocEntry to get values from.
- * @loop_type: (out) (allow-none): the storage for the loop_type
+ * @loop_type: (out) (optional): the storage for the loop_type
  *             value, leave %NULL if not need.
- * @repeat_count: (out) (allow-none): the storage for the repeat_count
+ * @repeat_count: (out) (optional): the storage for the repeat_count
  *                value, leave %NULL if not need.
  *
  * Get @loop_type and @repeat_count values from the @entry and write them into
@@ -708,7 +706,7 @@ gst_toc_entry_get_sub_entries (const GstTocEntry * entry)
 /**
  * gst_toc_entry_set_tags:
  * @entry: A #GstTocEntry instance
- * @tags: (allow-none) (transfer full): A #GstTagList or %NULL
+ * @tags: (nullable) (transfer full): A #GstTagList or %NULL
  *
  * Set a #GstTagList with tags for the complete @entry.
  */
@@ -726,7 +724,7 @@ gst_toc_entry_set_tags (GstTocEntry * entry, GstTagList * tags)
 /**
  * gst_toc_entry_merge_tags:
  * @entry: A #GstTocEntry instance
- * @tags: (allow-none): A #GstTagList or %NULL
+ * @tags: (nullable): A #GstTagList or %NULL
  * @mode: A #GstTagMergeMode
  *
  * Merge @tags into the existing tags of @entry using @mode.
@@ -753,7 +751,7 @@ gst_toc_entry_merge_tags (GstTocEntry * entry, GstTagList * tags,
  *
  * Gets the tags for @entry.
  *
- * Returns: (transfer none): A #GstTagList for @entry
+ * Returns: (nullable) (transfer none): A #GstTagList for @entry
  */
 GstTagList *
 gst_toc_entry_get_tags (const GstTocEntry * entry)
@@ -769,7 +767,7 @@ gst_toc_entry_get_tags (const GstTocEntry * entry)
  *
  * Gets the parent #GstToc of @entry.
  *
- * Returns: (transfer none): The parent #GstToc of @entry
+ * Returns: (transfer none) (nullable): The parent #GstToc of @entry
  */
 GstToc *
 gst_toc_entry_get_toc (GstTocEntry * entry)
diff --git a/gst/gsttracerrecord.c b/gst/gsttracerrecord.c
index 97d4c00..1caa687 100644
--- a/gst/gsttracerrecord.c
+++ b/gst/gsttracerrecord.c
@@ -159,6 +159,7 @@ gst_tracer_record_init (GstTracerRecord * self)
  *
  * Create a new tracer record. The record instance can be used to efficiently
  * log entries using gst_tracer_record_log().
+ * %NULL terminator required after the last argument.
  *
  * The @name without the ".class" suffix will be used for the log records.
  * There must be fields for each value that gets logged where the field name is
diff --git a/gst/gsttracerrecord.h b/gst/gsttracerrecord.h
index a7e1bb4..3d8c4da 100644
--- a/gst/gsttracerrecord.h
+++ b/gst/gsttracerrecord.h
@@ -92,7 +92,7 @@ typedef enum
 } GstTracerValueFlags;
 
 GST_API
-GstTracerRecord * gst_tracer_record_new (const gchar * name, const gchar * firstfield, ...);
+GstTracerRecord * gst_tracer_record_new (const gchar * name, const gchar * firstfield, ...) G_GNUC_NULL_TERMINATED;
 
 #ifndef GST_DISABLE_GST_DEBUG
 GST_API
diff --git a/gst/gsttracerutils.c b/gst/gsttracerutils.c
index ea9c9e3..07f7490 100644
--- a/gst/gsttracerutils.c
+++ b/gst/gsttracerutils.c
@@ -54,7 +54,9 @@ static const gchar *_quark_strings[] = {
   "element-change-state-pre", "element-change-state-post",
   "mini-object-created", "mini-object-destroyed", "object-created",
   "object-destroyed", "mini-object-reffed", "mini-object-unreffed",
-  "object-reffed", "object-unreffed",
+  "object-reffed", "object-unreffed", "plugin-feature-loaded",
+  "pad-chain-pre", "pad-chain-post", "pad-chain-list-pre",
+  "pad-chain-list-post",
 };
 
 GQuark _priv_gst_tracer_quark_table[GST_TRACER_QUARK_MAX];
diff --git a/gst/gsttracerutils.h b/gst/gsttracerutils.h
index a2a5ed6..e5159be 100644
--- a/gst/gsttracerutils.h
+++ b/gst/gsttracerutils.h
@@ -79,6 +79,11 @@ typedef enum /*< skip >*/
   GST_TRACER_QUARK_HOOK_MINI_OBJECT_UNREFFED,
   GST_TRACER_QUARK_HOOK_OBJECT_REFFED,
   GST_TRACER_QUARK_HOOK_OBJECT_UNREFFED,
+  GST_TRACER_QUARK_HOOK_PLUGIN_FEATURE_LOADED,
+  GST_TRACER_QUARK_HOOK_PAD_CHAIN_PRE,
+  GST_TRACER_QUARK_HOOK_PAD_CHAIN_POST,
+  GST_TRACER_QUARK_HOOK_PAD_CHAIN_LIST_PRE,
+  GST_TRACER_QUARK_HOOK_PAD_CHAIN_LIST_POST,
   GST_TRACER_QUARK_MAX
 } GstTracerQuarkId;
 
@@ -689,11 +694,150 @@ typedef void (*GstTracerHookObjectCreated) (GObject *self, GstClockTime ts,
  */
 typedef void (*GstTracerHookObjectDestroyed) (GObject *self, GstClockTime ts,
     GstObject *object);
+
 #define GST_TRACER_OBJECT_DESTROYED(object) G_STMT_START{ \
   GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_OBJECT_DESTROYED), \
     GstTracerHookObjectDestroyed, (GST_TRACER_ARGS, object)); \
 }G_STMT_END
 
+/**
+ * GstTracerHookPluginFeatureLoaded:
+ * @self: the tracer instance
+ * @ts: the current timestamp
+ * @feature: the plugin feature that was loaded
+ *
+ * Hook called when a GstPluginFeature is loaded named
+ * "plugin-feature-loaded".
+ *
+ * Since: 1.20
+ */
+typedef void (*GstTracerHookPluginFeatureLoaded) (GObject *self, GstClockTime ts,
+    GstPluginFeature *feature);
+/**
+ * GST_TRACER_PLUGIN_FEATURE_LOADED:
+ * @feature: The feature that this tracer is called for
+ *
+ * Add a tracepoint when a plugin feature is loaded.
+ *
+ * Since: 1.20
+ */
+#define GST_TRACER_PLUGIN_FEATURE_LOADED(feature) G_STMT_START{ \
+  GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_PLUGIN_FEATURE_LOADED), \
+    GstTracerHookPluginFeatureLoaded, (GST_TRACER_ARGS, feature)); \
+}G_STMT_END
+
+/**
+ * GstTracerHookPadChainPre:
+ * @self: the tracer instance
+ * @ts: the current timestamp
+ * @pad: the pad
+ * @buffer: the buffer
+ *
+ * Pre-hook for gst_pad_chain() named "pad-chain-pre".
+ *
+ * Since: 1.22
+ */
+typedef void (*GstTracerHookPadChainPre) (GObject *self, GstClockTime ts,
+    GstPad *pad, GstBuffer *buffer);
+
+/**
+ * GST_TRACER_PAD_CHAIN_PRE:
+ * @pad: a %GstPad
+ * @buffer: a %GstBuffer
+ *
+ * Dispatches the "pad-chain-pre" hook.
+ *
+ * Since: 1.22
+ */
+#define GST_TRACER_PAD_CHAIN_PRE(pad, buffer) G_STMT_START{ \
+  GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_PAD_CHAIN_PRE), \
+    GstTracerHookPadChainPre, (GST_TRACER_ARGS, pad, buffer)); \
+}G_STMT_END
+
+/**
+ * GstTracerHookPadChainPost:
+ * @self: the tracer instance
+ * @ts: the current timestamp
+ * @pad: the pad
+ * @res: the result of gst_pad_chain()
+ *
+ * Post-hook for gst_pad_chain() named "pad-chain-post".
+ *
+ * Since: 1.22
+ */
+typedef void (*GstTracerHookPadChainPost) (GObject * self, GstClockTime ts,
+    GstPad *pad, GstFlowReturn res);
+
+/**
+ * GST_TRACER_PAD_CHAIN_POST:
+ * @pad: a %GstPad
+ * @res: a %GstFlowReturn
+ *
+ * Dispatches the "pad-chain-post" hook.
+ *
+ * Since: 1.22
+ */
+#define GST_TRACER_PAD_CHAIN_POST(pad, res) G_STMT_START{ \
+  GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_PAD_CHAIN_POST), \
+    GstTracerHookPadChainPost, (GST_TRACER_ARGS, pad, res)); \
+}G_STMT_END
+
+/**
+ * GstTracerHookPadChainListPre:
+ * @self: the tracer instance
+ * @ts: the current timestamp
+ * @pad: the pad
+ * @list: the buffer-list
+ *
+ * Pre-hook for gst_pad_chain_list() named "pad-chain-list-pre".
+ *
+ * Since: 1.22
+ */
+typedef void (*GstTracerHookPadChainListPre) (GObject *self, GstClockTime ts,
+    GstPad *pad, GstBufferList *list);
+
+/**
+ * GST_TRACER_PAD_CHAIN_LIST_PRE:
+ * @pad: a %GstPad
+ * @list: a %GstBufferList
+ *
+ * Dispatches the "pad-chain-list-pre" hook.
+ *
+ * Since: 1.22
+ */
+#define GST_TRACER_PAD_CHAIN_LIST_PRE(pad, list) G_STMT_START{ \
+  GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_PAD_CHAIN_LIST_PRE), \
+    GstTracerHookPadChainListPre, (GST_TRACER_ARGS, pad, list)); \
+}G_STMT_END
+
+/**
+ * GstTracerHookPadChainListPost:
+ * @self: the tracer instance
+ * @ts: the current timestamp
+ * @pad: the pad
+ * @res: the result of gst_pad_chain_list()
+ *
+ * Post-hook for gst_pad_chain_list() named "pad-chain-list-post".
+ *
+ * Since: 1.22
+ */
+typedef void (*GstTracerHookPadChainListPost) (GObject *self, GstClockTime ts,
+    GstPad *pad,
+    GstFlowReturn res);
+
+/**
+ * GST_TRACER_PAD_CHAIN_LIST_POST:
+ * @pad: a %GstPad
+ * @res: a %GstFlowReturn
+ *
+ * Dispatches the "pad-chain-list-post" hook.
+ *
+ * Since: 1.22
+ */
+#define GST_TRACER_PAD_CHAIN_LIST_POST(pad, res) G_STMT_START{ \
+  GST_TRACER_DISPATCH(GST_TRACER_QUARK(HOOK_PAD_CHAIN_LIST_POST), \
+    GstTracerHookPadChainListPost, (GST_TRACER_ARGS, pad, res)); \
+}G_STMT_END
 
 #else /* !GST_DISABLE_GST_TRACER_HOOKS */
 
@@ -743,6 +887,11 @@ _priv_gst_tracing_deinit (void)
 #define GST_TRACER_OBJECT_DESTROYED(object)
 #define GST_TRACER_OBJECT_REFFED(object, new_refcount)
 #define GST_TRACER_OBJECT_UNREFFED(object, new_refcount)
+#define GST_TRACER_PLUGIN_FEATURE_LOADED(feature)
+#define GST_TRACER_PAD_CHAIN_PRE(pad, buffer)
+#define GST_TRACER_PAD_CHAIN_POST(pad, res)
+#define GST_TRACER_PAD_CHAIN_LIST_PRE(pad, list)
+#define GST_TRACER_PAD_CHAIN_LIST_POST(pad, res)
 
 #endif /* GST_DISABLE_GST_TRACER_HOOKS */
 
diff --git a/gst/gsttypefind.c b/gst/gsttypefind.c
index fd81c66..bd48bf2 100644
--- a/gst/gsttypefind.c
+++ b/gst/gsttypefind.c
@@ -148,6 +148,38 @@ gst_type_find_suggest (GstTypeFind * find, guint probability, GstCaps * caps)
   find->suggest (find->data, probability, caps);
 }
 
+/**
+ * gst_type_find_suggest_empty_simple:
+ * @find: The #GstTypeFind object the function was called with
+ * @probability: The probability in percent that the suggestion is right
+ * @media_type: the media type of the suggested caps
+ *
+ * If a #GstTypeFindFunction calls this function it suggests caps of the
+ * given @media_type with the given @probability.
+ *
+ * This function is similar to gst_type_find_suggest_simple(), but uses
+ * a #GstCaps with no fields.
+ *
+ * Since: 1.20
+ */
+void
+gst_type_find_suggest_empty_simple (GstTypeFind * find,
+    guint probability, const char *media_type)
+{
+  GstCaps *caps;
+
+  g_return_if_fail (find->suggest != NULL);
+  g_return_if_fail (probability <= 100);
+  g_return_if_fail (media_type != NULL);
+
+  caps = gst_caps_new_empty_simple (media_type);
+
+  g_return_if_fail (gst_caps_is_fixed (caps));
+
+  find->suggest (find->data, probability, caps);
+  gst_caps_unref (caps);
+}
+
 /**
  * gst_type_find_suggest_simple:
  * @find: The #GstTypeFind object the function was called with
@@ -156,7 +188,8 @@ gst_type_find_suggest (GstTypeFind * find, guint probability, GstCaps * caps)
  * @fieldname: (allow-none): first field of the suggested caps, or %NULL
  * @...: additional arguments to the suggested caps in the same format as the
  *     arguments passed to gst_structure_new() (ie. triplets of field name,
- *     field GType and field value)
+ *     field GType and field value).  If @fieldname is %NULL, this list
+ *     must be exactly one %NULL.
  *
  * If a #GstTypeFindFunction calls this function it suggests the caps with the
  * given probability. A #GstTypeFindFunction may supply different suggestions
diff --git a/gst/gsttypefind.h b/gst/gsttypefind.h
index 1c7f12b..6c2e595 100644
--- a/gst/gsttypefind.h
+++ b/gst/gsttypefind.h
@@ -28,6 +28,91 @@
 #include <gst/gstpluginfeature.h>
 
 G_BEGIN_DECLS
+/**
+ * GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM:
+ * @type_find: The type find name in lower case, with words separated by '_'.
+ * Used to generate `gst_type_find_register_*(GstPlugin* plugin)`.
+ * @register_func: pointer to a method with the format: `gboolean register_func (GstPlugin* plugin);`
+ *
+ * A convenience macro to define the entry point of a
+ * type find `gst_type_find_register_*(GstPlugin* plugin)` which uses
+ * register_func as the main registration method for the type find.
+ * As an example, you may define the type find named "custom-typefind"
+ * as following using `type_find_register_custom`:
+ *
+ * ```
+ * GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM (plugin, type_find_register_custom)
+ * ```
+ *
+ * Since: 1.20
+ */
+#define GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM(type_find, register_func) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_type_find_register_, type_find) (GstPlugin * plugin) \
+{ \
+  return register_func (plugin); \
+} \
+G_END_DECLS
+
+/**
+ * GST_TYPE_FIND_REGISTER_DEFINE:
+ * @t_f: The type find name in lower case, with words separated by '_'.
+ * Used to generate `gst_type_find_register_*(GstPlugin* plugin)`.
+ * @t_f_n: The public name of the type find
+ * @r: The #GstRank of the type find (higher rank means more importance when autoplugging, see #GstRank)
+ * @func: The #GstTypeFindFunction to use
+ * @extensions: (nullable): Optional comma-separated list of extensions
+ *     that could belong to this type
+ * @possible_caps: (nullable): Optionally the caps that could be returned when typefinding
+ *                 succeeds
+ * @data: Optional user data. This user data must be available until the plugin
+ *        is unloaded.
+ * @data_notify: a #GDestroyNotify that will be called on @data when the plugin
+ *        is unloaded.
+ *
+ * A convenience macro to define the entry point of a
+ * type find `gst_type_find_register_*(GstPlugin* plugin)`.
+ *
+ * Since: 1.20
+ */
+#define GST_TYPE_FIND_REGISTER_DEFINE(t_f, t_f_n, r, func, extensions, possible_caps, data, data_notify) \
+G_BEGIN_DECLS \
+gboolean G_PASTE (gst_type_find_register_, t_f) (GstPlugin * plugin) \
+{ \
+  return gst_type_find_register (plugin, t_f_n, r, func, extensions, possible_caps, data, data_notify); \
+} \
+G_END_DECLS
+
+/**
+ * GST_TYPE_FIND_REGISTER_DECLARE:
+ * @t_f: The type find name in lower case, with words separated by '_'.
+ *
+ * This macro can be used to declare a new type find.
+ * It has to be used in combination with #GST_TYPE_FIND_REGISTER_DEFINE macro
+ * and must be placed outside any block to declare the type find registration
+ * function.
+ *
+ * Since: 1.20
+ */
+#define GST_TYPE_FIND_REGISTER_DECLARE(t_f) \
+G_BEGIN_DECLS \
+gboolean G_PASTE(gst_type_find_register_, t_f) (GstPlugin * plugin); \
+G_END_DECLS
+
+/**
+ * GST_TYPE_FIND_REGISTER:
+ * @t_f: The type find name in lower case, with words separated by '_'.
+ * @plugin: The #GstPlugin where to register the type find.
+
+ *
+ * This macro can be used to register a type find into a #GstPlugin.
+ * This method will be usually called in the plugin init function
+ * but can also be called with a NULL plugin.
+ *
+ * Since: 1.20
+ */
+#define GST_TYPE_FIND_REGISTER(t_f, plugin) G_PASTE(gst_type_find_register_, t_f) (plugin)
+
 
 #define GST_TYPE_TYPE_FIND  (gst_type_find_get_type())
 
@@ -108,10 +193,14 @@ void            gst_type_find_suggest    (GstTypeFind   * find,
                                           guint           probability,
                                           GstCaps       * caps);
 GST_API
+void            gst_type_find_suggest_empty_simple (GstTypeFind * find,
+                                                    guint         probability,
+                                                    const char  * media_type);
+GST_API
 void            gst_type_find_suggest_simple (GstTypeFind * find,
                                               guint         probability,
                                               const char  * media_type,
-                                              const char  * fieldname, ...);
+                                              const char  * fieldname, ...) G_GNUC_NULL_TERMINATED;
 GST_API
 guint64   gst_type_find_get_length (GstTypeFind   * find);
 
diff --git a/gst/gsttypefindfactory.c b/gst/gsttypefindfactory.c
index 433b9ad..2aab054 100644
--- a/gst/gsttypefindfactory.c
+++ b/gst/gsttypefindfactory.c
@@ -43,7 +43,7 @@
  *   my_peek (gpointer data, gint64 offset, guint size)
  *   {
  *     MyTypeFind *find = (MyTypeFind *) data;
- *     if (offset &gt;= 0 &amp;&amp; offset + size &lt;= find->size) {
+ *     if (offset >= 0 && offset + size <= find->size) {
  *       return find->data + offset;
  *     }
  *     return NULL;
@@ -52,9 +52,9 @@
  *   my_suggest (gpointer data, guint probability, GstCaps *caps)
  *   {
  *     MyTypeFind *find = (MyTypeFind *) data;
- *     if (probability &gt; find->probability) {
+ *     if (probability > find->probability) {
  *       find->probability = probability;
- *       gst_caps_replace (&amp;find->caps, caps);
+ *       gst_caps_replace (&find->caps, caps);
  *     }
  *   }
  *   static GstCaps *
@@ -62,12 +62,12 @@
  *   {
  *     GList *walk, *type_list;
  *     MyTypeFind find = {data, size, 0, NULL};
- *     GstTypeFind gst_find = {my_peek, my_suggest, &amp;find, };
+ *     GstTypeFind gst_find = {my_peek, my_suggest, &find, };
  *     walk = type_list = gst_type_find_factory_get_list ();
  *     while (walk) {
  *       GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);
  *       walk = g_list_next (walk)
- *       gst_type_find_factory_call_function (factory, &amp;gst_find);
+ *       gst_type_find_factory_call_function (factory, &gst_find);
  *     }
  *     g_list_free (type_list);
  *     return find.caps;
diff --git a/gst/gsturi.c b/gst/gsturi.c
index aea1534..ae1fb72 100644
--- a/gst/gsturi.c
+++ b/gst/gsturi.c
@@ -49,7 +49,7 @@
 #include "gstinfo.h"
 #include "gstregistry.h"
 
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include <string.h>
 #include <glib.h>
@@ -123,7 +123,7 @@ _gst_ascii_strcasestr (const gchar * s, const gchar * find)
 GType
 gst_uri_handler_get_type (void)
 {
-  static volatile gsize urihandler_type = 0;
+  static gsize urihandler_type = 0;
 
   if (g_once_init_enter (&urihandler_type)) {
     GType _type;
@@ -405,8 +405,8 @@ gst_uri_get_protocol (const gchar * uri)
 {
   gchar *colon;
 
-  g_return_val_if_fail (uri != NULL, NULL);
-  g_return_val_if_fail (gst_uri_is_valid (uri), NULL);
+  if (!gst_uri_is_valid (uri))
+    return NULL;
 
   colon = strstr (uri, ":");
 
@@ -427,9 +427,11 @@ gst_uri_has_protocol (const gchar * uri, const gchar * protocol)
 {
   gchar *colon;
 
-  g_return_val_if_fail (uri != NULL, FALSE);
   g_return_val_if_fail (protocol != NULL, FALSE);
-  g_return_val_if_fail (gst_uri_is_valid (uri), FALSE);
+
+  if (!gst_uri_is_valid (uri)) {
+    return FALSE;
+  }
 
   colon = strstr (uri, ":");
 
@@ -460,8 +462,9 @@ gst_uri_get_location (const gchar * uri)
   const gchar *colon;
   gchar *unescaped = NULL;
 
-  g_return_val_if_fail (uri != NULL, NULL);
-  g_return_val_if_fail (gst_uri_is_valid (uri), NULL);
+  if (!gst_uri_is_valid (uri)) {
+    return NULL;
+  }
 
   colon = strstr (uri, "://");
   if (!colon)
@@ -497,8 +500,7 @@ gst_uri_get_location (const gchar * uri)
  *
  * Free-function: g_free
  *
- * Returns: (transfer full): a new string for this URI. Returns %NULL if the
- *     given URI protocol is not valid, or the given location is %NULL.
+ * Returns: (transfer full): a new string for this URI.
  *
  * Deprecated: Use GstURI instead.
  */
@@ -614,8 +616,8 @@ gst_uri_protocol_is_supported (const GstURIType type, const gchar * protocol)
  * gst_element_make_from_uri:
  * @type: Whether to create a source or a sink
  * @uri: URI to create an element for
- * @elementname: (allow-none): Name of created element, can be %NULL.
- * @error: (allow-none): address where to store error information, or %NULL.
+ * @elementname: (nullable): Name of created element, can be %NULL.
+ * @error: address where to store error information, or %NULL.
  *
  * Creates an element for handling the given URI.
  *
@@ -632,9 +634,14 @@ gst_element_make_from_uri (const GstURIType type, const gchar * uri,
 
   g_return_val_if_fail (gst_is_initialized (), NULL);
   g_return_val_if_fail (GST_URI_TYPE_IS_VALID (type), NULL);
-  g_return_val_if_fail (gst_uri_is_valid (uri), NULL);
   g_return_val_if_fail (error == NULL || *error == NULL, NULL);
 
+  if (!gst_uri_is_valid (uri)) {
+    g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
+        _("Invalid URI: %s"), uri);
+    return NULL;
+  }
+
   GST_DEBUG ("type:%d, uri:%s, elementname:%s", type, uri, elementname);
 
   protocol = gst_uri_get_protocol (uri);
@@ -724,7 +731,7 @@ gst_uri_handler_get_uri_type (GstURIHandler * handler)
  * Gets the list of protocols supported by @handler. This list may not be
  * modified.
  *
- * Returns: (transfer none) (element-type utf8) (nullable): the
+ * Returns: (transfer none) (element-type utf8) (nullable) (array zero-terminated=1): the
  *     supported protocols.  Returns %NULL if the @handler isn't
  *     implemented properly, or the @handler doesn't support any
  *     protocols.
@@ -780,7 +787,7 @@ gst_uri_handler_get_uri (GstURIHandler * handler)
  * gst_uri_handler_set_uri:
  * @handler: A #GstURIHandler
  * @uri: URI to set
- * @error: (allow-none): address where to store a #GError in case of
+ * @error: address where to store a #GError in case of
  *    an error, or %NULL
  *
  * Tries to set the URI of the given handler.
@@ -796,13 +803,18 @@ gst_uri_handler_set_uri (GstURIHandler * handler, const gchar * uri,
   gchar *protocol;
 
   g_return_val_if_fail (GST_IS_URI_HANDLER (handler), FALSE);
-  g_return_val_if_fail (gst_uri_is_valid (uri), FALSE);
   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
 
   iface = GST_URI_HANDLER_GET_INTERFACE (handler);
   g_return_val_if_fail (iface != NULL, FALSE);
   g_return_val_if_fail (iface->set_uri != NULL, FALSE);
 
+  if (!gst_uri_is_valid (uri)) {
+    g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
+        _("Invalid URI: %s"), uri);
+    return FALSE;
+  }
+
   protocol = gst_uri_get_protocol (uri);
 
   if (iface->get_protocols) {
@@ -903,7 +915,7 @@ file_path_contains_relatives (const gchar * path)
  *
  * On Windows @filename should be in UTF-8 encoding.
  *
- * Returns: newly-allocated URI string, or NULL on error. The caller must
+ * Returns: (nullable): newly-allocated URI string, or NULL on error. The caller must
  *   free the URI string with g_free() when no longer needed.
  */
 gchar *
@@ -1302,7 +1314,7 @@ _gst_uri_string_to_list (const gchar * str, const gchar * sep, gboolean convert,
       for (next_elem = split_str; *next_elem; next_elem += 1) {
         gchar *elem = *next_elem;
         if (*elem == '\0') {
-          new_list = g_list_append (new_list, NULL);
+          new_list = g_list_prepend (new_list, NULL);
         } else {
           if (convert && !unescape) {
             gchar *next_sep;
@@ -1318,7 +1330,7 @@ _gst_uri_string_to_list (const gchar * str, const gchar * sep, gboolean convert,
             g_free (elem);
             elem = *next_elem;
           }
-          new_list = g_list_append (new_list, g_strdup (elem));
+          new_list = g_list_prepend (new_list, g_strdup (elem));
         }
       }
     }
@@ -1327,7 +1339,7 @@ _gst_uri_string_to_list (const gchar * str, const gchar * sep, gboolean convert,
       g_free (pct_sep);
   }
 
-  return new_list;
+  return g_list_reverse (new_list);
 }
 
 static GHashTable *
@@ -1677,7 +1689,7 @@ gst_uri_from_string_escaped (const gchar * uri)
  *
  * Like gst_uri_from_string() but also joins with a base URI.
  *
- * Returns: (transfer full): A new #GstUri object.
+ * Returns: (transfer full) (nullable): A new #GstUri object.
  *
  * Since: 1.6
  */
@@ -1690,6 +1702,9 @@ gst_uri_from_string_with_base (GstUri * base, const gchar * uri)
   g_return_val_if_fail (base == NULL || GST_IS_URI (base), NULL);
 
   new_rel_uri = gst_uri_from_string (uri);
+  if (!new_rel_uri)
+    return NULL;
+
   new_uri = gst_uri_join (base, new_rel_uri);
   gst_uri_unref (new_rel_uri);
 
@@ -1904,7 +1919,7 @@ gst_uri_join (GstUri * base_uri, GstUri * ref_uri)
  * This is a convenience function to join two URI strings and return the result.
  * The returned string should be g_free()'d after use.
  *
- * Returns: (transfer full): A string representing the percent-encoded join of
+ * Returns: (transfer full) (nullable): A string representing the percent-encoded join of
  *          the two URIs.
  *
  * Since: 1.6
@@ -1916,7 +1931,15 @@ gst_uri_join_strings (const gchar * base_uri, const gchar * ref_uri)
   gchar *result_uri;
 
   base = gst_uri_from_string (base_uri);
+  if (!base)
+    return NULL;
+
   result = gst_uri_from_string_with_base (base, ref_uri);
+  if (!result) {
+    gst_uri_unref (base);
+    return NULL;
+  }
+
   result_uri = gst_uri_to_string (result);
   gst_uri_unref (base);
   gst_uri_unref (result);
@@ -2046,7 +2069,7 @@ gst_uri_to_string (const GstUri * uri)
 
 /**
  * gst_uri_is_normalized:
- * @uri: The #GstUri to test to see if it is normalized.
+ * @uri: (nullable): The #GstUri to test to see if it is normalized.
  *
  * Tests the @uri to see if it is normalized. A %NULL @uri is considered to be
  * normalized.
@@ -2153,6 +2176,9 @@ gst_uri_set_scheme (GstUri * uri, const gchar * scheme)
     return scheme == NULL;
   g_return_val_if_fail (GST_IS_URI (uri) && gst_uri_is_writable (uri), FALSE);
 
+  if (uri->scheme == scheme)
+    return TRUE;
+
   g_free (uri->scheme);
   uri->scheme = g_strdup (scheme);
 
@@ -2195,6 +2221,8 @@ gst_uri_set_userinfo (GstUri * uri, const gchar * userinfo)
     return userinfo == NULL;
   g_return_val_if_fail (GST_IS_URI (uri) && gst_uri_is_writable (uri), FALSE);
 
+  if (uri->userinfo == userinfo)
+    return TRUE;
   g_free (uri->userinfo);
   uri->userinfo = g_strdup (userinfo);
 
@@ -2237,6 +2265,9 @@ gst_uri_set_host (GstUri * uri, const gchar * host)
     return host == NULL;
   g_return_val_if_fail (GST_IS_URI (uri) && gst_uri_is_writable (uri), FALSE);
 
+  if (uri->host == host)
+    return TRUE;
+
   g_free (uri->host);
   uri->host = g_strdup (host);
 
@@ -2286,7 +2317,7 @@ gst_uri_set_port (GstUri * uri, guint port)
 
 /**
  * gst_uri_get_path:
- * @uri: The #GstUri to get the path from.
+ * @uri: (nullable): The #GstUri to get the path from.
  *
  * Extract the path string from the URI object.
  *
@@ -2325,7 +2356,7 @@ gst_uri_get_path (const GstUri * uri)
 /**
  * gst_uri_set_path:
  * @uri: (transfer none) (nullable): The #GstUri to modify.
- * @path: The new path to set with path segments separated by '/', or use %NULL
+ * @path: (nullable): The new path to set with path segments separated by '/', or use %NULL
  *        to unset the path.
  *
  * Sets or unsets the path in the URI.
@@ -2349,7 +2380,7 @@ gst_uri_set_path (GstUri * uri, const gchar * path)
 
 /**
  * gst_uri_get_path_string:
- * @uri: The #GstUri to get the path from.
+ * @uri: (nullable): The #GstUri to get the path from.
  *
  * Extract the path string from the URI object as a percent encoded URI path.
  *
@@ -2471,7 +2502,7 @@ gst_uri_set_path_segments (GstUri * uri, GList * path_segments)
 /**
  * gst_uri_append_path:
  * @uri: (transfer none)(nullable): The #GstUri to modify.
- * @relative_path: Relative path to append to the end of the current path.
+ * @relative_path: (nullable): Relative path to append to the end of the current path.
  *
  * Append a path onto the end of the path in the URI. The path is not
  * normalized, call #gst_uri_normalize() to normalize the path.
@@ -2509,7 +2540,7 @@ gst_uri_append_path (GstUri * uri, const gchar * relative_path)
 /**
  * gst_uri_append_path_segment:
  * @uri: (transfer none)(nullable): The #GstUri to modify.
- * @path_segment: The path segment string to append to the URI path.
+ * @path_segment: (nullable): The path segment string to append to the URI path.
  *
  * Append a single path segment onto the end of the URI path.
  *
@@ -2581,7 +2612,7 @@ gst_uri_get_query_string (const GstUri * uri)
 /**
  * gst_uri_set_query_string:
  * @uri: (transfer none)(nullable): The #GstUri to modify.
- * @query: The new percent encoded query string to use to populate the query
+ * @query: (nullable): The new percent encoded query string to use to populate the query
  *        table, or use %NULL to unset the query table.
  *
  * Sets or unsets the query table in the URI.
@@ -2656,6 +2687,9 @@ gst_uri_set_query_table (GstUri * uri, GHashTable * query_table)
     return query_table == NULL;
   g_return_val_if_fail (GST_IS_URI (uri) && gst_uri_is_writable (uri), FALSE);
 
+  if (uri->query == query_table)
+    return TRUE;
+
   old_table = uri->query;
   if (query_table)
     uri->query = g_hash_table_ref (query_table);
@@ -2840,6 +2874,9 @@ gst_uri_set_fragment (GstUri * uri, const gchar * fragment)
     return fragment == NULL;
   g_return_val_if_fail (GST_IS_URI (uri) && gst_uri_is_writable (uri), FALSE);
 
+  if (uri->fragment == fragment)
+    return TRUE;
+
   g_free (uri->fragment);
   uri->fragment = g_strdup (fragment);
   return TRUE;
diff --git a/gst/gstutils.c b/gst/gstutils.c
index 9ff8ece..2ea7f33 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -45,7 +45,7 @@
 #include "gstparse.h"
 #include "gstvalue.h"
 #include "gstquark.h"
-#include "gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "glib-compat-private.h"
 #include <math.h>
 
@@ -213,7 +213,7 @@ gst_util_set_object_arg (GObject * object, const gchar * name,
     goto done;
   }
 
-  if (!gst_value_deserialize (&v, value))
+  if (!gst_value_deserialize_with_pspec (&v, value, pspec))
     return;
 
 done:
@@ -388,7 +388,7 @@ gst_util_uint64_mul_uint64 (GstUInt64 * c1, GstUInt64 * c0, guint64 arg1,
   b0.ll = (guint64) v.l.high * n.l.low;
 
   /* add the high word of a0 to the low words of a1 and b0 using c1 as
-   * scrach space to capture the carry.  the low word of the result becomes
+   * scratch space to capture the carry.  the low word of the result becomes
    * the final high word of c0 */
   c1->ll = (guint64) c0->l.high + a1.l.low + b0.l.low;
   c0->l.high = c1->l.low;
@@ -1117,7 +1117,7 @@ gst_pad_check_link (GstPad * srcpad, GstPad * sinkpad)
  * gst_element_get_compatible_pad:
  * @element: (transfer none): a #GstElement in which the pad should be found.
  * @pad: (transfer none): the #GstPad to find a compatible one for.
- * @caps: (allow-none): the #GstCaps to use as a filter.
+ * @caps: (nullable): the #GstCaps to use as a filter.
  *
  * Looks for an unlinked pad to which the given pad can link. It is not
  * guaranteed that linking the pads will work, though it should work in most
@@ -1779,10 +1779,10 @@ release_and_unref_pad (GstElement * element, GstPad * pad, gboolean requestpad)
 /**
  * gst_element_link_pads_full:
  * @src: a #GstElement containing the source pad.
- * @srcpadname: (allow-none): the name of the #GstPad in source element
+ * @srcpadname: (nullable): the name of the #GstPad in source element
  *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
- * @destpadname: (allow-none): the name of the #GstPad in destination element,
+ * @destpadname: (nullable): the name of the #GstPad in destination element,
  * or %NULL for any pad.
  * @flags: the #GstPadLinkCheck to be performed when linking pads.
  *
@@ -1825,7 +1825,7 @@ gst_element_link_pads_full (GstElement * src, const gchar * srcpadname,
   if (srcpadname) {
     /* name specified, look it up */
     if (!(srcpad = gst_element_get_static_pad (src, srcpadname))) {
-      if ((srcpad = gst_element_get_request_pad (src, srcpadname)))
+      if ((srcpad = gst_element_request_pad_simple (src, srcpadname)))
         srcrequest = TRUE;
     }
     if (!srcpad) {
@@ -1864,7 +1864,7 @@ gst_element_link_pads_full (GstElement * src, const gchar * srcpadname,
   if (destpadname) {
     /* name specified, look it up */
     if (!(destpad = gst_element_get_static_pad (dest, destpadname))) {
-      if ((destpad = gst_element_get_request_pad (dest, destpadname)))
+      if ((destpad = gst_element_request_pad_simple (dest, destpadname)))
         destrequest = TRUE;
     }
     if (!destpad) {
@@ -2102,10 +2102,10 @@ gst_element_link_pads_full (GstElement * src, const gchar * srcpadname,
 /**
  * gst_element_link_pads:
  * @src: a #GstElement containing the source pad.
- * @srcpadname: (allow-none): the name of the #GstPad in source element
+ * @srcpadname: (nullable): the name of the #GstPad in source element
  *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
- * @destpadname: (allow-none): the name of the #GstPad in destination element,
+ * @destpadname: (nullable): the name of the #GstPad in destination element,
  * or %NULL for any pad.
  *
  * Links the two named pads of the source and destination elements.
@@ -2126,12 +2126,12 @@ gst_element_link_pads (GstElement * src, const gchar * srcpadname,
 /**
  * gst_element_link_pads_filtered:
  * @src: a #GstElement containing the source pad.
- * @srcpadname: (allow-none): the name of the #GstPad in source element
+ * @srcpadname: (nullable): the name of the #GstPad in source element
  *     or %NULL for any pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
- * @destpadname: (allow-none): the name of the #GstPad in destination element
+ * @destpadname: (nullable): the name of the #GstPad in destination element
  *     or %NULL for any pad.
- * @filter: (transfer none) (allow-none): the #GstCaps to filter the link,
+ * @filter: (transfer none) (nullable): the #GstCaps to filter the link,
  *     or %NULL for no filter.
  *
  * Links the two named pads of the source and destination elements. Side effect
@@ -2274,7 +2274,7 @@ gst_element_link_many (GstElement * element_1, GstElement * element_2, ...)
  * gst_element_link_filtered:
  * @src: a #GstElement containing the source pad.
  * @dest: (transfer none): the #GstElement containing the destination pad.
- * @filter: (transfer none) (allow-none): the #GstCaps to filter the link,
+ * @filter: (transfer none) (nullable): the #GstCaps to filter the link,
  *     or %NULL for no filter.
  *
  * Links @src to @dest using the given caps as filtercaps.
@@ -2324,14 +2324,14 @@ gst_element_unlink_pads (GstElement * src, const gchar * srcpadname,
 
   /* obtain the pads requested */
   if (!(srcpad = gst_element_get_static_pad (src, srcpadname)))
-    if ((srcpad = gst_element_get_request_pad (src, srcpadname)))
+    if ((srcpad = gst_element_request_pad_simple (src, srcpadname)))
       srcrequest = TRUE;
   if (srcpad == NULL) {
     GST_WARNING_OBJECT (src, "source element has no pad \"%s\"", srcpadname);
     return;
   }
   if (!(destpad = gst_element_get_static_pad (dest, destpadname)))
-    if ((destpad = gst_element_get_request_pad (dest, destpadname)))
+    if ((destpad = gst_element_request_pad_simple (dest, destpadname)))
       destrequest = TRUE;
   if (destpad == NULL) {
     GST_WARNING_OBJECT (dest, "destination element has no pad \"%s\"",
@@ -2451,7 +2451,7 @@ gst_element_unlink (GstElement * src, GstElement * dest)
  * gst_element_query_position:
  * @element: a #GstElement to invoke the position query on.
  * @format: the #GstFormat requested
- * @cur: (out) (allow-none): a location in which to store the current
+ * @cur: (out) (optional): a location in which to store the current
  *     position, or %NULL.
  *
  * Queries an element (usually top-level pipeline or playbin element) for the
@@ -2494,7 +2494,7 @@ gst_element_query_position (GstElement * element, GstFormat format,
  * gst_element_query_duration:
  * @element: a #GstElement to invoke the duration query on.
  * @format: the #GstFormat requested
- * @duration: (out) (allow-none): A location in which to store the total duration, or %NULL.
+ * @duration: (out) (optional): A location in which to store the total duration, or %NULL.
  *
  * Queries an element (usually top-level pipeline or playbin element) for the
  * total stream duration in nanoseconds. This query will only work once the
@@ -2559,6 +2559,8 @@ gst_element_query_convert (GstElement * element, GstFormat src_format,
     return TRUE;
   }
 
+  *dest_val = -1;
+
   query = gst_query_new_convert (src_format, src_val, dest_format);
   ret = gst_element_query (element, query);
 
@@ -2661,7 +2663,7 @@ gst_pad_get_parent_element (GstPad * pad)
  * gst_object_default_error:
  * @source: the #GstObject that initiated the error.
  * @error: (in): the GError.
- * @debug: (in) (allow-none): an additional debug information string, or %NULL
+ * @debug: (in) (nullable): an additional debug information string, or %NULL
  *
  * A default error function that uses g_printerr() to display the error message
  * and the optional debug string..
@@ -2716,7 +2718,7 @@ gst_bin_add_many (GstBin * bin, GstElement * element_1, ...)
  * @element_1: (transfer none): the first #GstElement to remove from the bin
  * @...: (transfer none): %NULL-terminated list of elements to remove from the bin
  *
- * Remove a list of elements from a bin. This function is equivalent
+ * Removes a list of elements from a bin. This function is equivalent
  * to calling gst_bin_remove() with each member of the list.
  */
 void
@@ -2875,7 +2877,7 @@ gst_pad_proxy_query_caps (GstPad * pad, GstQuery * query)
  * gst_pad_query_position:
  * @pad: a #GstPad to invoke the position query on.
  * @format: the #GstFormat requested
- * @cur: (out) (allow-none): A location in which to store the current position, or %NULL.
+ * @cur: (out) (optional): A location in which to store the current position, or %NULL.
  *
  * Queries a pad for the stream position.
  *
@@ -2906,7 +2908,7 @@ gst_pad_query_position (GstPad * pad, GstFormat format, gint64 * cur)
  * @pad: a #GstPad on whose peer to invoke the position query on.
  *       Must be a sink pad.
  * @format: the #GstFormat requested
- * @cur: (out) (allow-none): a location in which to store the current
+ * @cur: (out) (optional): a location in which to store the current
  *     position, or %NULL.
  *
  * Queries the peer of a given sink pad for the stream position.
@@ -2937,7 +2939,7 @@ gst_pad_peer_query_position (GstPad * pad, GstFormat format, gint64 * cur)
  * gst_pad_query_duration:
  * @pad: a #GstPad to invoke the duration query on.
  * @format: the #GstFormat requested
- * @duration: (out) (allow-none): a location in which to store the total
+ * @duration: (out) (optional): a location in which to store the total
  *     duration, or %NULL.
  *
  * Queries a pad for the total stream duration.
@@ -2969,7 +2971,7 @@ gst_pad_query_duration (GstPad * pad, GstFormat format, gint64 * duration)
  * @pad: a #GstPad on whose peer pad to invoke the duration query on.
  *       Must be a sink pad.
  * @format: the #GstFormat requested
- * @duration: (out) (allow-none): a location in which to store the total
+ * @duration: (out) (optional): a location in which to store the total
  *     duration, or %NULL.
  *
  * Queries the peer pad of a given sink pad for the total stream duration.
@@ -3025,6 +3027,8 @@ gst_pad_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
     return TRUE;
   }
 
+  *dest_val = -1;
+
   query = gst_query_new_convert (src_format, src_val, dest_format);
   if ((ret = gst_pad_query (pad, query)))
     gst_query_parse_convert (query, NULL, NULL, NULL, dest_val);
@@ -3059,6 +3063,8 @@ gst_pad_peer_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
   g_return_val_if_fail (dest_format != GST_FORMAT_UNDEFINED, FALSE);
   g_return_val_if_fail (dest_val != NULL, FALSE);
 
+  *dest_val = -1;
+
   query = gst_query_new_convert (src_format, src_val, dest_format);
   if ((ret = gst_pad_peer_query (pad, query)))
     gst_query_parse_convert (query, NULL, NULL, NULL, dest_val);
@@ -3070,7 +3076,7 @@ gst_pad_peer_query_convert (GstPad * pad, GstFormat src_format, gint64 src_val,
 /**
  * gst_pad_query_caps:
  * @pad: a  #GstPad to get the capabilities of.
- * @filter: (allow-none): suggested #GstCaps, or %NULL
+ * @filter: (nullable): suggested #GstCaps, or %NULL
  *
  * Gets the capabilities this pad can produce or consume.
  * Note that this method doesn't necessarily return the caps set by sending a
@@ -3121,7 +3127,7 @@ gst_pad_query_caps (GstPad * pad, GstCaps * filter)
 /**
  * gst_pad_peer_query_caps:
  * @pad: a  #GstPad to get the capabilities of.
- * @filter: (allow-none): a #GstCaps filter, or %NULL.
+ * @filter: (nullable): a #GstCaps filter, or %NULL.
  *
  * Gets the capabilities of the peer connected to this pad. Similar to
  * gst_pad_query_caps().
@@ -3295,7 +3301,7 @@ element_find_unlinked_pad (GstElement * element, GstPadDirection direction)
  * pad when it is not needed any longer.
  *
  * Returns: (transfer full) (nullable): unlinked pad of the given
- * direction, %NULL.
+ * direction.
  */
 GstPad *
 gst_bin_find_unlinked_pad (GstBin * bin, GstPadDirection direction)
@@ -3423,7 +3429,7 @@ gst_parse_bin_from_description (const gchar * bin_description,
  * @bin_description: command line describing the bin
  * @ghost_unlinked_pads: whether to automatically create ghost pads
  *     for unlinked source or sink pads within the bin
- * @context: (transfer none) (allow-none): a parse context allocated with
+ * @context: (transfer none) (nullable): a parse context allocated with
  *     gst_parse_context_new(), or %NULL
  * @flags: parsing options, or #GST_PARSE_FLAG_NONE
  * @err: where to store the error message in case of an error, or %NULL
@@ -4047,7 +4053,7 @@ gst_pad_create_stream_id_internal (GstPad * pad, GstElement * parent,
  * gst_pad_create_stream_id_printf_valist:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
- * @stream_id: (allow-none): The stream-id
+ * @stream_id: (nullable): The stream-id
  * @var_args: parameters for the @stream_id format string
  *
  * Creates a stream-id for the source #GstPad @pad by combining the
@@ -4086,7 +4092,7 @@ gst_pad_create_stream_id_printf_valist (GstPad * pad, GstElement * parent,
  * gst_pad_create_stream_id_printf:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
- * @stream_id: (allow-none): The stream-id
+ * @stream_id: (nullable): The stream-id
  * @...: parameters for the @stream_id format string
  *
  * Creates a stream-id for the source #GstPad @pad by combining the
@@ -4124,7 +4130,7 @@ gst_pad_create_stream_id_printf (GstPad * pad, GstElement * parent,
  * gst_pad_create_stream_id:
  * @pad: A source #GstPad
  * @parent: Parent #GstElement of @pad
- * @stream_id: (allow-none): The stream-id
+ * @stream_id: (nullable): The stream-id
  *
  * Creates a stream-id for the source #GstPad @pad by combining the
  * upstream information with the optional @stream_id of the stream
@@ -4547,7 +4553,7 @@ gst_type_mark_as_plugin_api (GType type, GstPluginAPIFlags flags)
 /**
  * gst_type_is_plugin_api:
  * @type: a GType
- * @flags: (out) (nullable): What #GstPluginAPIFlags the plugin was marked with
+ * @flags: (out) (optional): What #GstPluginAPIFlags the plugin was marked with
  *
  * Checks if @type is plugin API. See gst_type_mark_as_plugin_api() for
  * details.
diff --git a/gst/gstvalue.c b/gst/gstvalue.c
index 72c7187..cf256fc 100644
--- a/gst/gstvalue.c
+++ b/gst/gstvalue.c
@@ -98,9 +98,9 @@ static void gst_value_register_subtract_func (GType minuend_type,
     GType subtrahend_type, GstValueSubtractFunc func);
 
 static gboolean _priv_gst_value_parse_list (gchar * s, gchar ** after,
-    GValue * value, GType type);
+    GValue * value, GType type, GParamSpec * pspec);
 static gboolean _priv_gst_value_parse_array (gchar * s, gchar ** after,
-    GValue * value, GType type);
+    GValue * value, GType type, GParamSpec * pspec);
 
 typedef struct _GstValueUnionInfo GstValueUnionInfo;
 struct _GstValueUnionInfo
@@ -294,7 +294,7 @@ _gst_value_list_init (GValue * value, guint prealloc)
  * @value: A zero-filled (uninitialized) #GValue structure
  * @prealloc: The number of entries to pre-allocate in the list
  *
- * Initializes and pre-allocates a #GValue of type #GST_VALUE_LIST.
+ * Initializes and pre-allocates a #GValue of type #GST_TYPE_LIST.
  *
  * Returns: (transfer none): The #GValue structure that has been passed in
  *
@@ -325,7 +325,7 @@ _gst_value_array_init (GValue * value, guint prealloc)
  * @value: A zero-filled (uninitialized) #GValue structure
  * @prealloc: The number of entries to pre-allocate in the array
  *
- * Initializes and pre-allocates a #GValue of type #GST_VALUE_ARRAY.
+ * Initializes and pre-allocates a #GValue of type #GST_TYPE_ARRAY.
  *
  * Returns: (transfer none): The #GValue structure that has been passed in
  *
@@ -348,7 +348,7 @@ gst_value_array_init (GValue * value, guint prealloc)
  */
 gchar *
 _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin,
-    const gchar * end, gboolean print_type)
+    const gchar * end, gboolean print_type, GstSerializeFlags flags)
 {
   guint i;
   GstValueList *vlist = value->data[0].v_pointer;
@@ -361,21 +361,36 @@ _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin,
   s = g_string_sized_new (2 + (6 * alen) + 2);
   g_string_append (s, begin);
   for (i = 0; i < alen; i++) {
+    gboolean nested_structs_brackets;
     v = &vlist->fields[i];
-    s_val = gst_value_serialize (v);
+    nested_structs_brackets = !(flags & GST_SERIALIZE_FLAG_BACKWARD_COMPAT)
+        && (GST_VALUE_HOLDS_STRUCTURE (v) || GST_VALUE_HOLDS_CAPS (v));
+    if (!nested_structs_brackets) {
+      s_val = gst_value_serialize (v);
+    } else {
+      if (GST_VALUE_HOLDS_STRUCTURE (v))
+        s_val = gst_structure_serialize (gst_value_get_structure (v), flags);
+      else if (GST_VALUE_HOLDS_CAPS (v))
+        s_val = gst_caps_serialize (gst_value_get_caps (v), flags);
+    }
     if (s_val != NULL) {
       if (print_type) {
         g_string_append_c (s, '(');
         g_string_append (s, _priv_gst_value_gtype_to_abbr (G_VALUE_TYPE (v)));
         g_string_append_c (s, ')');
       }
+
+      if (nested_structs_brackets)
+        g_string_append_c (s, '[');
       g_string_append (s, s_val);
+      if (nested_structs_brackets)
+        g_string_append_c (s, ']');
       g_free (s_val);
       if (i < alen - 1) {
         g_string_append_len (s, ", ", 2);
       }
     } else {
-      GST_WARNING ("Could not serialize list/array value of type '%s'",
+      g_critical ("Could not serialize list/array value of type '%s'",
           G_VALUE_TYPE_NAME (v));
     }
   }
@@ -442,7 +457,7 @@ _gst_value_serialize_g_value_array (const GValue * value, const gchar * begin,
         g_string_append_len (s, ", ", 2);
       }
     } else {
-      GST_WARNING ("Could not serialize list/array value of type '%s'",
+      g_critical ("Could not serialize list/array value of type '%s'",
           G_VALUE_TYPE_NAME (v));
     }
   }
@@ -1240,27 +1255,31 @@ gst_value_compare_g_value_array (const GValue * value1, const GValue * value2)
 static gchar *
 gst_value_serialize_value_list (const GValue * value)
 {
-  return _priv_gst_value_serialize_any_list (value, "{ ", " }", TRUE);
+  return _priv_gst_value_serialize_any_list (value, "{ ", " }", TRUE,
+      GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
 }
 
 static gboolean
-gst_value_deserialize_value_list (GValue * dest, const gchar * s)
+gst_value_deserialize_value_list (GValue * dest, const gchar * s,
+    GParamSpec * pspec)
 {
   gchar *s2 = (gchar *) s;
-  return _priv_gst_value_parse_list (s2, &s2, dest, G_TYPE_INVALID);
+  return _priv_gst_value_parse_list (s2, &s2, dest, G_TYPE_INVALID, pspec);
 }
 
 static gchar *
 gst_value_serialize_value_array (const GValue * value)
 {
-  return _priv_gst_value_serialize_any_list (value, "< ", " >", TRUE);
+  return _priv_gst_value_serialize_any_list (value, "< ", " >", TRUE,
+      GST_SERIALIZE_FLAG_BACKWARD_COMPAT);
 }
 
 static gboolean
-gst_value_deserialize_value_array (GValue * dest, const gchar * s)
+gst_value_deserialize_value_array (GValue * dest, const gchar * s,
+    GParamSpec * pspec)
 {
   gchar *s2 = (gchar *) s;
-  return _priv_gst_value_parse_array (s2, &s2, dest, G_TYPE_INVALID);
+  return _priv_gst_value_parse_array (s2, &s2, dest, G_TYPE_INVALID, pspec);
 }
 
 static gchar *
@@ -2241,6 +2260,8 @@ gst_value_deserialize_caps (GValue * dest, const gchar * s)
   GstCaps *caps;
 
   if (*s != '"') {
+    /* this can happen if caps are ANY, EMPTY, or only contains a single
+     * empty structure */
     caps = gst_caps_from_string (s);
   } else {
     gchar *str = gst_string_unwrap (s);
@@ -2267,7 +2288,7 @@ static GstValueAbbreviation *
 _priv_gst_value_get_abbrs (gint * n_abbrs)
 {
   static GstValueAbbreviation *abbrs = NULL;
-  static volatile gsize num = 0;
+  static gsize num = 0;
 
   if (g_once_init_enter (&num)) {
     /* dynamically generate the array */
@@ -2311,6 +2332,8 @@ _priv_gst_value_get_abbrs (gint * n_abbrs)
       ,
       {"datetime", GST_TYPE_DATE_TIME}
       ,
+      {"gdatetime", G_TYPE_DATE_TIME}
+      ,
       {"bitmask", GST_TYPE_BITMASK}
       ,
       {"flagset", GST_TYPE_FLAG_SET}
@@ -2469,23 +2492,23 @@ _priv_gst_value_parse_range (gchar * s, gchar ** after, GValue * value,
     return FALSE;
   s++;
 
-  ret = _priv_gst_value_parse_value (s, &s, &value1, type);
+  ret = _priv_gst_value_parse_value (s, &s, &value1, type, NULL);
   if (!ret)
-    return FALSE;
+    goto err;
 
   while (g_ascii_isspace (*s))
     s++;
 
   if (*s != ',')
-    return FALSE;
+    goto err;
   s++;
 
   while (g_ascii_isspace (*s))
     s++;
 
-  ret = _priv_gst_value_parse_value (s, &s, &value2, type);
+  ret = _priv_gst_value_parse_value (s, &s, &value2, type, NULL);
   if (!ret)
-    return FALSE;
+    goto err;
 
   while (g_ascii_isspace (*s))
     s++;
@@ -2499,9 +2522,9 @@ _priv_gst_value_parse_range (gchar * s, gchar ** after, GValue * value,
       while (g_ascii_isspace (*s))
         s++;
 
-      ret = _priv_gst_value_parse_value (s, &s, &value3, type);
+      ret = _priv_gst_value_parse_value (s, &s, &value3, type, NULL);
       if (!ret)
-        return FALSE;
+        goto err;
 
       while (g_ascii_isspace (*s))
         s++;
@@ -2511,7 +2534,7 @@ _priv_gst_value_parse_range (gchar * s, gchar ** after, GValue * value,
   }
 
   if (*s != ']')
-    return FALSE;
+    goto err;
   s++;
 
   if (G_VALUE_TYPE (&value1) != G_VALUE_TYPE (&value2))
@@ -2553,20 +2576,31 @@ _priv_gst_value_parse_range (gchar * s, gchar ** after, GValue * value,
     g_value_init (value, range_type);
     gst_value_set_fraction_range (value, &value1, &value2);
   } else {
-    return FALSE;
+    goto err;
   }
 
   *after = s;
   return TRUE;
+
+err:
+  g_value_unset (value);
+  g_value_unset (&value1);
+  g_value_unset (&value2);
+  g_value_unset (&value3);
+  return FALSE;
 }
 
 static gboolean
 _priv_gst_value_parse_any_list (gchar * s, gchar ** after, GValue * value,
-    GType type, char begin, char end)
+    GType type, char begin, char end, GParamSpec * pspec)
 {
   GValue list_value = { 0 };
   gboolean ret;
   GstValueList *vlist = VALUE_LIST_ARRAY (value);
+  GParamSpec *element_spec = NULL;
+
+  if (pspec)
+    element_spec = GST_PARAM_SPEC_ARRAY_LIST (pspec)->element_spec;
 
   if (*s != begin)
     return FALSE;
@@ -2588,7 +2622,8 @@ _priv_gst_value_parse_any_list (gchar * s, gchar ** after, GValue * value,
     }
 
     memset (&list_value, 0, sizeof (list_value));
-    ret = _priv_gst_value_parse_value (s, &s, &list_value, type);
+
+    ret = _priv_gst_value_parse_value (s, &s, &list_value, type, element_spec);
     if (!ret)
       return FALSE;
 
@@ -2609,16 +2644,18 @@ _priv_gst_value_parse_any_list (gchar * s, gchar ** after, GValue * value,
 
 static gboolean
 _priv_gst_value_parse_list (gchar * s, gchar ** after, GValue * value,
-    GType type)
+    GType type, GParamSpec * pspec)
 {
-  return _priv_gst_value_parse_any_list (s, after, value, type, '{', '}');
+  return _priv_gst_value_parse_any_list (s, after, value, type, '{', '}',
+      pspec);
 }
 
 static gboolean
 _priv_gst_value_parse_array (gchar * s, gchar ** after, GValue * value,
-    GType type)
+    GType type, GParamSpec * pspec)
 {
-  return _priv_gst_value_parse_any_list (s, after, value, type, '<', '>');
+  return _priv_gst_value_parse_any_list (s, after, value, type, '<', '>',
+      pspec);
 }
 
 gboolean
@@ -2635,9 +2672,90 @@ _priv_gst_value_parse_simple_string (gchar * str, gchar ** end)
   return (s != str);
 }
 
+static gboolean
+_priv_gst_value_parse_struct_or_caps (gchar * str, gchar ** after, GType type,
+    GValue * value)
+{
+  gint openers = 1;
+  gboolean ret = FALSE;
+  gchar *s = str, t, *start, *end, *next;
+
+  if (*s != '[')
+    return FALSE;
+
+  s++;
+  str = s;
+  for (; *s; s++) {
+    if (*s == ']')
+      openers--;
+    else if (*s == '[')
+      openers++;
+
+    if (openers == 0) {
+      *after = s + 1;
+      break;
+    }
+  }
+
+  if (*after == NULL)
+    return FALSE;
+
+  t = *s;
+  *s = '\0';
+  g_value_init (value, type);
+  if (priv_gst_structure_parse_name (str, &start, &end, &next, TRUE))
+    ret = gst_value_deserialize (value, str);
+  if (G_UNLIKELY (!ret)) {
+    *s = t;
+    g_value_unset (value);
+  }
+
+  return ret;
+}
+
+static gboolean
+_priv_gst_value_parse_range_struct_caps (gchar * s, gchar ** after,
+    GValue * value, GType type)
+{
+  gint i;
+  gchar *tmp = s;
+  gboolean ret = FALSE;
+  GType try_types[] = {
+    GST_TYPE_STRUCTURE,
+    GST_TYPE_CAPS,
+  };
+
+  if (type == GST_TYPE_CAPS || type == GST_TYPE_STRUCTURE)
+    ret = _priv_gst_value_parse_struct_or_caps (tmp, &tmp, type, value);
+
+  if (ret)
+    goto ok;
+
+  tmp = s;
+  ret = _priv_gst_value_parse_range (tmp, &tmp, value, type);
+  if (ret)
+    goto ok;
+
+  if (type != G_TYPE_INVALID)
+    return ret;
+
+  for (i = 0; i < G_N_ELEMENTS (try_types); i++) {
+    tmp = s;
+    ret = _priv_gst_value_parse_struct_or_caps (tmp, &tmp, try_types[i], value);
+    if (ret)
+      goto ok;
+  }
+
+  return ret;
+
+ok:
+  *after = tmp;
+  return ret;
+}
+
 gboolean
 _priv_gst_value_parse_value (gchar * str,
-    gchar ** after, GValue * value, GType default_type)
+    gchar ** after, GValue * value, GType default_type, GParamSpec * pspec)
 {
   gchar *type_name;
   gchar *type_end;
@@ -2654,6 +2772,7 @@ _priv_gst_value_parse_value (gchar * str,
 
   /* check if there's a (type_name) 'cast' */
   type_name = NULL;
+
   if (*s == '(') {
     s++;
     while (g_ascii_isspace (*s))
@@ -2680,18 +2799,20 @@ _priv_gst_value_parse_value (gchar * str,
       GST_WARNING ("invalid type");
       return FALSE;
     }
+  } else if (pspec) {
+    type = G_PARAM_SPEC_VALUE_TYPE (pspec);
   }
 
   while (g_ascii_isspace (*s))
     s++;
   if (*s == '[') {
-    ret = _priv_gst_value_parse_range (s, &s, value, type);
+    ret = _priv_gst_value_parse_range_struct_caps (s, &s, value, type);
   } else if (*s == '{') {
     g_value_init (value, GST_TYPE_LIST);
-    ret = _priv_gst_value_parse_list (s, &s, value, type);
+    ret = _priv_gst_value_parse_list (s, &s, value, type, pspec);
   } else if (*s == '<') {
     g_value_init (value, GST_TYPE_ARRAY);
-    ret = _priv_gst_value_parse_array (s, &s, value, type);
+    ret = _priv_gst_value_parse_array (s, &s, value, type, pspec);
   } else {
     value_s = s;
 
@@ -2701,29 +2822,54 @@ _priv_gst_value_parse_value (gchar * str,
         G_TYPE_BOOLEAN, G_TYPE_STRING
       };
       int i;
+      int value_size;
+      gboolean check_wrapped_non_string;
 
-      if (G_UNLIKELY (!_priv_gst_value_parse_string (s, &value_end, &s, TRUE)))
+      if (G_UNLIKELY (!_priv_gst_value_parse_string (s, &value_end, &s, FALSE)))
         return FALSE;
       /* Set NULL terminator for deserialization */
+      value_size = value_end - value_s;
       value_s = g_strndup (value_s, value_end - value_s);
+      /* Keep old broken behavior where "2" could be interpretted as an int */
+      check_wrapped_non_string = value_s[0] == '"' &&
+          strlen (value_s) >= 2 && value_end[-1] == '"';
 
       for (i = 0; i < G_N_ELEMENTS (try_types); i++) {
         g_value_init (value, try_types[i]);
-        ret = gst_value_deserialize (value, value_s);
-        if (ret)
-          break;
+        if (try_types[i] != G_TYPE_STRING && check_wrapped_non_string) {
+          value_s[value_size - 1] = '\0';
+          ret = gst_value_deserialize (value, value_s + 1);
+          value_s[value_size - 1] = '"';
+          if (ret) {
+            const gchar *type_name = g_type_name (try_types[i]);
+
+            g_warning ("Received a structure string that contains "
+                "'=%s'. Reading as a %s value, rather than a string "
+                "value. This is undesired behaviour, and with GStreamer 1.22 "
+                " onward, this will be interpreted as a string value instead "
+                "because it is wrapped in '\"' quotes. If you want to "
+                "guarantee this value is read as a string, before this "
+                "change, use '=(string)%s' instead. If you want to read "
+                "in a %s value, leave its value unquoted.",
+                value_s, type_name, value_s, type_name);
+            break;
+          }
+        } else {
+          ret = gst_value_deserialize (value, value_s);
+          if (ret)
+            break;
+        }
         g_value_unset (value);
       }
     } else {
       g_value_init (value, type);
 
-      if (G_UNLIKELY (!_priv_gst_value_parse_string (s, &value_end, &s,
-                  (type != G_TYPE_STRING))))
+      if (G_UNLIKELY (!_priv_gst_value_parse_string (s, &value_end, &s, FALSE)))
         return FALSE;
       /* Set NULL terminator for deserialization */
       value_s = g_strndup (value_s, value_end - value_s);
 
-      ret = gst_value_deserialize (value, value_s);
+      ret = gst_value_deserialize_with_pspec (value, value_s, pspec);
       if (G_UNLIKELY (!ret))
         g_value_unset (value);
     }
@@ -2778,14 +2924,32 @@ gst_value_serialize_segment (const GValue * value)
 }
 
 static gboolean
-gst_value_deserialize_segment (GValue * dest, const gchar * s)
+gst_value_deserialize_segment_internal (GValue * dest, const gchar * s,
+    gboolean unescape)
 {
   GstStructure *str;
   GstSegment seg;
   gboolean res;
+  gsize len;
+  gchar *t;
 
-  str = gst_structure_from_string (s, NULL);
-  if (str == NULL)
+  if (unescape) {
+    len = strlen (s);
+    if (G_UNLIKELY (*s != '"' || len < 2 || s[len - 1] != '"')) {
+      /* "\"" is not an accepted string, so len must be at least 2 */
+      GST_ERROR ("Failed deserializing segement: expected string to start and "
+          "end with '\"'");
+      return FALSE;
+    }
+    t = g_strdup (s + 1);
+    t[len - 2] = '\0';
+    /* removed trailing '"' */
+    str = gst_structure_from_string (t, NULL);
+    g_free (t);
+  } else {
+    str = gst_structure_from_string (s, NULL);
+  }
+  if (G_UNLIKELY (str == NULL))
     return FALSE;
 
   res = gst_structure_id_get (str,
@@ -2808,6 +2972,12 @@ gst_value_deserialize_segment (GValue * dest, const gchar * s)
   return res;
 }
 
+static gboolean
+gst_value_deserialize_segment (GValue * dest, const gchar * s)
+{
+  return gst_value_deserialize_segment_internal (dest, s, TRUE);
+}
+
 /****************
  * GstStructure *
  ****************/
@@ -2852,6 +3022,8 @@ gst_value_serialize_structure (const GValue * value)
   GstStructure *structure = g_value_get_boxed (value);
 
   return priv_gst_string_take_and_wrap (gst_structure_to_string (structure));
+  /* string should always end up being wrapped, since a structure string
+   * ends in a ';' character */
 }
 
 static gboolean
@@ -2860,6 +3032,14 @@ gst_value_deserialize_structure (GValue * dest, const gchar * s)
   GstStructure *structure;
 
   if (*s != '"') {
+    /* the output of gst_value_serialize_structure would never produce
+     * such a string, but a user may pass to gst_structure_from_string
+     * the string:
+     *     name, sub=(GstStructure)sub-name, val=(int)5;
+     * and expect sub to be read as an *empty* structure with the name
+     * sub-name. Similar to
+     *     name, caps=(GstCaps)video/x-raw, val=(int)5;
+     * which gst_structure_to_string can produce. */
     structure = gst_structure_from_string (s, NULL);
   } else {
     gchar *str = gst_string_unwrap (s);
@@ -2948,6 +3128,9 @@ gst_value_deserialize_caps_features (GValue * dest, const gchar * s)
   GstCapsFeatures *features;
 
   if (*s != '"') {
+    /* This can happen if gst_caps_features_to_string only returns
+     * ALL, NONE, or a single features name, which means it is not
+     * actually wrapped by priv_gst_string_take_and_wrap */
     features = gst_caps_features_from_string (s);
   } else {
     gchar *str = gst_string_unwrap (s);
@@ -2986,6 +3169,13 @@ gst_value_deserialize_tag_list (GValue * dest, const gchar * s)
   GstTagList *taglist;
 
   if (*s != '"') {
+    /* the output of gst_value_serialize_tag_list would never produce
+     * such a string, but a user may pass to gst_structure_from_string
+     * the string:
+     *     name, list=(GstTagList)taglist, val=(int)5;
+     * and expect list to be read as an *empty* tag list. Similar to
+     *     name, caps=(GstCaps)video/x-raw, val=(int)5;
+     * which gst_structure_to_string can produce. */
     taglist = gst_tag_list_new_from_string (s);
   } else {
     gchar *str = gst_string_unwrap (s);
@@ -3010,6 +3200,8 @@ gst_value_serialize_tag_list (const GValue * value)
   GstTagList *taglist = g_value_get_boxed (value);
 
   return priv_gst_string_take_and_wrap (gst_tag_list_to_string (taglist));
+  /* string should always end up being wrapped, since a taglist (structure)
+   * string ends in a ';' character */
 }
 
 
@@ -3267,7 +3459,7 @@ gst_value_deserialize_sample (GValue * dest, const gchar * s)
     g_strdelimit (fields[2], "_", '=');
     g_base64_decode_inplace (fields[2], &outlen);
     GST_TRACE ("segment : %s", fields[2]);
-    if (!gst_value_deserialize_segment (&sval, fields[2]))
+    if (!gst_value_deserialize_segment_internal (&sval, fields[2], FALSE))
       goto fail;
   }
 
@@ -3784,13 +3976,13 @@ gst_string_unwrap (const gchar * s)
         /* if we run into a \0 here, we definitely won't get a quote later */
         if (*read == 0)
           goto beach;
-
         /* else copy \X sequence */
         *write++ = *read++;
       }
-    } else {
-      /* weird character, error */
+    } else if (*read == '\0') {
       goto beach;
+    } else {
+      *write++ = *read++;
     }
   }
   /* if the string is not ending in " and zero terminated, we error */
@@ -3828,6 +4020,10 @@ gst_value_deserialize_string (GValue * dest, const gchar * s)
     gchar *str = gst_string_unwrap (s);
     if (G_UNLIKELY (!str))
       return FALSE;
+    if (!g_utf8_validate (str, -1, NULL)) {
+      g_free (str);
+      return FALSE;
+    }
     g_value_take_string (dest, str);
   }
 
@@ -4001,15 +4197,23 @@ gst_value_serialize_gflags (const GValue * value)
   result = g_strdup ("");
   while (flags) {
     fl = g_flags_get_first_value (klass, flags);
-    if (fl != NULL) {
-      tmp = g_strconcat (result, (first ? "" : "+"), fl->value_name, NULL);
-      g_free (result);
-      result = tmp;
-      first = FALSE;
-
-      /* clear flag */
-      flags &= ~fl->value;
+    if (fl == NULL) {
+      if (flags) {
+        g_critical ("Could not serialize invalid flags 0x%x of type %s",
+            flags, G_VALUE_TYPE_NAME (value));
+        g_free (result);
+        result = g_strdup ("0");
+      }
+      break;
     }
+
+    tmp = g_strconcat (result, (first ? "" : "+"), fl->value_name, NULL);
+    g_free (result);
+    result = tmp;
+    first = FALSE;
+
+    /* clear flag */
+    flags &= ~fl->value;
   }
   g_type_class_unref (klass);
 
@@ -6437,19 +6641,80 @@ gst_value_deserialize (GValue * dest, const gchar * src)
   type = G_VALUE_TYPE (dest);
 
   best = gst_value_hash_lookup_type (type);
-  if (G_UNLIKELY (!best || !best->deserialize)) {
+  if (G_UNLIKELY (!best || (!best->deserialize
+              && !best->deserialize_with_pspec))) {
     len = gst_value_table->len;
     best = NULL;
     for (i = 0; i < len; i++) {
       table = &g_array_index (gst_value_table, GstValueTable, i);
-      if (table->deserialize && g_type_is_a (type, table->type)) {
+      if ((table->deserialize || table->deserialize_with_pspec) &&
+          g_type_is_a (type, table->type)) {
         if (!best || g_type_is_a (table->type, best->type))
           best = table;
       }
     }
   }
-  if (G_LIKELY (best))
-    return best->deserialize (dest, src);
+  if (G_LIKELY (best)) {
+    if (best->deserialize_with_pspec)
+      return best->deserialize_with_pspec (dest, src, NULL);
+    else
+      return best->deserialize (dest, src);
+  }
+
+  return FALSE;
+}
+
+/**
+ * gst_value_deserialize_with_pspec:
+ * @dest: (out caller-allocates): #GValue to fill with contents of
+ *     deserialization
+ * @src: string to deserialize
+ * @pspec: (nullable): the #GParamSpec describing the expected value
+ *
+ * Tries to deserialize a string into the type specified by the given GValue.
+ * @pspec may be used to guide the deserializing of nested members.
+ * If the operation succeeds, %TRUE is returned, %FALSE otherwise.
+ *
+ * Returns: %TRUE on success
+ * Since: 1.20
+ */
+gboolean
+gst_value_deserialize_with_pspec (GValue * dest, const gchar * src,
+    GParamSpec * pspec)
+{
+  GstValueTable *table, *best;
+  guint i, len;
+  GType type;
+
+  g_return_val_if_fail (src != NULL, FALSE);
+  g_return_val_if_fail (G_IS_VALUE (dest), FALSE);
+
+  if (pspec)
+    g_return_val_if_fail (G_VALUE_TYPE (dest) ==
+        G_PARAM_SPEC_VALUE_TYPE (pspec), FALSE);
+
+  type = G_VALUE_TYPE (dest);
+
+  best = gst_value_hash_lookup_type (type);
+  if (G_UNLIKELY (!best || (!best->deserialize
+              && !best->deserialize_with_pspec))) {
+    len = gst_value_table->len;
+    best = NULL;
+    for (i = 0; i < len; i++) {
+      table = &g_array_index (gst_value_table, GstValueTable, i);
+      if ((table->deserialize || table->deserialize_with_pspec) &&
+          g_type_is_a (type, table->type)) {
+        if (!best || g_type_is_a (table->type, best->type))
+          best = table;
+      }
+    }
+  }
+  if (G_LIKELY (best)) {
+    if (best->deserialize_with_pspec)
+      return best->deserialize_with_pspec (dest, src, pspec);
+    else
+      return best->deserialize (dest, src);
+  }
 
   return FALSE;
 }
@@ -7020,9 +7285,9 @@ gst_value_deserialize_date (GValue * dest, const gchar * s)
   return TRUE;
 }
 
-/*************
+/***************
  * GstDateTime *
- *************/
+ ***************/
 
 static gint
 gst_value_compare_date_time (const GValue * value1, const GValue * value2)
@@ -7085,6 +7350,109 @@ gst_value_transform_string_date (const GValue * src_value, GValue * dest_value)
   gst_value_deserialize_date (dest_value, src_value->data[0].v_pointer);
 }
 
+/*************
+ * GDateTime *
+ *************/
+
+static gint
+gst_value_compare_g_date_time (const GValue * value1, const GValue * value2)
+{
+  const GDateTime *date1 = (const GDateTime *) g_value_get_boxed (value1);
+  const GDateTime *date2 = (const GDateTime *) g_value_get_boxed (value2);
+
+  if (date1 == date2)
+    return GST_VALUE_EQUAL;
+
+  if ((date1 == NULL) && (date2 != NULL)) {
+    return GST_VALUE_LESS_THAN;
+  }
+  if ((date2 == NULL) && (date1 != NULL)) {
+    return GST_VALUE_LESS_THAN;
+  }
+
+  return g_date_time_compare (date1, date2);
+}
+
+static gchar *
+gst_value_serialize_g_date_time (const GValue * val)
+{
+  GDateTime *date = (GDateTime *) g_value_get_boxed (val);
+
+  if (date == NULL)
+    return g_strdup ("null");
+
+  return g_date_time_format_iso8601 (date);
+}
+
+static gboolean
+gst_value_deserialize_g_date_time (GValue * dest, const gchar * s)
+{
+  GDateTime *datetime;
+
+  if (!s || strcmp (s, "null") == 0) {
+    return FALSE;
+  }
+
+  /* The Gstreamer iso8601 parser is a bit more forgiving */
+  datetime =
+      gst_date_time_to_g_date_time (gst_date_time_new_from_iso8601_string (s));
+  if (datetime != NULL) {
+    g_value_take_boxed (dest, datetime);
+    return TRUE;
+  }
+  GST_WARNING ("Failed to deserialize date time string '%s' to GLibDateTime",
+      s);
+  return FALSE;
+}
+
+/*********
+ * bytes *
+ *********/
+
+static gint
+gst_value_compare_bytes (const GValue * value1, const GValue * value2)
+{
+  GBytes *bytes1 = (GBytes *) g_value_get_boxed (value1);
+  GBytes *bytes2 = (GBytes *) g_value_get_boxed (value2);
+
+  if (G_UNLIKELY (!bytes1 || !bytes2)) {
+    if (bytes1 == bytes2)
+      return GST_VALUE_EQUAL;
+    else
+      return GST_VALUE_UNORDERED;
+  }
+
+  return g_bytes_compare (bytes1, bytes2);
+}
+
+static gchar *
+gst_value_serialize_bytes (const GValue * value)
+{
+  GBytes *bytes = (GBytes *) g_value_get_boxed (value);
+  gsize len = 0;
+  const guint8 *data;
+
+  data = bytes ? g_bytes_get_data (bytes, &len) : NULL;
+
+  return g_base64_encode (data, len);
+}
+
+static gboolean
+gst_value_deserialize_bytes (GValue * dest, const gchar * s)
+{
+  gsize len;
+  guint8 *data;
+
+  if (!s) {
+    g_value_set_boxed (dest, g_bytes_new (NULL, 0));
+    return TRUE;
+  }
+
+  data = g_base64_decode (s, &len);
+  g_value_set_boxed (dest, g_bytes_new_take (data, len));
+  return TRUE;
+}
+
 
 /************
  * bitmask *
@@ -7480,12 +7848,12 @@ try_as_flags_string:
     if (end != NULL) {
       gchar *class_name = g_strndup (set_class, end - set_class);
       GType flags_type = g_type_from_name (class_name);
-      if (flags_type == 0) {
+      if (flags_type == G_TYPE_INVALID) {
         GST_TRACE ("Looking for dynamic type %s", class_name);
         gst_dynamic_type_factory_load (class_name);
       }
 
-      if (flags_type != 0) {
+      if (flags_type != G_TYPE_INVALID) {
         flags_klass = g_type_class_ref (flags_type);
         GST_TRACE ("Going to parse %s as %s", s, class_name);
       }
@@ -7617,7 +7985,7 @@ GType _gst_ ## type ## _type = 0;                               \
                                                                 \
 GType gst_ ## type ## _get_type (void)                          \
 {                                                               \
-  static volatile GType gst_ ## type ## _type = 0;              \
+  static GType gst_ ## type ## _type = 0;              \
                                                                 \
   if (g_once_init_enter (&gst_ ## type ## _type)) {             \
     GType _type;                                                \
@@ -7748,7 +8116,8 @@ gst_g_thread_get_type (void)
   return G_TYPE_THREAD;
 }
 
-#define SERIAL_VTABLE(t,c,s,d) { t, c, s, d }
+#define SERIAL_VTABLE(t,c,s,d) { t, c, s, d, NULL }
+#define SERIAL_VTABLE_PSPEC(t,c,s,d) { t, c, s, NULL, d }
 
 #define REGISTER_SERIALIZATION_CONST(_gtype, _type)                     \
 G_STMT_START {                                                          \
@@ -7767,6 +8136,15 @@ G_STMT_START {                                                          \
   gst_value_register (&gst_value);                                      \
 } G_STMT_END
 
+#define REGISTER_SERIALIZATION_WITH_PSPEC(_gtype, _type)                \
+G_STMT_START {                                                          \
+  static GstValueTable gst_value =                                      \
+    SERIAL_VTABLE_PSPEC (0, gst_value_compare_ ## _type,                \
+    gst_value_serialize_ ## _type, gst_value_deserialize_ ## _type);    \
+  gst_value.type = _gtype;                                              \
+  gst_value_register (&gst_value);                                      \
+} G_STMT_END
+
 #define REGISTER_SERIALIZATION_NO_COMPARE(_gtype, _type)                \
 G_STMT_START {                                                          \
   static GstValueTable gst_value =                                      \
@@ -7811,8 +8189,6 @@ _priv_gst_value_initialize (void)
   REGISTER_SERIALIZATION (gst_int64_range_get_type (), int64_range);
   REGISTER_SERIALIZATION (gst_double_range_get_type (), double_range);
   REGISTER_SERIALIZATION (gst_fraction_range_get_type (), fraction_range);
-  REGISTER_SERIALIZATION (gst_value_list_get_type (), value_list);
-  REGISTER_SERIALIZATION (gst_value_array_get_type (), value_array);
   REGISTER_SERIALIZATION (g_value_array_get_type (), g_value_array);
   REGISTER_SERIALIZATION (gst_buffer_get_type (), buffer);
   REGISTER_SERIALIZATION (gst_sample_get_type (), sample);
@@ -7820,7 +8196,9 @@ _priv_gst_value_initialize (void)
   REGISTER_SERIALIZATION (gst_caps_get_type (), caps);
   REGISTER_SERIALIZATION (gst_tag_list_get_type (), tag_list);
   REGISTER_SERIALIZATION (G_TYPE_DATE, date);
+  REGISTER_SERIALIZATION (G_TYPE_BYTES, bytes);
   REGISTER_SERIALIZATION (gst_date_time_get_type (), date_time);
+  REGISTER_SERIALIZATION (G_TYPE_DATE_TIME, g_date_time);
   REGISTER_SERIALIZATION (gst_bitmask_get_type (), bitmask);
   REGISTER_SERIALIZATION (gst_structure_get_type (), structure);
   REGISTER_SERIALIZATION (gst_flagset_get_type (), flagset);
@@ -7855,6 +8233,9 @@ _priv_gst_value_initialize (void)
 
   REGISTER_SERIALIZATION (G_TYPE_GTYPE, gtype);
 
+  REGISTER_SERIALIZATION_WITH_PSPEC (gst_value_list_get_type (), value_list);
+  REGISTER_SERIALIZATION_WITH_PSPEC (gst_value_array_get_type (), value_array);
+
   g_value_register_transform_func (GST_TYPE_INT_RANGE, G_TYPE_STRING,
       gst_value_transform_int_range_string);
   g_value_register_transform_func (GST_TYPE_INT64_RANGE, G_TYPE_STRING,
@@ -7947,9 +8328,8 @@ _priv_gst_value_initialize (void)
       GST_TYPE_FRACTION_RANGE,
       gst_value_subtract_fraction_range_fraction_range);
 
-  /* see bug #317246, #64994, #65041 */
   {
-    volatile GType date_type = G_TYPE_DATE;
+    GType date_type = G_TYPE_DATE;
 
     g_type_name (date_type);
   }
diff --git a/gst/gstvalue.h b/gst/gstvalue.h
index 9730d79..1802904 100644
--- a/gst/gstvalue.h
+++ b/gst/gstvalue.h
@@ -93,119 +93,119 @@ G_BEGIN_DECLS
  * GST_VALUE_HOLDS_INT_RANGE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_INT_RANGE value.
+ * Checks if the given #GValue contains a #GstIntRange value.
  */
-#define GST_VALUE_HOLDS_INT_RANGE(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_int_range_type)
+#define GST_VALUE_HOLDS_INT_RANGE(x)      ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_int_range_type)
 
 /**
  * GST_VALUE_HOLDS_INT64_RANGE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value.
+ * Checks if the given #GValue contains a #GstInt64Range value.
  */
-#define GST_VALUE_HOLDS_INT64_RANGE(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_int64_range_type)
+#define GST_VALUE_HOLDS_INT64_RANGE(x)    ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_int64_range_type)
 
 /**
  * GST_VALUE_HOLDS_DOUBLE_RANGE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_DOUBLE_RANGE value.
+ * Checks if the given #GValue contains a #GstDoubleRange value.
  */
-#define GST_VALUE_HOLDS_DOUBLE_RANGE(x)   ((x) != NULL && G_VALUE_TYPE(x) == _gst_double_range_type)
+#define GST_VALUE_HOLDS_DOUBLE_RANGE(x)   ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_double_range_type)
 
 /**
  * GST_VALUE_HOLDS_FRACTION_RANGE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_FRACTION_RANGE value.
+ * Checks if the given #GValue contains a #GstFractionRange value.
  */
-#define GST_VALUE_HOLDS_FRACTION_RANGE(x) ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_range_type)
+#define GST_VALUE_HOLDS_FRACTION_RANGE(x) ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_range_type)
 
 /**
  * GST_VALUE_HOLDS_LIST:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_LIST value.
+ * Checks if the given #GValue contains a #GstValueList value.
  */
-#define GST_VALUE_HOLDS_LIST(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_list_type)
+#define GST_VALUE_HOLDS_LIST(x)         ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_value_list_type)
 
 /**
  * GST_VALUE_HOLDS_ARRAY:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_ARRAY value.
+ * Checks if the given #GValue contains a #GstValueArray value.
  */
-#define GST_VALUE_HOLDS_ARRAY(x)        ((x) != NULL && G_VALUE_TYPE(x) == _gst_value_array_type)
+#define GST_VALUE_HOLDS_ARRAY(x)        ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_value_array_type)
 
 /**
  * GST_VALUE_HOLDS_CAPS:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_CAPS value.
+ * Checks if the given #GValue contains a #GstCaps value.
  */
-#define GST_VALUE_HOLDS_CAPS(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_caps_type)
+#define GST_VALUE_HOLDS_CAPS(x)         ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_caps_type)
 
 /**
  * GST_VALUE_HOLDS_STRUCTURE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value.
+ * Checks if the given #GValue contains a #GstStructure value.
  */
-#define GST_VALUE_HOLDS_STRUCTURE(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_structure_type)
+#define GST_VALUE_HOLDS_STRUCTURE(x)      ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_structure_type)
 
 /**
  * GST_VALUE_HOLDS_CAPS_FEATURES:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value.
+ * Checks if the given #GValue contains a #GstCapsFeatures value.
  */
-#define GST_VALUE_HOLDS_CAPS_FEATURES(x)         ((x) != NULL && G_VALUE_TYPE(x) == _gst_caps_features_type)
+#define GST_VALUE_HOLDS_CAPS_FEATURES(x)  ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_caps_features_type)
 
 /**
  * GST_VALUE_HOLDS_BUFFER:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_BUFFER value.
+ * Checks if the given #GValue contains a #GstBuffer value.
  */
-#define GST_VALUE_HOLDS_BUFFER(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_buffer_type)
+#define GST_VALUE_HOLDS_BUFFER(x)       ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_buffer_type)
 
 /**
  * GST_VALUE_HOLDS_SAMPLE:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_SAMPLE value.
+ * Checks if the given #GValue contains a #GstSample value.
  */
-#define GST_VALUE_HOLDS_SAMPLE(x)       ((x) != NULL && G_VALUE_TYPE(x) == _gst_sample_type)
+#define GST_VALUE_HOLDS_SAMPLE(x)       ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_sample_type)
 
 /**
  * GST_VALUE_HOLDS_FRACTION:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_FRACTION value.
+ * Checks if the given #GValue contains a #GstFraction value.
  */
-#define GST_VALUE_HOLDS_FRACTION(x)     ((x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_type)
+#define GST_VALUE_HOLDS_FRACTION(x)     ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_fraction_type)
 
 /**
  * GST_VALUE_HOLDS_DATE_TIME:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value.
+ * Checks if the given #GValue contains a #GstDateTime value.
  */
-#define GST_VALUE_HOLDS_DATE_TIME(x)    ((x) != NULL && G_VALUE_TYPE(x) == _gst_date_time_type)
+#define GST_VALUE_HOLDS_DATE_TIME(x)    ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_date_time_type)
 
 /**
  * GST_VALUE_HOLDS_BITMASK:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_BITMASK value.
+ * Checks if the given #GValue contains a #GstBitmask value.
  */
-#define GST_VALUE_HOLDS_BITMASK(x)      ((x) != NULL && G_VALUE_TYPE(x) == _gst_bitmask_type)
+#define GST_VALUE_HOLDS_BITMASK(x)      ((gpointer)(x) != NULL && G_VALUE_TYPE(x) == _gst_bitmask_type)
 
 /**
  * GST_VALUE_HOLDS_FLAG_SET:
  * @x: the #GValue to check
  *
- * Checks if the given #GValue contains a #GST_TYPE_FLAG_SET value.
+ * Checks if the given #GValue contains a #GstFlagSet value.
  *
  * Since: 1.6
  */
@@ -472,6 +472,22 @@ typedef gchar *  (* GstValueSerializeFunc)   (const GValue *value1);
 typedef gboolean (* GstValueDeserializeFunc) (GValue       *dest,
                                               const gchar  *s);
 
+/**
+ * GstValueDeserializeWithPSpecFunc:
+ * @dest: a #GValue
+ * @s: a string
+ * @pspec: a #GParamSpec describing the expected value
+ *
+ * Used by gst_value_deserialize_with_pspec() to parse a non-binary form into the #GValue.
+ *
+ * Returns: %TRUE for success
+ * Since: 1.20
+ */
+typedef gboolean (* GstValueDeserializeWithPSpecFunc) (GValue       *dest,
+                                                       const gchar  *s,
+                                                       GParamSpec   *pspec);
+
+
 typedef struct _GstValueTable GstValueTable;
 /**
  * GstValueTable:
@@ -479,6 +495,7 @@ typedef struct _GstValueTable GstValueTable;
  * @compare: a #GstValueCompareFunc
  * @serialize: a #GstValueSerializeFunc
  * @deserialize: a #GstValueDeserializeFunc
+ * @deserialize_with_pspec: a #GstValueDeserializeWithPSpecFunc
  *
  * VTable for the #GValue @type.
  */
@@ -488,8 +505,17 @@ struct _GstValueTable {
   GstValueSerializeFunc serialize;
   GstValueDeserializeFunc deserialize;
 
+  /**
+   * GstValueTable.deserialize_with_pspec:
+   *
+   * a #GstValueDeserializeWithPSpecFunc
+   *
+   * Since: 1.20
+   */
+  GstValueDeserializeWithPSpecFunc deserialize_with_pspec;
+
   /*< private >*/
-  gpointer _gst_reserved [GST_PADDING];
+  gpointer _gst_reserved [GST_PADDING - 1];
 };
 
 GST_API
@@ -538,6 +564,11 @@ GST_API
 gboolean        gst_value_deserialize           (GValue                *dest,
                                                  const gchar           *src);
 
+GST_API
+gboolean        gst_value_deserialize_with_pspec (GValue               *dest,
+                                                 const gchar           *src,
+                                                 GParamSpec            *pspec);
+
 /* list */
 
 GST_API
diff --git a/gst/gstversion.h.in b/gst/gstversion.h.in
index a74c2d1..b3a48c0 100644
--- a/gst/gstversion.h.in
+++ b/gst/gstversion.h.in
@@ -77,14 +77,17 @@ G_BEGIN_DECLS
  *
  * Check whether a GStreamer version equal to or greater than
  * major.minor.micro is present.
+ *
+ * Note: Since version 1.22 this macro can no longer be used to check that
+ * current git version maps to the next version. So for instance,
+ * GST_CHECK_VERSION(1, 22, 0) on a git checkout of the 1.21 development version
+ * will expand to `FALSE`.
  */
 #define	GST_CHECK_VERSION(major,minor,micro)	\
     (GST_VERSION_MAJOR > (major) || \
      (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR > (minor)) || \
      (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \
-      GST_VERSION_MICRO >= (micro)) || \
-     (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \
-      GST_VERSION_MICRO + 1 == (micro) && GST_VERSION_NANO > 0))
+      GST_VERSION_MICRO >= (micro)))
 
 G_END_DECLS
 
diff --git a/gst/meson.build b/gst/meson.build
index 7f89aa1..4293c78 100644
--- a/gst/meson.build
+++ b/gst/meson.build
@@ -1,4 +1,4 @@
-gst_sources = [
+gst_sources = files(
   'gst.c',
   'gstobject.c',
   'gstallocator.c',
@@ -71,9 +71,9 @@ gst_sources = [
   'gstutils.c',
   'gstvalue.c',
   'gstparse.c',
-]
+)
 
-gst_headers = [
+gst_headers = files(
   'gst.h',
   'glib-compat.h',
   'gstobject.h',
@@ -147,12 +147,27 @@ gst_headers = [
   'gstregistry.h',
   'gstparse.h',
   'math-compat.h',
-]
+)
+if host_system == 'darwin'
+  gst_headers += 'gstmacos.h'
+  gst_sources += 'gstmacos.m'
+endif
+
 install_headers(gst_headers, subdir : 'gstreamer-1.0/gst')
 
+extra_deps = []
+if host_system == 'android'
+  gst_sources += 'gstandroid.c'
+  extra_deps += cc.find_library('log')
+endif
+
+if host_system == 'darwin'
+  extra_deps += dependency('appleframeworks', modules : ['Cocoa'])
+endif
+
 gst_registry = get_option('registry')
 if gst_registry
-  gst_registry_sources = ['gstregistrybinary.c']
+  gst_registry_sources = files('gstregistrybinary.c')
 else
   gst_registry_sources = []
 endif
@@ -223,7 +238,7 @@ subdir('printf')
 
 libgst_c_args = gst_c_args + [
   '-D_GNU_SOURCE',
-  '-DG_LOG_DOMAIN=g_log_domain_gstreamer',
+  '-DG_LOG_DOMAIN="GStreamer"',
   '-DGST_DISABLE_DEPRECATED',
 ]
 
@@ -237,7 +252,6 @@ gst_incdirs = [configinc]
 gst_gen_sources = [gstenum_h]
 libgst = library('gstreamer-1.0', gst_sources,
   gstenum_h, gstenum_c, gst_parse_sources, gst_registry_sources,
-  objects : printf_lib.extract_all_objects(),
   version : libversion,
   soversion : soversion,
   darwin_versions : osxversion,
@@ -245,9 +259,21 @@ libgst = library('gstreamer-1.0', gst_sources,
   include_directories : [configinc,
     # HACK, change include paths in .y and .l in final version.
     include_directories('parse')],
+  link_with : printf_lib,
   install : true,
-  dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, dl_dep] + backtrace_deps
-                   + platform_deps,
+  dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, dl_dep,
+                  backtrace_deps, platform_deps, extra_deps],
+)
+
+pkg_name = 'gstreamer-1.0'
+library_def = {'lib': libgst}
+pkgconfig.generate(libgst,
+  libraries : [glib_dep, gobject_dep] + pkgconfig_libs,
+  variables : pkgconfig_variables,
+  uninstalled_variables: pkgconfig_uninstalled_variables,
+  subdirs : pkgconfig_subdirs,
+  name : pkg_name,
+  description : 'Streaming media framework',
 )
 
 if build_gir
@@ -263,19 +289,29 @@ if build_gir
   endif
 
   gst_incdirs += [configinc]
-  gst_gir = gnome.generate_gir(libgst,
-    sources : gst_sources + gst_headers + gst_enums + [gst_version_h],
-    namespace : 'Gst',
-    nsversion : apiversion,
-    identifier_prefix : 'Gst',
-    symbol_prefix : 'gst',
-    export_packages : 'gstreamer-1.0',
-    includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
-    install : true,
-    extra_args : gst_gir_extra_args,
-  )
-  gst_gen_sources += gst_gir
+  gir = {
+    'sources' : gst_sources + gst_headers + gst_enums + [gst_version_h],
+    'namespace' : 'Gst',
+    'nsversion' : apiversion,
+    'identifier_prefix' : 'Gst',
+    'symbol_prefix' : 'gst',
+    'export_packages' : pkg_name,
+    'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
+    'install' : true,
+    'extra_args' : gst_gir_extra_args,
+  }
+  library_def += {'gir': [gir]}
+  # When building statically the information about the gir is going to be
+  # consumed by `gst-build` to generate gir files linked against
+  # `libgstreamer-full-1.0.so`. We do not build it here as it is currently
+  # broken. Once that is fixed we could build it here, even though we would keep
+  # creating another gir which links against gst-full.
+  if not static_build
+    gst_gir = gnome.generate_gir(libgst, kwargs: gir)
+    gst_gen_sources += gst_gir
+  endif
 endif
+gst_libraries += [[pkg_name, library_def]]
 
 gst_compile_args = []
 if get_option('default_library') == 'static'
@@ -289,3 +325,5 @@ gst_dep = declare_dependency(link_with : libgst,
   # Everything that uses libgst needs this built to compile
   sources : gst_gen_sources,
 )
+
+meson.override_dependency(pkg_name, gst_dep)
diff --git a/gst/parse/grammar.y.in b/gst/parse/grammar.y.in
index 2ef703d..d1ed805 100644
--- a/gst/parse/grammar.y.in
+++ b/gst/parse/grammar.y.in
@@ -7,7 +7,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include "../gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include "../gstconfig.h"
 #include "../gstparse.h"
@@ -41,6 +41,7 @@
 static guint __strings;
 static guint __links;
 static guint __chains;
+static guint __elements;
 gchar *
 __gst_parse_strdup (gchar *org)
 {
@@ -96,6 +97,24 @@ __gst_parse_chain_free (chain_t *data)
   __chains--;
 }
 
+element_t *
+__gst_parse_element_new (void)
+{
+  element_t *ret;
+  __elements++;
+  ret = g_slice_new0 (element_t);
+  /* g_print ("@%p: ALLOCATED ELEMENT (%3u):\n", ret, __elements); */
+  return ret;
+}
+void
+__gst_parse_element_free (element_t *data)
+{
+  /* g_print ("@%p: FREEING ELEMENT   (%3u):\n", data, __elements - 1); */
+  g_slice_free (element_t, data);
+  g_return_if_fail (__elements > 0);
+  __elements--;
+}
+
 #endif /* __GST_PARSE_TRACE */
 
 /*******************************************************************************************
@@ -308,6 +327,33 @@ static void gst_parse_add_delayed_set (GstElement *element, gchar *name, gchar *
   }
 }
 
+static gboolean
+gst_parse_separate_prop_from_children (const gchar *name, gchar **children, gchar **property)
+{
+  static const gchar *separator = "::";
+  const gchar *prop = NULL;
+
+  g_return_val_if_fail (name, FALSE);
+  g_return_val_if_fail (children, FALSE);
+  g_return_val_if_fail (property, FALSE);
+
+  /* Given "child1::child2::prop" isolate "prop" */
+  prop = g_strrstr (name, separator);
+  if (!prop) {
+    GST_WARNING ("%s is not a valid childproxy path", name);
+    return FALSE;
+  }
+
+  /* Make a copy of prop skipping "::" */
+  *property = g_strdup (prop + 2);
+
+  /* Extract "child1::child2" from "child1::child2::prop" */
+  *children =
+    g_strndup (name, strlen (name) - strlen (prop));
+
+  return TRUE;
+}
+
 static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
     const gchar * name, gpointer data)
 {
@@ -328,7 +374,7 @@ static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
     GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, child_proxy, "parsing delayed property %s as a %s from %s",
       pspec->name, g_type_name (value_type), set->value_str);
     g_value_init (&v, value_type);
-    if (gst_value_deserialize (&v, set->value_str))
+    if (gst_value_deserialize_with_pspec (&v, set->value_str, pspec))
       got_value = TRUE;
     else if (g_type_is_a (value_type, GST_TYPE_ELEMENT)) {
        GstElement *bin;
@@ -348,10 +394,54 @@ static void gst_parse_new_child(GstChildProxy *child_proxy, GObject *object,
     const gchar *obj_name = GST_OBJECT_NAME(object);
     gint len = strlen (obj_name);
 
-    /* do a delayed set */
-    if ((strlen (set->name) > (len + 2)) && !strncmp (set->name, obj_name, len) && !strncmp (&set->name[len], "::", 2)) {
-      gst_parse_add_delayed_set (GST_ELEMENT(child_proxy), set->name, set->value_str);
+    /*
+     * We've been notified that a new child has beed added, but the
+     * property was still not found. Three things could be happening:
+     *
+     * 1. The target property is of the form obj_name::child_name::property
+     * and is for a child that does not (yet) exist:
+     *    We need to add the delayed property setting handler on that new child.
+     *
+     * 2. The target property is of the form obj_name::property or
+     * obj_name::child_name::property and the child already exists:
+     *    We warn about a nonexistent property
+     *
+     * 3. The target property is of the form other_obj_name::child_name::property
+     * or other_obj_name::property:
+     *    We ignore this case as another delayed set will catch it.
+     */
+
+    /* Cases 1,2: The child just added corresponds to this delayed set */
+    if ((strlen (set->name) > (len+2)) && !strncmp (set->name, obj_name, len)
+	&& !strncmp (&set->name[len], "::", 2)) {
+      gchar *children = NULL;
+      gchar *prop = NULL;
+      GObject *child = NULL;
+
+      if (!gst_parse_separate_prop_from_children (set->name, &children, &prop)) {
+	/* Malformed property name, ignore */
+	return;
+      }
+
+      child = gst_child_proxy_get_child_by_name_recurse (child_proxy, children);
+      g_free (children);
+      g_free (prop);
+
+      /* Case 1: A child in the hierarchy does not exist yet, add a new delayed set */
+      if (NULL == child) {
+	gst_parse_add_delayed_set (GST_ELEMENT (child_proxy), set->name, set->value_str);
+      }
+      /* Case 2: The target child exists already but there's no such property */
+      else {
+	gst_object_unref (child);
+	GST_ELEMENT_WARNING(GST_ELEMENT (child_proxy), PARSE, NO_SUCH_PROPERTY,
+          (_("No such property.")), (_("no property \"%s\" in element \"%s\""),
+        set->name, GST_ELEMENT_NAME(child_proxy)));
+      }
     }
+    /* Case 3: The child just added does not correspond to this delayed set, just ignore
+     * else { }
+     */
   }
 
 out:
@@ -367,17 +457,9 @@ error:
   goto out;
 }
 
-static void gst_parse_element_set (gchar *value, GstElement *element, graph_t *graph)
-{
-  GParamSpec *pspec = NULL;
+static gchar *
+gst_parse_split_assignment (gchar *value) {
   gchar *pos = value;
-  GValue v = { 0, };
-  GObject *target = NULL;
-  GType value_type;
-
-  /* do nothing if assignment is for missing element */
-  if (element == NULL)
-    goto out;
 
   /* parse the string, so the property name is null-terminated and pos points
      to the beginning of the value */
@@ -398,62 +480,32 @@ static void gst_parse_element_set (gchar *value, GstElement *element, graph_t *g
   }
   gst_parse_unescape (pos);
 
-  if (GST_IS_CHILD_PROXY (element)) {
-    if (!gst_child_proxy_lookup (GST_CHILD_PROXY (element), value, &target, &pspec)) {
-      /* do a delayed set */
-      gst_parse_add_delayed_set (element, value, pos);
-    }
-  } else {
-    pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element), value);
-    if (pspec != NULL) {
-      target = G_OBJECT (g_object_ref (element));
-      GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, target, "found %s property", value);
-    } else {
-      SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
-          _("no property \"%s\" in element \"%s\""), value, \
-          GST_ELEMENT_NAME (element));
-    }
-  }
-
-  if (pspec != NULL && target != NULL) {
-    gboolean got_value = FALSE;
-
-    value_type = pspec->value_type;
-
-    GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, element, "parsing property %s as a %s",
-        pspec->name, g_type_name (value_type));
-
-    g_value_init (&v, value_type);
-    if (gst_value_deserialize (&v, pos))
-      got_value = TRUE;
-    else if (g_type_is_a (value_type, GST_TYPE_ELEMENT)) {
-       GstElement *bin;
+  return pos;
+}
 
-       bin = gst_parse_bin_from_description_full (pos, TRUE, NULL,
-           GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS | GST_PARSE_FLAG_PLACE_IN_BIN, NULL);
-       if (bin) {
-         g_value_set_object (&v, bin);
-         got_value = TRUE;
-       }
-    }
-    if (!got_value)
-      goto error;
-    g_object_set_property (target, pspec->name, &v);
+static gboolean
+collect_value (GParamSpec *pspec, gchar *value_str, GValue *v)
+{
+  gboolean got_value = FALSE;
+
+  GST_CAT_LOG (GST_CAT_PIPELINE, "parsing property %s as a %s",
+      pspec->name, g_type_name (pspec->value_type));
+
+  g_value_init (v, pspec->value_type);
+  if (gst_value_deserialize_with_pspec (v, value_str, pspec))
+    got_value = TRUE;
+  else if (g_type_is_a (pspec->value_type, GST_TYPE_ELEMENT)) {
+     GstElement *bin;
+
+     bin = gst_parse_bin_from_description_full (value_str, TRUE, NULL,
+         GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS | GST_PARSE_FLAG_PLACE_IN_BIN, NULL);
+     if (bin) {
+       g_value_set_object (v, bin);
+       got_value = TRUE;
+     }
   }
 
-out:
-  gst_parse_strfree (value);
-  if (G_IS_VALUE (&v))
-    g_value_unset (&v);
-  if (target)
-    gst_object_unref (target);
-  return;
-
-error:
-  SET_ERROR (graph->error, GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
-         _("could not set property \"%s\" in element \"%s\" to \"%s\""),
-	 value, GST_ELEMENT_NAME (element), pos);
-  goto out;
+  return got_value;
 }
 
 static void gst_parse_element_preset (gchar *value, GstElement *element, graph_t *graph)
@@ -474,7 +526,6 @@ static void gst_parse_element_preset (gchar *value, GstElement *element, graph_t
     goto error;
 
 out:
-  gst_parse_strfree (value);
   return;
 
 not_a_preset:
@@ -490,6 +541,260 @@ error:
   goto out;
 }
 
+typedef struct
+{
+  gchar *name;
+  gchar *value;
+} proxied_property_t;
+
+static void
+proxied_property_free (proxied_property_t *pp) {
+  g_slice_free (proxied_property_t, pp);
+}
+
+static GstElement * gst_parse_element_make (graph_t *graph, element_t *data) {
+  GstElementFactory *loaded_factory;
+  GstElementFactory *factory = gst_element_factory_find (data->factory_name);
+  GObjectClass *klass;
+  GParamSpec *pspec = NULL;
+  GSList *tmp;
+  gboolean is_proxy;
+  GSList *proxied = NULL;
+  guint n_params = 0;
+  guint n_params_alloc = 16;
+  const gchar **names_array;
+  GValue *values_array;
+  GstElement *ret = NULL;
+
+  if (!factory) {
+		SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_ELEMENT, _("no element \"%s\""), data->factory_name);
+    return NULL;
+  }
+
+  loaded_factory =
+    GST_ELEMENT_FACTORY (gst_plugin_feature_load (GST_PLUGIN_FEATURE
+        (factory)));
+
+  gst_object_unref (factory);
+
+  klass = g_type_class_ref (gst_element_factory_get_element_type (loaded_factory));
+
+  is_proxy = g_type_is_a (gst_element_factory_get_element_type (loaded_factory), GST_TYPE_CHILD_PROXY);
+
+  names_array = g_new0 (const gchar *, n_params_alloc);
+  values_array = g_new0 (GValue, n_params_alloc);
+
+  for (tmp = data->values; tmp; tmp = tmp->next) {
+    gchar *name = tmp->data;
+    gchar *value = gst_parse_split_assignment (tmp->data);
+
+    if (is_proxy && strstr (name, "::") != NULL) {
+      proxied_property_t *pp = g_slice_new (proxied_property_t);
+      pp->name = name;
+      pp->value = value;
+      proxied = g_slist_prepend (proxied, pp);
+      continue;
+    }
+
+    pspec = g_object_class_find_property (klass, name);
+
+    if (pspec != NULL) {
+      if (G_UNLIKELY (n_params == n_params_alloc)) {
+        n_params_alloc *= 2u;
+        names_array =
+            g_realloc (names_array, sizeof (const gchar *) * n_params_alloc);
+        values_array = g_realloc (values_array, sizeof (GValue) * n_params_alloc);
+        memset (&values_array[n_params], 0,
+            sizeof (GValue) * (n_params_alloc - n_params));
+      }
+
+      if (!collect_value (pspec, value, &values_array[n_params])) {
+        SET_ERROR (graph->error, GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
+               _("could not set property \"%s\" in element \"%s\" to \"%s\""),
+         name, data->factory_name, value);
+        g_value_unset (&values_array[n_params]);
+        goto done;
+      } else {
+        names_array[n_params] = name;
+      }
+
+      ++n_params;
+    } else {
+      SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
+          _("no property \"%s\" in element \"%s\""), name, \
+          data->factory_name);
+      goto done;
+    }
+  }
+
+  ret = gst_element_factory_create_with_properties (factory, n_params, names_array,
+      values_array);
+
+  for (tmp = proxied; tmp; tmp = tmp->next) {
+    GObject *target = NULL;
+    proxied_property_t *pp = tmp->data;
+
+    if (!gst_child_proxy_lookup (GST_CHILD_PROXY (ret), pp->name, &target, &pspec)) {
+      /* the property was not found. if the target child doesn't exist
+         then we do a delayed set waiting for new elements to be added. If
+         the child was found, we fail since the property doesn't exist.
+      */
+      gchar *children = NULL;
+      gchar *property = NULL;
+      if (!gst_parse_separate_prop_from_children (pp->name, &children, &property)) {
+	/* malformed childproxy path, skip */
+	continue;
+      }
+
+      target = gst_child_proxy_get_child_by_name_recurse (GST_CHILD_PROXY (ret), children);
+      g_free (children);
+      g_free (property);
+
+      if (target == NULL) {
+	gst_parse_add_delayed_set (ret, pp->name, pp->value);
+      } else {
+	gst_object_unref (target);
+	SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY,	\
+          _("no property \"%s\" in element \"%s\""), pp->name, \
+          GST_ELEMENT_NAME (ret));
+	goto done;
+      }
+    } else {
+      GValue v = { 0, };
+
+      if (!collect_value (pspec, pp->value, &v)) {
+        SET_ERROR (graph->error, GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
+               _("could not set property \"%s\" in child of element \"%s\" to \"%s\""),
+         pp->name, data->factory_name, pp->value);
+        g_value_unset (&v);
+        goto done;
+      } else {
+        g_object_set_property (target, pspec->name, &v);
+        g_value_unset (&v);
+      }
+    }
+  }
+
+  for (tmp = data->presets; tmp; tmp = tmp->next) {
+    gst_parse_element_preset (tmp->data, ret, graph);
+  }
+
+done:
+  g_slist_free_full (proxied, (GDestroyNotify) proxied_property_free);
+  gst_object_unref (loaded_factory);
+  g_type_class_unref (klass);
+  g_free (names_array);
+  while (n_params--)
+    g_value_unset (&values_array[n_params]);
+  g_free (values_array);
+
+  return ret;
+}
+
+static gboolean gst_parse_child_proxy_find_child (
+    GstChildProxy * child_proxy, const gchar *name)
+{
+  gchar **names = NULL, **current = NULL;
+  GObject *obj = NULL;
+  gboolean found = FALSE;
+
+  obj = G_OBJECT (g_object_ref (child_proxy));
+
+  current = names = g_strsplit (name, "::", -1);
+
+  /* find the owner of the property */
+  while (current[1]) {
+    GObject *next = NULL;
+
+    /* Cannot ask for the child of a non-childproxy */
+    if (!GST_IS_CHILD_PROXY (obj)) {
+      break;
+    }
+
+    next = gst_child_proxy_get_child_by_name (GST_CHILD_PROXY (obj),
+        current[0]);
+
+    /* The child doesn't exist yet */
+    if (!next) {
+      break;
+    }
+
+    gst_object_unref (obj);
+    obj = next;
+    current++;
+  }
+
+  gst_object_unref (obj);
+  g_strfreev (names);
+
+  /* The remaining name is the property, we have found the object */
+  if (current[1] == NULL) {
+    found = TRUE;
+  }
+
+  return found;
+}
+
+static void gst_parse_element_set (gchar *value, GstElement *element, graph_t *graph)
+{
+  GParamSpec *pspec = NULL;
+  gchar *pos;
+  GValue v = { 0, };
+  GObject *target = NULL;
+
+  /* do nothing if assignment is for missing element */
+  if (element == NULL)
+    goto out;
+
+  pos = gst_parse_split_assignment (value);
+
+  if (GST_IS_CHILD_PROXY (element) && strstr (value, "::") != NULL) {
+    if (!gst_child_proxy_lookup (GST_CHILD_PROXY (element), value, &target, &pspec)) {
+      /* the property was not found. if the target child doesn't exist
+         then we do a delayed set waiting for new elements to be added. If
+         the child was found, we fail since the property doesn't exist.
+      */
+      if (!gst_parse_child_proxy_find_child (GST_CHILD_PROXY (element), value)) {
+	gst_parse_add_delayed_set (element, value, pos);
+      } else {
+	goto error;
+      }
+    }
+  } else {
+    pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (element), value);
+    if (pspec != NULL) {
+      target = G_OBJECT (g_object_ref (element));
+      GST_CAT_LOG_OBJECT (GST_CAT_PIPELINE, target, "found %s property", value);
+    } else {
+      SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
+          _("no property \"%s\" in element \"%s\""), value, \
+          GST_ELEMENT_NAME (element));
+    }
+  }
+
+  if (pspec != NULL && target != NULL) {
+    if (!collect_value (pspec, pos, &v)) {
+      goto error;
+    } else {
+      g_object_set_property (target, pspec->name, &v);
+    }
+  }
+
+out:
+  gst_parse_strfree (value);
+  if (G_IS_VALUE (&v))
+    g_value_unset (&v);
+  if (target)
+    gst_object_unref (target);
+  return;
+
+error:
+  SET_ERROR (graph->error, GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY,
+         _("could not set property \"%s\" in element \"%s\" to \"%s\""),
+	 value, GST_ELEMENT_NAME (element), pos);
+  goto out;
+}
+
 static void gst_parse_free_reference (reference_t *rr)
 {
   if(rr->element) gst_object_unref(rr->element);
@@ -517,6 +822,14 @@ static void gst_parse_free_chain (chain_t *ch)
   gst_parse_chain_free (ch);
 }
 
+static void gst_parse_free_element (element_t *el)
+{
+  g_slist_free_full (el->values, gst_parse_strfree);
+  g_slist_free_full (el->presets, gst_parse_strfree);
+  gst_parse_strfree (el->factory_name);
+  gst_parse_element_free (el);
+}
+
 static void gst_parse_free_delayed_link (DelayedLink *link)
 {
   g_free (link->src_pad);
@@ -566,10 +879,11 @@ static void gst_parse_found_pad (GstElement *src, GstPad *pad, gpointer data)
 		               link->all_pads ? "all pads" : "one pad",
                	   PRETTY_PAD_NAME_ARGS (src, link->src_pad),
                    PRETTY_PAD_NAME_ARGS (link->sink, link->sink_pad));
-    g_signal_handler_disconnect (src, link->no_more_pads_signal_id);
     /* releases 'link' */
-    if (!link->all_pads)
+    if (!link->all_pads) {
+      g_signal_handler_disconnect (src, link->no_more_pads_signal_id);
       g_signal_handler_disconnect (src, link->pad_added_signal_id);
+    }
   }
 }
 
@@ -786,7 +1100,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
     chain_t *cc;
     link_t *ll;
     reference_t rr;
-    GstElement *ee;
+    element_t *ee;
     GSList *pp;
     graph_t *gg;
 }
@@ -814,7 +1128,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
 		  gst_parse_free_chain($$);	} <cc>
 %destructor {	gst_parse_free_link ($$);	} <ll>
 %destructor {	gst_parse_free_reference(&($$));} <rr>
-%destructor {	gst_object_unref ($$);		} <ee>
+%destructor {	gst_parse_free_element ($$);		} <ee>
 %destructor {	GSList *walk;
 		for(walk=$$;walk;walk=walk->next)
 		  gst_parse_strfree (walk->data);
@@ -844,17 +1158,16 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
 *	identity silence=false name=frodo
 *   (cont'd)
 **************************************************************/
-element:	IDENTIFIER     		      { $$ = gst_element_factory_make ($1, NULL);
-						if ($$ == NULL) {
-						  add_missing_element(graph, $1);
-						  SET_ERROR (graph->error, GST_PARSE_ERROR_NO_SUCH_ELEMENT, _("no element \"%s\""), $1);
-						}
-						gst_parse_strfree ($1);
+element: IDENTIFIER              {
+            $$ = gst_parse_element_new();
+            $$->factory_name = $1;
                                               }
-	|	element PRESET	          { gst_parse_element_preset ($2, $1, graph);
+  | element PRESET	          {
+            $$->presets = g_slist_append ($$->presets, $2);
 						$$ = $1;
 	                                      }
-	|	element ASSIGNMENT	      { gst_parse_element_set ($2, $1, graph);
+	|	element ASSIGNMENT	      {
+            $$->values = g_slist_append ($$->values, $2);
 						$$ = $1;
 	                                      }
 	;
@@ -869,13 +1182,24 @@ element:	IDENTIFIER     		      { $$ = gst_element_factory_make ($1, NULL);
 *
 **************************************************************/
 elementary:
-	element				      { $$ = gst_parse_chain_new ();
-						/* g_print ("@%p: CHAINing elementary\n", $$); */
-						$$->first.element = $1? gst_object_ref($1) : NULL;
-						$$->last.element = $1? gst_object_ref($1) : NULL;
-						$$->first.name = $$->last.name = NULL;
-						$$->first.pads = $$->last.pads = NULL;
-						$$->elements = $1 ? g_slist_prepend (NULL, $1) : NULL;
+	element				      {
+            GstElement *element = NULL;
+
+            $$ = gst_parse_chain_new ();
+
+            if ($1 && !(element = gst_parse_element_make (graph, $1))) {
+						  add_missing_element(graph, $1->factory_name);
+            } else {
+              /* g_print ("@%p: CHAINing elementary\n", $$); */
+              $$->first.element = element ? gst_object_ref(element) : NULL;
+              $$->last.element = element ? gst_object_ref(element) : NULL;
+              $$->first.name = $$->last.name = NULL;
+              $$->first.pads = $$->last.pads = NULL;
+              $$->elements = element ? g_slist_prepend (NULL, element) : NULL;
+            }
+
+            gst_parse_free_element ($1);
+
 					      }
 	| bin				      { $$=$1; }
 	;
@@ -1197,7 +1521,7 @@ priv_gst_parse_launch (const gchar *str, GError **error, GstParseContext *ctx,
 
 #ifdef __GST_PARSE_TRACE
   GST_CAT_DEBUG (GST_CAT_PIPELINE, "TRACE: tracing enabled");
-  __strings = __chains = __links = 0;
+  __strings = __chains = __links = __elements = 0;
 #endif /* __GST_PARSE_TRACE */
 
   /* g_print("Now scanning: %s\n", str); */
@@ -1305,11 +1629,11 @@ priv_gst_parse_launch (const gchar *str, GError **error, GstParseContext *ctx,
 out:
 #ifdef __GST_PARSE_TRACE
   GST_CAT_DEBUG (GST_CAT_PIPELINE,
-      "TRACE: %u strings, %u chains and %u links left", __strings, __chains,
-      __links);
-  if (__strings || __chains || __links) {
-    g_warning ("TRACE: %u strings, %u chains and %u links left", __strings,
-        __chains, __links);
+      "TRACE: %u strings, %u chains, %u links and %u elements left", __strings, __chains,
+      __links, __elements);
+  if (__strings || __chains || __links || __elements) {
+    g_warning ("TRACE: %u strings, %u chains, %u links and %u elements left", __strings,
+        __chains, __links, __elements);
   }
 #endif /* __GST_PARSE_TRACE */
 
diff --git a/gst/parse/meson.build b/gst/parse/meson.build
index 35ed6f2..b79a07c 100644
--- a/gst/parse/meson.build
+++ b/gst/parse/meson.build
@@ -15,7 +15,7 @@ else
   message('flex version @0@ >= @1@: YES'.format(flexversion, flex_min_version))
 endif
 
-flex_cdata.set('FLEX', flex.path())
+flex_cdata.set('FLEX', flex.full_path())
 if cc.get_id() == 'msvc'
   flex_cdata.set('FLEX_ARGS', '--nounistd')
 else
@@ -33,11 +33,7 @@ bison_cdata = configuration_data()
 bison_min_version='2.4'
 bison = find_program('bison', 'win_bison')
 
-bversion_res = run_command([bison, '--version'])
-if bversion_res.returncode() != 0
-  error('Could not get bison version (@0@)'.format(bversion_res.stderr()))
-endif
-
+bversion_res = run_command([bison, '--version'], check: true)
 bversion = bversion_res.stdout().split('\n')[0].split(' ')[-1].strip()
 if bversion.version_compare('<' + bison_min_version)
   error('bison version @0@ >= @1@: NO'.format(bversion, bison_min_version))
@@ -55,7 +51,7 @@ gen_grammar_file = configure_file(input : 'grammar.y.in',
   output : 'grammar.y',
   configuration : bison_parser_cdata)
 
-bison_cdata.set('BISON', bison.path())
+bison_cdata.set('BISON', bison.full_path())
 bison_cdata.set('BISON_ARGS', '')
 
 gen_grammar = configure_file(input : 'gen_grammar.py.in',
diff --git a/gst/parse/types.h b/gst/parse/types.h
index 5dbb959..961af7e 100644
--- a/gst/parse/types.h
+++ b/gst/parse/types.h
@@ -24,6 +24,13 @@ typedef struct {
   reference_t last;
 } chain_t;
 
+typedef struct {
+  gchar *factory_name;
+  GSList *values;
+  GSList *presets;
+} element_t;
+
+
 typedef struct _graph_t graph_t;
 struct _graph_t {
   chain_t *chain; /* links are supposed to be done now */
@@ -55,12 +62,16 @@ G_GNUC_INTERNAL  link_t *__gst_parse_link_new (void);
 G_GNUC_INTERNAL  void	__gst_parse_link_free (link_t *data);
 G_GNUC_INTERNAL  chain_t *__gst_parse_chain_new (void);
 G_GNUC_INTERNAL  void	__gst_parse_chain_free (chain_t *data);
+G_GNUC_INTERNAL  element_t *__gst_parse_element_new (void);
+G_GNUC_INTERNAL  void	__gst_parse_element_free (element_t *data);
 #  define gst_parse_strdup __gst_parse_strdup
 #  define gst_parse_strfree __gst_parse_strfree
 #  define gst_parse_link_new __gst_parse_link_new
 #  define gst_parse_link_free __gst_parse_link_free
 #  define gst_parse_chain_new __gst_parse_chain_new
 #  define gst_parse_chain_free __gst_parse_chain_free
+#  define gst_parse_element_new __gst_parse_element_new
+#  define gst_parse_element_free __gst_parse_element_free
 #else /* __GST_PARSE_TRACE */
 #  define gst_parse_strdup g_strdup
 #  define gst_parse_strfree g_free
@@ -68,6 +79,8 @@ G_GNUC_INTERNAL  void	__gst_parse_chain_free (chain_t *data);
 #  define gst_parse_link_free(l) g_slice_free (link_t, l)
 #  define gst_parse_chain_new() g_slice_new0 (chain_t)
 #  define gst_parse_chain_free(c) g_slice_free (chain_t, c)
+#  define gst_parse_element_new() g_slice_new0 (element_t)
+#  define gst_parse_element_free(e) g_slice_free (element_t, e)
 #endif /* __GST_PARSE_TRACE */
 
 static inline void
diff --git a/gstreamer.doap b/gstreamer.doap
index 3c957ff..ceb4273 100644
--- a/gstreamer.doap
+++ b/gstreamer.doap
@@ -40,41 +40,101 @@ hierarchy, and a set of media-agnostic core elements.
 
  <release>
   <Version>
-   <revision>1.18.4</revision>
-   <branch>1.18</branch>
+   <revision>1.22.0</revision>
+   <branch>main</branch>
    <name></name>
-   <created>2021-03-15</created>
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.4.tar.xz" />
+   <created>2023-01-23</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.0.tar.xz" />
   </Version>
  </release>
 
  <release>
   <Version>
-   <revision>1.18.3</revision>
-   <branch>1.18</branch>
+   <revision>1.21.90</revision>
+   <branch>main</branch>
    <name></name>
-   <created>2021-01-13</created>
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.3.tar.xz" />
+   <created>2023-01-13</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.21.90.tar.xz" />
   </Version>
  </release>
 
  <release>
   <Version>
-   <revision>1.18.2</revision>
-   <branch>1.18</branch>
+   <revision>1.21.3</revision>
+   <branch>main</branch>
    <name></name>
-   <created>2020-12-06</created>
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.2.tar.xz" />
+   <created>2022-12-05</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.21.3.tar.xz" />
   </Version>
  </release>
 
  <release>
   <Version>
-   <revision>1.18.1</revision>
-   <branch>1.18</branch>
+   <revision>1.21.2</revision>
+   <branch>main</branch>
    <name></name>
-   <created>2020-10-26</created>
-   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.1.tar.xz" />
+   <created>2022-11-07</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.21.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.21.1</revision>
+   <branch>main</branch>
+   <name></name>
+   <created>2022-10-04</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.21.1.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.20.0</revision>
+   <branch>main</branch>
+   <name></name>
+   <created>2022-02-03</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.0.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.19.90</revision>
+   <branch>main</branch>
+   <name></name>
+   <created>2022-01-28</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.19.90.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.19.3</revision>
+   <branch>main</branch>
+   <name></name>
+   <created>2021-11-03</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.19.3.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.19.2</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-09-23</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.19.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
+   <revision>1.19.1</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2021-06-01</created>
+   <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.19.1.tar.xz" />
   </Version>
  </release>
 
diff --git a/hooks/pre-commit.hook b/hooks/pre-commit.hook
deleted file mode 100755
index c1a7a0d..0000000
--- a/hooks/pre-commit.hook
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
-  version=`gindent --version 2>/dev/null`
-  if test "x$version" = "x"; then
-    version=`indent --version 2>/dev/null`
-    if test "x$version" = "x"; then
-      echo "GStreamer git pre-commit hook:"
-      echo "Did not find GNU indent, please install it before continuing."
-      exit 1
-    else
-      INDENT=indent
-    fi
-  else
-    INDENT=gindent
-  fi
-else
-  INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
-  GNU*)
-      ;;
-  default)
-      echo "GStreamer git pre-commit hook:"
-      echo "Did not find GNU indent, please install it before continuing."
-      echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
-      exit 1
-      ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
-	--case-brace-indentation0 \
-	--case-indentation2 \
-	--braces-after-struct-decl-line \
-	--line-length80 \
-	--no-tabs \
-	--cuddle-else \
-	--dont-line-up-parentheses \
-	--continuation-indentation4 \
-	--honour-newlines \
-	--tab-size8 \
-	--indent-level2 \
-	--leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
-    # nf is the temporary checkout. This makes sure we check against the
-    # revision in the index (and not the checked out version).
-    nf=`git checkout-index --temp ${file} | cut -f 1`
-    newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
-    $INDENT ${INDENT_PARAMETERS} \
-	$nf -o $newfile 2>> /dev/null
-    # FIXME: Call indent twice as it tends to do line-breaks
-    # different for every second call.
-    $INDENT ${INDENT_PARAMETERS} \
-        $newfile 2>> /dev/null
-    diff -u -p "${nf}" "${newfile}"
-    r=$?
-    rm "${newfile}"
-    rm "${nf}"
-    if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file                                                                      "
-echo "                                                                                                 "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again.        "
-echo " If the whole file is to be committed, this should work (run from the top-level directory):      "
-echo "                                                                                                 "
-echo "   gst-indent $file; git add $file; git commit"
-echo "                                                                                                 "
-echo "================================================================================================="
-        exit 1
-    fi
-done
-echo "--Checking style pass--"
-
-# This is an opt-in check, and can only be run from gst-build's devenv,
-# as outside of it MESON_BUILD_ROOT will not be set.
-#
-# The idea is to build the cache, and check if it has unstaged changes.
-# To accomodate for the git add -p case, where the developer will break
-# down a large change set into multiple commits, this hook will only
-# fail when there are no unstaged changes left to commit, in other
-# cases it will only print a reminder that the cache needs committing.
-if [ -v MESON_BUILD_ROOT ] && [ "$GST_CACHE_HOOK" == "enabled" ]; then
-    echo "--Checking plugin cache--"
-    toplevel=`git rev-parse --show-toplevel`
-    repo_name=`basename $toplevel`
-    target_name=`ninja -C $MESON_BUILD_ROOT -t targets all | grep "\/\<$repo_name\>\/.*\/gst_plugins_cache.json" | cut -d ":" -f 1`
-    ninja -C $MESON_BUILD_ROOT $target_name
-    cache_path=`git ls-files $toplevel/**gst_plugins_cache.json`
-    git diff --quiet --exit-code -- $cache_path
-    has_unstaged_cache_changes=$?
-    git diff --quiet --exit-code -- ':!'$cache_path
-    has_unstaged_non_cache_changes=$?
-
-    if [ $has_unstaged_non_cache_changes != 0 ] ; then
-        if [ $has_unstaged_cache_changes != 0 ]; then
-            echo -e "\033[1;33mUnstaged cache changes, but working directory isn't clean, don't forget to commit the cache when you're done\033[0m"
-        fi
-    elif [ $has_unstaged_cache_changes != 0 ]; then
-        echo -e "\033[1;31mUnstaged cache changes, but the working directory is clean, you must commit the cache\033[0m"
-        exit 1
-    else
-    echo "--Checking plugin cache pass--"
-    fi
-fi
diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c
index 33c84f2..89f2e71 100644
--- a/libs/gst/base/gstadapter.c
+++ b/libs/gst/base/gstadapter.c
@@ -919,7 +919,8 @@ foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
   const GstMetaInfo *info = (*meta)->info;
   gboolean do_copy = FALSE;
 
-  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)
+      || gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory_reference)) {
     /* never call the transform_meta with memory specific metadata */
     GST_DEBUG ("not copying memory specific metadata %s",
         g_type_name (info->api));
diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c
index a4cd2d2..abd7110 100644
--- a/libs/gst/base/gstaggregator.c
+++ b/libs/gst/base/gstaggregator.c
@@ -30,12 +30,12 @@
  * Control is given to the subclass when all pads have data.
  *
  *  * Base class for mixers and muxers. Subclasses should at least implement
- *    the #GstAggregatorClass.aggregate() virtual method.
+ *    the #GstAggregatorClass::aggregate virtual method.
  *
  *  * Installs a #GstPadChainFunction, a #GstPadEventFullFunction and a
  *    #GstPadQueryFunction to queue all serialized data packets per sink pad.
  *    Subclasses should not overwrite those, but instead implement
- *    #GstAggregatorClass.sink_event() and #GstAggregatorClass.sink_query() as
+ *    #GstAggregatorClass::sink_event and #GstAggregatorClass::sink_query as
  *    needed.
  *
  *  * When data is queued on all pads, the aggregate vmethod is called.
@@ -79,6 +79,8 @@
  *    these into gap buffers with matching PTS and duration. It will also
  *    flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE
  *    to ease their identification and subsequent processing.
+ *    In addition, if the gap event was flagged with GST_GAP_FLAG_MISSING_DATA,
+ *    a custom meta is added to the resulting gap buffer (GstAggregatorMissingDataMeta).
  *
  *  * Subclasses must use (a subclass of) #GstAggregatorPad for both their
  *    sink and source pads.
@@ -252,7 +254,10 @@ struct _GstAggregatorPadPrivate
   guint32 last_flush_start_seqnum;
   guint32 last_flush_stop_seqnum;
 
+  /* Whether the pad hasn't received a first buffer yet */
   gboolean first_buffer;
+  /* Whether we waited once for the pad's first buffer */
+  gboolean waited_once;
 
   GQueue data;                  /* buffers, events and queries */
   GstBuffer *clipped_buffer;
@@ -299,6 +304,7 @@ gst_aggregator_pad_reset_unlocked (GstAggregatorPad * aggpad)
   aggpad->priv->tail_time = GST_CLOCK_TIME_NONE;
   aggpad->priv->time_level = 0;
   aggpad->priv->first_buffer = TRUE;
+  aggpad->priv->waited_once = FALSE;
 }
 
 static gboolean
@@ -365,6 +371,7 @@ struct _GstAggregatorPrivate
   gboolean send_segment;
   gboolean flushing;
   gboolean send_eos;            /* protected by srcpad stream lock */
+  gboolean got_eos_event;       /* protected by srcpad stream lock */
 
   GstCaps *srccaps;             /* protected by the srcpad stream lock */
 
@@ -378,6 +385,8 @@ struct _GstAggregatorPrivate
 
   GstClockTime sub_latency_min; /* protected by src_lock */
   GstClockTime sub_latency_max; /* protected by src_lock */
+  /* Tracks whether the latency message was posted at least once */
+  gboolean posted_latency_msg;
 
   GstClockTime upstream_latency_min;    /* protected by src_lock */
 
@@ -400,8 +409,17 @@ struct _GstAggregatorPrivate
   /* properties */
   gint64 latency;               /* protected by both src_lock and all pad locks */
   gboolean emit_signals;
+  gboolean ignore_inactive_pads;
+  gboolean force_live;          /* Construct only, doesn't need any locking */
 };
 
+/* With SRC_LOCK */
+static gboolean
+is_live_unlocked (GstAggregator * self)
+{
+  return self->priv->peer_latency_live || self->priv->force_live;
+}
+
 /* Seek event forwarding helper */
 typedef struct
 {
@@ -420,6 +438,7 @@ typedef struct
 #define DEFAULT_START_TIME_SELECTION GST_AGGREGATOR_START_TIME_SELECTION_ZERO
 #define DEFAULT_START_TIME           (-1)
 #define DEFAULT_EMIT_SIGNALS         FALSE
+#define DEFAULT_FORCE_LIVE           FALSE
 
 enum
 {
@@ -464,6 +483,7 @@ gst_aggregator_check_pads_ready (GstAggregator * self,
   GList *l, *sinkpads;
   gboolean have_buffer = TRUE;
   gboolean have_event_or_query = FALSE;
+  guint n_ready = 0;
 
   GST_LOG_OBJECT (self, "checking pads");
 
@@ -487,9 +507,17 @@ gst_aggregator_check_pads_ready (GstAggregator * self,
             || GST_IS_QUERY (g_queue_peek_tail (&pad->priv->data)))) {
       PAD_UNLOCK (pad);
       have_event_or_query = TRUE;
+      GST_LOG_OBJECT (pad, "Have pending serialized query/event");
       break;
     }
 
+    if (self->priv->ignore_inactive_pads && is_live_unlocked (self) &&
+        pad->priv->waited_once && pad->priv->first_buffer && !pad->priv->eos) {
+      PAD_UNLOCK (pad);
+      GST_LOG_OBJECT (pad, "Ignoring inactive pad");
+      continue;
+    }
+
     /* Otherwise check if we have a clipped buffer or a buffer at the top of
      * the queue, and if not then this pad is not ready unless it is also EOS */
     if (!pad->priv->clipped_buffer
@@ -500,19 +528,33 @@ gst_aggregator_check_pads_ready (GstAggregator * self,
 
       /* Only consider this pad as worth waiting for if it's not already EOS.
        * There's no point in waiting for buffers on EOS pads */
-      if (!pad->priv->eos)
+      if (!pad->priv->eos) {
+        GST_LOG_OBJECT (pad, "Have no buffer and not EOS yet");
         have_buffer = FALSE;
-    } else if (self->priv->peer_latency_live) {
-      /* In live mode, having a single pad with buffers is enough to
-       * generate a start time from it. In non-live mode all pads need
-       * to have a buffer
-       */
-      self->priv->first_buffer = FALSE;
+      } else {
+        GST_LOG_OBJECT (pad, "Have no buffer and already EOS");
+        n_ready++;
+      }
+    } else {
+      GST_TRACE_OBJECT (pad, "Have %" GST_TIME_FORMAT " queued in %u buffers",
+          GST_TIME_ARGS (pad->priv->time_level), pad->priv->num_buffers);
+      if (is_live_unlocked (self)) {
+        /* In live mode, having a single pad with buffers is enough to
+         * generate a start time from it. In non-live mode all pads need
+         * to have a buffer
+         */
+        self->priv->first_buffer = FALSE;
+        n_ready++;
+      }
     }
 
     PAD_UNLOCK (pad);
   }
 
+  if (self->priv->ignore_inactive_pads && is_live_unlocked (self)
+      && n_ready == 0)
+    goto no_sinkpads;
+
   if (have_event_or_query)
     goto pad_not_ready_but_event_or_query;
 
@@ -542,7 +584,7 @@ no_sinkpads:
   }
 pad_not_ready:
   {
-    GST_LOG_OBJECT (pad, "pad not ready to be aggregated yet");
+    GST_LOG_OBJECT (self, "pad not ready to be aggregated yet");
     GST_OBJECT_UNLOCK (self);
 
     if (have_event_or_query_ret)
@@ -552,7 +594,7 @@ pad_not_ready:
   }
 pad_not_ready_but_event_or_query:
   {
-    GST_LOG_OBJECT (pad,
+    GST_LOG_OBJECT (self,
         "pad not ready to be aggregated yet, need to handle serialized event or query first");
     GST_OBJECT_UNLOCK (self);
 
@@ -579,7 +621,7 @@ gst_aggregator_reset_flow_values (GstAggregator * self)
 }
 
 static inline void
-gst_aggregator_push_mandatory_events (GstAggregator * self)
+gst_aggregator_push_mandatory_events (GstAggregator * self, gboolean up_to_caps)
 {
   GstAggregatorPrivate *priv = self->priv;
   GstEvent *segment = NULL;
@@ -599,7 +641,6 @@ gst_aggregator_push_mandatory_events (GstAggregator * self)
   }
 
   if (self->priv->srccaps) {
-
     GST_INFO_OBJECT (self, "pushing caps: %" GST_PTR_FORMAT,
         self->priv->srccaps);
     if (!gst_pad_push_event (GST_PAD (self->srcpad),
@@ -610,6 +651,9 @@ gst_aggregator_push_mandatory_events (GstAggregator * self)
     self->priv->srccaps = NULL;
   }
 
+  if (up_to_caps)
+    return;
+
   GST_OBJECT_LOCK (self);
   if (self->priv->send_segment && !self->priv->flushing) {
     segment =
@@ -636,7 +680,6 @@ gst_aggregator_push_mandatory_events (GstAggregator * self)
     gst_pad_push_event (self->srcpad, segment);
   if (tags)
     gst_pad_push_event (self->srcpad, tags);
-
 }
 
 /**
@@ -649,16 +692,31 @@ gst_aggregator_push_mandatory_events (GstAggregator * self)
 void
 gst_aggregator_set_src_caps (GstAggregator * self, GstCaps * caps)
 {
+  GstCaps *old_caps;
+
   GST_PAD_STREAM_LOCK (self->srcpad);
+
+  if (caps && (old_caps = gst_pad_get_current_caps (self->srcpad))) {
+    if (gst_caps_is_equal (caps, old_caps)) {
+      GST_DEBUG_OBJECT (self,
+          "New caps are the same as the previously set caps %" GST_PTR_FORMAT,
+          old_caps);
+      gst_caps_unref (old_caps);
+      GST_PAD_STREAM_UNLOCK (self->srcpad);
+      return;
+    }
+    gst_caps_unref (old_caps);
+  }
+
   gst_caps_replace (&self->priv->srccaps, caps);
-  gst_aggregator_push_mandatory_events (self);
+  gst_aggregator_push_mandatory_events (self, TRUE);
   GST_PAD_STREAM_UNLOCK (self->srcpad);
 }
 
 static GstFlowReturn
 gst_aggregator_default_finish_buffer (GstAggregator * self, GstBuffer * buffer)
 {
-  gst_aggregator_push_mandatory_events (self);
+  gst_aggregator_push_mandatory_events (self, FALSE);
 
   GST_OBJECT_LOCK (self);
   if (!self->priv->flushing && gst_pad_is_active (self->srcpad)) {
@@ -667,7 +725,7 @@ gst_aggregator_default_finish_buffer (GstAggregator * self, GstBuffer * buffer)
     return gst_pad_push (self->srcpad, buffer);
   } else {
     GST_INFO_OBJECT (self, "Not pushing (active: %i, flushing: %i)",
-        self->priv->flushing, gst_pad_is_active (self->srcpad));
+        gst_pad_is_active (self->srcpad), self->priv->flushing);
     GST_OBJECT_UNLOCK (self);
     gst_buffer_unref (buffer);
     return GST_FLOW_OK;
@@ -697,7 +755,7 @@ static GstFlowReturn
 gst_aggregator_default_finish_buffer_list (GstAggregator * self,
     GstBufferList * bufferlist)
 {
-  gst_aggregator_push_mandatory_events (self);
+  gst_aggregator_push_mandatory_events (self, FALSE);
 
   GST_OBJECT_LOCK (self);
   if (!self->priv->flushing && gst_pad_is_active (self->srcpad)) {
@@ -706,7 +764,7 @@ gst_aggregator_default_finish_buffer_list (GstAggregator * self,
     return gst_pad_push_list (self->srcpad, bufferlist);
   } else {
     GST_INFO_OBJECT (self, "Not pushing (active: %i, flushing: %i)",
-        self->priv->flushing, gst_pad_is_active (self->srcpad));
+        gst_pad_is_active (self->srcpad), self->priv->flushing);
     GST_OBJECT_UNLOCK (self);
     gst_buffer_list_unref (bufferlist);
     return GST_FLOW_OK;
@@ -739,7 +797,7 @@ static void
 gst_aggregator_push_eos (GstAggregator * self)
 {
   GstEvent *event;
-  gst_aggregator_push_mandatory_events (self);
+  gst_aggregator_push_mandatory_events (self, FALSE);
 
   event = gst_event_new_eos ();
 
@@ -863,6 +921,18 @@ gst_aggregator_wait_and_check (GstAggregator * self, gboolean * timeout)
 
     /* we timed out */
     if (status == GST_CLOCK_OK || status == GST_CLOCK_EARLY) {
+      GList *l;
+
+      GST_OBJECT_LOCK (self);
+      for (l = GST_ELEMENT_CAST (self)->sinkpads; l != NULL; l = l->next) {
+        GstAggregatorPad *pad = GST_AGGREGATOR_PAD (l->data);
+
+        PAD_LOCK (pad);
+        pad->priv->waited_once = TRUE;
+        PAD_UNLOCK (pad);
+      }
+      GST_OBJECT_UNLOCK (self);
+
       SRC_UNLOCK (self);
       *timeout = TRUE;
       return TRUE;
@@ -920,8 +990,6 @@ gst_aggregator_do_events_and_queries (GstElement * self, GstPad * epad,
         PAD_LOCK (pad);
         if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS) {
           pad->priv->negotiated = ret;
-          if (!ret)
-            pad->priv->flow_return = data->flow_ret = GST_FLOW_NOT_NEGOTIATED;
         }
         if (g_queue_peek_tail (&pad->priv->data) == event)
           gst_event_unref (g_queue_pop_tail (&pad->priv->data));
@@ -1284,7 +1352,7 @@ gst_aggregator_negotiate_unlocked (GstAggregator * self)
  *
  * Negotiates src pad caps with downstream elements.
  * Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
- * if #GstAggregatorClass.negotiate() fails.
+ * if #GstAggregatorClass::negotiate fails.
  *
  * Returns: %TRUE if the negotiation succeeded, else %FALSE.
  *
@@ -1330,10 +1398,15 @@ gst_aggregator_aggregate_func (GstAggregator * self)
     if ((flow_return = events_query_data.flow_ret) != GST_FLOW_OK)
       goto handle_error;
 
-    if (self->priv->peer_latency_live)
+    if (is_live_unlocked (self))
       gst_element_foreach_sink_pad (GST_ELEMENT_CAST (self),
           gst_aggregator_pad_skip_buffers, NULL);
 
+    if (self->priv->got_eos_event) {
+      gst_aggregator_push_eos (self);
+      continue;
+    }
+
     /* Ensure we have buffers ready (either in clipped_buffer or at the head of
      * the queue */
     if (!gst_aggregator_wait_and_check (self, &timeout)) {
@@ -1354,7 +1427,7 @@ gst_aggregator_aggregate_func (GstAggregator * self)
     }
 
     if (timeout || flow_return >= GST_FLOW_OK) {
-      GST_TRACE_OBJECT (self, "Actually aggregating!");
+      GST_LOG_OBJECT (self, "Actually aggregating, timeout: %d", timeout);
       flow_return = klass->aggregate (self, timeout);
     }
 
@@ -1420,8 +1493,13 @@ gst_aggregator_start (GstAggregator * self)
   self->priv->send_stream_start = TRUE;
   self->priv->send_segment = TRUE;
   self->priv->send_eos = TRUE;
+  self->priv->got_eos_event = FALSE;
   self->priv->srccaps = NULL;
 
+  self->priv->has_peer_latency = FALSE;
+  self->priv->peer_latency_live = FALSE;
+  self->priv->peer_latency_min = self->priv->peer_latency_max = 0;
+
   gst_aggregator_set_allocation (self, NULL, NULL, NULL, NULL);
 
   klass = GST_AGGREGATOR_GET_CLASS (self);
@@ -1637,6 +1715,7 @@ gst_aggregator_default_sink_event (GstAggregator * self,
         event = NULL;
         SRC_LOCK (self);
         priv->send_eos = TRUE;
+        priv->got_eos_event = FALSE;
         SRC_BROADCAST (self);
         SRC_UNLOCK (self);
 
@@ -1656,7 +1735,6 @@ gst_aggregator_default_sink_event (GstAggregator * self,
     {
       SRC_LOCK (self);
       PAD_LOCK (aggpad);
-      g_assert (aggpad->priv->num_buffers == 0);
       aggpad->priv->eos = TRUE;
       PAD_UNLOCK (aggpad);
       SRC_BROADCAST (self);
@@ -1683,6 +1761,9 @@ gst_aggregator_default_sink_event (GstAggregator * self,
     }
     case GST_EVENT_STREAM_START:
     {
+      PAD_LOCK (aggpad);
+      aggpad->priv->eos = FALSE;
+      PAD_UNLOCK (aggpad);
       goto eat;
     }
     case GST_EVENT_GAP:
@@ -1690,6 +1771,7 @@ gst_aggregator_default_sink_event (GstAggregator * self,
       GstClockTime pts, endpts;
       GstClockTime duration;
       GstBuffer *gapbuf;
+      GstGapFlags flags = 0;
 
       gst_event_parse_gap (event, &pts, &duration);
 
@@ -1719,6 +1801,11 @@ gst_aggregator_default_sink_event (GstAggregator * self,
       GST_BUFFER_FLAG_SET (gapbuf, GST_BUFFER_FLAG_GAP);
       GST_BUFFER_FLAG_SET (gapbuf, GST_BUFFER_FLAG_DROPPABLE);
 
+      gst_event_parse_gap_flags (event, &flags);
+      if (flags & GST_GAP_FLAG_MISSING_DATA) {
+        gst_buffer_add_custom_meta (gapbuf, "GstAggregatorMissingDataMeta");
+      }
+
       /* Remove GAP event so we can replace it with the buffer */
       PAD_LOCK (aggpad);
       if (g_queue_peek_tail (&aggpad->priv->data) == event)
@@ -1846,6 +1933,7 @@ gst_aggregator_stop (GstAggregator * agg)
   agg->priv->has_peer_latency = FALSE;
   agg->priv->peer_latency_live = FALSE;
   agg->priv->peer_latency_min = agg->priv->peer_latency_max = 0;
+  agg->priv->posted_latency_msg = FALSE;
 
   if (agg->priv->tags)
     gst_tag_list_unref (agg->priv->tags);
@@ -1906,6 +1994,14 @@ gst_aggregator_change_state (GstElement * element, GstStateChange transition)
       SRC_LOCK (self);
       SRC_BROADCAST (self);
       SRC_UNLOCK (self);
+      if (self->priv->force_live) {
+        ret = GST_STATE_CHANGE_NO_PREROLL;
+      }
+      break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      if (self->priv->force_live) {
+        ret = GST_STATE_CHANGE_NO_PREROLL;
+      }
       break;
     default:
       break;
@@ -1936,6 +2032,7 @@ gst_aggregator_release_pad (GstElement * element, GstPad * pad)
 
   SRC_LOCK (self);
   gst_aggregator_pad_set_flushing (aggpad, GST_FLOW_FLUSHING, TRUE);
+  gst_buffer_replace (&aggpad->priv->peeked_buffer, NULL);
   gst_element_remove_pad (element, pad);
 
   self->priv->has_peer_latency = FALSE;
@@ -2032,7 +2129,7 @@ gst_aggregator_request_new_pad (GstElement * element,
   return GST_PAD (agg_pad);
 }
 
-/* Must be called with SRC_LOCK held */
+/* Must be called with SRC_LOCK held, temporarily releases it! */
 
 static gboolean
 gst_aggregator_query_latency_unlocked (GstAggregator * self, GstQuery * query)
@@ -2040,7 +2137,10 @@ gst_aggregator_query_latency_unlocked (GstAggregator * self, GstQuery * query)
   gboolean query_ret, live;
   GstClockTime our_latency, min, max;
 
+  /* Temporarily release the lock to do the query. */
+  SRC_UNLOCK (self);
   query_ret = gst_pad_query_default (self->srcpad, GST_OBJECT (self), query);
+  SRC_LOCK (self);
 
   if (!query_ret) {
     GST_WARNING_OBJECT (self, "Latency query failed");
@@ -2066,10 +2166,12 @@ gst_aggregator_query_latency_unlocked (GstAggregator * self, GstQuery * query)
   }
 
   if (min > max && GST_CLOCK_TIME_IS_VALID (max)) {
+    SRC_UNLOCK (self);
     GST_ELEMENT_WARNING (self, CORE, CLOCK, (NULL),
         ("Impossible to configure latency: max %" GST_TIME_FORMAT " < min %"
             GST_TIME_FORMAT ". Add queues or other buffering elements.",
             GST_TIME_ARGS (max), GST_TIME_ARGS (min)));
+    SRC_LOCK (self);
     return FALSE;
   }
 
@@ -2100,7 +2202,8 @@ gst_aggregator_query_latency_unlocked (GstAggregator * self, GstQuery * query)
 }
 
 /*
- * MUST be called with the src_lock held.
+ * MUST be called with the src_lock held. Temporarily releases the lock inside
+ * gst_aggregator_query_latency_unlocked() to do the actual query!
  *
  * See  gst_aggregator_get_latency() for doc
  */
@@ -2117,12 +2220,18 @@ gst_aggregator_get_latency_unlocked (GstAggregator * self)
 
     ret = gst_aggregator_query_latency_unlocked (self, query);
     gst_query_unref (query);
-    if (!ret)
+    /* If we've been set to live, we don't wait for a peer latency, we will
+     * simply query it again next time around */
+    if (!ret && !self->priv->force_live)
       return GST_CLOCK_TIME_NONE;
   }
 
-  if (!self->priv->has_peer_latency || !self->priv->peer_latency_live)
-    return GST_CLOCK_TIME_NONE;
+  /* If we've been set to live, we don't wait for a peer latency, we will
+   * simply query it again next time around */
+  if (!self->priv->force_live) {
+    if (!self->priv->has_peer_latency || !self->priv->peer_latency_live)
+      return GST_CLOCK_TIME_NONE;
+  }
 
   /* latency_min is never GST_CLOCK_TIME_NONE by construction */
   latency = self->priv->peer_latency_min;
@@ -2184,8 +2293,17 @@ gst_aggregator_send_event (GstElement * element, GstEvent * event)
 
     GST_DEBUG_OBJECT (element, "Storing segment %" GST_PTR_FORMAT, event);
   }
+
   GST_STATE_UNLOCK (element);
 
+
+  if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+    SRC_LOCK (self);
+    self->priv->got_eos_event = TRUE;
+    SRC_BROADCAST (self);
+    SRC_UNLOCK (self);
+  }
+
   return GST_ELEMENT_CLASS (aggregator_parent_class)->send_event (element,
       event);
 }
@@ -2372,9 +2490,14 @@ gst_aggregator_default_src_event (GstAggregator * self, GstEvent * event)
       /* _do_seek() unrefs the event. */
       return gst_aggregator_do_seek (self, event);
     case GST_EVENT_NAVIGATION:
-      /* navigation is rather pointless. */
+      /* specific handling has to be implemented in subclasses */
       gst_event_unref (event);
       return FALSE;
+    case GST_EVENT_RECONFIGURE:
+      /* We will renegotiate with downstream, we don't
+       * need to forward this further */
+      gst_event_unref (event);
+      return TRUE;
     default:
       break;
   }
@@ -2544,6 +2667,16 @@ flushing:
   return FALSE;
 }
 
+static void
+gst_aggregator_constructed (GObject * object)
+{
+  GstAggregator *agg = GST_AGGREGATOR (object);
+
+  if (agg->priv->force_live) {
+    GST_OBJECT_FLAG_SET (agg, GST_ELEMENT_FLAG_SOURCE);
+  }
+}
+
 static void
 gst_aggregator_finalize (GObject * object)
 {
@@ -2696,6 +2829,7 @@ gst_aggregator_class_init (GstAggregatorClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
   GstElementClass *gstelement_class = (GstElementClass *) klass;
+  static const gchar *meta_tags[] = { NULL };
 
   aggregator_parent_class = g_type_class_peek_parent (klass);
 
@@ -2734,6 +2868,7 @@ gst_aggregator_class_init (GstAggregatorClass * klass)
 
   gobject_class->set_property = gst_aggregator_set_property;
   gobject_class->get_property = gst_aggregator_get_property;
+  gobject_class->constructed = gst_aggregator_constructed;
   gobject_class->finalize = gst_aggregator_finalize;
 
   g_object_class_install_property (gobject_class, PROP_LATENCY,
@@ -2810,6 +2945,9 @@ gst_aggregator_class_init (GstAggregatorClass * klass)
       GST_TYPE_SEGMENT | G_SIGNAL_TYPE_STATIC_SCOPE, GST_TYPE_CLOCK_TIME,
       GST_TYPE_CLOCK_TIME, GST_TYPE_CLOCK_TIME,
       GST_TYPE_STRUCTURE | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  gst_meta_register_custom ("GstAggregatorMissingDataMeta", meta_tags, NULL,
+      NULL, NULL);
 }
 
 static inline gpointer
@@ -2837,6 +2975,7 @@ gst_aggregator_init (GstAggregator * self, GstAggregatorClass * klass)
 
   priv->max_padserial = -1;
   priv->tags_changed = FALSE;
+  priv->ignore_inactive_pads = FALSE;
 
   self->priv->peer_latency_live = FALSE;
   self->priv->peer_latency_min = self->priv->sub_latency_min = 0;
@@ -2867,6 +3006,7 @@ gst_aggregator_init (GstAggregator * self, GstAggregatorClass * klass)
   self->priv->latency = DEFAULT_LATENCY;
   self->priv->start_time_selection = DEFAULT_START_TIME_SELECTION;
   self->priv->start_time = DEFAULT_START_TIME;
+  self->priv->force_live = DEFAULT_FORCE_LIVE;
 
   g_mutex_init (&self->priv->src_lock);
   g_cond_init (&self->priv->src_cond);
@@ -2877,7 +3017,7 @@ gst_aggregator_init (GstAggregator * self, GstAggregatorClass * klass)
 GType
 gst_aggregator_get_type (void)
 {
-  static volatile gsize type = 0;
+  static gsize type = 0;
 
   if (g_once_init_enter (&type)) {
     GType _type;
@@ -2910,23 +3050,29 @@ gst_aggregator_pad_has_space (GstAggregator * self, GstAggregatorPad * aggpad)
 {
   guint64 max_time_level;
 
+  GST_TRACE_OBJECT (aggpad, "Have %" GST_TIME_FORMAT " queued in %u buffers",
+      GST_TIME_ARGS (aggpad->priv->time_level), aggpad->priv->num_buffers);
+
   /* Empty queue always has space */
   if (aggpad->priv->num_buffers == 0 && aggpad->priv->clipped_buffer == NULL)
     return TRUE;
 
   /* We also want at least two buffers, one is being processed and one is ready
    * for the next iteration when we operate in live mode. */
-  if (self->priv->peer_latency_live && aggpad->priv->num_buffers < 2)
+  if (is_live_unlocked (self) && aggpad->priv->num_buffers < 2)
     return TRUE;
 
-  /* zero latency, if there is a buffer, it's full */
-  if (self->priv->latency == 0)
-    return FALSE;
-
   /* On top of our latency, we also want to allow buffering up to the
    * minimum upstream latency to allow queue free sources with lower then
    * upstream latency. */
-  max_time_level = self->priv->latency + self->priv->upstream_latency_min;
+  max_time_level = self->priv->latency + self->priv->peer_latency_min;
+
+  /* zero latency, if there is a buffer, it's full */
+  if (max_time_level == 0)
+    return FALSE;
+
+  GST_TRACE_OBJECT (aggpad, "Maximum queue level %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (max_time_level));
 
   /* Allow no more buffers than the latency */
   return (aggpad->priv->time_level <= max_time_level);
@@ -2975,6 +3121,9 @@ gst_aggregator_pad_chain_internal (GstAggregator * self,
   GstFlowReturn flow_return;
   GstClockTime buf_pts;
 
+  GST_TRACE_OBJECT (aggpad,
+      "entering chain internal with %" GST_PTR_FORMAT, buffer);
+
   PAD_LOCK (aggpad);
   flow_return = aggpad->priv->flow_return;
   if (flow_return != GST_FLOW_OK)
@@ -2996,10 +3145,12 @@ gst_aggregator_pad_chain_internal (GstAggregator * self,
 
     if ((gst_aggregator_pad_has_space (self, aggpad) || !head)
         && aggpad->priv->flow_return == GST_FLOW_OK) {
-      if (head)
+      if (head) {
+        GST_DEBUG_OBJECT (aggpad, "Enqueuing %" GST_PTR_FORMAT, buffer);
         g_queue_push_head (&aggpad->priv->data, buffer);
-      else
+      } else {
         g_queue_push_tail (&aggpad->priv->data, buffer);
+      }
       apply_buffer (aggpad, buffer, head);
       aggpad->priv->num_buffers++;
       buffer = NULL;
@@ -3013,7 +3164,9 @@ gst_aggregator_pad_chain_internal (GstAggregator * self,
       SRC_UNLOCK (self);
       goto flushing;
     }
-    GST_DEBUG_OBJECT (aggpad, "Waiting for buffer to be consumed");
+    GST_DEBUG_OBJECT (aggpad,
+        "Waiting for buffer to be consumed (chain) before enqueueing %"
+        GST_PTR_FORMAT, buffer);
     GST_OBJECT_UNLOCK (self);
     SRC_UNLOCK (self);
     PAD_WAIT_EVENT (aggpad);
@@ -3071,7 +3224,7 @@ gst_aggregator_pad_chain_internal (GstAggregator * self,
   GST_OBJECT_UNLOCK (self);
   SRC_UNLOCK (self);
 
-  GST_DEBUG_OBJECT (aggpad, "Done chaining");
+  GST_TRACE_OBJECT (aggpad, "Done chaining");
 
   return flow_return;
 
@@ -3092,6 +3245,8 @@ gst_aggregator_pad_chain (GstPad * pad, GstObject * object, GstBuffer * buffer)
   GstFlowReturn ret;
   GstAggregatorPad *aggpad = GST_AGGREGATOR_PAD (pad);
 
+  GST_TRACE_OBJECT (aggpad, "entering chain");
+
   PAD_FLUSH_LOCK (aggpad);
 
   ret = gst_aggregator_pad_chain_internal (GST_AGGREGATOR_CAST (object),
@@ -3191,6 +3346,7 @@ gst_aggregator_pad_finalize (GObject * object)
 {
   GstAggregatorPad *pad = (GstAggregatorPad *) object;
 
+  gst_buffer_replace (&pad->priv->peeked_buffer, NULL);
   g_cond_clear (&pad->priv->event_cond);
   g_mutex_clear (&pad->priv->flush_lock);
   g_mutex_clear (&pad->priv->lock);
@@ -3523,6 +3679,36 @@ gst_aggregator_pad_is_eos (GstAggregatorPad * pad)
   return is_eos;
 }
 
+/**
+ * gst_aggregator_pad_is_inactive:
+ * @pad: an aggregator pad
+ *
+ * It is only valid to call this method from #GstAggregatorClass::aggregate()
+ *
+ * Returns: %TRUE if the pad is inactive, %FALSE otherwise.
+ *   See gst_aggregator_ignore_inactive_pads() for more info.
+ * Since: 1.20
+ */
+gboolean
+gst_aggregator_pad_is_inactive (GstAggregatorPad * pad)
+{
+  GstAggregator *self;
+  gboolean inactive;
+
+  self = GST_AGGREGATOR (gst_pad_get_parent_element (GST_PAD (pad)));
+
+  g_assert_nonnull (self);
+
+  PAD_LOCK (pad);
+  inactive = self->priv->ignore_inactive_pads && is_live_unlocked (self)
+      && pad->priv->first_buffer;
+  PAD_UNLOCK (pad);
+
+  gst_object_unref (self);
+
+  return inactive;
+}
+
 #if 0
 /*
  * gst_aggregator_merge_tags:
@@ -3568,7 +3754,7 @@ gst_aggregator_merge_tags (GstAggregator * self,
  *
  * Lets #GstAggregator sub-classes tell the baseclass what their internal
  * latency is. Will also post a LATENCY message on the bus so the pipeline
- * can reconfigure its global latency.
+ * can reconfigure its global latency if the values changed.
  */
 void
 gst_aggregator_set_latency (GstAggregator * self,
@@ -3589,6 +3775,10 @@ gst_aggregator_set_latency (GstAggregator * self,
     self->priv->sub_latency_max = max_latency;
     changed = TRUE;
   }
+  if (!self->priv->posted_latency_msg) {
+    self->priv->posted_latency_msg = TRUE;
+    changed = TRUE;
+  }
 
   if (changed)
     SRC_BROADCAST (self);
@@ -3654,7 +3844,7 @@ gst_aggregator_get_allocator (GstAggregator * self,
  * gst_aggregator_simple_get_next_time:
  * @self: A #GstAggregator
  *
- * This is a simple #GstAggregatorClass.get_next_time() implementation that
+ * This is a simple #GstAggregatorClass::get_next_time implementation that
  * just looks at the #GstSegment on the srcpad of the aggregator and bases
  * the next time on the running time there.
  *
@@ -3752,3 +3942,76 @@ gst_aggregator_selected_samples (GstAggregator * self,
 
   self->priv->selected_samples_called_or_warned = TRUE;
 }
+
+/**
+ * gst_aggregator_set_ignore_inactive_pads:
+ * @ignore: whether inactive pads should not be waited on
+ *
+ * Subclasses should call this when they don't want to time out
+ * waiting for a pad that hasn't yet received any buffers in live
+ * mode.
+ *
+ * #GstAggregator will still wait once on each newly-added pad, making
+ * sure upstream has had a fair chance to start up.
+ *
+ * Since: 1.20
+ */
+void
+gst_aggregator_set_ignore_inactive_pads (GstAggregator * self, gboolean ignore)
+{
+  g_return_if_fail (GST_IS_AGGREGATOR (self));
+
+  GST_OBJECT_LOCK (self);
+  self->priv->ignore_inactive_pads = ignore;
+  GST_OBJECT_UNLOCK (self);
+}
+
+/**
+ * gst_aggregator_get_ignore_inactive_pads:
+ *
+ * Returns: whether inactive pads will not be waited on
+ * Since: 1.20
+ */
+gboolean
+gst_aggregator_get_ignore_inactive_pads (GstAggregator * self)
+{
+  gboolean ret;
+
+  g_return_val_if_fail (GST_IS_AGGREGATOR (self), FALSE);
+
+  GST_OBJECT_LOCK (self);
+  ret = self->priv->ignore_inactive_pads;
+  GST_OBJECT_UNLOCK (self);
+
+  return ret;
+}
+
+/**
+ * gst_aggregator_get_force_live:
+ *
+ * Subclasses may use the return value to inform whether they should return
+ * %GST_FLOW_EOS from their aggregate implementation.
+ *
+ * Returns: whether live status was forced on @self.
+ *
+ * Since: 1.22
+ */
+gboolean
+gst_aggregator_get_force_live (GstAggregator * self)
+{
+  return self->priv->force_live;
+}
+
+/**
+ * gst_aggregator_set_force_live:
+ *
+ * Subclasses should call this at construction time in order for @self to
+ * aggregate on a timeout even when no live source is connected.
+ *
+ * Since: 1.22
+ */
+void
+gst_aggregator_set_force_live (GstAggregator * self, gboolean force_live)
+{
+  self->priv->force_live = force_live;
+}
diff --git a/libs/gst/base/gstaggregator.h b/libs/gst/base/gstaggregator.h
index 86fc70f..bbac9e4 100644
--- a/libs/gst/base/gstaggregator.h
+++ b/libs/gst/base/gstaggregator.h
@@ -121,6 +121,9 @@ gboolean    gst_aggregator_pad_has_buffer   (GstAggregatorPad * pad);
 GST_BASE_API
 gboolean    gst_aggregator_pad_is_eos       (GstAggregatorPad *  pad);
 
+GST_BASE_API
+gboolean    gst_aggregator_pad_is_inactive  (GstAggregatorPad * pad);
+
 /*********************
  * GstAggregator API *
  ********************/
@@ -424,6 +427,20 @@ void            gst_aggregator_selected_samples     (GstAggregator
                                                      GstClockTime                   duration,
                                                      GstStructure                 * info);
 
+GST_BASE_API
+void            gst_aggregator_set_ignore_inactive_pads (GstAggregator * self,
+                                                         gboolean ignore);
+
+GST_BASE_API
+gboolean        gst_aggregator_get_ignore_inactive_pads (GstAggregator * self);
+
+GST_BASE_API
+gboolean        gst_aggregator_get_force_live       (GstAggregator *self);
+
+GST_BASE_API
+void            gst_aggregator_set_force_live       (GstAggregator *self,
+                                                     gboolean force_live);
+
 /**
  * GstAggregatorStartTimeSelection:
  * @GST_AGGREGATOR_START_TIME_SELECTION_ZERO: Start at running time 0.
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 852b3f6..4e7c46e 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -47,10 +47,10 @@
  *
  * ## Set-up phase
  *
- *  * #GstBaseParse calls #GstBaseParseClass.start() to inform subclass
+ *  * #GstBaseParse calls #GstBaseParseClass::start to inform subclass
  *    that data processing is about to start now.
  *
- *  * #GstBaseParse class calls #GstBaseParseClass.set_sink_caps() to
+ *  * #GstBaseParse class calls #GstBaseParseClass::set_sink_caps to
  *    inform the subclass about incoming sinkpad caps. Subclass could
  *    already set the srcpad caps accordingly, but this might be delayed
  *    until calling gst_base_parse_finish_frame() with a non-queued frame.
@@ -69,11 +69,11 @@
  *    #GstAdapter.
  *
  *  * A buffer of (at least) min_frame_size bytes is passed to subclass
- *    with #GstBaseParseClass.handle_frame(). Subclass checks the contents
+ *    with #GstBaseParseClass::handle_frame. Subclass checks the contents
  *    and can optionally return #GST_FLOW_OK along with an amount of data
  *    to be skipped to find a valid frame (which will result in a
  *    subsequent DISCONT).  If, otherwise, the buffer does not hold a
- *    complete frame, #GstBaseParseClass.handle_frame() can merely return
+ *    complete frame, #GstBaseParseClass::handle_frame can merely return
  *    and will be called again when additional data is available.  In push
  *    mode this amounts to an additional input buffer (thus minimal
  *    additional latency), in pull mode this amounts to some arbitrary
@@ -88,7 +88,7 @@
  *    data while simultaneously providing custom output data.  Note that
  *    baseclass performs some processing (such as tracking overall consumed
  *    data rate versus duration) for each finished frame, but other state
- *    is only updated upon each call to #GstBaseParseClass.handle_frame()
+ *    is only updated upon each call to #GstBaseParseClass::handle_frame
  *    (such as tracking upstream input timestamp).
  *
  *    Subclass is also responsible for setting the buffer metadata
@@ -99,30 +99,30 @@
  *    duration obtained from configuration (see below), and offset
  *    if meaningful (in pull mode).
  *
- *    Note that #GstBaseParseClass.handle_frame() might receive any small
+ *    Note that #GstBaseParseClass::handle_frame might receive any small
  *    amount of input data when leftover data is being drained (e.g. at
  *    EOS).
  *
  *  * As part of finish frame processing, just prior to actually pushing
  *    the buffer in question, it is passed to
- *    #GstBaseParseClass.pre_push_frame() which gives subclass yet one last
+ *    #GstBaseParseClass::pre_push_frame which gives subclass yet one last
  *    chance to examine buffer metadata, or to send some custom (tag)
  *    events, or to perform custom (segment) filtering.
  *
  *  * During the parsing process #GstBaseParseClass will handle both srcpad
  *    and sinkpad events. They will be passed to subclass if
- *    #GstBaseParseClass.sink_event() or #GstBaseParseClass.src_event()
+ *    #GstBaseParseClass::sink_event or #GstBaseParseClass::src_event
  *    implementations have been provided.
  *
  * ## Shutdown phase
  *
- * * #GstBaseParse class calls #GstBaseParseClass.stop() to inform the
+ * * #GstBaseParse class calls #GstBaseParseClass::stop to inform the
  *   subclass that data parsing will be stopped.
  *
  * Subclass is responsible for providing pad template caps for source and
  * sink pads. The pads need to be named "sink" and "src". It also needs to
  * set the fixed caps on srcpad, when the format is ensured (e.g.  when
- * base class calls subclass' #GstBaseParseClass.set_sink_caps() function).
+ * base class calls subclass' #GstBaseParseClass::set_sink_caps function).
  *
  * This base class uses %GST_FORMAT_DEFAULT as a meaning of frames. So,
  * subclass conversion routine needs to know that conversion from
@@ -142,7 +142,7 @@
  * * Inform base class how big data chunks should be retrieved. This is
  *   done with gst_base_parse_set_min_frame_size() function.
  * * Examine data chunks passed to subclass with
- *   #GstBaseParseClass.handle_frame() and pass proper frame(s) to
+ *   #GstBaseParseClass::handle_frame and pass proper frame(s) to
  *   gst_base_parse_finish_frame(), and setting src pad caps and timestamps
  *   on frame.
  * * Provide conversion functions
@@ -158,7 +158,7 @@
  *   metadata (which will be taken from upstream as much as
  *   possible). Internally keeping track of frame durations and respective
  *   sizes that have been pushed provides #GstBaseParse with an estimated
- *   bitrate. A default #GstBaseParseClass.convert() (used if not
+ *   bitrate. A default #GstBaseParseClass::convert (used if not
  *   overridden) will then use these rates to perform obvious conversions.
  *   These rates are also used to update (estimated) duration at regular
  *   frame intervals.
@@ -231,6 +231,8 @@ struct _GstBaseParsePrivate
   guint lead_in, lead_out;
   GstClockTime lead_in_ts, lead_out_ts;
   GstClockTime min_latency, max_latency;
+  /* Tracks whether the latency message was posted at least once */
+  gboolean posted_latency_msg;
 
   gboolean discont;
   gboolean flushing;
@@ -377,7 +379,7 @@ static void gst_base_parse_init (GstBaseParse * parse,
 GType
 gst_base_parse_get_type (void)
 {
-  static volatile gsize base_parse_type = 0;
+  static gsize base_parse_type = 0;
 
   if (g_once_init_enter (&base_parse_type)) {
     static const GTypeInfo base_parse_info = {
@@ -826,6 +828,7 @@ gst_base_parse_reset (GstBaseParse * parse)
   parse->priv->bitrate = 0;
   parse->priv->framecount = 0;
   parse->priv->bytecount = 0;
+  parse->priv->data_bytecount = 0;
   parse->priv->acc_duration = 0;
   parse->priv->first_frame_pts = GST_CLOCK_TIME_NONE;
   parse->priv->first_frame_dts = GST_CLOCK_TIME_NONE;
@@ -898,6 +901,7 @@ gst_base_parse_reset (GstBaseParse * parse)
   parse->priv->detect_buffers_size = 0;
 
   parse->priv->segment_seqnum = GST_SEQNUM_INVALID;
+  parse->priv->posted_latency_msg = FALSE;
   GST_OBJECT_UNLOCK (parse);
 }
 
@@ -1057,7 +1061,7 @@ gst_base_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame)
  * @src_format: #GstFormat describing the source format.
  * @src_value: Source value to be converted.
  * @dest_format: #GstFormat defining the converted format.
- * @dest_value: Pointer where the conversion result will be put.
+ * @dest_value: (out): Pointer where the conversion result will be put.
  *
  * Converts using configured "convert" vmethod in #GstBaseParse class.
  *
@@ -1117,8 +1121,11 @@ update_upstream_provided (GQuark field_id, const GValue * value,
   caps_size = gst_caps_get_size (default_caps);
   for (i = 0; i < caps_size; i++) {
     GstStructure *structure = gst_caps_get_structure (default_caps, i);
-    if (gst_structure_id_has_field (structure, field_id))
+    if (!gst_structure_id_has_field (structure, field_id)) {
       gst_structure_id_set_value (structure, field_id, value);
+    }
+    /* XXX: maybe try to fixate better than gst_caps_fixate() the
+     * downstream caps based on upstream values if possible */
   }
 
   return TRUE;
@@ -1573,6 +1580,16 @@ gst_base_parse_sink_query_default (GstBaseParse * parse, GstQuery * query)
   pad = GST_BASE_PARSE_SINK_PAD (parse);
 
   switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_BITRATE:
+    {
+      if (parse->priv->avg_bitrate) {
+        gst_query_set_bitrate (query, parse->priv->avg_bitrate);
+        res = TRUE;
+      } else {
+        res = gst_pad_query_default (pad, GST_OBJECT_CAST (parse), query);
+      }
+      break;
+    }
     case GST_QUERY_CAPS:
     {
       GstBaseParseClass *bclass;
@@ -1739,7 +1756,7 @@ gst_base_parse_src_event_default (GstBaseParse * parse, GstEvent * event)
  * @dest_format: #GstFormat defining the converted format.
  * @dest_value: (out): Pointer where the conversion result will be put.
  *
- * Default implementation of #GstBaseParseClass.convert().
+ * Default implementation of #GstBaseParseClass::convert.
  *
  * Returns: %TRUE if conversion was successful.
  */
@@ -1778,7 +1795,7 @@ gst_base_parse_convert_default (GstBaseParse * parse,
   if (!parse->priv->framecount)
     goto no_framecount;
 
-  duration = parse->priv->acc_duration / GST_MSECOND;
+  duration = parse->priv->acc_duration;
   bytes = parse->priv->bytecount;
 
   if (G_UNLIKELY (!duration || !bytes))
@@ -1789,9 +1806,9 @@ gst_base_parse_convert_default (GstBaseParse * parse,
       /* BYTES -> TIME conversion */
       GST_DEBUG_OBJECT (parse, "converting bytes -> time");
       *dest_value = gst_util_uint64_scale (src_value, duration, bytes);
-      *dest_value *= GST_MSECOND;
-      GST_DEBUG_OBJECT (parse, "conversion result: %" G_GINT64_FORMAT " ms",
-          *dest_value / GST_MSECOND);
+      GST_DEBUG_OBJECT (parse,
+          "converted %" G_GINT64_FORMAT " bytes to %" GST_TIME_FORMAT,
+          src_value, GST_TIME_ARGS (*dest_value));
       ret = TRUE;
     } else {
       GST_DEBUG_OBJECT (parse, "converting bytes -> other not implemented");
@@ -1799,11 +1816,10 @@ gst_base_parse_convert_default (GstBaseParse * parse,
   } else if (src_format == GST_FORMAT_TIME) {
     if (dest_format == GST_FORMAT_BYTES) {
       GST_DEBUG_OBJECT (parse, "converting time -> bytes");
-      *dest_value = gst_util_uint64_scale (src_value / GST_MSECOND, bytes,
-          duration);
+      *dest_value = gst_util_uint64_scale (src_value, bytes, duration);
       GST_DEBUG_OBJECT (parse,
-          "time %" G_GINT64_FORMAT " ms in bytes = %" G_GINT64_FORMAT,
-          src_value / GST_MSECOND, *dest_value);
+          "converted %" GST_TIME_FORMAT " to %" G_GINT64_FORMAT " bytes",
+          GST_TIME_ARGS (src_value), *dest_value);
       ret = TRUE;
     } else {
       GST_DEBUG_OBJECT (parse, "converting time -> other not implemented");
@@ -1991,6 +2007,8 @@ gst_base_parse_add_index_entry (GstBaseParse * parse, guint64 offset,
   gboolean ret = FALSE;
   GstIndexAssociation associations[2];
 
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (ts), FALSE);
+
   GST_LOG_OBJECT (parse, "Adding key=%d index entry %" GST_TIME_FORMAT
       " @ offset 0x%08" G_GINT64_MODIFIER "x", key, GST_TIME_ARGS (ts), offset);
 
@@ -4011,10 +4029,10 @@ gst_base_parse_set_syncable (GstBaseParse * parse, gboolean syncable)
  * Set if the nature of the format or configuration does not allow (much)
  * parsing, and the parser should operate in passthrough mode (which only
  * applies when operating in push mode). That is, incoming buffers are
- * pushed through unmodified, i.e. no #GstBaseParseClass.handle_frame()
- * will be invoked, but #GstBaseParseClass.pre_push_frame() will still be
+ * pushed through unmodified, i.e. no #GstBaseParseClass::handle_frame
+ * will be invoked, but #GstBaseParseClass::pre_push_frame will still be
  * invoked, so subclass can perform as much or as little is appropriate for
- * passthrough semantics in #GstBaseParseClass.pre_push_frame().
+ * passthrough semantics in #GstBaseParseClass::pre_push_frame.
  */
 void
 gst_base_parse_set_passthrough (GstBaseParse * parse, gboolean passthrough)
@@ -4066,23 +4084,44 @@ gst_base_parse_set_infer_ts (GstBaseParse * parse, gboolean infer_ts)
  * @max_latency: maximum parse latency
  *
  * Sets the minimum and maximum (which may likely be equal) latency introduced
- * by the parsing process.  If there is such a latency, which depends on the
+ * by the parsing process. If there is such a latency, which depends on the
  * particular parsing of the format, it typically corresponds to 1 frame duration.
+ *
+ * If the provided values changed from previously provided ones, this will
+ * also post a LATENCY message on the bus so the pipeline can reconfigure its
+ * global latency.
  */
 void
 gst_base_parse_set_latency (GstBaseParse * parse, GstClockTime min_latency,
     GstClockTime max_latency)
 {
-  g_return_if_fail (min_latency != GST_CLOCK_TIME_NONE);
+  gboolean post_message = FALSE;
+
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min_latency));
   g_return_if_fail (min_latency <= max_latency);
 
-  GST_OBJECT_LOCK (parse);
-  parse->priv->min_latency = min_latency;
-  parse->priv->max_latency = max_latency;
-  GST_OBJECT_UNLOCK (parse);
   GST_INFO_OBJECT (parse, "min/max latency %" GST_TIME_FORMAT ", %"
       GST_TIME_FORMAT, GST_TIME_ARGS (min_latency),
       GST_TIME_ARGS (max_latency));
+
+  GST_OBJECT_LOCK (parse);
+  if (parse->priv->min_latency != min_latency) {
+    parse->priv->min_latency = min_latency;
+    post_message = TRUE;
+  }
+  if (parse->priv->max_latency != max_latency) {
+    parse->priv->max_latency = max_latency;
+    post_message = TRUE;
+  }
+  if (!parse->priv->posted_latency_msg) {
+    parse->priv->posted_latency_msg = TRUE;
+    post_message = TRUE;
+  }
+  GST_OBJECT_UNLOCK (parse);
+
+  if (post_message)
+    gst_element_post_message (GST_ELEMENT_CAST (parse),
+        gst_message_new_latency (GST_OBJECT_CAST (parse)));
 }
 
 static gboolean
diff --git a/libs/gst/base/gstbaseparse.h b/libs/gst/base/gstbaseparse.h
index a9fe9e3..06e4409 100644
--- a/libs/gst/base/gstbaseparse.h
+++ b/libs/gst/base/gstbaseparse.h
@@ -55,8 +55,8 @@ G_BEGIN_DECLS
  * GST_BASE_PARSE_FLOW_DROPPED:
  *
  * A #GstFlowReturn that can be returned from
- * #GstBaseParseClass.handle_frame() to indicate that no output buffer was
- * generated, or from #GstBaseParseClass.pre_push_frame() to to forego
+ * #GstBaseParseClass::handle_frame to indicate that no output buffer was
+ * generated, or from #GstBaseParseClass::pre_push_frame to to forego
  * pushing buffer.
  */
 #define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS
@@ -242,6 +242,21 @@ struct _GstBaseParseClass {
   gboolean      (*set_sink_caps)      (GstBaseParse * parse,
                                        GstCaps      * caps);
 
+  /**
+   * GstBaseParseClass::handle_frame:
+   * @skipsize: (out):
+   *
+   * Parses the input data into valid frames as defined by subclass
+   * which should be passed to gst_base_parse_finish_frame().
+   * The frame's input buffer is guaranteed writable,
+   * whereas the input frame ownership is held by caller
+   * (so subclass should make a copy if it needs to hang on).
+   * Input buffer (data) is provided by baseclass with as much
+   * metadata set as possible by baseclass according to upstream
+   * information and/or subclass settings,
+   * though subclass may still set buffer timestamp and duration
+   * if desired.
+   */
   GstFlowReturn (*handle_frame)       (GstBaseParse      * parse,
                                        GstBaseParseFrame * frame,
                                        gint              * skipsize);
diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
index 8bfc495..294d946 100644
--- a/libs/gst/base/gstbasesink.c
+++ b/libs/gst/base/gstbasesink.c
@@ -46,7 +46,7 @@
  *
  *   // sinktemplate should be a #GstStaticPadTemplate with direction
  *   // %GST_PAD_SINK and name "sink"
- *   gst_element_class_add_static_pad_template (gstelement_class, &amp;sinktemplate);
+ *   gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
  *
  *   gst_element_class_set_static_metadata (gstelement_class,
  *       "Sink name",
@@ -59,19 +59,19 @@
  * #GstBaseSink will handle the prerolling correctly. This means that it will
  * return %GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first
  * buffer arrives in this element. The base class will call the
- * #GstBaseSinkClass.preroll() vmethod with this preroll buffer and will then
+ * #GstBaseSinkClass::preroll vmethod with this preroll buffer and will then
  * commit the state change to the next asynchronously pending state.
  *
  * When the element is set to PLAYING, #GstBaseSink will synchronise on the
- * clock using the times returned from #GstBaseSinkClass.get_times(). If this
+ * clock using the times returned from #GstBaseSinkClass::get_times. If this
  * function returns %GST_CLOCK_TIME_NONE for the start time, no synchronisation
  * will be done. Synchronisation can be disabled entirely by setting the object
  * #GstBaseSink:sync property to %FALSE.
  *
- * After synchronisation the virtual method #GstBaseSinkClass.render() will be
+ * After synchronisation the virtual method #GstBaseSinkClass::render will be
  * called. Subclasses should minimally implement this method.
  *
- * Subclasses that synchronise on the clock in the #GstBaseSinkClass.render()
+ * Subclasses that synchronise on the clock in the #GstBaseSinkClass::render
  * method are supported as well. These classes typically receive a buffer in
  * the render method and can then potentially block on the clock while
  * rendering. A typical example is an audiosink.
@@ -80,7 +80,7 @@
  *
  * Upon receiving the EOS event in the PLAYING state, #GstBaseSink will wait
  * for the clock to reach the time indicated by the stop time of the last
- * #GstBaseSinkClass.get_times() call before posting an EOS message. When the
+ * #GstBaseSinkClass::get_times call before posting an EOS message. When the
  * element receives EOS in PAUSED, preroll completes, the event is queued and an
  * EOS message is posted when going to PLAYING.
  *
@@ -95,24 +95,24 @@
  * If no clock has been set on the element, the query will be forwarded
  * upstream.
  *
- * The #GstBaseSinkClass.set_caps() function will be called when the subclass
+ * The #GstBaseSinkClass::set_caps function will be called when the subclass
  * should configure itself to process a specific media type.
  *
- * The #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() virtual methods
+ * The #GstBaseSinkClass::start and #GstBaseSinkClass::stop virtual methods
  * will be called when resources should be allocated. Any
- * #GstBaseSinkClass.preroll(), #GstBaseSinkClass.render() and
- * #GstBaseSinkClass.set_caps() function will be called between the
- * #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() calls.
+ * #GstBaseSinkClass::preroll, #GstBaseSinkClass::render and
+ * #GstBaseSinkClass::set_caps function will be called between the
+ * #GstBaseSinkClass::start and #GstBaseSinkClass::stop calls.
  *
- * The #GstBaseSinkClass.event() virtual method will be called when an event is
+ * The #GstBaseSinkClass::event virtual method will be called when an event is
  * received by #GstBaseSink. Normally this method should only be overridden by
  * very specific elements (such as file sinks) which need to handle the
  * newsegment event specially.
  *
- * The #GstBaseSinkClass.unlock() method is called when the elements should
+ * The #GstBaseSinkClass::unlock method is called when the elements should
  * unblock any blocking operations they perform in the
- * #GstBaseSinkClass.render() method. This is mostly useful when the
- * #GstBaseSinkClass.render() method performs a blocking write on a file
+ * #GstBaseSinkClass::render method. This is mostly useful when the
+ * #GstBaseSinkClass::render method performs a blocking write on a file
  * descriptor, for example.
  *
  * The #GstBaseSink:max-lateness property affects how the sink deals with
@@ -123,7 +123,7 @@
  * If the frame is later than max-lateness, the sink will drop the buffer
  * without calling the render method.
  * This feature is disabled if sync is disabled, the
- * #GstBaseSinkClass.get_times() method does not return a valid start time or
+ * #GstBaseSinkClass::get_times method does not return a valid start time or
  * max-lateness is set to -1 (the default).
  * Subclasses can use gst_base_sink_set_max_lateness() to configure the
  * max-lateness value.
@@ -147,7 +147,7 @@
 #include <gst/gst_private.h>
 
 #include "gstbasesink.h"
-#include <gst/gst-i18n-lib.h>
+#include <glib/gi18n-lib.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_base_sink_debug);
 #define GST_CAT_DEFAULT gst_base_sink_debug
@@ -338,7 +338,7 @@ static void gst_base_sink_finalize (GObject * object);
 GType
 gst_base_sink_get_type (void)
 {
-  static volatile gsize base_sink_type = 0;
+  static gsize base_sink_type = 0;
 
   if (g_once_init_enter (&base_sink_type)) {
     GType _type;
@@ -1327,6 +1327,7 @@ gst_base_sink_set_render_delay (GstBaseSink * sink, GstClockTime delay)
   GstClockTime old_render_delay;
 
   g_return_if_fail (GST_IS_BASE_SINK (sink));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (delay));
 
   GST_OBJECT_LOCK (sink);
   old_render_delay = sink->priv->render_delay;
@@ -1768,6 +1769,9 @@ gst_base_sink_commit_state (GstBaseSink * basesink)
             next, pending, GST_STATE_VOID_PENDING));
   }
 
+  gst_element_post_message (GST_ELEMENT_CAST (basesink),
+      gst_message_new_latency (GST_OBJECT_CAST (basesink)));
+
   GST_STATE_BROADCAST (basesink);
 
   return TRUE;
@@ -1796,6 +1800,9 @@ nothing_pending:
     /* we can report latency queries now */
     basesink->priv->have_latency = TRUE;
     GST_OBJECT_UNLOCK (basesink);
+
+    gst_element_post_message (GST_ELEMENT_CAST (basesink),
+        gst_message_new_latency (GST_OBJECT_CAST (basesink)));
     return TRUE;
   }
 stopping_unlocked:
@@ -2198,7 +2205,11 @@ do_times:
   rstop = gst_segment_to_running_time (segment, format, cstop);
 
   /* In reverse playback, play from stop to start */
-  if (segment->rate < 0.0 && GST_CLOCK_TIME_IS_VALID (rstop)) {
+  if (segment->rate < 0.0 && GST_CLOCK_TIME_IS_VALID (rstop)
+      /* FIXME: Current stepping implemenation expects unmodified rstart/rstop
+       * for reverse playback. Don't swap those values when stepping
+       * unless stepping code is updated as such */
+      && !step->valid) {
     GstClockTime tmp = rstart;
     rstart = rstop;
     rstop = tmp;
@@ -2305,9 +2316,9 @@ gst_base_sink_adjust_time (GstBaseSink * basesink, GstClockTime time)
  * is no clock, no synchronisation is done and %GST_CLOCK_BADTIME is returned.
  *
  * This function should only be called with the PREROLL_LOCK held, like when
- * receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
+ * receiving an EOS event in the #GstBaseSinkClass::event vmethod or when
  * receiving a buffer in
- * the #GstBaseSinkClass.render() vmethod.
+ * the #GstBaseSinkClass::render vmethod.
  *
  * The @time argument should be the running_time of when this method should
  * return and is not adjusted with any latency or offset configured in the
@@ -2395,14 +2406,14 @@ no_clock:
  * gst_base_sink_wait_preroll:
  * @sink: the sink
  *
- * If the #GstBaseSinkClass.render() method performs its own synchronisation
+ * If the #GstBaseSinkClass::render method performs its own synchronisation
  * against the clock it must unblock when going from PLAYING to the PAUSED state
  * and call this method before continuing to render the remaining data.
  *
- * If the #GstBaseSinkClass.render() method can block on something else than
+ * If the #GstBaseSinkClass::render method can block on something else than
  * the clock, it must also be ready to unblock immediately on
- * the #GstBaseSinkClass.unlock() method and cause the
- * #GstBaseSinkClass.render() method to immediately call this function.
+ * the #GstBaseSinkClass::unlock method and cause the
+ * #GstBaseSinkClass::render method to immediately call this function.
  * In this case, the subclass must be prepared to continue rendering where it
  * left off if this function returns %GST_FLOW_OK.
  *
@@ -5692,6 +5703,8 @@ gst_base_sink_change_state (GstElement * element, GstStateChange transition)
             gst_message_new_async_start (GST_OBJECT_CAST (basesink)));
       } else {
         priv->have_latency = TRUE;
+        gst_element_post_message (GST_ELEMENT_CAST (basesink),
+            gst_message_new_latency (GST_OBJECT_CAST (basesink)));
       }
       GST_BASE_SINK_PREROLL_UNLOCK (basesink);
       break;
diff --git a/libs/gst/base/gstbasesink.h b/libs/gst/base/gstbasesink.h
index 7ce8650..8edae03 100644
--- a/libs/gst/base/gstbasesink.h
+++ b/libs/gst/base/gstbasesink.h
@@ -125,10 +125,10 @@ struct _GstBaseSink {
  * @unlock: Unlock any pending access to the resource. Subclasses should
  *     unblock any blocked function ASAP and call gst_base_sink_wait_preroll()
  * @unlock_stop: Clear the previous unlock request. Subclasses should clear
- *     any state they set during #GstBaseSinkClass.unlock(), and be ready to
+ *     any state they set during #GstBaseSinkClass::unlock, and be ready to
  *     continue where they left off after gst_base_sink_wait_preroll(),
  *     gst_base_sink_wait() or gst_wait_sink_wait_clock() return or
- *     #GstBaseSinkClass.render() is called again.
+ *     #GstBaseSinkClass::render is called again.
  * @query: perform a #GstQuery on the element.
  * @event: Override this to handle events arriving on the sink pad
  * @wait_event: Override this to implement custom logic to wait for the event
@@ -152,7 +152,7 @@ struct _GstBaseSinkClass {
   GstElementClass parent_class;
 
   /**
-   * GstBaseSink::get_caps:
+   * GstBaseSinkClass::get_caps:
    * @filter: (in) (nullable):
    *
    * Called to get sink pad caps from the subclass.
@@ -166,7 +166,13 @@ struct _GstBaseSinkClass {
   /* start or stop a pulling thread */
   gboolean      (*activate_pull)(GstBaseSink *sink, gboolean active);
 
-  /* get the start and end times for syncing on this buffer */
+  /**
+   * GstBaseSinkClass::get_times:
+   * @start: (out): the start #GstClockTime
+   * @end: (out): the end #GstClockTime
+   *
+   * Get the start and end times for syncing on this buffer.
+   */
   void          (*get_times)    (GstBaseSink *sink, GstBuffer *buffer,
                                  GstClockTime *start, GstClockTime *end);
 
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c
index e35a88f..e47d145 100644
--- a/libs/gst/base/gstbasesrc.c
+++ b/libs/gst/base/gstbasesrc.c
@@ -42,25 +42,25 @@
  * conditions are met, it also supports pull mode scheduling:
  *
  *   * The format is set to %GST_FORMAT_BYTES (default).
- *   * #GstBaseSrcClass.is_seekable() returns %TRUE.
+ *   * #GstBaseSrcClass::is_seekable returns %TRUE.
  *
  * If all the conditions are met for operating in pull mode, #GstBaseSrc is
  * automatically seekable in push mode as well. The following conditions must
  * be met to make the element seekable in push mode when the format is not
  * %GST_FORMAT_BYTES:
  *
- * * #GstBaseSrcClass.is_seekable() returns %TRUE.
- * * #GstBaseSrcClass.query() can convert all supported seek formats to the
+ * * #GstBaseSrcClass::is_seekable returns %TRUE.
+ * * #GstBaseSrcClass::query can convert all supported seek formats to the
  *   internal format as set with gst_base_src_set_format().
- * * #GstBaseSrcClass.do_seek() is implemented, performs the seek and returns
+ * * #GstBaseSrcClass::do_seek is implemented, performs the seek and returns
  *    %TRUE.
  *
  * When the element does not meet the requirements to operate in pull mode, the
- * offset and length in the #GstBaseSrcClass.create() method should be ignored.
+ * offset and length in the #GstBaseSrcClass::create method should be ignored.
  * It is recommended to subclass #GstPushSrc instead, in this situation. If the
  * element can operate in pull mode but only with specific offsets and
  * lengths, it is allowed to generate an error when the wrong values are passed
- * to the #GstBaseSrcClass.create() function.
+ * to the #GstBaseSrcClass::create function.
  *
  * #GstBaseSrc has support for live sources. Live sources are sources that when
  * paused discard data, such as audio or video capture devices. A typical live
@@ -69,7 +69,7 @@
  * Use gst_base_src_set_live() to activate the live source mode.
  *
  * A live source does not produce data in the PAUSED state. This means that the
- * #GstBaseSrcClass.create() method will not be called in PAUSED but only in
+ * #GstBaseSrcClass::create method will not be called in PAUSED but only in
  * PLAYING. To signal the pipeline that the element will not produce data, the
  * return value from the READY to PAUSED state will be
  * %GST_STATE_CHANGE_NO_PREROLL.
@@ -81,12 +81,12 @@
  *
  * Live sources that synchronize and block on the clock (an audio source, for
  * example) can use gst_base_src_wait_playing() when the
- * #GstBaseSrcClass.create() function was interrupted by a state change to
+ * #GstBaseSrcClass::create function was interrupted by a state change to
  * PAUSED.
  *
- * The #GstBaseSrcClass.get_times() method can be used to implement pseudo-live
- * sources. It only makes sense to implement the #GstBaseSrcClass.get_times()
- * function if the source is a live source. The #GstBaseSrcClass.get_times()
+ * The #GstBaseSrcClass::get_times method can be used to implement pseudo-live
+ * sources. It only makes sense to implement the #GstBaseSrcClass::get_times
+ * function if the source is a live source. The #GstBaseSrcClass::get_times
  * function should return timestamps starting from 0, as if it were a non-live
  * source. The base class will make sure that the timestamps are transformed
  * into the current running_time. The base source will then wait for the
@@ -109,7 +109,7 @@
  *   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
  *   // srctemplate should be a #GstStaticPadTemplate with direction
  *   // %GST_PAD_SRC and name "src"
- *   gst_element_class_add_static_pad_template (gstelement_class, &amp;srctemplate);
+ *   gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
  *
  *   gst_element_class_set_static_metadata (gstelement_class,
  *      "Source name",
@@ -152,7 +152,7 @@
 #include <gst/glib-compat-private.h>
 
 #include "gstbasesrc.h"
-#include <gst/gst-i18n-lib.h>
+#include <glib/gi18n-lib.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_base_src_debug);
 #define GST_CAT_DEFAULT gst_base_src_debug
@@ -238,8 +238,8 @@ struct _GstBaseSrcPrivate
   GstClockTimeDiff ts_offset;   /* OBJECT_LOCK */
 
   gboolean do_timestamp;        /* OBJECT_LOCK */
-  volatile gint dynamic_size;   /* atomic */
-  volatile gint automatic_eos;  /* atomic */
+  gint dynamic_size;            /* atomic */
+  gint automatic_eos;           /* atomic */
 
   /* stream sequence number */
   guint32 seqnum;               /* STREAM_LOCK */
@@ -247,7 +247,7 @@ struct _GstBaseSrcPrivate
   /* pending events (TAG, CUSTOM_BOTH, CUSTOM_DOWNSTREAM) to be
    * pushed in the data stream */
   GList *pending_events;        /* OBJECT_LOCK */
-  volatile gint have_events;    /* OBJECT_LOCK */
+  gint have_events;             /* OBJECT_LOCK */
 
   /* QoS *//* with LOCK */
   gdouble proportion;           /* OBJECT_LOCK */
@@ -277,7 +277,7 @@ static void gst_base_src_finalize (GObject * object);
 GType
 gst_base_src_get_type (void)
 {
-  static volatile gsize base_src_type = 0;
+  static gsize base_src_type = 0;
 
   if (g_once_init_enter (&base_src_type)) {
     GType _type;
@@ -442,7 +442,7 @@ gst_base_src_init (GstBaseSrc * basesrc, gpointer g_class)
   g_cond_init (&basesrc->live_cond);
   basesrc->num_buffers = DEFAULT_NUM_BUFFERS;
   basesrc->num_buffers_left = -1;
-  basesrc->priv->automatic_eos = TRUE;
+  g_atomic_int_set (&basesrc->priv->automatic_eos, TRUE);
 
   basesrc->can_activate_push = TRUE;
 
@@ -533,7 +533,7 @@ flushing:
  * gst_base_src_wait_playing:
  * @src: the src
  *
- * If the #GstBaseSrcClass.create() method performs its own synchronisation
+ * If the #GstBaseSrcClass::create method performs its own synchronisation
  * against the clock it must unblock when going from PLAYING to the PAUSED state
  * and call this method before continuing to produce the remaining data.
  *
@@ -614,7 +614,7 @@ gst_base_src_is_live (GstBaseSrc * src)
  * for sending SEGMENT events and for performing seeks.
  *
  * If a format of GST_FORMAT_BYTES is set, the element will be able to
- * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns %TRUE.
+ * operate in pull mode if the #GstBaseSrcClass::is_seekable returns %TRUE.
  *
  * This function must only be called in states < %GST_STATE_PAUSED.
  */
@@ -659,7 +659,7 @@ gst_base_src_set_dynamic_size (GstBaseSrc * src, gboolean dynamic)
  * When @src operates in %GST_FORMAT_TIME, #GstBaseSrc will send an EOS
  * when a buffer outside of the currently configured segment is pushed if
  * @automatic_eos is %TRUE. Since 1.16, if @automatic_eos is %FALSE an
- * EOS will be pushed only when the #GstBaseSrcClass.create() implementation
+ * EOS will be pushed only when the #GstBaseSrcClass::create implementation
  * returns %GST_FLOW_EOS.
  *
  * Since: 1.4
@@ -944,7 +944,7 @@ gst_base_src_new_segment (GstBaseSrc * src, const GstSegment * segment)
   src->priv->segment_pending = TRUE;
   src->priv->segment_seqnum = gst_util_seqnum_next ();
 
-  GST_DEBUG_OBJECT (src, "Starting new segment %" GST_PTR_FORMAT, segment);
+  GST_DEBUG_OBJECT (src, "Starting new segment %" GST_SEGMENT_FORMAT, segment);
 
   GST_OBJECT_UNLOCK (src);
 
@@ -1342,20 +1342,25 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query)
     case GST_QUERY_CAPS:
     {
       GstBaseSrcClass *bclass;
-      GstCaps *caps, *filter;
+      GstCaps *caps = NULL, *filter;
 
       bclass = GST_BASE_SRC_GET_CLASS (src);
-      if (bclass->get_caps) {
+      if (GST_PAD_IS_FIXED_CAPS (src->srcpad)) {
+        caps = gst_pad_get_current_caps (src->srcpad);
+      }
+
+      if (caps == NULL && bclass->get_caps) {
         gst_query_parse_caps (query, &filter);
-        if ((caps = bclass->get_caps (src, filter))) {
-          gst_query_set_caps_result (query, caps);
-          gst_caps_unref (caps);
-          res = TRUE;
-        } else {
-          res = FALSE;
-        }
-      } else
+        caps = bclass->get_caps (src, filter);
+      }
+
+      if (caps != NULL) {
+        res = TRUE;
+        gst_query_set_caps_result (query, caps);
+        gst_caps_unref (caps);
+      } else {
         res = FALSE;
+      }
       break;
     }
     case GST_QUERY_URI:{
@@ -3462,10 +3467,10 @@ gst_base_src_negotiate_unlocked (GstBaseSrc * basesrc)
  *
  * Negotiates src pad caps with downstream elements.
  * Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
- * if #GstBaseSrcClass.negotiate() fails.
+ * if #GstBaseSrcClass::negotiate fails.
  *
- * Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in
- * #GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any
+ * Do not call this in the #GstBaseSrcClass::fill vmethod. Call this in
+ * #GstBaseSrcClass::create or in #GstBaseSrcClass::alloc, _before_ any
  * buffer is allocated.
  *
  * Returns: %TRUE if the negotiation succeeded, else %FALSE.
diff --git a/libs/gst/base/gstbasesrc.h b/libs/gst/base/gstbasesrc.h
index 13a7c66..38c3ef3 100644
--- a/libs/gst/base/gstbasesrc.h
+++ b/libs/gst/base/gstbasesrc.h
@@ -135,7 +135,7 @@ struct _GstBaseSrc {
  *     gst_base_src_set_format().
  * @is_seekable: Check if the source can seek
  * @prepare_seek_segment: Prepare the #GstSegment that will be passed to the
- *   #GstBaseSrcClass.do_seek() vmethod for executing a seek
+ *   #GstBaseSrcClass::do_seek vmethod for executing a seek
  *   request. Sub-classes should override this if they support seeking in
  *   formats other than the configured native format. By default, it tries to
  *   convert the seek arguments to the configured native format and prepare a
@@ -144,11 +144,11 @@ struct _GstBaseSrc {
  * @unlock: Unlock any pending access to the resource. Subclasses should unblock
  *    any blocked function ASAP. In particular, any `create()` function in
  *    progress should be unblocked and should return GST_FLOW_FLUSHING. Any
- *    future #GstBaseSrcClass.create() function call should also return
- *    GST_FLOW_FLUSHING until the #GstBaseSrcClass.unlock_stop() function has
+ *    future #GstBaseSrcClass::create function call should also return
+ *    GST_FLOW_FLUSHING until the #GstBaseSrcClass::unlock_stop function has
  *    been called.
  * @unlock_stop: Clear the previous unlock request. Subclasses should clear any
- *    state they set during #GstBaseSrcClass.unlock(), such as clearing command
+ *    state they set during #GstBaseSrcClass::unlock, such as clearing command
  *    queues.
  * @query: Handle a requested query.
  * @event: Override this to implement custom event handling.
@@ -158,7 +158,7 @@ struct _GstBaseSrc {
  *   buffer should be returned when the return value is different from
  *   GST_FLOW_OK. A return value of GST_FLOW_EOS signifies that the end of
  *   stream is reached. The default implementation will call
- *   #GstBaseSrcClass.alloc() and then call #GstBaseSrcClass.fill().
+ *   #GstBaseSrcClass::alloc and then call #GstBaseSrcClass::fill.
  * @alloc: Ask the subclass to allocate a buffer with for offset and size. The
  *   default implementation will create a new buffer from the negotiated allocator.
  * @fill: Ask the subclass to fill the buffer with data for offset and size. The
@@ -206,8 +206,15 @@ struct _GstBaseSrcClass {
   void          (*get_times)    (GstBaseSrc *src, GstBuffer *buffer,
                                  GstClockTime *start, GstClockTime *end);
 
-  /* get the total size of the resource in the format set by
-   * gst_base_src_set_format() */
+  /**
+   * GstBaseSrcClass::get_size:
+   * @size: (out):
+   *
+   * Get the total size of the resource in the format set by
+   * gst_base_src_set_format().
+   *
+   * Returns: %TRUE if the size is available and has been set.
+   */
   gboolean      (*get_size)     (GstBaseSrc *src, guint64 *size);
 
   /* check if the resource is seekable */
@@ -234,15 +241,20 @@ struct _GstBaseSrcClass {
 
   /**
    * GstBaseSrcClass::create:
-   * @buf: (out):
+   * @buf: (inout):
    *
    * Ask the subclass to create a buffer with @offset and @size, the default
-   * implementation will call alloc and fill.
+   * implementation will call alloc if no allocated @buf is provided and then call fill.
    */
   GstFlowReturn (*create)       (GstBaseSrc *src, guint64 offset, guint size,
                                  GstBuffer **buf);
-  /* ask the subclass to allocate an output buffer. The default implementation
-   * will use the negotiated allocator. */
+  /**
+   * GstBaseSrcClass::alloc:
+   * @buf: (out):
+   *
+   * Ask the subclass to allocate an output buffer with @offset and @size, the default
+   * implementation will use the negotiated allocator.
+   */
   GstFlowReturn (*alloc)        (GstBaseSrc *src, guint64 offset, guint size,
                                  GstBuffer **buf);
   /* ask the subclass to fill the buffer with data from offset and size */
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c
index 2df00f9..3f38c09 100644
--- a/libs/gst/base/gstbasetransform.c
+++ b/libs/gst/base/gstbasetransform.c
@@ -141,7 +141,7 @@
 #include <string.h>
 
 #include "../../../gst/gst_private.h"
-#include "../../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "../../../gst/glib-compat-private.h"
 #include "gstbasetransform.h"
 
@@ -219,7 +219,7 @@ static GstFlowReturn default_generate_output (GstBaseTransform * trans,
 GType
 gst_base_transform_get_type (void)
 {
-  static volatile gsize base_transform_type = 0;
+  static gsize base_transform_type = 0;
 
   if (g_once_init_enter (&base_transform_type)) {
     GType _type;
@@ -475,7 +475,7 @@ gst_base_transform_transform_caps (GstBaseTransform * trans,
     GST_LOG_OBJECT (trans, "  to: %" GST_PTR_FORMAT, ret);
 
 #ifdef GST_ENABLE_EXTRA_CHECKS
-    if (filter) {
+    if (ret && filter) {
       if (!gst_caps_is_subset (ret, filter)) {
         GstCaps *intersection;
 
@@ -810,7 +810,8 @@ gst_base_transform_default_decide_allocation (GstBaseTransform * trans,
 
     /* by default we remove all metadata, subclasses should implement a
      * filter_meta function */
-    if (gst_meta_api_type_has_tag (api, _gst_meta_tag_memory)) {
+    if (gst_meta_api_type_has_tag (api, _gst_meta_tag_memory)
+        || gst_meta_api_type_has_tag (api, _gst_meta_tag_memory_reference)) {
       /* remove all memory dependent metadata because we are going to have to
        * allocate different memory for input and output. */
       GST_LOG_OBJECT (trans, "removing memory specific metadata %s",
@@ -1452,15 +1453,15 @@ done:
  * marked as needing reconfiguring. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in
  * any case. But marks it again if negotiation fails.
  *
- * Do not call this in the #GstBaseTransformClass.transform() or
- * #GstBaseTransformClass.transform_ip() vmethod. Call this in
- * #GstBaseTransformClass.submit_input_buffer(),
- * #GstBaseTransformClass.prepare_output_buffer() or in
- * #GstBaseTransformClass.generate_output() _before_ any output buffer is
+ * Do not call this in the #GstBaseTransformClass::transform or
+ * #GstBaseTransformClass::transform_ip vmethod. Call this in
+ * #GstBaseTransformClass::submit_input_buffer,
+ * #GstBaseTransformClass::prepare_output_buffer or in
+ * #GstBaseTransformClass::generate_output _before_ any output buffer is
  * allocated.
  *
  * It will be default be called when handling an ALLOCATION query or at the
- * very beginning of the default #GstBaseTransformClass.submit_input_buffer()
+ * very beginning of the default #GstBaseTransformClass::submit_input_buffer
  * implementation.
  *
  * Returns: %TRUE if the negotiation succeeded, else %FALSE.
@@ -1595,6 +1596,10 @@ gst_base_transform_default_query (GstBaseTransform * trans,
 
       gst_query_parse_caps (query, &filter);
       caps = gst_base_transform_query_caps (trans, pad, filter);
+      if (!caps) {
+        GST_WARNING_OBJECT (pad, "no caps can be handled by this pad");
+        caps = gst_caps_new_empty ();
+      }
       gst_query_set_caps_result (query, caps);
       gst_caps_unref (caps);
       ret = TRUE;
@@ -1762,7 +1767,8 @@ foreach_metadata (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
 
   klass = GST_BASE_TRANSFORM_GET_CLASS (trans);
 
-  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)) {
+  if (gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory)
+      || gst_meta_api_type_has_tag (info->api, _gst_meta_tag_memory_reference)) {
     /* never call the transform_meta with memory specific metadata */
     GST_DEBUG_OBJECT (trans, "not copying memory specific metadata %s",
         g_type_name (info->api));
@@ -2030,6 +2036,7 @@ default_submit_input_buffer (GstBaseTransform * trans, gboolean is_discont,
   GstFlowReturn ret = GST_FLOW_OK;
   GstClockTime running_time;
   GstClockTime timestamp;
+  gboolean qos_enabled;
 
   if (G_UNLIKELY (!gst_base_transform_reconfigure_unlocked (trans)))
     goto not_negotiated;
@@ -2052,6 +2059,14 @@ default_submit_input_buffer (GstBaseTransform * trans, gboolean is_discont,
   if (!priv->negotiated && !priv->passthrough && (bclass->set_caps != NULL))
     goto not_negotiated;
 
+  GST_OBJECT_LOCK (trans);
+  qos_enabled = priv->qos_enabled;
+  GST_OBJECT_UNLOCK (trans);
+
+  /* Skip all qos handling if disabled */
+  if (!qos_enabled)
+    goto no_qos;
+
   /* can only do QoS if the segment is in TIME */
   if (trans->segment.format != GST_FORMAT_TIME)
     goto no_qos;
@@ -2073,8 +2088,7 @@ default_submit_input_buffer (GstBaseTransform * trans, gboolean is_discont,
     proportion = priv->proportion;
     /* check for QoS, don't perform conversion for buffers
      * that are known to be late. */
-    need_skip = priv->qos_enabled &&
-        earliest_time != -1 && running_time <= earliest_time;
+    need_skip = earliest_time != -1 && running_time <= earliest_time;
     GST_OBJECT_UNLOCK (trans);
 
     if (need_skip) {
@@ -2696,6 +2710,7 @@ gst_base_transform_update_qos (GstBaseTransform * trans,
     gdouble proportion, GstClockTimeDiff diff, GstClockTime timestamp)
 {
   g_return_if_fail (GST_IS_BASE_TRANSFORM (trans));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (timestamp));
 
   GST_CAT_DEBUG_OBJECT (GST_CAT_QOS, trans,
       "qos: proportion: %lf, diff %" G_GINT64_FORMAT ", timestamp %"
diff --git a/libs/gst/base/gstbasetransform.h b/libs/gst/base/gstbasetransform.h
index 8ad6a6d..0457b89 100644
--- a/libs/gst/base/gstbasetransform.h
+++ b/libs/gst/base/gstbasetransform.h
@@ -226,6 +226,10 @@ struct _GstBaseTransformClass {
   GstCaps*	(*transform_caps) (GstBaseTransform *trans,
                                    GstPadDirection direction,
                                    GstCaps *caps, GstCaps *filter);
+  /**
+   * GstBaseTransformClass::fixate_caps:
+   * @othercaps: (transfer full):
+   */
   GstCaps*	(*fixate_caps)	  (GstBaseTransform *trans,
                                    GstPadDirection direction, GstCaps *caps,
                                    GstCaps *othercaps);
@@ -266,7 +270,15 @@ struct _GstBaseTransformClass {
   gboolean      (*stop)         (GstBaseTransform *trans);
 
   /* sink and src pad event handlers */
+  /**
+   * GstBaseTransformClass::sink_event:
+   * @event: (transfer full):
+   */
   gboolean      (*sink_event)   (GstBaseTransform *trans, GstEvent *event);
+  /**
+   * GstBaseTransformClass::src_event:
+   * @event: (transfer full):
+   */
   gboolean      (*src_event)    (GstBaseTransform *trans, GstEvent *event);
 
   /**
diff --git a/libs/gst/base/gstbitwriter.c b/libs/gst/base/gstbitwriter.c
index 2f7f56b..c482040 100644
--- a/libs/gst/base/gstbitwriter.c
+++ b/libs/gst/base/gstbitwriter.c
@@ -27,6 +27,8 @@
 #define GST_BIT_WRITER_DISABLE_INLINES
 #include "gstbitwriter.h"
 
+#include "gst/glib-compat-private.h"
+
 /**
  * SECTION:gstbitwriter
  * @title: GstBitWriter
@@ -78,7 +80,7 @@ gst_bit_writer_new_with_size (guint size, gboolean fixed)
 
 /**
  * gst_bit_writer_new_with_data: (skip)
- * @data: Memory area for writing
+ * @data: (array length=size) (transfer none): Memory area for writing
  * @size: Size of @data in bytes
  * @initialized: if %TRUE the complete data can be read from the beginning
  *
@@ -200,7 +202,7 @@ gst_bit_writer_reset_and_get_data (GstBitWriter * bitwriter)
 
   data = bitwriter->data;
   if (bitwriter->owned)
-    data = g_memdup (data, bitwriter->bit_size >> 3);
+    data = g_memdup2 (data, GST_ROUND_UP_8 (bitwriter->bit_size) >> 3);
   gst_bit_writer_reset (bitwriter);
 
   return data;
@@ -223,16 +225,19 @@ gst_bit_writer_reset_and_get_buffer (GstBitWriter * bitwriter)
   GstBuffer *buffer;
   gpointer data;
   gsize size;
+  gboolean owned;
 
   g_return_val_if_fail (bitwriter != NULL, NULL);
 
-  size = bitwriter->bit_size >> 3;
+  owned = bitwriter->owned;
+
+  size = GST_ROUND_UP_8 (bitwriter->bit_size) >> 3;
   data = gst_bit_writer_reset_and_get_data (bitwriter);
 
   /* we cannot rely on buffers allocated externally, thus let's dup
    * the data */
-  if (data && !bitwriter->owned)
-    data = g_memdup (data, size);
+  if (data && !owned)
+    data = g_memdup2 (data, size);
 
   buffer = gst_buffer_new ();
   if (data != NULL) {
@@ -328,7 +333,7 @@ gst_bit_writer_get_size (const GstBitWriter * bitwriter)
  *
  * Get written data pointer
  *
- * Returns: data pointer
+ * Returns: (array) (transfer none): data pointer
  */
 guint8 *
 gst_bit_writer_get_data (const GstBitWriter * bitwriter)
@@ -413,7 +418,7 @@ GST_BIT_WRITER_WRITE_BITS (64)
 /**
  * gst_bit_writer_put_bytes:
  * @bitwriter: a #GstBitWriter instance
- * @data: pointer of data to write
+ * @data: (array): pointer of data to write
  * @nbytes: number of bytes to write
  *
  * Write @nbytes bytes of @data to #GstBitWriter.
diff --git a/libs/gst/base/gstbytereader.c b/libs/gst/base/gstbytereader.c
index e9c2ec0..c0a16ef 100644
--- a/libs/gst/base/gstbytereader.c
+++ b/libs/gst/base/gstbytereader.c
@@ -26,6 +26,7 @@
 #define GST_BYTE_READER_DISABLE_INLINES
 #include "gstbytereader.h"
 
+#include "gst/glib-compat-private.h"
 #include <string.h>
 
 /**
@@ -1222,7 +1223,7 @@ gst_byte_reader_dup_string_utf##bits (GstByteReader * reader, type ** str) \
     *str = NULL; \
     return FALSE; \
   } \
-  *str = g_memdup (reader->data + reader->byte, size); \
+  *str = g_memdup2 (reader->data + reader->byte, size); \
   reader->byte += size; \
   return TRUE; \
 }
diff --git a/libs/gst/base/gstbytereader.h b/libs/gst/base/gstbytereader.h
index b988739..2130a8a 100644
--- a/libs/gst/base/gstbytereader.h
+++ b/libs/gst/base/gstbytereader.h
@@ -362,7 +362,10 @@ static inline guint8 *
 gst_byte_reader_dup_data_unchecked (GstByteReader * reader, guint size)
 {
   gconstpointer data = gst_byte_reader_get_data_unchecked (reader, size);
-  return (guint8 *) g_memdup (data, size);
+  guint8 *dup_data = (guint8 *) g_malloc (size);
+
+  memcpy (dup_data, data, size);
+  return dup_data;
 }
 
 /* Unchecked variants that should not be used */
diff --git a/libs/gst/base/gstbytewriter.c b/libs/gst/base/gstbytewriter.c
index 335f22f..aec1093 100644
--- a/libs/gst/base/gstbytewriter.c
+++ b/libs/gst/base/gstbytewriter.c
@@ -25,6 +25,8 @@
 #define GST_BYTE_WRITER_DISABLE_INLINES
 #include "gstbytewriter.h"
 
+#include "gst/glib-compat-private.h"
+
 /**
  * SECTION:gstbytewriter
  * @title: GstByteWriter
@@ -236,7 +238,7 @@ gst_byte_writer_reset_and_get_data (GstByteWriter * writer)
 
   data = (guint8 *) writer->parent.data;
   if (!writer->owned)
-    data = g_memdup (data, writer->parent.size);
+    data = g_memdup2 (data, writer->parent.size);
   writer->parent.data = NULL;
   gst_byte_writer_reset (writer);
 
diff --git a/libs/gst/base/gstflowcombiner.c b/libs/gst/base/gstflowcombiner.c
index 40c2dbe..d353eae 100644
--- a/libs/gst/base/gstflowcombiner.c
+++ b/libs/gst/base/gstflowcombiner.c
@@ -72,7 +72,7 @@ struct _GstFlowCombiner
   GQueue pads;
 
   GstFlowReturn last_ret;
-  volatile gint ref_count;
+  gint ref_count;
 };
 
 GST_DEBUG_CATEGORY_STATIC (flowcombiner_dbg);
@@ -99,7 +99,7 @@ gst_flow_combiner_new (void)
 
   g_queue_init (&combiner->pads);
   combiner->last_ret = GST_FLOW_OK;
-  combiner->ref_count = 1;
+  g_atomic_int_set (&combiner->ref_count, 1);
 
   /* Make sure debug category is initialised */
   gst_flow_combiner_get_type ();
diff --git a/libs/gst/base/gstindex.c b/libs/gst/base/gstindex.c
index d54e0fe..964508e 100644
--- a/libs/gst/base/gstindex.c
+++ b/libs/gst/base/gstindex.c
@@ -61,6 +61,7 @@
 #endif
 
 #include <gst/gst.h>
+#include "gst/glib-compat-private.h"
 
 /* Index signals and args */
 enum
@@ -798,7 +799,7 @@ gst_index_add_associationv (GstIndex * index, gint id,
   entry->type = GST_INDEX_ENTRY_ASSOCIATION;
   entry->id = id;
   entry->data.assoc.flags = flags;
-  entry->data.assoc.assocs = g_memdup (list, sizeof (GstIndexAssociation) * n);
+  entry->data.assoc.assocs = g_memdup2 (list, sizeof (GstIndexAssociation) * n);
   entry->data.assoc.nassocs = n;
 
   gst_index_add_entry (index, entry);
diff --git a/libs/gst/base/gstpushsrc.h b/libs/gst/base/gstpushsrc.h
index 7dd53b6..d0d8cef 100644
--- a/libs/gst/base/gstpushsrc.h
+++ b/libs/gst/base/gstpushsrc.h
@@ -70,10 +70,20 @@ struct _GstPushSrc {
 struct _GstPushSrcClass {
   GstBaseSrcClass parent_class;
 
-  /* ask the subclass to create a buffer, the default implementation
-   * uses alloc and fill */
+  /**
+   * GstPushSrcClass::create:
+   * @buf: (inout):
+   *
+   * Ask the subclass to create a buffer, the default implementation will call alloc if
+   * no allocated @buf is provided and then call fill.
+   */
   GstFlowReturn (*create) (GstPushSrc *src, GstBuffer **buf);
-  /* allocate memory for a buffer */
+  /**
+   * GstPushSrcClass::alloc:
+   * @buf: (out):
+   *
+   * Allocate memory for a buffer.
+   */
   GstFlowReturn (*alloc)  (GstPushSrc *src, GstBuffer **buf);
   /* ask the subclass to fill a buffer */
   GstFlowReturn (*fill)   (GstPushSrc *src, GstBuffer *buf);
diff --git a/libs/gst/base/gstqueuearray.c b/libs/gst/base/gstqueuearray.c
index 1cf1747..2045037 100644
--- a/libs/gst/base/gstqueuearray.c
+++ b/libs/gst/base/gstqueuearray.c
@@ -192,7 +192,7 @@ gst_queue_array_clear (GstQueueArray * array)
  *
  * Returns the head of the queue @array and removes it from the queue.
  *
- * Returns: pointer to element or struct, or NULL if @array was empty. The
+ * Returns: (nullable): pointer to element or struct, or NULL if @array was empty. The
  *    data pointed to by the returned pointer stays valid only as long as
  *    the queue array is not modified further!
  *
@@ -250,7 +250,7 @@ gst_queue_array_pop_head (GstQueueArray * array)
  *
  * Returns the head of the queue @array without removing it from the queue.
  *
- * Returns: pointer to element or struct, or NULL if @array was empty. The
+ * Returns: (nullable): pointer to element or struct, or NULL if @array was empty. The
  *    data pointed to by the returned pointer stays valid only as long as
  *    the queue array is not modified further!
  *
@@ -294,7 +294,7 @@ gst_queue_array_peek_head (GstQueueArray * array)
  *
  * Returns the item at @idx in @array, but does not remove it from the queue.
  *
- * Returns: The item, or %NULL if @idx was out of bounds
+ * Returns: (nullable): The item, or %NULL if @idx was out of bounds
  *
  * Since: 1.16
  */
@@ -314,7 +314,7 @@ gst_queue_array_peek_nth (GstQueueArray * array, guint idx)
  *
  * Returns the item at @idx in @array, but does not remove it from the queue.
  *
- * Returns: The item, or %NULL if @idx was out of bounds
+ * Returns: (nullable): The item, or %NULL if @idx was out of bounds
  *
  * Since: 1.16
  */
@@ -332,16 +332,24 @@ gst_queue_array_peek_nth_struct (GstQueueArray * array, guint idx)
 static void
 gst_queue_array_do_expand (GstQueueArray * array)
 {
-  guint elt_size = array->elt_size;
+  gsize elt_size = array->elt_size;
   /* newsize is 50% bigger */
-  guint oldsize = array->size;
-  guint newsize = MAX ((3 * oldsize) / 2, oldsize + 1);
+  gsize oldsize = array->size;
+  guint64 newsize;
+
+  newsize = MAX ((3 * (guint64) oldsize) / 2, (guint64) oldsize + 1);
+  if (newsize > G_MAXUINT)
+    g_error ("growing the queue array would overflow");
 
   /* copy over data */
   if (array->tail != 0) {
-    guint8 *array2 = g_malloc0 (elt_size * newsize);
-    guint t1 = array->head;
-    guint t2 = oldsize - array->head;
+    guint8 *array2 = NULL;
+    gsize t1 = 0;
+    gsize t2 = 0;
+
+    array2 = g_malloc0_n (newsize, elt_size);
+    t1 = array->head;
+    t2 = oldsize - array->head;
 
     /* [0-----TAIL][HEAD------SIZE]
      *
@@ -352,7 +360,8 @@ gst_queue_array_do_expand (GstQueueArray * array)
      * 2) move [0-------TAIL] part new array, after previous part
      */
 
-    memcpy (array2, array->array + (elt_size * array->head), t2 * elt_size);
+    memcpy (array2, array->array + (elt_size * (gsize) array->head),
+        t2 * elt_size);
     memcpy (array2 + t2 * elt_size, array->array, t1 * elt_size);
 
     g_free (array->array);
@@ -360,7 +369,7 @@ gst_queue_array_do_expand (GstQueueArray * array)
     array->head = 0;
   } else {
     /* Fast path, we just need to grow the array */
-    array->array = g_realloc (array->array, elt_size * newsize);
+    array->array = g_realloc_n (array->array, newsize, elt_size);
     memset (array->array + elt_size * oldsize, 0,
         elt_size * (newsize - oldsize));
   }
diff --git a/libs/gst/base/gsttypefindhelper.c b/libs/gst/base/gsttypefindhelper.c
index 56003d5..f385e80 100644
--- a/libs/gst/base/gsttypefindhelper.c
+++ b/libs/gst/base/gsttypefindhelper.c
@@ -94,8 +94,8 @@ helper_find_peek (gpointer data, gint64 offset, guint size)
 
   helper = (GstTypeFindHelper *) data;
 
-  GST_LOG_OBJECT (helper->obj, "'%s' called peek (%" G_GINT64_FORMAT
-      ", %u)", GST_OBJECT_NAME (helper->factory), offset, size);
+  GST_LOG_OBJECT (helper->obj, "Typefind factory called peek (%" G_GINT64_FORMAT
+      ", %u)", offset, size);
 
   if (size == 0)
     return NULL;
@@ -229,8 +229,8 @@ helper_find_suggest (gpointer data, guint probability, GstCaps * caps)
   GstTypeFindHelper *helper = (GstTypeFindHelper *) data;
 
   GST_LOG_OBJECT (helper->obj,
-      "'%s' called suggest (%u, %" GST_PTR_FORMAT ")",
-      GST_OBJECT_NAME (helper->factory), probability, caps);
+      "Typefind factory called suggest (%u, %" GST_PTR_FORMAT ")",
+      probability, caps);
 
   if (probability > helper->best_probability) {
     gst_caps_replace (&helper->caps, caps);
@@ -243,8 +243,8 @@ helper_find_get_length (gpointer data)
 {
   GstTypeFindHelper *helper = (GstTypeFindHelper *) data;
 
-  GST_LOG_OBJECT (helper->obj, "'%s' called get_length, returning %"
-      G_GUINT64_FORMAT, GST_OBJECT_NAME (helper->factory), helper->size);
+  GST_LOG_OBJECT (helper->obj, "Typefind factory called get_length, returning %"
+      G_GUINT64_FORMAT, helper->size);
 
   return helper->size;
 }
@@ -303,12 +303,12 @@ prioritize_extension (GstObject * obj, GList * type_list,
 /**
  * gst_type_find_helper_get_range:
  * @obj: A #GstObject that will be passed as first argument to @func
- * @parent: (allow-none): the parent of @obj or %NULL
+ * @parent: (nullable): the parent of @obj or %NULL
  * @func: (scope call): A generic #GstTypeFindHelperGetRangeFunction that will
  *        be used to access data at random offsets when doing the typefinding
  * @size: The length in bytes
- * @extension: (allow-none): extension of the media, or %NULL
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @extension: (nullable): extension of the media, or %NULL
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
@@ -345,13 +345,13 @@ gst_type_find_helper_get_range (GstObject * obj, GstObject * parent,
 /**
  * gst_type_find_helper_get_range_full:
  * @obj: A #GstObject that will be passed as first argument to @func
- * @parent: (allow-none): the parent of @obj or %NULL
+ * @parent: (nullable): the parent of @obj or %NULL
  * @func: (scope call): A generic #GstTypeFindHelperGetRangeFunction that will
  *        be used to access data at random offsets when doing the typefinding
  * @size: The length in bytes
- * @extension: (allow-none): extension of the media, or %NULL
+ * @extension: (nullable): extension of the media, or %NULL
  * @caps: (out) (transfer full): returned caps
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
@@ -495,10 +495,23 @@ typedef struct
   gsize size;
   GstTypeFindProbability best_probability;
   GstCaps *caps;
-  GstTypeFindFactory *factory;  /* for logging */
   GstObject *obj;               /* for logging */
 } GstTypeFindBufHelper;
 
+/**
+ * GstTypeFindData:
+ *
+ * The opaque #GstTypeFindData structure.
+ *
+ * Since: 1.22
+ *
+ */
+struct _GstTypeFindData
+{
+  GstTypeFind find;
+  GstTypeFindBufHelper helper;
+};
+
 /*
  * buf_helper_find_peek:
  * @data: helper data struct
@@ -516,15 +529,15 @@ buf_helper_find_peek (gpointer data, gint64 off, guint size)
   GstTypeFindBufHelper *helper;
 
   helper = (GstTypeFindBufHelper *) data;
-  GST_LOG_OBJECT (helper->obj, "'%s' called peek (%" G_GINT64_FORMAT ", %u)",
-      GST_OBJECT_NAME (helper->factory), off, size);
+  GST_LOG_OBJECT (helper->obj,
+      "Typefind factory called peek (%" G_GINT64_FORMAT ", %u)", off, size);
 
   if (size == 0)
     return NULL;
 
   if (off < 0) {
-    GST_LOG_OBJECT (helper->obj, "'%s' wanted to peek at end; not supported",
-        GST_OBJECT_NAME (helper->factory));
+    GST_LOG_OBJECT (helper->obj,
+        "Typefind factory wanted to peek at end; not supported");
     return NULL;
   }
 
@@ -556,8 +569,8 @@ buf_helper_find_suggest (gpointer data, guint probability, GstCaps * caps)
   GstTypeFindBufHelper *helper = (GstTypeFindBufHelper *) data;
 
   GST_LOG_OBJECT (helper->obj,
-      "'%s' called suggest (%u, %" GST_PTR_FORMAT ")",
-      GST_OBJECT_NAME (helper->factory), probability, caps);
+      "Typefind factory called suggest (%u, %" GST_PTR_FORMAT ")",
+      probability, caps);
 
   /* Note: not >= as we call typefinders in order of rank, highest first */
   if (probability > helper->best_probability) {
@@ -568,10 +581,10 @@ buf_helper_find_suggest (gpointer data, guint probability, GstCaps * caps)
 
 /**
  * gst_type_find_helper_for_data:
- * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
  * @data: (transfer none) (array length=size): * a pointer with data to typefind
  * @size: the size of @data
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given @data, the
@@ -601,11 +614,11 @@ gst_type_find_helper_for_data (GstObject * obj, const guint8 * data, gsize size,
 
 /**
  * gst_type_find_helper_for_data_with_extension:
- * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
  * @data: (transfer none) (array length=size): * a pointer with data to typefind
  * @size: the size of @data
- * @extension: (allow-none): extension of the media, or %NULL
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @extension: (nullable): extension of the media, or %NULL
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given @data, the
@@ -638,6 +651,7 @@ gst_type_find_helper_for_data_with_extension (GstObject * obj,
     GstTypeFindProbability * prob)
 {
   GstTypeFindBufHelper helper;
+  GstTypeFindFactory *factory;
   GstTypeFind find;
   GList *l, *type_list;
   GstCaps *result = NULL;
@@ -662,8 +676,8 @@ gst_type_find_helper_for_data_with_extension (GstObject * obj,
   type_list = prioritize_extension (obj, type_list, extension);
 
   for (l = type_list; l; l = l->next) {
-    helper.factory = GST_TYPE_FIND_FACTORY (l->data);
-    gst_type_find_factory_call_function (helper.factory, &find);
+    factory = GST_TYPE_FIND_FACTORY (l->data);
+    gst_type_find_factory_call_function (factory, &find);
     if (helper.best_probability >= GST_TYPE_FIND_MAXIMUM)
       break;
   }
@@ -681,11 +695,98 @@ gst_type_find_helper_for_data_with_extension (GstObject * obj,
   return result;
 }
 
+/**
+ * gst_type_find_helper_for_data_with_caps:
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
+ * @data: (transfer none) (array length=size): a pointer with data to typefind
+ * @size: the size of @data
+ * @caps: caps of the media
+ * @prob: (out) (optional): location to store the probability of the found
+ *     caps, or %NULL
+ *
+ * Tries to find if type of media contained in the given @data, matches the
+ * @caps specified, assumption being that the data represents the beginning
+ * of the stream or file.
+ *
+ * Only the typefinder matching the given caps will be called, if found. The
+ * caps with the highest probability will be returned, or %NULL if the content
+ * of the @data could not be identified.
+ *
+ * Free-function: gst_caps_unref
+ *
+ * Returns: (transfer full) (nullable): the #GstCaps corresponding to the data,
+ *     or %NULL if no type could be found. The caller should free the caps
+ *     returned with gst_caps_unref().
+ *
+ * Since: 1.22
+ *
+ */
+GstCaps *
+gst_type_find_helper_for_data_with_caps (GstObject * obj,
+    const guint8 * data, gsize size, GstCaps * caps,
+    GstTypeFindProbability * prob)
+{
+  GstTypeFind *find;
+  GstTypeFindData *find_data;
+  GstTypeFindFactory *factory;
+  GList *l, *factories = NULL;
+  GstCaps *result = NULL;
+  GstTypeFindProbability found_probability, last_found_probability;
+
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (caps != NULL, NULL);
+  g_return_val_if_fail (size != 0, NULL);
+
+  find_data = gst_type_find_data_new (obj, data, size);
+  find = gst_type_find_data_get_typefind (find_data);
+
+  factories = gst_type_find_list_factories_for_caps (obj, caps);
+  if (!factories) {
+    GST_ERROR_OBJECT (obj, "Failed to typefind for caps: %" GST_PTR_FORMAT,
+        caps);
+    goto out;
+  }
+
+  found_probability = GST_TYPE_FIND_NONE;
+  last_found_probability = GST_TYPE_FIND_NONE;
+
+  for (l = factories; l; l = l->next) {
+    factory = GST_TYPE_FIND_FACTORY (l->data);
+
+    gst_type_find_factory_call_function (factory, find);
+
+    found_probability = gst_type_find_data_get_probability (find_data);
+
+    if (found_probability > last_found_probability) {
+      last_found_probability = found_probability;
+      result = gst_type_find_data_get_caps (find_data);
+
+      GST_DEBUG_OBJECT (obj, "Found %" GST_PTR_FORMAT " (probability = %u)",
+          result, (guint) last_found_probability);
+      if (last_found_probability >= GST_TYPE_FIND_MAXIMUM)
+        break;
+    }
+  }
+
+  if (prob)
+    *prob = last_found_probability;
+
+  GST_LOG_OBJECT (obj, "Returning %" GST_PTR_FORMAT " (probability = %u)",
+      result, (guint) last_found_probability);
+
+out:
+  g_list_free_full (factories, (GDestroyNotify) gst_object_unref);
+
+  gst_type_find_data_free (find_data);
+
+  return result;
+}
+
 /**
  * gst_type_find_helper_for_buffer:
- * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
  * @buf: (in) (transfer none): a #GstBuffer with data to typefind
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given #GstBuffer, the
@@ -714,10 +815,10 @@ gst_type_find_helper_for_buffer (GstObject * obj, GstBuffer * buf,
 
 /**
  * gst_type_find_helper_for_buffer_with_extension:
- * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
  * @buf: (in) (transfer none): a #GstBuffer with data to typefind
- * @extension: (allow-none): extension of the media, or %NULL
- * @prob: (out) (allow-none): location to store the probability of the found
+ * @extension: (nullable): extension of the media, or %NULL
+ * @prob: (out) (optional): location to store the probability of the found
  *     caps, or %NULL
  *
  * Tries to find what type of data is contained in the given #GstBuffer, the
@@ -766,9 +867,63 @@ gst_type_find_helper_for_buffer_with_extension (GstObject * obj,
   return result;
 }
 
+/**
+ * gst_type_find_helper_for_buffer_with_caps:
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
+ * @buf: (transfer none): a #GstBuffer with data to typefind
+ * @caps: caps of the media
+ * @prob: (out) (optional): location to store the probability of the found
+ *     caps, or %NULL
+ *
+ * Tries to find if type of media contained in the given #GstBuffer, matches
+ * @caps specified, assumption being that the buffer represents the beginning
+ * of the stream or file.
+ *
+ * Tries to find what type of data is contained in the given @data, the
+ * assumption being that the data represents the beginning of the stream or
+ * file.
+ *
+ * Only the typefinder matching the given caps will be called, if found. The
+ * caps with the highest probability will be returned, or %NULL if the content
+ * of the @data could not be identified.
+ *
+ * Free-function: gst_caps_unref
+ *
+ * Returns: (transfer full) (nullable): the #GstCaps corresponding to the data,
+ *     or %NULL if no type could be found. The caller should free the caps
+ *     returned with gst_caps_unref().
+ *
+ * Since: 1.22
+ *
+ */
+GstCaps *
+gst_type_find_helper_for_buffer_with_caps (GstObject * obj,
+    GstBuffer * buf, GstCaps * caps, GstTypeFindProbability * prob)
+{
+  GstCaps *result;
+  GstMapInfo info;
+
+  g_return_val_if_fail (caps != NULL, NULL);
+  g_return_val_if_fail (buf != NULL, NULL);
+  g_return_val_if_fail (GST_IS_BUFFER (buf), NULL);
+  g_return_val_if_fail (GST_BUFFER_OFFSET (buf) == 0 ||
+      GST_BUFFER_OFFSET (buf) == GST_BUFFER_OFFSET_NONE, NULL);
+
+  if (!gst_buffer_map (buf, &info, GST_MAP_READ))
+    return NULL;
+
+  result =
+      gst_type_find_helper_for_data_with_caps (obj, info.data, info.size,
+      caps, prob);
+
+  gst_buffer_unmap (buf, &info);
+
+  return result;
+}
+
 /**
  * gst_type_find_helper_for_extension:
- * @obj: (allow-none): object doing the typefinding, or %NULL (used for logging)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
  * @extension: an extension
  *
  * Tries to find the best #GstCaps associated with @extension.
@@ -830,3 +985,170 @@ done:
 
   return result;
 }
+
+/**
+ * gst_type_find_list_factories_for_caps:
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
+ * @caps: caps of the media
+ *
+ * Tries to find the best #GstTypeFindFactory associated with @caps.
+ *
+ * The typefinder that can handle @caps will be returned.
+ *
+ * Free-function: g_list_free
+ *
+ * Returns: (transfer full) (nullable) (element-type Gst.TypeFindFactory): the list of #GstTypeFindFactory
+ *          corresponding to @caps, or %NULL if no typefinder could be
+ *          found. Caller should free the returned list with g_list_free()
+ *          and list elements with gst_object_unref().
+ *
+ * Since: 1.22
+ *
+ */
+GList *
+gst_type_find_list_factories_for_caps (GstObject * obj, GstCaps * caps)
+{
+  GList *l, *type_list, *factories = NULL;
+
+  g_return_val_if_fail (caps != NULL, NULL);
+
+  GST_LOG_OBJECT (obj, "finding factory for caps %" GST_PTR_FORMAT, caps);
+
+  type_list = gst_type_find_factory_get_list ();
+
+  for (l = type_list; l; l = g_list_next (l)) {
+    GstTypeFindFactory *factory;
+    GstCaps *factory_caps;
+
+    factory = GST_TYPE_FIND_FACTORY (l->data);
+
+    /* We only want to check those factories without a function */
+    if (gst_type_find_factory_has_function (factory))
+      continue;
+
+    /* Get the caps that this typefind factory can handle */
+    factory_caps = gst_type_find_factory_get_caps (factory);
+    if (!factory_caps)
+      continue;
+
+    if (gst_caps_can_intersect (factory_caps, caps)) {
+      factory = gst_object_ref (factory);
+      factories = g_list_prepend (factories, factory);
+    }
+  }
+
+  gst_plugin_feature_list_free (type_list);
+
+  return g_list_reverse (factories);
+}
+
+/**
+ * gst_type_find_data_new: (skip)
+ * @obj: (nullable): object doing the typefinding, or %NULL (used for logging)
+ * @data: (transfer none) (array length=size): a pointer with data to typefind
+ * @size: the size of @data
+ *
+ * Free-function: gst_type_find_data_free
+ *
+ * Returns: (transfer full): the #GstTypeFindData. The caller should free
+ *          the returned #GstTypeFindData with gst_type_find_data_free().
+ *
+ * Since: 1.22
+ *
+ */
+GstTypeFindData *
+gst_type_find_data_new (GstObject * obj, const guint8 * data, gsize size)
+{
+  GstTypeFindData *find_data;
+
+  g_return_val_if_fail (data != NULL, NULL);
+  g_return_val_if_fail (size != 0, NULL);
+
+  find_data = g_new0 (GstTypeFindData, 1);
+
+  find_data->helper.data = data;
+  find_data->helper.size = size;
+  find_data->helper.best_probability = GST_TYPE_FIND_NONE;
+  find_data->helper.caps = NULL;
+  find_data->helper.obj = obj;
+
+  find_data->find.data = (gpointer) (&find_data->helper);
+  find_data->find.peek = buf_helper_find_peek;
+  find_data->find.suggest = buf_helper_find_suggest;
+  find_data->find.get_length = NULL;
+
+  return find_data;
+}
+
+/**
+ * gst_type_find_data_get_caps: (skip)
+ * @data: GstTypeFindData *
+ *
+ * Returns #GstCaps associated with #GstTypeFindData
+ *
+ * Returns: (transfer full) (nullable): #GstCaps.
+ *
+ * Since: 1.22
+ *
+ */
+GstCaps *
+gst_type_find_data_get_caps (GstTypeFindData * data)
+{
+  g_return_val_if_fail (data != NULL, NULL);
+
+  return gst_caps_ref (data->helper.caps);
+}
+
+/**
+ * gst_type_find_data_get_probability: (skip)
+ * @data: GstTypeFindData *
+ *
+ * Returns #GstTypeFindProbability associated with #GstTypeFindData
+ *
+ * Returns: #GstTypeFindProbability.
+ *
+ * Since: 1.22
+ *
+ */
+GstTypeFindProbability
+gst_type_find_data_get_probability (GstTypeFindData * data)
+{
+  g_return_val_if_fail (data != NULL, GST_TYPE_FIND_NONE);
+
+  return data->helper.best_probability;
+}
+
+/**
+ * gst_type_find_data_get_typefind: (skip)
+ * @data: GstTypeFindData *
+ *
+ * Returns #GstTypeFind associated with #GstTypeFindData
+ *
+ * Returns: #GstTypeFind.
+ *
+ * Since: 1.22
+ *
+ */
+GstTypeFind *
+gst_type_find_data_get_typefind (GstTypeFindData * data)
+{
+  g_return_val_if_fail (data != NULL, NULL);
+
+  return &data->find;
+}
+
+/**
+ * gst_type_find_data_free: (skip)
+ * @data: GstTypeFindData * to free
+ *
+ * Since: 1.22
+ *
+ */
+void
+gst_type_find_data_free (GstTypeFindData * data)
+{
+  if (data && data->helper.caps)
+    gst_caps_unref (data->helper.caps);
+
+  g_free (data);
+}
diff --git a/libs/gst/base/gsttypefindhelper.h b/libs/gst/base/gsttypefindhelper.h
index bda346c..503dd84 100644
--- a/libs/gst/base/gsttypefindhelper.h
+++ b/libs/gst/base/gsttypefindhelper.h
@@ -29,6 +29,15 @@
 
 G_BEGIN_DECLS
 
+typedef struct _GstTypeFindData GstTypeFindData;
+
+GstTypeFindData * gst_type_find_data_new (GstObject * obj,
+    const guint8 * data, gsize size);
+GstCaps * gst_type_find_data_get_caps (GstTypeFindData * data);
+GstTypeFindProbability gst_type_find_data_get_probability (GstTypeFindData * data);
+GstTypeFind * gst_type_find_data_get_typefind (GstTypeFindData * data);
+void gst_type_find_data_free (GstTypeFindData * data);
+
 GST_BASE_API
 GstCaps * gst_type_find_helper (GstPad *src, guint64 size);
 
@@ -45,6 +54,13 @@ GstCaps * gst_type_find_helper_for_data_with_extension (GstObject              *
                                                         const gchar            *extension,
                                                         GstTypeFindProbability *prob);
 
+GST_BASE_API
+GstCaps * gst_type_find_helper_for_data_with_caps (GstObject              *obj,
+                                                   const guint8           *data,
+                                                   gsize                   size,
+                                                   GstCaps                *caps,
+                                                   GstTypeFindProbability *prob);
+
 GST_BASE_API
 GstCaps * gst_type_find_helper_for_buffer (GstObject              *obj,
                                            GstBuffer              *buf,
@@ -56,10 +72,20 @@ GstCaps * gst_type_find_helper_for_buffer_with_extension (GstObject
                                                           const gchar            *extension,
                                                           GstTypeFindProbability *prob);
 
+GST_BASE_API
+GstCaps * gst_type_find_helper_for_buffer_with_caps (GstObject              *obj,
+                                                     GstBuffer              *buf,
+                                                     GstCaps                *caps,
+                                                     GstTypeFindProbability *prob);
+
 GST_BASE_API
 GstCaps * gst_type_find_helper_for_extension (GstObject * obj,
                                               const gchar * extension);
 
+GST_BASE_API
+GList * gst_type_find_list_factories_for_caps (GstObject * obj,
+                                               GstCaps * caps);
+
 /**
  * GstTypeFindHelperGetRangeFunction:
  * @obj: a #GstObject that will handle the getrange request
diff --git a/libs/gst/base/meson.build b/libs/gst/base/meson.build
index 5315ecb..d897abe 100644
--- a/libs/gst/base/meson.build
+++ b/libs/gst/base/meson.build
@@ -1,4 +1,4 @@
-gst_base_sources = [
+gst_base_sources = files(
   'gstadapter.c',
   'gstaggregator.c',
   'gstbaseparse.c',
@@ -15,9 +15,9 @@ gst_base_sources = [
   'gstpushsrc.c',
   'gstqueuearray.c',
   'gsttypefindhelper.c',
-]
+)
 
-gst_base_headers = [
+gst_base_headers = files(
   'base.h',
   'base-prelude.h',
   'gstadapter.h',
@@ -36,45 +36,61 @@ gst_base_headers = [
   'gstpushsrc.h',
   'gstqueuearray.h',
   'gsttypefindhelper.h',
-]
-
-gst_base_gen_sources = []
+)
 
 gst_base = library('gstbase-@0@'.format(apiversion),
   gst_base_sources,
-  c_args : gst_c_args + ['-DBUILDING_GST_BASE'],
+  c_args : gst_c_args + ['-DBUILDING_GST_BASE', '-DG_LOG_DOMAIN="GStreamer-Base"'],
   version : libversion,
   soversion : soversion,
   darwin_versions : osxversion,
   install : true,
   include_directories : [configinc, libsinc],
-  dependencies : [gobject_dep, glib_dep, gst_dep],
+  dependencies : [gst_dep],
+)
+
+library_def = {'lib': gst_base}
+pkg_name = 'gstreamer-base-1.0'
+gst_base_gen_sources = []
+pkgconfig.generate(gst_base,
+  libraries : [libgst],
+  variables : pkgconfig_variables,
+  subdirs : pkgconfig_subdirs,
+  name : pkg_name,
+  description : 'Base classes for GStreamer elements',
 )
 
 if build_gir
   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/base/base.h' ]
-  gst_base_gir = gnome.generate_gir(gst_base,
-    sources : gst_base_sources + gst_base_headers,
-    namespace : 'GstBase',
-    nsversion : apiversion,
-    identifier_prefix : 'Gst',
-    symbol_prefix : 'gst',
-    export_packages : 'gstreamer-base-1.0',
-    dependencies : [gst_dep],
-    include_directories : [configinc, libsinc, privinc],
-    includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
-    install : true,
-    extra_args : gst_gir_extra_args,
-  )
+  gir = {
+    'sources' : gst_base_sources + gst_base_headers,
+    'namespace' : 'GstBase',
+    'nsversion' : apiversion,
+    'identifier_prefix' : 'Gst',
+    'symbol_prefix' : 'gst',
+    'export_packages' : pkg_name,
+    'dependencies' : [gst_dep],
+    'include_directories' : [configinc, libsinc, privinc],
+    'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+    'install' : true,
+    'extra_args' : gst_gir_extra_args,
+  }
 
-  gst_base_gen_sources += [gst_base_gir]
+  library_def += {'gir': [gir]}
+  if not static_build
+    gst_base_gir = gnome.generate_gir(gst_base, kwargs: gir)
+    gst_base_gen_sources += [gst_base_gir]
+  endif
 endif
+gst_libraries += [[pkg_name, library_def]]
 
 gst_base_dep = declare_dependency(link_with : gst_base,
   include_directories : [libsinc],
   dependencies : [gst_dep],
   sources : gst_base_gen_sources)
 
+meson.override_dependency(pkg_name, gst_base_dep)
+
 install_headers('base.h',
   'base-prelude.h',
   'gstadapter.h',
diff --git a/libs/gst/check/gstcheck.c b/libs/gst/check/gstcheck.c
index 8b6b0ba..0b6b22d 100644
--- a/libs/gst/check/gstcheck.c
+++ b/libs/gst/check/gstcheck.c
@@ -332,6 +332,52 @@ gst_check_deinit (void)
   gst_check_clear_log_filter ();
 }
 
+static const gchar *log_domains[] = {
+  "GLib-GObject",
+  "GLib-GIO",
+  "GLib",
+  "GStreamer-AdaptiveDemux",
+  "GStreamer-Allocators",
+  "GStreamer-App",
+  "GStreamer-Audio",
+  "GStreamer-AudioBad",
+  "GStreamer-Base",
+  "GStreamer-BaseCameraBinSrc",
+  "GStreamer-Check",
+  "GStreamer-CodecParsers",
+  "GStreamer-Codecs",
+  "GStreamer-Controller",
+  "GStreamer-D3D11",
+  "GStreamer",
+  "GStreamer-FFT",
+  "GStreamer-GL",
+  "GStreamer-InsertBin",
+  "GStreamer-ISOFF",
+  "GStreamer-MpegTS",
+  "GStreamer-Net",
+  "GStreamer-OpenCV",
+  "GStreamer-PBUtils",
+  "GStreamer-Photography",
+  "GStreamer-Play",
+  "GStreamer-Player",
+  "GStreamer-RIFF",
+  "GStreamer-RTP",
+  "GStreamer-RTSP",
+  "GStreamer-RTSP-Server",
+  "GStreamer-SCTP",
+  "GStreamer-SDP",
+  "GStreamer-Tag",
+  "GStreamer-Transcoder",
+  "GStreamer-UriDownloader",
+  "GStreamer-VA",
+  "GStreamer-Video",
+  "GStreamer-Vulkan",
+  "GStreamer-Vulkan",
+  "GStreamer-Wayland",
+  "GStreamer-WebRTC",
+  "GStreamer-WinRT",
+};
+
 /* gst_check_init:
  * @argc: (inout) (allow-none): pointer to application's argc
  * @argv: (inout) (array length=argc) (allow-none): pointer to application's argv
@@ -352,6 +398,7 @@ gst_check_init (int *argc, char **argv[])
         "List tests present in the testsuite", NULL},
     {NULL}
   };
+  guint i;
 
   ctx = g_option_context_new ("gst-check");
   g_option_context_add_main_entries (ctx, options, NULL);
@@ -379,14 +426,13 @@ gst_check_init (int *argc, char **argv[])
       NULL);
   g_log_set_handler (NULL, G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
       gst_check_log_critical_func, NULL);
-  g_log_set_handler ("GStreamer", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
-      gst_check_log_critical_func, NULL);
-  g_log_set_handler ("GLib-GObject", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
-      gst_check_log_critical_func, NULL);
-  g_log_set_handler ("GLib-GIO", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
-      gst_check_log_critical_func, NULL);
-  g_log_set_handler ("GLib", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
-      gst_check_log_critical_func, NULL);
+
+  for (i = 0; i < G_N_ELEMENTS (log_domains); ++i) {
+    g_log_set_handler (log_domains[i],
+        G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
+        gst_check_log_critical_func, NULL);
+  }
+
   g_test_log_set_fatal_handler (gst_check_log_fatal_func, NULL);
 
   print_plugins ();
@@ -596,7 +642,7 @@ gst_check_setup_src_pad_by_name_from_template (GstElement * element,
 
   sinkpad = gst_element_get_static_pad (element, name);
   if (sinkpad == NULL)
-    sinkpad = gst_element_get_request_pad (element, name);
+    sinkpad = gst_element_request_pad_simple (element, name);
   fail_if (sinkpad == NULL, "Could not get sink pad from %s",
       GST_ELEMENT_NAME (element));
   fail_unless (gst_pad_link (srcpad, sinkpad) == GST_PAD_LINK_OK,
@@ -721,7 +767,7 @@ gst_check_setup_sink_pad_by_name_from_template (GstElement * element,
 
   srcpad = gst_element_get_static_pad (element, name);
   if (srcpad == NULL)
-    srcpad = gst_element_get_request_pad (element, name);
+    srcpad = gst_element_request_pad_simple (element, name);
   fail_if (srcpad == NULL, "Could not get source pad from %s",
       GST_ELEMENT_NAME (element));
   gst_pad_set_chain_function (sinkpad, gst_check_chain_func);
@@ -1090,6 +1136,7 @@ gst_check_run_suite (Suite * suite, const gchar * name, const gchar * fname)
   g_timer_destroy (timer);
   g_free (xmlfilename);
   srunner_free (sr);
+  g_thread_pool_stop_unused_threads ();
   return nf;
 }
 
diff --git a/libs/gst/check/gstconsistencychecker.c b/libs/gst/check/gstconsistencychecker.c
index aff1875..08f720e 100644
--- a/libs/gst/check/gstconsistencychecker.c
+++ b/libs/gst/check/gstconsistencychecker.c
@@ -38,12 +38,12 @@
 struct _GstStreamConsistency
 {
   /* FIXME: do we want to track some states per pad? */
-  volatile gboolean flushing;
-  volatile gboolean segment;
-  volatile gboolean eos;
-  volatile gboolean expect_flush;
-  volatile gboolean saw_serialized_event;
-  volatile gboolean saw_stream_start;
+  gboolean flushing;
+  gboolean segment;
+  gboolean eos;
+  gboolean expect_flush;
+  gboolean saw_serialized_event;
+  gboolean saw_stream_start;
   GstObject *parent;
   GList *pads;
 };
diff --git a/libs/gst/check/gstharness.c b/libs/gst/check/gstharness.c
index 8ff8038..295b66f 100644
--- a/libs/gst/check/gstharness.c
+++ b/libs/gst/check/gstharness.c
@@ -105,7 +105,7 @@
  * with different configurations, by simply doing:
  *
  * |[<!-- language="C" -->
- *   GstHarness * h = gst_harness_new (h, "vp8dec");
+ *   GstHarness * h = gst_harness_new ("vp8dec");
  *   gst_harness_add_src_parse (h, "videotestsrc is-live=1 ! vp8enc", TRUE);
  * ]|
  *
@@ -172,9 +172,9 @@ struct _GstHarnessPrivate
   GstPad *sink_forward_pad;
   GstTestClock *testclock;
 
-  volatile gint recv_buffers;
-  volatile gint recv_events;
-  volatile gint recv_upstream_events;
+  gint recv_buffers;
+  gint recv_events;
+  gint recv_upstream_events;
 
   GAsyncQueue *buffer_queue;
   GAsyncQueue *src_event_queue;
@@ -182,6 +182,8 @@ struct _GstHarnessPrivate
 
   GstClockTime latency_min;
   GstClockTime latency_max;
+  gboolean is_live;
+
   gboolean has_clock_wait;
   gboolean drop_buffers;
   GstClockTime last_push_ts;
@@ -359,7 +361,8 @@ gst_harness_negotiate (GstHarness * h)
     gst_harness_decide_allocation (h, caps);
     gst_caps_unref (caps);
   } else {
-    GST_FIXME_OBJECT (h, "Cannot negotiate allocation because caps is not set");
+    GST_FIXME_OBJECT (h->srcpad,
+        "Cannot negotiate allocation because caps is not set");
   }
 }
 
@@ -375,7 +378,8 @@ gst_harness_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_LATENCY:
-      gst_query_set_latency (query, TRUE, priv->latency_min, priv->latency_max);
+      gst_query_set_latency (query, priv->is_live, priv->latency_min,
+          priv->latency_max);
       break;
     case GST_QUERY_CAPS:
     {
@@ -465,7 +469,8 @@ gst_harness_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_LATENCY:
-      gst_query_set_latency (query, TRUE, priv->latency_min, priv->latency_max);
+      gst_query_set_latency (query, priv->is_live, priv->latency_min,
+          priv->latency_max);
       break;
     case GST_QUERY_CAPS:
     {
@@ -535,7 +540,7 @@ gst_harness_link_element_srcpad (GstHarness * h,
       element_srcpad_name);
   GstPadLinkReturn link;
   if (srcpad == NULL)
-    srcpad = gst_element_get_request_pad (h->element, element_srcpad_name);
+    srcpad = gst_element_request_pad_simple (h->element, element_srcpad_name);
   g_assert (srcpad);
   link = gst_pad_link (srcpad, h->sinkpad);
   g_assert_cmpint (link, ==, GST_PAD_LINK_OK);
@@ -554,7 +559,7 @@ gst_harness_link_element_sinkpad (GstHarness * h,
       element_sinkpad_name);
   GstPadLinkReturn link;
   if (sinkpad == NULL)
-    sinkpad = gst_element_get_request_pad (h->element, element_sinkpad_name);
+    sinkpad = gst_element_request_pad_simple (h->element, element_sinkpad_name);
   g_assert (sinkpad);
   link = gst_pad_link (h->srcpad, sinkpad);
   g_assert_cmpint (link, ==, GST_PAD_LINK_OK);
@@ -663,7 +668,7 @@ gst_pad_is_request_pad (GstPad * pad)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.8
@@ -683,6 +688,7 @@ gst_harness_new_empty (void)
   priv->last_push_ts = GST_CLOCK_TIME_NONE;
   priv->latency_min = 0;
   priv->latency_max = GST_CLOCK_TIME_NONE;
+  priv->is_live = TRUE;
   priv->drop_buffers = FALSE;
   priv->testclock = GST_TEST_CLOCK_CAST (gst_test_clock_new ());
 
@@ -717,15 +723,15 @@ gst_harness_new_empty (void)
  * gst_harness_add_element_full: (skip)
  * @h: a #GstHarness
  * @element: a #GstElement to add to the harness (transfer none)
- * @hsrc: (allow-none): a #GstStaticPadTemplate describing the harness srcpad.
+ * @hsrc: (nullable): a #GstStaticPadTemplate describing the harness srcpad.
  * %NULL will not create a harness srcpad.
- * @element_sinkpad_name: (allow-none): a #gchar with the name of the element
+ * @element_sinkpad_name: (nullable): a #gchar with the name of the element
  * sinkpad that is then linked to the harness srcpad. Can be a static or request
  * or a sometimes pad that has been added. %NULL will not get/request a sinkpad
  * from the element. (Like if the element is a src.)
- * @hsink: (allow-none): a #GstStaticPadTemplate describing the harness sinkpad.
+ * @hsink: (nullable): a #GstStaticPadTemplate describing the harness sinkpad.
  * %NULL will not create a harness sinkpad.
- * @element_srcpad_name: (allow-none): a #gchar with the name of the element
+ * @element_srcpad_name: (nullable): a #gchar with the name of the element
  * srcpad that is then linked to the harness sinkpad, similar to the
  * @element_sinkpad_name.
  *
@@ -798,15 +804,15 @@ gst_harness_add_element_full (GstHarness * h, GstElement * element,
 /**
  * gst_harness_new_full: (skip)
  * @element: a #GstElement to attach the harness to (transfer none)
- * @hsrc: (allow-none): a #GstStaticPadTemplate describing the harness srcpad.
+ * @hsrc: (nullable): a #GstStaticPadTemplate describing the harness srcpad.
  * %NULL will not create a harness srcpad.
- * @element_sinkpad_name: (allow-none): a #gchar with the name of the element
+ * @element_sinkpad_name: (nullable): a #gchar with the name of the element
  * sinkpad that is then linked to the harness srcpad. Can be a static or request
  * or a sometimes pad that has been added. %NULL will not get/request a sinkpad
  * from the element. (Like if the element is a src.)
- * @hsink: (allow-none): a #GstStaticPadTemplate describing the harness sinkpad.
+ * @hsink: (nullable): a #GstStaticPadTemplate describing the harness sinkpad.
  * %NULL will not create a harness sinkpad.
- * @element_srcpad_name: (allow-none): a #gchar with the name of the element
+ * @element_srcpad_name: (nullable): a #gchar with the name of the element
  * srcpad that is then linked to the harness sinkpad, similar to the
  * @element_sinkpad_name.
  *
@@ -814,7 +820,7 @@ gst_harness_add_element_full (GstHarness * h, GstElement * element,
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -834,10 +840,10 @@ gst_harness_new_full (GstElement * element,
 /**
  * gst_harness_new_with_element: (skip)
  * @element: a #GstElement to attach the harness to (transfer none)
- * @element_sinkpad_name: (allow-none): a #gchar with the name of the element
+ * @element_sinkpad_name: (nullable): a #gchar with the name of the element
  * sinkpad that is then linked to the harness srcpad. %NULL does not attach a
  * sinkpad
- * @element_srcpad_name: (allow-none): a #gchar with the name of the element
+ * @element_srcpad_name: (nullable): a #gchar with the name of the element
  * srcpad that is then linked to the harness sinkpad. %NULL does not attach a
  * srcpad
  *
@@ -847,7 +853,7 @@ gst_harness_new_full (GstElement * element,
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -863,10 +869,10 @@ gst_harness_new_with_element (GstElement * element,
 /**
  * gst_harness_new_with_padnames: (skip)
  * @element_name: a #gchar describing the #GstElement name
- * @element_sinkpad_name: (allow-none): a #gchar with the name of the element
+ * @element_sinkpad_name: (nullable): a #gchar with the name of the element
  * sinkpad that is then linked to the harness srcpad. %NULL does not attach a
  * sinkpad
- * @element_srcpad_name: (allow-none): a #gchar with the name of the element
+ * @element_srcpad_name: (nullable): a #gchar with the name of the element
  * srcpad that is then linked to the harness sinkpad. %NULL does not attach a
  * srcpad
  *
@@ -875,7 +881,7 @@ gst_harness_new_with_element (GstElement * element,
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -897,9 +903,9 @@ gst_harness_new_with_padnames (const gchar * element_name,
 /**
  * gst_harness_new_with_templates: (skip)
  * @element_name: a #gchar describing the #GstElement name
- * @hsrc: (allow-none): a #GstStaticPadTemplate describing the harness srcpad.
+ * @hsrc: (nullable): a #GstStaticPadTemplate describing the harness srcpad.
  * %NULL will not create a harness srcpad.
- * @hsink: (allow-none): a #GstStaticPadTemplate describing the harness sinkpad.
+ * @hsink: (nullable): a #GstStaticPadTemplate describing the harness sinkpad.
  * %NULL will not create a harness sinkpad.
  *
  * Creates a new harness, like gst_harness_new_full(), except it
@@ -907,7 +913,7 @@ gst_harness_new_with_padnames (const gchar * element_name,
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -934,7 +940,7 @@ gst_harness_new_with_templates (const gchar * element_name,
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -1027,7 +1033,7 @@ gst_harness_add_parse (GstHarness * h, const gchar * launchline)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstHarness, or %NULL if the harness could
+ * Returns: (transfer full) (nullable): a #GstHarness, or %NULL if the harness could
  * not be created
  *
  * Since: 1.6
@@ -1384,7 +1390,7 @@ gst_harness_use_testclock (GstHarness * h)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstTestClock, or %NULL if the testclock is not
+ * Returns: (transfer full) (nullable): a #GstTestClock, or %NULL if the testclock is not
  * present.
  *
  * Since: 1.6
@@ -1670,7 +1676,7 @@ gst_harness_push (GstHarness * h, GstBuffer * buffer)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstBuffer or %NULL if timed out.
+ * Returns: (transfer full) (nullable): a #GstBuffer or %NULL if timed out.
  *
  * Since: 1.6
  */
@@ -1693,7 +1699,7 @@ gst_harness_pull (GstHarness * h)
 /**
  * gst_harness_pull_until_eos:
  * @h: a #GstHarness
- * @buf: (out) (transfer full): A #GstBuffer, or %NULL if EOS or timeout occures
+ * @buf: (out) (nullable) (transfer full): A #GstBuffer, or %NULL if EOS or timeout occures
  *   first.
  *
  * Pulls a #GstBuffer from the #GAsyncQueue on the #GstHarness sinkpad. The pull
@@ -1734,7 +1740,7 @@ gst_harness_pull_until_eos (GstHarness * h, GstBuffer ** buf)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstBuffer or %NULL if no buffers are present in the #GAsyncQueue
+ * Returns: (transfer full) (nullable): a #GstBuffer or %NULL if no buffers are present in the #GAsyncQueue
  *
  * Since: 1.6
  */
@@ -1764,7 +1770,7 @@ gst_harness_try_pull (GstHarness * h)
  *
  * MT safe.
  *
- * Returns: (transfer full): a #GstBuffer or %NULL if timed out.
+ * Returns: (transfer full) (nullable): a #GstBuffer or %NULL if timed out.
  *
  * Since: 1.6
  */
@@ -1978,7 +1984,7 @@ gst_harness_get_last_pushed_timestamp (GstHarness * h)
 /**
  * gst_harness_push_event:
  * @h: a #GstHarness
- * @event: a #GstEvent to push
+ * @event: (transfer full): a #GstEvent to push
  *
  * Pushes an #GstEvent on the #GstHarness srcpad.
  *
@@ -2003,7 +2009,7 @@ gst_harness_push_event (GstHarness * h, GstEvent * event)
  *
  * MT safe.
  *
- * Returns: a #GstEvent or %NULL if timed out.
+ * Returns: (transfer full) (nullable): a #GstEvent or %NULL if timed out.
  *
  * Since: 1.6
  */
@@ -2024,7 +2030,7 @@ gst_harness_pull_event (GstHarness * h)
  *
  * MT safe.
  *
- * Returns: a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
+ * Returns: (transfer full) (nullable): a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
  *
  * Since: 1.6
  */
@@ -2078,7 +2084,7 @@ gst_harness_events_in_queue (GstHarness * h)
 /**
  * gst_harness_push_upstream_event:
  * @h: a #GstHarness
- * @event: a #GstEvent to push
+ * @event: (transfer full): a #GstEvent to push
  *
  * Pushes an #GstEvent on the #GstHarness sinkpad.
  *
@@ -2106,7 +2112,7 @@ gst_harness_push_upstream_event (GstHarness * h, GstEvent * event)
  *
  * MT safe.
  *
- * Returns: a #GstEvent or %NULL if timed out.
+ * Returns: (transfer full) (nullable): a #GstEvent or %NULL if timed out.
  *
  * Since: 1.6
  */
@@ -2127,7 +2133,7 @@ gst_harness_pull_upstream_event (GstHarness * h)
  *
  * MT safe.
  *
- * Returns: a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
+ * Returns: (transfer full) (nullable): a #GstEvent or %NULL if no buffers are present in the #GAsyncQueue
  *
  * Since: 1.6
  */
@@ -2219,16 +2225,34 @@ gst_harness_query_latency (GstHarness * h)
  */
 void
 gst_harness_set_upstream_latency (GstHarness * h, GstClockTime latency)
+{
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (latency));
+
+  h->priv->latency_min = latency;
+}
+
+/**
+ * gst_harness_set_live:
+ * @h: a #GstHarness
+ * @is_live: %TRUE for live, %FALSE for non-live
+ *
+ * Sets the liveness reported by #GstHarness when receiving a latency-query.
+ * The default is %TRUE.
+ *
+ * Since: 1.20
+ */
+void
+gst_harness_set_live (GstHarness * h, gboolean is_live)
 {
   GstHarnessPrivate *priv = h->priv;
-  priv->latency_min = latency;
+  priv->is_live = is_live;
 }
 
 /**
  * gst_harness_get_allocator:
  * @h: a #GstHarness
- * @allocator: (out) (allow-none) (transfer none): the #GstAllocator used
- * @params: (out) (allow-none) (transfer full): the #GstAllocationParams of
+ * @allocator: (out) (optional) (nullable) (transfer none): the #GstAllocator used
+ * @params: (out) (optional): the #GstAllocationParams of
  *   @allocator
  *
  * Gets the @allocator and its @params that has been decided to use after an
@@ -2253,8 +2277,8 @@ gst_harness_get_allocator (GstHarness * h, GstAllocator ** allocator,
 /**
  * gst_harness_set_propose_allocator:
  * @h: a #GstHarness
- * @allocator: (allow-none) (transfer full): a #GstAllocator
- * @params: (allow-none) (transfer none): a #GstAllocationParams
+ * @allocator: (nullable) (transfer full): a #GstAllocator
+ * @params: (nullable) (transfer none): a #GstAllocationParams
  *
  * Sets the @allocator and @params to propose when receiving an allocation
  * query.
@@ -2278,7 +2302,7 @@ gst_harness_set_propose_allocator (GstHarness * h, GstAllocator * allocator,
  * gst_harness_add_propose_allocation_meta:
  * @h: a #GstHarness
  * @api: a metadata API
- * @params: (allow-none) (transfer none): API specific parameters
+ * @params: (nullable) (transfer none): API specific parameters
  *
  * Add api with params as one of the supported metadata API to propose when
  * receiving an allocation query.
@@ -2656,7 +2680,7 @@ gst_harness_sink_push_many (GstHarness * h, gint pushes)
  *
  * MT safe.
  *
- * Returns: (transfer full) (allow-none): a #GstElement or %NULL if not found
+ * Returns: (transfer full) (nullable): a #GstElement or %NULL if not found
  *
  * Since: 1.6
  */
@@ -3166,7 +3190,7 @@ gst_harness_stress_thread_stop (GstHarnessThread * t)
 /**
  * gst_harness_stress_custom_start: (skip)
  * @h: a #GstHarness
- * @init: (allow-none): a #GFunc that is called initially and only once
+ * @init: (nullable): a #GFunc that is called initially and only once
  * @callback: a #GFunc that is called as often as possible
  * @data: a #gpointer with custom data to pass to the @callback function
  * @sleep: a #gulong specifying how long to sleep in (microseconds) for
diff --git a/libs/gst/check/gstharness.h b/libs/gst/check/gstharness.h
index 3074f1f..160fdb0 100644
--- a/libs/gst/check/gstharness.h
+++ b/libs/gst/check/gstharness.h
@@ -260,6 +260,9 @@ GstClockTime gst_harness_query_latency (GstHarness * h);
 GST_CHECK_API
 void         gst_harness_set_upstream_latency (GstHarness * h, GstClockTime latency);
 
+GST_CHECK_API
+void         gst_harness_set_live (GstHarness * h, gboolean is_live);
+
 /* allocation query parameters */
 
 GST_CHECK_API
@@ -334,12 +337,12 @@ GstElement *  gst_harness_find_element (GstHarness * h,
 GST_CHECK_API
 void          gst_harness_set (GstHarness  * h,
                                const gchar * element_name,
-                               const gchar * first_property_name, ...);
+                               const gchar * first_property_name, ...) G_GNUC_NULL_TERMINATED;
 
 GST_CHECK_API
 void          gst_harness_get (GstHarness  * h,
                                const gchar * element_name,
-                               const gchar * first_property_name, ...);
+                               const gchar * first_property_name, ...) G_GNUC_NULL_TERMINATED;
 
 GST_CHECK_API
 void          gst_harness_add_probe (GstHarness        * h,
diff --git a/libs/gst/check/gsttestclock.c b/libs/gst/check/gsttestclock.c
index 83aadc4..7d6849f 100644
--- a/libs/gst/check/gsttestclock.c
+++ b/libs/gst/check/gsttestclock.c
@@ -699,6 +699,19 @@ gst_test_clock_new_with_start_time (GstClockTime start_time)
   return clock;
 }
 
+static void
+gst_test_clock_set_time_unlocked (GstTestClock * test_clock,
+    GstClockTime new_time)
+{
+  GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+  g_assert_cmpuint (new_time, >=, priv->internal_time);
+
+  priv->internal_time = new_time;
+  GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+      "clock set to %" GST_TIME_FORMAT, GST_TIME_ARGS (new_time));
+}
+
 /**
  * gst_test_clock_set_time:
  * @test_clock: a #GstTestClock of which to set the time
@@ -716,21 +729,13 @@ gst_test_clock_new_with_start_time (GstClockTime start_time)
 void
 gst_test_clock_set_time (GstTestClock * test_clock, GstClockTime new_time)
 {
-  GstTestClockPrivate *priv;
-
   g_return_if_fail (GST_IS_TEST_CLOCK (test_clock));
 
-  priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
-
   g_assert_cmpuint (new_time, !=, GST_CLOCK_TIME_NONE);
 
   GST_OBJECT_LOCK (test_clock);
 
-  g_assert_cmpuint (new_time, >=, priv->internal_time);
-
-  priv->internal_time = new_time;
-  GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
-      "clock set to %" GST_TIME_FORMAT, GST_TIME_ARGS (new_time));
+  gst_test_clock_set_time_unlocked (test_clock, new_time);
 
   GST_OBJECT_UNLOCK (test_clock);
 }
@@ -859,6 +864,19 @@ gst_test_clock_peek_next_pending_id (GstTestClock * test_clock,
   return result;
 }
 
+static void
+gst_test_clock_wait_for_next_pending_id_unlocked (GstTestClock * test_clock,
+    GstClockID * pending_id)
+{
+  GstTestClockPrivate *priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+  while (priv->entry_contexts == NULL)
+    g_cond_wait (&priv->entry_added_cond, GST_OBJECT_GET_LOCK (test_clock));
+
+  if (!gst_test_clock_peek_next_pending_id_unlocked (test_clock, pending_id))
+    g_assert_not_reached ();
+}
+
 /**
  * gst_test_clock_wait_for_next_pending_id:
  * @test_clock: #GstTestClock for which to get the pending clock notification
@@ -877,19 +895,11 @@ void
 gst_test_clock_wait_for_next_pending_id (GstTestClock * test_clock,
     GstClockID * pending_id)
 {
-  GstTestClockPrivate *priv;
-
   g_return_if_fail (GST_IS_TEST_CLOCK (test_clock));
 
-  priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
-
   GST_OBJECT_LOCK (test_clock);
 
-  while (priv->entry_contexts == NULL)
-    g_cond_wait (&priv->entry_added_cond, GST_OBJECT_GET_LOCK (test_clock));
-
-  if (!gst_test_clock_peek_next_pending_id_unlocked (test_clock, pending_id))
-    g_assert_not_reached ();
+  gst_test_clock_wait_for_next_pending_id_unlocked (test_clock, pending_id);
 
   GST_OBJECT_UNLOCK (test_clock);
 }
@@ -916,6 +926,30 @@ gst_test_clock_wait_for_pending_id_count (GstTestClock * test_clock,
 }
 #endif
 
+static GstClockID
+gst_test_clock_process_next_clock_id_unlocked (GstTestClock * test_clock)
+{
+  GstTestClockPrivate *priv;
+  GstClockID result = NULL;
+  GstClockEntryContext *ctx = NULL;
+  GList *cur;
+
+  priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
+
+  for (cur = priv->entry_contexts; cur != NULL && result == NULL;
+      cur = cur->next) {
+    ctx = cur->data;
+
+    if (priv->internal_time >= GST_CLOCK_ENTRY_TIME (ctx->clock_entry))
+      result = gst_clock_id_ref (ctx->clock_entry);
+  }
+
+  if (result != NULL)
+    process_entry_context_unlocked (test_clock, ctx);
+
+  return result;
+}
+
 /**
  * gst_test_clock_process_next_clock_id:
  * @test_clock: a #GstTestClock for which to retrieve the next pending clock
@@ -931,27 +965,13 @@ gst_test_clock_wait_for_pending_id_count (GstTestClock * test_clock,
 GstClockID
 gst_test_clock_process_next_clock_id (GstTestClock * test_clock)
 {
-  GstTestClockPrivate *priv;
-  GstClockID result = NULL;
-  GstClockEntryContext *ctx = NULL;
-  GList *cur;
+  GstClockID result;
 
   g_return_val_if_fail (GST_IS_TEST_CLOCK (test_clock), NULL);
 
-  priv = GST_TEST_CLOCK_GET_PRIVATE (test_clock);
-
   GST_OBJECT_LOCK (test_clock);
 
-  for (cur = priv->entry_contexts; cur != NULL && result == NULL;
-      cur = cur->next) {
-    ctx = cur->data;
-
-    if (priv->internal_time >= GST_CLOCK_ENTRY_TIME (ctx->clock_entry))
-      result = gst_clock_id_ref (ctx->clock_entry);
-  }
-
-  if (result != NULL)
-    process_entry_context_unlocked (test_clock, ctx);
+  result = gst_test_clock_process_next_clock_id_unlocked (test_clock);
 
   GST_OBJECT_UNLOCK (test_clock);
 
@@ -1209,21 +1229,23 @@ gst_test_clock_crank (GstTestClock * test_clock)
   GstClockTime now;
   gboolean result;
 
-  gst_test_clock_wait_for_next_pending_id (test_clock, &pending);
-  now = gst_clock_get_time (GST_CLOCK (test_clock));
+  g_return_val_if_fail (GST_IS_TEST_CLOCK (test_clock), FALSE);
+
+  GST_OBJECT_LOCK (test_clock);
+
+  gst_test_clock_wait_for_next_pending_id_unlocked (test_clock, &pending);
+  now = test_clock->priv->internal_time;
   if (gst_clock_id_get_time (pending) > now)
-    gst_test_clock_set_time (test_clock, gst_clock_id_get_time (pending));
-  res = gst_test_clock_process_next_clock_id (test_clock);
-  if (G_LIKELY (res == pending)) {
-    GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
-        "cranked to time %" GST_TIME_FORMAT,
-        GST_TIME_ARGS (gst_clock_get_time (GST_CLOCK (test_clock))));
-    result = TRUE;
-  } else {
-    GST_CAT_WARNING_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
-        "testclock next id != pending (%p != %p)", res, pending);
-    result = FALSE;
-  }
+    gst_test_clock_set_time_unlocked (test_clock,
+        gst_clock_id_get_time (pending));
+  res = gst_test_clock_process_next_clock_id_unlocked (test_clock);
+  g_assert (res == pending);
+  GST_CAT_DEBUG_OBJECT (GST_CAT_TEST_CLOCK, test_clock,
+      "cranked to time %" GST_TIME_FORMAT,
+      GST_TIME_ARGS (test_clock->priv->internal_time));
+  result = TRUE;
+
+  GST_OBJECT_UNLOCK (test_clock);
 
   if (G_LIKELY (res != NULL))
     gst_clock_id_unref (res);
diff --git a/libs/gst/check/libcheck/check.c b/libs/gst/check/libcheck/check.c
index 28eca52..8ef3b62 100644
--- a/libs/gst/check/libcheck/check.c
+++ b/libs/gst/check/libcheck/check.c
@@ -26,6 +26,8 @@
 #include <stdarg.h>
 #include <math.h>
 
+#include <glib.h>
+
 #include "internal-check.h"
 #include "check_error.h"
 #include "check_list.h"
@@ -386,6 +388,7 @@ _ck_assert_failed (const char *file, int line, const char *expr, ...)
   send_failure_info (to_send);
 #if defined(HAVE_FORK) && HAVE_FORK==1
   if (cur_fork_status () == CK_FORK) {
+    g_thread_pool_stop_unused_threads ();
     _exit (1);
   }
 #endif /* HAVE_FORK */
diff --git a/libs/gst/check/libcheck/check_run.c b/libs/gst/check/libcheck/check_run.c
index f686ca0..a97379c 100644
--- a/libs/gst/check/libcheck/check_run.c
+++ b/libs/gst/check/libcheck/check_run.c
@@ -29,6 +29,8 @@
 #include <signal.h>
 #include <setjmp.h>
 
+#include <glib.h>
+
 #include "internal-check.h"
 #include "check_error.h"
 #include "check_list.h"
@@ -466,6 +468,7 @@ tcase_run_tfun_fork (SRunner * sr, TCase * tc, TF * tfun, int i)
     clock_gettime (check_get_clockid (), &ts_end);
     tcase_run_checked_teardown (tc);
     send_duration_info (DIFF_IN_USEC (ts_start, ts_end));
+    g_thread_pool_stop_unused_threads ();
     exit (EXIT_SUCCESS);
   } else {
     group_pid = pid;
@@ -784,9 +787,11 @@ check_waitpid_and_exit (pid_t pid CK_ATTRIBUTE_UNUSED)
     }
     while (pid_w == -1);
     if (waserror (status, 0)) {
+      g_thread_pool_stop_unused_threads ();
       exit (EXIT_FAILURE);
     }
   }
+  g_thread_pool_stop_unused_threads ();
   exit (EXIT_SUCCESS);
 #else /* HAVE_FORK */
   eprintf ("This version does not support fork", __FILE__, __LINE__);
diff --git a/libs/gst/check/libcheck/libcompat/libcompat.h b/libs/gst/check/libcheck/libcompat/libcompat.h
index b88121b..081d48d 100644
--- a/libs/gst/check/libcheck/libcompat/libcompat.h
+++ b/libs/gst/check/libcheck/libcompat/libcompat.h
@@ -54,11 +54,14 @@
 #define CK_DLL_EXP extern
 #endif
 
-#if _MSC_VER
+#ifdef _MSC_VER
 #include <WinSock2.h>           /* struct timeval, API used in gettimeofday implementation */
 #include <io.h>                 /* read, write */
-#include <process.h>            /* getpid */
 #include <BaseTsd.h>            /* for ssize_t */
+#include <processthreadsapi.h> /* GetCurrentProcessId */
+/* getpid() is not allowed in case of UWP, use GetCurrentProcessId() instead
+ * which can be used on both desktop and UWP */
+#define getpid GetCurrentProcessId
 typedef SSIZE_T ssize_t;
 #endif /* _MSC_VER */
 
@@ -114,7 +117,7 @@ CK_DLL_EXP void *rpl_malloc (size_t n);
 CK_DLL_EXP void *rpl_realloc (void *p, size_t n);
 #endif /* !HAVE_REALLOC */
 
-#if !HAVE_GETPID && HAVE__GETPID
+#if !HAVE_GETPID && HAVE__GETPID && !defined(_MSC_VER)
 #define getpid _getpid
 #endif /* !HAVE_GETPID && HAVE__GETPID */
 
@@ -174,7 +177,7 @@ struct timespec
 #endif /* STRUCT_TIMESPEC_DEFINITION_MISSING */
 
 #ifdef STRUCT_ITIMERSPEC_DEFINITION_MISSING
-/* 
+/*
  * The following structure is defined in POSIX.1b for timer start values and intervals.
  * If it is not defined in time.h, then we need to define it here.
  */
@@ -185,7 +188,7 @@ struct itimerspec
 };
 #endif /* STRUCT_ITIMERSPEC_DEFINITION_MISSING */
 
-/* 
+/*
  * Do a simple forward declaration in case the struct is not defined.
  * In the versions of timer_create in libcompat, sigevent is never
  * used.
diff --git a/libs/gst/check/libcheck/meson.build b/libs/gst/check/libcheck/meson.build
index 9641653..af6210b 100644
--- a/libs/gst/check/libcheck/meson.build
+++ b/libs/gst/check/libcheck/meson.build
@@ -1,4 +1,4 @@
-libcheck_files = [
+libcheck_files = files(
   'check.c',
   'check_error.c',
   'check_list.c',
@@ -9,7 +9,7 @@ libcheck_files = [
   'check_run.c',
   'check_str.c',
   'libcompat/libcompat.c'
-]
+)
 
 if not cdata.has('HAVE_ALARM')
   libcheck_files += ['libcompat/alarm.c']
@@ -41,11 +41,11 @@ endif
 
 # FIXME: check that timer_create, timer_settime, timer_delete are in rt_lib
 if not rt_lib.found()
-  libcheck_files += [
+  libcheck_files += files(
     'libcompat/timer_create.c',
     'libcompat/timer_settime.c',
     'libcompat/timer_delete.c'
-  ]
+  )
 endif
 
 configure_file(input : 'check.h.in',
@@ -55,14 +55,12 @@ configure_file(input : 'check.h.in',
 internal_check_h_inc = include_directories('..')
 
 # Must explicitly make symbols public if default visibility is hidden
-if have_visibility_hidden
+if host_system in ['windows', 'cygwin'] and not static_build
+  libcheck_visibility_args = ['-DCK_DLL_EXP=extern __declspec(dllexport)']
+elif have_visibility_hidden
   libcheck_visibility_args = ['-DCK_DLL_EXP=extern __attribute__ ((visibility ("default")))']
 else
-  if host_system == 'windows'
-    libcheck_visibility_args = ['-DCK_DLL_EXP=__declspec(dllexport)']
-  else
-    libcheck_visibility_args = ['-DCK_DLL_EXP=extern']
-  endif
+  libcheck_visibility_args = ['-DCK_DLL_EXP=extern']
 endif
 
 no_warn_args = []
@@ -83,7 +81,7 @@ endforeach
 libcheck = static_library('check',
   libcheck_files,
   include_directories : [configinc, internal_check_h_inc],
-  dependencies : [rt_lib, mathlib],
+  dependencies : [rt_lib, mathlib, glib_dep],
   c_args: gst_c_args + libcheck_visibility_args + no_warn_args +
 	  # Don't want libcompat to think we don't have these and substitute
 	  # replacements since we don't check for or define these. See libcompat.h
diff --git a/libs/gst/check/meson.build b/libs/gst/check/meson.build
index 2207382..5cd583e 100644
--- a/libs/gst/check/meson.build
+++ b/libs/gst/check/meson.build
@@ -1,11 +1,11 @@
-gst_check_sources = [
+gst_check_sources = files(
   'gstbufferstraw.c',
   'gstcheck.c',
   'gstconsistencychecker.c',
   'gstharness.c',
   'gsttestclock.c',
-]
-gst_check_headers = [
+)
+gst_check_headers = files(
   'check.h',
   'check-prelude.h',
   'gstbufferstraw.h',
@@ -13,7 +13,7 @@ gst_check_headers = [
   'gstconsistencychecker.h',
   'gstharness.h',
   'gsttestclock.h',
-]
+)
 install_headers(gst_check_headers, subdir : 'gstreamer-1.0/gst/check/')
 
 
@@ -38,37 +38,57 @@ configure_file(input : 'libcheck/check.h.in',
 
 gst_check = library('gstcheck-@0@'.format(apiversion),
   gst_check_sources,
-  c_args : gst_c_args + ['-UG_DISABLE_ASSERT', '-DBUILDING_GST_CHECK'],
+  c_args : gst_c_args + ['-UG_DISABLE_ASSERT', '-DBUILDING_GST_CHECK', '-DG_LOG_DOMAIN="GStreamer-Check"'],
   version : libversion,
   soversion : soversion,
   darwin_versions : osxversion,
   install : true,
   include_directories : [configinc, libsinc],
   link_with : [libcheck],
-  dependencies : [gobject_dep, glib_dep, gst_dep],
+  dependencies : [gst_dep],
 )
 
-gst_check_gen_sources = []
+library_def = {'lib': gst_check}
+pkg_name = 'gstreamer-check-1.0'
+pkgconfig.generate(gst_check,
+  libraries : [libgst],
+  # FIXME: Add manually libcheck's dependencies because it's an uninstalled static
+  # library and Meson <0.56.0 does not handle them correctly.
+  # See https://github.com/mesonbuild/meson/pull/7488.
+  libraries_private: [rt_lib, mathlib],
+  variables : pkgconfig_variables,
+  subdirs : pkgconfig_subdirs,
+  name : pkg_name,
+  description : 'Unit testing helper library for GStreamer modules',
+)
 
+gst_check_gen_sources = []
 if build_gir
   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/check/check.h' ]
-  gst_check_gir = gnome.generate_gir(gst_check,
-    sources : gst_check_sources + gst_check_headers,
-    namespace : 'GstCheck',
-    nsversion : apiversion,
-    identifier_prefix : 'Gst',
-    symbol_prefix : 'gst',
-    export_packages : 'gstreamer-check-1.0',
-    dependencies : [gst_dep],
-    include_directories : [configinc, libsinc, privinc],
-    includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
-    install : true,
-    extra_args : gst_gir_extra_args,
-  )
-  gst_check_gen_sources += gst_check_gir
+  gir = {
+    'sources' : gst_check_sources + gst_check_headers,
+    'namespace' : 'GstCheck',
+    'nsversion' : apiversion,
+    'identifier_prefix' : 'Gst',
+    'symbol_prefix' : 'gst',
+    'export_packages' : pkg_name,
+    'dependencies' : [gst_dep],
+    'include_directories' : [configinc, libsinc, privinc],
+    'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+    'install' : true,
+    'extra_args' : gst_gir_extra_args,
+  }
+  library_def += {'gir': [gir]}
+  if not static_build
+    gst_check_gir = gnome.generate_gir(gst_check, kwargs: gir)
+    gst_check_gen_sources += gst_check_gir
+  endif
 endif
+gst_libraries += [[pkg_name, library_def]]
 
 gst_check_dep = declare_dependency(link_with : gst_check,
   include_directories : [libsinc],
   dependencies : [gst_dep],
   sources : gst_check_gen_sources)
+
+meson.override_dependency(pkg_name, gst_check_dep)
diff --git a/libs/gst/controller/gsttimedvaluecontrolsource.c b/libs/gst/controller/gsttimedvaluecontrolsource.c
index 1d6c115..080df32 100644
--- a/libs/gst/controller/gsttimedvaluecontrolsource.c
+++ b/libs/gst/controller/gsttimedvaluecontrolsource.c
@@ -87,7 +87,7 @@ gst_control_point_free (GstControlPoint * cp)
  *
  * Copies a #GstControlPoint
  *
- * Returns: A copy of @cp
+ * Returns: (transfer full): A copy of @cp
  */
 GstControlPoint *
 gst_control_point_copy (GstControlPoint * cp)
@@ -98,7 +98,7 @@ gst_control_point_copy (GstControlPoint * cp)
 GType
 gst_control_point_get_type (void)
 {
-  static volatile gsize type_id = 0;
+  static gsize type_id = 0;
 
   if (g_once_init_enter (&type_id)) {
     GType tmp =
@@ -232,7 +232,7 @@ done:
  *
  * For use in control source implementations.
  *
- * Returns: (transfer none): the found #GSequenceIter or %NULL
+ * Returns: (transfer none) (nullable): the found #GSequenceIter or %NULL
  */
 GSequenceIter *gst_timed_value_control_source_find_control_point_iter
     (GstTimedValueControlSource * self, GstClockTime timestamp)
diff --git a/libs/gst/controller/meson.build b/libs/gst/controller/meson.build
index e592b81..a5db2ce 100644
--- a/libs/gst/controller/meson.build
+++ b/libs/gst/controller/meson.build
@@ -1,4 +1,4 @@
-gst_controller_sources = [
+gst_controller_sources = files(
   'gstargbcontrolbinding.c',
   'gstdirectcontrolbinding.c',
   'gsttimedvaluecontrolsource.c',
@@ -6,14 +6,14 @@ gst_controller_sources = [
   'gstproxycontrolbinding.c',
   'gsttriggercontrolsource.c',
   'gstlfocontrolsource.c',
-]
+)
 
-controller_mkenum_headers = [
+controller_mkenum_headers = files(
   'gstinterpolationcontrolsource.h',
   'gstlfocontrolsource.h',
-]
+)
 
-gst_controller_headers = controller_mkenum_headers + [
+gst_controller_headers = controller_mkenum_headers + files(
   'gstargbcontrolbinding.h',
   'gstdirectcontrolbinding.h',
   'gsttimedvaluecontrolsource.h',
@@ -23,7 +23,7 @@ gst_controller_headers = controller_mkenum_headers + [
   'gstlfocontrolsource.h',
   'controller-prelude.h',
   'controller.h',
-]
+)
 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
 
 controller_enums = gnome.mkenums_simple('controller-enumtypes',
@@ -39,34 +39,51 @@ gstcontroller_h = controller_enums[1]
 gst_controller_gen_sources = [gstcontroller_h]
 gst_controller = library('gstcontroller-@0@'.format(apiversion),
   gst_controller_sources, gstcontroller_h, gstcontroller_c,
-  c_args : gst_c_args + ['-DBUILDING_GST_CONTROLLER'],
+  c_args : gst_c_args + ['-DBUILDING_GST_CONTROLLER', '-DG_LOG_DOMAIN="GStreamer-Controller"'],
   install : true,
   version : libversion,
   soversion : soversion,
   darwin_versions : osxversion,
   include_directories : [configinc, libsinc],
-  dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
+  dependencies : [mathlib, gst_dep],
+)
+
+library_def = {'lib': gst_controller}
+pkg_name = 'gstreamer-controller-1.0'
+pkgconfig.generate(gst_controller,
+  libraries : [libgst],
+  variables : pkgconfig_variables,
+  subdirs : pkgconfig_subdirs,
+  name : pkg_name,
+  description : 'Dynamic parameter control for GStreamer elements',
 )
 
 if build_gir
   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
-  gst_controller_gir = gnome.generate_gir(gst_controller,
-    sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
-    namespace : 'GstController',
-    nsversion : apiversion,
-    identifier_prefix : 'Gst',
-    symbol_prefix : 'gst',
-    export_packages : 'gstreamer-controller-1.0',
-    dependencies : [gst_dep],
-    include_directories : [configinc, libsinc, privinc],
-    includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
-    install : true,
-    extra_args : gst_gir_extra_args,
-  )
-  gst_controller_gen_sources += [gst_controller_gir]
+  gir = {
+    'sources' : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
+    'namespace': 'GstController',
+    'nsversion': apiversion,
+    'identifier_prefix' : 'Gst',
+    'symbol_prefix' : 'gst',
+    'export_packages' : pkg_name,
+    'dependencies' : [gst_dep],
+    'include_directories' : [configinc, libsinc, privinc],
+    'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
+    'install' : true,
+    'extra_args' : gst_gir_extra_args,
+  }
+  library_def += {'gir': [gir]}
+  if not static_build
+    gst_controller_gir = gnome.generate_gir(gst_controller, kwargs: gir)
+    gst_controller_gen_sources += [gst_controller_gir]
+  endif
 endif
+gst_libraries += [[pkg_name, library_def]]
 
 gst_controller_dep = declare_dependency(link_with : gst_controller,
   include_directories : [libsinc],
   sources: gst_controller_gen_sources,
   dependencies : [gst_dep])
+
+meson.override_dependency(pkg_name, gst_controller_dep)
diff --git a/libs/gst/helpers/gst-ptp-helper.c b/libs/gst/helpers/gst-ptp-helper.c
index 91a2570..4e8ab36 100644
--- a/libs/gst/helpers/gst-ptp-helper.c
+++ b/libs/gst/helpers/gst-ptp-helper.c
@@ -226,7 +226,6 @@ setup_sockets (void)
   if (!socket_event)
     g_error ("Couldn't create event socket: %s", err->message);
   g_clear_error (&err);
-  g_socket_set_multicast_loopback (socket_event, FALSE);
 
   socket_general =
       g_socket_new (G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM,
@@ -234,7 +233,6 @@ setup_sockets (void)
   if (!socket_general)
     g_error ("Couldn't create general socket: %s", err->message);
   g_clear_error (&err);
-  g_socket_set_multicast_loopback (socket_general, FALSE);
 
   /* Bind sockets */
   bind_addr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
diff --git a/libs/gst/helpers/meson.build b/libs/gst/helpers/meson.build
index b34423f..543064c 100644
--- a/libs/gst/helpers/meson.build
+++ b/libs/gst/helpers/meson.build
@@ -1,12 +1,14 @@
-executable('gst-plugin-scanner',
+exe = executable('gst-plugin-scanner',
   'gst-plugin-scanner.c',
   c_args : gst_c_args,
   include_directories : [configinc],
-  dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, mathlib, gmodule_dep,],
   install_dir : helpers_install_dir,
   install: true,
 )
 
+meson.add_devenv({'GST_PLUGIN_SCANNER': exe.full_path()})
+
 # Used in test env setup to make tests find plugin scanner in build tree
 gst_scanner_dir = meson.current_build_dir()
 
@@ -15,8 +17,9 @@ if bashcomp_found
     'gst-completion-helper.c',
     c_args : gst_c_args,
     include_directories : [configinc],
-    dependencies : [gobject_dep, glib_dep, gst_dep],
+    dependencies : [gst_dep],
     install_dir : helpers_install_dir,
+    install_tag : 'bin',
     install: true,
   )
 endif
@@ -109,20 +112,27 @@ if have_ptp
     error('Unexpected ptp helper permissions value: ' + with_ptp_helper_permissions)
   endif
 
-  executable('gst-ptp-helper', 'gst-ptp-helper.c',
+  exe = executable('gst-ptp-helper', 'gst-ptp-helper.c',
     c_args : gst_c_args,
     include_directories : [configinc, libsinc],
-    dependencies : [gio_dep, gobject_dep, glib_dep, mathlib, gst_dep, cap_dep],
+    dependencies : [gst_dep, gio_dep, mathlib, cap_dep],
     install_dir : helpers_install_dir,
     install : true)
 
   meson.add_install_script('ptp_helper_post_install.sh',
       helpers_install_dir, with_ptp_helper_permissions,
-      setcap_prog.found() ? setcap_prog.path() : '')
+      setcap_prog.found() ? setcap_prog.full_path() : '')
+  meson.add_devenv({'GST_PTP_HELPER': exe.full_path()})
 endif
 
 install_data(['gst_gdb.py', 'glib_gobject_helper.py'],
-  install_dir : join_paths(get_option('datadir'), 'gstreamer-@0@'.format(apiversion), 'gdb'))
+  install_dir : join_paths(get_option('datadir'), 'gstreamer-@0@'.format(apiversion), 'gdb'),
+  install_tag : 'devel')
+
+# This is needed to make gdb find gst_gdb.py
+env = environment()
+env.prepend('PYTHONPATH', meson.current_source_dir())
+meson.add_devenv(env)
 
 gdbconf = configuration_data()
 gdbconf.set('GST_API_VERSION', apiversion)
@@ -140,4 +150,5 @@ endif
 configure_file(input : 'libgstreamer-gdb.py.in',
   output : 'libgstreamer-@0@.so.@1@-gdb.py'.format(apiversion, libversion),
   install_dir : gdb_install_dir,
+  install_tag : 'devel',
   configuration : gdbconf)
diff --git a/libs/gst/net/gstnetaddressmeta.c b/libs/gst/net/gstnetaddressmeta.c
index 262c578..139cac7 100644
--- a/libs/gst/net/gstnetaddressmeta.c
+++ b/libs/gst/net/gstnetaddressmeta.c
@@ -72,7 +72,7 @@ net_address_meta_free (GstMeta * meta, GstBuffer * buffer)
 GType
 gst_net_address_meta_api_get_type (void)
 {
-  static volatile GType type;
+  static GType type;
   static const gchar *tags[] = { "origin", NULL };
 
   if (g_once_init_enter (&type)) {
@@ -130,7 +130,7 @@ gst_buffer_add_net_address_meta (GstBuffer * buffer, GSocketAddress * addr)
  *
  * Find the #GstNetAddressMeta on @buffer.
  *
- * Returns: (transfer none): the #GstNetAddressMeta or %NULL when there
+ * Returns: (transfer none) (nullable): the #GstNetAddressMeta or %NULL when there
  * is no such metadata on @buffer.
  */
 GstNetAddressMeta *
diff --git a/libs/gst/net/gstnetclientclock.c b/libs/gst/net/gstnetclientclock.c
index 13ff013..6c55f0a 100644
--- a/libs/gst/net/gstnetclientclock.c
+++ b/libs/gst/net/gstnetclientclock.c
@@ -143,6 +143,7 @@ struct _GstNetClientInternalClock
   GstClockTime rtt_avg;
   GstClockTime minimum_update_interval;
   GstClockTime last_remote_poll_interval;
+  GstClockTime remote_avg_old;
   guint skipped_updates;
   GstClockTime last_rtts[MEDIAN_PRE_FILTERING_WINDOW];
   gint last_rtts_missing;
@@ -229,6 +230,7 @@ gst_net_client_internal_clock_init (GstNetClientInternalClock * self)
   self->last_remote_poll_interval = GST_CLOCK_TIME_NONE;
   self->skipped_updates = 0;
   self->last_rtts_missing = MEDIAN_PRE_FILTERING_WINDOW;
+  self->remote_avg_old = 0;
 }
 
 static void
@@ -519,6 +521,20 @@ gst_net_client_internal_clock_observe_times (GstNetClientInternalClock * self,
       && GST_CLOCK_DIFF (time_before,
           remote_avg) < (GstClockTimeDiff) (max_discont));
 
+  /* Check if new remote_avg is less than before to detect if signal lost
+   * sync due to the remote clock has restarted. Then the new remote time will
+   * be less than the previous time which should not happen if increased in a
+   * monotonic way. Also, only perform this check on a synchronized clock to
+   * avoid startup issues.
+   */
+  if (synched) {
+    if (remote_avg < self->remote_avg_old) {
+      gst_clock_set_synced (GST_CLOCK (self), FALSE);
+    } else {
+      self->remote_avg_old = remote_avg;
+    }
+  }
+
   if (gst_clock_add_observation_unapplied (GST_CLOCK_CAST (self),
           local_avg, remote_avg, &r_squared, &internal_time, &external_time,
           &rate_num, &rate_den)) {
@@ -1410,7 +1426,7 @@ gst_net_client_clock_get_internal_time (GstClock * clock)
 
 /**
  * gst_net_client_clock_new:
- * @name: a name for the clock
+ * @name: (nullable): a name for the clock
  * @remote_address: the address or hostname of the remote clock provider
  * @remote_port: the port of the remote clock provider
  * @base_time: initial time of the clock
@@ -1458,7 +1474,7 @@ gst_ntp_clock_init (GstNtpClock * self)
 
 /**
  * gst_ntp_clock_new:
- * @name: a name for the clock
+ * @name: (nullable): a name for the clock
  * @remote_address: the address or hostname of the remote clock provider
  * @remote_port: the port of the remote clock provider
  * @base_time: initial time of the clock
diff --git a/libs/gst/net/gstnetcontrolmessagemeta.c b/libs/gst/net/gstnetcontrolmessagemeta.c
index 4f24834..f4d2a29 100644
--- a/libs/gst/net/gstnetcontrolmessagemeta.c
+++ b/libs/gst/net/gstnetcontrolmessagemeta.c
@@ -75,7 +75,7 @@ net_control_message_meta_free (GstMeta * meta, GstBuffer * buffer)
 GType
 gst_net_control_message_meta_api_get_type (void)
 {
-  static volatile GType type;
+  static GType type;
   static const gchar *tags[] = { "origin", NULL };
 
   if (g_once_init_enter (&type)) {
diff --git a/libs/gst/net/gstnettimepacket.c b/libs/gst/net/gstnettimepacket.c
index f914988..4a0ec5e 100644
--- a/libs/gst/net/gstnettimepacket.c
+++ b/libs/gst/net/gstnettimepacket.c
@@ -47,7 +47,7 @@ G_DEFINE_BOXED_TYPE (GstNetTimePacket, gst_net_time_packet,
 
 /**
  * gst_net_time_packet_new:
- * @buffer: (array): a buffer from which to construct the packet, or NULL
+ * @buffer: (array zero-terminated=0 fixed-size=16) (nullable): a buffer from which to construct the packet, or NULL
  *
  * Creates a new #GstNetTimePacket from a buffer received over the network. The
  * caller is responsible for ensuring that @buffer is at least
@@ -58,7 +58,7 @@ G_DEFINE_BOXED_TYPE (GstNetTimePacket, gst_net_time_packet,
  *
  * MT safe. Caller owns return value (gst_net_time_packet_free to free).
  *
- * Returns: The new #GstNetTimePacket.
+ * Returns: (transfer full): The new #GstNetTimePacket.
  */
 GstNetTimePacket *
 gst_net_time_packet_new (const guint8 * buffer)
@@ -98,7 +98,7 @@ gst_net_time_packet_free (GstNetTimePacket * packet)
  *
  * Make a copy of @packet.
  *
- * Returns: a copy of @packet, free with gst_net_time_packet_free().
+ * Returns: (transfer full): a copy of @packet, free with gst_net_time_packet_free().
  */
 GstNetTimePacket *
 gst_net_time_packet_copy (const GstNetTimePacket * packet)
@@ -123,7 +123,7 @@ gst_net_time_packet_copy (const GstNetTimePacket * packet)
  *
  * MT safe. Caller owns return value (g_free to free).
  *
- * Returns: A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.
+ * Returns: (transfer full) (array zero-terminated=0 fixed-size=16): A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.
  */
 guint8 *
 gst_net_time_packet_serialize (const GstNetTimePacket * packet)
@@ -143,7 +143,7 @@ gst_net_time_packet_serialize (const GstNetTimePacket * packet)
 /**
  * gst_net_time_packet_receive:
  * @socket: socket to receive the time packet on
- * @src_address: (out): address of variable to return sender address
+ * @src_address: (out) (optional) (transfer full): address of variable to return sender address
  * @error: return address for a #GError, or NULL
  *
  * Receives a #GstNetTimePacket over a socket. Handles interrupted system
diff --git a/libs/gst/net/gstnettimeprovider.c b/libs/gst/net/gstnettimeprovider.c
index 1df6959..11f3068 100644
--- a/libs/gst/net/gstnettimeprovider.c
+++ b/libs/gst/net/gstnettimeprovider.c
@@ -456,7 +456,7 @@ gst_net_time_provider_initable_iface_init (gpointer g_iface)
  *
  * Allows network clients to get the current time of @clock.
  *
- * Returns: (transfer full): the new #GstNetTimeProvider, or NULL on error
+ * Returns: (transfer full) (nullable): the new #GstNetTimeProvider, or NULL on error
  */
 GstNetTimeProvider *
 gst_net_time_provider_new (GstClock * clock, const gchar * address, gint port)
@@ -471,7 +471,8 @@ gst_net_time_provider_new (GstClock * clock, const gchar * address, gint port)
       "address", address, "port", port, NULL);
 
   /* Clear floating flag */
-  g_object_ref_sink (ret);
+  if (ret)
+    g_object_ref_sink (ret);
 
   return ret;
 }
diff --git a/libs/gst/net/gstntppacket.c b/libs/gst/net/gstntppacket.c
index 8d88d75..a9f694a 100644
--- a/libs/gst/net/gstntppacket.c
+++ b/libs/gst/net/gstntppacket.c
@@ -78,7 +78,7 @@ gst_clock_time_to_ntp_timestamp_fraction (GstClockTime gst)
 
 /**
  * gst_ntp_packet_new:
- * @buffer: (array): a buffer from which to construct the packet, or NULL
+ * @buffer: (array zero-terminated=0 fixed-size=48): a buffer from which to construct the packet, or NULL
  * @error: a #GError
  *
  * Creates a new #GstNtpPacket from a buffer received over the network. The
@@ -182,7 +182,7 @@ gst_ntp_packet_free (GstNtpPacket * packet)
  *
  * Make a copy of @packet.
  *
- * Returns: a copy of @packet, free with gst_ntp_packet_free().
+ * Returns: (transfer full): a copy of @packet, free with gst_ntp_packet_free().
  */
 GstNtpPacket *
 gst_ntp_packet_copy (const GstNtpPacket * packet)
@@ -208,7 +208,7 @@ gst_ntp_packet_copy (const GstNtpPacket * packet)
  *
  * MT safe. Caller owns return value (g_free to free).
  *
- * Returns: A newly allocated sequence of #GST_NTP_PACKET_SIZE bytes.
+ * Returns: (transfer full) (array zero-terminated=0 fixed-size=48): A newly allocated sequence of #GST_NTP_PACKET_SIZE bytes.
  */
 guint8 *
 gst_ntp_packet_serialize (const GstNtpPacket * packet)
@@ -260,7 +260,7 @@ gst_ntp_packet_serialize (const GstNtpPacket * packet)
 /**
  * gst_ntp_packet_receive:
  * @socket: socket to receive the time packet on
- * @src_address: (out): address of variable to return sender address
+ * @src_address: (out) (optional) (transfer full): address of variable to return sender address
  * @error: return address for a #GError, or NULL
  *
  * Receives a #GstNtpPacket over a socket. Handles interrupted system
diff --git a/libs/gst/net/gstptpclock.c b/libs/gst/net/gstptpclock.c
index c2d0915..018e810 100644
--- a/libs/gst/net/gstptpclock.c
+++ b/libs/gst/net/gstptpclock.c
@@ -63,6 +63,7 @@
 #ifdef G_OS_WIN32
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
+#include <processthreadsapi.h>  /* GetCurrentProcessId */
 #endif
 #include <sys/types.h>
 
@@ -772,6 +773,7 @@ select_best_master_clock (PtpDomainData * domain, GstClockTime now)
     if (!best || compare_announce_message (msg, best) < 0)
       best = msg;
   }
+  g_clear_pointer (&qualified_messages, g_list_free);
 
   if (domain->have_master_clock
       && compare_clock_identity (&domain->master_clock_identity,
@@ -1104,15 +1106,20 @@ update_ptp_time (PtpDomainData * domain, PtpPendingSync * sync)
    * we can get here without a delay response too. The tolerance on
    * accepting follow-up after a sync is high, because a PTP server
    * doesn't have to prioritise sending FOLLOW_UP - its purpose is
-   * just to give us the accurate timestamp of the preceding SYNC */
+   * just to give us the accurate timestamp of the preceding SYNC.
+   *
+   * For that reason also allow at least 100ms delay in case of delays smaller
+   * than 5ms. */
   if (sync->follow_up_recv_time_local != GST_CLOCK_TIME_NONE
       && sync->follow_up_recv_time_local >
-      sync->sync_recv_time_local + 20 * domain->mean_path_delay) {
+      sync->sync_recv_time_local + MAX (100 * GST_MSECOND,
+          20 * domain->mean_path_delay)) {
     GstClockTimeDiff delay =
         sync->follow_up_recv_time_local - sync->sync_recv_time_local;
     GST_WARNING ("Sync-follow-up delay for domain %u too big: %"
-        GST_STIME_FORMAT " > 20 * %" GST_TIME_FORMAT, domain->domain,
-        GST_STIME_ARGS (delay), GST_TIME_ARGS (domain->mean_path_delay));
+        GST_STIME_FORMAT " > MAX(100ms, 20 * %" GST_TIME_FORMAT ")",
+        domain->domain, GST_STIME_ARGS (delay),
+        GST_TIME_ARGS (domain->mean_path_delay));
     synced = FALSE;
     gst_clock_get_calibration (GST_CLOCK_CAST (domain->domain_clock),
         &internal_time, &external_time, &rate_num, &rate_den);
@@ -1372,13 +1379,17 @@ update_mean_path_delay (PtpDomainData * domain, PtpPendingSync * sync)
 #ifdef USE_MEASUREMENT_FILTERING
   /* The tolerance on accepting follow-up after a sync is high, because
    * a PTP server doesn't have to prioritise sending FOLLOW_UP - its purpose is
-   * just to give us the accurate timestamp of the preceding SYNC */
+   * just to give us the accurate timestamp of the preceding SYNC.
+   *
+   * For that reason also allow at least 100ms delay in case of delays smaller
+   * than 5ms. */
   if (sync->follow_up_recv_time_local != GST_CLOCK_TIME_NONE &&
       domain->mean_path_delay != 0
       && sync->follow_up_recv_time_local >
-      sync->sync_recv_time_local + 20 * domain->mean_path_delay) {
+      sync->sync_recv_time_local + MAX (100 * GST_MSECOND,
+          20 * domain->mean_path_delay)) {
     GST_WARNING ("Sync-follow-up delay for domain %u too big: %" GST_TIME_FORMAT
-        " > 20 * %" GST_TIME_FORMAT, domain->domain,
+        " > MAX(100ms, 20 * %" GST_TIME_FORMAT ")", domain->domain,
         GST_TIME_ARGS (sync->follow_up_recv_time_local -
             sync->sync_recv_time_local),
         GST_TIME_ARGS (domain->mean_path_delay));
@@ -1404,11 +1415,14 @@ update_mean_path_delay (PtpDomainData * domain, PtpPendingSync * sync)
    * hope for, but some PTP systems don't prioritise sending DELAY_RESP,
    * but they must still have placed an accurate reception timestamp.
    * That means we should be quite tolerant about late DELAY_RESP, and
-   * mostly rely on filtering out jumps in the mean-path-delay elsewhere  */
-  if (delay_req_delay > 20 * domain->mean_path_delay) {
+   * mostly rely on filtering out jumps in the mean-path-delay elsewhere.
+   *
+   * For that reason also allow at least 100ms delay in case of delays smaller
+   * than 5ms. */
+  if (delay_req_delay > MAX (100 * GST_MSECOND, 20 * domain->mean_path_delay)) {
     GST_WARNING ("Delay-request-response delay for domain %u too big: %"
-        GST_TIME_FORMAT " > 20 * %" GST_TIME_FORMAT, domain->domain,
-        GST_TIME_ARGS (delay_req_delay),
+        GST_TIME_FORMAT " > MAX(100ms, 20 * %" GST_TIME_FORMAT ")",
+        domain->domain, GST_TIME_ARGS (delay_req_delay),
         GST_TIME_ARGS (domain->mean_path_delay));
     ret = FALSE;
     goto out;
@@ -1861,7 +1875,11 @@ have_stdin_data_cb (GIOChannel * channel, GIOCondition condition,
       }
       g_mutex_lock (&ptp_lock);
       ptp_clock_id.clock_identity = GST_READ_UINT64_BE (buffer);
+#ifdef G_OS_WIN32
+      ptp_clock_id.port_number = (guint16) GetCurrentProcessId ();
+#else
       ptp_clock_id.port_number = getpid ();
+#endif
       GST_DEBUG ("Got clock id 0x%016" G_GINT64_MODIFIER "x %u",
           ptp_clock_id.clock_identity, ptp_clock_id.port_number);
       g_cond_signal (&ptp_cond);
diff --git a/libs/gst/net/meson.build b/libs/gst/net/meson.build
index d0605a7..bd7771f 100644
--- a/libs/gst/net/meson.build
+++ b/libs/gst/net/meson.build
@@ -1,4 +1,4 @@
-gst_net_sources = [
+gst_net_sources = files(
   'gstnetaddressmeta.c',
   'gstnetclientclock.c',
   'gstnetcontrolmessagemeta.c',
@@ -7,9 +7,9 @@ gst_net_sources = [
   'gstptpclock.c',
   'gstntppacket.c',
   'gstnetutils.c',
-]
+)
 
-gst_net_headers = [
+gst_net_headers = files(
  'gstnet.h',
  'gstnetaddressmeta.h',
  'gstnetclientclock.h',
@@ -20,13 +20,13 @@ gst_net_headers = [
  'gstptpclock.h',
  'net-prelude.h',
  'net.h',
-]
+)
 install_headers(gst_net_headers, subdir : 'gstreamer-1.0/gst/net/')
 
 gst_net_gen_sources = []
 gst_net = library('gstnet-@0@'.format(apiversion),
   gst_net_sources,
-  c_args : gst_c_args + ['-DBUILDING_GST_NET'],
+  c_args : gst_c_args + ['-DBUILDING_GST_NET', '-DG_LOG_DOMAIN="GStreamer-Net"'],
   include_directories : [configinc, libsinc],
   version : libversion,
   soversion : soversion,
@@ -35,25 +35,42 @@ gst_net = library('gstnet-@0@'.format(apiversion),
   dependencies : [gio_dep, gst_base_dep],
 )
 
+library_def = {'lib': gst_net}
+pkg_name = 'gstreamer-net-1.0'
+pkgconfig.generate(gst_net,
+  libraries : [libgst],
+  variables : pkgconfig_variables,
+  subdirs : pkgconfig_subdirs,
+  name : pkg_name,
+  description : 'Network-enabled GStreamer plug-ins and clocking',
+)
+
 if build_gir
   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/net/net.h' ]
-  gst_net_gir = gnome.generate_gir(gst_net,
-    sources : gst_net_sources + gst_net_headers,
-    namespace : 'GstNet',
-    nsversion : apiversion,
-    identifier_prefix : 'Gst',
-    symbol_prefix : 'gst',
-    export_packages : 'gstreamer-net-1.0',
-    dependencies : [gst_base_dep],
-    include_directories : [configinc, libsinc],
-    includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gio-2.0', 'Gst-1.0'],
-    install : true,
-    extra_args : gst_gir_extra_args,
-  )
-  gst_net_gen_sources += [gst_net_gir]
+  gir = {
+    'sources' : gst_net_sources + gst_net_headers,
+    'namespace' : 'GstNet',
+    'nsversion' : apiversion,
+    'identifier_prefix' : 'Gst',
+    'symbol_prefix' : 'gst',
+    'export_packages' : pkg_name,
+    'dependencies' : [gst_base_dep],
+    'include_directories' : [configinc, libsinc],
+    'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gio-2.0', 'Gst-1.0'],
+    'install' : true,
+    'extra_args' : gst_gir_extra_args,
+  }
+  library_def += {'gir': [gir]}
+  if not static_build
+    gst_net_gir = gnome.generate_gir(gst_net, kwargs: gir)
+    gst_net_gen_sources += [gst_net_gir]
+  endif
 endif
+gst_libraries += [[pkg_name, library_def]]
 
 gst_net_dep = declare_dependency(link_with : gst_net,
   include_directories : [libsinc],
   sources: gst_net_gen_sources,
   dependencies : [gst_base_dep])
+
+meson.override_dependency(pkg_name, gst_net_dep)
diff --git a/meson.build b/meson.build
index 6bdf6bd..f9f591d 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 project('gstreamer', 'c',
-  version : '1.18.4',
-  meson_version : '>= 0.48',
+  version : '1.22.0',
+  meson_version : '>= 0.62',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
 
@@ -16,8 +16,6 @@ else
 endif
 gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
 
-host_system = host_machine.system()
-
 apiversion = '1.0'
 soversion = 0
 # maintaining compatibility with the previous libtool versioning
@@ -33,41 +31,73 @@ libexecdir = get_option('libexecdir')
 helpers_install_dir = join_paths(libexecdir, 'gstreamer-1.0')
 
 cc = meson.get_compiler('c')
+host_system = host_machine.system()
+
+if host_system == 'darwin'
+  ios_test_code = '''#include <TargetConditionals.h>
+  #if ! TARGET_OS_IPHONE
+  #error "Not iOS/tvOS/watchOS/iPhoneSimulator"
+  #endif'''
+  if cc.compiles(ios_test_code, name : 'building for iOS')
+    host_system = 'ios'
+  endif
+
+  add_languages('objc', native: false, required: true)
+endif
 
 cdata = configuration_data()
 
-# Ignore several spurious warnings for things gstreamer does very commonly
-# If a warning is completely useless and spammy, use '/wdXXXX' to suppress it
-# If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once
-# NOTE: Only add warnings here if you are sure they're spurious
 if cc.get_id() == 'msvc'
-  add_project_arguments(
+  msvc_args = [
+      # Ignore several spurious warnings for things gstreamer does very commonly
+      # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it
+      # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once
+      # NOTE: Only add warnings here if you are sure they're spurious
       '/wd4018', # implicit signed/unsigned conversion
       '/wd4146', # unary minus on unsigned (beware INT_MIN)
       '/wd4244', # lossy type conversion (e.g. double -> int)
       '/wd4305', # truncating type conversion (e.g. double -> float)
       cc.get_supported_arguments(['/utf-8']), # set the input encoding to utf-8
-      language : 'c')
+  ]
+
+  if gst_version_is_dev
+    # Enable some warnings on MSVC to match GCC/Clang behaviour
+    msvc_args += cc.get_supported_arguments([
+      '/we4002', # too many actual parameters for macro 'identifier'
+      '/we4003', # not enough actual parameters for macro 'identifier'
+      '/we4013', # 'function' undefined; assuming extern returning int
+      '/we4020', # 'function' : too many actual parameters
+      '/we4027', # function declared without formal parameter list
+      '/we4029', # declared formal parameter list different from definition
+      '/we4033', # 'function' must return a value
+      '/we4045', # 'array' : array bounds overflow
+      '/we4047', # 'operator' : 'identifier1' differs in levels of indirection from 'identifier2'
+      '/we4053', # one void operand for '?:'
+      '/we4062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled
+      '/we4098', # 'function' : void function returning a value
+      '/we4101', # 'identifier' : unreferenced local variable
+      '/we4189', # 'identifier' : local variable is initialized but not referenced
+    ])
+  endif
+  add_project_arguments(msvc_args, language: 'c')
 elif cc.has_link_argument('-Wl,-Bsymbolic-functions')
   # FIXME: Add an option for this if people ask for it
   add_project_link_arguments('-Wl,-Bsymbolic-functions', language : 'c')
 endif
 
+# glib doesn't support unloading, which means that unloading and reloading
+# any library that registers static types will fail
+if cc.has_link_argument('-Wl,-z,nodelete')
+  add_project_link_arguments('-Wl,-z,nodelete', language: 'c')
+endif
+
 # Symbol visibility
 have_visibility_hidden = false
-if cc.get_id() == 'msvc'
-  export_define = '__declspec(dllexport) extern'
-elif cc.has_argument('-fvisibility=hidden')
+if cc.has_argument('-fvisibility=hidden')
   add_project_arguments('-fvisibility=hidden', language: 'c')
-  export_define = 'extern __attribute__ ((visibility ("default")))'
   have_visibility_hidden = true
-else
-  export_define = 'extern'
 endif
 
-# Passing this through the command line would be too messy
-cdata.set('GST_API_EXPORT', export_define)
-
 # Disable strict aliasing
 if cc.has_argument('-fno-strict-aliasing')
   add_project_arguments('-fno-strict-aliasing', language: 'c')
@@ -116,9 +146,9 @@ cdata.set_quoted('VERSION', gst_version)
 cdata.set_quoted('GST_PLUGIN_SCANNER_INSTALLED', join_paths(prefix, helpers_install_dir, 'gst-plugin-scanner'))
 cdata.set_quoted('GST_PTP_HELPER_INSTALLED', join_paths(prefix, helpers_install_dir, 'gst-ptp-helper'))
 cdata.set_quoted('GST_PLUGIN_SUBDIR', get_option('libdir'),
-  description: 'plugin directory path component, used to find plugins on relocatable builds on windows')
+  description: 'plugin directory path component, used to find plugins on relocatable builds')
 cdata.set_quoted('GST_PLUGIN_SCANNER_SUBDIR', libexecdir,
-  description: 'libexecdir path component, used to find plugin-scanner on relocatable builds on windows')
+  description: 'libexecdir path component, used to find plugin-scanner on relocatable builds')
 cdata.set('GST_DISABLE_OPTION_PARSING', not get_option('option-parsing'))
 
 mem_align_opt = get_option('memory-alignment')
@@ -200,7 +230,6 @@ check_headers = [
   'sys/wait.h',
   'ucontext.h',
   'unistd.h',
-  'valgrind/valgrind.h',
   'sys/resource.h',
   'sys/uio.h',
 ]
@@ -231,6 +260,7 @@ check_functions = [
   'pselect',
   'getpagesize',
   'clock_gettime',
+  'clock_nanosleep',
   'strnlen',
   # These are needed by libcheck
   'getline',
@@ -252,7 +282,8 @@ if cc.has_function('localtime_r', prefix : '#include<time.h>')
   cdata.set('HAVE_DECL_LOCALTIME_R', 1)
 endif
 
-if cc.links('''#include <pthread.h>
+if cc.links('''#define _GNU_SOURCE
+               #include <pthread.h>
                int main() {
                  pthread_setname_np("example"); return 0;
                }''', name : 'pthread_setname_np(const char*)')
@@ -266,7 +297,7 @@ if cc.has_header_symbol('pthread.h', 'pthread_cond_timedwait_relative_np')
 endif
 
 # Check for futex(2)
-if cc.links('''#include <linux/futex.h>
+if cc.compiles('''#include <linux/futex.h>
                #include <sys/syscall.h>
                #include <unistd.h>
                int main (int argc, char ** argv) {
@@ -275,6 +306,15 @@ if cc.links('''#include <linux/futex.h>
                }''', name : 'futex(2) system call')
   cdata.set('HAVE_FUTEX', 1)
 endif
+if cc.compiles('''#include <linux/futex.h>
+               #include <sys/syscall.h>
+               #include <unistd.h>
+               int main (int argc, char ** argv) {
+                 syscall (__NR_futex_time64, NULL, FUTEX_WAKE, FUTEX_WAIT);
+                 return 0;
+               }''', name : 'futex(2) system call')
+  cdata.set('HAVE_FUTEX_TIME64', 1)
+endif
 
 # Check for posix timers and monotonic clock
 time_prefix = '#include <time.h>\n'
@@ -314,14 +354,6 @@ endif
 # All supported platforms have long long now
 cdata.set('HAVE_LONG_LONG', 1)
 
-# We only want to use the __declspec(dllexport/import) dance in GST_EXPORT when
-# building with MSVC
-if cc.get_id() == 'msvc'
-  cdata.set('GSTCONFIG_BUILT_WITH_MSVC', 1)
-else
-  cdata.set('GSTCONFIG_BUILT_WITH_MSVC', 0)
-endif
-
 # -------------------------------------------------------------------------------------
 # config.h things needed by libcheck
 # -------------------------------------------------------------------------------------
@@ -360,6 +392,11 @@ if not cc.has_members('struct itimerspec', 'it_interval', 'it_value',
 		      prefix : '#include <time.h>')
   cdata.set('STRUCT_ITIMERSPEC_DEFINITION_MISSING', 1)
 endif
+if host_system != 'windows'
+  cdata.set('HAVE_PIPE', 1)
+elif cc.has_function('_pipe', prefix : '#include <io.h>')
+  cdata.set('HAVE_PIPE', 1)
+endif
 
 # Platform deps; only ws2_32 and execinfo for now
 platform_deps = []
@@ -378,6 +415,23 @@ if host_system == 'windows'
   if cc.compiles(code, name : 'building for UWP')
     building_for_uwp = true
   endif
+
+  building_for_win7 = cc.compiles('''#include <windows.h>
+      #ifndef WINVER
+      #error "unknown minimum supported OS version"
+      #endif
+      #if (WINVER < _WIN32_WINNT_WIN7)
+      #error "Windows 7 API is not guaranteed"
+      #endif
+      ''',
+      name: 'building for Windows 7')
+
+  if not building_for_win7
+    add_project_arguments([
+      '-D_WIN32_WINNT=_WIN32_WINNT_WIN7',
+      '-DWINVER=_WIN32_WINNT_WIN7',
+    ], language: ['c', 'cpp'])
+  endif
 endif
 
 backtrace_deps = []
@@ -449,7 +503,6 @@ warning_flags = [
   '-Waddress',
   '-Waggregate-return',
   '-Wno-multichar',
-  '-Wdeclaration-after-statement',
   '-Wvla',
   '-Wpointer-arith',
 ]
@@ -478,21 +531,18 @@ configinc = include_directories('.')
 libsinc = include_directories('libs')
 privinc = include_directories('gst')
 
+glib_req = '>= 2.62.0'
+
 # Find dependencies
-glib_dep = dependency('glib-2.0', version : '>=2.44.0',
+glib_dep = dependency('glib-2.0', version: glib_req,
   fallback: ['glib', 'libglib_dep'])
-gobject_dep = dependency('gobject-2.0',
-  fallback: ['glib', 'libgobject_dep'])
-gmodule_dep = dependency('gmodule-2.0',
-  fallback: ['glib', 'libgmodule_dep'])
+gobject_dep = dependency('gobject-2.0')
+gmodule_dep = dependency('gmodule-no-export-2.0')
 if host_system == 'windows'
-    gio_dep = dependency('gio-2.0',
-        fallback: ['glib', 'libgio_dep'])
+    gio_dep = dependency('gio-2.0')
 else
-    gio_dep = [dependency('gio-2.0',
-                  fallback: ['glib', 'libgio_dep']),
-               dependency('gio-unix-2.0',
-                  fallback: ['glib', 'libgio_dep'])]
+    gio_dep = [dependency('gio-2.0'),
+               dependency('gio-unix-2.0')]
 endif
 
 mathlib = cc.find_library('m', required : false)
@@ -533,7 +583,7 @@ bashcomp_found = false
 if bashcomp_dep.found()
   bashcomp_found = true
   bashcomp_dir_override = bashcomp_dep.version().version_compare('>= 2.10') ? ['datadir', datadir] : ['prefix', prefix]
-  bash_completions_dir = bashcomp_dep.get_pkgconfig_variable('completionsdir', define_variable: bashcomp_dir_override)
+  bash_completions_dir = bashcomp_dep.get_variable('completionsdir', pkgconfig_define:  bashcomp_dir_override)
   if bash_completions_dir == ''
     msg = 'Found bash-completion but the .pc file did not set \'completionsdir\'.'
     if bashcomp_option.enabled()
@@ -544,7 +594,7 @@ if bashcomp_dep.found()
     bashcomp_found = false
   endif
 
-  bash_helpers_dir = bashcomp_dep.get_pkgconfig_variable('helpersdir', define_variable: bashcomp_dir_override)
+  bash_helpers_dir = bashcomp_dep.get_variable('helpersdir', pkgconfig_define:  bashcomp_dir_override)
   if bash_helpers_dir == ''
     msg = 'Found bash-completion, but the .pc file did not set \'helpersdir\'.'
     if bashcomp_option.enabled()
@@ -564,14 +614,30 @@ if get_option('default_library') == 'shared'
   # If we don't build static plugins there is no need to generate pc files
   plugins_pkgconfig_install_dir = disabler()
 endif
-
+pkgconfig_variables = [
+  'exec_prefix=${prefix}',
+  'toolsdir=${exec_prefix}/bin',
+  'pluginsdir=${libdir}/gstreamer-1.0',
+  'girdir=${datadir}/gir-1.0',
+  'typelibdir=${libdir}/girepository-1.0',
+  'pluginscannerdir=${libexecdir}/gstreamer-1.0'
+]
+pkgconfig_uninstalled_variables = ['exec_prefix=${prefix}',
+	'gstreamerdir=${prefix}/subprojects/gstreamer',
+    'bashhelpersdir=${gstreamerdir}/data/bash-completion/helpers',
+    'helpersdir=${gstreamerdir}/libs/gst/helpers']
+pkgconfig_subdirs = ['gstreamer-1.0']
+pkgconfig_libs = []
+if host_system == 'darwin'
+  pkgconfig_libs = ['-Wl,-rpath,${libdir}']
+endif
+
+static_build = get_option('default_library') == 'static'
+gst_libraries = []
 subdir('gst')
 subdir('libs')
 subdir('plugins')
-if not get_option('tools').disabled()
-  subdir('tools')
-endif
-subdir('pkgconfig')
+subdir('tools')
 subdir('tests')
 subdir('data')
 subdir('docs')
@@ -587,32 +653,31 @@ subdir('scripts')
 # Set release date
 if gst_version_nano == 0
   extract_release_date = find_program('scripts/extract-release-date-from-doap-file.py')
-  run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap'))
-  if run_result.returncode() == 0
-    release_date = run_result.stdout().strip()
-    cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
-    message('Package release date: ' + release_date)
-  else
-    # Error out if our release can't be found in the .doap file
-    error(run_result.stderr())
-  endif
+  run_result = run_command(extract_release_date, gst_version, files('gstreamer.doap'), check: true)
+  release_date = run_result.stdout().strip()
+  cdata.set_quoted('GST_PACKAGE_RELEASE_DATETIME', release_date)
+  message('Package release date: ' + release_date)
 endif
 
 configure_file(output : 'config.h', configuration : cdata)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
 install_data('gst-element-check-1.0.m4', install_dir : join_paths(get_option('datadir'), 'aclocal'))
 
-if meson.version().version_compare('>= 0.54')
-  plugin_names = []
-  foreach plugin: plugins
-    # FIXME: Use str.subtring() when we can depend on Meson 0.56
-    split = plugin.name().split('gst')
-    if split.length() == 2
-      plugin_names += [split[1]]
-    else
-      warning('Need substring API in meson >= 0.56 to properly parse plugin name: ' + plugin.name())
-      plugin_names += [plugin.name()]
-    endif
-  endforeach
-  summary({'Plugins':plugin_names}, list_sep: ', ')
-endif
+meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.20.0', meson.project_version())
+
+plugin_names = []
+gst_plugins = []
+foreach plugin: plugins
+  pkgconfig.generate(plugin, install_dir: plugins_pkgconfig_install_dir)
+  dep = declare_dependency(link_with: plugin, variables: {'full_path': plugin.full_path()})
+  meson.override_dependency(plugin.name(), dep)
+  gst_plugins += [dep]
+  if plugin.name().startswith('gst')
+    plugin_names += [plugin.name().substring(3)]
+  else
+    plugin_names += [plugin.name()]
+  endif
+endforeach
+
+summary({
+    'Plugins': plugin_names,
+}, list_sep: ', ')
diff --git a/meson_options.txt b/meson_options.txt
index 72c3997..7363bdb 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -2,7 +2,7 @@ option('gst_debug', type : 'boolean', value : true)
 option('gst_parse', type : 'boolean', value : true,
        description: 'Enable pipeline string parser')
 option('registry', type : 'boolean', value : true)
-option('tracer_hooks', type : 'boolean', value : true)
+option('tracer_hooks', type : 'boolean', value : true, description: 'Enable tracer usage')
 option('ptp-helper-setuid-user', type : 'string',
        description : 'User to switch to when installing gst-ptp-helper setuid root')
 option('ptp-helper-setuid-group', type : 'string',
@@ -29,7 +29,6 @@ option('examples', type : 'feature', value : 'auto', yield : true)
 option('tests', type : 'feature', value : 'auto', yield : true)
 option('benchmarks', type : 'feature', value : 'auto', yield : true)
 option('tools', type : 'feature', value : 'auto', yield : true)
-option('gtk_doc', type : 'feature', value : 'auto', yield : true, description : 'Generate API documentation with gtk-doc')
 option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
 option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
 option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
diff --git a/pkgconfig/gstreamer-base-uninstalled.pc.in b/pkgconfig/gstreamer-base-uninstalled.pc.in
deleted file mode 100644
index 08759f1..0000000
--- a/pkgconfig/gstreamer-base-uninstalled.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# the standard variables don't make sense for an uninstalled copy
-prefix=
-exec_prefix=
-libdir=@baselibdir@
-includedir=
-girdir=@abs_top_builddir@/libs/gst/base
-typelibdir=@abs_top_builddir@/libs/gst/base
-
-Name: GStreamer base classes, uninstalled
-Description: Base classes for GStreamer elements, Not Installed
-Requires: gstreamer-@GST_API_VERSION@ = @VERSION@
-Version: @VERSION@
-
-Libs: -L${libdir} -lgstbase-@GST_API_VERSION@
-Cflags: -I@abs_top_srcdir@/libs -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer-base.pc.in b/pkgconfig/gstreamer-base.pc.in
deleted file mode 100644
index e24e050..0000000
--- a/pkgconfig/gstreamer-base.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/gstreamer-@GST_API_VERSION@
-datarootdir=${prefix}/share
-datadir=${datarootdir}
-girdir=${datadir}/gir-1.0
-typelibdir=${libdir}/girepository-1.0
-
-Name: GStreamer base classes
-Description: Base classes for GStreamer elements
-Requires: gstreamer-@GST_API_VERSION@
-Version: @VERSION@
-Libs: -L${libdir} -lgstbase-@GST_API_VERSION@
-Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-check-uninstalled.pc.in b/pkgconfig/gstreamer-check-uninstalled.pc.in
deleted file mode 100644
index a95daf2..0000000
--- a/pkgconfig/gstreamer-check-uninstalled.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# the standard variables don't make sense for an uninstalled copy
-prefix=
-exec_prefix=
-libdir=@checklibdir@
-includedir=
-girdir=@abs_top_builddir@/libs/gst/check
-typelibdir=@abs_top_builddir@/libs/gst/check
-
-Name: GStreamer check unit testing, uninstalled
-Description: Unit testing helper library for GStreamer modules, Not Installed
-Requires: gstreamer-@GST_API_VERSION@ = @VERSION@
-Version: @VERSION@
-
-Libs: -L${libdir} -lgstcheck-@GST_API_VERSION@ @LIBM@ @LIBRT@
-Cflags: -I@abs_top_srcdir@/libs -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer-check.pc.in b/pkgconfig/gstreamer-check.pc.in
deleted file mode 100644
index dc14298..0000000
--- a/pkgconfig/gstreamer-check.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/gstreamer-@GST_API_VERSION@
-datarootdir=${prefix}/share
-datadir=${datarootdir}
-girdir=${datadir}/gir-1.0
-typelibdir=${libdir}/girepository-1.0
-
-Name: GStreamer check unit testing
-Description: Unit testing helper library for GStreamer modules
-Requires: gstreamer-@GST_API_VERSION@
-Version: @VERSION@
-Libs: -L${libdir} -lgstcheck-@GST_API_VERSION@ @LIBM@ @LIBRT@
-Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-controller-uninstalled.pc.in b/pkgconfig/gstreamer-controller-uninstalled.pc.in
deleted file mode 100644
index 97983e7..0000000
--- a/pkgconfig/gstreamer-controller-uninstalled.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# the standard variables don't make sense for an uninstalled copy
-prefix=
-exec_prefix=
-libdir=@controllerlibdir@
-includedir=
-girdir=@abs_top_builddir@/libs/gst/controller
-typelibdir=@abs_top_builddir@/libs/gst/controller
-
-Name: GStreamer controller, uninstalled
-Description: Dynamic parameter control for GStreamer elements, Not Installed
-Requires: gstreamer-@GST_API_VERSION@ = @VERSION@
-Version: @VERSION@
-
-Libs: -L${libdir} -lgstcontroller-@GST_API_VERSION@
-Cflags: -I@abs_top_srcdir@/libs -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer-controller.pc.in b/pkgconfig/gstreamer-controller.pc.in
deleted file mode 100644
index 5118de4..0000000
--- a/pkgconfig/gstreamer-controller.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/gstreamer-@GST_API_VERSION@
-datarootdir=${prefix}/share
-datadir=${datarootdir}
-girdir=${datadir}/gir-1.0
-typelibdir=${libdir}/girepository-1.0
-
-Name: GStreamer controller
-Description: Dynamic parameter control for GStreamer elements
-Requires: gstreamer-@GST_API_VERSION@
-Version: @VERSION@
-Libs: -L${libdir} -lgstcontroller-@GST_API_VERSION@
-Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-net-uninstalled.pc.in b/pkgconfig/gstreamer-net-uninstalled.pc.in
deleted file mode 100644
index 5d390c2..0000000
--- a/pkgconfig/gstreamer-net-uninstalled.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# the standard variables don't make sense for an uninstalled copy
-prefix=
-exec_prefix=
-libdir=@netlibdir@
-includedir=
-girdir=@abs_top_builddir@/libs/gst/net
-typelibdir=@abs_top_builddir@/libs/gst/net
-
-Name: GStreamer networking library, uninstalled
-Description: Network-enabled GStreamer plug-ins and clocking, uninstalled
-Requires: gstreamer-@GST_API_VERSION@ = @VERSION@ gio-2.0
-Version: @VERSION@
-
-Libs: -L${libdir} -lgstnet-@GST_API_VERSION@
-Cflags: -I@abs_top_srcdir@/libs -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer-net.pc.in b/pkgconfig/gstreamer-net.pc.in
deleted file mode 100644
index aa4c3ab..0000000
--- a/pkgconfig/gstreamer-net.pc.in
+++ /dev/null
@@ -1,15 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/gstreamer-@GST_API_VERSION@
-datarootdir=${prefix}/share
-datadir=${datarootdir}
-girdir=${datadir}/gir-1.0
-typelibdir=${libdir}/girepository-1.0
-
-Name: GStreamer networking library
-Description: Network-enabled GStreamer plug-ins and clocking
-Requires: gstreamer-@GST_API_VERSION@ gio-2.0
-Version: @VERSION@
-Libs: -L${libdir} -lgstnet-@GST_API_VERSION@
-Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-uninstalled.pc.in b/pkgconfig/gstreamer-uninstalled.pc.in
deleted file mode 100644
index e97ca07..0000000
--- a/pkgconfig/gstreamer-uninstalled.pc.in
+++ /dev/null
@@ -1,21 +0,0 @@
-# the standard variables don't make sense for an uninstalled copy
-prefix=
-exec_prefix=
-libdir=@gstlibdir@
-# includedir is builddir because it is used to find gstconfig.h in places
-includedir=@abs_top_builddir@
-toolsdir=@abs_top_builddir@/tools
-pluginsdir=@abs_top_builddir@/plugins
-girdir=@abs_top_builddir@/gst
-bashhelpersdir=@abs_top_builddir@/data/bash-completion/helpers
-helpersdir=@abs_top_builddir@/libs/gst/helpers
-typelibdir=@abs_top_builddir@/gst
-pluginscannerdir=${helpersdir}
-
-Name: GStreamer Uninstalled
-Description: Streaming media framework, Not Installed
-Version: @VERSION@
-Requires: glib-2.0, gobject-2.0
-Requires.private: gmodule-no-export-2.0 @UNWIND_REQUIRE@ @DW_REQUIRE@
-Libs: -L${libdir} -lgstreamer-@GST_API_VERSION@
-Cflags: -I@abs_top_srcdir@ -I@abs_top_srcdir@/libs -I@abs_top_builddir@ -I@abs_top_builddir@/libs
diff --git a/pkgconfig/gstreamer.pc.in b/pkgconfig/gstreamer.pc.in
deleted file mode 100644
index 4c7c641..0000000
--- a/pkgconfig/gstreamer.pc.in
+++ /dev/null
@@ -1,20 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libexecdir=@libexecdir@
-libdir=@libdir@
-includedir=@includedir@/gstreamer-@GST_API_VERSION@
-toolsdir=${exec_prefix}/bin
-pluginsdir=@libdir@/gstreamer-@GST_API_VERSION@
-datarootdir=${prefix}/share
-datadir=${datarootdir}
-girdir=${datadir}/gir-1.0
-typelibdir=${libdir}/girepository-1.0
-pluginscannerdir=${libexecdir}/gstreamer-1.0
-
-Name: GStreamer
-Description: Streaming media framework
-Version: @VERSION@
-Requires: glib-2.0, gobject-2.0
-Requires.private: gmodule-no-export-2.0 @UNWIND_REQUIRE@ @DW_REQUIRE@
-Libs: -L${libdir} -lgstreamer-@GST_API_VERSION@
-Cflags: -I${includedir}
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
deleted file mode 100644
index 2ca4aaa..0000000
--- a/pkgconfig/meson.build
+++ /dev/null
@@ -1,52 +0,0 @@
-pkgconf = configuration_data()
-
-pkgconf.set('prefix', join_paths(get_option('prefix')))
-pkgconf.set('exec_prefix', '${prefix}')
-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
-pkgconf.set('libexecdir', '${prefix}/@0@'.format(get_option('libexecdir')))
-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-pkgconf.set('GST_API_VERSION', apiversion)
-pkgconf.set('VERSION', gst_version)
-pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')
-pkgconf.set('LIBRT', rt_lib.found() ? '-lrt' : '')
-
-# Requires.private
-pkgconf.set('UNWIND_REQUIRE', cdata.has('HAVE_UNWIND') ? 'libunwind' : '')
-pkgconf.set('DW_REQUIRE', cdata.has('HAVE_DW') ? 'libdw' : '')
-
-# needed for generating -uninstalled.pc files
-pkgconf.set('abs_top_builddir', join_paths(meson.current_build_dir(), '..'))
-pkgconf.set('abs_top_srcdir', join_paths(meson.current_source_dir(), '..'))
-pkgconf.set('gstlibdir', join_paths(meson.build_root(), libgst.outdir()))
-pkgconf.set('baselibdir', join_paths(meson.build_root(), gst_base.outdir()))
-pkgconf.set('controllerlibdir', join_paths(meson.build_root(), gst_controller.outdir()))
-pkgconf.set('netlibdir', join_paths(meson.build_root(), gst_net.outdir()))
-
-pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
-
-pkg_files = [
-  'gstreamer-base',
-  'gstreamer-controller',
-  'gstreamer-net',
-  'gstreamer'
-]
-
-if not get_option('check').disabled()
-  pkg_files += ['gstreamer-check']
-  pkgconf.set('checklibdir', join_paths(meson.build_root(), gst_check.outdir()))
-endif
-
-foreach p : pkg_files
-  infile = p + '.pc.in'
-  outfile = p + '-1.0.pc'
-  configure_file(input : infile,
-    output : outfile,
-    configuration : pkgconf,
-    install_dir : pkg_install_dir)
-
-  infile = p + '-uninstalled.pc.in'
-  outfile = p + '-1.0-uninstalled.pc'
-  configure_file(input : infile,
-    output : outfile,
-    configuration : pkgconf)
-endforeach
diff --git a/plugins/elements/gstcapsfilter.c b/plugins/elements/gstcapsfilter.c
index 79128d7..8ab961a 100644
--- a/plugins/elements/gstcapsfilter.c
+++ b/plugins/elements/gstcapsfilter.c
@@ -40,8 +40,9 @@
 #include "config.h"
 #endif
 
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "gstcapsfilter.h"
+#include "gstcoreelementselements.h"
 
 enum
 {
@@ -93,6 +94,8 @@ gst_caps_filter_caps_change_mode_get_type (void)
 G_DEFINE_TYPE_WITH_CODE (GstCapsFilter, gst_capsfilter, GST_TYPE_BASE_TRANSFORM,
     _do_init);
 
+GST_ELEMENT_REGISTER_DEFINE (capsfilter, "capsfilter", GST_RANK_NONE,
+    GST_TYPE_CAPS_FILTER);
 
 static void gst_capsfilter_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
diff --git a/plugins/elements/gstclocksync.c b/plugins/elements/gstclocksync.c
index 807c842..05258ab 100644
--- a/plugins/elements/gstclocksync.c
+++ b/plugins/elements/gstclocksync.c
@@ -48,6 +48,7 @@
 #include <gst/gst.h>
 
 #include "gstclocksync.h"
+#include "gstcoreelementselements.h"
 
 GST_DEBUG_CATEGORY_STATIC (gst_clock_sync_debug);
 #define GST_CAT_DEFAULT gst_clock_sync_debug
@@ -55,14 +56,19 @@ GST_DEBUG_CATEGORY_STATIC (gst_clock_sync_debug);
 /* ClockSync args */
 #define DEFAULT_SYNC                    TRUE
 #define DEFAULT_TS_OFFSET               0
+#define DEFAULT_SYNC_TO_FIRST           FALSE
 
 enum
 {
   PROP_0,
   PROP_SYNC,
-  PROP_TS_OFFSET
+  PROP_TS_OFFSET,
+  PROP_SYNC_TO_FIRST,
+  PROP_LAST
 };
 
+static GParamSpec *properties[PROP_LAST];
+
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -80,6 +86,8 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
 #define gst_clock_sync_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstClockSync, gst_clock_sync, GST_TYPE_ELEMENT,
     _do_init);
+GST_ELEMENT_REGISTER_DEFINE (clocksync, "clocksync", GST_RANK_NONE,
+    GST_TYPE_CLOCKSYNC);
 
 static void gst_clock_sync_finalize (GObject * object);
 
@@ -113,15 +121,42 @@ gst_clock_sync_class_init (GstClockSyncClass * klass)
   gobject_class->get_property = gst_clock_sync_get_property;
   gobject_class->finalize = gst_clock_sync_finalize;
 
-  g_object_class_install_property (gobject_class, PROP_SYNC,
+  properties[PROP_SYNC] =
       g_param_spec_boolean ("sync", "Synchronize",
-          "Synchronize to pipeline clock", DEFAULT_SYNC,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-  g_object_class_install_property (gobject_class, PROP_TS_OFFSET,
+      "Synchronize to pipeline clock", DEFAULT_SYNC,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+  properties[PROP_TS_OFFSET] =
       g_param_spec_int64 ("ts-offset", "Timestamp offset for synchronisation",
-          "Timestamp offset in nanoseconds for synchronisation, negative for earlier sync",
-          G_MININT64, G_MAXINT64, DEFAULT_TS_OFFSET,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+      "Timestamp offset in nanoseconds for synchronisation, negative for earlier sync",
+      G_MININT64, G_MAXINT64, DEFAULT_TS_OFFSET,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+  /**
+   * GstClockSync:sync-to-first:
+   *
+   * When enabled, clocksync elemenet will adjust "ts-offset" value
+   * automatically by using given timestamp of the first buffer and running
+   * time of pipeline, so that clocksync element can output the first buffer
+   * immediately without clock waiting.
+   *
+   * Since: 1.20
+   */
+  properties[PROP_SYNC_TO_FIRST] =
+      g_param_spec_boolean ("sync-to-first",
+      "Sync to first",
+      "Automatically set ts-offset based on running time of the first "
+      "buffer and pipeline's running time "
+      "(i.e., ts-offset = \"pipeline running time\" - \"buffer running time\"). "
+      "When enabled, clocksync element will update ts-offset on the first "
+      "buffer per flush event or READY to PAUSED state change. "
+      "This property can be useful in case that buffer timestamp does not "
+      "necessarily have to be synchronized with pipeline's running time, "
+      "but duration of the buffer through clocksync element needs to be "
+      "synchronized with the amount of clock time go. "
+      "Note that mixed use of ts-offset and this property would be racy "
+      "if clocksync element is running already.",
+      DEFAULT_SYNC_TO_FIRST, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_properties (gobject_class, PROP_LAST, properties);
 
   gstelement_class->change_state =
       GST_DEBUG_FUNCPTR (gst_clocksync_change_state);
@@ -169,8 +204,10 @@ gst_clock_sync_init (GstClockSync * clocksync)
 
   clocksync->ts_offset = DEFAULT_TS_OFFSET;
   clocksync->sync = DEFAULT_SYNC;
+  clocksync->sync_to_first = DEFAULT_SYNC_TO_FIRST;
   g_cond_init (&clocksync->blocked_cond);
 
+  GST_OBJECT_FLAG_SET (clocksync, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
   GST_OBJECT_FLAG_SET (clocksync, GST_ELEMENT_FLAG_REQUIRE_CLOCK);
 }
 
@@ -208,6 +245,9 @@ gst_clock_sync_set_property (GObject * object, guint prop_id,
     case PROP_TS_OFFSET:
       clocksync->ts_offset = g_value_get_int64 (value);
       break;
+    case PROP_SYNC_TO_FIRST:
+      clocksync->sync_to_first = g_value_get_boolean (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -227,6 +267,9 @@ gst_clock_sync_get_property (GObject * object, guint prop_id,
     case PROP_TS_OFFSET:
       g_value_set_int64 (value, clocksync->ts_offset);
       break;
+    case PROP_SYNC_TO_FIRST:
+      g_value_set_boolean (value, clocksync->sync_to_first);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -267,23 +310,43 @@ gst_clocksync_do_sync (GstClockSync * clocksync, GstClockTime running_time)
     GstClockReturn cret;
     GstClockTime timestamp;
     GstClockTimeDiff ts_offset = clocksync->ts_offset;
+    GstClockTimeDiff jitter;
 
     timestamp = running_time + GST_ELEMENT (clocksync)->base_time +
         clocksync->upstream_latency;
+
+    GST_DEBUG_OBJECT (clocksync,
+        "running time: %" GST_TIME_FORMAT " base time: %" GST_TIME_FORMAT
+        " upstream latency: %" GST_TIME_FORMAT, GST_TIME_ARGS (running_time),
+        GST_TIME_ARGS (GST_ELEMENT (clocksync)->base_time),
+        GST_TIME_ARGS (clocksync->upstream_latency));
+
+    GST_DEBUG_OBJECT (clocksync,
+        "Waiting for clock time %" GST_TIME_FORMAT " ts offset: %"
+        GST_STIME_FORMAT, GST_TIME_ARGS (timestamp),
+        GST_STIME_ARGS (ts_offset));
+
     if (ts_offset < 0) {
       ts_offset = -ts_offset;
       if (ts_offset < timestamp)
         timestamp -= ts_offset;
       else
         timestamp = 0;
-    } else
+    } else {
       timestamp += ts_offset;
+    }
+
+    GST_DEBUG_OBJECT (clocksync, "Offset clock time %" GST_TIME_FORMAT,
+        GST_TIME_ARGS (timestamp));
 
     /* save id if we need to unlock */
     clocksync->clock_id = gst_clock_new_single_shot_id (clock, timestamp);
     GST_OBJECT_UNLOCK (clocksync);
 
-    cret = gst_clock_id_wait (clocksync->clock_id, NULL);
+    cret = gst_clock_id_wait (clocksync->clock_id, &jitter);
+
+    GST_DEBUG_OBJECT (clocksync, "Clock returned %d, jitter %" GST_STIME_FORMAT,
+        cret, GST_STIME_ARGS (jitter));
 
     GST_OBJECT_LOCK (clocksync);
     if (clocksync->clock_id) {
@@ -343,6 +406,8 @@ gst_clock_sync_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
       clocksync->flushing = FALSE;
       gst_segment_init (&clocksync->segment, GST_FORMAT_UNDEFINED);
       GST_OBJECT_UNLOCK (clocksync);
+      clocksync->is_first = TRUE;
+      break;
     default:
       break;
   }
@@ -352,6 +417,42 @@ gst_clock_sync_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
   return ret;
 }
 
+static void
+gst_clock_sync_update_ts_offset (GstClockSync * clocksync,
+    GstClockTime runtimestamp)
+{
+  GstClock *clock;
+  GstClockTimeDiff ts_offset = 0;
+  GstClockTime running_time;
+
+  if (!clocksync->sync_to_first || !clocksync->is_first || !clocksync->sync)
+    return;
+
+  GST_OBJECT_LOCK (clocksync);
+  clock = GST_ELEMENT_CLOCK (clocksync);
+  if (!clock) {
+    GST_DEBUG_OBJECT (clocksync, "We have no clock");
+    GST_OBJECT_UNLOCK (clocksync);
+    return;
+  }
+
+  running_time = gst_clock_get_time (clock) -
+      GST_ELEMENT_CAST (clocksync)->base_time;
+  ts_offset = GST_CLOCK_DIFF (runtimestamp, running_time);
+  GST_OBJECT_UNLOCK (clocksync);
+
+  GST_DEBUG_OBJECT (clocksync, "Running time %" GST_TIME_FORMAT
+      ", running time stamp %" GST_TIME_FORMAT ", calculated ts-offset %"
+      GST_STIME_FORMAT, GST_TIME_ARGS (running_time),
+      GST_TIME_ARGS (runtimestamp), GST_STIME_ARGS (ts_offset));
+
+  clocksync->is_first = FALSE;
+  if (ts_offset != clocksync->ts_offset) {
+    clocksync->ts_offset = ts_offset;
+    g_object_notify_by_pspec (G_OBJECT (clocksync), properties[PROP_TS_OFFSET]);
+  }
+}
+
 static GstFlowReturn
 gst_clock_sync_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
 {
@@ -385,6 +486,8 @@ gst_clock_sync_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
     else if (GST_CLOCK_TIME_IS_VALID (runpts))
       runtimestamp = runpts;
 
+    gst_clock_sync_update_ts_offset (clocksync, runtimestamp);
+
     ret = gst_clocksync_do_sync (clocksync, runtimestamp);
     if (ret != GST_FLOW_OK) {
       GST_LOG_OBJECT (clocksync,
@@ -428,6 +531,8 @@ gst_clock_sync_chain_list (GstPad * pad, GstObject * parent,
     else if (GST_CLOCK_TIME_IS_VALID (runpts))
       runtimestamp = runpts;
 
+    gst_clock_sync_update_ts_offset (clocksync, runtimestamp);
+
     ret = gst_clocksync_do_sync (clocksync, runtimestamp);
     if (ret != GST_FLOW_OK) {
       gst_buffer_list_unref (buffer_list);
@@ -509,6 +614,7 @@ gst_clocksync_change_state (GstElement * element, GstStateChange transition)
       GST_OBJECT_UNLOCK (clocksync);
       if (clocksync->sync)
         no_preroll = TRUE;
+      clocksync->is_first = TRUE;
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
       GST_OBJECT_LOCK (clocksync);
diff --git a/plugins/elements/gstclocksync.h b/plugins/elements/gstclocksync.h
index 82d929e..647d73e 100644
--- a/plugins/elements/gstclocksync.h
+++ b/plugins/elements/gstclocksync.h
@@ -59,6 +59,8 @@ struct _GstClockSync
   GCond          blocked_cond;
   gboolean       blocked;
   GstClockTimeDiff  ts_offset;
+  gboolean sync_to_first;
+  gboolean is_first;
 
   GstClockTime   upstream_latency;
 };
diff --git a/plugins/elements/gstconcat.c b/plugins/elements/gstconcat.c
index 0495546..afa6b53 100644
--- a/plugins/elements/gstconcat.c
+++ b/plugins/elements/gstconcat.c
@@ -50,6 +50,7 @@
 #endif
 
 #include "gstconcat.h"
+#include "gstcoreelementselements.h"
 
 GST_DEBUG_CATEGORY_STATIC (gst_concat_debug);
 #define GST_CAT_DEFAULT gst_concat_debug
@@ -118,6 +119,7 @@ enum
   GST_DEBUG_CATEGORY_INIT (gst_concat_debug, "concat", 0, "concat element");
 #define gst_concat_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstConcat, gst_concat, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (concat, "concat", GST_RANK_NONE, GST_TYPE_CONCAT);
 
 static void gst_concat_dispose (GObject * object);
 static void gst_concat_finalize (GObject * object);
@@ -163,7 +165,7 @@ gst_concat_class_init (GstConcatClass * klass)
   gobject_class->set_property = gst_concat_set_property;
 
   pspec_active_pad = g_param_spec_object ("active-pad", "Active pad",
-      "Currently active src pad", GST_TYPE_PAD, G_PARAM_READABLE |
+      "Currently active sink pad", GST_TYPE_PAD, G_PARAM_READABLE |
       G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_ACTIVE_PAD,
       pspec_active_pad);
@@ -522,28 +524,29 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
   GstConcat *self = GST_CONCAT (parent);
   GstConcatPad *spad = GST_CONCAT_PAD_CAST (pad);
   gboolean ret = TRUE;
+  gboolean adjust_base;
 
   GST_LOG_OBJECT (pad, "received event %" GST_PTR_FORMAT, event);
 
+  g_mutex_lock (&self->lock);
+  adjust_base = self->adjust_base;
+  g_mutex_unlock (&self->lock);
+
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_STREAM_START:{
       if (!gst_concat_pad_wait (spad, self)) {
         ret = FALSE;
-        gst_event_unref (event);
-      } else {
-        ret = gst_pad_event_default (pad, parent, event);
+        gst_event_replace (&event, NULL);
       }
       break;
     }
     case GST_EVENT_SEGMENT:{
-      gboolean adjust_base;
-
+      guint32 seqnum = gst_event_get_seqnum (event);
       /* Drop segment event, we create our own one */
       gst_event_copy_segment (event, &spad->segment);
-      gst_event_unref (event);
+      gst_event_replace (&event, NULL);
 
       g_mutex_lock (&self->lock);
-      adjust_base = self->adjust_base;
       if (self->format == GST_FORMAT_UNDEFINED) {
         if (spad->segment.format != GST_FORMAT_TIME
             && spad->segment.format != GST_FORMAT_BYTES) {
@@ -556,7 +559,6 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
         self->format = spad->segment.format;
         GST_DEBUG_OBJECT (self, "Operating in %s format",
             gst_format_get_name (self->format));
-        g_mutex_unlock (&self->lock);
       } else if (self->format != spad->segment.format) {
         g_mutex_unlock (&self->lock);
         GST_ELEMENT_ERROR (self, CORE, FAILED, (NULL),
@@ -564,15 +566,17 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
                 gst_format_get_name (self->format),
                 gst_format_get_name (spad->segment.format)));
         ret = FALSE;
-      } else {
-        g_mutex_unlock (&self->lock);
+        break;
       }
 
+      g_mutex_unlock (&self->lock);
+
       if (!gst_concat_pad_wait (spad, self)) {
         ret = FALSE;
       } else {
         GstSegment segment = spad->segment;
-        GstEvent *topush;
+
+        g_mutex_lock (&self->lock);
 
         if (adjust_base) {
           /* We know no duration */
@@ -604,15 +608,16 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
             }
           }
         }
-        topush = gst_event_new_segment (&segment);
-        gst_event_set_seqnum (topush, gst_event_get_seqnum (event));
+        event = gst_event_new_segment (&segment);
+        gst_event_set_seqnum (event, seqnum);
 
-        gst_pad_push_event (self->srcpad, topush);
+        g_mutex_unlock (&self->lock);
       }
       break;
     }
     case GST_EVENT_EOS:{
-      gst_event_unref (event);
+      guint32 seqnum = gst_event_get_seqnum (event);
+      gst_event_replace (&event, NULL);
 
       if (!gst_concat_pad_wait (spad, self)) {
         ret = FALSE;
@@ -627,7 +632,8 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
         gst_concat_notify_active_pad (self);
 
         if (!next) {
-          gst_pad_push_event (self->srcpad, gst_event_new_eos ());
+          event = gst_event_new_eos ();
+          gst_event_set_seqnum (event, seqnum);
         } else {
           gst_element_post_message (GST_ELEMENT_CAST (self),
               gst_message_new_duration_changed (GST_OBJECT_CAST (self)));
@@ -646,10 +652,8 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
         forward = TRUE;
       g_mutex_unlock (&self->lock);
 
-      if (forward)
-        ret = gst_pad_event_default (pad, parent, event);
-      else
-        gst_event_unref (event);
+      if (!forward)
+        gst_event_replace (&event, NULL);
       break;
     }
     case GST_EVENT_FLUSH_STOP:{
@@ -674,24 +678,36 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
           self->current_start_offset = 0;
           self->last_stop = GST_CLOCK_TIME_NONE;
         }
-        ret = gst_pad_event_default (pad, parent, event);
       } else {
-        gst_event_unref (event);
+        gst_event_replace (&event, NULL);
       }
       break;
     }
     default:{
       /* Wait for other serialized events before forwarding */
       if (GST_EVENT_IS_SERIALIZED (event) && !gst_concat_pad_wait (spad, self)) {
-        gst_event_unref (event);
+        gst_event_replace (&event, NULL);
         ret = FALSE;
-      } else {
-        ret = gst_pad_event_default (pad, parent, event);
       }
       break;
     }
   }
 
+  if (event) {
+    g_mutex_lock (&self->lock);
+    if (self->adjust_base && self->format == GST_FORMAT_TIME) {
+      gint64 offset;
+
+      event = gst_event_make_writable (event);
+      offset = gst_event_get_running_time_offset (event);
+      offset += self->current_start_offset;
+
+      gst_event_set_running_time_offset (event, offset);
+    }
+    g_mutex_unlock (&self->lock);
+    ret = gst_pad_event_default (pad, parent, event);
+  }
+
   return ret;
 }
 
@@ -723,13 +739,12 @@ gst_concat_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
   GstConcat *self = GST_CONCAT (parent);
   gboolean ret = TRUE;
+  GstPad *sinkpad = NULL;
 
   GST_LOG_OBJECT (pad, "received event %" GST_PTR_FORMAT, event);
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:{
-      GstPad *sinkpad = NULL;
-
       g_mutex_lock (&self->lock);
       if ((sinkpad = self->current_sinkpad))
         gst_object_ref (sinkpad);
@@ -738,42 +753,20 @@ gst_concat_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
         sinkpad = gst_object_ref (self->sinkpads->data);
       }
       g_mutex_unlock (&self->lock);
-      if (sinkpad) {
-        ret = gst_pad_push_event (sinkpad, event);
-        gst_object_unref (sinkpad);
-      } else {
-        gst_event_unref (event);
+      if (!sinkpad) {
+        gst_event_replace (&event, NULL);
         ret = FALSE;
       }
       break;
     }
     case GST_EVENT_QOS:{
-      GstQOSType type;
-      GstClockTimeDiff diff;
-      GstClockTime timestamp;
-      gdouble proportion;
-      GstPad *sinkpad = NULL;
-
       g_mutex_lock (&self->lock);
       if ((sinkpad = self->current_sinkpad))
         gst_object_ref (sinkpad);
       g_mutex_unlock (&self->lock);
 
-      if (sinkpad) {
-        gst_event_parse_qos (event, &type, &proportion, &diff, &timestamp);
-        gst_event_unref (event);
-
-        if (timestamp != GST_CLOCK_TIME_NONE
-            && timestamp > self->current_start_offset) {
-          timestamp -= self->current_start_offset;
-          event = gst_event_new_qos (type, proportion, diff, timestamp);
-          ret = gst_pad_push_event (self->current_sinkpad, event);
-        } else {
-          ret = FALSE;
-        }
-        gst_object_unref (sinkpad);
-      } else {
-        gst_event_unref (event);
+      if (!sinkpad) {
+        gst_event_replace (&event, NULL);
         ret = FALSE;
       }
       break;
@@ -787,15 +780,34 @@ gst_concat_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
             "resetting start offset to 0 after flushing with reset_time = TRUE");
         self->current_start_offset = 0;
       }
-
-      ret = gst_pad_event_default (pad, parent, event);
       break;
     }
     default:
-      ret = gst_pad_event_default (pad, parent, event);
       break;
   }
 
+  if (event) {
+    g_mutex_lock (&self->lock);
+    if (self->adjust_base && self->format == GST_FORMAT_TIME) {
+      gint64 offset;
+
+      event = gst_event_make_writable (event);
+      offset = gst_event_get_running_time_offset (event);
+      offset -= self->current_start_offset;
+
+      gst_event_set_running_time_offset (event, offset);
+    }
+    g_mutex_unlock (&self->lock);
+
+    if (sinkpad)
+      ret = gst_pad_push_event (sinkpad, event);
+    else
+      ret = gst_pad_event_default (pad, parent, event);
+  }
+
+  if (sinkpad)
+    gst_object_unref (sinkpad);
+
   return ret;
 }
 
diff --git a/plugins/elements/gstcoreelementselements.h b/plugins/elements/gstcoreelementselements.h
new file mode 100644
index 0000000..5c543bb
--- /dev/null
+++ b/plugins/elements/gstcoreelementselements.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd.
+ *   @Author: Stéphane Cerveau <scerveau@collabora.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_CORE_ELEMENTS_ELEMENTS_H__
+#define __GST_CORE_ELEMENTS_ELEMENTS_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+GST_ELEMENT_REGISTER_DECLARE (capsfilter);
+GST_ELEMENT_REGISTER_DECLARE (clocksync);
+GST_ELEMENT_REGISTER_DECLARE (concat);
+GST_ELEMENT_REGISTER_DECLARE (dataurisrc);
+GST_ELEMENT_REGISTER_DECLARE (downloadbuffer);
+GST_ELEMENT_REGISTER_DECLARE (fakesink);
+GST_ELEMENT_REGISTER_DECLARE (fakesrc);
+#if defined(HAVE_SYS_SOCKET_H) || defined(G_OS_WIN32)
+GST_ELEMENT_REGISTER_DECLARE (fdsrc);
+GST_ELEMENT_REGISTER_DECLARE (fdsink);
+#endif
+GST_ELEMENT_REGISTER_DECLARE (filesink);
+GST_ELEMENT_REGISTER_DECLARE (filesrc);
+GST_ELEMENT_REGISTER_DECLARE (funnel);
+GST_ELEMENT_REGISTER_DECLARE (identity);
+GST_ELEMENT_REGISTER_DECLARE (input_selector);
+GST_ELEMENT_REGISTER_DECLARE (multiqueue);
+GST_ELEMENT_REGISTER_DECLARE (output_selector);
+GST_ELEMENT_REGISTER_DECLARE (queue);
+GST_ELEMENT_REGISTER_DECLARE (queue2);
+GST_ELEMENT_REGISTER_DECLARE (streamiddemux);
+GST_ELEMENT_REGISTER_DECLARE (tee);
+GST_ELEMENT_REGISTER_DECLARE (typefind);
+GST_ELEMENT_REGISTER_DECLARE (valve);
+
+G_END_DECLS
+
+#endif /* __GST_CORE_ELEMENTS_ELEMENTS_H__ */
diff --git a/plugins/elements/gstcoreelementsplugin.c b/plugins/elements/gstcoreelementsplugin.c
new file mode 100644
index 0000000..1ee3e4c
--- /dev/null
+++ b/plugins/elements/gstcoreelementsplugin.c
@@ -0,0 +1,72 @@
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ *                    2000 Wim Taymans <wtay@chello.be>
+ *
+ * gstelementsplugin.c:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/**
+ * plugin-coreelements:
+ *
+ * GStreamer core elements
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <gst/gst.h>
+
+#include "gstcoreelementselements.h"
+
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  gboolean ret = FALSE;
+
+  ret |= GST_ELEMENT_REGISTER (capsfilter, plugin);
+  ret |= GST_ELEMENT_REGISTER (clocksync, plugin);
+  ret |= GST_ELEMENT_REGISTER (concat, plugin);
+  ret |= GST_ELEMENT_REGISTER (dataurisrc, plugin);
+  ret |= GST_ELEMENT_REGISTER (downloadbuffer, plugin);
+  ret |= GST_ELEMENT_REGISTER (fakesrc, plugin);
+  ret |= GST_ELEMENT_REGISTER (fakesink, plugin);
+#if defined(HAVE_SYS_SOCKET_H) || defined(G_OS_WIN32)
+  ret |= GST_ELEMENT_REGISTER (fdsrc, plugin);
+  ret |= GST_ELEMENT_REGISTER (fdsink, plugin);
+#endif
+  ret |= GST_ELEMENT_REGISTER (filesrc, plugin);
+  ret |= GST_ELEMENT_REGISTER (funnel, plugin);
+  ret |= GST_ELEMENT_REGISTER (identity, plugin);
+  ret |= GST_ELEMENT_REGISTER (input_selector, plugin);
+  ret |= GST_ELEMENT_REGISTER (output_selector, plugin);
+  ret |= GST_ELEMENT_REGISTER (queue, plugin);
+  ret |= GST_ELEMENT_REGISTER (queue2, plugin);
+  ret |= GST_ELEMENT_REGISTER (filesink, plugin);
+  ret |= GST_ELEMENT_REGISTER (tee, plugin);
+  ret |= GST_ELEMENT_REGISTER (typefind, plugin);
+  ret |= GST_ELEMENT_REGISTER (multiqueue, plugin);
+  ret |= GST_ELEMENT_REGISTER (valve, plugin);
+  ret |= GST_ELEMENT_REGISTER (streamiddemux, plugin);
+
+  return ret;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
+    "GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
+    GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/plugins/elements/gstdataurisrc.c b/plugins/elements/gstdataurisrc.c
index 8129cb3..a6132b5 100644
--- a/plugins/elements/gstdataurisrc.c
+++ b/plugins/elements/gstdataurisrc.c
@@ -38,6 +38,7 @@
 #endif
 
 #include "gstdataurisrc.h"
+#include "gstcoreelementselements.h"
 
 #include <string.h>
 #include <gst/base/gsttypefindhelper.h>
@@ -82,6 +83,8 @@ static gboolean gst_data_uri_src_set_uri (GstURIHandler * handler,
 G_DEFINE_TYPE_WITH_CODE (GstDataURISrc, gst_data_uri_src, GST_TYPE_BASE_SRC,
     G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER,
         gst_data_uri_src_handler_init));
+GST_ELEMENT_REGISTER_DEFINE (dataurisrc, "dataurisrc", GST_RANK_PRIMARY,
+    GST_TYPE_DATA_URI_SRC);
 
 static void
 gst_data_uri_src_class_init (GstDataURISrcClass * klass)
diff --git a/plugins/elements/gstdownloadbuffer.c b/plugins/elements/gstdownloadbuffer.c
index 5e11133..2a6232f 100644
--- a/plugins/elements/gstdownloadbuffer.c
+++ b/plugins/elements/gstdownloadbuffer.c
@@ -53,10 +53,11 @@
 #endif
 
 #include "gstdownloadbuffer.h"
+#include "gstcoreelementselements.h"
 
 #include <glib/gstdio.h>
 
-#include "gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "gst/glib-compat-private.h"
 
 #include <string.h>
@@ -170,6 +171,8 @@ enum
 #define gst_download_buffer_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstDownloadBuffer, gst_download_buffer,
     GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (downloadbuffer, "downloadbuffer", GST_RANK_NONE,
+    GST_TYPE_DOWNLOAD_BUFFER);
 
 static GstMessage *update_buffering (GstDownloadBuffer * dlbuf);
 
@@ -865,7 +868,7 @@ read_error:
     gst_buffer_unmap (buf, &info);
     if (*buffer == NULL)
       gst_buffer_unref (buf);
-    return ret;
+    return GST_FLOW_ERROR;
   }
 }
 
@@ -960,15 +963,17 @@ gst_download_buffer_close_temp_location_file (GstDownloadBuffer * dlbuf)
 
   GST_DEBUG_OBJECT (dlbuf, "closing sparse file");
 
+  gst_sparse_file_free (dlbuf->file);
+  dlbuf->file = NULL;
+  /* fd was closed by gst_sparse_file_free's fclose() */
+  dlbuf->temp_fd = -1;
+
   if (dlbuf->temp_remove) {
     if (remove (dlbuf->temp_location) < 0) {
       GST_WARNING_OBJECT (dlbuf, "Failed to remove temporary file %s: %s",
           dlbuf->temp_location, g_strerror (errno));
     }
   }
-  gst_sparse_file_free (dlbuf->file);
-  close (dlbuf->temp_fd);
-  dlbuf->file = NULL;
 }
 
 static void
diff --git a/plugins/elements/gstelements.c b/plugins/elements/gstelements.c
deleted file mode 100644
index 5ed328c..0000000
--- a/plugins/elements/gstelements.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/* GStreamer
- * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
- *                    2000 Wim Taymans <wtay@chello.be>
- *
- * gstelements.c:
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-/**
- * plugin-coreelements:
- *
- * GStreamer core elements
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <gst/gst.h>
-
-#include "gstcapsfilter.h"
-#include "gstclocksync.h"
-#include "gstconcat.h"
-#include "gstdataurisrc.h"
-#include "gstdownloadbuffer.h"
-#include "gstfakesink.h"
-#include "gstfakesrc.h"
-#include "gstfdsrc.h"
-#include "gstfdsink.h"
-#include "gstfilesink.h"
-#include "gstfilesrc.h"
-#include "gstfunnel.h"
-#include "gstidentity.h"
-#include "gstinputselector.h"
-#include "gstoutputselector.h"
-#include "gstmultiqueue.h"
-#include "gstqueue.h"
-#include "gstqueue2.h"
-#include "gsttee.h"
-#include "gsttypefindelement.h"
-#include "gstvalve.h"
-#include "gststreamiddemux.h"
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  if (!gst_element_register (plugin, "capsfilter", GST_RANK_NONE,
-          gst_capsfilter_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "clocksync", GST_RANK_NONE,
-          gst_clock_sync_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "concat", GST_RANK_NONE,
-          gst_concat_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "dataurisrc", GST_RANK_PRIMARY,
-          gst_data_uri_src_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "downloadbuffer", GST_RANK_NONE,
-          gst_download_buffer_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "fakesrc", GST_RANK_NONE,
-          gst_fake_src_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "fakesink", GST_RANK_NONE,
-          gst_fake_sink_get_type ()))
-    return FALSE;
-#if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
-  if (!gst_element_register (plugin, "fdsrc", GST_RANK_NONE,
-          gst_fd_src_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "fdsink", GST_RANK_NONE,
-          gst_fd_sink_get_type ()))
-    return FALSE;
-#endif
-  if (!gst_element_register (plugin, "filesrc", GST_RANK_PRIMARY,
-          gst_file_src_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "funnel", GST_RANK_NONE,
-          gst_funnel_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "identity", GST_RANK_NONE,
-          gst_identity_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "input-selector", GST_RANK_NONE,
-          gst_input_selector_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "output-selector", GST_RANK_NONE,
-          gst_output_selector_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "queue", GST_RANK_NONE,
-          gst_queue_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "queue2", GST_RANK_NONE,
-          gst_queue2_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "filesink", GST_RANK_PRIMARY,
-          gst_file_sink_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "tee", GST_RANK_NONE, gst_tee_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "typefind", GST_RANK_NONE,
-          gst_type_find_element_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "multiqueue", GST_RANK_NONE,
-          gst_multi_queue_get_type ()))
-    return FALSE;
-  if (!gst_element_register (plugin, "valve", GST_RANK_NONE,
-          gst_valve_get_type ()))
-    return FALSE;
-
-  if (!gst_element_register (plugin, "streamiddemux", GST_RANK_PRIMARY,
-          gst_streamid_demux_get_type ()))
-    return FALSE;
-
-  return TRUE;
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
-    "GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
-    GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/plugins/elements/gstelements_private.c b/plugins/elements/gstelements_private.c
index 75cdcfd..ea50373 100644
--- a/plugins/elements/gstelements_private.c
+++ b/plugins/elements/gstelements_private.c
@@ -234,7 +234,7 @@ gst_writev_iovecs (GstObject * sink, gint fd, GstPoll * fdset,
         flow_ret = GST_FLOW_FLUSHING;
         goto out;
       }
-#ifndef HAVE_WIN32
+#ifndef G_OS_WIN32
       if (fdset != NULL) {
         do {
           GST_DEBUG_OBJECT (sink, "going into select, have %" G_GSSIZE_FORMAT
@@ -298,7 +298,7 @@ gst_writev_iovecs (GstObject * sink, gint fd, GstPoll * fdset,
       } else {
         goto write_error;
       }
-#ifdef HAVE_WIN32
+#ifdef G_OS_WIN32
       /* do short sleep on windows where we don't use gst_poll(),
        * to avoid excessive busy looping */
       if (fdset != NULL)
@@ -315,7 +315,7 @@ out:
   return flow_ret;
 
 /* ERRORS */
-#ifndef HAVE_WIN32
+#ifndef G_OS_WIN32
 select_error:
   {
     GST_ELEMENT_ERROR (sink, RESOURCE, READ, (NULL),
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index 05acdc9..028c87a 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -37,9 +37,11 @@
 #  include "config.h"
 #endif
 
+#include <string.h>
+
 #include "gstelements_private.h"
 #include "gstfakesink.h"
-#include <string.h>
+#include "gstcoreelementselements.h"
 
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
@@ -116,6 +118,8 @@ gst_fake_sink_state_error_get_type (void)
 #define _do_init \
     GST_DEBUG_CATEGORY_INIT (gst_fake_sink_debug, "fakesink", 0, "fakesink element");
 #define gst_fake_sink_parent_class parent_class
+GST_ELEMENT_REGISTER_DEFINE (fakesink, "fakesink", GST_RANK_NONE,
+    GST_TYPE_FAKE_SINK);
 G_DEFINE_TYPE_WITH_CODE (GstFakeSink, gst_fake_sink, GST_TYPE_BASE_SINK,
     _do_init);
 
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index 6a6ad46..7142e2c 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -51,6 +51,7 @@
 
 #include "gstelements_private.h"
 #include "gstfakesrc.h"
+#include "gstcoreelementselements.h"
 
 static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -203,6 +204,8 @@ gst_fake_src_filltype_get_type (void)
     GST_DEBUG_CATEGORY_INIT (gst_fake_src_debug, "fakesrc", 0, "fakesrc element");
 #define gst_fake_src_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFakeSrc, gst_fake_src, GST_TYPE_BASE_SRC, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (fakesrc, "fakesrc", GST_RANK_NONE,
+    GST_TYPE_FAKE_SRC);
 
 static void gst_fake_src_finalize (GObject * object);
 static void gst_fake_src_set_property (GObject * object, guint prop_id,
@@ -802,9 +805,11 @@ gst_fake_src_create (GstBaseSrc * basesrc, guint64 offset, guint length,
   GST_BUFFER_OFFSET (buf) = offset;
 
   if (src->datarate > 0) {
-    time = (src->bytes_sent * GST_SECOND) / src->datarate;
+    time =
+        gst_util_uint64_scale_int (src->bytes_sent, GST_SECOND, src->datarate);
 
-    GST_BUFFER_DURATION (buf) = size * GST_SECOND / src->datarate;
+    GST_BUFFER_DURATION (buf) =
+        gst_util_uint64_scale_int (size, GST_SECOND, src->datarate);
   } else if (gst_base_src_is_live (basesrc)) {
     GstClock *clock;
 
diff --git a/plugins/elements/gstfdsink.c b/plugins/elements/gstfdsink.c
index 5cf3488..4608598 100644
--- a/plugins/elements/gstfdsink.c
+++ b/plugins/elements/gstfdsink.c
@@ -36,7 +36,7 @@
 #  include "config.h"
 #endif
 
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include <sys/types.h>
 
@@ -60,6 +60,7 @@
 
 #include "gstfdsink.h"
 #include "gstelements_private.h"
+#include "gstcoreelementselements.h"
 
 #ifdef G_OS_WIN32
 #include <io.h>                 /* lseek, open, close, read */
@@ -110,6 +111,9 @@ static void gst_fd_sink_uri_handler_init (gpointer g_iface,
   GST_DEBUG_CATEGORY_INIT (gst_fd_sink__debug, "fdsink", 0, "fdsink element");
 #define gst_fd_sink_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFdSink, gst_fd_sink, GST_TYPE_BASE_SINK, _do_init);
+#if defined(HAVE_SYS_SOCKET_H) || defined(G_OS_WIN32)
+GST_ELEMENT_REGISTER_DEFINE (fdsink, "fdsink", GST_RANK_NONE, GST_TYPE_FD_SINK);
+#endif
 
 static void gst_fd_sink_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
@@ -258,8 +262,14 @@ gst_fd_sink_render_list (GstBaseSink * bsink, GstBufferList * buffer_list)
   for (;;) {
     guint64 bytes_written = 0;
 
+#ifdef G_OS_WIN32
+    int cur_mode = _setmode (sink->fd, O_BINARY);
+#endif
     ret = gst_writev_buffer_list (GST_OBJECT_CAST (sink), sink->fd, sink->fdset,
         buffer_list, &bytes_written, skip, 0, -1, NULL);
+#ifdef G_OS_WIN32
+    _setmode (sink->fd, cur_mode);
+#endif
 
     sink->current_pos += bytes_written;
     skip += bytes_written;
@@ -293,8 +303,14 @@ gst_fd_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
   for (;;) {
     guint64 bytes_written = 0;
 
+#ifdef G_OS_WIN32
+    int cur_mode = _setmode (sink->fd, O_BINARY);
+#endif
     ret = gst_writev_buffer (GST_OBJECT_CAST (sink), sink->fd, sink->fdset,
         buffer, &bytes_written, skip, 0, -1, NULL);
+#ifdef G_OS_WIN32
+    _setmode (sink->fd, cur_mode);
+#endif
 
     sink->current_pos += bytes_written;
     skip += bytes_written;
diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c
index 77017e2..89ccd5a 100644
--- a/plugins/elements/gstfdsrc.c
+++ b/plugins/elements/gstfdsrc.c
@@ -79,6 +79,7 @@
 #include <errno.h>
 
 #include "gstfdsrc.h"
+#include "gstcoreelementselements.h"
 
 #define struct_stat struct stat
 
@@ -119,6 +120,9 @@ static void gst_fd_src_uri_handler_init (gpointer g_iface, gpointer iface_data);
   GST_DEBUG_CATEGORY_INIT (gst_fd_src_debug, "fdsrc", 0, "fdsrc element");
 #define gst_fd_src_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFdSrc, gst_fd_src, GST_TYPE_PUSH_SRC, _do_init);
+#if defined(HAVE_SYS_SOCKET_H) || defined(G_OS_WIN32)
+GST_ELEMENT_REGISTER_DEFINE (fdsrc, "fdsrc", GST_RANK_NONE, GST_TYPE_FD_SRC);
+#endif
 
 static void gst_fd_src_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
@@ -392,7 +396,7 @@ gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
   guint blocksize;
   GstMapInfo info;
 
-#ifndef HAVE_WIN32
+#ifndef G_OS_WIN32
   GstClockTime timeout;
   gboolean try_again;
   gint retval;
@@ -400,7 +404,7 @@ gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
 
   src = GST_FD_SRC (psrc);
 
-#ifndef HAVE_WIN32
+#ifndef G_OS_WIN32
   if (src->timeout > 0) {
     timeout = src->timeout * GST_USECOND;
   } else {
@@ -446,10 +450,16 @@ gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
   if (!gst_buffer_map (buf, &info, GST_MAP_WRITE))
     goto buffer_read_error;
 
+#ifdef G_OS_WIN32
+  int cur_mode = _setmode (src->fd, O_BINARY);
+#endif
   do {
     readbytes = read (src->fd, info.data, blocksize);
     GST_LOG_OBJECT (src, "read %" G_GSSIZE_FORMAT, readbytes);
   } while (readbytes == -1 && errno == EINTR);  /* retry if interrupted */
+#ifdef G_OS_WIN32
+  _setmode (src->fd, cur_mode);
+#endif
 
   if (readbytes < 0)
     goto read_error;
@@ -472,7 +482,7 @@ gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
   return GST_FLOW_OK;
 
   /* ERRORS */
-#ifndef HAVE_WIN32
+#ifndef G_OS_WIN32
 poll_error:
   {
     GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL),
diff --git a/plugins/elements/gstfilesink.c b/plugins/elements/gstfilesink.c
index 29bb9de..d5808fd 100644
--- a/plugins/elements/gstfilesink.c
+++ b/plugins/elements/gstfilesink.c
@@ -38,9 +38,10 @@
 #  include "config.h"
 #endif
 
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 #include <gst/gst.h>
+#include <glib/gstdio.h>
 #include <stdio.h>              /* for fseeko() */
 #ifdef HAVE_STDIO_EXT_H
 #include <stdio_ext.h>          /* for __fbufsize, for debugging */
@@ -73,6 +74,7 @@
 
 #include "gstelements_private.h"
 #include "gstfilesink.h"
+#include "gstcoreelementselements.h"
 
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
@@ -130,35 +132,15 @@ gst_fopen (const gchar * filename, const gchar * mode, gboolean o_sync)
 {
   FILE *retval;
 #ifdef G_OS_WIN32
-  wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
-  wchar_t *wmode;
-  int save_errno;
-
-  if (wfilename == NULL) {
-    errno = EINVAL;
-    return NULL;
-  }
-
-  wmode = g_utf8_to_utf16 (mode, -1, NULL, NULL, NULL);
-
-  if (wmode == NULL) {
-    g_free (wfilename);
-    errno = EINVAL;
-    return NULL;
-  }
-
-  retval = _wfopen (wfilename, wmode);
-  save_errno = errno;
-
-  g_free (wfilename);
-  g_free (wmode);
-
-  errno = save_errno;
+  retval = g_fopen (filename, mode);
   return retval;
 #else
   int fd;
   int flags = O_CREAT | O_WRONLY;
 
+  /* NOTE: below code is for handing spurious EACCES return on write
+   * See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/143
+   */
   if (strcmp (mode, "wb") == 0)
     flags |= O_TRUNC;
   else if (strcmp (mode, "ab") == 0)
@@ -171,6 +153,9 @@ gst_fopen (const gchar * filename, const gchar * mode, gboolean o_sync)
 
   fd = open (filename, flags, 0666);
 
+  if (fd < 0)
+    return NULL;
+
   retval = fdopen (fd, mode);
   return retval;
 #endif
@@ -214,6 +199,8 @@ static GstFlowReturn gst_file_sink_flush_buffer (GstFileSink * filesink);
 #define gst_file_sink_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFileSink, gst_file_sink, GST_TYPE_BASE_SINK,
     _do_init);
+GST_ELEMENT_REGISTER_DEFINE (filesink, "filesink", GST_RANK_PRIMARY,
+    GST_TYPE_FILE_SINK);
 
 static void
 gst_file_sink_class_init (GstFileSinkClass * klass)
diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c
index d7888ae..5dfe014 100644
--- a/plugins/elements/gstfilesrc.c
+++ b/plugins/elements/gstfilesrc.c
@@ -38,19 +38,18 @@
 #endif
 
 #include <gst/gst.h>
+#include <glib/gstdio.h>
 #include "gstfilesrc.h"
+#include "gstcoreelementselements.h"
 
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #ifdef G_OS_WIN32
+#include <windows.h>
 #include <io.h>                 /* lseek, open, close, read */
 /* On win32, stat* default to 32 bit; we need the 64-bit
  * variants, so explicitly define it that way. */
-#undef stat
-#define stat __stat64
-#undef fstat
-#define fstat _fstat64
 #undef lseek
 #define lseek _lseeki64
 #undef off_t
@@ -59,6 +58,7 @@
  * _stat*, since we're explicitly overriding that */
 #undef _INC_STAT_INL
 #endif
+
 #include <fcntl.h>
 
 #ifdef HAVE_UNISTD_H
@@ -79,7 +79,7 @@
 #include <errno.h>
 #include <string.h>
 
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 
 static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -99,36 +99,6 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
 #define O_BINARY (0)
 #endif
 
-/* Copy of glib's g_open due to win32 libc/cross-DLL brokenness: we can't
- * use the 'file descriptor' opened in glib (and returned from this function)
- * in this library, as they may have unrelated C runtimes. */
-static int
-gst_open (const gchar * filename, int flags, int mode)
-{
-#ifdef G_OS_WIN32
-  wchar_t *wfilename = g_utf8_to_utf16 (filename, -1, NULL, NULL, NULL);
-  int retval;
-  int save_errno;
-
-  if (wfilename == NULL) {
-    errno = EINVAL;
-    return -1;
-  }
-
-  retval = _wopen (wfilename, flags, mode);
-  save_errno = errno;
-
-  g_free (wfilename);
-
-  errno = save_errno;
-  return retval;
-#elif defined (__BIONIC__)
-  return open (filename, flags | O_LARGEFILE, mode);
-#else
-  return open (filename, flags, mode);
-#endif
-}
-
 GST_DEBUG_CATEGORY_STATIC (gst_file_src_debug);
 #define GST_CAT_DEFAULT gst_file_src_debug
 
@@ -170,6 +140,8 @@ static void gst_file_src_uri_handler_init (gpointer g_iface,
   GST_DEBUG_CATEGORY_INIT (gst_file_src_debug, "filesrc", 0, "filesrc element");
 #define gst_file_src_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFileSrc, gst_file_src, GST_TYPE_BASE_SRC, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (filesrc, "filesrc", GST_RANK_PRIMARY,
+    GST_TYPE_FILE_SRC);
 
 static void
 gst_file_src_class_init (GstFileSrcClass * klass)
@@ -434,7 +406,6 @@ gst_file_src_is_seekable (GstBaseSrc * basesrc)
 static gboolean
 gst_file_src_get_size (GstBaseSrc * basesrc, guint64 * size)
 {
-  struct_stat stat_results;
   GstFileSrc *src;
 
   src = GST_FILE_SRC (basesrc);
@@ -444,11 +415,30 @@ gst_file_src_get_size (GstBaseSrc * basesrc, guint64 * size)
      * succeed, and wrongly say our length is zero. */
     return FALSE;
   }
+#ifdef G_OS_WIN32
+  {
+    HANDLE h = (HANDLE) _get_osfhandle (src->fd);
+    LARGE_INTEGER file_size;
+
+    if (h == INVALID_HANDLE_VALUE)
+      goto could_not_stat;
 
-  if (fstat (src->fd, &stat_results) < 0)
-    goto could_not_stat;
+    if (!GetFileSizeEx (h, &file_size)) {
+      goto could_not_stat;
+    }
+
+    *size = file_size.QuadPart;
+  }
+#else
+  {
+    struct_stat stat_results;
 
-  *size = stat_results.st_size;
+    if (fstat (src->fd, &stat_results) < 0)
+      goto could_not_stat;
+
+    *size = stat_results.st_size;
+  }
+#endif
 
   return TRUE;
 
@@ -464,7 +454,10 @@ static gboolean
 gst_file_src_start (GstBaseSrc * basesrc)
 {
   GstFileSrc *src = GST_FILE_SRC (basesrc);
-  struct_stat stat_results;
+  int flags = O_RDONLY | O_BINARY;
+#if defined (__BIONIC__)
+  flags |= O_LARGEFILE;
+#endif
 
   if (src->filename == NULL || src->filename[0] == '\0')
     goto no_filename;
@@ -472,26 +465,50 @@ gst_file_src_start (GstBaseSrc * basesrc)
   GST_INFO_OBJECT (src, "opening file %s", src->filename);
 
   /* open the file */
-  src->fd = gst_open (src->filename, O_RDONLY | O_BINARY, 0);
+  src->fd = g_open (src->filename, flags, 0);
 
   if (src->fd < 0)
     goto open_failed;
 
-  /* check if it is a regular file, otherwise bail out */
-  if (fstat (src->fd, &stat_results) < 0)
-    goto no_stat;
+#ifdef G_OS_WIN32
+  {
+    HANDLE h = (HANDLE) _get_osfhandle (src->fd);
+    FILE_STANDARD_INFO file_info;
 
-  if (S_ISDIR (stat_results.st_mode))
-    goto was_directory;
+    if (h == INVALID_HANDLE_VALUE)
+      goto no_stat;
 
-  if (S_ISSOCK (stat_results.st_mode))
-    goto was_socket;
+    if (!GetFileInformationByHandleEx (h, FileStandardInfo, &file_info,
+            sizeof (FILE_STANDARD_INFO)))
+      goto no_stat;
 
-  src->read_position = 0;
+    if (file_info.Directory)
+      goto was_directory;
 
-  /* record if it's a regular (hence seekable and lengthable) file */
-  if (S_ISREG (stat_results.st_mode))
+    /* everything's a regular file on Windows */
     src->is_regular = TRUE;
+  }
+#else
+  {
+    struct_stat stat_results;
+
+    /* check if it is a regular file, otherwise bail out */
+    if (fstat (src->fd, &stat_results) < 0)
+      goto no_stat;
+
+    if (S_ISDIR (stat_results.st_mode))
+      goto was_directory;
+
+    if (S_ISSOCK (stat_results.st_mode))
+      goto was_socket;
+
+    /* record if it's a regular (hence seekable and lengthable) file */
+    if (S_ISREG (stat_results.st_mode))
+      src->is_regular = TRUE;
+  }
+#endif
+
+  src->read_position = 0;
 
   /* We need to check if the underlying file is seekable. */
   {
@@ -556,12 +573,14 @@ was_directory:
         (_("\"%s\" is a directory."), src->filename), (NULL));
     goto error_close;
   }
+#ifndef G_OS_WIN32
 was_socket:
   {
     GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ,
         (_("File \"%s\" is a socket."), src->filename), (NULL));
     goto error_close;
   }
+#endif
 lseek_wonky:
   {
     GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL),
@@ -582,7 +601,7 @@ gst_file_src_stop (GstBaseSrc * basesrc)
   GstFileSrc *src = GST_FILE_SRC (basesrc);
 
   /* close the file */
-  close (src->fd);
+  g_close (src->fd, NULL);
 
   /* zero out a lot of our state */
   src->fd = 0;
diff --git a/plugins/elements/gstfunnel.c b/plugins/elements/gstfunnel.c
index 8827f49..cdb22c9 100644
--- a/plugins/elements/gstfunnel.c
+++ b/plugins/elements/gstfunnel.c
@@ -38,6 +38,7 @@
 #endif
 
 #include "gstfunnel.h"
+#include "gstcoreelementselements.h"
 
 GST_DEBUG_CATEGORY_STATIC (gst_funnel_debug);
 #define GST_CAT_DEFAULT gst_funnel_debug
@@ -106,6 +107,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
   GST_DEBUG_CATEGORY_INIT (gst_funnel_debug, "funnel", 0, "funnel element");
 #define gst_funnel_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstFunnel, gst_funnel, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (funnel, "funnel", GST_RANK_NONE, GST_TYPE_FUNNEL);
 
 static GstStateChangeReturn gst_funnel_change_state (GstElement * element,
     GstStateChange transition);
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index 53e90ff..ab577b7 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -36,8 +36,9 @@
 #include <string.h>
 
 #include "gstelements_private.h"
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "gstidentity.h"
+#include "gstcoreelementselements.h"
 
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
@@ -95,7 +96,8 @@ enum
   PROP_CHECK_IMPERFECT_OFFSET,
   PROP_SIGNAL_HANDOFFS,
   PROP_DROP_ALLOCATION,
-  PROP_EOS_AFTER
+  PROP_EOS_AFTER,
+  PROP_STATS
 };
 
 
@@ -104,6 +106,8 @@ enum
 #define gst_identity_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstIdentity, gst_identity, GST_TYPE_BASE_TRANSFORM,
     _do_init);
+GST_ELEMENT_REGISTER_DEFINE (identity, "identity", GST_RANK_NONE,
+    GST_TYPE_IDENTITY);
 
 static void gst_identity_finalize (GObject * object);
 static void gst_identity_set_property (GObject * object, guint prop_id,
@@ -258,7 +262,6 @@ gst_identity_class_init (GstIdentityClass * klass)
    * GstIdentity::handoff:
    * @identity: the identity instance
    * @buffer: the buffer that just has been received
-   * @pad: the pad that received it
    *
    * This signal gets emitted before passing the buffer downstream.
    */
@@ -267,6 +270,36 @@ gst_identity_class_init (GstIdentityClass * klass)
       G_STRUCT_OFFSET (GstIdentityClass, handoff), NULL, NULL,
       NULL, G_TYPE_NONE, 1, GST_TYPE_BUFFER | G_SIGNAL_TYPE_STATIC_SCOPE);
 
+  /**
+   * GstIdentity:stats:
+
+   * Various statistics. This property returns a GstStructure
+   * with name application/x-identity-stats with the following fields:
+   *
+   * <itemizedlist>
+   * <listitem>
+   *   <para>
+   *   #guint64
+   *   <classname>&quot;num-buffers&quot;</classname>:
+   *   the number of buffers that passed through.
+   *   </para>
+   * </listitem>
+   * <listitem>
+   *   <para>
+   *   #guint64
+   *   <classname>&quot;num-bytes&quot;</classname>:
+   *   the number of bytes that passed through.
+   *   </para>
+   * </listitem>
+   * </itemizedlist>
+   *
+   * Since: 1.20
+   */
+  g_object_class_install_property (gobject_class, PROP_STATS,
+      g_param_spec_boxed ("stats", "Statistics",
+          "Statistics", GST_TYPE_STRUCTURE,
+          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
   gobject_class->finalize = gst_identity_finalize;
 
   gst_element_class_set_static_metadata (gstelement_class,
@@ -446,19 +479,34 @@ gst_identity_sink_event (GstBaseTransform * trans, GstEvent * event)
 
   if (GST_EVENT_TYPE (event) == GST_EVENT_GAP &&
       trans->have_segment && trans->segment.format == GST_FORMAT_TIME) {
-    GstClockTime start, dur;
+    GstClockTime start, dur, old_start;
+
+    gst_event_parse_gap (event, &old_start, &dur);
 
-    gst_event_parse_gap (event, &start, &dur);
-    if (GST_CLOCK_TIME_IS_VALID (start)) {
-      start = gst_segment_to_running_time (&trans->segment,
-          GST_FORMAT_TIME, start);
+    start = gst_segment_to_running_time (&trans->segment,
+        GST_FORMAT_TIME, old_start);
 
-      gst_identity_do_sync (identity, start);
+    gst_identity_do_sync (identity,
+        GST_CLOCK_TIME_IS_VALID (start) ? start : 0);
 
-      /* also transform GAP timestamp similar to buffer timestamps */
-      if (identity->single_segment) {
+    /* also transform GAP timestamp similar to buffer timestamps */
+    if (identity->single_segment) {
+      guint64 clip_start, clip_stop;
+      if (GST_CLOCK_TIME_IS_VALID (start)) {
         gst_event_unref (event);
         event = gst_event_new_gap (start, dur);
+      } else if (GST_CLOCK_TIME_IS_VALID (dur) &&
+          gst_segment_clip (&trans->segment, GST_FORMAT_TIME, old_start,
+              old_start + dur, &clip_start, &clip_stop)) {
+        gst_event_unref (event);
+        event = gst_event_new_gap (clip_start, clip_stop - clip_start);
+      } else {
+        /* Gap event is completely outside the segment, drop it */
+        GST_DEBUG_OBJECT (identity,
+            "Dropping GAP event outside segment: %" GST_PTR_FORMAT, event);
+        gst_event_unref (event);
+        ret = TRUE;
+        goto done;
       }
     }
   }
@@ -673,6 +721,7 @@ gst_identity_update_last_message_for_buffer (GstIdentity * identity,
       GST_BUFFER_FLAGS (buf), flag_str, meta_str ? meta_str : "none", buf);
   g_free (flag_str);
   g_free (meta_str);
+  GST_TRACE_OBJECT (identity, "%s", identity->last_message);
 
   GST_OBJECT_UNLOCK (identity);
 
@@ -785,6 +834,11 @@ gst_identity_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
     GST_BUFFER_OFFSET_END (buf) = GST_CLOCK_TIME_NONE;
   }
 
+  GST_OBJECT_LOCK (trans);
+  identity->num_bytes += gst_buffer_get_size (buf);
+  identity->num_buffers++;
+  GST_OBJECT_UNLOCK (trans);
+
   return ret;
 
   /* ERRORS */
@@ -902,6 +956,20 @@ gst_identity_set_property (GObject * object, guint prop_id,
     gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (identity), TRUE);
 }
 
+static GstStructure *
+gst_identity_create_stats (GstIdentity * identity)
+{
+  GstStructure *s;
+
+  GST_OBJECT_LOCK (identity);
+  s = gst_structure_new ("application/x-identity-stats",
+      "num-bytes", G_TYPE_UINT64, identity->num_bytes,
+      "num-buffers", G_TYPE_UINT64, identity->num_buffers, NULL);
+  GST_OBJECT_UNLOCK (identity);
+
+  return s;
+}
+
 static void
 gst_identity_get_property (GObject * object, guint prop_id, GValue * value,
     GParamSpec * pspec)
@@ -961,6 +1029,9 @@ gst_identity_get_property (GObject * object, guint prop_id, GValue * value,
     case PROP_EOS_AFTER:
       g_value_set_int (value, identity->eos_after);
       break;
+    case PROP_STATS:
+      g_value_take_boxed (value, gst_identity_create_stats (identity));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1099,6 +1170,8 @@ gst_identity_change_state (GstElement * element, GstStateChange transition)
       GST_OBJECT_UNLOCK (identity);
       if (identity->sync)
         no_preroll = TRUE;
+      identity->num_bytes = 0;
+      identity->num_buffers = 0;
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
       GST_OBJECT_LOCK (identity);
diff --git a/plugins/elements/gstidentity.h b/plugins/elements/gstidentity.h
index d81faaa..20b4727 100644
--- a/plugins/elements/gstidentity.h
+++ b/plugins/elements/gstidentity.h
@@ -83,6 +83,8 @@ struct _GstIdentity {
   gboolean       drop_allocation;
   gint           eos_after;
   gint           eos_after_counter;
+  guint64        num_bytes;
+  guint64        num_buffers;
 };
 
 struct _GstIdentityClass {
diff --git a/plugins/elements/gstinputselector.c b/plugins/elements/gstinputselector.c
index 107f320..ac8470e 100644
--- a/plugins/elements/gstinputselector.c
+++ b/plugins/elements/gstinputselector.c
@@ -48,6 +48,7 @@
 #include <string.h>
 
 #include "gstinputselector.h"
+#include "gstcoreelementselements.h"
 
 #define DEBUG_CACHED_BUFFERS 0
 
@@ -100,13 +101,15 @@ enum
   PROP_ACTIVE_PAD,
   PROP_SYNC_STREAMS,
   PROP_SYNC_MODE,
-  PROP_CACHE_BUFFERS
+  PROP_CACHE_BUFFERS,
+  PROP_DROP_BACKWARDS
 };
 
 #define DEFAULT_SYNC_STREAMS TRUE
 #define DEFAULT_SYNC_MODE GST_INPUT_SELECTOR_SYNC_MODE_ACTIVE_SEGMENT
 #define DEFAULT_CACHE_BUFFERS FALSE
 #define DEFAULT_PAD_ALWAYS_OK TRUE
+#define DEFAULT_DROP_BACKWARDS FALSE
 
 enum
 {
@@ -164,6 +167,8 @@ struct _GstSelectorPad
 
   gboolean sending_cached_buffers;
   GQueue *cached_buffers;
+
+  GstClockID clock_id;
 };
 
 struct _GstSelectorPadCachedBuffer
@@ -344,6 +349,11 @@ gst_selector_pad_reset (GstSelectorPad * pad)
   gst_segment_init (&pad->segment, GST_FORMAT_UNDEFINED);
   pad->sending_cached_buffers = FALSE;
   gst_selector_pad_free_cached_buffers (pad);
+  if (pad->clock_id) {
+    gst_clock_id_unschedule (pad->clock_id);
+    gst_clock_id_unref (pad->clock_id);
+  }
+  pad->clock_id = NULL;
   GST_OBJECT_UNLOCK (pad);
 }
 
@@ -473,6 +483,10 @@ gst_input_selector_eos_wait (GstInputSelector * self, GstSelectorPad * pad,
 
       gst_pad_push_event (self->srcpad, gst_event_ref (eos_event));
       GST_INPUT_SELECTOR_LOCK (self);
+      if (pad->clock_id) {
+        GST_DEBUG_OBJECT (pad, "unlock clock wait");
+        gst_clock_id_unschedule (pad->clock_id);
+      }
       /* Wake up other pads so they can continue when syncing to
        * running time, as this pad just switched to EOS and
        * may enable others to progress */
@@ -492,18 +506,21 @@ static gboolean
 gst_input_selector_all_eos (GstInputSelector * sel)
 {
   GList *walk;
+  gboolean ret = TRUE;
 
+  GST_OBJECT_LOCK (sel);
   for (walk = GST_ELEMENT_CAST (sel)->sinkpads; walk; walk = walk->next) {
     GstSelectorPad *selpad;
 
     selpad = GST_SELECTOR_PAD_CAST (walk->data);
     if (!selpad->eos) {
-      return FALSE;
+      ret = FALSE;
+      break;
     }
-
   }
+  GST_OBJECT_UNLOCK (sel);
 
-  return TRUE;
+  return ret;
 }
 
 static gboolean
@@ -557,10 +574,15 @@ gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
       selpad->flushing = TRUE;
       sel->eos = FALSE;
       selpad->group_done = FALSE;
+      if (selpad->clock_id) {
+        GST_DEBUG_OBJECT (selpad, "unlock clock wait");
+        gst_clock_id_unschedule (selpad->clock_id);
+      }
       GST_INPUT_SELECTOR_BROADCAST (sel);
       break;
     case GST_EVENT_FLUSH_STOP:
       gst_selector_pad_reset (selpad);
+      sel->last_output_ts = GST_CLOCK_TIME_NONE;
       break;
     case GST_EVENT_SEGMENT:
     {
@@ -749,7 +771,6 @@ gst_input_selector_wait_running_time (GstInputSelector * sel,
   while (TRUE) {
     GstPad *active_sinkpad;
     GstSelectorPad *active_selpad;
-    GstClock *clock;
     gint64 cur_running_time;
     GstClockTime running_time;
 
@@ -773,21 +794,7 @@ gst_input_selector_wait_running_time (GstInputSelector * sel,
     }
 
     cur_running_time = GST_CLOCK_TIME_NONE;
-    if (sel->sync_mode == GST_INPUT_SELECTOR_SYNC_MODE_CLOCK) {
-      clock = gst_element_get_clock (GST_ELEMENT_CAST (sel));
-      if (clock) {
-        GstClockTime base_time;
-
-        cur_running_time = gst_clock_get_time (clock);
-        base_time = gst_element_get_base_time (GST_ELEMENT_CAST (sel));
-        if (base_time <= cur_running_time)
-          cur_running_time -= base_time;
-        else
-          cur_running_time = 0;
-
-        gst_object_unref (clock);
-      }
-    } else {
+    if (sel->sync_mode != GST_INPUT_SELECTOR_SYNC_MODE_CLOCK) {
       GstSegment *active_seg;
 
       active_seg = &active_selpad->segment;
@@ -817,9 +824,61 @@ gst_input_selector_wait_running_time (GstInputSelector * sel,
       break;
     }
 
-    if (selpad != active_selpad && !sel->eos && !sel->flushing
-        && !selpad->flushing && (cur_running_time == GST_CLOCK_TIME_NONE
-            || running_time >= cur_running_time)) {
+    if (selpad == active_selpad || sel->eos || sel->flushing
+        || selpad->flushing) {
+      GST_DEBUG_OBJECT (selpad, "Waiting aborted. Unblocking");
+      GST_INPUT_SELECTOR_UNLOCK (sel);
+      break;
+    }
+
+    if (sel->sync_mode == GST_INPUT_SELECTOR_SYNC_MODE_CLOCK
+        && GST_CLOCK_TIME_IS_VALID (running_time)) {
+      GstClock *clock;
+      GstClockReturn cret;
+      GstClockTime base_time;
+      GstClockTimeDiff jitter;
+      GstClockID clock_id;
+
+      base_time = gst_element_get_base_time (GST_ELEMENT_CAST (sel));
+      if (!GST_CLOCK_TIME_IS_VALID (base_time)) {
+        GST_DEBUG_OBJECT (selpad, "sync-mode=clock but no base time. Blocking");
+        GST_INPUT_SELECTOR_WAIT (sel);
+        continue;
+      }
+
+      clock = gst_element_get_clock (GST_ELEMENT_CAST (sel));
+      if (!clock) {
+        GST_DEBUG_OBJECT (selpad, "sync-mode=clock but no clock. Blocking");
+        GST_INPUT_SELECTOR_WAIT (sel);
+        continue;
+      }
+
+      /* FIXME: If no upstream latency was queried yet, do one now */
+      clock_id =
+          gst_clock_new_single_shot_id (clock,
+          running_time + base_time + sel->upstream_latency);
+      selpad->clock_id = gst_clock_id_ref (clock_id);
+      GST_INPUT_SELECTOR_UNLOCK (sel);
+
+      gst_object_unref (clock);
+      cret = gst_clock_id_wait (clock_id, &jitter);
+      gst_clock_id_unref (clock_id);
+
+      GST_DEBUG_OBJECT (sel, "Clock returned %d, jitter %" GST_STIME_FORMAT,
+          cret, GST_STIME_ARGS (jitter));
+
+      GST_INPUT_SELECTOR_LOCK (sel);
+      if (selpad->clock_id) {
+        gst_clock_id_unref (selpad->clock_id);
+        selpad->clock_id = NULL;
+      }
+      if (cret == GST_CLOCK_OK ||
+          cret == GST_CLOCK_EARLY || cret == GST_CLOCK_DONE) {
+        GST_INPUT_SELECTOR_UNLOCK (sel);
+        break;
+      }
+    } else if (!GST_CLOCK_TIME_IS_VALID (cur_running_time)
+        || running_time >= cur_running_time) {
       GST_DEBUG_OBJECT (selpad,
           "Waiting for active streams to advance. %" GST_TIME_FORMAT " >= %"
           GST_TIME_FORMAT, GST_TIME_ARGS (running_time),
@@ -844,6 +903,7 @@ gst_input_selector_debug_cached_buffers (GstInputSelector * sel)
   if (gst_debug_category_get_threshold (input_selector_debug) < GST_LEVEL_DEBUG)
     return;
 
+  GST_OBJECT_LOCK (sel);
   for (walk = GST_ELEMENT_CAST (sel)->sinkpads; walk; walk = walk->next) {
     GstSelectorPad *selpad;
     GString *timestamps;
@@ -865,6 +925,7 @@ gst_input_selector_debug_cached_buffers (GstInputSelector * sel)
     GST_DEBUG_OBJECT (selpad, "%s", timestamps->str);
     g_string_free (timestamps, TRUE);
   }
+  GST_OBJECT_UNLOCK (sel);
 }
 #endif
 
@@ -911,9 +972,10 @@ gst_input_selector_cleanup_old_cached_buffers (GstInputSelector * sel,
     return;
 
   GST_DEBUG_OBJECT (sel, "Cleaning up old cached buffers");
+
+  GST_OBJECT_LOCK (sel);
   for (walk = GST_ELEMENT_CAST (sel)->sinkpads; walk; walk = g_list_next (walk)) {
     GstSelectorPad *selpad;
-    GstSegment *seg;
     GstSelectorPadCachedBuffer *cached_buffer;
     GSList *maybe_remove;
     guint queue_position;
@@ -922,13 +984,12 @@ gst_input_selector_cleanup_old_cached_buffers (GstInputSelector * sel,
     if (!selpad->cached_buffers)
       continue;
 
-    seg = &selpad->segment;
-
     maybe_remove = NULL;
     queue_position = 0;
     while ((cached_buffer = g_queue_peek_nth (selpad->cached_buffers,
                 queue_position))) {
       GstBuffer *buffer = cached_buffer->buffer;
+      GstSegment *seg = &cached_buffer->segment;
       GstClockTime running_time;
       GSList *l;
 
@@ -976,6 +1037,7 @@ gst_input_selector_cleanup_old_cached_buffers (GstInputSelector * sel,
       selpad->cached_buffers = NULL;
     }
   }
+  GST_OBJECT_UNLOCK (sel);
 
 #if DEBUG_CACHED_BUFFERS
   gst_input_selector_debug_cached_buffers (sel);
@@ -990,6 +1052,8 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
   GstPad *active_sinkpad;
   GstPad *prev_active_sinkpad = NULL;
   GstSelectorPad *selpad;
+  GstSegment seg;
+  GstClockTime running_time = GST_CLOCK_TIME_NONE;
 
   sel = GST_INPUT_SELECTOR (parent);
   selpad = GST_SELECTOR_PAD_CAST (pad);
@@ -1114,7 +1178,25 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
     prev_active_sinkpad = NULL;
   }
 
+  seg = selpad->segment;
+  if (seg.format == GST_FORMAT_TIME)
+    running_time =
+        gst_segment_to_running_time (&seg, GST_FORMAT_TIME,
+        GST_BUFFER_DTS_OR_PTS (buf));
+
   if (selpad->discont) {
+    GST_INPUT_SELECTOR_LOCK (sel);
+    if (sel->sync_streams && sel->drop_backwards
+        && GST_CLOCK_TIME_IS_VALID (running_time)) {
+      /* Just switched. Make sure timestamps don't go backwards */
+      if (running_time < sel->last_output_ts
+          && GST_CLOCK_TIME_IS_VALID (sel->last_output_ts)) {
+        GST_DEBUG_OBJECT (pad, "Discarding buffer %p with backwards timestamp",
+            buf);
+        goto ignore;
+      }
+    }
+    GST_INPUT_SELECTOR_UNLOCK (sel);
     buf = gst_buffer_make_writable (buf);
 
     GST_DEBUG_OBJECT (pad, "Marking discont buffer %p", buf);
@@ -1125,6 +1207,7 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
   /* forward */
   GST_LOG_OBJECT (pad, "Forwarding buffer %p with timestamp %" GST_TIME_FORMAT,
       buf, GST_TIME_ARGS (GST_BUFFER_PTS (buf)));
+  sel->last_output_ts = running_time;
 
   /* Only make the buffer read-only when necessary */
   if (sel->sync_streams && sel->cache_buffers)
@@ -1213,6 +1296,8 @@ static gboolean gst_input_selector_query (GstPad * pad, GstObject * parent,
 #define gst_input_selector_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstInputSelector, gst_input_selector, GST_TYPE_ELEMENT,
     _do_init);
+GST_ELEMENT_REGISTER_DEFINE (input_selector, "input-selector", GST_RANK_NONE,
+    GST_TYPE_INPUT_SELECTOR);
 
 static void
 gst_input_selector_class_init (GstInputSelectorClass * klass)
@@ -1291,6 +1376,22 @@ gst_input_selector_class_init (GstInputSelectorClass * klass)
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
           GST_PARAM_MUTABLE_READY));
 
+  /**
+   * GstInputSelector:drop-backwards
+   *
+   * If set to %TRUE and GstInputSelector:sync-streams is also set to %TRUE,
+   * every time the input is switched, buffers that would go backwards related
+   * to the last output buffer pre-switch will be dropped.
+   *
+   * Since: 1.22
+   */
+  g_object_class_install_property (gobject_class, PROP_DROP_BACKWARDS,
+      g_param_spec_boolean ("drop-backwards", "Drop Backwards Buffers",
+          "Drop backwards buffers on pad switch",
+          DEFAULT_DROP_BACKWARDS,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+          GST_PARAM_MUTABLE_READY));
+
   gst_element_class_set_static_metadata (gstelement_class, "Input selector",
       "Generic", "N-to-1 input stream selector",
       "Julien Moutte <julien@moutte.net>, "
@@ -1332,6 +1433,9 @@ gst_input_selector_init (GstInputSelector * sel)
   g_cond_init (&sel->cond);
   sel->eos = FALSE;
 
+  sel->upstream_latency = 0;
+  sel->last_output_ts = GST_CLOCK_TIME_NONE;
+
   /* lets give a change for downstream to do something on
    * active-pad change before we start pushing new buffers */
   g_signal_connect_data (sel, "notify::active-pad",
@@ -1459,6 +1563,11 @@ gst_input_selector_set_property (GObject * object, guint prop_id,
       sel->cache_buffers = g_value_get_boolean (value);
       GST_INPUT_SELECTOR_UNLOCK (object);
       break;
+    case PROP_DROP_BACKWARDS:
+      GST_INPUT_SELECTOR_LOCK (object);
+      sel->drop_backwards = g_value_get_boolean (value);
+      GST_INPUT_SELECTOR_UNLOCK (object);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1507,6 +1616,11 @@ gst_input_selector_get_property (GObject * object, guint prop_id,
       g_value_set_boolean (value, sel->cache_buffers);
       GST_INPUT_SELECTOR_UNLOCK (object);
       break;
+    case PROP_DROP_BACKWARDS:
+      GST_INPUT_SELECTOR_LOCK (object);
+      g_value_set_boolean (value, sel->drop_backwards);
+      GST_INPUT_SELECTOR_UNLOCK (object);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1713,7 +1827,16 @@ retry:
       GST_ERROR_OBJECT (pad, "minimum latency bigger than maximum latency");
     }
 
-    gst_query_set_latency (query, fold_data.live, fold_data.min, fold_data.max);
+    GST_INPUT_SELECTOR_LOCK (sel);
+    if (fold_data.live)
+      sel->upstream_latency = fold_data.min;
+    else
+      sel->upstream_latency = 0;
+
+    gst_query_set_latency (query, fold_data.live
+        || (sel->sync_mode == GST_INPUT_SELECTOR_SYNC_MODE_CLOCK),
+        fold_data.min, fold_data.max);
+    GST_INPUT_SELECTOR_UNLOCK (sel);
   } else {
     GST_LOG_OBJECT (pad, "latency query failed");
   }
@@ -1864,6 +1987,7 @@ gst_input_selector_reset (GstInputSelector * sel)
   sel->eos_sent = FALSE;
 
   /* reset each of our sinkpads state */
+  GST_OBJECT_LOCK (sel);
   for (walk = GST_ELEMENT_CAST (sel)->sinkpads; walk; walk = g_list_next (walk)) {
     GstSelectorPad *selpad = GST_SELECTOR_PAD_CAST (walk->data);
 
@@ -1874,7 +1998,11 @@ gst_input_selector_reset (GstInputSelector * sel)
       selpad->tags = NULL;
     }
   }
+  GST_OBJECT_UNLOCK (sel);
+
   sel->have_group_id = TRUE;
+  sel->upstream_latency = 0;
+  sel->last_output_ts = GST_CLOCK_TIME_NONE;
   GST_INPUT_SELECTOR_UNLOCK (sel);
 }
 
@@ -1901,6 +2029,19 @@ gst_input_selector_change_state (GstElement * element,
       GST_INPUT_SELECTOR_BROADCAST (self);
       GST_INPUT_SELECTOR_UNLOCK (self);
       break;
+    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:{
+      GList *walk;
+
+      for (walk = GST_ELEMENT_CAST (self)->sinkpads; walk;
+          walk = g_list_next (walk)) {
+        GstSelectorPad *selpad = GST_SELECTOR_PAD_CAST (walk->data);
+        if (selpad->clock_id) {
+          GST_DEBUG_OBJECT (selpad, "unlock clock wait");
+          gst_clock_id_unschedule (selpad->clock_id);
+        }
+      }
+      break;
+    }
     default:
       break;
   }
diff --git a/plugins/elements/gstinputselector.h b/plugins/elements/gstinputselector.h
index 9d2eb6a..039f628 100644
--- a/plugins/elements/gstinputselector.h
+++ b/plugins/elements/gstinputselector.h
@@ -72,6 +72,7 @@ struct _GstInputSelector {
   gboolean sync_streams;
   GstInputSelectorSyncMode sync_mode;
   gboolean cache_buffers;
+  gboolean drop_backwards;
 
   gboolean have_group_id;
 
@@ -80,6 +81,9 @@ struct _GstInputSelector {
   gboolean eos;
   gboolean eos_sent;
   gboolean flushing;
+
+  GstClockTime upstream_latency;
+  GstClockTime last_output_ts;
 };
 
 struct _GstInputSelectorClass {
diff --git a/plugins/elements/gstmultiqueue.c b/plugins/elements/gstmultiqueue.c
index 98d27aa..cf4edc8 100644
--- a/plugins/elements/gstmultiqueue.c
+++ b/plugins/elements/gstmultiqueue.c
@@ -95,9 +95,11 @@
 #endif
 
 #include <gst/gst.h>
+#include <gst/glib-compat-private.h>
 #include <stdio.h>
+
 #include "gstmultiqueue.h"
-#include <gst/glib-compat-private.h>
+#include "gstcoreelementselements.h"
 
 /* GstSingleQueue:
  * @sinkpad: associated sink #GstPad
@@ -110,12 +112,17 @@ typedef struct _GstSingleQueue GstSingleQueue;
 
 struct _GstSingleQueue
 {
-  volatile gint refcount;
+  gint refcount;
 
   /* unique identifier of the queue */
   guint id;
   /* group of streams to which this queue belongs to */
   guint groupid;
+
+#ifndef GST_DISABLE_GST_DEBUG
+  /* debug identifier */
+  gchar *debug_id;
+#endif
   GstClockTimeDiff group_high_time;
 
   GWeakRef mqueue;
@@ -145,6 +152,15 @@ struct _GstSingleQueue
   /* TRUE if either position needs to be recalculated */
   gboolean sink_tainted, src_tainted;
 
+  /* stream group id */
+  guint32 sink_stream_gid;
+  guint32 src_stream_gid;
+
+  /* TRUE if the stream group-id changed. Resetted to FALSE the next time the
+   * segment is calculated */
+  gboolean sink_stream_gid_changed;
+  gboolean src_stream_gid_changed;
+
   /* queue of data */
   GstDataQueue *queue;
   GstDataQueueSize max_size, extra_size;
@@ -629,6 +645,8 @@ static void gst_multi_queue_loop (GstPad * pad);
 #define gst_multi_queue_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstMultiQueue, gst_multi_queue, GST_TYPE_ELEMENT,
     _do_init);
+GST_ELEMENT_REGISTER_DEFINE (multiqueue, "multiqueue", GST_RANK_NONE,
+    GST_TYPE_MULTI_QUEUE);
 
 static guint gst_multi_queue_signals[LAST_SIGNAL] = { 0 };
 
@@ -872,6 +890,7 @@ gst_multi_queue_init (GstMultiQueue * mqueue)
   mqueue->high_time = GST_CLOCK_STIME_NONE;
 
   g_mutex_init (&mqueue->qlock);
+  g_mutex_init (&mqueue->reconf_lock);
   g_mutex_init (&mqueue->buffering_post_lock);
 }
 
@@ -886,6 +905,7 @@ gst_multi_queue_finalize (GObject * object)
 
   /* free/unref instance data */
   g_mutex_clear (&mqueue->qlock);
+  g_mutex_clear (&mqueue->reconf_lock);
   g_mutex_clear (&mqueue->buffering_post_lock);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -931,8 +951,8 @@ gst_multi_queue_set_property (GObject * object, guint prop_id,
         GstSingleQueue *q = (GstSingleQueue *) tmp->data;
         gst_data_queue_get_level (q->queue, &size);
 
-        GST_DEBUG_OBJECT (mq, "Queue %d: Requested buffers size: %d,"
-            " current: %d, current max %d", q->id, new_size, size.visible,
+        GST_DEBUG_ID (q->debug_id, "Requested buffers size: %d,"
+            " current: %d, current max %d", new_size, size.visible,
             q->max_size.visible);
 
         /* do not reduce max size below current level if the single queue
@@ -1140,11 +1160,11 @@ gst_multi_queue_iterate_internal_links (GstPad * pad, GstObject * parent)
 
   srcpad = g_weak_ref_get (&squeue->srcpad);
   sinkpad = g_weak_ref_get (&squeue->sinkpad);
-  if (sinkpad == pad) {
+  if (sinkpad == pad && srcpad) {
     opad = srcpad;
     gst_clear_object (&sinkpad);
 
-  } else if (srcpad == pad) {
+  } else if (srcpad == pad && sinkpad) {
     opad = sinkpad;
     gst_clear_object (&srcpad);
 
@@ -1186,8 +1206,10 @@ gst_multi_queue_request_new_pad (GstElement * element, GstPadTemplate * temp,
     GST_LOG_OBJECT (element, "name : %s (id %d)", GST_STR_NULL (name), temp_id);
   }
 
+  g_mutex_lock (&mqueue->reconf_lock);
   /* Create a new single queue, add the sink and source pad and return the sink pad */
   squeue = gst_single_queue_new (mqueue, temp_id);
+  g_mutex_unlock (&mqueue->reconf_lock);
 
   new_pad = squeue ? g_weak_ref_get (&squeue->sinkpad) : NULL;
   /* request pad assumes the element is owning the ref of the pad it returns */
@@ -1209,6 +1231,12 @@ gst_multi_queue_release_pad (GstElement * element, GstPad * pad)
 
   GST_LOG_OBJECT (element, "pad %s:%s", GST_DEBUG_PAD_NAME (pad));
 
+  /* Take the reconfiguration lock before the qlock to avoid deadlocks
+   * from two release_pad running in parallel on different mqueue slots.
+   * We need reconf_lock for removing the singlequeue from the list, to
+   * prevent overlapping release/request from causing problems */
+  g_mutex_lock (&mqueue->reconf_lock);
+
   GST_MULTI_QUEUE_MUTEX_LOCK (mqueue);
   /* Find which single queue it belongs to, knowing that it should be a sinkpad */
   for (tmp = mqueue->queues; tmp; tmp = g_list_next (tmp)) {
@@ -1228,6 +1256,7 @@ gst_multi_queue_release_pad (GstElement * element, GstPad * pad)
     gst_clear_object (&srcpad);
     GST_WARNING_OBJECT (mqueue, "That pad doesn't belong to this element ???");
     GST_MULTI_QUEUE_MUTEX_UNLOCK (mqueue);
+    g_mutex_unlock (&mqueue->reconf_lock);
     return;
   }
 
@@ -1250,6 +1279,8 @@ gst_multi_queue_release_pad (GstElement * element, GstPad * pad)
   gst_element_remove_pad (element, sinkpad);
   gst_object_unref (srcpad);
   gst_object_unref (sinkpad);
+
+  g_mutex_unlock (&mqueue->reconf_lock);
 }
 
 static GstStateChangeReturn
@@ -1268,6 +1299,7 @@ gst_multi_queue_change_state (GstElement * element, GstStateChange transition)
       for (tmp = mqueue->queues; tmp; tmp = g_list_next (tmp)) {
         sq = (GstSingleQueue *) tmp->data;
         sq->flushing = FALSE;
+        sq->sink_stream_gid = sq->src_stream_gid = GST_GROUP_ID_INVALID;
       }
 
       /* the visible limit might not have been set on single queues that have grown because of other queueus were empty */
@@ -1291,6 +1323,7 @@ gst_multi_queue_change_state (GstElement * element, GstStateChange transition)
         sq->last_query = FALSE;
         g_cond_signal (&sq->query_handled);
       }
+      mqueue->interleave_incomplete = FALSE;
       GST_MULTI_QUEUE_MUTEX_UNLOCK (mqueue);
       break;
     }
@@ -1314,7 +1347,7 @@ gst_single_queue_start (GstMultiQueue * mq, GstSingleQueue * sq)
   gboolean res = FALSE;
   GstPad *srcpad = g_weak_ref_get (&sq->srcpad);
 
-  GST_LOG_OBJECT (mq, "SingleQueue %d : starting task", sq->id);
+  GST_LOG_ID (sq->debug_id, "starting task");
 
   if (srcpad) {
     res = gst_pad_start_task (srcpad,
@@ -1331,13 +1364,14 @@ gst_single_queue_pause (GstMultiQueue * mq, GstSingleQueue * sq)
   gboolean result = FALSE;
   GstPad *srcpad = g_weak_ref_get (&sq->srcpad);
 
-  GST_LOG_OBJECT (mq, "SingleQueue %d : pausing task", sq->id);
+  GST_LOG_ID (sq->debug_id, "pausing task");
   if (srcpad) {
     result = gst_pad_pause_task (srcpad);
     gst_object_unref (srcpad);
   }
 
   sq->sink_tainted = sq->src_tainted = TRUE;
+
   return result;
 }
 
@@ -1347,12 +1381,13 @@ gst_single_queue_stop (GstMultiQueue * mq, GstSingleQueue * sq)
   gboolean result = FALSE;
   GstPad *srcpad = g_weak_ref_get (&sq->srcpad);
 
-  GST_LOG_OBJECT (mq, "SingleQueue %d : stopping task", sq->id);
+  GST_LOG_ID (sq->debug_id, "stopping task");
   if (srcpad) {
     result = gst_pad_stop_task (srcpad);
     gst_object_unref (srcpad);
   }
   sq->sink_tainted = sq->src_tainted = TRUE;
+
   return result;
 }
 
@@ -1360,8 +1395,7 @@ static void
 gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush,
     gboolean full)
 {
-  GST_DEBUG_OBJECT (mq, "flush %s queue %d", (flush ? "start" : "stop"),
-      sq->id);
+  GST_DEBUG_ID (sq->debug_id, "flush %s", (flush ? "start" : "stop"));
 
   if (flush) {
     GST_MULTI_QUEUE_MUTEX_LOCK (mq);
@@ -1371,8 +1405,7 @@ gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush,
     sq->flushing = TRUE;
 
     /* wake up non-linked task */
-    GST_LOG_OBJECT (mq, "SingleQueue %d : waking up eventually waiting task",
-        sq->id);
+    GST_LOG_ID (sq->debug_id, "Waking up eventually waiting task");
     g_cond_signal (&sq->turn);
     sq->last_query = FALSE;
     g_cond_signal (&sq->query_handled);
@@ -1384,7 +1417,7 @@ gst_single_queue_flush (GstMultiQueue * mq, GstSingleQueue * sq, gboolean flush,
     gst_segment_init (&sq->sink_segment, GST_FORMAT_TIME);
     gst_segment_init (&sq->src_segment, GST_FORMAT_TIME);
     sq->has_src_segment = FALSE;
-    /* All pads start off not-linked for a smooth kick-off */
+    /* All pads start off OK for a smooth kick-off */
     sq->srcresult = GST_FLOW_OK;
     sq->pushed = FALSE;
     sq->cur_time = 0;
@@ -1420,9 +1453,9 @@ get_buffering_level (GstMultiQueue * mq, GstSingleQueue * sq)
 
   gst_data_queue_get_level (sq->queue, &size);
 
-  GST_DEBUG_OBJECT (mq,
-      "queue %d: visible %u/%u, bytes %u/%u, time %" G_GUINT64_FORMAT "/%"
-      G_GUINT64_FORMAT, sq->id, size.visible, sq->max_size.visible,
+  GST_DEBUG_ID (sq->debug_id,
+      "visible %u/%u, bytes %u/%u, time %" G_GUINT64_FORMAT "/%"
+      G_GUINT64_FORMAT, size.visible, sq->max_size.visible,
       size.bytes, sq->max_size.bytes, sq->cur_time, sq->max_size.time);
 
   /* get bytes and time buffer levels and take the max */
@@ -1565,6 +1598,7 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
 {
   GstClockTimeDiff low, high;
   GstClockTime interleave, other_interleave = 0;
+  gboolean some_inactive = FALSE;
   GList *tmp;
 
   low = high = GST_CLOCK_STIME_NONE;
@@ -1575,16 +1609,12 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
     /* Ignore sparse streams for interleave calculation */
     if (oq->is_sparse)
       continue;
-    /* If a stream is not active yet (hasn't received any buffers), set
-     * a maximum interleave to allow it to receive more data */
+
+    /* If some streams aren't active yet (haven't received any buffers), we will
+     * grow interleave accordingly */
     if (!oq->active) {
-      GST_LOG_OBJECT (mq,
-          "queue %d is not active yet, forcing interleave to 5s", oq->id);
-      mq->interleave = 5 * GST_SECOND;
-      /* Update max-size time */
-      mq->max_size.time = mq->interleave;
-      SET_CHILD_PROPERTY (mq, time);
-      goto beach;
+      some_inactive = TRUE;
+      continue;
     }
 
     /* Calculate within each streaming thread */
@@ -1594,20 +1624,33 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
       continue;
     }
 
-    if (GST_CLOCK_STIME_IS_VALID (oq->cached_sinktime)) {
+    /* If the stream isn't EOS, update the low/high input value */
+    if (GST_CLOCK_STIME_IS_VALID (oq->cached_sinktime) && !oq->is_eos) {
       if (low == GST_CLOCK_STIME_NONE || oq->cached_sinktime < low)
         low = oq->cached_sinktime;
       if (high == GST_CLOCK_STIME_NONE || oq->cached_sinktime > high)
         high = oq->cached_sinktime;
+
+      /* If the input is before the segment start, consider as inactive to allow
+       * the interleave to grow until *all* streams have data within the segment.
+       *
+       * The reason for this is that there is no requirements for data before
+       * the segment start to be "aligned" and therefore interleave calculation
+       * can't reliably be done. For example a demuxer could provide video data
+       * from the previous keyframe but audio only from just before the segment
+       * start */
+      if (oq->cached_sinktime < 0)
+        some_inactive = TRUE;
     }
-    GST_LOG_OBJECT (mq,
-        "queue %d , sinktime:%" GST_STIME_FORMAT " low:%" GST_STIME_FORMAT
-        " high:%" GST_STIME_FORMAT, oq->id,
+    GST_LOG_ID (oq->debug_id,
+        "sinktime:%" GST_STIME_FORMAT " low:%" GST_STIME_FORMAT
+        " high:%" GST_STIME_FORMAT,
         GST_STIME_ARGS (oq->cached_sinktime), GST_STIME_ARGS (low),
         GST_STIME_ARGS (high));
   }
 
   if (GST_CLOCK_STIME_IS_VALID (low) && GST_CLOCK_STIME_IS_VALID (high)) {
+    gboolean do_update = high == low;
     interleave = high - low;
     /* Padding of interleave and minimum value */
     interleave = (150 * interleave / 100) + mq->min_interleave_time;
@@ -1616,11 +1659,28 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
 
     interleave = MAX (interleave, other_interleave);
 
+    /* Progressively grow up the interleave up to 5s if some streams were inactive */
+    if (some_inactive && interleave <= mq->interleave) {
+      interleave = MIN (5 * GST_SECOND, mq->interleave + 500 * GST_MSECOND);
+      do_update = TRUE;
+    }
+
+    /* We force the interleave update if:
+     * * the interleave was previously set while some streams were not active
+     *   yet but they now all are
+     * * OR the interleave was previously based on all streams being active
+     *   whereas some now aren't
+     */
+    if (mq->interleave_incomplete != some_inactive)
+      do_update = TRUE;
+
+    mq->interleave_incomplete = some_inactive;
+
     /* Update the stored interleave if:
      * * No data has arrived yet (high == low)
      * * Or it went higher
      * * Or it went lower and we've gone past the previous interleave needed */
-    if (high == low || interleave > mq->interleave ||
+    if (do_update || interleave > mq->interleave ||
         ((mq->last_interleave_update + (2 * MIN (GST_SECOND,
                         mq->interleave)) < low)
             && interleave < (mq->interleave * 3 / 4))) {
@@ -1633,7 +1693,6 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
     }
   }
 
-beach:
   GST_DEBUG_OBJECT (mq,
       "low:%" GST_STIME_FORMAT " high:%" GST_STIME_FORMAT " interleave:%"
       GST_TIME_FORMAT " mq->interleave:%" GST_TIME_FORMAT
@@ -1656,9 +1715,9 @@ update_time_level (GstMultiQueue * mq, GstSingleQueue * sq)
     sink_time = sq->sinktime = my_segment_to_running_time (&sq->sink_segment,
         sq->sink_segment.position);
 
-    GST_DEBUG_OBJECT (mq,
-        "queue %d sink_segment.position:%" GST_TIME_FORMAT ", sink_time:%"
-        GST_STIME_FORMAT, sq->id, GST_TIME_ARGS (sq->sink_segment.position),
+    GST_DEBUG_ID (sq->debug_id,
+        "sink_segment.position:%" GST_TIME_FORMAT ", sink_time:%"
+        GST_STIME_FORMAT, GST_TIME_ARGS (sq->sink_segment.position),
         GST_STIME_ARGS (sink_time));
 
     if (G_UNLIKELY (sq->last_time == GST_CLOCK_STIME_NONE)) {
@@ -1707,8 +1766,8 @@ update_time_level (GstMultiQueue * mq, GstSingleQueue * sq)
   } else
     src_time = sq->srctime;
 
-  GST_DEBUG_OBJECT (mq,
-      "queue %d, sink %" GST_STIME_FORMAT ", src %" GST_STIME_FORMAT, sq->id,
+  GST_DEBUG_ID (sq->debug_id,
+      "sink %" GST_STIME_FORMAT ", src %" GST_STIME_FORMAT,
       GST_STIME_ARGS (sink_time), GST_STIME_ARGS (src_time));
 
   /* This allows for streams with out of order timestamping - sometimes the
@@ -1731,6 +1790,23 @@ static void
 apply_segment (GstMultiQueue * mq, GstSingleQueue * sq, GstEvent * event,
     GstSegment * segment)
 {
+  GstClockTimeDiff ppos = 0;
+
+  /* If we switched groups, grab the previous position */
+  if (segment->rate > 0.0) {
+    if (segment == &sq->sink_segment && sq->sink_stream_gid_changed) {
+      ppos =
+          gst_segment_to_running_time (segment, GST_FORMAT_TIME,
+          segment->position);
+      sq->sink_stream_gid_changed = FALSE;
+    } else if (segment == &sq->src_segment && sq->src_stream_gid_changed) {
+      ppos =
+          gst_segment_to_running_time (segment, GST_FORMAT_TIME,
+          segment->position);
+      sq->src_stream_gid_changed = FALSE;
+    }
+  }
+
   gst_event_copy_segment (event, segment);
 
   /* now configure the values, we use these to track timestamps on the
@@ -1745,12 +1821,19 @@ apply_segment (GstMultiQueue * mq, GstSingleQueue * sq, GstEvent * event,
   }
   GST_MULTI_QUEUE_MUTEX_LOCK (mq);
 
+  if (ppos) {
+    GST_DEBUG_ID (sq->debug_id, "Applying base of %" GST_TIME_FORMAT,
+        GST_TIME_ARGS (ppos));
+    segment->base = ppos;
+  }
+
   /* Make sure we have a valid initial segment position (and not garbage
    * from upstream) */
   if (segment->rate > 0.0)
     segment->position = segment->start;
   else
     segment->position = segment->stop;
+
   if (segment == &sq->sink_segment)
     sq->sink_tainted = TRUE;
   else {
@@ -1758,8 +1841,8 @@ apply_segment (GstMultiQueue * mq, GstSingleQueue * sq, GstEvent * event,
     sq->src_tainted = TRUE;
   }
 
-  GST_DEBUG_OBJECT (mq,
-      "queue %d, configured SEGMENT %" GST_SEGMENT_FORMAT, sq->id, segment);
+  GST_DEBUG_ID (sq->debug_id,
+      "configured SEGMENT %" GST_SEGMENT_FORMAT, segment);
 
   /* segment can update the time level of the queue */
   update_time_level (mq, sq);
@@ -1784,9 +1867,8 @@ apply_buffer (GstMultiQueue * mq, GstSingleQueue * sq, GstClockTime timestamp,
   if (duration != GST_CLOCK_TIME_NONE)
     timestamp += duration;
 
-  GST_DEBUG_OBJECT (mq, "queue %d, %s position updated to %" GST_TIME_FORMAT,
-      sq->id, segment == &sq->sink_segment ? "sink" : "src",
-      GST_TIME_ARGS (timestamp));
+  GST_DEBUG_ID (sq->debug_id, "%s position updated to %" GST_TIME_FORMAT,
+      segment == &sq->sink_segment ? "sink" : "src", GST_TIME_ARGS (timestamp));
 
   segment->position = timestamp;
 
@@ -1818,6 +1900,11 @@ apply_gap (GstMultiQueue * mq, GstSingleQueue * sq, GstEvent * event,
       timestamp += duration;
     }
 
+    GST_DEBUG_ID (sq->debug_id,
+        "%s position updated to %" GST_TIME_FORMAT,
+        segment == &sq->sink_segment ? "sink" : "src",
+        GST_TIME_ARGS (timestamp));
+
     segment->position = timestamp;
 
     if (segment == &sq->sink_segment)
@@ -1880,6 +1967,14 @@ get_running_time (GstSegment * segment, GstMiniObject * object, gboolean end)
             my_segment_to_running_time ((GstSegment *) new_segment,
             new_segment->start);
       }
+    } else if (GST_EVENT_TYPE (event) == GST_EVENT_GAP) {
+      GstClockTime ts, dur;
+      gst_event_parse_gap (event, &ts, &dur);
+      if (GST_CLOCK_TIME_IS_VALID (ts)) {
+        if (GST_CLOCK_TIME_IS_VALID (dur))
+          ts += dur;
+        time = my_segment_to_running_time (segment, ts);
+      }
     }
   }
 
@@ -1914,14 +2009,14 @@ gst_single_queue_push_one (GstMultiQueue * mq, GstSingleQueue * sq,
     gst_data_queue_limits_changed (sq->queue);
 
     if (G_UNLIKELY (*allow_drop)) {
-      GST_DEBUG_OBJECT (mq,
-          "SingleQueue %d : Dropping EOS buffer %p with ts %" GST_TIME_FORMAT,
-          sq->id, buffer, GST_TIME_ARGS (timestamp));
+      GST_DEBUG_ID (sq->debug_id,
+          "Dropping EOS buffer %p with ts %" GST_TIME_FORMAT,
+          buffer, GST_TIME_ARGS (timestamp));
       gst_buffer_unref (buffer);
     } else {
-      GST_DEBUG_OBJECT (mq,
-          "SingleQueue %d : Pushing buffer %p with ts %" GST_TIME_FORMAT,
-          sq->id, buffer, GST_TIME_ARGS (timestamp));
+      GST_DEBUG_ID (sq->debug_id,
+          "Pushing buffer %p with ts %" GST_TIME_FORMAT,
+          buffer, GST_TIME_ARGS (timestamp));
       result = gst_pad_push (srcpad, buffer);
     }
   } else if (GST_IS_EVENT (object)) {
@@ -1939,10 +2034,21 @@ gst_single_queue_push_one (GstMultiQueue * mq, GstSingleQueue * sq,
           *allow_drop = FALSE;
         break;
       case GST_EVENT_STREAM_START:
+      {
+        guint32 group_id;
+        if (gst_event_parse_group_id (event, &group_id)) {
+          if (sq->src_stream_gid == GST_GROUP_ID_INVALID) {
+            sq->src_stream_gid = group_id;
+          } else if (group_id != sq->src_stream_gid) {
+            sq->src_stream_gid = group_id;
+            sq->src_stream_gid_changed = TRUE;
+          }
+        }
         result = GST_FLOW_OK;
         if (G_UNLIKELY (*allow_drop))
           *allow_drop = FALSE;
         break;
+      }
       case GST_EVENT_SEGMENT:
         apply_segment (mq, sq, event, &sq->src_segment);
         /* Applying the segment may have made the queue non-full again, unblock it if needed */
@@ -1962,14 +2068,13 @@ gst_single_queue_push_one (GstMultiQueue * mq, GstSingleQueue * sq,
     }
 
     if (G_UNLIKELY (*allow_drop)) {
-      GST_DEBUG_OBJECT (mq,
-          "SingleQueue %d : Dropping EOS event %p of type %s",
-          sq->id, event, GST_EVENT_TYPE_NAME (event));
+      GST_DEBUG_ID (sq->debug_id,
+          "Dropping EOS event %p of type %s",
+          event, GST_EVENT_TYPE_NAME (event));
       gst_event_unref (event);
     } else {
-      GST_DEBUG_OBJECT (mq,
-          "SingleQueue %d : Pushing event %p of type %s",
-          sq->id, event, GST_EVENT_TYPE_NAME (event));
+      GST_DEBUG_ID (sq->debug_id,
+          "Pushing event %p of type %s", event, GST_EVENT_TYPE_NAME (event));
 
       gst_pad_push_event (srcpad, event);
     }
@@ -1980,8 +2085,7 @@ gst_single_queue_push_one (GstMultiQueue * mq, GstSingleQueue * sq,
     query = GST_QUERY_CAST (object);
 
     if (G_UNLIKELY (*allow_drop)) {
-      GST_DEBUG_OBJECT (mq,
-          "SingleQueue %d : Dropping EOS query %p", sq->id, query);
+      GST_DEBUG_ID (sq->debug_id, "Dropping EOS query %p", query);
       gst_query_unref (query);
       res = FALSE;
     } else {
@@ -2076,6 +2180,7 @@ gst_multi_queue_loop (GstPad * pad)
   GstFlowReturn result;
   GstClockTimeDiff next_time;
   gboolean is_buffer;
+  gboolean is_query = FALSE;
   gboolean do_update_buffering = FALSE;
   gboolean dropping = FALSE;
   GstPad *srcpad = NULL;
@@ -2085,10 +2190,10 @@ gst_multi_queue_loop (GstPad * pad)
   srcpad = g_weak_ref_get (&sq->srcpad);
 
   if (!mq || !srcpad)
-    goto out_flushing;
+    goto done;
 
 next:
-  GST_DEBUG_OBJECT (mq, "SingleQueue %d : trying to pop an object", sq->id);
+  GST_DEBUG_ID (sq->debug_id, "trying to pop an object");
 
   if (sq->flushing)
     goto out_flushing;
@@ -2101,6 +2206,8 @@ next:
   item = (GstMultiQueueItem *) sitem;
   newid = item->posid;
 
+  is_query = item->is_query;
+
   /* steal the object and destroy the item */
   object = gst_multi_queue_item_steal_object (item);
   gst_multi_queue_item_destroy (item);
@@ -2110,8 +2217,7 @@ next:
   /* Get running time of the item. Events will have GST_CLOCK_STIME_NONE */
   next_time = get_running_time (&sq->src_segment, object, FALSE);
 
-  GST_LOG_OBJECT (mq, "SingleQueue %d : newid:%d , oldid:%d",
-      sq->id, newid, sq->last_oldid);
+  GST_LOG_ID (sq->debug_id, "newid:%d , oldid:%d", newid, sq->last_oldid);
 
   /* If we're not-linked, we do some extra work because we might need to
    * wait before pushing. If we're linked but there's a gap in the IDs,
@@ -2122,7 +2228,7 @@ next:
   if (sq->srcresult == GST_FLOW_NOT_LINKED
       || (sq->last_oldid == G_MAXUINT32) || (newid != (sq->last_oldid + 1))
       || sq->last_oldid > mq->highid) {
-    GST_LOG_OBJECT (mq, "CHECKING sq->srcresult: %s",
+    GST_LOG_ID (sq->debug_id, "CHECKING srcresult: %s",
         gst_flow_get_name (sq->srcresult));
 
     /* Check again if we're flushing after the lock is taken,
@@ -2152,7 +2258,7 @@ next:
       /* Recompute the high time */
       compute_high_time (mq, sq->groupid);
 
-      GST_DEBUG_OBJECT (mq,
+      GST_DEBUG_ID (sq->debug_id,
           "groupid %d high_time %" GST_STIME_FORMAT " next_time %"
           GST_STIME_FORMAT, sq->groupid, GST_STIME_ARGS (sq->group_high_time),
           GST_STIME_ARGS (next_time));
@@ -2171,10 +2277,10 @@ next:
 
       while (should_wait && sq->srcresult == GST_FLOW_NOT_LINKED) {
 
-        GST_DEBUG_OBJECT (mq,
-            "queue %d sleeping for not-linked wakeup with "
+        GST_DEBUG_ID (sq->debug_id,
+            "Sleeping for not-linked wakeup with "
             "newid %u, highid %u, next_time %" GST_STIME_FORMAT
-            ", high_time %" GST_STIME_FORMAT, sq->id, newid, mq->highid,
+            ", high_time %" GST_STIME_FORMAT, newid, mq->highid,
             GST_STIME_ARGS (next_time), GST_STIME_ARGS (sq->group_high_time));
 
         /* Wake up all non-linked pads before we sleep */
@@ -2193,10 +2299,10 @@ next:
         compute_high_time (mq, sq->groupid);
         compute_high_id (mq);
 
-        GST_DEBUG_OBJECT (mq, "queue %d woken from sleeping for not-linked "
+        GST_DEBUG_ID (sq->debug_id, "Woken from sleeping for not-linked "
             "wakeup with newid %u, highid %u, next_time %" GST_STIME_FORMAT
             ", high_time %" GST_STIME_FORMAT " mq high_time %" GST_STIME_FORMAT,
-            sq->id, newid, mq->highid,
+            newid, mq->highid,
             GST_STIME_ARGS (next_time), GST_STIME_ARGS (sq->group_high_time),
             GST_STIME_ARGS (mq->high_time));
 
@@ -2231,7 +2337,7 @@ next:
   if (sq->flushing)
     goto out_flushing;
 
-  GST_LOG_OBJECT (mq, "sq:%d BEFORE PUSHING sq->srcresult: %s", sq->id,
+  GST_LOG_ID (sq->debug_id, "BEFORE PUSHING sq->srcresult: %s",
       gst_flow_get_name (sq->srcresult));
 
   /* Update time stats */
@@ -2265,8 +2371,7 @@ next:
       && result == GST_FLOW_NOT_LINKED) {
     GList *tmp;
 
-    GST_LOG_OBJECT (mq, "SingleQueue %d : Changed from active to non-active",
-        sq->id);
+    GST_LOG_ID (sq->debug_id, "Changed from active to non-active");
 
     compute_high_id (mq);
     compute_high_time (mq, sq->groupid);
@@ -2279,7 +2384,7 @@ next:
         GstSingleQueue *sq2 = (GstSingleQueue *) tmp->data;
 
         if (sq2->srcresult == GST_FLOW_NOT_LINKED) {
-          GST_LOG_OBJECT (mq, "Waking up singlequeue %d", sq2->id);
+          GST_LOG_ID (sq2->debug_id, "Waking up singlequeue");
           sq2->pushed = FALSE;
           sq2->srcresult = GST_FLOW_OK;
           g_cond_signal (&sq2->turn);
@@ -2297,7 +2402,7 @@ next:
    * sure we are relaying the correct info wrt proper segment */
   if (result == GST_FLOW_EOS && !dropping &&
       sq->srcresult != GST_FLOW_NOT_LINKED) {
-    GST_DEBUG_OBJECT (mq, "starting EOS drop on sq %d", sq->id);
+    GST_DEBUG_ID (sq->debug_id, "starting EOS drop");
     dropping = TRUE;
     /* pretend we have not seen EOS yet for upstream's sake */
     result = sq->srcresult;
@@ -2305,7 +2410,7 @@ next:
     /* queue empty, so stop dropping
      * we can commit the result we have now,
      * which is either OK after a segment, or EOS */
-    GST_DEBUG_OBJECT (mq, "committed EOS drop on sq %d", sq->id);
+    GST_DEBUG_ID (sq->debug_id, "committed EOS drop");
     dropping = FALSE;
     result = GST_FLOW_EOS;
   }
@@ -2318,8 +2423,9 @@ next:
   GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
   gst_multi_queue_post_buffering (mq);
 
-  GST_LOG_OBJECT (mq, "sq:%d AFTER PUSHING sq->srcresult: %s (is_eos:%d)",
-      sq->id, gst_flow_get_name (sq->srcresult), GST_PAD_IS_EOS (srcpad));
+  GST_LOG_ID (sq->debug_id,
+      "AFTER PUSHING sq->srcresult: %s (is_eos:%d)",
+      gst_flow_get_name (sq->srcresult), GST_PAD_IS_EOS (srcpad));
 
   /* Need to make sure wake up any sleeping pads when we exit */
   GST_MULTI_QUEUE_MUTEX_LOCK (mq);
@@ -2346,7 +2452,7 @@ done:
 
 out_flushing:
   {
-    if (object && !GST_IS_QUERY (object))
+    if (object && !is_query)
       gst_mini_object_unref (object);
 
     GST_MULTI_QUEUE_MUTEX_LOCK (mq);
@@ -2373,9 +2479,8 @@ out_flushing:
     single_queue_underrun_cb (sq->queue, sq);
     gst_data_queue_set_flushing (sq->queue, TRUE);
     gst_pad_pause_task (srcpad);
-    GST_CAT_LOG_OBJECT (multi_queue_debug, mq,
-        "SingleQueue[%d] task paused, reason:%s",
-        sq->id, gst_flow_get_name (sq->srcresult));
+    GST_LOG_ID (sq->debug_id,
+        "task paused, reason:%s", gst_flow_get_name (sq->srcresult));
     goto done;
   }
 }
@@ -2400,7 +2505,7 @@ gst_multi_queue_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   mq = g_weak_ref_get (&sq->mqueue);
 
   if (!mq)
-    goto flushing;
+    goto done;
 
   /* if eos, we are always full, so avoid hanging incoming indefinitely */
   if (sq->is_eos)
@@ -2414,10 +2519,10 @@ gst_multi_queue_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   timestamp = GST_BUFFER_DTS_OR_PTS (buffer);
   duration = GST_BUFFER_DURATION (buffer);
 
-  GST_LOG_OBJECT (mq,
-      "SingleQueue %d : about to enqueue buffer %p with id %d (pts:%"
+  GST_LOG_ID (sq->debug_id,
+      "About to enqueue buffer %p with id %d (pts:%"
       GST_TIME_FORMAT " dts:%" GST_TIME_FORMAT " dur:%" GST_TIME_FORMAT ")",
-      sq->id, buffer, curid, GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
+      buffer, curid, GST_TIME_ARGS (GST_BUFFER_PTS (buffer)),
       GST_TIME_ARGS (GST_BUFFER_DTS (buffer)), GST_TIME_ARGS (duration));
 
   item = gst_multi_queue_buffer_item_new (GST_MINI_OBJECT_CAST (buffer), curid);
@@ -2436,9 +2541,9 @@ gst_multi_queue_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
     dval = my_segment_to_running_time (&sq->sink_segment, val);
     if (GST_CLOCK_STIME_IS_VALID (dval)) {
       sq->cached_sinktime = dval;
-      GST_DEBUG_OBJECT (mq,
-          "Queue %d cached sink time now %" G_GINT64_FORMAT " %"
-          GST_STIME_FORMAT, sq->id, sq->cached_sinktime,
+      GST_DEBUG_ID (sq->debug_id,
+          "Cached sink time now %" G_GINT64_FORMAT " %"
+          GST_STIME_FORMAT, sq->cached_sinktime,
           GST_STIME_ARGS (sq->cached_sinktime));
       calculate_interleave (mq, sq);
     }
@@ -2459,8 +2564,8 @@ done:
   /* ERRORS */
 flushing:
   {
-    GST_LOG_OBJECT (mq, "SingleQueue %d : exit because task paused, reason: %s",
-        sq->id, gst_flow_get_name (sq->srcresult));
+    GST_LOG_ID (sq->debug_id, "exit because task paused, reason: %s",
+        gst_flow_get_name (sq->srcresult));
     if (item)
       gst_multi_queue_item_destroy (item);
     goto done;
@@ -2561,11 +2666,20 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
   switch (type) {
     case GST_EVENT_STREAM_START:
     {
+      guint32 group_id;
+      if (gst_event_parse_group_id (event, &group_id)) {
+        if (sq->sink_stream_gid == GST_GROUP_ID_INVALID) {
+          sq->sink_stream_gid = group_id;
+        } else if (group_id != sq->sink_stream_gid) {
+          sq->sink_stream_gid = group_id;
+          sq->sink_stream_gid_changed = TRUE;
+        }
+      }
       if (mq->sync_by_running_time) {
         GstStreamFlags stream_flags;
         gst_event_parse_stream_flags (event, &stream_flags);
         if ((stream_flags & GST_STREAM_FLAG_SPARSE)) {
-          GST_INFO_OBJECT (mq, "SingleQueue %d is a sparse stream", sq->id);
+          GST_INFO_ID (sq->debug_id, "Stream is sparse");
           sq->is_sparse = TRUE;
         }
       }
@@ -2577,8 +2691,7 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
       break;
     }
     case GST_EVENT_FLUSH_START:
-      GST_DEBUG_OBJECT (mq, "SingleQueue %d : received flush start event",
-          sq->id);
+      GST_DEBUG_ID (sq->debug_id, "Received flush start event");
 
       res = gst_pad_push_event (srcpad, event);
 
@@ -2587,8 +2700,7 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
       goto done;
 
     case GST_EVENT_FLUSH_STOP:
-      GST_DEBUG_OBJECT (mq, "SingleQueue %d : received flush stop event",
-          sq->id);
+      GST_DEBUG_ID (sq->debug_id, "Received flush stop event");
 
       res = gst_pad_push_event (srcpad, event);
 
@@ -2639,9 +2751,9 @@ gst_multi_queue_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
 
   item = gst_multi_queue_mo_item_new ((GstMiniObject *) event, curid);
 
-  GST_DEBUG_OBJECT (mq,
-      "SingleQueue %d : Enqueuing event %p of type %s with id %d",
-      sq->id, event, GST_EVENT_TYPE_NAME (event), curid);
+  GST_DEBUG_ID (sq->debug_id,
+      "Enqueuing event %p of type %s with id %d",
+      event, GST_EVENT_TYPE_NAME (event), curid);
 
   if (!gst_data_queue_push (sq->queue, (GstDataQueueItem *) item))
     goto flushing;
@@ -2702,15 +2814,14 @@ done:
   gst_object_unref (srcpad);
   if (res == FALSE)
     flowret = GST_FLOW_ERROR;
-  GST_DEBUG_OBJECT (mq, "SingleQueue %d : returning %s", sq->id,
-      gst_flow_get_name (flowret));
+  GST_DEBUG_ID (sq->debug_id, "Returning %s", gst_flow_get_name (flowret));
   return flowret;
 
 flushing:
   {
     gst_object_unref (srcpad);
-    GST_LOG_OBJECT (mq, "SingleQueue %d : exit because task paused, reason: %s",
-        sq->id, gst_flow_get_name (sq->srcresult));
+    GST_LOG_ID (sq->debug_id, "Exit because task paused, reason: %s",
+        gst_flow_get_name (sq->srcresult));
     if (sref)
       gst_event_unref (sref);
     gst_multi_queue_item_destroy (item);
@@ -2758,9 +2869,9 @@ gst_multi_queue_sink_query (GstPad * pad, GstObject * parent, GstQuery * query)
 
           item = gst_multi_queue_mo_item_new ((GstMiniObject *) query, curid);
 
-          GST_DEBUG_OBJECT (mq,
-              "SingleQueue %d : Enqueuing query %p of type %s with id %d",
-              sq->id, query, GST_QUERY_TYPE_NAME (query), curid);
+          GST_DEBUG_ID (sq->debug_id,
+              "Enqueuing query %p of type %s with id %d",
+              query, GST_QUERY_TYPE_NAME (query), curid);
           GST_MULTI_QUEUE_MUTEX_UNLOCK (mq);
           res = gst_data_queue_push (sq->queue, (GstDataQueueItem *) item);
           GST_MULTI_QUEUE_MUTEX_LOCK (mq);
@@ -2811,12 +2922,12 @@ gst_multi_queue_src_activate_mode (GstPad * pad, GstObject * parent,
   mq = g_weak_ref_get (&sq->mqueue);
 
   if (!mq) {
-    GST_ERROR_OBJECT (pad, "No multique set anymore, can't activate pad");
+    GST_ERROR_OBJECT (pad, "No multiqueue set anymore, can't activate pad");
 
     return FALSE;
   }
 
-  GST_DEBUG_OBJECT (mq, "SingleQueue %d", sq->id);
+  GST_DEBUG_ID (sq->debug_id, "active: %d", active);
 
   switch (mode) {
     case GST_PAD_MODE_PUSH:
@@ -2918,7 +3029,7 @@ wake_up_next_non_linked (GstMultiQueue * mq)
         if (GST_CLOCK_STIME_IS_VALID (sq->next_time) &&
             GST_CLOCK_STIME_IS_VALID (high_time)
             && sq->next_time <= high_time) {
-          GST_LOG_OBJECT (mq, "Waking up singlequeue %d", sq->id);
+          GST_LOG_ID (sq->debug_id, "Waking up singlequeue");
           g_cond_signal (&sq->turn);
         }
       }
@@ -2929,7 +3040,7 @@ wake_up_next_non_linked (GstMultiQueue * mq)
       GstSingleQueue *sq = (GstSingleQueue *) tmp->data;
       if (sq->srcresult == GST_FLOW_NOT_LINKED &&
           sq->nextid != 0 && sq->nextid <= mq->highid) {
-        GST_LOG_OBJECT (mq, "Waking up singlequeue %d", sq->id);
+        GST_LOG_ID (sq->debug_id, "Waking up singlequeue");
         g_cond_signal (&sq->turn);
       }
     }
@@ -2957,17 +3068,17 @@ compute_high_id (GstMultiQueue * mq)
       continue;
     }
 
-    GST_LOG_OBJECT (mq, "inspecting sq:%d , nextid:%d, oldid:%d, srcresult:%s",
-        sq->id, sq->nextid, sq->oldid, gst_flow_get_name (sq->srcresult));
+    GST_LOG_ID (sq->debug_id, "nextid:%d, oldid:%d, srcresult:%s",
+        sq->nextid, sq->oldid, gst_flow_get_name (sq->srcresult));
 
-    if (sq->srcresult == GST_FLOW_NOT_LINKED) {
-      /* No need to consider queues which are not waiting */
-      if (sq->nextid == 0) {
-        GST_LOG_OBJECT (mq, "sq:%d is not waiting - ignoring", sq->id);
-        gst_object_unref (srcpad);
-        continue;
-      }
+    /* No need to consider queues which are not waiting */
+    if (sq->nextid == 0) {
+      GST_LOG_ID (sq->debug_id, "not waiting - ignoring");
+      gst_object_unref (srcpad);
+      continue;
+    }
 
+    if (sq->srcresult == GST_FLOW_NOT_LINKED) {
       if (sq->nextid < lowest)
         lowest = sq->nextid;
     } else if (!GST_PAD_IS_EOS (srcpad) && sq->srcresult != GST_FLOW_EOS) {
@@ -3020,9 +3131,9 @@ compute_high_time (GstMultiQueue * mq, guint groupid)
       continue;
     }
 
-    GST_LOG_OBJECT (mq,
-        "inspecting sq:%d (group:%d) , next_time:%" GST_STIME_FORMAT
-        ", last_time:%" GST_STIME_FORMAT ", srcresult:%s", sq->id, sq->groupid,
+    GST_LOG_ID (sq->debug_id,
+        "inspecting (group:%d) , next_time:%" GST_STIME_FORMAT
+        ", last_time:%" GST_STIME_FORMAT ", srcresult:%s", sq->groupid,
         GST_STIME_ARGS (sq->next_time), GST_STIME_ARGS (sq->last_time),
         gst_flow_get_name (sq->srcresult));
 
@@ -3032,7 +3143,7 @@ compute_high_time (GstMultiQueue * mq, guint groupid)
     if (sq->srcresult == GST_FLOW_NOT_LINKED) {
       /* No need to consider queues which are not waiting */
       if (!GST_CLOCK_STIME_IS_VALID (sq->next_time)) {
-        GST_LOG_OBJECT (mq, "sq:%d is not waiting - ignoring", sq->id);
+        GST_LOG_ID (sq->debug_id, "Not waiting - ignoring");
         gst_object_unref (srcpad);
         continue;
       }
@@ -3115,9 +3226,9 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
 
   gst_data_queue_get_level (sq->queue, &size);
 
-  GST_LOG_OBJECT (mq,
-      "Single Queue %d: EOS %d, visible %u/%u, bytes %u/%u, time %"
-      G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT, sq->id, sq->is_eos, size.visible,
+  GST_LOG_ID (sq->debug_id,
+      "EOS %d, visible %u/%u, bytes %u/%u, time %"
+      G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT, sq->is_eos, size.visible,
       sq->max_size.visible, size.bytes, sq->max_size.bytes, sq->cur_time,
       sq->max_size.time);
 
@@ -3138,13 +3249,13 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
       continue;
 
     if (oq->srcresult == GST_FLOW_NOT_LINKED) {
-      GST_LOG_OBJECT (mq, "Queue %d is not-linked", oq->id);
+      GST_LOG_ID (sq->debug_id, "Queue is not-linked");
       continue;
     }
 
-    GST_LOG_OBJECT (mq, "Checking Queue %d", oq->id);
+    GST_LOG_ID (oq->debug_id, "Checking queue");
     if (gst_data_queue_is_empty (oq->queue) && !oq->is_sparse) {
-      GST_LOG_OBJECT (mq, "Queue %d is empty", oq->id);
+      GST_LOG_ID (oq->debug_id, "Queue is empty");
       empty_found = TRUE;
       break;
     }
@@ -3155,9 +3266,8 @@ single_queue_overrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
   if (empty_found) {
     if (IS_FILLED (sq, visible, size.visible)) {
       sq->max_size.visible = size.visible + 1;
-      GST_DEBUG_OBJECT (mq,
-          "Bumping single queue %d max visible to %d",
-          sq->id, sq->max_size.visible);
+      GST_DEBUG_ID (sq->debug_id,
+          "Bumping max visible to %d", sq->max_size.visible);
       filled = FALSE;
     }
   }
@@ -3168,7 +3278,7 @@ done:
 
   /* Overrun is always forwarded, since this is blocking the upstream element */
   if (filled) {
-    GST_DEBUG_OBJECT (mq, "Queue %d is filled, signalling overrun", sq->id);
+    GST_DEBUG_ID (sq->debug_id, "Queue is filled, signalling overrun");
     g_signal_emit (mq, gst_multi_queue_signals[SIGNAL_OVERRUN], 0);
   }
 }
@@ -3187,12 +3297,12 @@ single_queue_underrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
   }
 
   if (sq->srcresult == GST_FLOW_NOT_LINKED) {
-    GST_LOG_OBJECT (mq, "Single Queue %d is empty but not-linked", sq->id);
+    GST_LOG_ID (sq->debug_id, "Single Queue is empty but not-linked");
     gst_object_unref (mq);
     return;
   } else {
-    GST_LOG_OBJECT (mq,
-        "Single Queue %d is empty, Checking other single queues", sq->id);
+    GST_LOG_ID (sq->debug_id,
+        "Single Queue is empty, Checking other single queues");
   }
 
   GST_MULTI_QUEUE_MUTEX_LOCK (mq);
@@ -3205,8 +3315,8 @@ single_queue_underrun_cb (GstDataQueue * dq, GstSingleQueue * sq)
       gst_data_queue_get_level (oq->queue, &size);
       if (IS_FILLED (oq, visible, size.visible)) {
         oq->max_size.visible = size.visible + 1;
-        GST_DEBUG_OBJECT (mq,
-            "queue %d is filled, bumping its max visible to %d", oq->id,
+        GST_DEBUG_ID (oq->debug_id,
+            "queue is filled, bumping its max visible to %d",
             oq->max_size.visible);
         gst_data_queue_limits_changed (oq->queue);
       }
@@ -3236,9 +3346,9 @@ single_queue_check_full (GstDataQueue * dataq, guint visible, guint bytes,
     return TRUE;
   }
 
-  GST_DEBUG_OBJECT (mq,
-      "queue %d: visible %u/%u, bytes %u/%u, time %" G_GUINT64_FORMAT "/%"
-      G_GUINT64_FORMAT, sq->id, visible, sq->max_size.visible, bytes,
+  GST_DEBUG_ID (sq->debug_id,
+      "visible %u/%u, bytes %u/%u, time %" G_GUINT64_FORMAT "/%"
+      G_GUINT64_FORMAT, visible, sq->max_size.visible, bytes,
       sq->max_size.bytes, sq->cur_time, sq->max_size.time);
 
   /* we are always filled on EOS */
@@ -3335,6 +3445,9 @@ gst_single_queue_unref (GstSingleQueue * sq)
     g_weak_ref_clear (&sq->sinkpad);
     g_weak_ref_clear (&sq->srcpad);
     g_weak_ref_clear (&sq->mqueue);
+#ifndef GST_DISABLE_GST_DEBUG
+    g_free (sq->debug_id);
+#endif
     g_free (sq);
   }
 }
@@ -3379,10 +3492,14 @@ gst_single_queue_new (GstMultiQueue * mqueue, guint id)
   }
 
   sq = g_new0 (GstSingleQueue, 1);
-  sq->refcount = 1;
+  g_atomic_int_set (&sq->refcount, 1);
 
   mqueue->nbqueues++;
   sq->id = temp_id;
+#ifndef GST_DISABLE_GST_DEBUG
+  sq->debug_id =
+      g_strdup_printf ("%s:queue_%d", GST_OBJECT_NAME (mqueue), temp_id);
+#endif
   sq->groupid = DEFAULT_PAD_GROUP_ID;
   sq->group_high_time = GST_CLOCK_STIME_NONE;
 
@@ -3427,6 +3544,10 @@ gst_single_queue_new (GstMultiQueue * mqueue, guint id)
   sq->sink_tainted = TRUE;
   sq->src_tainted = TRUE;
 
+  sq->sink_stream_gid = sq->src_stream_gid = GST_GROUP_ID_INVALID;
+  sq->sink_stream_gid_changed = FALSE;
+  sq->src_stream_gid_changed = FALSE;
+
   name = g_strdup_printf ("sink_%u", sq->id);
   templ = gst_static_pad_template_get (&sinktemplate);
   sinkpad = g_object_new (GST_TYPE_MULTIQUEUE_PAD, "name", name,
@@ -3486,8 +3607,7 @@ gst_single_queue_new (GstMultiQueue * mqueue, guint id)
   }
   g_rec_mutex_unlock (GST_STATE_GET_LOCK (mqueue));
 
-  GST_DEBUG_OBJECT (mqueue, "GstSingleQueue [%d] created and pads added",
-      sq->id);
+  GST_DEBUG_ID (sq->debug_id, "GstSingleQueue created and pads added");
 
   return sq;
 }
diff --git a/plugins/elements/gstmultiqueue.h b/plugins/elements/gstmultiqueue.h
index 524fcf9..53ceacb 100644
--- a/plugins/elements/gstmultiqueue.h
+++ b/plugins/elements/gstmultiqueue.h
@@ -78,6 +78,8 @@ struct _GstMultiQueue {
 			/* queues lock). Protects nbqueues, queues, global */
 			/* GstMultiQueueSize, counter and highid */
 
+  GMutex   reconf_lock;	/* Reconfiguration lock, held during request/release pads */
+
   gint numwaiting;	/* number of not-linked pads waiting */
 
   gboolean buffering_percent_changed;
@@ -85,6 +87,7 @@ struct _GstMultiQueue {
 
   GstClockTime interleave;	/* Input interleave */
   GstClockTimeDiff last_interleave_update;
+  gboolean interleave_incomplete; /* TRUE if not all streams were active */
 
   GstClockTime unlinked_cache_time;
 };
diff --git a/plugins/elements/gstoutputselector.c b/plugins/elements/gstoutputselector.c
index d3270a6..1a1a3fb 100644
--- a/plugins/elements/gstoutputselector.c
+++ b/plugins/elements/gstoutputselector.c
@@ -32,6 +32,7 @@
 #include <string.h>
 
 #include "gstoutputselector.h"
+#include "gstcoreelementselements.h"
 
 GST_DEBUG_CATEGORY_STATIC (output_selector_debug);
 #define GST_CAT_DEFAULT output_selector_debug
@@ -85,6 +86,8 @@ GST_DEBUG_CATEGORY_INIT (output_selector_debug, \
 #define gst_output_selector_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstOutputSelector, gst_output_selector,
     GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (output_selector, "output-selector", GST_RANK_NONE,
+    GST_TYPE_OUTPUT_SELECTOR);
 
 static void gst_output_selector_dispose (GObject * object);
 static void gst_output_selector_set_property (GObject * object,
diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c
index 9726762..6955d63 100644
--- a/plugins/elements/gstqueue.c
+++ b/plugins/elements/gstqueue.c
@@ -60,8 +60,9 @@
 
 #include <gst/gst.h>
 #include "gstqueue.h"
+#include "gstcoreelementselements.h"
 
-#include "../../gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "../../gst/glib-compat-private.h"
 
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
@@ -187,6 +188,7 @@ enum
         "dataflow inside the queue element");
 #define gst_queue_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstQueue, gst_queue, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (queue, "queue", GST_RANK_NONE, GST_TYPE_QUEUE);
 
 static void gst_queue_finalize (GObject * object);
 static void gst_queue_set_property (GObject * object,
diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c
index cb230b3..d50435c 100644
--- a/plugins/elements/gstqueue2.c
+++ b/plugins/elements/gstqueue2.c
@@ -62,10 +62,11 @@
 #endif
 
 #include "gstqueue2.h"
+#include "gstcoreelementselements.h"
 
 #include <glib/gstdio.h>
 
-#include "gst/gst-i18n-lib.h"
+#include <glib/gi18n-lib.h>
 #include "gst/glib-compat-private.h"
 
 #include <string.h>
@@ -217,6 +218,9 @@ static GParamSpec *obj_props[PROP_LAST] = { NULL, };
 } G_STMT_END
 
 #define GST_QUEUE2_WAIT_DEL_CHECK(q, res, label) G_STMT_START {         \
+  if (res != GST_FLOW_OK) {                                             \
+    goto label;                                                         \
+  }                                                                     \
   STATUS (queue, q->sinkpad, "wait for DEL");                           \
   q->waiting_del = TRUE;                                                \
   g_cond_wait (&q->item_del, &queue->qlock);                              \
@@ -229,6 +233,9 @@ static GParamSpec *obj_props[PROP_LAST] = { NULL, };
 } G_STMT_END
 
 #define GST_QUEUE2_WAIT_ADD_CHECK(q, res, label) G_STMT_START {         \
+  if (res != GST_FLOW_OK) {                                             \
+    goto label;                                                         \
+  }                                                                     \
   STATUS (queue, q->srcpad, "wait for ADD");                            \
   q->waiting_add = TRUE;                                                \
   g_cond_wait (&q->item_add, &q->qlock);                                  \
@@ -270,6 +277,7 @@ static GParamSpec *obj_props[PROP_LAST] = { NULL, };
         "dataflow inside the queue element");
 #define gst_queue2_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstQueue2, gst_queue2, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (queue2, "queue2", GST_RANK_NONE, GST_TYPE_QUEUE2);
 
 static void gst_queue2_finalize (GObject * object);
 
@@ -2667,12 +2675,14 @@ gst_queue2_handle_sink_event (GstPad * pad, GstObject * parent,
 
         /* STREAM_START and SEGMENT reset the EOS status of a
          * pad. Change the cached sinkpad flow result accordingly */
+        GST_QUEUE2_MUTEX_LOCK (queue);
         if (queue->sinkresult == GST_FLOW_EOS
             && (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_START
                 || GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT))
           queue->sinkresult = GST_FLOW_OK;
+        else if (queue->sinkresult != GST_FLOW_OK)
+          goto out_flushing;
 
-        GST_QUEUE2_MUTEX_LOCK_CHECK (queue, queue->sinkresult, out_flushing);
         if (queue->srcresult != GST_FLOW_OK) {
           /* Errors in sticky event pushing are no problem and ignored here
            * as they will cause more meaningful errors during data flow.
@@ -2783,10 +2793,14 @@ gst_queue2_handle_sink_query (GstPad * pad, GstObject * parent,
          * be pushed for sure) or we are not buffering. If we are buffering,
          * the pipeline waits to unblock downstream until our queue fills up
          * completely, which can not happen if we block on the query..
-         * Therefore we only potentially block when we are not buffering. */
+         * Therefore we only potentially block when we are not buffering.
+         *
+         * Update: Edward Hervey 2021: Realistically when posting buffering
+         * messages there are no safe places where we can block and forward a
+         * serialized query due to the potential of causing deadlocks. We
+         * therefore refuse any serialized queries in such cases. */
         GST_QUEUE2_MUTEX_LOCK_CHECK (queue, queue->sinkresult, out_flushing);
-        if (QUEUE_IS_USING_QUEUE (queue) && (gst_queue2_is_empty (queue)
-                || !queue->use_buffering)) {
+        if (QUEUE_IS_USING_QUEUE (queue) && !queue->use_buffering) {
           if (!g_atomic_int_get (&queue->downstream_may_block)) {
             gst_queue2_locked_enqueue (queue, query,
                 GST_QUEUE2_ITEM_TYPE_QUERY);
@@ -2805,7 +2819,7 @@ gst_queue2_handle_sink_query (GstPad * pad, GstObject * parent,
           }
         } else {
           GST_DEBUG_OBJECT (queue,
-              "refusing query, we are not using the queue");
+              "refusing query, we are not using the queue or we are posting buffering messages");
           res = FALSE;
         }
         GST_QUEUE2_MUTEX_UNLOCK (queue);
diff --git a/plugins/elements/gstqueue2.h b/plugins/elements/gstqueue2.h
index e71ec3f..5e8fa9a 100644
--- a/plugins/elements/gstqueue2.h
+++ b/plugins/elements/gstqueue2.h
@@ -164,7 +164,7 @@ struct _GstQueue2
   guint64 ring_buffer_max_size;
   guint8 * ring_buffer;
 
-  volatile gint downstream_may_block;
+  gint downstream_may_block;
 
   GstBufferingMode mode;
   gint64 buffering_left;
diff --git a/plugins/elements/gstsparsefile.c b/plugins/elements/gstsparsefile.c
index a88344a..201f84a 100644
--- a/plugins/elements/gstsparsefile.c
+++ b/plugins/elements/gstsparsefile.c
@@ -28,8 +28,8 @@
 
 #ifdef G_OS_WIN32
 #include <io.h>                 /* lseek, open, close, read */
-#undef lseek
-#define lseek _lseeki64
+#undef fseek
+#define fseek _fseeki64
 #undef off_t
 #define off_t guint64
 #else
@@ -38,7 +38,7 @@
 
 #ifdef HAVE_FSEEKO
 #define FSEEK_FILE(file,offset)  (fseeko (file, (off_t) offset, SEEK_SET) != 0)
-#elif defined (G_OS_UNIX) || defined (G_OS_WIN32)
+#elif defined (G_OS_UNIX)
 #define FSEEK_FILE(file,offset)  (lseek (fileno (file), (off_t) offset, SEEK_SET) == (off_t) -1)
 #else
 #define FSEEK_FILE(file,offset)  (fseek (file, offset, SEEK_SET) != 0)
@@ -67,6 +67,7 @@ struct _GstSparseFile
   gint fd;
   FILE *file;
   gsize current_pos;
+  gboolean was_writing;
 
   GstSparseRange *ranges;
   guint n_ranges;
@@ -195,6 +196,7 @@ gst_sparse_file_clear (GstSparseFile * file)
   file->current_pos = 0;
   file->ranges = NULL;
   file->n_ranges = 0;
+  file->was_writing = FALSE;
 }
 
 /**
@@ -251,7 +253,10 @@ gst_sparse_file_write (GstSparseFile * file, gsize offset, gconstpointer data,
       GST_DEBUG ("seeking to %" G_GSIZE_FORMAT, offset);
       if (FSEEK_FILE (file->file, offset))
         goto error;
+    } else if (!file->was_writing) {
+      fflush (file->file);
     }
+    file->was_writing = TRUE;
     if (fwrite (data, count, 1, file->file) != 1)
       goto error;
   }
@@ -337,7 +342,10 @@ gst_sparse_file_read (GstSparseFile * file, gsize offset, gpointer data,
           file->current_pos, offset);
       if (FSEEK_FILE (file->file, offset))
         goto error;
+    } else if (file->was_writing) {
+      fflush (file->file);
     }
+    file->was_writing = FALSE;
     res = fread (data, 1, count, file->file);
     if (G_UNLIKELY (res < count))
       goto error;
diff --git a/plugins/elements/gststreamiddemux.c b/plugins/elements/gststreamiddemux.c
index f0b1dd2..fdc5636 100644
--- a/plugins/elements/gststreamiddemux.c
+++ b/plugins/elements/gststreamiddemux.c
@@ -47,6 +47,7 @@
 #include <string.h>
 
 #include "gststreamiddemux.h"
+#include "gstcoreelementselements.h"
 
 GST_DEBUG_CATEGORY_STATIC (streamid_demux_debug);
 #define GST_CAT_DEFAULT streamid_demux_debug
@@ -76,6 +77,8 @@ GST_DEBUG_CATEGORY_INIT (streamid_demux_debug, \
 #define gst_streamid_demux_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstStreamidDemux, gst_streamid_demux,
     GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (streamiddemux, "streamiddemux", GST_RANK_PRIMARY,
+    GST_TYPE_STREAMID_DEMUX);
 
 static void gst_streamid_demux_dispose (GObject * object);
 static void gst_streamid_demux_get_property (GObject * object, guint prop_id,
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index ab5183e..dd90c38 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -50,6 +50,7 @@
 #endif
 
 #include "gsttee.h"
+#include "gstcoreelementselements.h"
 #include "gst/glib-compat-private.h"
 
 #include <string.h>
@@ -109,6 +110,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src_%u",
     GST_DEBUG_CATEGORY_INIT (gst_tee_debug, "tee", 0, "tee element");
 #define gst_tee_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstTee, gst_tee, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (tee, "tee", GST_RANK_NONE, GST_TYPE_TEE);
 
 static GParamSpec *pspec_last_message = NULL;
 static GParamSpec *pspec_alloc_pad = NULL;
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c
index 2259bd4..7ba30c3 100644
--- a/plugins/elements/gsttypefindelement.c
+++ b/plugins/elements/gsttypefindelement.c
@@ -73,7 +73,8 @@
 #include "gst/gst_private.h"
 
 #include "gsttypefindelement.h"
-#include "gst/gst-i18n-lib.h"
+#include "gstcoreelementselements.h"
+#include <glib/gi18n-lib.h>
 #include "gst/base/gsttypefindhelper.h"
 
 #include <gst/gsttypefind.h>
@@ -129,6 +130,8 @@ enum
 #define gst_type_find_element_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstTypeFindElement, gst_type_find_element,
     GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (typefind, "typefind", GST_RANK_NONE,
+    GST_TYPE_TYPE_FIND_ELEMENT);
 
 static void gst_type_find_element_dispose (GObject * object);
 static void gst_type_find_element_set_property (GObject * object,
@@ -797,9 +800,10 @@ static gchar *
 gst_type_find_get_extension (GstTypeFindElement * typefind, GstPad * pad)
 {
   GstQuery *query;
-  gchar *uri, *result;
-  size_t len;
-  gint find;
+  gchar *uri, *result, *path, *base_path, *find;
+  GstUri *gst_uri;
+
+  base_path = NULL;
 
   query = gst_query_new_uri ();
 
@@ -811,24 +815,37 @@ gst_type_find_get_extension (GstTypeFindElement * typefind, GstPad * pad)
   if (uri == NULL)
     goto no_uri;
 
+  /* data URIs paths are opaque and do not semantically represent a
+     filesystem-like resource path, so skip URI parsing for this case. */
+  if (g_str_has_prefix (uri, "data:"))
+    goto no_extension;
+
   GST_DEBUG_OBJECT (typefind, "finding extension of %s", uri);
 
-  /* find the extension on the uri, this is everything after a '.' */
-  len = strlen (uri);
-  find = len - 1;
+  gst_uri = gst_uri_from_string (uri);
+  if (gst_uri == NULL)
+    goto invalid_uri;
 
-  while (find >= 0) {
-    if (uri[find] == '.')
-      break;
-    find--;
-  }
-  if (find < 0)
+  path = gst_uri_get_path (gst_uri);
+  gst_uri_unref (gst_uri);
+
+  if (path == NULL)
+    goto invalid_uri;
+
+  base_path = g_path_get_basename (path);
+  g_free (path);
+
+  /* find the extension on the path, this is everything after a '.' */
+  find = strrchr (base_path, '.');
+
+  if (find == NULL)
     goto no_extension;
 
-  result = g_strdup (&uri[find + 1]);
+  result = g_strdup (find + 1);
 
   GST_DEBUG_OBJECT (typefind, "found extension %s", result);
   gst_query_unref (query);
+  g_free (base_path);
   g_free (uri);
 
   return result;
@@ -846,11 +863,19 @@ no_uri:
     gst_query_unref (query);
     return NULL;
   }
+invalid_uri:
+  {
+    GST_INFO_OBJECT (typefind, "failed to extract path from uri %s", uri);
+    g_free (uri);
+    gst_query_unref (query);
+    return NULL;
+  }
 no_extension:
   {
     GST_INFO_OBJECT (typefind, "could not find uri extension in %s", uri);
-    gst_query_unref (query);
+    g_free (base_path);
     g_free (uri);
+    gst_query_unref (query);
     return NULL;
   }
 }
diff --git a/plugins/elements/gstvalve.c b/plugins/elements/gstvalve.c
index 9dbc7a6..bbb3527 100644
--- a/plugins/elements/gstvalve.c
+++ b/plugins/elements/gstvalve.c
@@ -37,12 +37,34 @@
 #endif
 
 #include "gstvalve.h"
+#include "gstcoreelementselements.h"
 
 #include <string.h>
 
 GST_DEBUG_CATEGORY_STATIC (valve_debug);
 #define GST_CAT_DEFAULT (valve_debug)
 
+#define GST_TYPE_VALVE_DROP_MODE (gst_valve_drop_mode_get_type ())
+static GType
+gst_valve_drop_mode_get_type (void)
+{
+  static GType drop_mode_type = 0;
+  static const GEnumValue drop_mode[] = {
+    {GST_VALVE_DROP_MODE_DROP_ALL, "Drop all buffers and events", "drop-all"},
+    {GST_VALVE_DROP_MODE_FORWARD_STICKY_EVENTS,
+        "Drop all buffers but forward sticky events", "forward-sticky-events"},
+    {GST_VALVE_DROP_MODE_TRANSFORM_TO_GAP,
+          "Convert all dropped buffers into gap events and forward sticky events",
+        "transform-to-gap"},
+    {0, NULL, NULL},
+  };
+
+  if (!drop_mode_type) {
+    drop_mode_type = g_enum_register_static ("GstValveDropMode", drop_mode);
+  }
+  return drop_mode_type;
+}
+
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -56,10 +78,12 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
 enum
 {
   PROP_0,
-  PROP_DROP
+  PROP_DROP,
+  PROP_DROP_MODE
 };
 
 #define DEFAULT_DROP FALSE
+#define DEFAULT_DROP_MODE GST_VALVE_DROP_MODE_DROP_ALL
 
 static void gst_valve_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec);
@@ -77,6 +101,7 @@ static gboolean gst_valve_query (GstPad * pad, GstObject * parent,
   GST_DEBUG_CATEGORY_INIT (valve_debug, "valve", 0, "Valve");
 #define gst_valve_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstValve, gst_valve, GST_TYPE_ELEMENT, _do_init);
+GST_ELEMENT_REGISTER_DEFINE (valve, "valve", GST_RANK_NONE, GST_TYPE_VALVE);
 
 static void
 gst_valve_class_init (GstValveClass * klass)
@@ -96,18 +121,35 @@ gst_valve_class_init (GstValveClass * klass)
           DEFAULT_DROP, G_PARAM_READWRITE | GST_PARAM_MUTABLE_PLAYING |
           G_PARAM_STATIC_STRINGS));
 
+  /**
+   * GstValve:drop-mode
+   *
+   * Drop mode to use. By default all buffers and events are dropped.
+   *
+   * Since: 1.20
+   */
+  g_object_class_install_property (gobject_class, PROP_DROP_MODE,
+      g_param_spec_enum ("drop-mode", "Drop mode",
+          "The drop mode to use", GST_TYPE_VALVE_DROP_MODE,
+          DEFAULT_DROP_MODE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+          GST_PARAM_MUTABLE_READY));
+
   gst_element_class_add_static_pad_template (gstelement_class, &srctemplate);
   gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate);
 
   gst_element_class_set_static_metadata (gstelement_class, "Valve element",
       "Filter", "Drops buffers and events or lets them through",
       "Olivier Crete <olivier.crete@collabora.co.uk>");
+
+  gst_type_mark_as_plugin_api (GST_TYPE_VALVE_DROP_MODE, 0);
 }
 
 static void
 gst_valve_init (GstValve * valve)
 {
   valve->drop = FALSE;
+  valve->drop_mode = DEFAULT_DROP;
   valve->discont = FALSE;
 
   valve->srcpad = gst_pad_new_from_static_template (&srctemplate, "src");
@@ -140,6 +182,9 @@ gst_valve_set_property (GObject * object,
       g_atomic_int_set (&valve->drop, g_value_get_boolean (value));
       gst_pad_push_event (valve->sinkpad, gst_event_new_reconfigure ());
       break;
+    case PROP_DROP_MODE:
+      valve->drop_mode = g_value_get_enum (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -156,6 +201,9 @@ gst_valve_get_property (GObject * object,
     case PROP_DROP:
       g_value_set_boolean (value, g_atomic_int_get (&valve->drop));
       break;
+    case PROP_DROP_MODE:
+      g_value_set_enum (value, valve->drop_mode);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -188,6 +236,11 @@ gst_valve_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   GstFlowReturn ret = GST_FLOW_OK;
 
   if (g_atomic_int_get (&valve->drop)) {
+    if (valve->drop_mode == GST_VALVE_DROP_MODE_TRANSFORM_TO_GAP) {
+      GstEvent *ev = gst_event_new_gap (GST_BUFFER_PTS (buffer),
+          GST_BUFFER_DURATION (buffer));
+      gst_pad_push_event (valve->srcpad, ev);
+    }
     gst_buffer_unref (buffer);
     valve->discont = TRUE;
   } else {
@@ -213,17 +266,39 @@ gst_valve_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
   return ret;
 }
 
+static inline gboolean
+gst_valve_event_needs_dropping (GstValve * valve, GstEvent * event)
+{
+  if (!g_atomic_int_get (&valve->drop))
+    return FALSE;
+
+  switch (valve->drop_mode) {
+    case GST_VALVE_DROP_MODE_DROP_ALL:
+      return TRUE;
+    case GST_VALVE_DROP_MODE_FORWARD_STICKY_EVENTS:
+      return !GST_EVENT_IS_STICKY (event);
+    case GST_VALVE_DROP_MODE_TRANSFORM_TO_GAP:
+      return (!GST_EVENT_IS_STICKY (event) &&
+          GST_EVENT_TYPE (event) != GST_EVENT_GAP);
+    default:
+      g_assert_not_reached ();
+      break;
+  }
+
+  return FALSE;
+}
 
 static gboolean
 gst_valve_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
-  GstValve *valve;
+  GstValve *valve = GST_VALVE (parent);
+  gboolean needs_dropping = gst_valve_event_needs_dropping (valve, event);
   gboolean is_sticky = GST_EVENT_IS_STICKY (event);
   gboolean ret = TRUE;
 
   valve = GST_VALVE (parent);
 
-  if (g_atomic_int_get (&valve->drop)) {
+  if (needs_dropping) {
     valve->need_repush_sticky |= is_sticky;
     gst_event_unref (event);
   } else {
@@ -233,10 +308,11 @@ gst_valve_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
   }
 
   /* Ignore errors if "drop" was changed while the thread was blocked
-   * downwards.
+   * downwards, or if we're dropping but forwarding sticky events nonetheless.
    */
   if (g_atomic_int_get (&valve->drop)) {
-    valve->need_repush_sticky |= is_sticky;
+    if (valve->drop_mode == GST_VALVE_DROP_MODE_DROP_ALL)
+      valve->need_repush_sticky |= is_sticky;
     ret = TRUE;
   }
 
diff --git a/plugins/elements/gstvalve.h b/plugins/elements/gstvalve.h
index eb3c29e..34f48f4 100644
--- a/plugins/elements/gstvalve.h
+++ b/plugins/elements/gstvalve.h
@@ -44,6 +44,23 @@ G_BEGIN_DECLS
 typedef struct _GstValve GstValve;
 typedef struct _GstValveClass GstValveClass;
 
+/**
+ * GstValveDropMode:
+ * @GST_VALVE_DROP_MODE_DROP_ALL: Drop all buffers, buffer lists and events.
+ * @GST_VALVE_DROP_MODE_FORWARD_STICKY_EVENTS: Drop all buffers, buffer lists
+ *     and non-sticky events but forward sticky events.
+ * @GST_VALVE_DROP_MODE_TRANSFORM_TO_GAP: Drop all buffers, buffer lists and
+ *     non-sticky events but forward sticky events and forward GAP events for each
+ *     dropped buffer.
+ *
+ * Since: 1.20
+ */
+typedef enum {
+  GST_VALVE_DROP_MODE_DROP_ALL,
+  GST_VALVE_DROP_MODE_FORWARD_STICKY_EVENTS,
+  GST_VALVE_DROP_MODE_TRANSFORM_TO_GAP,
+} GstValveDropMode;
+
 /**
  * GstValve:
  *
@@ -55,7 +72,9 @@ struct _GstValve
   GstElement parent;
 
   /* atomic boolean */
-  volatile gint drop;
+  gint drop;
+
+  GstValveDropMode drop_mode;
 
   /* Protected by the stream lock */
   gboolean discont;
diff --git a/plugins/elements/meson.build b/plugins/elements/meson.build
index c1d91d2..998fb9a 100644
--- a/plugins/elements/meson.build
+++ b/plugins/elements/meson.build
@@ -4,7 +4,7 @@ gst_elements_sources = [
   'gstconcat.c',
   'gstdataurisrc.c',
   'gstdownloadbuffer.c',
-  'gstelements.c',
+  'gstcoreelementsplugin.c',
   'gstelements_private.c',
   'gstfakesink.c',
   'gstfakesrc.c',
@@ -30,10 +30,9 @@ gst_elements = library('gstcoreelements',
   gst_elements_sources,
   c_args : gst_c_args,
   include_directories : [configinc],
-  dependencies : [gobject_dep, glib_dep, gst_dep, gst_base_dep],
+  dependencies : [gst_dep, gst_base_dep],
   install : true,
   install_dir : plugins_install_dir,
 )
-pkgconfig.generate(gst_elements, install_dir : plugins_pkgconfig_install_dir)
 
 plugins += [gst_elements]
diff --git a/plugins/tracers/gstfactories.c b/plugins/tracers/gstfactories.c
new file mode 100644
index 0000000..54ad917
--- /dev/null
+++ b/plugins/tracers/gstfactories.c
@@ -0,0 +1,187 @@
+/* GStreamer
+ * Copyright (C) 2021 Collabora Ltd.
+ *  @author: Olivier Crete <olivier.crete@collabora.com>
+ *
+ * gstfactories.c: A trace to log which plugin & factories are being used
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/**
+ * SECTION:tracer-factories
+ * @short_description: log plugin and factories
+ *
+ * A tracing module that logs which plugins and factories are being used.
+ *
+ * This tracing module is particularly useful in conjuction with the `gst-stats`
+ * program to generate a list of plugins and elements that are loaded by a
+ * particular application to generate a minimal custom build of GStreamer.
+ *
+ * As a very simple example, you can run your application like this:
+ * ```
+ * $ GST_TRACERS=factories GST_DEBUG=GST_TRACER:7 gst-launch-1.0 audiotestsrc num-buffers=10 ! fakesink 2> log.txt
+ * ...
+ * $ gst-stats-1.0 log.txt
+ * Plugins used: audiotestsrc;coreelements
+ * Elements: audiotestsrc:audiotestsrc;coreelements:fakesink
+ * Device-providers:
+ * Typefinds:
+ * Dynamic-types:
+ * ```
+ *
+ * Based on this information, one can build a minimal, yet sufficient
+ * build of GStreamer with a configuration like this one:
+ * ```
+ * meson setup builddir -Dgst-full-elements="audiotestsrc:audiotestsrc;coreelements:fakesink"
+ * ```
+ *
+ * Since: 1.20
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include "gstfactories.h"
+
+G_DEFINE_TYPE (GstFactoriesTracer, gst_factories_tracer, GST_TYPE_TRACER);
+
+static GstTracerRecord *tr_factory_used;
+
+static void
+do_element_new (GstFactoriesTracer * self, GstClockTime ts,
+    GstElement * element)
+{
+  const gchar *plugin_name;
+  const gchar *factory_name;
+  GstPluginFeature *feature;
+  GstElementFactory *factory = gst_element_get_factory (element);
+  const gchar *source_module_name = "Unknown";
+  GstPlugin *plugin;
+
+  if (factory == NULL)
+    return;
+
+  feature = GST_PLUGIN_FEATURE (factory);
+
+  factory_name = gst_plugin_feature_get_name (feature);
+  plugin_name = gst_plugin_feature_get_plugin_name (feature);
+
+  if (factory_name == NULL)
+    factory_name = "";
+  if (plugin_name == NULL)
+    plugin_name = "";
+
+  plugin = gst_plugin_feature_get_plugin (feature);
+  if (plugin)
+    source_module_name = gst_plugin_get_source (plugin);
+
+  gst_tracer_record_log (tr_factory_used,
+      (guint64) (guintptr) g_thread_self (), ts, "element", factory_name,
+      plugin_name, source_module_name);
+
+  g_clear_object (&plugin);
+}
+
+static void
+do_plugin_feature_loaded (GstFactoriesTracer * self, GstClockTime ts,
+    GstPluginFeature * feature)
+{
+  const gchar *plugin_name;
+  const gchar *factory_name;
+  const gchar *factory_type;
+  const gchar *source_module_name = "Unknown";
+  GstPlugin *plugin;
+
+  /* Only care about elements when one is created */
+  if (GST_IS_ELEMENT_FACTORY (feature))
+    return;
+
+  if (GST_IS_TYPE_FIND_FACTORY (feature))
+    factory_type = "typefind";
+  else if (GST_IS_DEVICE_PROVIDER_FACTORY (feature))
+    factory_type = "device-provider";
+  else if (GST_IS_DYNAMIC_TYPE_FACTORY (feature))
+    factory_type = "dynamic-type";
+  else
+    g_assert_not_reached ();
+
+  factory_name = gst_plugin_feature_get_name (feature);
+  plugin_name = gst_plugin_feature_get_plugin_name (feature);
+
+  if (factory_name == NULL)
+    factory_name = "";
+  if (plugin_name == NULL)
+    plugin_name = "";
+
+  plugin = gst_plugin_feature_get_plugin (feature);
+  if (plugin)
+    source_module_name = gst_plugin_get_source (plugin);
+  if (source_module_name == NULL)
+    source_module_name = "";
+
+  gst_tracer_record_log (tr_factory_used,
+      (guint64) (guintptr) g_thread_self (), ts, factory_type, factory_name,
+      plugin_name, source_module_name);
+
+  g_clear_object (&plugin);
+}
+
+static void
+gst_factories_tracer_class_init (GstFactoriesTracerClass * klass)
+{
+  /* announce trace formats */
+  /* *INDENT-OFF* */
+  tr_factory_used = gst_tracer_record_new ("factory-used.class",
+      "thread-id", GST_TYPE_STRUCTURE, gst_structure_new ("scope",
+          "type", G_TYPE_GTYPE, G_TYPE_UINT64,
+          "related-to", GST_TYPE_TRACER_VALUE_SCOPE, GST_TRACER_VALUE_SCOPE_THREAD,
+          NULL),
+      "ts", GST_TYPE_STRUCTURE, gst_structure_new ("value",
+          "type", G_TYPE_GTYPE, G_TYPE_UINT64,
+          "description", G_TYPE_STRING, "event ts",
+          NULL),
+      "factory-type", GST_TYPE_STRUCTURE, gst_structure_new ("value",
+          "type", G_TYPE_GTYPE, G_TYPE_STRING,
+          "description", G_TYPE_STRING, "type name of the factory",
+          NULL),
+      "factory", GST_TYPE_STRUCTURE, gst_structure_new ("value",
+          "type", G_TYPE_GTYPE, G_TYPE_STRING,
+          "description", G_TYPE_STRING, "name of the object factory",
+          NULL),
+      "plugin", GST_TYPE_STRUCTURE, gst_structure_new ("value",
+          "type", G_TYPE_GTYPE, G_TYPE_STRING,
+          "description", G_TYPE_STRING, "name of the plugin",
+          NULL),
+      "source-module", GST_TYPE_STRUCTURE, gst_structure_new ("value",
+          "type", G_TYPE_GTYPE, G_TYPE_STRING,
+          "description", G_TYPE_STRING, "name of the source module this feature is from",
+          NULL),
+     NULL);
+  /* *INDENT-ON* */
+
+  GST_OBJECT_FLAG_SET (tr_factory_used, GST_OBJECT_FLAG_MAY_BE_LEAKED);
+}
+
+static void
+gst_factories_tracer_init (GstFactoriesTracer * self)
+{
+  GstTracer *tracer = GST_TRACER (self);
+
+  gst_tracing_register_hook (tracer, "element-new",
+      G_CALLBACK (do_element_new));
+  gst_tracing_register_hook (tracer, "plugin-feature-loaded",
+      G_CALLBACK (do_plugin_feature_loaded));
+}
diff --git a/docs/random/LICENSE b/plugins/tracers/gstfactories.h
similarity index 55%
rename from docs/random/LICENSE
rename to plugins/tracers/gstfactories.h
index 696b1c1..9505515 100644
--- a/docs/random/LICENSE
+++ b/plugins/tracers/gstfactories.h
@@ -1,5 +1,8 @@
 /* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2021 Collabora Ltd.
+ *  @author: Olivier Crete <olivier.crete@collabora.com>
+ *
+ * gstfactories.h: A trace to log which plugin & factories are being used
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -16,3 +19,28 @@
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
+
+#ifndef __GST_FACTORIES_TRACER_H__
+#define __GST_FACTORIES_TRACER_H__
+
+#include <gst/gst.h>
+#include <gst/gsttracer.h>
+
+G_BEGIN_DECLS
+
+G_DECLARE_FINAL_TYPE(GstFactoriesTracer, gst_factories_tracer, GST,
+    FACTORIES_TRACER, GstTracer)
+/**
+ * GstFactoriesTracer:
+ *
+ * Opaque #GstFactoriesTracer data structure
+ */
+struct _GstFactoriesTracer {
+  GstTracer 	 parent;
+
+  /*< private >*/
+};
+
+G_END_DECLS
+
+#endif /* __GST_FACTORIES_TRACER_H__ */
diff --git a/plugins/tracers/gstlatency.c b/plugins/tracers/gstlatency.c
index 5cfb551..9b0e8a7 100644
--- a/plugins/tracers/gstlatency.c
+++ b/plugins/tracers/gstlatency.c
@@ -26,10 +26,10 @@
  * events at sources and process them at sinks. This elements supports tracing
  * the entire pipeline latency and per element latency. By default, only
  * pipeline latency is traced. The 'flags' parameter can be used to enabled
- * element tracing.
+ * element tracing and/or the latency reported by each element.
  *
  * ```
- * GST_TRACERS="latency(flags=pipeline+element)" GST_DEBUG=GST_TRACER:7 ./...
+ * GST_TRACERS="latency(flags=pipeline+element+reported)" GST_DEBUG=GST_TRACER:7 ./...
  * ```
  */
 /* TODO(ensonic): if there are two sources feeding into a mixer/muxer and later
diff --git a/plugins/tracers/gstleaks.c b/plugins/tracers/gstleaks.c
index 30bdc2d..35df3bc 100644
--- a/plugins/tracers/gstleaks.c
+++ b/plugins/tracers/gstleaks.c
@@ -114,6 +114,12 @@ static guint gst_leaks_tracer_signals[LAST_SIGNAL] = { 0 };
 
 G_LOCK_DEFINE_STATIC (instances);
 
+typedef enum
+{
+  GOBJECT,
+  MINI_OBJECT,
+} ObjectKind;
+
 typedef struct
 {
   gboolean reffed;
@@ -125,7 +131,7 @@ typedef struct
 typedef struct
 {
   gchar *creation_trace;
-
+  ObjectKind kind;
   GList *refing_infos;
 } ObjectRefingInfos;
 
@@ -312,20 +318,27 @@ should_handle_object_type (GstLeaksTracer * self, GType object_type)
 typedef struct
 {
   gpointer object;
-  const gchar *type_name;
+  GQuark type_qname;
 } ObjectLog;
 
 static ObjectLog *
-object_log_new (gpointer obj)
+object_log_new (gpointer obj, ObjectKind kind)
 {
   ObjectLog *o = g_new (ObjectLog, 1);
 
   o->object = obj;
 
-  if (G_IS_OBJECT (obj))
-    o->type_name = G_OBJECT_TYPE_NAME (obj);
-  else
-    o->type_name = g_type_name (GST_MINI_OBJECT_TYPE (obj));
+  switch (kind) {
+    case GOBJECT:
+      o->type_qname = g_type_qname (G_OBJECT_TYPE (obj));
+      break;
+    case MINI_OBJECT:
+      o->type_qname = g_type_qname (GST_MINI_OBJECT_TYPE (obj));
+      break;
+    default:
+      g_assert_not_reached ();
+      break;
+  }
 
   return o;
 }
@@ -337,7 +350,8 @@ object_log_free (ObjectLog * obj)
 }
 
 static void
-handle_object_destroyed (GstLeaksTracer * self, gpointer object)
+handle_object_destroyed (GstLeaksTracer * self, gpointer object,
+    ObjectKind kind)
 {
   GST_OBJECT_LOCK (self);
   if (self->done) {
@@ -349,7 +363,7 @@ handle_object_destroyed (GstLeaksTracer * self, gpointer object)
 
   g_hash_table_remove (self->objects, object);
   if (self->removed)
-    g_hash_table_add (self->removed, object_log_new (object));
+    g_hash_table_add (self->removed, object_log_new (object, kind));
 out:
   GST_OBJECT_UNLOCK (self);
 }
@@ -359,7 +373,7 @@ object_weak_cb (gpointer data, GObject * object)
 {
   GstLeaksTracer *self = data;
 
-  handle_object_destroyed (self, object);
+  handle_object_destroyed (self, object, GOBJECT);
 }
 
 static void
@@ -367,25 +381,32 @@ mini_object_weak_cb (gpointer data, GstMiniObject * object)
 {
   GstLeaksTracer *self = data;
 
-  handle_object_destroyed (self, object);
+  handle_object_destroyed (self, object, MINI_OBJECT);
 }
 
 static void
 handle_object_created (GstLeaksTracer * self, gpointer object, GType type,
-    gboolean gobject)
+    ObjectKind kind)
 {
   ObjectRefingInfos *infos;
 
-
   if (!should_handle_object_type (self, type))
     return;
 
   infos = g_malloc0 (sizeof (ObjectRefingInfos));
-  if (gobject)
-    g_object_weak_ref ((GObject *) object, object_weak_cb, self);
-  else
-    gst_mini_object_weak_ref (GST_MINI_OBJECT_CAST (object),
-        mini_object_weak_cb, self);
+  infos->kind = kind;
+  switch (kind) {
+    case GOBJECT:
+      g_object_weak_ref ((GObject *) object, object_weak_cb, self);
+      break;
+    case MINI_OBJECT:
+      gst_mini_object_weak_ref (GST_MINI_OBJECT_CAST (object),
+          mini_object_weak_cb, self);
+      break;
+    default:
+      g_assert_not_reached ();
+      break;
+  }
 
   GST_OBJECT_LOCK (self);
   if ((gint) self->trace_flags != -1)
@@ -394,7 +415,7 @@ handle_object_created (GstLeaksTracer * self, gpointer object, GType type,
   g_hash_table_insert (self->objects, object, infos);
 
   if (self->added)
-    g_hash_table_add (self->added, object_log_new (object));
+    g_hash_table_add (self->added, object_log_new (object, kind));
   GST_OBJECT_UNLOCK (self);
 }
 
@@ -404,7 +425,8 @@ mini_object_created_cb (GstTracer * tracer, GstClockTime ts,
 {
   GstLeaksTracer *self = GST_LEAKS_TRACER_CAST (tracer);
 
-  handle_object_created (self, object, GST_MINI_OBJECT_TYPE (object), FALSE);
+  handle_object_created (self, object, GST_MINI_OBJECT_TYPE (object),
+      MINI_OBJECT);
 }
 
 static void
@@ -417,7 +439,7 @@ object_created_cb (GstTracer * tracer, GstClockTime ts, GstObject * object)
   if (g_type_is_a (object_type, GST_TYPE_TRACER))
     return;
 
-  handle_object_created (self, object, object_type, TRUE);
+  handle_object_created (self, object, object_type, GOBJECT);
 }
 
 static void
@@ -594,18 +616,25 @@ create_leaks_list (GstLeaksTracer * self)
     GType type;
     guint ref_count;
 
-    if (GST_IS_OBJECT (obj)) {
-      if (GST_OBJECT_FLAG_IS_SET (obj, GST_OBJECT_FLAG_MAY_BE_LEAKED))
-        continue;
-
-      type = G_OBJECT_TYPE (obj);
-      ref_count = ((GObject *) obj)->ref_count;
-    } else {
-      if (GST_MINI_OBJECT_FLAG_IS_SET (obj, GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED))
-        continue;
-
-      type = GST_MINI_OBJECT_TYPE (obj);
-      ref_count = ((GstMiniObject *) obj)->refcount;
+    switch (((ObjectRefingInfos *) infos)->kind) {
+      case GOBJECT:
+        if (GST_OBJECT_FLAG_IS_SET (obj, GST_OBJECT_FLAG_MAY_BE_LEAKED))
+          continue;
+
+        type = G_OBJECT_TYPE (obj);
+        ref_count = ((GObject *) obj)->ref_count;
+        break;
+      case MINI_OBJECT:
+        if (GST_MINI_OBJECT_FLAG_IS_SET (obj,
+                GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED))
+          continue;
+
+        type = GST_MINI_OBJECT_TYPE (obj);
+        ref_count = ((GstMiniObject *) obj)->refcount;
+        break;
+      default:
+        g_assert_not_reached ();
+        break;
     }
 
     l = g_list_prepend (l, leak_new (obj, type, ref_count, infos));
@@ -639,11 +668,17 @@ process_leak (Leak * leak, GValue * ret_leaks)
     /* for leaked objects, we take ownership of the object instead of
      * reffing ("collecting") it to avoid deadlocks */
     g_value_init (&obj_value, leak->type);
-    if (GST_IS_OBJECT (leak->obj))
-      g_value_take_object (&obj_value, leak->obj);
-    else
-      /* mini objects */
-      g_value_take_boxed (&obj_value, leak->obj);
+    switch (leak->infos->kind) {
+      case GOBJECT:
+        g_value_take_object (&obj_value, leak->obj);
+        break;
+      case MINI_OBJECT:
+        g_value_take_boxed (&obj_value, leak->obj);
+        break;
+      default:
+        g_assert_not_reached ();
+        break;
+    }
     s = gst_structure_new_empty ("object-alive");
     gst_structure_take_value (s, "object", &obj_value);
     gst_structure_set (s, "ref-count", G_TYPE_UINT, leak->ref_count,
@@ -691,6 +726,7 @@ process_leaks (GstLeaksTracer * self, GValue * ret_leaks)
 {
   GList *leaks, *l;
   gboolean ret = FALSE;
+  guint n = 0;
 
   if (!ret_leaks)
     GST_TRACE_OBJECT (self, "start listing currently alive objects");
@@ -702,8 +738,10 @@ process_leaks (GstLeaksTracer * self, GValue * ret_leaks)
     goto done;
   }
 
-  for (l = leaks; l; l = l->next)
+  for (l = leaks; l; l = l->next) {
     process_leak (l->data, ret_leaks);
+    n++;
+  }
 
   g_list_free_full (leaks, (GDestroyNotify) leak_free);
 
@@ -711,7 +749,7 @@ process_leaks (GstLeaksTracer * self, GValue * ret_leaks)
 
 done:
   if (!ret_leaks)
-    GST_TRACE_OBJECT (self, "done listing currently alive objects");
+    GST_TRACE_OBJECT (self, "listed %u alive objects", n);
 
   return ret;
 }
@@ -722,7 +760,9 @@ gst_leaks_tracer_finalize (GObject * object)
   GstLeaksTracer *self = GST_LEAKS_TRACER (object);
   gboolean leaks = FALSE;
   GHashTableIter iter;
-  gpointer obj;
+  gpointer obj, infos;
+
+  GST_DEBUG_OBJECT (self, "destroying tracer, checking for leaks");
 
   self->done = TRUE;
 
@@ -733,12 +773,19 @@ gst_leaks_tracer_finalize (GObject * object)
 
   /* Remove weak references */
   g_hash_table_iter_init (&iter, self->objects);
-  while (g_hash_table_iter_next (&iter, &obj, NULL)) {
-    if (GST_IS_OBJECT (obj))
-      g_object_weak_unref (obj, object_weak_cb, self);
-    else
-      gst_mini_object_weak_unref (GST_MINI_OBJECT_CAST (obj),
-          mini_object_weak_cb, self);
+  while (g_hash_table_iter_next (&iter, &obj, &infos)) {
+    switch (((ObjectRefingInfos *) infos)->kind) {
+      case GOBJECT:
+        g_object_weak_unref (obj, object_weak_cb, self);
+        break;
+      case MINI_OBJECT:
+        gst_mini_object_weak_unref (GST_MINI_OBJECT_CAST (obj),
+            mini_object_weak_cb, self);
+        break;
+      default:
+        g_assert_not_reached ();
+        break;
+    }
   }
 
   g_clear_pointer (&self->objects, g_hash_table_unref);
@@ -917,7 +964,7 @@ gst_leaks_tracer_setup_signals (GstLeaksTracer * leaks)
      * See https://pubs.opengroup.org/onlinepubs/007904975/functions/pthread_atfork.html
      * for details. */
     res = pthread_atfork (atfork_prepare, atfork_parent, atfork_child);
-    if (!res) {
+    if (res != 0) {
       GST_WARNING_OBJECT (leaks, "pthread_atfork() failed (%d)", res);
     }
 
@@ -1014,16 +1061,18 @@ process_checkpoint (GstTracerRecord * record, const gchar * record_type,
   while (g_hash_table_iter_next (&iter, &o, NULL)) {
     ObjectLog *obj = o;
 
+    const gchar *type_name = g_quark_to_string (obj->type_qname);
+
     if (!ret) {
       /* log to the debug log */
-      gst_tracer_record_log (record, obj->type_name, obj->object);
+      gst_tracer_record_log (record, type_name, obj->object);
     } else {
       GValue s_value = G_VALUE_INIT;
       GValue addr_value = G_VALUE_INIT;
       gchar *address = g_strdup_printf ("%p", obj->object);
       GstStructure *s = gst_structure_new_empty (record_type);
       /* copy type_name because it's owned by @obj */
-      gst_structure_set (s, "type-name", G_TYPE_STRING, obj->type_name, NULL);
+      gst_structure_set (s, "type-name", G_TYPE_STRING, type_name, NULL);
       /* avoid copy of @address */
       g_value_init (&addr_value, G_TYPE_STRING);
       g_value_take_string (&addr_value, address);
@@ -1098,7 +1147,7 @@ gst_leaks_tracer_class_init (GstLeaksTracerClass * klass)
   tr_refings = gst_tracer_record_new ("object-refings.class",
       RECORD_FIELD_TYPE_TS, RECORD_FIELD_TYPE_NAME, RECORD_FIELD_ADDRESS,
       RECORD_FIELD_DESC, RECORD_FIELD_REF_COUNT, RECORD_FIELD_TRACE, NULL);
-  GST_OBJECT_FLAG_SET (tr_alive, GST_OBJECT_FLAG_MAY_BE_LEAKED);
+  GST_OBJECT_FLAG_SET (tr_refings, GST_OBJECT_FLAG_MAY_BE_LEAKED);
 
   tr_added = gst_tracer_record_new ("object-added.class",
       RECORD_FIELD_TYPE_NAME, RECORD_FIELD_ADDRESS, NULL);
diff --git a/plugins/tracers/gsttracers.c b/plugins/tracers/gsttracers.c
index b03e25a..e5fe5d0 100644
--- a/plugins/tracers/gsttracers.c
+++ b/plugins/tracers/gsttracers.c
@@ -29,6 +29,7 @@
 #include "gstrusage.h"
 #include "gststats.h"
 #include "gstleaks.h"
+#include "gstfactories.h"
 
 static gboolean
 plugin_init (GstPlugin * plugin)
@@ -47,6 +48,9 @@ plugin_init (GstPlugin * plugin)
     return FALSE;
   if (!gst_tracer_register (plugin, "leaks", gst_leaks_tracer_get_type ()))
     return FALSE;
+  if (!gst_tracer_register (plugin, "factories",
+          gst_factories_tracer_get_type ()))
+    return FALSE;
   return TRUE;
 }
 
diff --git a/plugins/tracers/meson.build b/plugins/tracers/meson.build
index 879cd93..b01d566 100644
--- a/plugins/tracers/meson.build
+++ b/plugins/tracers/meson.build
@@ -10,6 +10,7 @@ gst_tracers_sources = [
   'gstleaks.c',
   'gststats.c',
   'gsttracers.c',
+  'gstfactories.c'
 ]
 
 if gst_debug
@@ -30,5 +31,4 @@ gst_tracers = library('gstcoretracers',
   install : true,
   install_dir : plugins_install_dir,
 )
-pkgconfig.generate(gst_tracers, install_dir : plugins_pkgconfig_install_dir)
 plugins += [gst_tracers]
diff --git a/po/LINGUAS b/po/LINGUAS
index 368a2ba..acb10da 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1 +1 @@
-af ast az be bg ca cs da de en_GB eo es el eu fi fr fur gl hr hu id it ja lt nb nl pl pt_BR ro ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW
+af ast az be bg ca cs da de el en_GB eo es eu fi fr fur gl hr hu id it ja ka ko lt nb nl pl pt_BR ro ru rw sk sl sq sr sv tr uk vi zh_CN zh_TW
diff --git a/po/af.po b/po/af.po
index 1a8a9ee..0463914 100644
--- a/po/af.po
+++ b/po/af.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2005-12-05 11:45+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -15,6 +15,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 msgid "Print the GStreamer version"
 msgstr "Vertoon die GStreamer weergawe"
@@ -90,6 +91,7 @@ msgstr "GStreamer Opsies"
 msgid "Show GStreamer Options"
 msgstr "Wys GStreamer opsies"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Onbekende opsie"
 
@@ -663,9 +665,8 @@ msgid ""
 "according to WGS84 (zero is average sea level)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location country"
-msgstr "ligging"
+msgstr ""
 
 msgid "country (english name) where the media has been recorded or produced"
 msgstr ""
@@ -677,33 +678,29 @@ msgstr "ligging"
 msgid "city (english name) where the media has been recorded or produced"
 msgstr ""
 
-#, fuzzy
 msgid "geo location sublocation"
-msgstr "ligging"
+msgstr ""
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "ligging"
+msgstr ""
 
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement speed"
-msgstr "ligging"
+msgstr ""
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement direction"
-msgstr "ligging"
+msgstr ""
 
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
@@ -711,9 +708,8 @@ msgid ""
 "means the geographic north, and increases clockwise"
 msgstr ""
 
-#, fuzzy
 msgid "geo location capture direction"
-msgstr "ligging"
+msgstr ""
 
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
@@ -750,9 +746,8 @@ msgstr "skyfnommer"
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#, fuzzy
 msgid "lyrics"
-msgstr "lisensie"
+msgstr ""
 
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
@@ -760,9 +755,8 @@ msgstr ""
 msgid "composer sortname"
 msgstr ""
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "persoon(e) verantwoordelik vir die opname"
+msgstr ""
 
 msgid "grouping"
 msgstr ""
@@ -795,13 +789,11 @@ msgstr ""
 msgid "Model of the device used to create this media"
 msgstr "weergawe van die enkodeerder wat hierdie stroom enkodeer"
 
-#, fuzzy
 msgid "application name"
-msgstr "ligging"
+msgstr ""
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "weergawe van die enkodeerder wat hierdie stroom enkodeer"
+msgstr ""
 
 msgid "application data"
 msgstr ""
@@ -839,9 +831,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -862,6 +859,9 @@ msgstr ""
 "Addisionele ontfout-inligting:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -870,14 +870,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "Geen eienskap \"%s\" in element \"%s\""
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Lêer \"%s\" is 'n sok."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "kon nie eienskap \"%s\" in element \"%s\" stel na \"%s\" nie"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "geen element \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "kon nie eienskap \"%s\" in element \"%s\" stel na \"%s\" nie"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "kon nie eienskap \"%s\" in element \"%s\" stel na \"%s\" nie"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -897,10 +916,6 @@ msgstr "Kon nie %s aan %s verbind nie"
 msgid "could not link %s to %s"
 msgstr "Kon nie %s aan %s verbind nie"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "geen element \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1038,9 +1053,8 @@ msgstr ""
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "album wat hierdie data bevat"
+msgstr ""
 
 #, fuzzy
 msgid "Stream contains no data."
@@ -1053,9 +1067,8 @@ msgstr ""
 msgid "readable"
 msgstr ""
 
-#, fuzzy
 msgid "writable"
-msgstr "titel"
+msgstr ""
 
 msgid "deprecated"
 msgstr ""
@@ -1063,6 +1076,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1075,9 +1091,9 @@ msgstr ""
 msgid "Blacklisted files:"
 msgstr ""
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "aantal snitte"
+msgstr ""
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1136,8 +1152,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, fuzzy, c-format
@@ -1151,6 +1170,12 @@ msgstr "geen bronelement vir URI \"%s\""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Pyplyn word gestel na SPEEL ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FOUT: pyplyn wil nie speel nie.\n"
+
 #, fuzzy, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Boodskap vanaf element \"%s\" (%s):"
@@ -1171,6 +1196,9 @@ msgstr "Boodskap vanaf element \"%s\" (%s):"
 msgid "Got EOS from element \"%s\".\n"
 msgstr "EOS gekry vanaf element \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETIKET GEVIND  : gevind by element \"%s\".\n"
@@ -1207,6 +1235,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "FOUT: vanaf element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Pyplyn is VOORGEROL ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1220,6 +1251,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Pyplyn word gestel na SPEEL ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 #, fuzzy
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Stel pyplyn na POUSEER ...\n"
@@ -1231,10 +1263,21 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 #, fuzzy
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Pyplyn word gestel na NULL ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1245,7 +1288,17 @@ msgstr "geen element \"%s\""
 
 #, fuzzy, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "FOUT: vanaf element %s: %s\n"
+msgstr "Boodskap vanaf element \"%s\" (%s):"
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FOUT: pyplyn wil nie voorrol nie.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
 
 msgid "Output tags (also known as metadata)"
 msgstr "Wys etikette (ook bekend as metadata)"
@@ -1280,6 +1333,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FOUT: pyplyn kon nie opgestel word nie: %s.\n"
@@ -1297,8 +1361,9 @@ msgstr "FOUT: die pyplynelement kon nie gevind word nie.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Stel pyplyn na POUSEER ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FOUT: pyplyn wil nie pouseer nie.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Stel pyplyn na POUSEER ...\n"
 
 #, fuzzy
 msgid "Pipeline is live and does not need PREROLL ...\n"
@@ -1307,43 +1372,9 @@ msgstr "Pyplyn is VOORGEROL ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Pyplyn doen VOORROLLING ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FOUT: pyplyn wil nie voorrol nie.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Pyplyn is VOORGEROL ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Pyplyn word gestel na SPEEL ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FOUT: pyplyn wil nie speel nie.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Pyplyn word gestel na NULL ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr "Uitvoering het geëindig na %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Pyplyn word gestel na GEREED ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Pyplyn word gestel na NULL ...\n"
 
@@ -1351,27 +1382,11 @@ msgstr "Pyplyn word gestel na NULL ...\n"
 msgid "Freeing pipeline ...\n"
 msgstr "Pyplyn word gestel na NULL ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Fout met toemaak van lêer \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Fout met toemaak van lêer \"%s\"."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Fout tydens skryf na lêer \"%s\"."
-
-#, fuzzy
-#~ msgid "Internal data stream error."
-#~ msgstr "Interne datavloeifout."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Moenie statusinligting van TIPE wys nie"
+#~ msgid "Internal GStreamer error: state change failed."
+#~ msgstr "Interne GStreamer-fout: state change failed."
 
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TIPE1, TIPE2,..."
+#~ msgid "original location of file as a URI"
+#~ msgstr "oorsprong van lêer gegee as 'n URI"
 
 #~ msgid "link without source element"
 #~ msgstr "verbinding sonder bron-element"
@@ -1379,56 +1394,68 @@ msgstr "Pyplyn word gestel na NULL ...\n"
 #~ msgid "link without sink element"
 #~ msgstr "verbinding sonder bestemming-element"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "geen element vir URI \"%s\" om heen te skakel nie"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Druk \"alloc trace\" (indien aangeskakel tydens kompilering)"
+#~ msgid "maximum"
+#~ msgstr "maksimum"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
 #~ "Gebruik so: gst-xmllaunch <lêer.xml> [ element.eienskap=waarde ... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "FOUT: ontleding van xml-lêer '%s' het misluk.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr "FOUT: geen topvlak pyplynelement in lêer '%s' nie.\n"
 
-#, fuzzy
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
+#, c-format
+#~ msgid "WARNING: only one toplevel element is supported at this time."
 #~ msgstr "WAARSKUWING: slegs een topvlak element word tans ondersteun."
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr "FOUT: onverstaanbare bevellynparameter %d: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "WAARSKUWING: element genaamd '%s' nie gevind nie.\n"
 
+#, c-format
+#~ msgid "Element \"%s\" has gone from PLAYING to PAUSED, quitting.\n"
+#~ msgstr "Element \"%s\" het verander van SPEEL na POUSE, verlaat dus.\n"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TIPE1, TIPE2,..."
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Stoor xml-voorstelling van pyplyn na LÊER en stop"
 
 #~ msgid "FILE"
 #~ msgstr "LÊER"
 
-#, fuzzy
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Moenie 'n fouthanteerder installeer nie"
-
-#~ msgid "Internal GStreamer error: state change failed."
-#~ msgstr "Interne GStreamer-fout: state change failed."
-
-#~ msgid "original location of file as a URI"
-#~ msgstr "oorsprong van lêer gegee as 'n URI"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Druk \"alloc trace\" (indien aangeskakel tydens kompilering)"
 
-#~ msgid "Element \"%s\" has gone from PLAYING to PAUSED, quitting.\n"
-#~ msgstr "Element \"%s\" het verander van SPEEL na POUSE, verlaat dus.\n"
+#, c-format
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FOUT: pyplyn wil nie pouseer nie.\n"
 
+#, c-format
 #~ msgid "ERROR: Pipeline can't PREROLL ...\n"
 #~ msgstr "FOUT: pyplyn kan nie VOORROL nie ...\n"
 
 #~ msgid " ns.\n"
 #~ msgstr " ns.\n"
 
+#, c-format
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Pyplyn word gestel na GEREED ...\n"
+
+#, c-format
 #~ msgid "FREEING pipeline ...\n"
 #~ msgstr "pyplyn word VRYGEMAAK ...\n"
diff --git a/po/ast.po b/po/ast.po
index 9fae57f..56f56e0 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.28.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-06-07 22:01+0100\n"
 "Last-Translator: astur <maacub@gmail.com>\n"
 "Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n"
@@ -97,6 +97,7 @@ msgstr "Opciones de GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Amosar opciones de GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opción desconocía"
 
@@ -836,9 +837,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -859,6 +865,9 @@ msgstr ""
 "Información adicional de depuráu:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -867,14 +876,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nun esiste la propiedá «%s» nel elementu «%s»"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "El ficheru \"%s\" ye un socket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nun pudo afitase la propiedá \"%s\" nel elementu \"%s\" a \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nun esiste l'elementu «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nun pudo afitase la propiedá \"%s\" nel elementu \"%s\" a \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "nun pudo afitase la propiedá \"%s\" nel elementu \"%s\" a \"%s\""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -894,10 +922,6 @@ msgstr "nun pudo enllazase %s a %s"
 msgid "could not link %s to %s"
 msgstr "nun pudo enllazase %s a %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nun esiste l'elementu «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1058,6 +1082,10 @@ msgstr ""
 msgid "controllable"
 msgstr "controlable"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "controlable"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1136,8 +1164,11 @@ msgstr ""
 "Imprentar los esquemes URI sofitaos, colos elementos que los implementen"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1151,6 +1182,12 @@ msgstr "Nun esiste l'elementu o complementu «%s»\n"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Afitando'l fluxu pa REPRODUCCIÓN ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FALLU: el fluxu nun quier reproducise.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Obtúvose'l mensaxe #%u del elementu «%s» (%s): "
@@ -1171,6 +1208,9 @@ msgstr "Obtúvose'l mensax #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "¿Obtuvo EOS dende l'elementu \"%s\".?\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS recibíu: parando'l conductu …\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETIQUETA ALCONTRADA: alcontrada pol elementu \"%s\"\n"
@@ -1210,6 +1250,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ATENCIÓN: dende l'elementu %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "El fluxu ta precacheáu ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Pre-endolcáu, esperando al buffer a que fine...\n"
 
@@ -1223,6 +1266,7 @@ msgstr "atroxando nel búfer…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Atroxáu, afite la tubería a REPRODUCIENDO...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Atroxando, afite la tubería a PAUSA...\n"
 
@@ -1233,9 +1277,21 @@ msgstr "Redistribuyir llatencia…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Afitando l'estáu a %s según lo solicitó %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrumpir: parando'l conductu …\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrumpir: parando'l conductu …\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS al apagar activáu; Forciando EOS na tubería\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Esperando a EOS…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1248,6 +1304,16 @@ msgstr "nun esiste l'elementu «%s»"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "ATENCIÓN: dende l'elementu %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FALLU: El fluxu nun quier precachease.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Asocedió un fallu al esperar a EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Etiquetes de salides (tamién conocíes como metadatos)"
 
@@ -1280,6 +1346,17 @@ msgstr "Forciar EOS nes fontes enantes de zarrar la tubería"
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FALLU: nun pudo criase la conexón: %s.\n"
@@ -1297,8 +1374,9 @@ msgstr "FALLU: Nun s'atopó l'elementu de «conexón».\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Afitando'l fluxu a POSÁU ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FALLU: El fluxu nun quier ponese en posa.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Afitando'l fluxu a POSÁU ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "El fluxu ye en vivo y nun necesita PRECACHEÁU ...\n"
@@ -1306,68 +1384,22 @@ msgstr "El fluxu ye en vivo y nun necesita PRECACHEÁU ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "El fluxu ta PRECACHEÁNDOSE ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FALLU: El fluxu nun quier precachease.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "El fluxu ta precacheáu ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Afitando'l fluxu pa REPRODUCCIÓN ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FALLU: el fluxu nun quier reproducise.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS al apagar activáu; Forciando EOS na tubería\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS al apagar activáu; Forciando EOS na tubería\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Esperando a EOS…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS recibíu: parando'l conductu …\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrumpir: parando'l conductu …\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Asocedió un fallu al esperar a EOS\n"
-
 msgid "Execution ended after %"
 msgstr "La execución finó tres de %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Afitando pipeline a READY...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Afitando pipeline a NULL...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Lliberando la tubería…\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Fallu al zarrar el ficheru \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Fallu al zarrar el ficheru \"%s\"."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Fallu al escribir al ficheru \"%s\"."
-
 #~ msgid "link without source element"
 #~ msgstr "enllaz ensin elementos de fonte"
 
 #~ msgid "link without sink element"
 #~ msgstr "enllaz ensin elementu sink"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "nun hai dengún elementu au apunta'l URI \"%s\""
 
@@ -1380,9 +1412,11 @@ msgstr "Lliberando la tubería…\n"
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr "Usu: gst-xmllaunch <ficheru.xml> [ elementu.propiedá=valor ... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "ERROR: falló l'analís del ficheru xml «%s».\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr ""
 #~ "FALLU: nun hai elementos de fluxu de primer nivel nel ficheru «%s».\n"
@@ -1391,10 +1425,12 @@ msgstr "Lliberando la tubería…\n"
 #~ msgstr ""
 #~ "ALVERTENCIA: nesti intre namái se sofita un elementu de nivel superior.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr ""
 #~ "FALLU: nun pudo analizase l'argumentu %d de la llinia d'órdenes: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "AVISU: elementu '%s' non alcontráu.\n"
 
@@ -1412,3 +1448,9 @@ msgstr "Lliberando la tubería…\n"
 
 #~ msgid "Print alloc trace (if enabled at compile time)"
 #~ msgstr "Imprentar la traza d'asignaciones (si s'activó al compilar)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FALLU: El fluxu nun quier ponese en posa.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Afitando pipeline a READY...\n"
diff --git a/po/az.po b/po/az.po
index b9b57db..1135c69 100644
--- a/po/az.po
+++ b/po/az.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer-0.8.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2004-03-19 18:40+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
@@ -15,6 +15,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: KBabel 1.0.2\n"
 
 msgid "Print the GStreamer version"
@@ -85,6 +86,7 @@ msgstr ""
 msgid "Show GStreamer Options"
 msgstr "GStreamer buraxılışını göstər"
 
+#, c-format
 msgid "Unknown option"
 msgstr ""
 
@@ -707,9 +709,8 @@ msgstr ""
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#, fuzzy
 msgid "lyrics"
-msgstr "lisenziya"
+msgstr ""
 
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
@@ -717,9 +718,8 @@ msgstr ""
 msgid "composer sortname"
 msgstr ""
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "ifa edən şəxs(lər)"
+msgstr ""
 
 msgid "grouping"
 msgstr ""
@@ -792,9 +792,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -813,6 +818,9 @@ msgid ""
 "%s\n"
 msgstr ""
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -821,14 +829,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -848,10 +875,6 @@ msgstr ""
 msgid "could not link %s to %s"
 msgstr ""
 
-#, c-format
-msgid "no element \"%s\""
-msgstr ""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1009,6 +1032,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1082,8 +1108,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1097,6 +1126,12 @@ msgstr ""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1117,6 +1152,9 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr ""
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
@@ -1153,6 +1191,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1165,6 +1206,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1175,9 +1217,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1190,6 +1243,16 @@ msgstr ""
 msgid "Got context from element '%s': %s=%s\n"
 msgstr ""
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr ""
 
@@ -1222,6 +1285,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr ""
@@ -1239,7 +1313,7 @@ msgstr ""
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
 msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
@@ -1248,51 +1322,15 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr ""
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
 msgid "Freeing pipeline ...\n"
 msgstr ""
 
-#~ msgid "FILE"
-#~ msgstr "FAYL"
-
 #~ msgid "')"
 #~ msgstr "')"
 
@@ -1304,3 +1342,9 @@ msgstr ""
 
 #~ msgid "REGISTRY"
 #~ msgstr "QEYDBAZASI"
+
+#~ msgid "maximum"
+#~ msgstr "maksimal"
+
+#~ msgid "FILE"
+#~ msgstr "FAYL"
diff --git a/po/be.po b/po/be.po
index 2a11064..cdc7b1f 100644
--- a/po/be.po
+++ b/po/be.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.9.7\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2006-01-18 22:26+0200\n"
 "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
@@ -14,6 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 msgid "Print the GStreamer version"
 msgstr "Друкуе вэрсыю GStreamer"
@@ -88,6 +89,7 @@ msgstr ""
 msgid "Show GStreamer Options"
 msgstr ""
 
+#, c-format
 msgid "Unknown option"
 msgstr ""
 
@@ -724,9 +726,8 @@ msgstr ""
 msgid "composer sortname"
 msgstr ""
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "асоба(ы) адказныя за запіс"
+msgstr ""
 
 msgid "grouping"
 msgstr ""
@@ -798,9 +799,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ""
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -821,6 +827,9 @@ msgstr ""
 "Дадатковая адладачная інфармацыя:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -829,14 +838,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -856,10 +884,6 @@ msgstr ""
 msgid "could not link %s to %s"
 msgstr ""
 
-#, c-format
-msgid "no element \"%s\""
-msgstr ""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -931,7 +955,7 @@ msgstr ""
 
 #, fuzzy, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Немагчыма закадаваць плыню."
+msgstr "Немагчыма запісаць у расурс."
 
 #, fuzzy, c-format
 msgid "Could not open file \"%s\" for reading."
@@ -995,9 +1019,8 @@ msgstr ""
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "альбом, якія зьмяшчае гэтыя даньі"
+msgstr ""
 
 #, fuzzy
 msgid "Stream contains no data."
@@ -1010,9 +1033,8 @@ msgstr ""
 msgid "readable"
 msgstr ""
 
-#, fuzzy
 msgid "writable"
-msgstr "загаловак"
+msgstr ""
 
 msgid "deprecated"
 msgstr ""
@@ -1020,6 +1042,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1032,9 +1057,9 @@ msgstr ""
 msgid "Blacklisted files:"
 msgstr ""
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "колькасьць запісаў"
+msgstr ""
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1093,8 +1118,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1108,6 +1136,12 @@ msgstr ""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1128,6 +1162,9 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr ""
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
@@ -1164,6 +1201,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1176,6 +1216,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1186,9 +1227,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1201,6 +1253,16 @@ msgstr ""
 msgid "Got context from element '%s': %s=%s\n"
 msgstr ""
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr ""
 
@@ -1233,6 +1295,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr ""
@@ -1250,7 +1323,7 @@ msgstr ""
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
 msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
@@ -1259,42 +1332,9 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr ""
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
diff --git a/po/bg.po b/po/bg.po
index 3ad3d1b..fefab3e 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,17 +1,18 @@
 # Bulgarian translation of gstreamer.
 # Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Fondation, Inc.
-# Copyright (C) 2011, 2016, 2017 Free Software Fondation, Inc.
+# Copyright (C) 2011, 2016, 2017, 2019 Free Software Fondation, Inc.
+# Copyright (C) 2021, 2023 Alexander Shopov.
 # This file is distributed under the same license as the gstreamer package.
 # Alexander Shopov <ash@kambanaria.org>, 2005, 2006, 2007, 2008, 2009, 2010.
-# Alexander Shopov <ash@kambanaria.org>, 2011, 2016, 2017.
+# Alexander Shopov <ash@kambanaria.org>, 2011, 2016, 2017, 2019, 2021, 2023.
 #
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-08 11:35+0200\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 20:23+0200\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@ludost.net>\n"
 "Language: bg\n"
@@ -22,13 +23,13 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 msgid "Print the GStreamer version"
-msgstr "Отпечатване на версията на GStreamer"
+msgstr "Извеждане на версията на GStreamer"
 
 msgid "Make all warnings fatal"
 msgstr "Всички предупреждения да са фатални"
 
 msgid "Print available debug categories and exit"
-msgstr "Отпечатване на наличните категории за изчистване на грешки и изход"
+msgstr "Извеждане на наличните категории за изчистване на грешки и изход"
 
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
@@ -51,7 +52,7 @@ msgid "LIST"
 msgstr "СПИСЪК"
 
 msgid "Disable colored debugging output"
-msgstr "Спиране на оцветените съобщения за изчистване на грешки"
+msgstr "Без оцветяване на съобщенията за изчистване на грешки"
 
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
@@ -62,7 +63,7 @@ msgstr ""
 "„disable“ (спиране), „auto“ (автоматично), „unix“ (стандартно за unix)"
 
 msgid "Disable debugging"
-msgstr "Спиране на съобщенията за изчистване на грешки"
+msgstr "Без съобщения за изчистване на грешки"
 
 msgid "Enable verbose plugin loading diagnostics"
 msgstr "Включване на подробни съобщения при зареждане на приставка"
@@ -86,21 +87,21 @@ msgstr "ПРИСТАВКИ"
 
 msgid "Disable trapping of segmentation faults during plugin loading"
 msgstr ""
-"Спиране на прихващането на сегментационни грешки по времето на зареждане на "
-"приставка"
+"Без прихващане на сегментационни грешки по времето на зареждане на приставка"
 
 msgid "Disable updating the registry"
-msgstr "Регистърът да не се прочита"
+msgstr "Без прочитане на регистъра"
 
 msgid "Disable spawning a helper process while scanning the registry"
-msgstr "Без стартирането на спомагателен процес при изчитането на регистъра"
+msgstr "Без стартиране на спомагателен процес при изчитането на регистъра"
 
 msgid "GStreamer Options"
 msgstr "Настройки на GStreamer"
 
 msgid "Show GStreamer Options"
-msgstr "Показване на опциите на GStreamer"
+msgstr "Извеждане на опциите на GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Непозната опция"
 
@@ -110,8 +111,8 @@ msgstr "GStreamer получи обща грешка в основна библ
 msgid ""
 "GStreamer developers were too lazy to assign an error code to this error."
 msgstr ""
-"Разработчиците на GStreamer са били прекалено мързеливи и не са задали код "
-"за грешка на този проблем."
+"Разработчиците на GStreamer са били твърде мързеливи и не са задали код за "
+"грешка на този проблем."
 
 msgid "Internal GStreamer error: code not implemented."
 msgstr "Вътрешна грешка на GStreamer: кодът не е реализиран."
@@ -145,7 +146,7 @@ msgid "Internal GStreamer error: tag problem."
 msgstr "Вътрешна грешка на GStreamer: проблем с етикетите."
 
 msgid "Your GStreamer installation is missing a plug-in."
-msgstr "Липсва необходима приставка в тази инсталация на GStreamer"
+msgstr "Липсва необходима приставка в тази инсталация на GStreamer."
 
 msgid "GStreamer error: clock problem."
 msgstr "Грешка на GStreamer: проблем с часовника."
@@ -278,10 +279,10 @@ msgid "commonly used title"
 msgstr "популярно заглавие"
 
 msgid "title sortname"
-msgstr "заглавие, ползва се при подреждане"
+msgstr "заглавие при подреждане"
 
 msgid "commonly used title for sorting purposes"
-msgstr "популярно заглавие, ползва се при подреждане"
+msgstr "популярно заглавие при подреждане"
 
 msgid "artist"
 msgstr "изпълнител"
@@ -299,25 +300,25 @@ msgid "album"
 msgstr "албум"
 
 msgid "album containing this data"
-msgstr "албум съдържащ тези данни"
+msgstr "албум с тези данни"
 
 msgid "album sortname"
-msgstr "албум, ползва се при подреждане"
+msgstr "албум при подреждане"
 
 msgid "album containing this data for sorting purposes"
-msgstr "албум съдържащ тези данни, ползва се при подреждане"
+msgstr "албум с тези данни при подреждане"
 
 msgid "album artist"
 msgstr "изпълнител на албум"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr "изпълнител на целия албум, ползва се при показване"
+msgstr "изпълнител на целия албум при показване"
 
 msgid "album artist sortname"
-msgstr "изпълнител на албум, ползва се при подреждане"
+msgstr "изпълнител на албум при подреждане"
 
 msgid "The artist of the entire album, as it should be sorted"
-msgstr "изпълнител на целия албум, ползва се при подреждане"
+msgstr "изпълнител на целия албум при подреждане"
 
 msgid "date"
 msgstr "дата"
@@ -367,7 +368,7 @@ msgid "disc number"
 msgstr "номер на диска"
 
 msgid "disc number inside a collection"
-msgstr "номер на диска от колекция"
+msgstr "номер на диска в колекция"
 
 msgid "disc count"
 msgstr "брой дискове"
@@ -407,7 +408,7 @@ msgid "ISRC"
 msgstr "ISRC"
 
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
-msgstr "Стандартен, международен код на запис — http://www.ifpi.org/isrc/"
+msgstr "Стандартен международен код на запис — http://www.ifpi.org/isrc/"
 
 msgid "organization"
 msgstr "организация"
@@ -819,7 +820,7 @@ msgid "Information about the people behind a remix and similar interpretations"
 msgstr "Информация за хората създали ремикс или друга интерпретация"
 
 msgid "midi-base-note"
-msgstr "нота за midi"
+msgstr "нота по Midi"
 
 msgid "Midi note number of the audio track."
 msgstr "Номер на нотата по Midi за песента"
@@ -830,9 +831,14 @@ msgstr "собствени данни"
 msgid "Private data"
 msgstr "Собствени данни"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Неправилен адрес: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Няма модул за обработка на протокола „%s“"
@@ -853,6 +859,9 @@ msgstr ""
 "Допълнителна информация за изчистване на грешки:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "връзка без източник [sink=%s@%p]"
@@ -861,14 +870,33 @@ msgstr "връзка без източник [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "връзка без приемник [source=%s@%p]"
 
+msgid "No such property."
+msgstr "Няма такова свойство."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "елементът „2$%s“ няма свойството „1$%s“"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Файлът „%s“ е във формат GstPreset."
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "настройките „%s“ не може да се зададат в елемента „%s“"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "елементът „%s“ липсва"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "свойството „%s“ на елемента „%s“ не може да се зададе да е „%s“"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "свойството „%s“ в поделемента на „%s“ не може да се зададе да е „%s“"
+
 msgid "Delayed linking failed."
 msgstr "Неуспешно отложено свързване."
 
@@ -888,10 +916,6 @@ msgstr "„%s“ не може да се свърже към „%s“ с въз
 msgid "could not link %s to %s"
 msgstr "„%s“ не може да се свърже към „%s“"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "елементът „%s“ липсва"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "неочакван указател „%s“ — прескача се"
@@ -902,7 +926,7 @@ msgstr "неочакван указател за допълване „%s“ —
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "възможностите „%s“ не могат да бъдат анализирани"
+msgstr "възможностите „%s“ не може да бъдат анализирани"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -927,7 +951,7 @@ msgid "empty pipeline not allowed"
 msgstr "не е позволен празен конвейер"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Неправилно конструиран конвейер. Добавете опашки."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Много буфери се пропускат."
@@ -1012,7 +1036,7 @@ msgid "Failed after iterations as requested."
 msgstr "Грешка след заявения брой повторения."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "Невъзможно е едновременното задаване на „eos-after“ и „error-after“."
 
 msgid "caps"
 msgstr "възможности"
@@ -1035,9 +1059,9 @@ msgstr "Потокът не съдържа достатъчно данни."
 msgid "Stream contains no data."
 msgstr "Потокът не съдържа никакви данни"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Реализирани интерфейси:\n"
+msgstr "%sРеализирани интерфейси%s:\n"
 
 msgid "readable"
 msgstr "с права за четене"
@@ -1051,6 +1075,9 @@ msgstr "изоставен"
 msgid "controllable"
 msgstr "може да се контролира"
 
+msgid "conditionally available"
+msgstr "налично под условие"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 "може да се променя само в състоянията NULL (зануляване), READY (готовност), "
@@ -1068,9 +1095,9 @@ msgstr ""
 msgid "Blacklisted files:"
 msgstr "Забранени файлове:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Общ брой:"
+msgstr "%sОбщ брой%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1137,9 +1164,14 @@ msgstr ""
 "реализация"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Без цветове на изхода. Това може да се постигне и със задаването на "
+"произволна стойност на променливата на средата „GST_INSPECT_NO_COLORS“."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Цветен изход, дори когато не се праща към терминал."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1152,6 +1184,12 @@ msgstr "Няма такъв елемент или приставка „%s“\n"
 msgid "Index statistics"
 msgstr "Статистика на индекса"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Конвейерът се дава за ИЗПЪЛНЕНИЕ…\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ГРЕШКА: конвейерът не иска да проработи.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Получено е съобщение #%u от елемент „%s“ (%s): "
@@ -1172,6 +1210,9 @@ msgstr "Получено е съобщение #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Получен е EOS (край на потока) от елемент „%s“.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Получен е край на поток: конвейерът се спира…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ОТКРИТ ЕТИКЕТ      : открит около елемент „%s“.\n"
@@ -1210,6 +1251,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: от елемент %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Конвейерът е БУФЕРИРАН…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Буфериран, изчаква се завършването на буферирането…\n"
 
@@ -1222,6 +1266,7 @@ msgstr "буфериране…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Буферирането завърши, конвейерът се дава за ИЗПЪЛНЕНИЕ…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Буфериране, конвейерът се дава НА ПАУЗА…\n"
 
@@ -1232,9 +1277,20 @@ msgstr "Преразпределяне на латентността…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Задаване на състоянието на %s по заявка на %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Прекъсване: Конвейерът се спира…\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Прекъсване при изчакване: конвейерът се спира…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Включен е EOS при спиране — извеждане на EOS по конвейера\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Изчакване на EOS…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Напредък: (%s) %s\n"
@@ -1247,6 +1303,16 @@ msgstr "Липсващ елемент: „%s“\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Получен е контекст от елемента „%s“: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ГРЕШКА: конвейерът не иска да превърти напред.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Възникна грешка при изчакването на EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Ползване на часовника на Windows с висока точност: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Извеждане на етикетите (метаданните)"
 
@@ -1257,7 +1323,7 @@ msgid "Output status information and property notifications"
 msgstr "Извеждане на съобщения за състоянието и промяната на свойства"
 
 msgid "Do not print any progress information"
-msgstr "Да не се извежда информация за напредъка"
+msgstr "Без извеждане на информация за напредъка"
 
 msgid "Output messages"
 msgstr "Изходни съобщения"
@@ -1267,7 +1333,7 @@ msgid ""
 "output is enabled (can be used multiple times)"
 msgstr ""
 "Без извеждане на информацията за състоянието на указаното свойство, ако е "
-"включен подробния изход (може да се ползва много пъти)"
+"включен подробният изход (може да се ползва много пъти)"
 
 msgid "PROPERTY-NAME"
 msgstr "ИМЕ-НА-СВОЙСТВО"
@@ -1282,6 +1348,24 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr "Събиране и показване на статистика за индекса"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Без отпечатване на текущото местоположение на конвейера. Когато опцията не е "
+"указва, местоположението се отпечатва, ако изходът е терминал. За да "
+"позволите печат, дори когато изходът не е терминал, ползвайте опцията „force-"
+"position“"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Позволяване на отпечатване на текущото на текущото местоположение на "
+"конвейера, дори и изходът да не е терминал. Опцията „no-position“ е с "
+"приоритет над тази"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ГРЕШКА: конвейерът не може да бъде конструиран: %s.\n"
@@ -1299,8 +1383,8 @@ msgstr "ГРЕШКА: не е открит елемент за конвейер
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Конвейерът се дава НА ПАУЗА…\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ГРЕШКА: конвейерът не изпълнява даването на пауза.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Неуспешно даване НА ПАУЗА на конвейера.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Конвейерът работи и не се нуждае от БУФЕРИРАНЕ…\n"
@@ -1308,56 +1392,11 @@ msgstr "Конвейерът работи и не се нуждае от БУФ
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Конвейерът се БУФЕРИРА…\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ГРЕШКА: конвейерът не иска да превърти напред.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Конвейерът е БУФЕРИРАН…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Конвейерът се дава за ИЗПЪЛНЕНИЕ…\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ГРЕШКА: конвейерът не иска да проработи.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Включен е EOS при спиране — извеждане на EOS по конвейера\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Включен е EOS при спиране — извеждане на EOS след грешка\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Изчакване на EOS…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Получен е край на поток: конвейерът се спира…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Прекъсване при изчакване: конвейерът се спира…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Възникна грешка при изчакването на EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Изпълнението завърши след %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Конвейерът е в ГОТОВНОСТ…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Конвейерът се ЗАНУЛЯВА…\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Конвейерът се освобождава…\n"
-
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Грешка при затварянето на файла „%s“."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Грешка при затварянето на файла „%s“."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Грешка при запис във файл „%s“."
diff --git a/po/ca.po b/po/ca.po
index 05045a1..25d91bc 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-11-04 19:41+0100\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -15,6 +15,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=n!=1;\n"
 
 msgid "Print the GStreamer version"
@@ -95,6 +96,7 @@ msgstr "Opcions del GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Mostra les opcions del GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opció desconeguda"
 
@@ -840,9 +842,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -863,6 +870,9 @@ msgstr ""
 "Informació de depuració addicional:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -871,14 +881,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "no hi ha cap propietat «%s» en l'element «%s»"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "El fitxer «%s» és un sòcol."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "no s'ha pogut establir la propietat «%s» en l'element «%s» a «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "no hi ha cap element «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "no s'ha pogut establir la propietat «%s» en l'element «%s» a «%s»"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "no s'ha pogut establir la propietat «%s» en l'element «%s» a «%s»"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -898,10 +927,6 @@ msgstr "no s'ha pogut enllaçar %s a %s"
 msgid "could not link %s to %s"
 msgstr "no s'ha pogut enllaçar %s a %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "no hi ha cap element «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1063,6 +1088,10 @@ msgstr ""
 msgid "controllable"
 msgstr "controlable"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "controlable"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "es pot canviar als estats NUL, PREPARAT, EN PAUSA o REPRODUINT"
 
@@ -1141,8 +1170,11 @@ msgstr ""
 "Mostra els esquemes d'URI implementats, amb els elements que els implementen"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1156,6 +1188,12 @@ msgstr "L'element o connector «%s» no existeix\n"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "S'està establint el conducte a REPRODUINT…\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERROR: el conducte no vol reproduir-se.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "S'ha rebut el missatge #%u de l'element «%s» (%s): "
@@ -1176,6 +1214,9 @@ msgstr "S'ha rebut el missatge %u: (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "S'ha obtingut un final del flux de l'element «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "S'ha rebut un final del flux - s'està aturant el conducte…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "MARCADOR TROBAT: trobat per l'element «%s».\n"
@@ -1215,6 +1256,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "AVÍS: des de l'element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "El conducte s'ha PREPARAT…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 "S'ha preparat, s'està esperant a que s'òmpliga la memòria intermèdial…\n"
@@ -1231,6 +1275,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "S'està omplert la memòria intermèdia, s'estableix el conducte REPRODUINT…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 "S'està omplint la memòria intermèdia, s'estableix el conducte a EN PAUSA…\n"
@@ -1243,9 +1288,23 @@ msgstr "Redistribució de la latència…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "S'està establint l'estat a %s a petició de %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrupció: S'està aturant el conducte…\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrupció: S'està aturant el conducte…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"S'ha habilitat el final del flux en tancar -- S'està forçant un final del "
+"flux al conducte\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "S'està esperant al final del flux…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1258,6 +1317,16 @@ msgstr "no hi ha cap element «%s»"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "AVÍS: des de l'element %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERROR: el conducte no vol preparar-se.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "S'ha produït un error en esperar al final del flux\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Mostra els marcadors (també coneguts com metadades)"
 
@@ -1290,6 +1359,17 @@ msgstr "Força el final del flux abans de tancar el conducte"
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERROR: no s'ha pogut construir el conducte: %s.\n"
@@ -1307,8 +1387,9 @@ msgstr "ERROR: l'element «conducte» no s'ha trobat.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "S'està establint el conducte a EN PAUSA…\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROR: el conducte no es vol posar en pausa.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "S'està establint el conducte a EN PAUSA…\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "El conducte és en directe i no necessita PREPARACIÓ…\n"
@@ -1316,98 +1397,40 @@ msgstr "El conducte és en directe i no necessita PREPARACIÓ…\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "El conducte s'està PREPARANT…\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERROR: el conducte no vol preparar-se.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "El conducte s'ha PREPARAT…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "S'està establint el conducte a REPRODUINT…\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERROR: el conducte no vol reproduir-se.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"S'ha habilitat el final del flux en tancar -- S'està forçant un final del "
-"flux al conducte\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"S'ha habilitat el final del flux en tancar -- S'està forçant un final del "
-"flux al conducte\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "S'està esperant al final del flux…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "S'ha rebut un final del flux - s'està aturant el conducte…\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrupció: S'està aturant el conducte…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "S'ha produït un error en esperar al final del flux\n"
-
 msgid "Execution ended after %"
 msgstr "L'execució ha finalitzat després de %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "S'està establint el conducte a PREPARAT…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "S'està establint el conducte a NUL…\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "S'està alliberant el conducte…\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "S'ha produït un error en carregar %s\n"
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "S'ha produït un error en carregar %s\n"
-
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "S'ha produït un error en carregar %s\n"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "S'ha produït un error en escriure al fitxer «%s»."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "S'ha produït un error intern de flux de dades."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "No mostres informació d'estat de TIPUS"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TIPUS1,TIPUS2,…"
-
 #~ msgid "link without source element"
 #~ msgstr "l'enllaç no té un element font"
 
 #~ msgid "link without sink element"
 #~ msgstr "l'enllaç no té un element sortida"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "no hi ha cap element el qual enllaçar a l'URI «%s»"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Imprimeix una traça d'alloc (si s'ha habilitat al compilar)"
+#~ msgid "Internal data stream error."
+#~ msgstr "S'ha produït un error intern de flux de dades."
+
+#~ msgid "maximum"
+#~ msgstr "màxim"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
 #~ "Forma d'ús: gst-xmllaunch <file.xml> [ element.propietat=valor … ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "ERROR: l'anàlisi del fitxer xml «%s» ha fallat.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr ""
 #~ "ERROR: no hi ha cap conducte de nivell superior en el fitxer «%s».\n"
@@ -1415,13 +1438,21 @@ msgstr "S'està alliberant el conducte…\n"
 #~ msgid "WARNING: only one toplevel element is supported at this time.\n"
 #~ msgstr "AVÍS: només es gestiona un element de primer nivell ara mateix.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr ""
 #~ "ERROR: no s'ha pogut analitzar l'argument de la línia d'ordres %d: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "AVÍS: no s'ha trobat l'element anomenat «%s».\n"
 
+#~ msgid "Do not output status information of TYPE"
+#~ msgstr "No mostres informació d'estat de TIPUS"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TIPUS1,TIPUS2,…"
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Desa la representació xml del conducte a FITXER i surt"
 
@@ -1431,6 +1462,15 @@ msgstr "S'està alliberant el conducte…\n"
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr "No instaŀles gestors de senyals per a SIGUSR1 i SIGUSR2"
 
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Imprimeix una traça d'alloc (si s'ha habilitat al compilar)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERROR: el conducte no es vol posar en pausa.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "S'està establint el conducte a PREPARAT…\n"
+
 #~ msgid "Internal GStreamer error: state change failed."
 #~ msgstr ""
 #~ "S'ha produït un error intern de GStreamer: ha fallat el canvi d'estat."
@@ -1598,6 +1638,9 @@ msgstr "S'està alliberant el conducte…\n"
 #~ msgid "Trying to load %s ...\n"
 #~ msgstr "S'està intentant carregar %s…\n"
 
+#~ msgid "Error loading %s\n"
+#~ msgstr "S'ha produït un error en carregar %s\n"
+
 #~ msgid "Loaded %d plugins with %d %s.\n"
 #~ msgstr "S'han carregat %d connectors amb %d %s.\n"
 
diff --git a/po/cs.po b/po/cs.po
index c504a6a..0ab2ed7 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2017-09-13 15:04+0200\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -96,6 +96,7 @@ msgstr "Přepínače GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Zobrazit přepínače GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Neznámý přepínač"
 
@@ -830,9 +831,14 @@ msgstr "soukromá data"
 msgid "Private data"
 msgstr "Soukromá data"
 
+#. separator between two strings
 msgid ", "
 msgstr "; "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Nebyla nalezena žádná adresa URI ovladače pro protokol %s"
@@ -853,6 +859,9 @@ msgstr ""
 "Dodatečné ladicí informace:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "připojení nemá žádný zdroj [sink=%s@%p]"
@@ -861,14 +870,33 @@ msgstr "připojení nemá žádný zdroj [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "připojení nemá žádný cíl [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "v elementu „%2$s“ není žádná vlastnost „%1$s“"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Soubor „%s“ je soket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nelze nastavit vlastnost „%s“ v elementu „%s“ na „%s“"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "element „%s“ neexistuje"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nelze nastavit vlastnost „%s“ v elementu „%s“ na „%s“"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "nelze nastavit vlastnost „%s“ v elementu „%s“ na „%s“"
+
 msgid "Delayed linking failed."
 msgstr "Odložené propojení selhalo."
 
@@ -890,10 +918,6 @@ msgstr "nelze připojit element „%s“ k elementu „%s“ se schopností %s"
 msgid "could not link %s to %s"
 msgstr "nelze připojit element „%s“ k elementu „%s“"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "element „%s“ neexistuje"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "neočekávaný odkaz „%s“ – ignoruje se"
@@ -1053,6 +1077,10 @@ msgstr "zavržené"
 msgid "controllable"
 msgstr "lze ovládat"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "lze ovládat"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "lze změnit ve stavu PRÁZDNÉ, PŘIPRAVENO, POZASTAVENO nebo PŘEHRÁVÁ"
 
@@ -1138,8 +1166,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Vypsat podporovaná schémata URI, včetně elementů, které implementují"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1153,6 +1184,13 @@ msgstr "Element nebo zásuvný modul „%s“ neexistuje\n"
 msgid "Index statistics"
 msgstr "Přehledové statistiky"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Nastavuje se roura na PŘEHRÁVÁNÍ…\n"
+
+# On strike?
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "CHYBA: roura nechce přehrávat.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Obdržena zpráva čís. %u od elementu „%s“ (%s): "
@@ -1173,6 +1211,9 @@ msgstr "Obdržena zpráva čís. %u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Obdržen konec proudu od elementu „%s“.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Obdržen konec proudu (EOS) – zastavuje se roura…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
@@ -1215,6 +1256,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "VAROVÁNÍ: od elementu %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Roura je PŘEDVINUTA…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 "Video vložené před začátek, čeká se na dokončení ulokládání do vyrovnávací "
@@ -1230,6 +1274,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Ukládání do vyrovnávací paměti hotovo, nastavuje se roura na PŘEHRÁVÁ…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Ukládá se do vyrovnávací paměti, nastavuje se roura na POZASTAVENA…\n"
 
@@ -1240,9 +1285,22 @@ msgstr "Šíří se zpoždění…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Nastavuje se stav na %s na základě požadavku od %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Přerušení: Zastavuje se roura…\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Přerušení při čekání na konec proudu – zastavuje se roura…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Zakončení proudu (EOS) při vypnutí povoleno -- Vynucuje se zakončení proudu "
+"v rouře\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Čeká se na konec proudu (EOS)…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Průběh: (%s) %s\n"
@@ -1255,6 +1313,17 @@ msgstr "Schází element: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Obdržen kontext od elementu „%s“: %s=%s\n"
 
+# On strike?
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "CHYBA: roura se nechce předvinout.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Nastala chyba při čekání na konec proudu (EOS)\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Vypsat štítky (známé také jako metadata)"
 
@@ -1289,6 +1358,17 @@ msgstr "Vynucuje se zakončení proudu (EOS) před vypnutím roury"
 msgid "Gather and print index statistics"
 msgstr "Sesbírat a vypsat přehledové statistiky"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "CHYBA: nelze sestavit rouru: %s.\n"
@@ -1306,9 +1386,9 @@ msgstr "CHYBA: element „pipeline“ nebyl nalezen.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Nastavuje se rouru na POZASTAVENA…\n"
 
-# On strike?
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "CHYBA: Roura se nechce pozastavit.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nastavuje se rouru na POZASTAVENA…\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Roura žije a nepotřebuje PŘEDVINUTÍ…\n"
@@ -1316,62 +1396,23 @@ msgstr "Roura žije a nepotřebuje PŘEDVINUTÍ…\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Roura se PŘEDVINUJE…\n"
 
-# On strike?
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "CHYBA: roura se nechce předvinout.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Roura je PŘEDVINUTA…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Nastavuje se roura na PŘEHRÁVÁNÍ…\n"
-
-# On strike?
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "CHYBA: roura nechce přehrávat.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Zakončení proudu (EOS) při vypnutí povoleno -- Vynucuje se zakončení proudu "
-"v rouře\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"Zakončení proudu (EOS) při vypnutí povoleno -- Čeká se na značku EOS po "
-"výskytu chyby\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Čeká se na konec proudu (EOS)…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Obdržen konec proudu (EOS) – zastavuje se roura…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Přerušení při čekání na konec proudu – zastavuje se roura…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Nastala chyba při čekání na konec proudu (EOS)\n"
-
 msgid "Execution ended after %"
 msgstr "Provádění skončilo po %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Nastavuje se roura na PŘIPRAVENA…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Nastavuje se roura na PRÁZDNÁ…\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Uvolňuje se roura…\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Chyba při zavírání souboru „%s“."
+# On strike?
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "CHYBA: Roura se nechce pozastavit.\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Chyba při zavírání souboru „%s“."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr ""
+#~ "Zakončení proudu (EOS) při vypnutí povoleno -- Čeká se na značku EOS po "
+#~ "výskytu chyby\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Chyba při zápisu do souboru „%s“."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Nastavuje se roura na PŘIPRAVENA…\n"
diff --git a/po/da.po b/po/da.po
index b86d5ff..39552e2 100644
--- a/po/da.po
+++ b/po/da.po
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2019-02-14 13:26+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -98,6 +98,7 @@ msgstr "GStreamer indstillinger"
 msgid "Show GStreamer Options"
 msgstr "Vis GStreamer-indstillinger"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Ukendt indstilling"
 
@@ -835,9 +836,14 @@ msgstr "private-data"
 msgid "Private data"
 msgstr "Private data"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Ingen URI fortolker fundet til %s protokollen"
@@ -858,6 +864,9 @@ msgstr ""
 "Yderligere fejlsøgningsinformation:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "Henvisningen har ingen kilde [sink=%s@%p]"
@@ -866,14 +875,33 @@ msgstr "Henvisningen har ingen kilde [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "Henvisningen har ingen destination [kilde=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "ingen egenskab \"%s\" for element \"%s\""
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Filen \"%s\" er en sokkel."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "kunne ikke sætte egenskab \"%s\" for element \"%s\" til \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "intet element \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "kunne ikke sætte egenskab \"%s\" for element \"%s\" til \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "kunne ikke sætte egenskab \"%s\" for element \"%s\" til \"%s\""
+
 msgid "Delayed linking failed."
 msgstr "Forsinket oprettelse af forbindelse mislykkedes."
 
@@ -895,10 +923,6 @@ msgstr "kunne ikke lænke %s til %s med store bogstaver %s"
 msgid "could not link %s to %s"
 msgstr "kunne ikke lænke %s til %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "intet element \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "uventet reference \"%s\" - ignorerer"
@@ -1062,6 +1086,10 @@ msgstr "forældet"
 msgid "controllable"
 msgstr "kontrollerbar"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "kontrollerbar"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "kan ændres i tilstandene NULL, READY, PAUSED eller PLAYING"
 
@@ -1145,13 +1173,17 @@ msgstr ""
 "Vis hvilke URI-skemaer der understøttes, sammen med de elementer, der "
 "implementerer dem."
 
+#, fuzzy
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Deaktiver farver i resultatet. Du kan også opnå det samme ved at give "
 "miljøvariablen GST_INSPECT_NO_COLORS en værdi."
 
+msgid "Color output, even when not sending to a tty."
+msgstr ""
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Kunne ikke indlæse pluginfilen: %s\n"
@@ -1163,6 +1195,12 @@ msgstr "Et sådant element eller plugin findes ikke '%s'\n"
 msgid "Index statistics"
 msgstr "Indeks statistikker"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Rørledning sættes til AFSPIL ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FEJL: rørledning ønsker ikke at spille.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Modtog beskeden #%u fra elementet \"%s\" (%s): "
@@ -1183,6 +1221,9 @@ msgstr "Modtog beskeden #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Modtog medieslut fra element \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Medieslut modtaget - stopper rørledning...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "FUNDET MÆRKAT       : fundet af element \"%s\".\n"
@@ -1221,6 +1262,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ADVARSEL: fra element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Rørledningen er PREROLL'ed ...\n"
+
 # Ingen anelse
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Prerolled, venter på at bufferingen slutter...\n"
@@ -1235,6 +1279,7 @@ msgstr "indlæser i buffer..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Buffering færdig, sætter rørledning til PLAYING ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Indlæser i buffer, sætter rørledning til PAUSED ...\n"
 
@@ -1245,9 +1290,21 @@ msgstr "Omlægger ventetid...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Sætter tilstand til %s som krævet af %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Afbrydelse: Stopper rørledning...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Afbrydelse afventende EOS  - stopper rørledning...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Medieslut ved nedlukning aktiveret -- Gennemtving medieslut på rørledningen\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Venter på medieslut...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Fremdrift: (%s) %s\n"
@@ -1260,6 +1317,16 @@ msgstr "Manglende element: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Fik kontekst fra element '%s': %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FEJL: rørledning ønsker ikke at preroll.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Der opstod en fejl mens der ventedes på medieslut\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Uddatamærkater (også kendt som metadata)"
 
@@ -1294,6 +1361,17 @@ msgstr "Gennemtving medieslut på kilder før nedlukning af rørledning"
 msgid "Gather and print index statistics"
 msgstr "Saml og udskriv indeks statistikker"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FEJL: rørledningen kunne ikke dannes: %s.\n"
@@ -1311,8 +1389,9 @@ msgstr "FEJL: elementet 'rørledning' blev ikke fundet.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "PAUSERER rørledning ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FEJL: rørledning ønsker ikke at pausere.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "PAUSERER rørledning ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Rørledningen kører, og behøver ikke at blive PREROLL'ed ...\n"
@@ -1320,61 +1399,40 @@ msgstr "Rørledningen kører, og behøver ikke at blive PREROLL'ed ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Rørledningen PREROLL'er ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FEJL: rørledning ønsker ikke at preroll.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Rørledningen er PREROLL'ed ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Rørledning sættes til AFSPIL ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FEJL: rørledning ønsker ikke at spille.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Medieslut ved nedlukning aktiveret -- Gennemtving medieslut på rørledningen\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ved nedlukning aktiveret -- venter på EOS efter Fejl\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Venter på medieslut...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Medieslut modtaget - stopper rørledning...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Afbrydelse afventende EOS  - stopper rørledning...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Der opstod en fejl mens der ventedes på medieslut\n"
-
 msgid "Execution ended after %"
 msgstr "Udførsel afsluttet efter %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Rørledning sættes til KLAR ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Rørledning sættes til NUL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Rørledning frigøres ...\n"
 
+#, c-format
 #~ msgid "Error creating pipe: %s\n"
 #~ msgstr "Fejl ved oprettelse af datakanal: %s\n"
 
+#, c-format
 #~ msgid "Error forking: %s\n"
 #~ msgstr "Fejl ved forgrening: %s\n"
 
+#, c-format
 #~ msgid "Error reading from console: %s\n"
 #~ msgstr "Der opstod en fejl ved læsning fra konsollen: %s\n"
 
+#, c-format
 #~ msgid "Error writing to console: %s\n"
 #~ msgstr "Der opstod en fejl under skrivning til konsollen: %s\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FEJL: rørledning ønsker ikke at pausere.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS ved nedlukning aktiveret -- venter på EOS efter Fejl\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Rørledning sættes til KLAR ...\n"
+
 #~ msgid "bin"
 #~ msgstr "lager"
 
diff --git a/po/de.po b/po/de.po
index 62aefc4..0445572 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,25 +1,25 @@
-# German translation for gstreamer 1.7.90
+# German translation for gstreamer 1.19.2
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 #
 # Roland Illig <roland.illig@gmx.de>, 2004.
-# Christian Kirbach <christian.kirbach@gmail.com>, 2009, 2010, 2011, 2012, 2013, 2015, 2016.
+# Christian Kirbach <christian.kirbach@gmail.com>, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2019, 2020, 2021.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-25 16:25+0200\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-16 22:34+0100\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.0.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.1.1\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 msgid "Print the GStreamer version"
@@ -100,6 +100,7 @@ msgstr "Optionen von GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Die Optionen von GStreamer anzeigen"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Unbekannte Option"
 
@@ -275,7 +276,7 @@ msgstr "Keine Standardfehlermeldung für den Bereich %s und Fehlercode %d."
 
 msgid "Selected clock cannot be used in pipeline."
 msgstr ""
-"Der ausgewählte Referenztakt kann nicht in der Pipeline verwendet werden."
+"Der ausgewählte Referenztakt kann nicht in der Leitung verwendet werden."
 
 #, c-format
 msgid "Error writing registry cache to %s: %s"
@@ -725,7 +726,7 @@ msgid ""
 "means the geographic north, and increases clockwise"
 msgstr ""
 "Zeigt die Bewegungsrichtung des Aufzeichnungsgeräts während der Aufzeichnung "
-"eines Mediums an. Die Darstellung erfolgt in Grad als Fließkommazahl. 0 "
+"eines Mediums an. Die Darstellung erfolgt in Grad als Gleitkommazahl. 0 "
 "entspricht dem geografischen Norden und die Zahl wächst im Uhrzeigersinn"
 
 msgid "geo location capture direction"
@@ -737,7 +738,7 @@ msgid ""
 "geographic north, and increases clockwise"
 msgstr ""
 "Zeigt die Richtung des Geräts während der Aufzeichnung eines Mediums an. Die "
-"Darstellung erfolgt in Grad als Fließkommazahl. 0 entspricht dem "
+"Darstellung erfolgt in Grad als Gleitkommazahl. 0 entspricht dem "
 "geografischen Norden und die Zahl wächst im Uhrzeigersinn"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
@@ -857,9 +858,14 @@ msgstr "Private-Daten"
 msgid "Private data"
 msgstr "Private Daten"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Ungültige Adresse: »%s«"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Es wurde kein Adress-Handler für das %s-Protokoll gefunden"
@@ -880,6 +886,9 @@ msgstr ""
 "Zusätzliche Fehlerdiagnoseinformation:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "Verknüpfung hat keine Quelle [sink=%s@%p]"
@@ -888,42 +897,59 @@ msgstr "Verknüpfung hat keine Quelle [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "Verknüpfung hat kein Ziel [sink=%s@%p]"
 
+msgid "No such property."
+msgstr "Keine derartige Eigenschaft."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "Keine Eigenschaft »%s« im Element »%s«"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Element »%s« ist kein GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "Die Voreinstellung »%s« konnte nicht im Element »%s« gesetzt werden"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "Kein Element »%s«"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 "Die Eigenschaft »%s« im Element »%s« konnte nicht auf »%s« gesetzt werden"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"Die Eigenschaft »%s« im Unterknoten von Element »%s« konnte nicht auf »%s« "
+"gesetzt werden"
+
 msgid "Delayed linking failed."
 msgstr "Verzögertes Verknüpfen ist fehlgeschlagen."
 
 #, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
 msgstr ""
-"%s konnte nicht mit %s verknüpft werden. %s kann nicht mit Großbuchstaben %s "
-"umgehen"
+"%s konnte nicht mit %s verknüpft werden. %s unterstützt die Fähigkeit %s "
+"nicht."
 
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
 msgstr ""
-"%s konnte nicht mit %s verknüpft werden. Keines der Elemente kann mit "
-"Großbuchstaben %s umgehen"
+"%s konnte nicht mit %s verknüpft werden. Beide Elemente unterstützen die "
+"Fähigkeit %s nicht."
 
 #, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "%s konnte nicht mit %s verknüpft werden mit den Großbuchstaben %s"
+msgstr "%s konnte nicht mit %s mittels Fähigkeit %s verknüpft werden."
 
 #, c-format
 msgid "could not link %s to %s"
 msgstr "%s konnte nicht mit %s verknüpft werden"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "Kein Element »%s«"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "unerwartete Referenz »%s« - wird ignoriert"
@@ -934,7 +960,7 @@ msgstr "unerwartete pad-Referenz »%s« - wird ignoriert"
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "Die Fähigkeiten von »%s« konnten nicht ausgelesen werden"
+msgstr "Die Fähigkeiten von »%s« konnten nicht verarbeitet werden"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -960,6 +986,8 @@ msgstr "Leere Leitung ist nicht erlaubt"
 
 msgid "Pipeline construction is invalid, please add queues."
 msgstr ""
+"Die Zusammensetzung der Leitung ist ungültig. Bitte fügen Sie Warteschlangen "
+"hinzu."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Es werden viele Puffer verworfen."
@@ -971,7 +999,7 @@ msgid "Internal data flow error."
 msgstr "Interner Fehler im Datenfluss."
 
 msgid "Internal clock error."
-msgstr "Interner Zeitfehler"
+msgstr "Interner Zeitfehler."
 
 msgid "Failed to map buffer."
 msgstr "Pufferzuweisung schlug fehl."
@@ -1045,6 +1073,7 @@ msgstr "Nach dem Durchlaufen fehlgeschlagen. Wie gewünscht."
 
 msgid "eos-after and error-after can't both be defined."
 msgstr ""
+"»eos-after« und »error-after« dürfen nicht gleichzeitig festgelgt werden."
 
 msgid "caps"
 msgstr "Fähigkeiten"
@@ -1067,9 +1096,9 @@ msgstr "Der Datenstrom enthält nicht genug Daten."
 msgid "Stream contains no data."
 msgstr "Der Datenstrom enthält keine Daten."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Implementierte Schnittstellen:\n"
+msgstr "%sImplementierte Schnittstellen%s:\n"
 
 msgid "readable"
 msgstr "lesbar"
@@ -1083,6 +1112,9 @@ msgstr "veraltet"
 msgid "controllable"
 msgstr "regelbar"
 
+msgid "conditionally available"
+msgstr "unter Vorbehalt verfügbar"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "änderbar in den Status NULL, BEREIT, PAUSIERT oder ABSPIELEN"
 
@@ -1095,9 +1127,9 @@ msgstr "änderbar nur in den Status NULL oder BEREIT"
 msgid "Blacklisted files:"
 msgstr "Dateien auf der schwarzen Liste:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Gesamtzahl: "
+msgstr "%sGesamtzahl%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1158,16 +1190,22 @@ msgid ""
 "at least the version specified"
 msgstr ""
 "Kontrollieren Sie beim Prüfen, ob ein Element oder Plugin vorhanden ist, "
-"ebenfalls, ob die Version mindestens der angegebenen entspricht."
+"ebenfalls, ob die Version mindestens der angegebenen entspricht"
 
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Unterstützte URI-Schemata mit den Elementen ausgeben, die sie implementieren"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Farben in der Ausgabe deaktivieren. Dasselbe kann auch erzielt werden, indem "
+"die Umgebungsvariable »GST_INSPECT_NO_COLORS« auf einen beliebigen Wert "
+"gesetzt wird."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Farbausgabe, auch wenn nicht an tty gesendet wird"
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1180,6 +1218,12 @@ msgstr "Kein solches Element oder Plugin »%s«\n"
 msgid "Index statistics"
 msgstr "Index-Statistiken"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Leitung wird auf ABSPIELEN gesetzt ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FEHLER: Leitung spielt nicht ab.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Nachricht #%u wurde von Element »%s« (%s) erhalten: "
@@ -1200,6 +1244,9 @@ msgstr "Nachricht #%u (%s) wurde erhalten: "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "EOS wurde von Element »%s« erhalten.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS erhalten - Leitung wird angehalten …\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "KENNZEICHEN GEFUNDEN: Gefunden von Element »%s«.\n"
@@ -1238,6 +1285,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "WARNUNG: Von Element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Leitung ist vorgelaufen …\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Vorgelaufen, auf Ende des Zwischenspeicherns warten …\n"
 
@@ -1251,6 +1301,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Zwischenspeichern abgeschlossen, Leitung wird auf ABSPIELEN gesetzt …\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 "Zwischenspeichern, Leitung wird auf PAUSIERT gesetzt …\n"
@@ -1263,9 +1314,21 @@ msgstr "Verzögerung neu verteilen …\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Status wird auf %s gesetzt wie von %s gewünscht...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrupt: Leitung wird gestoppt ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrupt beim Warten auf EOS - Leitung wird gestoppt ...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"EOS bei Beenden ist eingeschaltet -- EOS wird auf die Leitung erzwungen\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Auf EOS wird gewartet …\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Fortschritt: (%s) %s\n"
@@ -1278,6 +1341,16 @@ msgstr "Fehlendes Element »%s«\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Kontext von Element »%s« erhalten: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FEHLER: Leitung läuft nicht vor.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Ein Fehler ist beim Warten auf EOS aufgetreten\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Hochgenaue Windows-Uhr verwenden. Präzision: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Kennzeichen (auch bekannt als Metadaten) ausgeben"
 
@@ -1312,6 +1385,22 @@ msgstr "EOS auf Quelle vor dem Beenden der Leitung erzwingen"
 msgid "Gather and print index statistics"
 msgstr "Index-Statistiken sammeln und ausgeben"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Nicht die aktuelle Position der Leitung ausgeben. Wenn diese Option nicht "
+"angegeben wird, dann wird die Position ausgegeben, wenn die Standardausgabe "
+"ein TTY ist"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Die Ausgabe der aktuellen Position der Leitung zulassen, wenn die "
+"Standardausgabe kein TTY ist."
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FEHLER: Leitung konnte nicht konstruiert werden: %s.\n"
@@ -1329,8 +1418,8 @@ msgstr "FEHLER: Das Element »Leitung« wurde nicht gefunden.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Leitung wird auf PAUSIERT gesetzt ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FEHLER: Leitung möchte nicht pausiert werden.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Setzen der Leitung auf PAUSIERT ist fehlgeschlagen.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Leitung ist aktiv und erfordert keinen VORLAUF …\n"
@@ -1338,64 +1427,24 @@ msgstr "Leitung ist aktiv und erfordert keinen VORLAUF …\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Leitung läuft vor …\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FEHLER: Leitung läuft nicht vor.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Leitung ist vorgelaufen …\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Leitung wird auf ABSPIELEN gesetzt ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FEHLER: Leitung spielt nicht ab.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"EOS bei Beenden ist eingeschaltet -- EOS wird auf die Leitung erzwungen\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS bei Beenden ist eingeschaltet -- warten auf EOS nach dem Fehler\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Auf EOS wird gewartet …\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS erhalten - Leitung wird angehalten …\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrupt beim Warten auf EOS - Leitung wird gestoppt ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Ein Fehler ist beim Warten auf EOS aufgetreten\n"
-
 msgid "Execution ended after %"
 msgstr "Ausführung beendet nach %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Leitung wird auf BEREIT gesetzt ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Leitung wird auf NULL gesetzt ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Leitung wird geleert ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Fehler beim Schließen der Datei »%s«."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Fehler beim Schließen der Datei »%s«."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FEHLER: Leitung möchte nicht pausiert werden.\n"
 
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "Fehler beim erneuten Einlesen der Registry %s : %s"
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr ""
+#~ "EOS bei Beenden ist eingeschaltet -- warten auf EOS nach dem Fehler\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Fehler beim Schreiben der Daten »%s«."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Leitung wird auf BEREIT gesetzt ...\n"
 
 #~ msgid "bin"
 #~ msgstr "Behälter"
@@ -1454,6 +1503,9 @@ msgstr "Leitung wird geleert ...\n"
 #~ msgstr ""
 #~ "Speicherzuordnungsverfolgung ausgeben (falls zur Kompilierzeit aktiviert)"
 
+#~ msgid "Error re-scanning registry %s: %s"
+#~ msgstr "Fehler beim erneuten Einlesen der Registry %s : %s"
+
 #~ msgid "Error re-scanning registry %s"
 #~ msgstr "Fehler beim erneuten Einlesen der Registry %s"
 
diff --git a/po/el.po b/po/el.po
index 17e463c..f478a98 100644
--- a/po/el.po
+++ b/po/el.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.30.3\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-11-29 11:14+0200\n"
 "Last-Translator: Michael Kotsarinis <mk73628@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -14,6 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n!= 1)\n"
 "X-Poedit-Language: Greek\n"
 "X-Poedit-Country: GREECE\n"
@@ -95,6 +96,7 @@ msgstr "Επιλογές του GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Εμφάνιση επιλογών του GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Άγνωστη επιλογή"
 
@@ -852,9 +854,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -875,6 +882,9 @@ msgstr ""
 "Επιπλέον πληροφορίες αποσφαλμάτωσης:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -883,14 +893,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "δεν υπάρχει ιδιότητα «%s» στο στοιχείο «%s»"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Το αρχείο «%s» είναι μια υποδοχή."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "αδυναμία ορισμού ιδιότητας «%s» στο στοιχείο «%s» σε «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "δεν υπάρχει στοιχείο «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "αδυναμία ορισμού ιδιότητας «%s» στο στοιχείο «%s» σε «%s»"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "αδυναμία ορισμού ιδιότητας «%s» στο στοιχείο «%s» σε «%s»"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -910,10 +939,6 @@ msgstr "αδυναμία σύνδεσης %s σε %s"
 msgid "could not link %s to %s"
 msgstr "αδυναμία σύνδεσης %s σε %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "δεν υπάρχει στοιχείο «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1075,6 +1100,10 @@ msgstr ""
 msgid "controllable"
 msgstr "ελεγχόμενο"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "ελεγχόμενο"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "μπορεί να αλλάξει σε κατάσταση NULL, READY, PAUSED ή PLAYING"
 
@@ -1152,8 +1181,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Εμφάνιση υποστηριζόμενων μορφών URI, με τα στοιχεία που τις υλοποιούν"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1167,6 +1199,12 @@ msgstr "Δεν υπάρχει τέτοιο στοιχείο ή πρόσθετο
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Ορισμός διασωλήνωσης σε PLAYING …\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERROR: η διασωλήνωση δεν θέλει να αναπαραχθεί.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Ελήφθη το μήνυμα  #%u από το στοιχείο «%s» (%s): "
@@ -1187,6 +1225,9 @@ msgstr "Ελήφθη το μήνυμα  #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Ελήφθη EOS από το στοιχείο «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Λήψη EOS - διακοπή διασωλήνωσης…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "FOUND TAG      : εύρεση κατά στοιχείο «%s».\n"
@@ -1226,6 +1267,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "WARNING: από το στοιχείο %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Η διασωλήνωση είναι PREROLLED …\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Προτυλιγμένο, αναμονή για ολοκλήρωση η αποθήκευση ροής…\n"
 
@@ -1239,6 +1283,7 @@ msgstr "προσωρινή αποθήκευση…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Αποθήκευση ολοκληρώθηκε, ορισμός διασωλήνωσης σε PLAYING …\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Αποθήκευση, ορισμός διασωλήνωσης σε PAUSED …\n"
 
@@ -1249,9 +1294,22 @@ msgstr "Καθυστέρηση αναδιανομής…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Ορισμός κατάστασης σε %s όπως ζητήθηκε από %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Διακοπή: Τερματισμός διασωλήνωσης…\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Διακοπή: Τερματισμός διασωλήνωσης…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Ενεργοποίηση του EOS κατά τον τερματισμό -- Επιβολή του EOS στη διασωλήνωση\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Αναμονή για EOS…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1264,6 +1322,16 @@ msgstr "δεν υπάρχει στοιχείο «%s»"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "WARNING: από το στοιχείο %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERROR: η διασωλήνωση δεν θέλει να προτυλιχθεί.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Προέκυψε σφάλμα κατά την αναμονή για EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Ετικέτες εξόδου (επίσης γνωστές ως μεταδεδομένα)"
 
@@ -1296,6 +1364,17 @@ msgstr "Εξαναγκασμός του EOS στις πηγές πριν το κ
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERROR: αδυναμία κατασκευής διασωλήνωσης: %s.\n"
@@ -1313,8 +1392,9 @@ msgstr "ERROR: το στοιχείο 'διασωλήνωση' δεν βρέθη
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Ορισμός διασωλήνωσης σε PAUSED …\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROR: Η διασωλήνωση δεν θέλει να παύσει.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Ορισμός διασωλήνωσης σε PAUSED …\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Η διασωλήνωση είναι ενεργή και δεν χρειάζεται PREROLL … \n"
@@ -1322,93 +1402,39 @@ msgstr "Η διασωλήνωση είναι ενεργή και δεν χρει
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Η διασωλήνωση είναι σε PREROLLING …\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERROR: η διασωλήνωση δεν θέλει να προτυλιχθεί.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Η διασωλήνωση είναι PREROLLED …\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Ορισμός διασωλήνωσης σε PLAYING …\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERROR: η διασωλήνωση δεν θέλει να αναπαραχθεί.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Ενεργοποίηση του EOS κατά τον τερματισμό -- Επιβολή του EOS στη διασωλήνωση\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"Ενεργοποίηση του EOS κατά τον τερματισμό -- Επιβολή του EOS στη διασωλήνωση\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Αναμονή για EOS…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Λήψη EOS - διακοπή διασωλήνωσης…\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Διακοπή: Τερματισμός διασωλήνωσης…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Προέκυψε σφάλμα κατά την αναμονή για EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Η εκτέλεση τελείωσε μετά %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Ορισμός διασωλήνωσης σε READY …\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Ορισμός διασωλήνωσης σε NULL …\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Αποδέσμευση της διασωλήνωσης …\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Σφάλμα κλεισίματος αρχείου «%s»."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Σφάλμα κλεισίματος αρχείου «%s»."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Σφάλμα κατά την εγγραφή στο αρχείο «%s»."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Να μην εξάγεται πληροφορία κατάστασης εξόδου του TYPE"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TYPE1,TYPE2,…"
-
 #~ msgid "link without source element"
 #~ msgstr "σύνδεση χωρίς στοιχείο προέλευσης"
 
 #~ msgid "link without sink element"
 #~ msgstr "σύνδεση χωρίς στοιχείο προορισμού"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "δεν υπάρχει στοιχείο για τη σύνδεση του URI «%s» σε"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr ""
-#~ "Εμφάνιση ίχνους αντιστοίχισης (αν είναι ενεργοποιημένο κατά τη "
-#~ "μεταγλώττιση κώδικα)"
+#~ msgid "Internal data stream error."
+#~ msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+
+#~ msgid "maximum"
+#~ msgstr "μέγιστο"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr "Χρήση: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "ERROR: αποτυχία ανάλυσης αρχείου xml '%s'.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr ""
 #~ "ERROR: δεν υπάρχει στοιχείο διασωλήνωσης στο ανώτερο επίπεδο στο αρχείο "
@@ -1419,12 +1445,20 @@ msgstr "Αποδέσμευση της διασωλήνωσης …\n"
 #~ "WARNING: μόνο ένα στοιχείο σε ανώτερο επίπεδο υποστηρίζεται αυτή τη "
 #~ "στιγμή.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr "ERROR: αδυναμία ανάλυσης ορίσματος γραμμής εντολής %d: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "WARNING: το στοιχείο με το όνομα '%s' δεν βρέθηκε.\n"
 
+#~ msgid "Do not output status information of TYPE"
+#~ msgstr "Να μην εξάγεται πληροφορία κατάστασης εξόδου του TYPE"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TYPE1,TYPE2,…"
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Αποθήκευση xml αναπαράστασης της διασωλήνωσης στο FILE και έξοδος"
 
@@ -1433,3 +1467,14 @@ msgstr "Αποδέσμευση της διασωλήνωσης …\n"
 
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr "Να μην εγκατασταθούν χειριστές σημάτων για SIGUSR1 και SIGUSR2"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr ""
+#~ "Εμφάνιση ίχνους αντιστοίχισης (αν είναι ενεργοποιημένο κατά τη "
+#~ "μεταγλώττιση κώδικα)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERROR: Η διασωλήνωση δεν θέλει να παύσει.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Ορισμός διασωλήνωσης σε READY …\n"
diff --git a/po/en_GB.po b/po/en_GB.po
index 3d20ab0..3bd543b 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2004-04-26 10:36-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
@@ -14,6 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
 msgid "Print the GStreamer version"
 msgstr "Print the GStreamer version"
@@ -90,6 +91,7 @@ msgstr ""
 msgid "Show GStreamer Options"
 msgstr "Print the GStreamer version"
 
+#, c-format
 msgid "Unknown option"
 msgstr ""
 
@@ -667,9 +669,8 @@ msgid ""
 "according to WGS84 (zero is average sea level)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location country"
-msgstr "location"
+msgstr ""
 
 msgid "country (english name) where the media has been recorded or produced"
 msgstr ""
@@ -681,33 +682,29 @@ msgstr "location"
 msgid "city (english name) where the media has been recorded or produced"
 msgstr ""
 
-#, fuzzy
 msgid "geo location sublocation"
-msgstr "location"
+msgstr ""
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "location"
+msgstr ""
 
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement speed"
-msgstr "location"
+msgstr ""
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement direction"
-msgstr "location"
+msgstr ""
 
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
@@ -715,9 +712,8 @@ msgid ""
 "means the geographic north, and increases clockwise"
 msgstr ""
 
-#, fuzzy
 msgid "geo location capture direction"
-msgstr "location"
+msgstr ""
 
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
@@ -754,9 +750,8 @@ msgstr "disc number"
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#, fuzzy
 msgid "lyrics"
-msgstr "licence"
+msgstr ""
 
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
@@ -764,9 +759,8 @@ msgstr ""
 msgid "composer sortname"
 msgstr ""
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "person(s) responsible for the recording"
+msgstr ""
 
 msgid "grouping"
 msgstr ""
@@ -799,13 +793,11 @@ msgstr ""
 msgid "Model of the device used to create this media"
 msgstr "version of the encoder used to encode this stream"
 
-#, fuzzy
 msgid "application name"
-msgstr "location"
+msgstr ""
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "version of the encoder used to encode this stream"
+msgstr ""
 
 msgid "application data"
 msgstr ""
@@ -843,9 +835,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -866,6 +863,9 @@ msgstr ""
 "Additional debug info:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -874,14 +874,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "no property \"%s\" in element \"%s\""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "could not set property \"%s\" in element \"%s\" to \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "no element \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "could not set property \"%s\" in element \"%s\" to \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "could not set property \"%s\" in element \"%s\" to \"%s\""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -901,10 +920,6 @@ msgstr "could not link %s to %s"
 msgid "could not link %s to %s"
 msgstr "could not link %s to %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "no element \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -976,7 +991,7 @@ msgstr ""
 
 #, fuzzy, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Could not get/set settings from/on resource."
+msgstr "Could not open file \"%s\" for writing."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
@@ -1041,9 +1056,8 @@ msgstr ""
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "album containing this data"
+msgstr ""
 
 #, fuzzy
 msgid "Stream contains no data."
@@ -1056,9 +1070,8 @@ msgstr ""
 msgid "readable"
 msgstr ""
 
-#, fuzzy
 msgid "writable"
-msgstr "title"
+msgstr ""
 
 msgid "deprecated"
 msgstr ""
@@ -1066,6 +1079,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1078,9 +1094,9 @@ msgstr ""
 msgid "Blacklisted files:"
 msgstr ""
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "track count"
+msgstr ""
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1140,8 +1156,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, fuzzy, c-format
@@ -1155,6 +1174,12 @@ msgstr "no source element for URI \"%s\""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERROR: pipeline doesn't want to play.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1175,6 +1200,9 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr "ERROR: from element %s: %s\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "FOUND TAG      : found by element \"%s\".\n"
@@ -1211,6 +1239,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ERROR: from element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1223,6 +1254,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1233,9 +1265,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1248,6 +1291,17 @@ msgstr "no element \"%s\""
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "ERROR: from element %s: %s\n"
 
+#, fuzzy
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERROR: pipeline doesn't want to play.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Output tags (also known as metadata)"
 
@@ -1281,6 +1335,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERROR: pipeline could not be constructed: %s.\n"
@@ -1298,9 +1363,8 @@ msgstr "ERROR: the 'pipeline' element wasn't found.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROR: pipeline doesn't want to play.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
@@ -1308,43 +1372,9 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERROR: pipeline doesn't want to play.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERROR: pipeline doesn't want to play.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr "Execution ended after %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
@@ -1352,65 +1382,6 @@ msgstr ""
 msgid "Freeing pipeline ...\n"
 msgstr "RUNNING pipeline ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Error closing file \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Error closing file \"%s\"."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Error while writing to file \"%s\"."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Do not output status information of TYPE"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TYPE1,TYPE2,..."
-
-#~ msgid "link without source element"
-#~ msgstr "link without source element"
-
-#~ msgid "link without sink element"
-#~ msgstr "link without sink element"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "no element to link URI \"%s\" to"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Print alloc trace (if enabled at compile time)"
-
-#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-#~ msgstr "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "ERROR: parsing of xml file '%s' failed.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr "ERROR: no toplevel pipeline element in file '%s'.\n"
-
-#, fuzzy
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr "WARNING: only one toplevel element is supported at this time."
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr "ERROR: could not parse command line argument %d: %s.\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "WARNING: element named '%s' not found.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr "Save xml representation of pipeline to FILE and exit"
-
-#~ msgid "FILE"
-#~ msgstr "FILE"
-
-#, fuzzy
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Do not install a fault handler"
-
 #~ msgid "Disable accelerated CPU instructions"
 #~ msgstr "Disable accelerated CPU instructions"
 
@@ -1423,9 +1394,11 @@ msgstr "RUNNING pipeline ...\n"
 #~ msgid "REGISTRY"
 #~ msgstr "REGISTRY"
 
+#, c-format
 #~ msgid "path list for loading plugins (separated by '%s')"
 #~ msgstr "path list for loading plugins (separated by '%s')"
 
+#, c-format
 #~ msgid "Scheduler to use (default is '%s')"
 #~ msgstr "Scheduler to use (default is '%s')"
 
@@ -1438,14 +1411,29 @@ msgstr "RUNNING pipeline ...\n"
 #~ msgid "original location of file as a URI"
 #~ msgstr "original location of file as a URI"
 
+#, c-format
 #~ msgid "There is no element present to handle the stream's mime type %s."
 #~ msgstr "There is no element present to handle the stream's mime type %s."
 
+#~ msgid "maximum"
+#~ msgstr "maximum"
+
+#, c-format
 #~ msgid ""
 #~ "could not convert \"%s\" so that it fits property \"%s\" in element \"%s\""
 #~ msgstr ""
 #~ "could not convert \"%s\" so that it fits property \"%s\" in element \"%s\""
 
+#~ msgid "link without source element"
+#~ msgstr "link without source element"
+
+#~ msgid "link without sink element"
+#~ msgstr "link without sink element"
+
+#, c-format
+#~ msgid "no element to link URI \"%s\" to"
+#~ msgstr "no element to link URI \"%s\" to"
+
 #~ msgid "Show plugin details"
 #~ msgstr "Show plugin details"
 
@@ -1467,6 +1455,40 @@ msgstr "RUNNING pipeline ...\n"
 #~ msgid " ns).\n"
 #~ msgstr " ns).\n"
 
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+
+#, c-format
+#~ msgid "ERROR: parse of xml file '%s' failed.\n"
+#~ msgstr "ERROR: parsing of xml file '%s' failed.\n"
+
+#, c-format
+#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
+#~ msgstr "ERROR: no toplevel pipeline element in file '%s'.\n"
+
+#~ msgid "WARNING: only one toplevel element is supported at this time."
+#~ msgstr "WARNING: only one toplevel element is supported at this time."
+
+#, c-format
+#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
+#~ msgstr "ERROR: could not parse command line argument %d: %s.\n"
+
+#, c-format
+#~ msgid "WARNING: element named '%s' not found.\n"
+#~ msgstr "WARNING: element named '%s' not found.\n"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TYPE1,TYPE2,..."
+
+#~ msgid "Save xml representation of pipeline to FILE and exit"
+#~ msgstr "Save xml representation of pipeline to FILE and exit"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Print alloc trace (if enabled at compile time)"
+
 #~ msgid "Number of times to iterate pipeline"
 #~ msgstr "Number of times to iterate pipeline"
 
diff --git a/po/eo.po b/po/eo.po
index 685573c..30508df 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1,21 +1,24 @@
 # Esperanto translation for gstreamer.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2021, 2023 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011.
+# Felipe CASTRO <fefcas@gmail.com>, 2021, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.10.32.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2011-06-04 21:11+0100\n"
-"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2023-01-08 11:53-0300\n"
+"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
 "Language: eo\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.4.2\n"
 
 msgid "Print the GStreamer version"
 msgstr "Eligi la version de GStreamer"
@@ -24,11 +27,12 @@ msgid "Make all warnings fatal"
 msgstr "Igi ĉiujn avertojn fatalaj"
 
 msgid "Print available debug categories and exit"
-msgstr "Eligi disponeblaj sencimig-koategorioj kaj eliri"
+msgstr "Eligi disponeblajn sencimig-kategoriojn kaj eliri"
 
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
+"Apriora sencimiga nivelo el 1 (nur eraroj) al 9 (ĉio) aŭ 0 por neniu eligo"
 
 msgid "LEVEL"
 msgstr "NIVELO"
@@ -37,26 +41,31 @@ msgid ""
 "Comma-separated list of category_name:level pairs to set specific levels for "
 "the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 msgstr ""
+"Komo-apartita listo de paroj kategori_nomo:nivelo por difini specifajn "
+"nivelojn por la individuaj kategorioj. Ekzemplo: GST_AUTOPLUG:5,"
+"GST_ELEMENT_*:3"
 
 msgid "LIST"
 msgstr "LISTO"
 
 msgid "Disable colored debugging output"
-msgstr ""
+msgstr "Malaktivigi koloran sencimigan eliron"
 
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Ŝanĝi kolor-reĝimon de la sencimiga protokolo. Eblaj reĝimoj: off, on, "
+"disable, auto, unix"
 
 msgid "Disable debugging"
-msgstr "Elŝalti sencimigon"
+msgstr "Malaktivigi sencimigon"
 
 msgid "Enable verbose plugin loading diagnostics"
-msgstr ""
+msgstr "Aktivigi detaleman diagnozon de ŝargado je kromaĵo"
 
 msgid "Colon-separated paths containing plugins"
-msgstr ""
+msgstr "Dupunkto-apartitaj vojoj enhavantaj kromaĵojn"
 
 msgid "PATHS"
 msgstr "VOJOJ"
@@ -65,287 +74,296 @@ msgid ""
 "Comma-separated list of plugins to preload in addition to the list stored in "
 "environment variable GST_PLUGIN_PATH"
 msgstr ""
+"Komo-apartita listo de kromaĵoj por antaŭŝargi pluse al la listo konservita "
+"en la medi-variablo GST_PLUGIN_PATH"
 
 msgid "PLUGINS"
-msgstr "KROMPROGRAMOJ"
+msgstr "KROMAÄ´OJ"
 
 msgid "Disable trapping of segmentation faults during plugin loading"
-msgstr ""
+msgstr "Malakvigi interrompon de segmentaj eraroj dum ŝargado je kromaĵoj"
 
 msgid "Disable updating the registry"
-msgstr ""
+msgstr "Malaktivigi ĝisdatigon de registrejo"
 
 msgid "Disable spawning a helper process while scanning the registry"
-msgstr ""
+msgstr "Malaktivigi lanĉo de help-procezon dum traserĉado de la registrejo"
 
 msgid "GStreamer Options"
 msgstr "Opcioj de GStreamer"
 
 msgid "Show GStreamer Options"
-msgstr "Montri la opcijon de GStreamer"
+msgstr "Montri la opciojn de GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Nekonata opcio"
 
 msgid "GStreamer encountered a general core library error."
-msgstr ""
+msgstr "GStreamer trovis ĝeneralan eraron pri kerna biblioteko."
 
 msgid ""
 "GStreamer developers were too lazy to assign an error code to this error."
-msgstr ""
+msgstr "GSTreamer programistoj ne sukcesis atribui erarkodon al tiu ĉi eraro."
 
 msgid "Internal GStreamer error: code not implemented."
-msgstr ""
+msgstr "Interna Eraro de GStreamer: kodo ne realigita."
 
 msgid ""
 "GStreamer error: state change failed and some element failed to post a "
 "proper error message with the reason for the failure."
 msgstr ""
+"Eraro de GStreamer: stat-ŝanĝo malsukcesis kaj iu elemento ne sukcesis "
+"prezenti taŭgan erar-mesaĝon kun kaŭzo de la fiasko."
 
 msgid "Internal GStreamer error: pad problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri Pad."
 
 msgid "Internal GStreamer error: thread problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri fadeno."
 
 msgid "GStreamer error: negotiation problem."
-msgstr ""
+msgstr "Eraro de GStreamer: problemo pri negocado."
 
 msgid "Internal GStreamer error: event problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri evento."
 
 msgid "Internal GStreamer error: seek problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri traserĉado."
 
 msgid "Internal GStreamer error: caps problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri Caps."
 
 msgid "Internal GStreamer error: tag problem."
-msgstr ""
+msgstr "Interna eraro de GStreamer: problemo pri etikedo."
 
 msgid "Your GStreamer installation is missing a plug-in."
-msgstr ""
+msgstr "Mankas kromaĵo en via instalo de GStreamer."
 
 msgid "GStreamer error: clock problem."
-msgstr ""
+msgstr "Eraro de GStreamer: horloĝa problemo."
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
 "disabled."
-msgstr ""
+msgstr "Tiu ĉi aplikaĵo provas uzi malebligitan funkcion de GStreamer."
 
 msgid "GStreamer encountered a general supporting library error."
-msgstr ""
+msgstr "GStreamer trovis ĝeneralan eraron pri subtena biblioteko."
 
 msgid "Could not initialize supporting library."
-msgstr ""
+msgstr "Ne eblis lanĉi subtenan bibliotekon."
 
 msgid "Could not close supporting library."
-msgstr ""
+msgstr "Ne eblis fermi subtenan bibliotekon."
 
 msgid "Could not configure supporting library."
-msgstr ""
+msgstr "Ne eblis agordi subtenan bibliotekon."
 
 msgid "Encoding error."
-msgstr ""
+msgstr "Enkoda eraro."
 
 msgid "GStreamer encountered a general resource error."
-msgstr ""
+msgstr "GStreamer trovis ĝeneralan eraron pri risurco."
 
 msgid "Resource not found."
 msgstr "Ne trovis risurcon."
 
 msgid "Resource busy or not available."
-msgstr "Risurco estas okupite aÅ­ ne disponeble."
+msgstr "Risurco estas okupita aÅ­ ne disponebla."
 
 msgid "Could not open resource for reading."
-msgstr "Ne eblas melfermi la risurcon por legado."
+msgstr "Ne eblis malfermi la risurcon por legado."
 
 msgid "Could not open resource for writing."
-msgstr "Ne eblas melfermi la risurcon por skribado."
+msgstr "Ne eblis malfermi la risurcon por skribado."
 
 msgid "Could not open resource for reading and writing."
-msgstr "Ne eblas melfermi la risurcon por legado kaj skribado."
+msgstr "Ne eblis malfermi la risurcon por legado kaj skribado."
 
 msgid "Could not close resource."
-msgstr "Ne eblas fermi la risurcon."
+msgstr "Ne eblis fermi la risurcon."
 
 msgid "Could not read from resource."
-msgstr "Ne eblas legi de la risurco."
+msgstr "Ne eblis legi de la risurco."
 
 msgid "Could not write to resource."
-msgstr "Ne eblas skribi al la risurco."
+msgstr "Ne eblis skribi al la risurco."
 
 msgid "Could not perform seek on resource."
-msgstr ""
+msgstr "Ne eblis fari traserĉon en la risurco."
 
 msgid "Could not synchronize on resource."
-msgstr ""
+msgstr "Ne eblis sinkronigi ĉe la risurco."
 
 msgid "Could not get/set settings from/on resource."
-msgstr ""
+msgstr "Ne eblis havigi/difini agordojn el/por la risurco."
 
 msgid "No space left on the resource."
-msgstr ""
+msgstr "Neniu spaco lasita en la risurco."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Ne eblas skribi al la risurco."
+msgstr "Ne estas permesita atingi risurcon."
 
 msgid "GStreamer encountered a general stream error."
-msgstr ""
+msgstr "GStreamer trovis ĝeneralan eraron pri fluo."
 
 msgid "Element doesn't implement handling of this stream. Please file a bug."
 msgstr ""
+"La elemento ne realigas traktadon de tiu ĉi fluo. Bonvole sendu raporton."
 
 msgid "Could not determine type of stream."
-msgstr ""
+msgstr "Ne eblis determini la tipon de fluo."
 
 msgid "The stream is of a different type than handled by this element."
-msgstr ""
+msgstr "La fluo estas de malsama tipo ol la traktebla de tiu ĉi elemento."
 
 msgid "There is no codec present that can handle the stream's type."
-msgstr ""
+msgstr "Estas neniu ĉeestanta kodeko kiu povas trakti la tipo de fluo."
 
 msgid "Could not decode stream."
-msgstr ""
+msgstr "Ne eblis malkodi fluon."
 
 msgid "Could not encode stream."
-msgstr ""
+msgstr "Ne eblis enkodi fluon."
 
 msgid "Could not demultiplex stream."
-msgstr ""
+msgstr "Ne eblis malplektigi fluon."
 
 msgid "Could not multiplex stream."
-msgstr ""
+msgstr "Ne eblis plektigi fluon."
 
 msgid "The stream is in the wrong format."
-msgstr ""
+msgstr "La fluo estas laŭ malĝusta formo."
 
 msgid "The stream is encrypted and decryption is not supported."
-msgstr ""
+msgstr "La fluo estas ĉifrita kaj malĉifrado ne subtenatas."
 
 msgid ""
 "The stream is encrypted and can't be decrypted because no suitable key has "
 "been supplied."
 msgstr ""
+"La fluo estas ĉifrita kaj ne povas esti malĉifrita ĉar neniu taŭga ŝlosilo "
+"estas provizita."
 
 #, c-format
 msgid "No error message for domain %s."
-msgstr ""
+msgstr "Neniu erarmesaĝo por domajno %s."
 
 #, c-format
 msgid "No standard error message for domain %s and code %d."
-msgstr ""
+msgstr "Neniu norma erarmesaĝo por domajno %s kaj kodo %d."
 
 msgid "Selected clock cannot be used in pipeline."
-msgstr ""
+msgstr "Elektita horloĝo ne povas esti uzata en ĉenstablo."
 
 #, c-format
 msgid "Error writing registry cache to %s: %s"
-msgstr ""
+msgstr "Eraro dum skribo de registreja kaŝmemoro al %s: %s"
 
 msgid "title"
 msgstr "titolo"
 
 msgid "commonly used title"
-msgstr ""
+msgstr "ordinare uzata titolo"
 
 msgid "title sortname"
-msgstr ""
+msgstr "titolo por ordigo"
 
 msgid "commonly used title for sorting purposes"
-msgstr ""
+msgstr "ordinare uzata titolo por ordigo"
 
 msgid "artist"
 msgstr "artisto"
 
 msgid "person(s) responsible for the recording"
-msgstr ""
+msgstr "homo respondeca pri la registraĵo"
 
 msgid "artist sortname"
-msgstr ""
+msgstr "artisto por ordigo"
 
 msgid "person(s) responsible for the recording for sorting purposes"
-msgstr ""
+msgstr "nomo de homo respondeca pri la registraĵo, por ordigo"
 
 msgid "album"
 msgstr "albumo"
 
 msgid "album containing this data"
-msgstr ""
+msgstr "albumo enhavanta tiun ĉi datumaron"
 
 msgid "album sortname"
-msgstr ""
+msgstr "albumo por ordigo"
 
 msgid "album containing this data for sorting purposes"
-msgstr ""
+msgstr "nomo de albumo enhavanta tiun ĉi datumaron, por ordigo"
 
 msgid "album artist"
 msgstr "album-artisto"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr ""
+msgstr "La artisto de la tuta albumo, kiel devas aperi"
 
 msgid "album artist sortname"
-msgstr ""
+msgstr "album-artisto por ordigo"
 
 msgid "The artist of the entire album, as it should be sorted"
-msgstr ""
+msgstr "La nomo de la artisto de la tuta albumo, por ordigo"
 
 msgid "date"
 msgstr "dato"
 
 msgid "date the data was created (as a GDate structure)"
-msgstr ""
+msgstr "dato kiam la datumaro estis kreata (kiel strukturo GDate)"
 
 msgid "datetime"
-msgstr "datohoro"
+msgstr "dato-horo"
 
 msgid "date and time the data was created (as a GstDateTime structure)"
 msgstr ""
+"dato kaj horo kiam la datumaro estis kreata (kiel strukturo GstDateTime)"
 
 msgid "genre"
 msgstr "ĝenro"
 
 msgid "genre this data belongs to"
-msgstr ""
+msgstr "ĝenro al kiu tiu ĉi datumaro apartenas"
 
 msgid "comment"
 msgstr "komento"
 
 msgid "free text commenting the data"
-msgstr ""
+msgstr "libera teksto priskribanta la datumaron"
 
 msgid "extended comment"
-msgstr ""
+msgstr "kroma komento"
 
 msgid "free text commenting the data in key=value or key[en]=comment form"
 msgstr ""
+"libera teksto komentanta la datumaron laÅ­ formo key=valoro aÅ­ key[en]=komento"
 
 msgid "track number"
-msgstr ""
+msgstr "trak-numero"
 
 msgid "track number inside a collection"
-msgstr ""
+msgstr "trak-numero ene de aro"
 
 msgid "track count"
-msgstr ""
+msgstr "trak-nombro"
 
 msgid "count of tracks inside collection this track belongs to"
-msgstr ""
+msgstr "nombro da trakoj ene de aro al kiu tiu ĉi trako apartenas"
 
 msgid "disc number"
 msgstr "disk-numero"
 
 msgid "disc number inside a collection"
-msgstr ""
+msgstr "disk-numero ene de aro"
 
 msgid "disc count"
 msgstr "disk-nombro"
 
 msgid "count of discs inside collection this disc belongs to"
-msgstr ""
+msgstr "nombro da diskoj ene de aro al kiu tiu ĉi disko apartenas"
 
 msgid "location"
 msgstr "loko"
@@ -354,576 +372,625 @@ msgid ""
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
 msgstr ""
+"Deveno de aŭdvidaĵo kiel URI (loko, kie la originalo de la dosiero aŭ fluo "
+"gastiĝas)"
 
 msgid "homepage"
 msgstr "hejmpaĝo"
 
 msgid "Homepage for this media (i.e. artist or movie homepage)"
-msgstr ""
+msgstr "Hejmpaĝo por tiu ĉi aŭdvidaĵo (t.e. artista aŭ filma hejmpaĝo)"
 
 msgid "description"
 msgstr "priskribo"
 
 msgid "short text describing the content of the data"
-msgstr ""
+msgstr "teksteto priskribanta la enhavo de la datumaro"
 
 msgid "version"
 msgstr "versio"
 
 msgid "version of this data"
-msgstr "versi de tiu datumo"
+msgstr "versio de tiu ĉi datumaro"
 
 msgid "ISRC"
-msgstr ""
+msgstr "ISRC"
 
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
-msgstr ""
+msgstr "International Standard Recording Code - vidu http://www.ifpi.org/isrc/"
 
 msgid "organization"
-msgstr ""
+msgstr "organizaĵo"
 
 msgid "copyright"
 msgstr "kopirajto"
 
 msgid "copyright notice of the data"
-msgstr ""
+msgstr "kopirajta rimarko pri tiu ĉi datumaro"
 
 msgid "copyright uri"
-msgstr ""
+msgstr "kopirajta URI"
 
 msgid "URI to the copyright notice of the data"
-msgstr ""
+msgstr "URI al la kopirajta rimarko de la datumaro"
 
 msgid "encoded by"
-msgstr ""
+msgstr "enkodita de"
 
 msgid "name of the encoding person or organization"
-msgstr ""
+msgstr "nomo la enkodanta homo aŭ organizaĵo"
 
 msgid "contact"
 msgstr "kontakto"
 
 msgid "contact information"
-msgstr ""
+msgstr "informo pri kontakto"
 
 msgid "license"
 msgstr "permesilo"
 
 msgid "license of data"
-msgstr "permesilo de la datumoj"
+msgstr "permesilo de la datumaro"
 
 msgid "license uri"
-msgstr ""
+msgstr "permesila URI"
 
 msgid "URI to the license of the data"
-msgstr ""
+msgstr "URI al la permesilo de la datumoj"
 
 msgid "performer"
-msgstr ""
+msgstr "ludanto"
 
 msgid "person(s) performing"
-msgstr ""
+msgstr "homo kiu estas ludanta"
 
 msgid "composer"
 msgstr "komponisto"
 
 msgid "person(s) who composed the recording"
-msgstr ""
+msgstr "homo kiu komponis la registraĵon"
 
 msgid "conductor"
-msgstr ""
+msgstr "dirigento"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "dirigento/ludanto, pli polure"
 
 msgid "duration"
 msgstr "daÅ­ro"
 
 msgid "length in GStreamer time units (nanoseconds)"
-msgstr ""
+msgstr "longo laŭ temp-unuo de GStreamer (nanosekondoj)"
 
 msgid "codec"
 msgstr "kodeko"
 
 msgid "codec the data is stored in"
-msgstr ""
+msgstr "kodeko laÅ­ kiu la datumaro estas konservita"
 
 msgid "video codec"
 msgstr "video-kodeko"
 
 msgid "codec the video data is stored in"
-msgstr ""
+msgstr "kodeko laÅ­ kiu la videa datumaro estas konservita"
 
 msgid "audio codec"
 msgstr "son-kodeko"
 
 msgid "codec the audio data is stored in"
-msgstr ""
+msgstr "kodeko laÅ­ kiu la sona datumaro estas konservita"
 
 msgid "subtitle codec"
 msgstr "subtekst-kodeko"
 
 msgid "codec the subtitle data is stored in"
-msgstr ""
+msgstr "kodeko laÅ­ kiu la subteksta datumaro estas konservita"
 
 msgid "container format"
-msgstr ""
+msgstr "enhavila formo"
 
 msgid "container format the data is stored in"
-msgstr ""
+msgstr "enhavila formo laŭ kiu la datumaro estas konservita"
 
 msgid "bitrate"
 msgstr "bitrapido"
 
 msgid "exact or average bitrate in bits/s"
-msgstr ""
+msgstr "ĝusta aŭ meznombra bitrapido laŭ bitoj/s"
 
 msgid "nominal bitrate"
-msgstr ""
+msgstr "meznombra bitrapido"
 
 msgid "nominal bitrate in bits/s"
-msgstr ""
+msgstr "meznombra bitrapido laÅ­ bitoj/s"
 
 msgid "minimum bitrate"
-msgstr ""
+msgstr "minimuma bitrapido"
 
 msgid "minimum bitrate in bits/s"
-msgstr ""
+msgstr "minimuma bitrapido laÅ­ bitoj/s"
 
 msgid "maximum bitrate"
-msgstr ""
+msgstr "maksimuma bitrapido"
 
 msgid "maximum bitrate in bits/s"
-msgstr ""
+msgstr "maksimuma bitrapido laÅ­ bitoj/s"
 
 msgid "encoder"
-msgstr ""
+msgstr "enkodilo"
 
 msgid "encoder used to encode this stream"
-msgstr ""
+msgstr "enkodilo uzata por enkodi tiun ĉi fluon"
 
 msgid "encoder version"
-msgstr ""
+msgstr "enkodila versio"
 
 msgid "version of the encoder used to encode this stream"
-msgstr ""
+msgstr "versio de la enkodilo uzata por enkodi tiun ĉi fluon"
 
 msgid "serial"
-msgstr ""
+msgstr "seriaĵo"
 
 msgid "serial number of track"
-msgstr ""
+msgstr "seria numero de trako"
 
 msgid "replaygain track gain"
-msgstr ""
+msgstr "trak-amplifo de ReplayGain"
 
 msgid "track gain in db"
-msgstr ""
+msgstr "trak-amplifo laÅ­ db"
 
 msgid "replaygain track peak"
-msgstr ""
+msgstr "traka pinto de ReplayGain"
 
 msgid "peak of the track"
-msgstr ""
+msgstr "pinto de la trako"
 
 msgid "replaygain album gain"
-msgstr ""
+msgstr "albuma amplifo de ReplayGain"
 
 msgid "album gain in db"
-msgstr ""
+msgstr "albuma amplifo laŭ db"
 
 msgid "replaygain album peak"
-msgstr ""
+msgstr "albuma pinto de ReplayGain"
 
 msgid "peak of the album"
-msgstr ""
+msgstr "pinto de la albumo"
 
 msgid "replaygain reference level"
-msgstr ""
+msgstr "referenca nivelo de ReplayGain"
 
 msgid "reference level of track and album gain values"
-msgstr ""
+msgstr "referenca nivelo de amplifaj valoroj de trako kaj albumo"
 
 msgid "language code"
-msgstr "Lingvokodo"
+msgstr "lingvokodo"
 
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr ""
+msgstr "lingvokodo por tiu ĉi fluo, konforme al ISO-639-1 aŭ ISO-639-2"
 
-#, fuzzy
 msgid "language name"
-msgstr "Lingvokodo"
+msgstr "lingva nomo"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "liberforma nomo de la lingvo de la fluo"
 
 msgid "image"
 msgstr "bildo"
 
 msgid "image related to this stream"
-msgstr ""
+msgstr "bildo rilata al tiu ĉi fluo"
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
 msgid "preview image"
-msgstr ""
+msgstr "antaÅ­vida bildo"
 
 msgid "preview image related to this stream"
-msgstr ""
+msgstr "antaŭvida bildo rilata al tiu ĉi fluo"
 
 msgid "attachment"
 msgstr "kunsendaĵo"
 
 msgid "file attached to this stream"
-msgstr ""
+msgstr "dosiero alkroĉita al tiu ĉi fluo"
 
 msgid "beats per minute"
-msgstr ""
+msgstr "frapoj por minuto"
 
 msgid "number of beats per minute in audio"
-msgstr ""
+msgstr "valoro de frapoj por minuto en sono"
 
 msgid "keywords"
-msgstr ""
+msgstr "ĉefvortoj"
 
 msgid "comma separated keywords describing the content"
-msgstr ""
+msgstr "komo-apartitaj ĉefvortoj priskribantaj la enhavo"
 
 msgid "geo location name"
-msgstr ""
+msgstr "ter-pozicia nomo"
 
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
 msgstr ""
+"hom-legebla priskribo de loko, kie la aŭdvidaĵo estis registrata aŭ "
+"produktata"
 
 msgid "geo location latitude"
-msgstr ""
+msgstr "ter-pozicia latitudo"
 
 msgid ""
 "geo latitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the equator, negative values for "
 "southern latitudes)"
 msgstr ""
+"tera latitudo, kie la aŭdvidaĵo estis registrita aŭ produktata laŭ gradoj "
+"WGS84 (nulo ĉe ekvatoro, negativaj valoroj por sudaj latitudoj)"
 
 msgid "geo location longitude"
-msgstr ""
+msgstr "ter-pozicia longitudo"
 
 msgid ""
 "geo longitude location of where the media has been recorded or produced in "
 "degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
 "negative values for western longitudes)"
 msgstr ""
+"tera longitudo, kie la aŭdvidaĵo estis registrita aŭ produktata laŭ gradoj "
+"WGS84 (nulo ĉe Grenviĉo/UK, negativaj valoroj por okcidentaj longitudoj)"
 
 msgid "geo location elevation"
-msgstr ""
+msgstr "ter-pozicia alto"
 
 msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
 msgstr ""
+"tera alto, kie la aŭdvidaĵo estis registrita aŭ produktata laŭ gradoj WGS84 "
+"(nulo ĉe meznombra mar-nivelo)"
 
 msgid "geo location country"
-msgstr ""
+msgstr "ter-pozicio laŭ lando"
 
 msgid "country (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "lando (angla nomo) kie la aŭdvidaĵo estis registrata aŭ produktata"
 
 msgid "geo location city"
-msgstr ""
+msgstr "ter-pozicio laŭ urbo"
 
 msgid "city (english name) where the media has been recorded or produced"
-msgstr ""
+msgstr "urbo (angla nomo) kie la aŭdvidaĵo estis registrata aŭ produktata"
 
 msgid "geo location sublocation"
-msgstr ""
+msgstr "ter-pozicio laŭ subloko"
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
-msgstr ""
+msgstr "loko ene de urbo kie  la aŭdvidaĵo estis registrata aŭ produktata"
 
 msgid "geo location horizontal error"
-msgstr ""
+msgstr "ter-pozicia horizontala eraro"
 
 msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr ""
+msgstr "atendata eraro de la horizontala poziciaj mezuroj (laŭ metroj)"
 
 msgid "geo location movement speed"
-msgstr ""
+msgstr "ter-pozicia mov-rapido"
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
-msgstr ""
+msgstr "mov-rapido de la kaptanta aparato dum la kaptado laŭ m/s"
 
 msgid "geo location movement direction"
-msgstr ""
+msgstr "ter-pozicia mov-direkto"
 
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
 "media. It is represented as degrees in floating point representation, 0 "
 "means the geographic north, and increases clockwise"
 msgstr ""
+"indikas la mov-direkton de la aparato kiu kaptadas aŭdvidaĵon. Ĝi estas "
+"reprezentata kiel gradoj laŭ glit-punkta cifero; 0 signifas geografia nordo, "
+"kaj ĝi pliiĝas dekstrume"
 
 msgid "geo location capture direction"
-msgstr ""
+msgstr "ter-pozicia kaptada direkto"
 
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
 "It is represented as degrees in floating point  representation, 0 means the "
 "geographic north, and increases clockwise"
 msgstr ""
+"indikas la direkto kien la aparato iras dum kaptado de aŭdvidaĵo. Ĝi estas "
+"reprezentata kiel gradoj laÅ­ glit-punkta cifero; 0 signifas geografia nordo, "
+"kaj ĝi pliiĝas dekstrume"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
 msgid "show name"
-msgstr "montri nomon"
+msgstr "spektakla nomo"
 
 msgid "Name of the tv/podcast/series show the media is from"
-msgstr ""
+msgstr "Nomo de la tv/podcast/seria spektaklo el kie la aŭdvidaĵo devenas"
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
 msgid "show sortname"
-msgstr ""
+msgstr "spektakla nomo por ordigo"
 
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
 msgstr ""
+"Nomo de la tv/podcast/seria spektaklo el kie la aŭdvidaĵo devenas, por ordigo"
 
 msgid "episode number"
-msgstr ""
+msgstr "epizoda numero"
 
 msgid "The episode number in the season the media is part of"
-msgstr ""
+msgstr "La epizoda numero en la sezono al kiu la aŭdividaĵo apartenas"
 
 msgid "season number"
-msgstr ""
+msgstr "sezona numero"
 
 msgid "The season number of the show the media is part of"
-msgstr ""
+msgstr "La sezona numero de la spektaklo al kiu la aŭdividaĵo apartenas"
 
 msgid "lyrics"
 msgstr "lirikoj"
 
 msgid "The lyrics of the media, commonly used for songs"
-msgstr ""
+msgstr "La lirikoj da la aŭdvidaĵo, ordinare uzata por kanzonoj"
 
 msgid "composer sortname"
-msgstr ""
+msgstr "komponisto por ordigo"
 
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr ""
+msgstr "homo kiu komponis la registraĵon, por ordigo"
 
 msgid "grouping"
-msgstr "grupado"
+msgstr "grupigo"
 
 msgid ""
 "Groups related media that spans multiple tracks, like the different pieces "
 "of a concerto. It is a higher level than a track, but lower than an album"
 msgstr ""
+"Grupo de interrilataj aŭdvidaĵoj formita de pluraj trakoj, kiel malsamaj "
+"pecoj de koncerto. Äœi estas pli alta klaso ol trako, sed malpli alta ol "
+"albumo"
 
 msgid "user rating"
-msgstr ""
+msgstr "taksado de uzanto"
 
 msgid ""
 "Rating attributed by a user. The higher the rank, the more the user likes "
 "this media"
 msgstr ""
+"Takso farita de uzanto. Ju pli alta la rango, des pli la uzanto ŝatas tiun "
+"ĉi aŭdvidaĵon"
 
 msgid "device manufacturer"
-msgstr ""
+msgstr "aparato-fabrikanto"
 
 msgid "Manufacturer of the device used to create this media"
-msgstr ""
+msgstr "Fabrikanto de la aparato uzata por krei tiun ĉi aŭdvidaĵon"
 
 msgid "device model"
-msgstr ""
+msgstr "aparata modelo"
 
 msgid "Model of the device used to create this media"
-msgstr ""
+msgstr "Modelo de la aparato por krei tiun ĉi aŭdvidaĵon"
 
 msgid "application name"
-msgstr ""
+msgstr "aplikaĵ-nomo"
 
 msgid "Application used to create the media"
-msgstr ""
+msgstr "Aplikaĵo uzata por krei la aŭdvidaĵon"
 
 msgid "application data"
-msgstr ""
+msgstr "aplikaĵa datumaro"
 
 msgid "Arbitrary application data to be serialized into the media"
-msgstr ""
+msgstr "Ajna aplikaĵ-datumaro kiu estos seriigita en la aŭdvidaĵon"
 
 msgid "image orientation"
-msgstr ""
+msgstr "orientiĝo de bildo"
 
 msgid "How the image should be rotated or flipped before display"
 msgstr ""
+"Kiel la bildo devus esti rotaciita aÅ­ renversita antaÅ­ ol esti montrata"
 
 msgid "publisher"
-msgstr ""
+msgstr "eldonisto"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "Nomo de la eldonejo aÅ­ eldonisto"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "interpretita-de"
 
 msgid "Information about the people behind a remix and similar interpretations"
-msgstr ""
+msgstr "Informo pri la homoj kiuj faris remikson kaj similajn interpretojn"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "midi-baza-noto"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "MIDIa not-numero de son-trako."
 
 msgid "private-data"
-msgstr ""
+msgstr "privata-datumaro"
 
 msgid "Private data"
-msgstr ""
+msgstr "Privata datumaro"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Malvalida URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "Neniu URI-traktilo por la protokolo %s estas trovita"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "URI-skemo '%s' ne subtenatas"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
-msgstr ""
+msgstr "ERARO: el elemento %s: %s\n"
 
 #, c-format
 msgid ""
 "Additional debug info:\n"
 "%s\n"
 msgstr ""
+"Kroma sencimiga informo:\n"
+"%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "la ligo ne havas fonton [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
+msgstr "la ligo ne havas konsumanton [source=%s@%p]"
+
+msgid "No such property."
 msgstr ""
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
-msgstr ""
+msgstr "neniu atributo \"%s\" en elemento \"%s\""
+
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Elemento \"%s\" ne estas GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "ne eblis difini 'preset' \"%s\" en elemento \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "neniu elemento \"%s\""
 
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr ""
+msgstr "ne eblis difini atributon \"%s\" en elemento \"%s\" kiel \"%s\""
+
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "ne eblis difini atributon \"%s\" en elemento \"%s\" kiel \"%s\""
 
 msgid "Delayed linking failed."
-msgstr ""
+msgstr "Prokrastita ligiĝo malsukcesis."
 
 #, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr ""
+msgstr "ne eblis ligi %s al %s, %s ne povas trakti Caps %s"
 
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr ""
+msgstr "ne eblis ligi %s al %s, neniu elemento povas trakti Caps %s"
 
 #, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr ""
+msgstr "ne eblis ligi %s al %s per Caps %s"
 
 #, c-format
 msgid "could not link %s to %s"
-msgstr ""
-
-#, c-format
-msgid "no element \"%s\""
-msgstr "neniu elemento \"%s\""
+msgstr "ne eblis ligi %s al %s"
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "neatendita referenco \"%s\" - ni ignoras"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "neatendita Pad-referenco \"%s\" - ni ignoras"
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr ""
+msgstr "ne eblis analizi Caps \"%s\""
 
 #, c-format
 msgid "no sink element for URI \"%s\""
-msgstr ""
+msgstr "neniu konsumanta elemento por URI \"%s\""
 
 #, c-format
 msgid "no source element for URI \"%s\""
-msgstr ""
+msgstr "neniu fonta elemento por URI \"%s\""
 
 msgid "syntax error"
-msgstr ""
+msgstr "sintaksa eraro"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
-msgstr ""
+msgstr "la Bin \"%s\" malplenas, tio ne permesatas"
 
 #, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr ""
+msgstr "neniu Bin \"%s\", ni elpakigas elementojn"
 
 msgid "empty pipeline not allowed"
-msgstr ""
+msgstr "malplena ĉenstablo ne permesatas"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Konstruo de ĉenstablo malvalidas, bonvolu aldoni envicig-petojn."
 
 msgid "A lot of buffers are being dropped."
-msgstr ""
+msgstr "Multe da bufroj estas forlasataj."
 
 msgid "Internal data flow problem."
-msgstr ""
+msgstr "Problemo pri interna datumara fluo."
 
 msgid "Internal data flow error."
-msgstr ""
+msgstr "Eraro pri interna datumara fluo."
 
 msgid "Internal clock error."
-msgstr ""
+msgstr "Eraro pri interna horloĝa."
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "Ni malsukcesis mapigi bufron."
 
 msgid "Filter caps"
-msgstr ""
+msgstr "Filtri Caps"
 
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
+"Limigi la eble permesataj kapabloj (NULL = ANY). Difino de tiu ĉi atributo "
+"portas referencon al la provizita objekto GstCaps."
 
 msgid "Caps Change Mode"
-msgstr ""
+msgstr "Ŝanĝa Reĝimo de Caps"
 
 msgid "Filter caps change behaviour"
-msgstr ""
+msgstr "Filtri ŝanĝan konduton de Caps"
 
 msgid "No Temp directory specified."
-msgstr ""
+msgstr "Neniu dosierujo Temp estis indikata."
 
 #, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr ""
+msgstr "Ne eblis krei provizoran dosieron \"%s\"."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
-msgstr ""
+msgstr "Ne eblis malfermi la dosieron \"%s\" por legi."
 
 msgid "Error while writing to download file."
-msgstr ""
+msgstr "Eraro dum skribo al la elŝuta dosiero."
 
 msgid "No file name specified for writing."
-msgstr ""
+msgstr "Neniu dosiernomo estis indikata por legi."
 
 #, c-format
 msgid "Could not open file \"%s\" for writing."
@@ -931,22 +998,22 @@ msgstr "Ne eblis malfermi la dosieron \"%s\" por skribi."
 
 #, c-format
 msgid "Error closing file \"%s\"."
-msgstr "Eraro dum fermado de la dosiero \"%s\"."
+msgstr "Eraro dum fermo de la dosiero \"%s\"."
 
 #, c-format
 msgid "Error while seeking in file \"%s\"."
-msgstr ""
+msgstr "Eraro dum traŝerĉado en la dosiero \"%s\"."
 
 #, c-format
 msgid "Error while writing to file \"%s\"."
 msgstr "Eraro dum skribo al la dosiero \"%s\"."
 
 msgid "No file name specified for reading."
-msgstr ""
+msgstr "Neniu dosiernomo estis indikata por legi."
 
 #, c-format
 msgid "Could not get info on \"%s\"."
-msgstr ""
+msgstr "Ne eblis havigi informon pri \"%s\"."
 
 #, c-format
 msgid "\"%s\" is a directory."
@@ -954,72 +1021,75 @@ msgstr "\"%s\" estas dosierujo."
 
 #, c-format
 msgid "File \"%s\" is a socket."
-msgstr ""
+msgstr "Dosiero \"%s\" estas konektinterfaco (socket)."
 
 msgid "Failed after iterations as requested."
-msgstr ""
+msgstr "Malsukceso post iteracioj kiel petite."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after kaj error-after ne povas esti difinataj samtempe."
 
 msgid "caps"
-msgstr ""
+msgstr "caps"
 
 msgid "detected capabilities in stream"
-msgstr ""
+msgstr "detektitaj kapabloj en fluo"
 
 msgid "minimum"
 msgstr "minimumo"
 
 msgid "force caps"
-msgstr ""
+msgstr "devigi Caps"
 
 msgid "force caps without doing a typefind"
-msgstr ""
+msgstr "devigi Caps sen uzo de 'typefind'"
 
 msgid "Stream doesn't contain enough data."
-msgstr ""
+msgstr "La fluo ne enhavas sufiĉe da datumaro."
 
 msgid "Stream contains no data."
-msgstr ""
+msgstr "La fluo enhavas neniun datumaron."
 
 #, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr ""
+msgstr "%sRealigitaj Interfacoj%s:\n"
 
 msgid "readable"
-msgstr "legeble"
+msgstr "legebla"
 
 msgid "writable"
-msgstr "skribeble"
+msgstr "skribebla"
 
 msgid "deprecated"
-msgstr ""
+msgstr "evitinda"
 
 msgid "controllable"
-msgstr "regeble"
+msgstr "regebla"
+
+msgid "conditionally available"
+msgstr "disponebla kondiĉe"
 
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr ""
+msgstr "ŝanĝebla nur en statoj NULA, PRETA, PAŬZITA aŭ LUDANTA"
 
 msgid "changeable only in NULL, READY or PAUSED state"
-msgstr ""
+msgstr "ŝanĝebla nur en statoj NULA, PRETA aŭ PAŬZITA"
 
 msgid "changeable only in NULL or READY state"
-msgstr ""
+msgstr "ŝanĝebla nur en statoj NULA aŭ PRETA"
 
 msgid "Blacklisted files:"
-msgstr ""
+msgstr "Dosieroj en nigra listo:"
 
 #, c-format
 msgid "%sTotal count%s: %s"
-msgstr ""
+msgstr "%sTotalo%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d dosiero en nigra listo"
+msgstr[1] "%d dosieroj en nigra listo"
 
 #, c-format
 msgid "%d plugin"
@@ -1030,8 +1100,8 @@ msgstr[1] "%d kromprogramoj"
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d ero de nigra listo"
+msgstr[1] "%d eroj de nigra listo"
 
 #, c-format
 msgid "%d feature"
@@ -1043,7 +1113,7 @@ msgid "Print all elements"
 msgstr "Eligi ĉiujn elementojn"
 
 msgid "Print list of blacklisted files"
-msgstr ""
+msgstr "Montri aron da dosieroj en nigra listo"
 
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
@@ -1051,87 +1121,109 @@ msgid ""
 "                                       Useful in connection with external "
 "automatic plugin installation mechanisms"
 msgstr ""
+"Montri maŝin-analizeblan liston de trajtoj kiuj la indikita kromprogramo aŭ "
+"ĉiuj ili provizas.\n"
+"                                       Utilas kune kun ekstera aÅ­tomata "
+"meĥanismo de instalado de kromprogramoj"
 
 msgid "List the plugin contents"
-msgstr ""
+msgstr "Listigi la enhavon de la kromprogramo"
 
 msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
+"Klino-apartita ('/') listo de tipoj de elementoj (ankaŭ nomataj klass) "
+"listigota. (senorde)"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "Kontrolu ĉu la indikita elemento aŭ kromprogramo ekzistas"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
+"Dum kontrolado ĉu elemento aŭ kromprogramo ekzistas, ankaŭ kontrolu ĉu ĝia "
+"versio estas minimume la indikita versio"
 
 msgid "Print supported URI schemes, with the elements that implement them"
-msgstr ""
+msgstr "Montri subtenatajn skemojn de URI, kun la elementoj kiuj realigas ilin"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Malebligi kolorojn en eligo. Vi ankaÅ­ povas akiri la saman rezulton per "
+"difino de iu ajn valoro por la medi-variablo 'GST_INSPECT_NO_COLORS'."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Kolora eligo, eĉ kiam ne sendanta al tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
-msgstr ""
+msgstr "Ne eblis ŝargi je kromprograma dosiero: %s\n"
 
 #, c-format
 msgid "No such element or plugin '%s'\n"
-msgstr ""
+msgstr "Neniu elemento aÅ­ kromprogramo tia '%s'\n"
 
 msgid "Index statistics"
-msgstr ""
+msgstr "Indeksaj statistikoj"
+
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Ni difinas ĉenstablon kiel LUDANTA ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERARO: ĉenstablo ne volas ludi.\n"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
-msgstr ""
+msgstr "Ni havigis mesaĝon #%u el elemento \"%s\" (%s): "
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr ""
+msgstr "Ni havigis mesaĝon #%u el Pad \"%s:%s\" (%s): "
 
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
-msgstr ""
+msgstr "Ni havigis mesaĝon #%u el objekto \"%s\" (%s): "
 
 #, c-format
 msgid "Got message #%u (%s): "
-msgstr ""
+msgstr "Ni havigis mesaĝon #%u (%s): "
 
 #, c-format
 msgid "Got EOS from element \"%s\".\n"
-msgstr ""
+msgstr "Ni havigis EOS el elemento \"%s\".\n"
+
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS ricevita - ni ĉesas ĉenstablon...\n"
 
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr ""
+msgstr "ETIKEDO TROVITA: trovita per elemento \"%s\".\n"
 
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
-msgstr ""
+msgstr "ETIKEDO TROVITA: trovita per Pad \"%s:%s\".\n"
 
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
-msgstr ""
+msgstr "ETIKEDO TROVITA: trovita per objekto \"%s\".\n"
 
 msgid "FOUND TAG\n"
-msgstr ""
+msgstr "ETIKEDO TROVITA\n"
 
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr ""
+msgstr "TOC TROVITA   : trovita per elemento \"%s\".\n"
 
 #, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr ""
+msgstr "TOC TROVITA   : trovita per objekto \"%s\".\n"
 
 msgid "FOUND TOC\n"
-msgstr ""
+msgstr "TOC TROVITA\n"
 
 #, c-format
 msgid ""
@@ -1143,160 +1235,170 @@ msgstr ""
 
 #, c-format
 msgid "WARNING: from element %s: %s\n"
-msgstr "AVERTO: de elemento %s: %s\n"
+msgstr "AVERTO: el elemento %s: %s\n"
+
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Ĉenstablo estas ANTAŬPREPARITA ...\n"
 
 msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr ""
+msgstr "Preparite, ni atendas plenigon de bufro por fini...\n"
 
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr ""
+msgstr "Preparite, ni atendas progreson por fini...\n"
 
 msgid "buffering..."
 msgstr "bufrado..."
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr ""
+msgstr "Bufrado plenutima, ni difinas ĉenstablo kiel LUDANTA ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "Bufrado, ni difinas ĉenstablo kiel PAŬZITA ...\n"
 
 msgid "Redistribute latency...\n"
-msgstr ""
+msgstr "Redisdoni respondotempon...\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr ""
+msgstr "Difino de stato al %s kiel petite de %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
-msgstr ""
+msgstr "Interrompo: ni haltas ĉenstablon ...\n"
+
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrompo dum atendo je EOS - ni ĉesas ĉenstablon...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS je malŝalto aktivas -- Ni devigas EOS en la ĉenstablo\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Ni atendas je EOS...\n"
 
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "Progreso: (%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "neniu elemento \"%s\""
+msgstr "Mankas elementos: %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "AVERTO: de elemento %s: %s\n"
+msgstr "Havigita kunteksto el elemento '%s': %s=%s\n"
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERARO: ĉenstablo ne volas antaŭprepariĝi.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Eraro okazis dum atendo je EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Uzu Vindozan alt-distingivan horloĝon, distingivo: %u ms\n"
 
 msgid "Output tags (also known as metadata)"
-msgstr ""
+msgstr "Eligi etikedojn (ankaÅ­ konataj kiel metadatumaro)"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "Eligi TOC (ĉapitroj kaj eldonoj)"
 
 msgid "Output status information and property notifications"
-msgstr ""
+msgstr "Eligi informon pri stato kaj sciigojn pri atributoj"
 
 msgid "Do not print any progress information"
-msgstr ""
+msgstr "Ne montru iun ajn informon pri progreso"
 
 msgid "Output messages"
-msgstr ""
+msgstr "Eligaj mesaĝoj"
 
 msgid ""
 "Do not output status information for the specified property if verbose "
 "output is enabled (can be used multiple times)"
 msgstr ""
+"Ne eligi informon pri stato por la indikita atributo okaze de aktivigo de "
+"detalema eligo (povas esti uzata multfoje)"
 
 msgid "PROPERTY-NAME"
-msgstr ""
+msgstr "ATRIBUTO-NOMO"
 
 msgid "Do not install a fault handler"
-msgstr ""
+msgstr "Ne instali traktilon de misfunkcio"
 
 msgid "Force EOS on sources before shutting the pipeline down"
-msgstr ""
+msgstr "Devigi EOS en fontoj antaŭ ol malŝalti la ĉenstablon"
 
 msgid "Gather and print index statistics"
+msgstr "Kolekti kaj montri indeksajn statistikojn"
+
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Ne printi nunan pozicion de dukto. Se tiu ĉi opcio ne estas indikita, la "
+"pozicio estos printata kiam ĉefeligo estas TTY. Por ebligi printi la "
+"pozicion kiam ĉefeligo ne estas TTY, uzu la opcion \"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
 msgstr ""
+"Eligi printi nunan pozicion de dukto êc kiam ĉefeligo ne estas TTY. Tiu ĉi "
+"opcio ne funkcias se la opcio \"no-position\" estas aktiva"
 
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
-msgstr ""
+msgstr "ERARO: ne eblis konstrui ĉenstablon: %s.\n"
 
 msgid "ERROR: pipeline could not be constructed.\n"
-msgstr ""
+msgstr "ERARO: ne eblis konstrui ĉenstablon.\n"
 
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
-msgstr ""
+msgstr "AVERTO: malĝusta ĉenstablo %s\n"
 
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr ""
+msgstr "ERARO: la elemento 'pipeline' ne estas trovita.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr ""
+msgstr "Ni difinas ĉenstablo kiel PAŬZITA ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr ""
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Malsukcesis difini dukton kiel PAŬZITA.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
-msgstr ""
+msgstr "Ĉenstablo vivas kaj ne bezonas ANTAŬPREPARO ...\n"
 
 msgid "Pipeline is PREROLLING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
+msgstr "Ĉenstablo faras PREPARADON ...\n"
 
 msgid "Execution ended after %"
-msgstr ""
-
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
+msgstr "Plenumado finis post %"
 
 msgid "Setting pipeline to NULL ...\n"
-msgstr ""
+msgstr "Ni difinas ĉenstablon kiel NULA ...\n"
 
 msgid "Freeing pipeline ...\n"
-msgstr ""
+msgstr "Ni liberigas ĉenstablon ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Eraro dum fermado de la dosiero \"%s\"."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERARO: ĉenstablo ne volas paŭzi.\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Eraro dum fermado de la dosiero \"%s\"."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS pro malŝalto aktivas -- ni atendas je EOS post Eraro\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Eraro dum skribo al la dosiero \"%s\"."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Ni difinas ĉenstablon kiel PRETA ...\n"
 
 #~ msgid "Internal data stream error."
 #~ msgstr "Interna datumflu-eraro."
 
+#~ msgid "maximum"
+#~ msgstr "maksimumo"
+
 #~ msgid "TYPE1,TYPE2,..."
 #~ msgstr "TIPO1,TIPO2,..."
 
diff --git a/po/es.po b/po/es.po
index 8861126..bf06b76 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,20 +1,22 @@
-# translation of gstreamer-0.10.32.2.po to Español
+# translation of gstreamer-1.21.90 to Español
 # spanish translation for gstreamer
 # This file is put in the public domain.
 # Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2022, 2023
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.10.32.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2011-10-02 15:45+0200\n"
-"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
-"Language-Team: Spanish <es@li.org>\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-16 11:12-0600\n"
+"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 msgid "Print the GStreamer version"
@@ -26,11 +28,10 @@ msgstr "Hacer todas las advertencias fatales"
 msgid "Print available debug categories and exit"
 msgstr "Imprimir categorías de depuración disponibles y salir"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Nivel de depuración predeterminado desde 1 (sólo error) hasta 5 (todo) o 0 "
+"Nivel de depuración predeterminado desde 1 (sólo error) hasta 9 (todo) o 0 "
 "sin salida"
 
 msgid "LEVEL"
@@ -54,6 +55,8 @@ msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Cambia el modo de color para la salida depurada. Modos posibles: off, on, "
+"disable, auto, unix"
 
 msgid "Disable debugging"
 msgstr "Desactivar depuración"
@@ -95,6 +98,7 @@ msgstr "Opciones de GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Mostrar las opciones de GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opción desconocida"
 
@@ -108,7 +112,7 @@ msgstr ""
 "código de error a este error."
 
 msgid "Internal GStreamer error: code not implemented."
-msgstr "Error interno de GStreamer: código no implementado"
+msgstr "Error interno de GStreamer: código no implementado."
 
 msgid ""
 "GStreamer error: state change failed and some element failed to post a "
@@ -118,14 +122,13 @@ msgstr ""
 "publicar el error de mensaje correspondiente con el motivo del fallo."
 
 msgid "Internal GStreamer error: pad problem."
-msgstr " "
+msgstr "Error interno de GStreamer: problema de relleno."
 
 msgid "Internal GStreamer error: thread problem."
 msgstr "Error interno de GStreamer: problema con las hebras."
 
-#, fuzzy
 msgid "GStreamer error: negotiation problem."
-msgstr "Error interno de GStreamer: problema con la negociación."
+msgstr "Error de GStreamer: problema con la negociación."
 
 msgid "Internal GStreamer error: event problem."
 msgstr "Error interno de GStreamer: problema con los eventos."
@@ -142,9 +145,8 @@ msgstr "Error interno de GStreamer: problema con las etiquetas."
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "A la instalación de GStreamer le falta un complemento."
 
-#, fuzzy
 msgid "GStreamer error: clock problem."
-msgstr "Error interno de GStreamer: problema con el reloj."
+msgstr "Error de GStreamer: problema con el reloj."
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
@@ -207,9 +209,8 @@ msgstr "No se pudieron obtener/establecer los ajustes de/en el recurso."
 msgid "No space left on the resource."
 msgstr "No queda espacio disponible en el recurso."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "No queda espacio disponible en el recurso."
+msgstr "No se autorizó el acceso al recurso."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer encontró un error general de flujo."
@@ -463,13 +464,13 @@ msgid "person(s) who composed the recording"
 msgstr "persona(s) que compusieron la grabación"
 
 msgid "conductor"
-msgstr ""
+msgstr "conductor"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "refinamiento de conductor/intérprete"
 
 msgid "duration"
-msgstr "duracio"
+msgstr "duración"
 
 msgid "length in GStreamer time units (nanoseconds)"
 msgstr "duración en unidades de tiempo GStreamer (nanosegundos)"
@@ -579,16 +580,14 @@ msgstr "valor del nivel de referencia de ganancia de la pista y del álbum"
 msgid "language code"
 msgstr "código de idioma"
 
-#, fuzzy
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "código de idioma para este flujo, ajustándose a ISO-639-1"
+msgstr "código de idioma para este flujo, ajustándose a ISO-639-1 o ISO-639-2"
 
-#, fuzzy
 msgid "language name"
-msgstr "código de idioma"
+msgstr "nombre de idioma"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "nombre en forma libre del idioma en que está este flujo"
 
 msgid "image"
 msgstr "imagen"
@@ -680,7 +679,6 @@ msgstr "ciudad (nombre en inglés) donde se ha grabado o producido el medio"
 msgid "geo location sublocation"
 msgstr "sububicación de la geolocalización"
 
-#, fuzzy
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
@@ -820,39 +818,46 @@ msgid "How the image should be rotated or flipped before display"
 msgstr "Cómo se debería rotar o voltear la imagen antes de mostrarla"
 
 msgid "publisher"
-msgstr ""
+msgstr "editor"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "Nombre de la etiqueta o editor"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "interpretado-por"
 
 msgid "Information about the people behind a remix and similar interpretations"
 msgstr ""
+"Información acerca de la gente detrás de una remezcla e interpretaciones "
+"similares"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "nota-base-midi"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Número de nota midi de la pista de audio."
 
 msgid "private-data"
-msgstr ""
+msgstr "datos-privados"
 
 msgid "Private data"
-msgstr ""
+msgstr "Datos privados"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "URI inválido: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "No se encontró un manejador de URI para el protocolo %s"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "No se admite el esquema de URI '%s'"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
@@ -866,52 +871,73 @@ msgstr ""
 "Información adicional de depuración:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "el enlace no tiene fuente [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "el enlace no tiene sumidero [fuente=%s@%p]"
+
+msgid "No such property."
+msgstr "No hay tal propiedad."
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "no hay una propiedad «%s» en el elemento «%s»"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "El elemento «%s» no es un GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "no se pudo establecer la propiedad «%s» en el elemento «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "no hay un elemento «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "no se pudo establecer la propiedad «%s» en el elemento «%s» a «%s»"
 
-msgid "Delayed linking failed."
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
 msgstr ""
+"no se pudo establecer la propiedad «%s» en el hijo del elemento «%s» a «%s»"
+
+msgid "Delayed linking failed."
+msgstr "Falló el enlazado retrasado."
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "no se pudo enlazar %s a %s"
+msgstr "no se pudo enlazar %s a %s, %s no puede manejar la capacidad %s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr "no se pudo enlazar el elemento sumidero para el URI «%s»"
+msgstr ""
+"no se pudo enlazar %s a %s, ninguno de los elementos puede manejar la "
+"capacidad %s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "no se pudo enlazar %s a %s"
+msgstr "no se pudo enlazar %s a %s con la capacidad %s"
 
 #, c-format
 msgid "could not link %s to %s"
 msgstr "no se pudo enlazar %s a %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "no hay un elemento «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referencia \"%s\" inesperada - se descarta"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referencia de relleno \"%s\" inesperada - se descarta"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -926,21 +952,21 @@ msgid "no source element for URI \"%s\""
 msgstr "no existe un elemento origen para el URI «%s»"
 
 msgid "syntax error"
-msgstr ""
+msgstr "error de sintaxis"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "el binario especificado «%s» está vacío, no está permitido"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "no existe el binario «%s», omitiendo"
+msgstr "no existe el binario «%s», desempacando elementos"
 
 msgid "empty pipeline not allowed"
 msgstr "no se permite un conducto vacío"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "La construcción del conducto es inválida, por favor agregue colas."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Se están desechando muchos búferes."
@@ -955,7 +981,7 @@ msgid "Internal clock error."
 msgstr "Error en el reloj interno."
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "Fallo al asociar el almacenamiento."
 
 msgid "Filter caps"
 msgstr "Filtro de capacidades"
@@ -969,10 +995,10 @@ msgstr ""
 "proporcionado."
 
 msgid "Caps Change Mode"
-msgstr ""
+msgstr "Modo de cambio de capacidades"
 
 msgid "Filter caps change behaviour"
-msgstr ""
+msgstr "Filtrar la conducta de cambio de capacidades"
 
 msgid "No Temp directory specified."
 msgstr "No se especificó un directorio temporal."
@@ -1026,7 +1052,7 @@ msgid "Failed after iterations as requested."
 msgstr "Falló después de las iteraciones, como se pidió."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "no se puede definir al mismo tiempo eos-after y error-after."
 
 msgid "caps"
 msgstr "capacidades"
@@ -1043,16 +1069,15 @@ msgstr "forzar las capacidades"
 msgid "force caps without doing a typefind"
 msgstr "forzar las capacidades sin hacer un «typefind»"
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "El flujo no contiene datos."
+msgstr "El flujo no contiene suficientes datos."
 
 msgid "Stream contains no data."
 msgstr "El flujo no contiene datos."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Interfaces implementados:\n"
+msgstr "%sInterfaces implementados%s:\n"
 
 msgid "readable"
 msgstr "legible"
@@ -1061,11 +1086,14 @@ msgid "writable"
 msgstr "escribible"
 
 msgid "deprecated"
-msgstr ""
+msgstr "obsoleto"
 
 msgid "controllable"
 msgstr "controlable"
 
+msgid "conditionally available"
+msgstr "condicionalmente disponible"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "intercambiable entre los estados NULL, READY, PAUSED o PLAYING"
 
@@ -1078,9 +1106,9 @@ msgstr "intercambiable sólo entre los estados NULL o READY"
 msgid "Blacklisted files:"
 msgstr "Archivos en la lista negra:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Conteo total:"
+msgstr "%sConteo total%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1130,23 +1158,32 @@ msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
+"Una lista separada por barras ('/') de tipos de elementos (también conocidos "
+"como klass) a la lista. (sin orden)"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "Verificar si existe el elemento o plugin especificado"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
+"Al verificar si existe un elemento o plugin, también verifica que su versión "
+"sea al menos la versión especificada"
 
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 "Imprimir los esquemas URI soportados, con los elementos que los implementan"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Desactiva los colores en la salida. También puede lograr lo mismo definiendo "
+"la variable de ambiente 'GST_INSPECT_NO_COLORS' con cualquier valor."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Color en la salida, aún cuando no se envíe a una terminal."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1159,6 +1196,12 @@ msgstr "No existe el elemento o complemento «%s»\n"
 msgid "Index statistics"
 msgstr "índice de las estadísticas"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Estableciendo el conducto a REPRODUCIENDO …\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERROR: el conducto no quiere reproducir.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Se obtuvo el mensaje nº %u del elemento «%s» (%s): "
@@ -1179,6 +1222,9 @@ msgstr "Se obtuvo el mensaje nº %u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Se recibió un EOS del elemento «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS recibido: parando el conducto …\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETIQUETA ENCONTRADA      : encontrada por el elemento «%s».\n"
@@ -1194,17 +1240,16 @@ msgstr "ETIQUETA ENCONTRADA      : encontrada por el objeto «%s».\n"
 msgid "FOUND TAG\n"
 msgstr "ETIQUETA ENCONTRADA\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr "ETIQUETA ENCONTRADA      : encontrada por el elemento «%s».\n"
+msgstr "TABLA DE CONTENIDOS ENCONTRADA : encontrada por el elemento «%s».\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr "ETIQUETA ENCONTRADA      : encontrada por el objeto «%s».\n"
+msgstr "TABLA DE CONTENIDOS ENCONTRADA : encontrada por el objeto «%s».\n"
 
-#, fuzzy
 msgid "FOUND TOC\n"
-msgstr "ETIQUETA ENCONTRADA\n"
+msgstr "TABLA DE CONTENIDOS ENCONTRADA\n"
 
 #, c-format
 msgid ""
@@ -1218,12 +1263,14 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ADVERTENCIA: del elemento %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "El conducto está PREPARADO …\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Preparado, esperando a llenar el búfer para terminar…\n"
 
-#, fuzzy
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr "Preparado, esperando a llenar el búfer para terminar…\n"
+msgstr "Preparado, esperando por avance para terminar…\n"
 
 msgid "buffering..."
 msgstr "almacenando en el búfer…"
@@ -1233,6 +1280,7 @@ msgstr ""
 "Se terminó de almacenar en el búfer, estableciendo la segmentación para "
 "REPRODUCIR…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "almacenando en el búfer, estableciendo la segmentación a PAUSA…\n"
 
@@ -1243,26 +1291,47 @@ msgstr "Redistribuir latencia…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Estableciendo el estado a %s según lo solicitó %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrumpir: parando el conducto …\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrupción al esperar EOS - parando el conducto ...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS al apagar activado; Forzando EOS en el conducto\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Esperando a EOS…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "Progreso: (%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "no hay un elemento «%s»"
+msgstr "Falta un elemento: «%s»\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "ADVERTENCIA: del elemento %s: %s\n"
+msgstr "Se obtiene contexto del elemento '%s': %s=%s\n"
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERROR: el conducto no quiere prepararse.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Ocurrió un error al esperar a EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Usar el reloj de alta resolución de Windows, precisión: %u ms\n"
 
 msgid "Output tags (also known as metadata)"
-msgstr "Etiquetas de salida (también conocidos como metadatos)"
+msgstr "Etiquetas (también conocidos como metadatos)"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "Tabla de contenido (capítulos y ediciones)"
 
 msgid "Output status information and property notifications"
 msgstr "Información de estado de la salida y notificaciones de las propiedades"
@@ -1277,19 +1346,39 @@ msgid ""
 "Do not output status information for the specified property if verbose "
 "output is enabled (can be used multiple times)"
 msgstr ""
+"No mostrar la información de estado para la propiedad especificada si se "
+"activa la salida detallada (se puede usar varias veces)"
 
 msgid "PROPERTY-NAME"
-msgstr ""
+msgstr "NOMBRE-PROPIEDAD"
 
 msgid "Do not install a fault handler"
 msgstr "No instalar un manejador predeterminado"
 
 msgid "Force EOS on sources before shutting the pipeline down"
-msgstr "Forzar EOS en las fuentes antes de cerrar la tubería"
+msgstr "Forzar EOS en las fuentes antes de cerrar el conducto"
 
 msgid "Gather and print index statistics"
 msgstr "Obtener y mostrar el índice de las estadísticas"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"No muestra la posición actual del conducto. Si no se especifica esta opción, "
+"se mostrará la posición cuando la salida estándard sea una terminal. Para "
+"mostrar la posición cuando la salida estándard no sea una terminal, use la "
+"opción \"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Permite mostrar la posición actual del conducto aún si la salida estándard "
+"no es una terminal. Esta opción no tiene efecto si se especificó la opción "
+"\" no-position\""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERROR: no se pudo construir el conducto:%s.\n"
@@ -1307,8 +1396,8 @@ msgstr "ERROR: el elemento «conducto» no se encontró.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Estableciendo el conducto a PAUSA …\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROR: El conducto no quiere pausarse.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Falló al establecer el conducto a PAUSA …\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "El conducto está vivo y no necesita PREPARARSE …\n"
@@ -1316,65 +1405,38 @@ msgstr "El conducto está vivo y no necesita PREPARARSE …\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "El conducto está PREPARÁNDOSE …\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERROR: el conducto no quiere prepararse.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "El conducto está PREPARADO …\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Estableciendo el conducto a REPRODUCIENDO …\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERROR: el conducto no quiere reproducir.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS al apagar activado; Forzando EOS en la tubería\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS al apagar activado; Forzando EOS en la tubería\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Esperando a EOS…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS recibido: parando el conducto …\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrumpir: parando el conducto …\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Ocurrió un error al esperar a EOS\n"
-
 msgid "Execution ended after %"
 msgstr "La ejecución finalizó después de %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Estableciando el conducto a PREPARADO …\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Estableciendo el conducto a NULL …\n"
 
 msgid "Freeing pipeline ...\n"
-msgstr "Liberando la tubería…\n"
+msgstr "Liberando el conducto…\n"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERROR: El conducto no quiere pausarse.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS al apagar activado -- esperando EOS después del Error\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Estableciando el conducto a PREPARADO …\n"
 
-#, fuzzy
 #~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Error al cerrar el archivo «%s»."
+#~ msgstr "Error al crear la tubería: %s\n"
 
-#, fuzzy
 #~ msgid "Error forking: %s\n"
-#~ msgstr "Error al cerrar el archivo «%s»."
+#~ msgstr "Error al crear proceso: %s\n"
 
-#, fuzzy
 #~ msgid "Error reading from console: %s\n"
-#~ msgstr "Error al volver a escanear el registro %s: %s"
+#~ msgstr "Error al leer de la consola: %s\n"
 
-#, fuzzy
 #~ msgid "Error writing to console: %s\n"
-#~ msgstr "Error al escribir al archivo «%s»."
+#~ msgstr "Error al escribir a la consola: %s\n"
+
+#~ msgid "bin"
+#~ msgstr "binario"
 
 #~ msgid "Internal data stream error."
 #~ msgstr "Error interno de flujo de datos."
@@ -1394,8 +1456,8 @@ msgstr "Liberando la tubería…\n"
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "no existe un elemento con el que enlazar el URI «%s»"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Imprimir la traza de asignaciones (si se activó al compilar)"
+#~ msgid "maximum"
+#~ msgstr "máximo"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
@@ -1430,6 +1492,9 @@ msgstr "Liberando la tubería…\n"
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr "No instalar los manejadores de señales para SIGUSR1 y SIGUSR2"
 
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Imprimir la traza de asignaciones (si se activó al compilar)"
+
 #~ msgid "Error re-scanning registry %s"
 #~ msgstr "Error al volver a escanear el registro %s"
 
diff --git a/po/eu.po b/po/eu.po
index e51f87f..cce1e8b 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer-0.10.26.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-03-25 13:10+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -16,6 +16,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
@@ -97,6 +98,7 @@ msgstr "GStreamer-en aukerak"
 msgid "Show GStreamer Options"
 msgstr "Erakutsi GStreamer-en aukerak"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Aukera ezezaguna"
 
@@ -801,9 +803,8 @@ msgstr "korronte hau kodetzeko erabili den kodetzailearen bertsioa"
 msgid "application name"
 msgstr "geolokalizazioaren izena"
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "korronte hau kodetzeko erabili den kodetzailearen bertsioa"
+msgstr ""
 
 msgid "application data"
 msgstr ""
@@ -841,9 +842,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -864,6 +870,9 @@ msgstr ""
 "Arazketa-informazio gehigarria:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -872,15 +881,36 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "ez dago \"%s\" propietaterik \"%s\" elementuan"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "\"%s\" fitxategia socket-a da."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+"ezin izan da ezarri \"%2$s\" elementuko \"%1$s\" propietatea honela: \"%3$s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "ez dago \"%s\" elementua"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 "ezin izan da ezarri \"%2$s\" elementuko \"%1$s\" propietatea honela: \"%3$s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"ezin izan da ezarri \"%2$s\" elementuko \"%1$s\" propietatea honela: \"%3$s\""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -900,10 +930,6 @@ msgstr "ezin izan da %s estekatu hona: %s"
 msgid "could not link %s to %s"
 msgstr "ezin izan da %s estekatu hona: %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "ez dago \"%s\" elementua"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1065,6 +1091,10 @@ msgstr ""
 msgid "controllable"
 msgstr "kontrola daitekeena"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "kontrola daitekeena"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1143,8 +1173,11 @@ msgstr ""
 "Erakutsi onartutako URI eskemak, haiek inplementatzen dituzten elementuekin"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1158,6 +1191,12 @@ msgstr "'%s' elementua edo plugina ez da existitzen\n"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Kanalizazioa ERREPRODUZITZEA gisa ezartzen... \n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERROREA: ezin da kanalizazioa erreproduzitu.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "\"%2$s\" (%3$s) elementuaren %1$u. mezua jaso da: "
@@ -1178,6 +1217,9 @@ msgstr "%u. (%s) mezua jaso da: "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "\"%s\" elementuaren EOS bat jaso da.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOSa jasota - kanalizazioa gelditzen...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETIKETA AURKITU DA: \"%s\" elementuak aurkitu du.\n"
@@ -1217,6 +1259,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ABISUA,  %s elementuarena: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Kanalizazioa PRESTATUA dago... \n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Prestatu da; bufferreratzen bukatu zain...\n"
 
@@ -1231,6 +1276,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Bufferreratu da; kanalizazioaren ezarpena ERREPRODUZITZEA gisa jartzen... \n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Bufferreratzen; kanalizazioa PAUSARAZIA gisa ezartzen... \n"
 
@@ -1241,9 +1287,21 @@ msgstr "Latentzia birbanatzen...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Egoera %s(e)ra ezartzen %s(e)k eskatu bezala...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Eten: Kanalizazioa gelditzen... \n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Eten: Kanalizazioa gelditzen... \n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS itzaltzean gaituta -- EOS derrigortzen kanalizazioan\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "EOSren zain...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1256,6 +1314,16 @@ msgstr "ez dago \"%s\" elementua"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "ABISUA,  %s elementuarena: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERROREA: ezin da kanalizazioa prestatu.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Errorea gertatu da EOSren zain egotean\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Erakutsi etiketak (metadatu gisa ere ezagutzen direnak)"
 
@@ -1288,6 +1356,17 @@ msgstr "Derrigortu EOS iturburuetan kanalizazioa itzali aurretik"
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERROREA: ezin izan da kanalizazioa eraiki: %s.\n"
@@ -1305,8 +1384,9 @@ msgstr "ERROREA: ezin izan da 'kanalizazio' elementua aurkitu.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Kanalizazioa PAUSARAZIA gisa ezartzen... \n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROREA: ezin da kanalizazioa pausarazi.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Kanalizazioa PAUSARAZIA gisa ezartzen... \n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Kanalizazioa aktibo dago eta ez du PRESTATU beharrik...\n"
@@ -1314,91 +1394,41 @@ msgstr "Kanalizazioa aktibo dago eta ez du PRESTATU beharrik...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Kanalizazioa PRESTATZEN ari da... \n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERROREA: ezin da kanalizazioa prestatu.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Kanalizazioa PRESTATUA dago... \n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Kanalizazioa ERREPRODUZITZEA gisa ezartzen... \n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERROREA: ezin da kanalizazioa erreproduzitu.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS itzaltzean gaituta -- EOS derrigortzen kanalizazioan\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS itzaltzean gaituta -- EOS derrigortzen kanalizazioan\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "EOSren zain...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOSa jasota - kanalizazioa gelditzen...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Eten: Kanalizazioa gelditzen... \n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Errorea gertatu da EOSren zain egotean\n"
-
 msgid "Execution ended after %"
 msgstr "Erreprodukzioa amaitu egin da %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Kanalizazioa PREST gisa ezartzen... \n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Kanalizazioa NULUA gisa ezartzen... \n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Kanalizazioa askatzen...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Errorea gertatu da \"%s\" fitxategia ixtean."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Errorea gertatu da \"%s\" fitxategia ixtean."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Errorea gertatu da \"%s\" fitxategian idaztean."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Datu-korrontearen barne-errorea."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Ez erakutsi MOTA hauetako egoera-informazioa:"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "1.MOTA, 2.MOTA..."
-
 #~ msgid "link without source element"
 #~ msgstr "iturburu-elementurik gabeko esteka"
 
 #~ msgid "link without sink element"
 #~ msgstr "kolektore-elementurik gabeko esteka"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "ez dago elementurik \"%s\" URIa hona estekatzeko:"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Inprimatu esleipenen segimendua (konpilatzean gaitu bada)"
+#~ msgid "Internal data stream error."
+#~ msgstr "Datu-korrontearen barne-errorea."
+
+#~ msgid "maximum"
+#~ msgstr "gehienezkoa"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
 #~ "Erabilera: gst-xmllaunch <fitxategia.xml> [ elementua."
 #~ "propietatea=balioa... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "ERROREA: huts egin du '%s' xml fitxategia analizatzean.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr ""
 #~ "ERROREA: ez dago goi-mailako kanalizazio-elementurik '%s' fitxategian.\n"
@@ -1406,19 +1436,32 @@ msgstr "Kanalizazioa askatzen...\n"
 #~ msgid "WARNING: only one toplevel element is supported at this time.\n"
 #~ msgstr "KONTUZ: goi-mailako elementu bat bakarra onartzen da oraingoan.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr ""
 #~ "ERROREA: ezin izan da komando-lerroko %d. argumentua analizatu: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "KONTUZ: ez da aurkitu '%s' izeneko elementua.\n"
 
+#~ msgid "Do not output status information of TYPE"
+#~ msgstr "Ez erakutsi MOTA hauetako egoera-informazioa:"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "1.MOTA, 2.MOTA..."
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Gorde kanalizazioen xml adierazpena FITXATEGIan eta irten"
 
 #~ msgid "FILE"
 #~ msgstr "FITXATEGIA"
 
-#, fuzzy
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Ez instalatu akats-maneiatzailerik"
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Inprimatu esleipenen segimendua (konpilatzean gaitu bada)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERROREA: ezin da kanalizazioa pausarazi.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Kanalizazioa PREST gisa ezartzen... \n"
diff --git a/po/fi.po b/po/fi.po
index 565ae55..d79e549 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,8 +11,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.30.3\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-11-17 23:10+0200\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -20,6 +20,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgid "Print the GStreamer version"
@@ -96,6 +97,7 @@ msgstr "GStreamerin valitsimet"
 msgid "Show GStreamer Options"
 msgstr "Näytä GStreamerin valitsimet"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Tuntematon valitsin"
 
@@ -838,9 +840,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -861,6 +868,9 @@ msgstr ""
 "Lisätietoja vianetsintään:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -869,14 +879,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "ominaisuutta ”%s” ei ole elementissä ”%s”"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Tiedosto ”%s” on pistoke."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "elementin ”%2$s” ominaisuutta ”%1$s” ei voitu asettaa arvoon ”%3$s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "ei elementtiä ”%s”"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "elementin ”%2$s” ominaisuutta ”%1$s” ei voitu asettaa arvoon ”%3$s”"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "elementin ”%2$s” ominaisuutta ”%1$s” ei voitu asettaa arvoon ”%3$s”"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -896,10 +925,6 @@ msgstr "elementtiä %s ei voitu linkittää elementtiin %s"
 msgid "could not link %s to %s"
 msgstr "elementtiä %s ei voitu linkittää elementtiin %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "ei elementtiä ”%s”"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1061,6 +1086,10 @@ msgstr ""
 msgid "controllable"
 msgstr "ohjattavissa"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "ohjattavissa"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "vaihdettavissa TYHJÄ-, VALMIS-, TAUOLLA- tai SOI-tiloissa"
 
@@ -1138,8 +1167,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Tulosta tuetut URI-skeemat sekä ne toteuttavat elementit"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1153,6 +1185,12 @@ msgstr "Ei tällaista elementtiä tai liitännäistä ”%s”\n"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Asetetaan liukuhihna tilaan SOI...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "VIRHE: Liukuhihna ei halua toistaa.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Saatiin viesti #%u elementiltä ”%s” (%s): "
@@ -1173,6 +1211,9 @@ msgstr "Saatiin viesti #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Saatiin EOS (virran loppu) elementiltä ”%s”.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Virran-loppu vastaanotettu - pysäytetään liukuhihna...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "LÖYTYI MERKINTÄ: sen löysi elementti ”%s”.\n"
@@ -1212,6 +1253,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "VAROITUS: elementiltä %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Liukuhihna on ESIRULLATTU...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Esipyöritetty, odotetaan puskuroinnin päättymistä...\n"
 
@@ -1225,6 +1269,7 @@ msgstr "puskuroidaan..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Puskurointi tehty, asetetaan liukuhihna tilaan SOI...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Puskuroidaan, asetetaan liukuhihna tilaan TAUOLLA...\n"
 
@@ -1235,9 +1280,23 @@ msgstr "Uudelleenjaa latenssi...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Asetetaan tilaan %s kuten %s pyysi...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Keskeytys: Pysäytetään liukuhihna ...\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Keskeytys: Pysäytetään liukuhihna ...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Virran-loppu sammutettaessa käytössä -- pakotetaan virran-loppu "
+"liukuhihnalle\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Odotetaan virran loppua...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1250,6 +1309,16 @@ msgstr "ei elementtiä ”%s”"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "VAROITUS: elementiltä %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "VIRHE: Liukuhihna ei halua esirullautua.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Tapahtui virhe odotettaessa virran-loppua\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Tulostemerkinnät (tunnetaan myös metadatana)"
 
@@ -1282,6 +1351,17 @@ msgstr "Pakota virran-loppu lähteille ennen liukuhihan sammuttamista"
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "VIRHE: liukuhihnaa ei voitu rakentaa: %s.\n"
@@ -1299,8 +1379,9 @@ msgstr "VIRHE: ”liukuhihna”-elementtiä ei löytynyt.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Asetetaan liukuhihna tilaan TAUOLLA...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "VIRHE: Liukuhihna ei halua mennä tauolle.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Asetetaan liukuhihna tilaan TAUOLLA...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Liukuhihna on käynnissä eikä sitä tarvitse ESIRULLATA...\n"
@@ -1308,110 +1389,60 @@ msgstr "Liukuhihna on käynnissä eikä sitä tarvitse ESIRULLATA...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Liukuhihna ESIRULLAUTUU...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "VIRHE: Liukuhihna ei halua esirullautua.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Liukuhihna on ESIRULLATTU...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Asetetaan liukuhihna tilaan SOI...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "VIRHE: Liukuhihna ei halua toistaa.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Virran-loppu sammutettaessa käytössä -- pakotetaan virran-loppu "
-"liukuhihnalle\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"Virran-loppu sammutettaessa käytössä -- pakotetaan virran-loppu "
-"liukuhihnalle\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Odotetaan virran loppua...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Virran-loppu vastaanotettu - pysäytetään liukuhihna...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Keskeytys: Pysäytetään liukuhihna ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Tapahtui virhe odotettaessa virran-loppua\n"
-
 msgid "Execution ended after %"
 msgstr "Suoritus päättyi jälkeen %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Asetetaan liukuhihna tilaan VALMIS...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Asetetaan liukuhihna tilaan TYHJÄ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Vapautetaan liukuhihna...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Virhe ladattaessa %s\n"
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Virhe ladattaessa %s\n"
-
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "Virhe uudelleenskannatessa rekisteriä %s: %s"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Virhe kirjoitettaessa tiedostoon ”%s”."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Sisäinen tietovirtavirhe."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Älä tulosta tilatietoa TYYPPI"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TYYPPI1,TYYPPI2,..."
-
 #~ msgid "link without source element"
 #~ msgstr "linkki ilman lähde-elementtiä"
 
 #~ msgid "link without sink element"
 #~ msgstr "linkki ilman nieluelementtiä"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "ei elementtiä, jota linkittää URIin ”%s”"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Tulosta varausjälki (jos valittu käännöksen yhteydessä)"
+#~ msgid "Internal data stream error."
+#~ msgstr "Sisäinen tietovirtavirhe."
+
+#~ msgid "maximum"
+#~ msgstr "enintään"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
 #~ "Käyttö: gst-xmllaunch <tiedosto.xml> [ elementti.ominaisuus=arvo ... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "VIRHE: XML-tiedoston ”%s” jäsentäminen epäonnistui.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr "VIRHE: päätason liukuhihnaelementtiä ei ole tiedostossa ”%s”.\n"
 
 #~ msgid "WARNING: only one toplevel element is supported at this time.\n"
 #~ msgstr "VAROITUS: vain yhtä päätason elementtiä tuetaan tällä kertaa.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr "VIRHE: ei voitu jäsentää komentoriviargumenttia %d: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "VAROITUS: elementtiä nimeltä ”%s” ei löytynyt.\n"
 
+#~ msgid "Do not output status information of TYPE"
+#~ msgstr "Älä tulosta tilatietoa TYYPPI"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TYYPPI1,TYYPPI2,..."
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Tallenna liukuhihnan XML-esitys TIEDOSTOon ja poistu"
 
@@ -1421,6 +1452,18 @@ msgstr "Vapautetaan liukuhihna...\n"
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr "Älä asenna SIGUSR1- ja SIGUSR2-signaalinkäsittelijöitä"
 
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Tulosta varausjälki (jos valittu käännöksen yhteydessä)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "VIRHE: Liukuhihna ei halua mennä tauolle.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Asetetaan liukuhihna tilaan VALMIS...\n"
+
+#~ msgid "Error re-scanning registry %s: %s"
+#~ msgstr "Virhe uudelleenskannatessa rekisteriä %s: %s"
+
 #~ msgid "Error re-scanning registry %s"
 #~ msgstr "Virhe uudelleenskannatessa rekisteriä %s"
 
@@ -1486,6 +1529,9 @@ msgstr "Vapautetaan liukuhihna...\n"
 #~ msgid "Trying to load %s ...\n"
 #~ msgstr "Yritetään ladata %s ...\n"
 
+#~ msgid "Error loading %s\n"
+#~ msgstr "Virhe ladattaessa %s\n"
+
 #~ msgid "Loaded %d plugins with %d feature.\n"
 #~ msgid_plural "Loaded %d plugins with %d features.\n"
 #~ msgstr[0] "Ladattu %d liitännäistä, joilla on %d ominaisuus.\n"
diff --git a/po/fr.po b/po/fr.po
index 0b8ca5a..e1b0753 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,14 +4,14 @@
 #
 # Thomas Vander Stichele <thomas@apestaart.org>, 2004.
 # Claude Paroz <claude@2xlibre.net>, 2008-2012.
-# Stéphane Aulery <lkppo@free.fr>, 2015, 2017.
+# Stéphane Aulery <lkppo@free.fr>, 2015-2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-05 22:33+0200\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-07-05 00:47+0200\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -100,6 +100,7 @@ msgstr "Options de GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Afficher les options de GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Option inconnue"
 
@@ -138,7 +139,7 @@ msgid "Internal GStreamer error: seek problem."
 msgstr "Erreur interne de Gstreamer : problème de recherche."
 
 msgid "Internal GStreamer error: caps problem."
-msgstr "Erreur interne de Gstreamer : problème de caps."
+msgstr "Erreur interne de Gstreamer : problème de capacités."
 
 msgid "Internal GStreamer error: tag problem."
 msgstr "Erreur interne de Gstreamer : problème de balise."
@@ -830,7 +831,7 @@ msgid "midi-base-note"
 msgstr "midi-base-note"
 
 msgid "Midi note number of the audio track."
-msgstr "Numèro de note Midi d’une piste audio."
+msgstr "Numéro de note Midi d’une piste audio."
 
 msgid "private-data"
 msgstr "données-privées"
@@ -838,16 +839,21 @@ msgstr "données-privées"
 msgid "Private data"
 msgstr "Données privées"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "URI incorrecte : %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Aucun gestionnaire d’URI trouvé pour le protocole %s"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr "schèma URI « %s » non pris en charge"
+msgstr "schéma URI « %s » non pris en charge"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
@@ -861,6 +867,9 @@ msgstr ""
 "Information de débogage supplémentaire :\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "lien sans source [sink=%s@%p]"
@@ -869,38 +878,53 @@ msgstr "lien sans source [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "lien sans sink [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "pas de propriété « %s » dans l’élément « %s »"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "L'élément « %s » n'est pas de type GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "impossible de définir le réglage « %s » de l’élément « %s »"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "pas d’élément « %s »"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "impossible de définir la propriété « %s » de l’élément « %s » à « %s »"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "impossible de définir la propriété « %s » de l’élément « %s » à « %s »"
+
 msgid "Delayed linking failed."
 msgstr "Échec du chargement dynamique différé."
 
 #, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "impossible de connecter %s à %s, %s n’accepte pas les majuscules %s"
+msgstr "impossible de connecter %s à %s, %s n’accepte pas les capacités %s"
 
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
 msgstr ""
-"impossible de connecter %s à %s, aucun élément n’accepte les majuscules %s"
+"impossible de connecter %s à %s, aucun élément n’accepte les capacités %s"
 
 #, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "impossible de connecter %s à %s avec les majuscules %s"
+msgstr "impossible de connecter %s à %s avec les capacités %s"
 
 #, c-format
 msgid "could not link %s to %s"
 msgstr "impossible de connecter %s à %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "pas d’élément « %s »"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "référence « %s » inattendue - ignoré"
@@ -911,7 +935,7 @@ msgstr "pad-référence « %s » inattendue - ignoré"
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "impossible d’analyser le caps « %s »"
+msgstr "impossible d’analyser les capacités « %s »"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -936,7 +960,7 @@ msgid "empty pipeline not allowed"
 msgstr "pipeline vide non autorisé"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Construction du pipeline invalide, veuillez ajouter des queues."
 
 msgid "A lot of buffers are being dropped."
 msgstr "De nombreux tampons sont éliminés."
@@ -951,24 +975,24 @@ msgid "Internal clock error."
 msgstr "Erreur d’horloge interne."
 
 msgid "Failed to map buffer."
-msgstr "Impossible de mapper les buffer."
+msgstr "Impossible de mapper les buffers."
 
 msgid "Filter caps"
-msgstr "Capacités de filtrage"
+msgstr "Filtre de capacités"
 
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 "Restreint les capacités possibles autorisées (NULL signifie ANY). La "
-"définition de cette propriété nécessite une référence à l’objet GSTCaps "
+"définition de cette propriété nécessite une référence à l’objet GstCaps "
 "fourni."
 
 msgid "Caps Change Mode"
-msgstr "Mode majuscule activé"
+msgstr "Mode de changement des capacités"
 
 msgid "Filter caps change behaviour"
-msgstr "Filtre de comportement de modification des majuscules"
+msgstr "Comportement du changement du filtre de capacités"
 
 msgid "No Temp directory specified."
 msgstr "Aucun répertoire temporaire indiqué."
@@ -1022,7 +1046,7 @@ msgid "Failed after iterations as requested."
 msgstr "Échec suite aux itérations demandées."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after et error-after ne peuvent pas être définis en même temps."
 
 msgid "caps"
 msgstr "capacités"
@@ -1045,9 +1069,9 @@ msgstr "Le flux ne contient pas assez de données."
 msgid "Stream contains no data."
 msgstr "Le flux ne contient aucune donnée."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Interfaces implémentées :\n"
+msgstr "%sinterfaces implémentées%s :\n"
 
 msgid "readable"
 msgstr "accès en lecture"
@@ -1061,6 +1085,9 @@ msgstr "obsolète"
 msgid "controllable"
 msgstr "contrôlable"
 
+msgid "conditionally available"
+msgstr "dospinibilité conditionnelle"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "modifiable en l’état NULL, READY, PAUSED ou PLAYING"
 
@@ -1073,9 +1100,9 @@ msgstr "modifiable uniquement en l’état NULL ou READY"
 msgid "Blacklisted files:"
 msgstr "Fichiers sur liste noire :"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Nombre total :"
+msgstr "%sNombre total%s : %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1144,9 +1171,15 @@ msgstr ""
 "implémentent"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Désactive les couleurs en sortie. Vous pouvez aussi activer cette option en "
+"donnant une valeur non nulle à la variable d'environnement "
+"GST_INSPECT_NO_COLORS."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Couleur de la sortie, même quand vers un autre périphérique qu'un tty"
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1159,6 +1192,12 @@ msgstr "Aucun élément ou greffon « %s »\n"
 msgid "Index statistics"
 msgstr "Statistiques d’index"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Passage du pipeline à la phase PLAYING…\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERREUR : le pipeline refuse de passer en mode actif.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Message n° %u reçu de l’élément « %s » (%s) : "
@@ -1179,6 +1218,9 @@ msgstr "Message n°%u reçu (%s) : "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "EOS reçu de l’élément « %s ».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS reçu - arrêt du pipeline…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "BALISE TROUVÉE  : découverte par l’élément « %s ».\n"
@@ -1217,6 +1259,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "AVERTISSEMENT : de l’élément %s : %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Le pipeline a terminé la phase PREROLL…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Préparation terminée, attente de la fin de remplissage du tampon…\n"
 
@@ -1229,6 +1274,7 @@ msgstr "mise en mémoire tampon…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Mémoire tampon pleine, définition du pipeline à PLAYING…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Remplissage du tampon, définition du pipeline à PAUSED…\n"
 
@@ -1239,9 +1285,20 @@ msgstr "Redistribution de latence…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Définition de l’état à %s comme demandé par %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interruption : arrêt du pipeline…\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interruption lors de l’attente d’EOS - arrêt du pipeline…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS à la fermeture est activé -- EOS forcé sur le pipeline\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Attente d’EOS.\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Progression : (%s) %s\n"
@@ -1254,6 +1311,16 @@ msgstr "Élément manquant : %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Contexte de l’élément « %s » : %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERREUR : le pipeline refuse de passer en phase de préparation.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Une erreur s’est produite lors de l’attente de l’EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Utiliser l'horloge haute résolution de Windows, précision à %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Affiche les balises (aussi connues sous le nom de métadonnées)"
 
@@ -1288,6 +1355,24 @@ msgstr "Force l’EOS sur les sources avant de fermer le pipeline"
 msgid "Gather and print index statistics"
 msgstr "Rassemble et affiche les statistiques d’index"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Ne pas imprimer la position actuelle du pipeline. Si cette option n'est pas "
+"spécifiée, la position sera imprimée lorsque stdout est un TTY. Pour activer "
+"la position d'impression lorsque stdout n'est pas un TTY, utilisez l'option "
+"\"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Autoriser l'impression de la position actuelle du pipeline même si stdout "
+"n'est pas un TTY. Cette option n'a aucun effet si l'option \"no-position\" "
+"est spécifiée"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERREUR : le pipeline n’a pas pu être construit : %s.\n"
@@ -1305,8 +1390,8 @@ msgstr "ERREUR : l’élément « pipeline » est introuvable.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Définition du pipeline à PAUSED...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERREUR : le pipeline refuse de se mettre en pause.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Impossible de mettre en pause le pipeline.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Le pipeline est actif et n’a pas besoin de phase PREROLL…\n"
@@ -1314,59 +1399,35 @@ msgstr "Le pipeline est actif et n’a pas besoin de phase PREROLL…\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Le pipeline est en phase de PREROLL…\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERREUR : le pipeline refuse de passer en phase de préparation.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Le pipeline a terminé la phase PREROLL…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Passage du pipeline à la phase PLAYING…\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERREUR : le pipeline refuse de passer en mode actif.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS à la fermeture est activé -- EOS forcé sur le pipeline\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS à la fermeture est activé -- attente d’EOS après erreur\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Attente d’EOS.\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS reçu - arrêt du pipeline…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interruption lors de l’attende d’EOS - arrêt du pipeline…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Une erreur s’est produite lors de l’attente de l’EOS\n"
-
 msgid "Execution ended after %"
 msgstr "L’exécution s’est terminée après %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Définition du pipeline à READY (prêt)…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Définition du pipeline à NULL…\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Libération du pipeline…\n"
 
-#, fuzzy
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERREUR : le pipeline refuse de se mettre en pause.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS à la fermeture est activé -- attente d’EOS après erreur\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Définition du pipeline à READY (prêt)…\n"
+
 #~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Erreur lors de la fermeture du fichier « %s »."
+#~ msgstr "Erreur lors de la création du tube : %s\n"
 
-#, fuzzy
 #~ msgid "Error forking: %s\n"
-#~ msgstr "Erreur lors de la fermeture du fichier « %s »."
+#~ msgstr "Erreur lors du fork : %s\n"
+
+#~ msgid "Error reading from console: %s\n"
+#~ msgstr "Erreur lors de la lecture depuis la console : %s\n"
 
-#, fuzzy
 #~ msgid "Error writing to console: %s\n"
-#~ msgstr "Erreur d’écriture dans le fichier « %s »."
+#~ msgstr "Erreur d’écriture vers la console : %s\n"
 
 #~ msgid "bin"
 #~ msgstr "bin"
diff --git a/po/fur.po b/po/fur.po
index 8e5544b..0efd014 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.10.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2017-03-19 15:41+0100\n"
 "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
 "Language-Team: Friulian <f.t.public@gmail.com>\n"
@@ -85,6 +85,7 @@ msgstr "Opzions GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Mostre lis opzions di GSstreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opzion no cognossude"
 
@@ -810,9 +811,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -831,6 +837,9 @@ msgid ""
 "%s\n"
 msgstr ""
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -839,14 +848,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Il file \"%s\" al è un socket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "Impussibil creâ il file temporani \"%s\"."
+
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -866,10 +894,6 @@ msgstr ""
 msgid "could not link %s to %s"
 msgstr ""
 
-#, c-format
-msgid "no element \"%s\""
-msgstr ""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1027,6 +1051,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1100,8 +1127,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1115,6 +1145,12 @@ msgstr ""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1135,6 +1171,9 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr ""
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
@@ -1171,6 +1210,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1183,6 +1225,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1193,9 +1236,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Progrès: (%s) %s\n"
@@ -1208,6 +1262,16 @@ msgstr "Element mancjant: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr ""
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr ""
 
@@ -1240,6 +1304,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr ""
@@ -1257,7 +1332,7 @@ msgstr ""
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
 msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
@@ -1266,56 +1341,11 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr ""
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
 msgid "Freeing pipeline ...\n"
 msgstr ""
-
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Erôr tal sierâ il file \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Erôr tal sierâ il file \"%s\"."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Erôr tal scrivi sul file \"%s\"."
diff --git a/po/gl.po b/po/gl.po
index 6c52fb6..92f0ee2 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2012-12-15 03:29+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -14,6 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Virtaal 0.7.1\n"
 "X-Project-Style: gnome\n"
@@ -93,6 +94,7 @@ msgstr "Opcións de GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Mostrar as opcións de GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opción descoñecida"
 
@@ -831,9 +833,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -854,6 +861,9 @@ msgstr ""
 "Información adicional de depuración:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -862,14 +872,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "non hai unha propiedade «%s» no elemento «%s»"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "O ficheiro «%s» é un socket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "non foi posíbel estabelecer a propiedade «%s» no elemento «%s» a «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "non hai un elemento «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "non foi posíbel estabelecer a propiedade «%s» no elemento «%s» a «%s»"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "non foi posíbel estabelecer a propiedade «%s» no elemento «%s» a «%s»"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -889,10 +918,6 @@ msgstr "non foi posíbel ligar %s a %s"
 msgid "could not link %s to %s"
 msgstr "non foi posíbel ligar %s a %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "non hai un elemento «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1054,6 +1079,10 @@ msgstr ""
 msgid "controllable"
 msgstr "controlábel"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "controlábel"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "intercambiábel entre os estados NULL, READY, PAUSED ou PLAYING"
 
@@ -1133,8 +1162,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Imprimir os esquemas URI admitidos, cos elementos que os implementan"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1148,6 +1180,12 @@ msgstr "Non existe o elemento ou engadido «%s»\n"
 msgid "Index statistics"
 msgstr "Estatísticas do índice"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Estabelecendo a tubería a REPRODUCINDO.\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERRO: a tubería non quere reproducirse.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Obtívose a mensaxe nº %u do elemento «%s» (%s): "
@@ -1168,6 +1206,9 @@ msgstr "Obtívose a mensaxe num. %u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Obtívose un EOS do elemento «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS recibido: detendo a tubería...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ATOPADA ETIQUETA      : atopada polo elemento «%s».\n"
@@ -1206,6 +1247,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "AVISO: do elemento %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "A tubería está PREPARADA...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Preparado, agardando a encher o búfer para rematar…\n"
 
@@ -1221,6 +1265,7 @@ msgstr ""
 "Rematouse de almacenar no búfer, estabelecendo a canalización para "
 "REPRODUCIR...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Almacenando no búfer, estabelecendo a canalización a PAUSADA...\n"
 
@@ -1231,9 +1276,20 @@ msgstr "Redistribuír latencia...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Estabelecendo o estado a %s segundo foi solicitado por %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interromper: parando a canalización …\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interromper ao agardar polo EOS - detendo a canalización…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS ao apagar activado; Forzando EOS na tubería\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Agardando pola EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1246,6 +1302,16 @@ msgstr "Elemento que falta: «%s»\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "AVISO: do elemento %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERRO: a tubería non quere prepararse.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Produciuse un erro ao esperar a EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Etiquetas de saída (tamén coñecido como metadatos)"
 
@@ -1278,6 +1344,17 @@ msgstr "Forzar EOS nas orixes antes de pechar a canalización"
 msgid "Gather and print index statistics"
 msgstr "Obter e imprimir as estatísticas do índice"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERRO: non foi posíbel construír a canalización: %s.\n"
@@ -1295,8 +1372,9 @@ msgstr "ERRO: o elemento «canalización» non foi atopado.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Estabelecendo a tubería a PAUSA...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERROR: A tubería non quere pausarse.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Estabelecendo a tubería a PAUSA...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "A tubería está viva e non necesita PREPARARSE...\n"
@@ -1304,59 +1382,24 @@ msgstr "A tubería está viva e non necesita PREPARARSE...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "A tubería está PREPARÁNDOSE...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERRO: a tubería non quere prepararse.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "A tubería está PREPARADA...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Estabelecendo a tubería a REPRODUCINDO.\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERRO: a tubería non quere reproducirse.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS ao apagar activado; Forzando EOS na tubería\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ao apagar activado; -- agardando polo EOS despois de erro\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Agardando pola EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS recibido: detendo a tubería...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interromper ao agardar polo EOS - detendo a canalización…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Produciuse un erro ao esperar a EOS\n"
-
 msgid "Execution ended after %"
 msgstr "A execución rematou despois de %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Estabelecendo a tubería a PREPARADO...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Estabelecendo a tubería a NULL...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Liberando a tubería...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Produciuse un erro ao pechar o ficheiro «%s»."
+#~ msgid "link without source element"
+#~ msgstr "ligazón sen elemento orixe"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Produciuse un erro ao pechar o ficheiro «%s»."
+#~ msgid "link without sink element"
+#~ msgstr "ligazón sen elemento sumidoiro"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Produciuse un erro ao escribir no ficheiro «%s»."
+#, c-format
+#~ msgid "no element to link URI \"%s\" to"
+#~ msgstr "non existe un elemento co que ligar o URI «%s»"
 
 #~ msgid "Internal data stream error."
 #~ msgstr "Produciuse un erro no fluxo interno de datos."
@@ -1367,14 +1410,14 @@ msgstr "Liberando a tubería...\n"
 #~ msgid "TYPE1,TYPE2,..."
 #~ msgstr "TIPO1,TIPO2,…"
 
-#~ msgid "link without source element"
-#~ msgstr "ligazón sen elemento orixe"
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERROR: A tubería non quere pausarse.\n"
 
-#~ msgid "link without sink element"
-#~ msgstr "ligazón sen elemento sumidoiro"
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS ao apagar activado; -- agardando polo EOS despois de erro\n"
 
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "non existe un elemento co que ligar o URI «%s»"
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Estabelecendo a tubería a PREPARADO...\n"
 
 #~ msgid "maximum"
 #~ msgstr "máximo"
diff --git a/po/gstreamer-1.0.pot b/po/gstreamer-1.0.pot
index 0eb58c6..9db0207 100644
--- a/po/gstreamer-1.0.pot
+++ b/po/gstreamer-1.0.pot
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.0\n"
+"Project-Id-Version: gstreamer-1.22.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-03-15 17:47+0000\n"
+"POT-Creation-Date: 2023-01-23 19:29+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,94 +18,94 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: gst/gst.c:250
+#: gst/gst.c:245
 msgid "Print the GStreamer version"
 msgstr ""
 
-#: gst/gst.c:252
+#: gst/gst.c:247
 msgid "Make all warnings fatal"
 msgstr ""
 
-#: gst/gst.c:256
+#: gst/gst.c:251
 msgid "Print available debug categories and exit"
 msgstr ""
 
-#: gst/gst.c:260
+#: gst/gst.c:255
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
 
-#: gst/gst.c:262
+#: gst/gst.c:257
 msgid "LEVEL"
 msgstr ""
 
-#: gst/gst.c:264
+#: gst/gst.c:259
 msgid ""
 "Comma-separated list of category_name:level pairs to set specific levels for "
 "the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 msgstr ""
 
-#: gst/gst.c:267
+#: gst/gst.c:262
 msgid "LIST"
 msgstr ""
 
-#: gst/gst.c:269
+#: gst/gst.c:264
 msgid "Disable colored debugging output"
 msgstr ""
 
-#: gst/gst.c:273
+#: gst/gst.c:268
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
 
-#: gst/gst.c:277
+#: gst/gst.c:272
 msgid "Disable debugging"
 msgstr ""
 
-#: gst/gst.c:281
+#: gst/gst.c:276
 msgid "Enable verbose plugin loading diagnostics"
 msgstr ""
 
-#: gst/gst.c:285
+#: gst/gst.c:280
 msgid "Colon-separated paths containing plugins"
 msgstr ""
 
-#: gst/gst.c:285
+#: gst/gst.c:280
 msgid "PATHS"
 msgstr ""
 
-#: gst/gst.c:288
+#: gst/gst.c:283
 msgid ""
 "Comma-separated list of plugins to preload in addition to the list stored in "
 "environment variable GST_PLUGIN_PATH"
 msgstr ""
 
-#: gst/gst.c:290
+#: gst/gst.c:285
 msgid "PLUGINS"
 msgstr ""
 
-#: gst/gst.c:293
+#: gst/gst.c:288
 msgid "Disable trapping of segmentation faults during plugin loading"
 msgstr ""
 
-#: gst/gst.c:298
+#: gst/gst.c:293
 msgid "Disable updating the registry"
 msgstr ""
 
-#: gst/gst.c:303
+#: gst/gst.c:298
 msgid "Disable spawning a helper process while scanning the registry"
 msgstr ""
 
-#: gst/gst.c:308
+#: gst/gst.c:303
 msgid "GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:309
+#: gst/gst.c:304
 msgid "Show GStreamer Options"
 msgstr ""
 
-#: gst/gst.c:1016
+#: gst/gst.c:1015
 #, c-format
 msgid "Unknown option"
 msgstr ""
@@ -307,11 +307,11 @@ msgstr ""
 msgid "No standard error message for domain %s and code %d."
 msgstr ""
 
-#: gst/gstpipeline.c:589
+#: gst/gstpipeline.c:593
 msgid "Selected clock cannot be used in pipeline."
 msgstr ""
 
-#: gst/gstregistry.c:1726
+#: gst/gstregistry.c:1808
 #, c-format
 msgid "Error writing registry cache to %s: %s"
 msgstr ""
@@ -1026,22 +1026,27 @@ msgstr ""
 msgid ", "
 msgstr ""
 
-#: gst/gsturi.c:649
+#: gst/gsturi.c:641 gst/gsturi.c:814
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
+#: gst/gsturi.c:656
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
 
-#: gst/gsturi.c:824
+#: gst/gsturi.c:836
 #, c-format
 msgid "URI scheme '%s' not supported"
 msgstr ""
 
-#: gst/gstutils.c:2677 tools/gst-launch.c:343
+#: gst/gstutils.c:2679 tools/gst-launch.c:350
 #, c-format
 msgid "ERROR: from element %s: %s\n"
 msgstr ""
 
-#: gst/gstutils.c:2679 tools/gst-launch.c:345 tools/gst-launch.c:707
+#: gst/gstutils.c:2681 tools/gst-launch.c:352 tools/gst-launch.c:714
 #, c-format
 msgid ""
 "Additional debug info:\n"
@@ -1051,105 +1056,115 @@ msgstr ""
 #. ******************************************************************************************
 #. *** helpers for pipeline-setup
 #. ******************************************************************************************
-#: gst/parse/grammar.y.in:216
+#: gst/parse/grammar.y.in:235
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
 
-#: gst/parse/grammar.y.in:221
+#: gst/parse/grammar.y.in:240
 #, c-format
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
-#: gst/parse/grammar.y.in:413
-#, c-format
-msgid "no property \"%s\" in element \"%s\""
+#: gst/parse/grammar.y.in:438
+msgid "No such property."
 msgstr ""
 
-#: gst/parse/grammar.y.in:454
+#: gst/parse/grammar.y.in:438 gst/parse/grammar.y.in:624
+#: gst/parse/grammar.y.in:658 gst/parse/grammar.y.in:770
 #, c-format
-msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
+msgid "no property \"%s\" in element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y.in:482
+#: gst/parse/grammar.y.in:533
 #, c-format
 msgid "Element \"%s\" is not a GstPreset"
 msgstr ""
 
-#: gst/parse/grammar.y.in:488
+#: gst/parse/grammar.y.in:539
 #, c-format
 msgid "could not set preset \"%s\" in element \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y.in:541
+#: gst/parse/grammar.y.in:570
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:613 gst/parse/grammar.y.in:793
+#, c-format
+msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:667
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:854
 msgid "Delayed linking failed."
 msgstr ""
 
-#: gst/parse/grammar.y.in:753 gst/parse/grammar.y.in:758
+#: gst/parse/grammar.y.in:1067 gst/parse/grammar.y.in:1072
 #, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
 msgstr ""
 
-#: gst/parse/grammar.y.in:763
+#: gst/parse/grammar.y.in:1077
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
 msgstr ""
 
-#: gst/parse/grammar.y.in:767
+#: gst/parse/grammar.y.in:1081
 #, c-format
 msgid "could not link %s to %s with caps %s"
 msgstr ""
 
-#: gst/parse/grammar.y.in:773
+#: gst/parse/grammar.y.in:1087
 #, c-format
 msgid "could not link %s to %s"
 msgstr ""
 
-#: gst/parse/grammar.y.in:850
-#, c-format
-msgid "no element \"%s\""
-msgstr ""
-
-#: gst/parse/grammar.y.in:914
+#: gst/parse/grammar.y.in:1238
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
 
-#: gst/parse/grammar.y.in:920
+#: gst/parse/grammar.y.in:1244
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
 msgstr ""
 
-#: gst/parse/grammar.y.in:952 gst/parse/grammar.y.in:961
+#: gst/parse/grammar.y.in:1276 gst/parse/grammar.y.in:1285
 #, c-format
 msgid "could not parse caps \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y.in:989
+#: gst/parse/grammar.y.in:1313
 #, c-format
 msgid "no sink element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y.in:1008
+#: gst/parse/grammar.y.in:1332
 #, c-format
 msgid "no source element for URI \"%s\""
 msgstr ""
 
-#: gst/parse/grammar.y.in:1098
+#: gst/parse/grammar.y.in:1422
 msgid "syntax error"
 msgstr ""
 
-#: gst/parse/grammar.y.in:1121
+#: gst/parse/grammar.y.in:1445
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr ""
 
-#: gst/parse/grammar.y.in:1131
+#: gst/parse/grammar.y.in:1455
 #, c-format
 msgid "no bin \"%s\", unpacking elements"
 msgstr ""
 
-#: gst/parse/grammar.y.in:1162
+#: gst/parse/grammar.y.in:1486
 msgid "empty pipeline not allowed"
 msgstr ""
 
@@ -1157,228 +1172,228 @@ msgstr ""
 msgid "Pipeline construction is invalid, please add queues."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3133
+#: libs/gst/base/gstbasesink.c:3144
 msgid "A lot of buffers are being dropped."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:3788
+#: libs/gst/base/gstbasesink.c:3799
 msgid "Internal data flow problem."
 msgstr ""
 
-#: libs/gst/base/gstbasesink.c:4622 libs/gst/base/gstbasesrc.c:2768
+#: libs/gst/base/gstbasesink.c:4633 libs/gst/base/gstbasesrc.c:2773
 msgid "Internal data flow error."
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2698
+#: libs/gst/base/gstbasesrc.c:2703
 msgid "Internal clock error."
 msgstr ""
 
-#: libs/gst/base/gstbasesrc.c:2726 plugins/elements/gstdownloadbuffer.c:847
-#: plugins/elements/gstdownloadbuffer.c:1270
+#: libs/gst/base/gstbasesrc.c:2731 plugins/elements/gstdownloadbuffer.c:850
+#: plugins/elements/gstdownloadbuffer.c:1275
 msgid "Failed to map buffer."
 msgstr ""
 
-#: plugins/elements/gstcapsfilter.c:128
+#: plugins/elements/gstcapsfilter.c:131
 msgid "Filter caps"
 msgstr ""
 
-#: plugins/elements/gstcapsfilter.c:129
+#: plugins/elements/gstcapsfilter.c:132
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
 
-#: plugins/elements/gstcapsfilter.c:136
+#: plugins/elements/gstcapsfilter.c:139
 msgid "Caps Change Mode"
 msgstr ""
 
-#: plugins/elements/gstcapsfilter.c:137
+#: plugins/elements/gstcapsfilter.c:140
 msgid "Filter caps change behaviour"
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:932 plugins/elements/gstqueue2.c:1810
+#: plugins/elements/gstdownloadbuffer.c:935 plugins/elements/gstqueue2.c:1818
 msgid "No Temp directory specified."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:938 plugins/elements/gstqueue2.c:1816
+#: plugins/elements/gstdownloadbuffer.c:941 plugins/elements/gstqueue2.c:1824
 #, c-format
 msgid "Could not create temp file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:946 plugins/elements/gstfilesrc.c:541
-#: plugins/elements/gstqueue2.c:1824
+#: plugins/elements/gstdownloadbuffer.c:949 plugins/elements/gstfilesrc.c:558
+#: plugins/elements/gstqueue2.c:1832
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
 
-#: plugins/elements/gstdownloadbuffer.c:1279 plugins/elements/gstqueue2.c:2262
+#: plugins/elements/gstdownloadbuffer.c:1284 plugins/elements/gstqueue2.c:2270
 msgid "Error while writing to download file."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:466
+#: plugins/elements/gstfilesink.c:453
 msgid "No file name specified for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:472
+#: plugins/elements/gstfilesink.c:459
 #, c-format
 msgid "Could not open file \"%s\" for writing."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:484 plugins/elements/gstfilesink.c:488
+#: plugins/elements/gstfilesink.c:471 plugins/elements/gstfilesink.c:475
 #, c-format
 msgid "Error closing file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:673
+#: plugins/elements/gstfilesink.c:660
 #, c-format
 msgid "Error while seeking in file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesink.c:681 plugins/elements/gstfilesink.c:688
-#: plugins/elements/gstfilesink.c:941 plugins/elements/gstfilesink.c:1025
+#: plugins/elements/gstfilesink.c:668 plugins/elements/gstfilesink.c:675
+#: plugins/elements/gstfilesink.c:928 plugins/elements/gstfilesink.c:1012
 #, c-format
 msgid "Error while writing to file \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:529
+#: plugins/elements/gstfilesrc.c:546
 msgid "No file name specified for reading."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:550
+#: plugins/elements/gstfilesrc.c:567
 #, c-format
 msgid "Could not get info on \"%s\"."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:556
+#: plugins/elements/gstfilesrc.c:573
 #, c-format
 msgid "\"%s\" is a directory."
 msgstr ""
 
-#: plugins/elements/gstfilesrc.c:562
+#: plugins/elements/gstfilesrc.c:580
 #, c-format
 msgid "File \"%s\" is a socket."
 msgstr ""
 
-#: plugins/elements/gstidentity.c:794
+#: plugins/elements/gstidentity.c:848
 msgid "Failed after iterations as requested."
 msgstr ""
 
-#: plugins/elements/gstidentity.c:995
+#: plugins/elements/gstidentity.c:1066
 msgid "eos-after and error-after can't both be defined."
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:251
+#: plugins/elements/gsttypefindelement.c:254
 msgid "caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:252
+#: plugins/elements/gsttypefindelement.c:255
 msgid "detected capabilities in stream"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:255
+#: plugins/elements/gsttypefindelement.c:258
 msgid "minimum"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:260
+#: plugins/elements/gsttypefindelement.c:263
 msgid "force caps"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:261
+#: plugins/elements/gsttypefindelement.c:264
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:988
-#: plugins/elements/gsttypefindelement.c:1010
+#: plugins/elements/gsttypefindelement.c:1013
+#: plugins/elements/gsttypefindelement.c:1035
 msgid "Stream doesn't contain enough data."
 msgstr ""
 
-#: plugins/elements/gsttypefindelement.c:1130
+#: plugins/elements/gsttypefindelement.c:1155
 msgid "Stream contains no data."
 msgstr ""
 
-#: tools/gst-inspect.c:297
+#: tools/gst-inspect.c:358
 #, c-format
 msgid "%sImplemented Interfaces%s:\n"
 msgstr ""
 
-#: tools/gst-inspect.c:408
+#: tools/gst-inspect.c:469
 msgid "readable"
 msgstr ""
 
-#: tools/gst-inspect.c:413
+#: tools/gst-inspect.c:474
 msgid "writable"
 msgstr ""
 
-#: tools/gst-inspect.c:418
+#: tools/gst-inspect.c:479
 msgid "deprecated"
 msgstr ""
 
-#: tools/gst-inspect.c:422
+#: tools/gst-inspect.c:483
 msgid "controllable"
 msgstr ""
 
-#: tools/gst-inspect.c:427
+#: tools/gst-inspect.c:488
 msgid "conditionally available"
 msgstr ""
 
-#: tools/gst-inspect.c:433
+#: tools/gst-inspect.c:494
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
-#: tools/gst-inspect.c:436
+#: tools/gst-inspect.c:497
 msgid "changeable only in NULL, READY or PAUSED state"
 msgstr ""
 
-#: tools/gst-inspect.c:439
+#: tools/gst-inspect.c:500
 msgid "changeable only in NULL or READY state"
 msgstr ""
 
-#: tools/gst-inspect.c:1151
+#: tools/gst-inspect.c:1248
 msgid "Blacklisted files:"
 msgstr ""
 
-#: tools/gst-inspect.c:1163 tools/gst-inspect.c:1296
+#: tools/gst-inspect.c:1263 tools/gst-inspect.c:1400
 #, c-format
 msgid "%sTotal count%s: %s"
 msgstr ""
 
-#: tools/gst-inspect.c:1165
+#: tools/gst-inspect.c:1265
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1298
+#: tools/gst-inspect.c:1402
 #, c-format
 msgid "%d plugin"
 msgid_plural "%d plugins"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1301
+#: tools/gst-inspect.c:1405
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1306
+#: tools/gst-inspect.c:1410
 #, c-format
 msgid "%d feature"
 msgid_plural "%d features"
 msgstr[0] ""
 msgstr[1] ""
 
-#: tools/gst-inspect.c:1974
+#: tools/gst-inspect.c:2114
 msgid "Print all elements"
 msgstr ""
 
-#: tools/gst-inspect.c:1976
+#: tools/gst-inspect.c:2116
 msgid "Print list of blacklisted files"
 msgstr ""
 
-#: tools/gst-inspect.c:1978
+#: tools/gst-inspect.c:2118
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
 "plugins provide.\n"
@@ -1386,308 +1401,313 @@ msgid ""
 "automatic plugin installation mechanisms"
 msgstr ""
 
-#: tools/gst-inspect.c:1983
+#: tools/gst-inspect.c:2123
 msgid "List the plugin contents"
 msgstr ""
 
-#: tools/gst-inspect.c:1985
+#: tools/gst-inspect.c:2125
 msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
 
-#: tools/gst-inspect.c:1988
+#: tools/gst-inspect.c:2128
 msgid "Check if the specified element or plugin exists"
 msgstr ""
 
-#: tools/gst-inspect.c:1991
+#: tools/gst-inspect.c:2131
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
 
-#: tools/gst-inspect.c:1995
+#: tools/gst-inspect.c:2135
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
-#: tools/gst-inspect.c:2000
+#: tools/gst-inspect.c:2140
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 
-#: tools/gst-inspect.c:2004
+#: tools/gst-inspect.c:2148
 msgid "Color output, even when not sending to a tty."
 msgstr ""
 
-#: tools/gst-inspect.c:2166
+#: tools/gst-inspect.c:2306
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr ""
 
-#: tools/gst-inspect.c:2172
+#: tools/gst-inspect.c:2312
 #, c-format
 msgid "No such element or plugin '%s'\n"
 msgstr ""
 
-#: tools/gst-launch.c:270
+#: tools/gst-launch.c:277
 msgid "Index statistics"
 msgstr ""
 
-#: tools/gst-launch.c:553
+#: tools/gst-launch.c:560
 msgid "Setting pipeline to PLAYING ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:559
+#: tools/gst-launch.c:566
 msgid "ERROR: pipeline doesn't want to play.\n"
 msgstr ""
 
-#: tools/gst-launch.c:585
+#: tools/gst-launch.c:592
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
 
-#: tools/gst-launch.c:589
+#: tools/gst-launch.c:596
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
 msgstr ""
 
-#: tools/gst-launch.c:593
+#: tools/gst-launch.c:600
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
 msgstr ""
 
-#: tools/gst-launch.c:597
+#: tools/gst-launch.c:604
 #, c-format
 msgid "Got message #%u (%s): "
 msgstr ""
 
-#: tools/gst-launch.c:628
+#: tools/gst-launch.c:635
 #, c-format
 msgid "Got EOS from element \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:632
+#: tools/gst-launch.c:639
 msgid "EOS received - stopping pipeline...\n"
 msgstr ""
 
-#: tools/gst-launch.c:641
+#: tools/gst-launch.c:648
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:644
+#: tools/gst-launch.c:651
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:647
+#: tools/gst-launch.c:654
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:650
+#: tools/gst-launch.c:657
 msgid "FOUND TAG\n"
 msgstr ""
 
-#: tools/gst-launch.c:665
+#: tools/gst-launch.c:672
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:668
+#: tools/gst-launch.c:675
 #, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
 msgstr ""
 
-#: tools/gst-launch.c:671
+#: tools/gst-launch.c:678
 msgid "FOUND TOC\n"
 msgstr ""
 
-#: tools/gst-launch.c:688
+#: tools/gst-launch.c:695
 #, c-format
 msgid ""
 "INFO:\n"
 "%s\n"
 msgstr ""
 
-#: tools/gst-launch.c:705
+#: tools/gst-launch.c:712
 #, c-format
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:726
+#: tools/gst-launch.c:733
 msgid "Pipeline is PREROLLED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:730
+#: tools/gst-launch.c:737
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
-#: tools/gst-launch.c:734
+#: tools/gst-launch.c:741
 msgid "Prerolled, waiting for progress to finish...\n"
 msgstr ""
 
-#: tools/gst-launch.c:747
+#: tools/gst-launch.c:754
 msgid "buffering..."
 msgstr ""
 
-#: tools/gst-launch.c:764
+#: tools/gst-launch.c:771
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
 #. we were not buffering but PLAYING, PAUSE  the pipeline.
-#: tools/gst-launch.c:771
+#: tools/gst-launch.c:778
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:780
+#: tools/gst-launch.c:787
 msgid "Redistribute latency...\n"
 msgstr ""
 
-#: tools/gst-launch.c:791
+#: tools/gst-launch.c:798
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
 #. this application message is posted when we caught an interrupt and
 #. * we need to stop the pipeline.
-#: tools/gst-launch.c:807
+#: tools/gst-launch.c:814
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:813
+#: tools/gst-launch.c:820
 msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
 msgstr ""
 
-#: tools/gst-launch.c:818
+#: tools/gst-launch.c:825
 msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
 msgstr ""
 
-#: tools/gst-launch.c:821
+#: tools/gst-launch.c:828
 msgid "Waiting for EOS...\n"
 msgstr ""
 
-#: tools/gst-launch.c:851
+#: tools/gst-launch.c:858
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:865
+#: tools/gst-launch.c:872
 #, c-format
 msgid "Missing element: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:879
+#: tools/gst-launch.c:886
 #, c-format
 msgid "Got context from element '%s': %s=%s\n"
 msgstr ""
 
-#: tools/gst-launch.c:983
+#: tools/gst-launch.c:990
 msgid "ERROR: pipeline doesn't want to preroll.\n"
 msgstr ""
 
-#: tools/gst-launch.c:985
+#: tools/gst-launch.c:992
 msgid "An error happened while waiting for EOS\n"
 msgstr ""
 
-#: tools/gst-launch.c:1048
+#: tools/gst-launch.c:1061
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
+#: tools/gst-launch.c:1092
 msgid "Output tags (also known as metadata)"
 msgstr ""
 
-#: tools/gst-launch.c:1050
+#: tools/gst-launch.c:1094
 msgid "Output TOC (chapters and editions)"
 msgstr ""
 
-#: tools/gst-launch.c:1052
+#: tools/gst-launch.c:1096
 msgid "Output status information and property notifications"
 msgstr ""
 
-#: tools/gst-launch.c:1054
+#: tools/gst-launch.c:1098
 msgid "Do not print any progress information"
 msgstr ""
 
-#: tools/gst-launch.c:1056
+#: tools/gst-launch.c:1100
 msgid "Output messages"
 msgstr ""
 
-#: tools/gst-launch.c:1058
+#: tools/gst-launch.c:1102
 msgid ""
 "Do not output status information for the specified property if verbose "
 "output is enabled (can be used multiple times)"
 msgstr ""
 
-#: tools/gst-launch.c:1060
+#: tools/gst-launch.c:1104
 msgid "PROPERTY-NAME"
 msgstr ""
 
-#: tools/gst-launch.c:1062
+#: tools/gst-launch.c:1106
 msgid "Do not install a fault handler"
 msgstr ""
 
-#: tools/gst-launch.c:1064
+#: tools/gst-launch.c:1108
 msgid "Force EOS on sources before shutting the pipeline down"
 msgstr ""
 
-#: tools/gst-launch.c:1067
+#: tools/gst-launch.c:1111
 msgid "Gather and print index statistics"
 msgstr ""
 
-#: tools/gst-launch.c:1071
+#: tools/gst-launch.c:1115
 msgid ""
 "Do not print current position of pipeline. If this option is unspecified, "
 "the position will be printed when stdout is a TTY. To enable printing "
 "position when stdout is not a TTY, use \"force-position\" option"
 msgstr ""
 
-#: tools/gst-launch.c:1077
+#: tools/gst-launch.c:1121
 msgid ""
 "Allow printing current position of pipeline even if stdout is not a TTY. "
 "This option has no effect if the \"no-position\" option is specified"
 msgstr ""
 
-#: tools/gst-launch.c:1146
+#: tools/gst-launch.c:1194
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1150
+#: tools/gst-launch.c:1198
 msgid "ERROR: pipeline could not be constructed.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1154
+#: tools/gst-launch.c:1202
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
 msgstr ""
 
-#: tools/gst-launch.c:1171
+#: tools/gst-launch.c:1219
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1203
+#: tools/gst-launch.c:1268
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1208
+#: tools/gst-launch.c:1273
 msgid "Failed to set pipeline to PAUSED.\n"
 msgstr ""
 
-#: tools/gst-launch.c:1212
+#: tools/gst-launch.c:1277
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1216
+#: tools/gst-launch.c:1281
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1260
+#: tools/gst-launch.c:1325
 msgid "Execution ended after %"
 msgstr ""
 
-#: tools/gst-launch.c:1277
+#: tools/gst-launch.c:1342
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
-#: tools/gst-launch.c:1290
+#: tools/gst-launch.c:1360
 msgid "Freeing pipeline ...\n"
 msgstr ""
diff --git a/po/gstreamer.pot b/po/gstreamer.pot
new file mode 100644
index 0000000..9db0207
--- /dev/null
+++ b/po/gstreamer.pot
@@ -0,0 +1,1713 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gstreamer-1.0 package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gstreamer-1.22.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 19:29+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: gst/gst.c:245
+msgid "Print the GStreamer version"
+msgstr ""
+
+#: gst/gst.c:247
+msgid "Make all warnings fatal"
+msgstr ""
+
+#: gst/gst.c:251
+msgid "Print available debug categories and exit"
+msgstr ""
+
+#: gst/gst.c:255
+msgid ""
+"Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
+msgstr ""
+
+#: gst/gst.c:257
+msgid "LEVEL"
+msgstr ""
+
+#: gst/gst.c:259
+msgid ""
+"Comma-separated list of category_name:level pairs to set specific levels for "
+"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+msgstr ""
+
+#: gst/gst.c:262
+msgid "LIST"
+msgstr ""
+
+#: gst/gst.c:264
+msgid "Disable colored debugging output"
+msgstr ""
+
+#: gst/gst.c:268
+msgid ""
+"Changes coloring mode of the debug log. Possible modes: off, on, disable, "
+"auto, unix"
+msgstr ""
+
+#: gst/gst.c:272
+msgid "Disable debugging"
+msgstr ""
+
+#: gst/gst.c:276
+msgid "Enable verbose plugin loading diagnostics"
+msgstr ""
+
+#: gst/gst.c:280
+msgid "Colon-separated paths containing plugins"
+msgstr ""
+
+#: gst/gst.c:280
+msgid "PATHS"
+msgstr ""
+
+#: gst/gst.c:283
+msgid ""
+"Comma-separated list of plugins to preload in addition to the list stored in "
+"environment variable GST_PLUGIN_PATH"
+msgstr ""
+
+#: gst/gst.c:285
+msgid "PLUGINS"
+msgstr ""
+
+#: gst/gst.c:288
+msgid "Disable trapping of segmentation faults during plugin loading"
+msgstr ""
+
+#: gst/gst.c:293
+msgid "Disable updating the registry"
+msgstr ""
+
+#: gst/gst.c:298
+msgid "Disable spawning a helper process while scanning the registry"
+msgstr ""
+
+#: gst/gst.c:303
+msgid "GStreamer Options"
+msgstr ""
+
+#: gst/gst.c:304
+msgid "Show GStreamer Options"
+msgstr ""
+
+#: gst/gst.c:1015
+#, c-format
+msgid "Unknown option"
+msgstr ""
+
+#: gst/gsterror.c:136
+msgid "GStreamer encountered a general core library error."
+msgstr ""
+
+#: gst/gsterror.c:138 gst/gsterror.c:180 gst/gsterror.c:204 gst/gsterror.c:246
+msgid ""
+"GStreamer developers were too lazy to assign an error code to this error."
+msgstr ""
+
+#: gst/gsterror.c:141
+msgid "Internal GStreamer error: code not implemented."
+msgstr ""
+
+#: gst/gsterror.c:143
+msgid ""
+"GStreamer error: state change failed and some element failed to post a "
+"proper error message with the reason for the failure."
+msgstr ""
+
+#: gst/gsterror.c:146
+msgid "Internal GStreamer error: pad problem."
+msgstr ""
+
+#: gst/gsterror.c:148
+msgid "Internal GStreamer error: thread problem."
+msgstr ""
+
+#: gst/gsterror.c:150
+msgid "GStreamer error: negotiation problem."
+msgstr ""
+
+#: gst/gsterror.c:152
+msgid "Internal GStreamer error: event problem."
+msgstr ""
+
+#: gst/gsterror.c:154
+msgid "Internal GStreamer error: seek problem."
+msgstr ""
+
+#: gst/gsterror.c:156
+msgid "Internal GStreamer error: caps problem."
+msgstr ""
+
+#: gst/gsterror.c:158
+msgid "Internal GStreamer error: tag problem."
+msgstr ""
+
+#: gst/gsterror.c:160
+msgid "Your GStreamer installation is missing a plug-in."
+msgstr ""
+
+#: gst/gsterror.c:162
+msgid "GStreamer error: clock problem."
+msgstr ""
+
+#: gst/gsterror.c:164
+msgid ""
+"This application is trying to use GStreamer functionality that has been "
+"disabled."
+msgstr ""
+
+#: gst/gsterror.c:178
+msgid "GStreamer encountered a general supporting library error."
+msgstr ""
+
+#: gst/gsterror.c:183
+msgid "Could not initialize supporting library."
+msgstr ""
+
+#: gst/gsterror.c:185
+msgid "Could not close supporting library."
+msgstr ""
+
+#: gst/gsterror.c:187
+msgid "Could not configure supporting library."
+msgstr ""
+
+#: gst/gsterror.c:189
+msgid "Encoding error."
+msgstr ""
+
+#: gst/gsterror.c:202
+msgid "GStreamer encountered a general resource error."
+msgstr ""
+
+#: gst/gsterror.c:207
+msgid "Resource not found."
+msgstr ""
+
+#: gst/gsterror.c:209
+msgid "Resource busy or not available."
+msgstr ""
+
+#: gst/gsterror.c:211
+msgid "Could not open resource for reading."
+msgstr ""
+
+#: gst/gsterror.c:213
+msgid "Could not open resource for writing."
+msgstr ""
+
+#: gst/gsterror.c:215
+msgid "Could not open resource for reading and writing."
+msgstr ""
+
+#: gst/gsterror.c:217
+msgid "Could not close resource."
+msgstr ""
+
+#: gst/gsterror.c:219
+msgid "Could not read from resource."
+msgstr ""
+
+#: gst/gsterror.c:221
+msgid "Could not write to resource."
+msgstr ""
+
+#: gst/gsterror.c:223
+msgid "Could not perform seek on resource."
+msgstr ""
+
+#: gst/gsterror.c:225
+msgid "Could not synchronize on resource."
+msgstr ""
+
+#: gst/gsterror.c:227
+msgid "Could not get/set settings from/on resource."
+msgstr ""
+
+#: gst/gsterror.c:229
+msgid "No space left on the resource."
+msgstr ""
+
+#: gst/gsterror.c:231
+msgid "Not authorized to access resource."
+msgstr ""
+
+#: gst/gsterror.c:244
+msgid "GStreamer encountered a general stream error."
+msgstr ""
+
+#: gst/gsterror.c:249
+msgid "Element doesn't implement handling of this stream. Please file a bug."
+msgstr ""
+
+#: gst/gsterror.c:252
+msgid "Could not determine type of stream."
+msgstr ""
+
+#: gst/gsterror.c:254
+msgid "The stream is of a different type than handled by this element."
+msgstr ""
+
+#: gst/gsterror.c:257
+msgid "There is no codec present that can handle the stream's type."
+msgstr ""
+
+#: gst/gsterror.c:259
+msgid "Could not decode stream."
+msgstr ""
+
+#: gst/gsterror.c:261
+msgid "Could not encode stream."
+msgstr ""
+
+#: gst/gsterror.c:263
+msgid "Could not demultiplex stream."
+msgstr ""
+
+#: gst/gsterror.c:265
+msgid "Could not multiplex stream."
+msgstr ""
+
+#: gst/gsterror.c:267
+msgid "The stream is in the wrong format."
+msgstr ""
+
+#: gst/gsterror.c:269
+msgid "The stream is encrypted and decryption is not supported."
+msgstr ""
+
+#: gst/gsterror.c:271
+msgid ""
+"The stream is encrypted and can't be decrypted because no suitable key has "
+"been supplied."
+msgstr ""
+
+#: gst/gsterror.c:311
+#, c-format
+msgid "No error message for domain %s."
+msgstr ""
+
+#: gst/gsterror.c:319
+#, c-format
+msgid "No standard error message for domain %s and code %d."
+msgstr ""
+
+#: gst/gstpipeline.c:593
+msgid "Selected clock cannot be used in pipeline."
+msgstr ""
+
+#: gst/gstregistry.c:1808
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
+#: gst/gsttaglist.c:109
+msgid "title"
+msgstr ""
+
+#: gst/gsttaglist.c:109
+msgid "commonly used title"
+msgstr ""
+
+#: gst/gsttaglist.c:112
+msgid "title sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:112
+msgid "commonly used title for sorting purposes"
+msgstr ""
+
+#: gst/gsttaglist.c:115
+msgid "artist"
+msgstr ""
+
+#: gst/gsttaglist.c:116
+msgid "person(s) responsible for the recording"
+msgstr ""
+
+#: gst/gsttaglist.c:120
+msgid "artist sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:121
+msgid "person(s) responsible for the recording for sorting purposes"
+msgstr ""
+
+#: gst/gsttaglist.c:124
+msgid "album"
+msgstr ""
+
+#: gst/gsttaglist.c:125
+msgid "album containing this data"
+msgstr ""
+
+#: gst/gsttaglist.c:128
+msgid "album sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:129
+msgid "album containing this data for sorting purposes"
+msgstr ""
+
+#: gst/gsttaglist.c:132
+msgid "album artist"
+msgstr ""
+
+#: gst/gsttaglist.c:133
+msgid "The artist of the entire album, as it should be displayed"
+msgstr ""
+
+#: gst/gsttaglist.c:137
+msgid "album artist sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:138
+msgid "The artist of the entire album, as it should be sorted"
+msgstr ""
+
+#: gst/gsttaglist.c:140
+msgid "date"
+msgstr ""
+
+#: gst/gsttaglist.c:140
+msgid "date the data was created (as a GDate structure)"
+msgstr ""
+
+#: gst/gsttaglist.c:142
+msgid "datetime"
+msgstr ""
+
+#: gst/gsttaglist.c:143
+msgid "date and time the data was created (as a GstDateTime structure)"
+msgstr ""
+
+#: gst/gsttaglist.c:147
+msgid "genre"
+msgstr ""
+
+#: gst/gsttaglist.c:148
+msgid "genre this data belongs to"
+msgstr ""
+
+#: gst/gsttaglist.c:151
+msgid "comment"
+msgstr ""
+
+#: gst/gsttaglist.c:152
+msgid "free text commenting the data"
+msgstr ""
+
+#: gst/gsttaglist.c:155
+msgid "extended comment"
+msgstr ""
+
+#: gst/gsttaglist.c:156
+msgid "free text commenting the data in key=value or key[en]=comment form"
+msgstr ""
+
+#: gst/gsttaglist.c:160
+msgid "track number"
+msgstr ""
+
+#: gst/gsttaglist.c:161
+msgid "track number inside a collection"
+msgstr ""
+
+#: gst/gsttaglist.c:164
+msgid "track count"
+msgstr ""
+
+#: gst/gsttaglist.c:165
+msgid "count of tracks inside collection this track belongs to"
+msgstr ""
+
+#: gst/gsttaglist.c:169
+msgid "disc number"
+msgstr ""
+
+#: gst/gsttaglist.c:170
+msgid "disc number inside a collection"
+msgstr ""
+
+#: gst/gsttaglist.c:173
+msgid "disc count"
+msgstr ""
+
+#: gst/gsttaglist.c:174
+msgid "count of discs inside collection this disc belongs to"
+msgstr ""
+
+#: gst/gsttaglist.c:178
+msgid "location"
+msgstr ""
+
+#: gst/gsttaglist.c:178
+msgid ""
+"Origin of media as a URI (location, where the original of the file or stream "
+"is hosted)"
+msgstr ""
+
+#: gst/gsttaglist.c:183
+msgid "homepage"
+msgstr ""
+
+#: gst/gsttaglist.c:184
+msgid "Homepage for this media (i.e. artist or movie homepage)"
+msgstr ""
+
+#: gst/gsttaglist.c:187
+msgid "description"
+msgstr ""
+
+#: gst/gsttaglist.c:188
+msgid "short text describing the content of the data"
+msgstr ""
+
+#: gst/gsttaglist.c:191
+msgid "version"
+msgstr ""
+
+#: gst/gsttaglist.c:191
+msgid "version of this data"
+msgstr ""
+
+#: gst/gsttaglist.c:193
+msgid "ISRC"
+msgstr ""
+
+#: gst/gsttaglist.c:195
+msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
+msgstr ""
+
+#: gst/gsttaglist.c:199
+msgid "organization"
+msgstr ""
+
+#: gst/gsttaglist.c:202
+msgid "copyright"
+msgstr ""
+
+#: gst/gsttaglist.c:202
+msgid "copyright notice of the data"
+msgstr ""
+
+#: gst/gsttaglist.c:204
+msgid "copyright uri"
+msgstr ""
+
+#: gst/gsttaglist.c:205
+msgid "URI to the copyright notice of the data"
+msgstr ""
+
+#: gst/gsttaglist.c:207
+msgid "encoded by"
+msgstr ""
+
+#: gst/gsttaglist.c:207
+msgid "name of the encoding person or organization"
+msgstr ""
+
+#: gst/gsttaglist.c:211
+msgid "contact"
+msgstr ""
+
+#: gst/gsttaglist.c:211
+msgid "contact information"
+msgstr ""
+
+#: gst/gsttaglist.c:213
+msgid "license"
+msgstr ""
+
+#: gst/gsttaglist.c:213
+msgid "license of data"
+msgstr ""
+
+#: gst/gsttaglist.c:215
+msgid "license uri"
+msgstr ""
+
+#: gst/gsttaglist.c:216
+msgid "URI to the license of the data"
+msgstr ""
+
+#: gst/gsttaglist.c:219
+msgid "performer"
+msgstr ""
+
+#: gst/gsttaglist.c:220
+msgid "person(s) performing"
+msgstr ""
+
+#: gst/gsttaglist.c:223
+msgid "composer"
+msgstr ""
+
+#: gst/gsttaglist.c:224
+msgid "person(s) who composed the recording"
+msgstr ""
+
+#: gst/gsttaglist.c:228
+msgid "conductor"
+msgstr ""
+
+#: gst/gsttaglist.c:229
+msgid "conductor/performer refinement"
+msgstr ""
+
+#: gst/gsttaglist.c:232
+msgid "duration"
+msgstr ""
+
+#: gst/gsttaglist.c:232
+msgid "length in GStreamer time units (nanoseconds)"
+msgstr ""
+
+#: gst/gsttaglist.c:235
+msgid "codec"
+msgstr ""
+
+#: gst/gsttaglist.c:236
+msgid "codec the data is stored in"
+msgstr ""
+
+#: gst/gsttaglist.c:239
+msgid "video codec"
+msgstr ""
+
+#: gst/gsttaglist.c:239
+msgid "codec the video data is stored in"
+msgstr ""
+
+#: gst/gsttaglist.c:242
+msgid "audio codec"
+msgstr ""
+
+#: gst/gsttaglist.c:242
+msgid "codec the audio data is stored in"
+msgstr ""
+
+#: gst/gsttaglist.c:245
+msgid "subtitle codec"
+msgstr ""
+
+#: gst/gsttaglist.c:245
+msgid "codec the subtitle data is stored in"
+msgstr ""
+
+#: gst/gsttaglist.c:247
+msgid "container format"
+msgstr ""
+
+#: gst/gsttaglist.c:248
+msgid "container format the data is stored in"
+msgstr ""
+
+#: gst/gsttaglist.c:250
+msgid "bitrate"
+msgstr ""
+
+#: gst/gsttaglist.c:250
+msgid "exact or average bitrate in bits/s"
+msgstr ""
+
+#: gst/gsttaglist.c:252
+msgid "nominal bitrate"
+msgstr ""
+
+#: gst/gsttaglist.c:252
+msgid "nominal bitrate in bits/s"
+msgstr ""
+
+#: gst/gsttaglist.c:254
+msgid "minimum bitrate"
+msgstr ""
+
+#: gst/gsttaglist.c:254
+msgid "minimum bitrate in bits/s"
+msgstr ""
+
+#: gst/gsttaglist.c:256
+msgid "maximum bitrate"
+msgstr ""
+
+#: gst/gsttaglist.c:256
+msgid "maximum bitrate in bits/s"
+msgstr ""
+
+#: gst/gsttaglist.c:259
+msgid "encoder"
+msgstr ""
+
+#: gst/gsttaglist.c:259
+msgid "encoder used to encode this stream"
+msgstr ""
+
+#: gst/gsttaglist.c:262
+msgid "encoder version"
+msgstr ""
+
+#: gst/gsttaglist.c:263
+msgid "version of the encoder used to encode this stream"
+msgstr ""
+
+#: gst/gsttaglist.c:265
+msgid "serial"
+msgstr ""
+
+#: gst/gsttaglist.c:265
+msgid "serial number of track"
+msgstr ""
+
+#: gst/gsttaglist.c:267
+msgid "replaygain track gain"
+msgstr ""
+
+#: gst/gsttaglist.c:267
+msgid "track gain in db"
+msgstr ""
+
+#: gst/gsttaglist.c:269
+msgid "replaygain track peak"
+msgstr ""
+
+#: gst/gsttaglist.c:269
+msgid "peak of the track"
+msgstr ""
+
+#: gst/gsttaglist.c:271
+msgid "replaygain album gain"
+msgstr ""
+
+#: gst/gsttaglist.c:271
+msgid "album gain in db"
+msgstr ""
+
+#: gst/gsttaglist.c:273
+msgid "replaygain album peak"
+msgstr ""
+
+#: gst/gsttaglist.c:273
+msgid "peak of the album"
+msgstr ""
+
+#: gst/gsttaglist.c:275
+msgid "replaygain reference level"
+msgstr ""
+
+#: gst/gsttaglist.c:276
+msgid "reference level of track and album gain values"
+msgstr ""
+
+#: gst/gsttaglist.c:278
+msgid "language code"
+msgstr ""
+
+#: gst/gsttaglist.c:279
+msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
+msgstr ""
+
+#: gst/gsttaglist.c:282
+msgid "language name"
+msgstr ""
+
+#: gst/gsttaglist.c:283
+msgid "freeform name of the language this stream is in"
+msgstr ""
+
+#: gst/gsttaglist.c:285
+msgid "image"
+msgstr ""
+
+#: gst/gsttaglist.c:285
+msgid "image related to this stream"
+msgstr ""
+
+#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
+#: gst/gsttaglist.c:289
+msgid "preview image"
+msgstr ""
+
+#: gst/gsttaglist.c:289
+msgid "preview image related to this stream"
+msgstr ""
+
+#: gst/gsttaglist.c:291
+msgid "attachment"
+msgstr ""
+
+#: gst/gsttaglist.c:291
+msgid "file attached to this stream"
+msgstr ""
+
+#: gst/gsttaglist.c:294
+msgid "beats per minute"
+msgstr ""
+
+#: gst/gsttaglist.c:295
+msgid "number of beats per minute in audio"
+msgstr ""
+
+#: gst/gsttaglist.c:297
+msgid "keywords"
+msgstr ""
+
+#: gst/gsttaglist.c:297
+msgid "comma separated keywords describing the content"
+msgstr ""
+
+#: gst/gsttaglist.c:300
+msgid "geo location name"
+msgstr ""
+
+#: gst/gsttaglist.c:301
+msgid ""
+"human readable descriptive location of where the media has been recorded or "
+"produced"
+msgstr ""
+
+#: gst/gsttaglist.c:304
+msgid "geo location latitude"
+msgstr ""
+
+#: gst/gsttaglist.c:305
+msgid ""
+"geo latitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the equator, negative values for "
+"southern latitudes)"
+msgstr ""
+
+#: gst/gsttaglist.c:309
+msgid "geo location longitude"
+msgstr ""
+
+#: gst/gsttaglist.c:310
+msgid ""
+"geo longitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
+"negative values for western longitudes)"
+msgstr ""
+
+#: gst/gsttaglist.c:314
+msgid "geo location elevation"
+msgstr ""
+
+#: gst/gsttaglist.c:315
+msgid ""
+"geo elevation of where the media has been recorded or produced in meters "
+"according to WGS84 (zero is average sea level)"
+msgstr ""
+
+#: gst/gsttaglist.c:318
+msgid "geo location country"
+msgstr ""
+
+#: gst/gsttaglist.c:319
+msgid "country (english name) where the media has been recorded or produced"
+msgstr ""
+
+#: gst/gsttaglist.c:322
+msgid "geo location city"
+msgstr ""
+
+#: gst/gsttaglist.c:323
+msgid "city (english name) where the media has been recorded or produced"
+msgstr ""
+
+#: gst/gsttaglist.c:326
+msgid "geo location sublocation"
+msgstr ""
+
+#: gst/gsttaglist.c:327
+msgid ""
+"a location within a city where the media has been produced or created (e.g. "
+"the neighborhood)"
+msgstr ""
+
+#: gst/gsttaglist.c:330
+msgid "geo location horizontal error"
+msgstr ""
+
+#: gst/gsttaglist.c:331
+msgid "expected error of the horizontal positioning measures (in meters)"
+msgstr ""
+
+#: gst/gsttaglist.c:334
+msgid "geo location movement speed"
+msgstr ""
+
+#: gst/gsttaglist.c:335
+msgid ""
+"movement speed of the capturing device while performing the capture in m/s"
+msgstr ""
+
+#: gst/gsttaglist.c:338
+msgid "geo location movement direction"
+msgstr ""
+
+#: gst/gsttaglist.c:339
+msgid ""
+"indicates the movement direction of the device performing the capture of a "
+"media. It is represented as degrees in floating point representation, 0 "
+"means the geographic north, and increases clockwise"
+msgstr ""
+
+#: gst/gsttaglist.c:344
+msgid "geo location capture direction"
+msgstr ""
+
+#: gst/gsttaglist.c:345
+msgid ""
+"indicates the direction the device is pointing to when capturing  a media. "
+"It is represented as degrees in floating point  representation, 0 means the "
+"geographic north, and increases clockwise"
+msgstr ""
+
+#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
+#: gst/gsttaglist.c:351
+msgid "show name"
+msgstr ""
+
+#: gst/gsttaglist.c:352
+msgid "Name of the tv/podcast/series show the media is from"
+msgstr ""
+
+#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
+#: gst/gsttaglist.c:357
+msgid "show sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:358
+msgid ""
+"Name of the tv/podcast/series show the media is from, for sorting purposes"
+msgstr ""
+
+#: gst/gsttaglist.c:361
+msgid "episode number"
+msgstr ""
+
+#: gst/gsttaglist.c:362
+msgid "The episode number in the season the media is part of"
+msgstr ""
+
+#: gst/gsttaglist.c:365
+msgid "season number"
+msgstr ""
+
+#: gst/gsttaglist.c:366
+msgid "The season number of the show the media is part of"
+msgstr ""
+
+#: gst/gsttaglist.c:369
+msgid "lyrics"
+msgstr ""
+
+#: gst/gsttaglist.c:369
+msgid "The lyrics of the media, commonly used for songs"
+msgstr ""
+
+#: gst/gsttaglist.c:372
+msgid "composer sortname"
+msgstr ""
+
+#: gst/gsttaglist.c:373
+msgid "person(s) who composed the recording, for sorting purposes"
+msgstr ""
+
+#: gst/gsttaglist.c:375
+msgid "grouping"
+msgstr ""
+
+#: gst/gsttaglist.c:376
+msgid ""
+"Groups related media that spans multiple tracks, like the different pieces "
+"of a concerto. It is a higher level than a track, but lower than an album"
+msgstr ""
+
+#: gst/gsttaglist.c:380
+msgid "user rating"
+msgstr ""
+
+#: gst/gsttaglist.c:381
+msgid ""
+"Rating attributed by a user. The higher the rank, the more the user likes "
+"this media"
+msgstr ""
+
+#: gst/gsttaglist.c:384
+msgid "device manufacturer"
+msgstr ""
+
+#: gst/gsttaglist.c:385
+msgid "Manufacturer of the device used to create this media"
+msgstr ""
+
+#: gst/gsttaglist.c:387
+msgid "device model"
+msgstr ""
+
+#: gst/gsttaglist.c:388
+msgid "Model of the device used to create this media"
+msgstr ""
+
+#: gst/gsttaglist.c:390
+msgid "application name"
+msgstr ""
+
+#: gst/gsttaglist.c:391
+msgid "Application used to create the media"
+msgstr ""
+
+#: gst/gsttaglist.c:393
+msgid "application data"
+msgstr ""
+
+#: gst/gsttaglist.c:394
+msgid "Arbitrary application data to be serialized into the media"
+msgstr ""
+
+#: gst/gsttaglist.c:396
+msgid "image orientation"
+msgstr ""
+
+#: gst/gsttaglist.c:397
+msgid "How the image should be rotated or flipped before display"
+msgstr ""
+
+#: gst/gsttaglist.c:400
+msgid "publisher"
+msgstr ""
+
+#: gst/gsttaglist.c:401
+msgid "Name of the label or publisher"
+msgstr ""
+
+#: gst/gsttaglist.c:404
+msgid "interpreted-by"
+msgstr ""
+
+#: gst/gsttaglist.c:405
+msgid "Information about the people behind a remix and similar interpretations"
+msgstr ""
+
+#: gst/gsttaglist.c:409
+msgid "midi-base-note"
+msgstr ""
+
+#: gst/gsttaglist.c:409
+msgid "Midi note number of the audio track."
+msgstr ""
+
+#: gst/gsttaglist.c:412
+msgid "private-data"
+msgstr ""
+
+#: gst/gsttaglist.c:412
+msgid "Private data"
+msgstr ""
+
+#. separator between two strings
+#: gst/gsttaglist.c:452
+msgid ", "
+msgstr ""
+
+#: gst/gsturi.c:641 gst/gsturi.c:814
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
+#: gst/gsturi.c:656
+#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#: gst/gsturi.c:836
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#: gst/gstutils.c:2679 tools/gst-launch.c:350
+#, c-format
+msgid "ERROR: from element %s: %s\n"
+msgstr ""
+
+#: gst/gstutils.c:2681 tools/gst-launch.c:352 tools/gst-launch.c:714
+#, c-format
+msgid ""
+"Additional debug info:\n"
+"%s\n"
+msgstr ""
+
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
+#: gst/parse/grammar.y.in:235
+#, c-format
+msgid "link has no source [sink=%s@%p]"
+msgstr ""
+
+#: gst/parse/grammar.y.in:240
+#, c-format
+msgid "link has no sink [source=%s@%p]"
+msgstr ""
+
+#: gst/parse/grammar.y.in:438
+msgid "No such property."
+msgstr ""
+
+#: gst/parse/grammar.y.in:438 gst/parse/grammar.y.in:624
+#: gst/parse/grammar.y.in:658 gst/parse/grammar.y.in:770
+#, c-format
+msgid "no property \"%s\" in element \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:533
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#: gst/parse/grammar.y.in:539
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:570
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:613 gst/parse/grammar.y.in:793
+#, c-format
+msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:667
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:854
+msgid "Delayed linking failed."
+msgstr ""
+
+#: gst/parse/grammar.y.in:1067 gst/parse/grammar.y.in:1072
+#, c-format
+msgid "could not link %s to %s, %s can't handle caps %s"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1077
+#, c-format
+msgid "could not link %s to %s, neither element can handle caps %s"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1081
+#, c-format
+msgid "could not link %s to %s with caps %s"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1087
+#, c-format
+msgid "could not link %s to %s"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1238
+#, c-format
+msgid "unexpected reference \"%s\" - ignoring"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1244
+#, c-format
+msgid "unexpected pad-reference \"%s\" - ignoring"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1276 gst/parse/grammar.y.in:1285
+#, c-format
+msgid "could not parse caps \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:1313
+#, c-format
+msgid "no sink element for URI \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:1332
+#, c-format
+msgid "no source element for URI \"%s\""
+msgstr ""
+
+#: gst/parse/grammar.y.in:1422
+msgid "syntax error"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1445
+#, c-format
+msgid "specified empty bin \"%s\", not allowed"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1455
+#, c-format
+msgid "no bin \"%s\", unpacking elements"
+msgstr ""
+
+#: gst/parse/grammar.y.in:1486
+msgid "empty pipeline not allowed"
+msgstr ""
+
+#: libs/gst/base/gstbasesink.c:1250
+msgid "Pipeline construction is invalid, please add queues."
+msgstr ""
+
+#: libs/gst/base/gstbasesink.c:3144
+msgid "A lot of buffers are being dropped."
+msgstr ""
+
+#: libs/gst/base/gstbasesink.c:3799
+msgid "Internal data flow problem."
+msgstr ""
+
+#: libs/gst/base/gstbasesink.c:4633 libs/gst/base/gstbasesrc.c:2773
+msgid "Internal data flow error."
+msgstr ""
+
+#: libs/gst/base/gstbasesrc.c:2703
+msgid "Internal clock error."
+msgstr ""
+
+#: libs/gst/base/gstbasesrc.c:2731 plugins/elements/gstdownloadbuffer.c:850
+#: plugins/elements/gstdownloadbuffer.c:1275
+msgid "Failed to map buffer."
+msgstr ""
+
+#: plugins/elements/gstcapsfilter.c:131
+msgid "Filter caps"
+msgstr ""
+
+#: plugins/elements/gstcapsfilter.c:132
+msgid ""
+"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
+"property takes a reference to the supplied GstCaps object."
+msgstr ""
+
+#: plugins/elements/gstcapsfilter.c:139
+msgid "Caps Change Mode"
+msgstr ""
+
+#: plugins/elements/gstcapsfilter.c:140
+msgid "Filter caps change behaviour"
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:935 plugins/elements/gstqueue2.c:1818
+msgid "No Temp directory specified."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:941 plugins/elements/gstqueue2.c:1824
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:949 plugins/elements/gstfilesrc.c:558
+#: plugins/elements/gstqueue2.c:1832
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+#: plugins/elements/gstdownloadbuffer.c:1284 plugins/elements/gstqueue2.c:2270
+msgid "Error while writing to download file."
+msgstr ""
+
+#: plugins/elements/gstfilesink.c:453
+msgid "No file name specified for writing."
+msgstr ""
+
+#: plugins/elements/gstfilesink.c:459
+#, c-format
+msgid "Could not open file \"%s\" for writing."
+msgstr ""
+
+#: plugins/elements/gstfilesink.c:471 plugins/elements/gstfilesink.c:475
+#, c-format
+msgid "Error closing file \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstfilesink.c:660
+#, c-format
+msgid "Error while seeking in file \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstfilesink.c:668 plugins/elements/gstfilesink.c:675
+#: plugins/elements/gstfilesink.c:928 plugins/elements/gstfilesink.c:1012
+#, c-format
+msgid "Error while writing to file \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstfilesrc.c:546
+msgid "No file name specified for reading."
+msgstr ""
+
+#: plugins/elements/gstfilesrc.c:567
+#, c-format
+msgid "Could not get info on \"%s\"."
+msgstr ""
+
+#: plugins/elements/gstfilesrc.c:573
+#, c-format
+msgid "\"%s\" is a directory."
+msgstr ""
+
+#: plugins/elements/gstfilesrc.c:580
+#, c-format
+msgid "File \"%s\" is a socket."
+msgstr ""
+
+#: plugins/elements/gstidentity.c:848
+msgid "Failed after iterations as requested."
+msgstr ""
+
+#: plugins/elements/gstidentity.c:1066
+msgid "eos-after and error-after can't both be defined."
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:254
+msgid "caps"
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:255
+msgid "detected capabilities in stream"
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:258
+msgid "minimum"
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:263
+msgid "force caps"
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:264
+msgid "force caps without doing a typefind"
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:1013
+#: plugins/elements/gsttypefindelement.c:1035
+msgid "Stream doesn't contain enough data."
+msgstr ""
+
+#: plugins/elements/gsttypefindelement.c:1155
+msgid "Stream contains no data."
+msgstr ""
+
+#: tools/gst-inspect.c:358
+#, c-format
+msgid "%sImplemented Interfaces%s:\n"
+msgstr ""
+
+#: tools/gst-inspect.c:469
+msgid "readable"
+msgstr ""
+
+#: tools/gst-inspect.c:474
+msgid "writable"
+msgstr ""
+
+#: tools/gst-inspect.c:479
+msgid "deprecated"
+msgstr ""
+
+#: tools/gst-inspect.c:483
+msgid "controllable"
+msgstr ""
+
+#: tools/gst-inspect.c:488
+msgid "conditionally available"
+msgstr ""
+
+#: tools/gst-inspect.c:494
+msgid "changeable in NULL, READY, PAUSED or PLAYING state"
+msgstr ""
+
+#: tools/gst-inspect.c:497
+msgid "changeable only in NULL, READY or PAUSED state"
+msgstr ""
+
+#: tools/gst-inspect.c:500
+msgid "changeable only in NULL or READY state"
+msgstr ""
+
+#: tools/gst-inspect.c:1248
+msgid "Blacklisted files:"
+msgstr ""
+
+#: tools/gst-inspect.c:1263 tools/gst-inspect.c:1400
+#, c-format
+msgid "%sTotal count%s: %s"
+msgstr ""
+
+#: tools/gst-inspect.c:1265
+#, c-format
+msgid "%d blacklisted file"
+msgid_plural "%d blacklisted files"
+msgstr[0] ""
+msgstr[1] ""
+
+#: tools/gst-inspect.c:1402
+#, c-format
+msgid "%d plugin"
+msgid_plural "%d plugins"
+msgstr[0] ""
+msgstr[1] ""
+
+#: tools/gst-inspect.c:1405
+#, c-format
+msgid "%d blacklist entry"
+msgid_plural "%d blacklist entries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: tools/gst-inspect.c:1410
+#, c-format
+msgid "%d feature"
+msgid_plural "%d features"
+msgstr[0] ""
+msgstr[1] ""
+
+#: tools/gst-inspect.c:2114
+msgid "Print all elements"
+msgstr ""
+
+#: tools/gst-inspect.c:2116
+msgid "Print list of blacklisted files"
+msgstr ""
+
+#: tools/gst-inspect.c:2118
+msgid ""
+"Print a machine-parsable list of features the specified plugin or all "
+"plugins provide.\n"
+"                                       Useful in connection with external "
+"automatic plugin installation mechanisms"
+msgstr ""
+
+#: tools/gst-inspect.c:2123
+msgid "List the plugin contents"
+msgstr ""
+
+#: tools/gst-inspect.c:2125
+msgid ""
+"A slashes ('/') separated list of types of elements (also known as klass) to "
+"list. (unordered)"
+msgstr ""
+
+#: tools/gst-inspect.c:2128
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+#: tools/gst-inspect.c:2131
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
+#: tools/gst-inspect.c:2135
+msgid "Print supported URI schemes, with the elements that implement them"
+msgstr ""
+
+#: tools/gst-inspect.c:2140
+msgid ""
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+#: tools/gst-inspect.c:2148
+msgid "Color output, even when not sending to a tty."
+msgstr ""
+
+#: tools/gst-inspect.c:2306
+#, c-format
+msgid "Could not load plugin file: %s\n"
+msgstr ""
+
+#: tools/gst-inspect.c:2312
+#, c-format
+msgid "No such element or plugin '%s'\n"
+msgstr ""
+
+#: tools/gst-launch.c:277
+msgid "Index statistics"
+msgstr ""
+
+#: tools/gst-launch.c:560
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:566
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
+#: tools/gst-launch.c:592
+#, c-format
+msgid "Got message #%u from element \"%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:596
+#, c-format
+msgid "Got message #%u from pad \"%s:%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:600
+#, c-format
+msgid "Got message #%u from object \"%s\" (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:604
+#, c-format
+msgid "Got message #%u (%s): "
+msgstr ""
+
+#: tools/gst-launch.c:635
+#, c-format
+msgid "Got EOS from element \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:639
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
+#: tools/gst-launch.c:648
+#, c-format
+msgid "FOUND TAG      : found by element \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:651
+#, c-format
+msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:654
+#, c-format
+msgid "FOUND TAG      : found by object \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:657
+msgid "FOUND TAG\n"
+msgstr ""
+
+#: tools/gst-launch.c:672
+#, c-format
+msgid "FOUND TOC      : found by element \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:675
+#, c-format
+msgid "FOUND TOC      : found by object \"%s\".\n"
+msgstr ""
+
+#: tools/gst-launch.c:678
+msgid "FOUND TOC\n"
+msgstr ""
+
+#: tools/gst-launch.c:695
+#, c-format
+msgid ""
+"INFO:\n"
+"%s\n"
+msgstr ""
+
+#: tools/gst-launch.c:712
+#, c-format
+msgid "WARNING: from element %s: %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:733
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:737
+msgid "Prerolled, waiting for buffering to finish...\n"
+msgstr ""
+
+#: tools/gst-launch.c:741
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
+#: tools/gst-launch.c:754
+msgid "buffering..."
+msgstr ""
+
+#: tools/gst-launch.c:771
+msgid "Done buffering, setting pipeline to PLAYING ...\n"
+msgstr ""
+
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
+#: tools/gst-launch.c:778
+msgid "Buffering, setting pipeline to PAUSED ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:787
+msgid "Redistribute latency...\n"
+msgstr ""
+
+#: tools/gst-launch.c:798
+#, c-format
+msgid "Setting state to %s as requested by %s...\n"
+msgstr ""
+
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
+#: tools/gst-launch.c:814
+msgid "Interrupt: Stopping pipeline ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:820
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+#: tools/gst-launch.c:825
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+#: tools/gst-launch.c:828
+msgid "Waiting for EOS...\n"
+msgstr ""
+
+#: tools/gst-launch.c:858
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:872
+#, c-format
+msgid "Missing element: %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:886
+#, c-format
+msgid "Got context from element '%s': %s=%s\n"
+msgstr ""
+
+#: tools/gst-launch.c:990
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+#: tools/gst-launch.c:992
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#: tools/gst-launch.c:1061
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
+#: tools/gst-launch.c:1092
+msgid "Output tags (also known as metadata)"
+msgstr ""
+
+#: tools/gst-launch.c:1094
+msgid "Output TOC (chapters and editions)"
+msgstr ""
+
+#: tools/gst-launch.c:1096
+msgid "Output status information and property notifications"
+msgstr ""
+
+#: tools/gst-launch.c:1098
+msgid "Do not print any progress information"
+msgstr ""
+
+#: tools/gst-launch.c:1100
+msgid "Output messages"
+msgstr ""
+
+#: tools/gst-launch.c:1102
+msgid ""
+"Do not output status information for the specified property if verbose "
+"output is enabled (can be used multiple times)"
+msgstr ""
+
+#: tools/gst-launch.c:1104
+msgid "PROPERTY-NAME"
+msgstr ""
+
+#: tools/gst-launch.c:1106
+msgid "Do not install a fault handler"
+msgstr ""
+
+#: tools/gst-launch.c:1108
+msgid "Force EOS on sources before shutting the pipeline down"
+msgstr ""
+
+#: tools/gst-launch.c:1111
+msgid "Gather and print index statistics"
+msgstr ""
+
+#: tools/gst-launch.c:1115
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+#: tools/gst-launch.c:1121
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
+#: tools/gst-launch.c:1194
+#, c-format
+msgid "ERROR: pipeline could not be constructed: %s.\n"
+msgstr ""
+
+#: tools/gst-launch.c:1198
+msgid "ERROR: pipeline could not be constructed.\n"
+msgstr ""
+
+#: tools/gst-launch.c:1202
+#, c-format
+msgid "WARNING: erroneous pipeline: %s\n"
+msgstr ""
+
+#: tools/gst-launch.c:1219
+msgid "ERROR: the 'pipeline' element wasn't found.\n"
+msgstr ""
+
+#: tools/gst-launch.c:1268
+msgid "Setting pipeline to PAUSED ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:1273
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
+
+#: tools/gst-launch.c:1277
+msgid "Pipeline is live and does not need PREROLL ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:1281
+msgid "Pipeline is PREROLLING ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:1325
+msgid "Execution ended after %"
+msgstr ""
+
+#: tools/gst-launch.c:1342
+msgid "Setting pipeline to NULL ...\n"
+msgstr ""
+
+#: tools/gst-launch.c:1360
+msgid "Freeing pipeline ...\n"
+msgstr ""
diff --git a/po/hr.po b/po/hr.po
index 6813703..e2889f7 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,23 +7,23 @@
 # https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html
 #
 # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
-# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018, 2019.
+# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018, 2019, 2021, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-02-03 13:10-0800\n"
+"Project-Id-Version: gstreamer-1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-16 11:03-0800\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr_HR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid "Print the GStreamer version"
 msgstr "ispiše inačicu GStreamera"
@@ -60,8 +60,8 @@ msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
-"mȏd za bojenje poruka za debugiranje je jedan od: off, on, disable, auto ili "
-"unix"
+"mode za bojenje poruka za debugiranje je jedan od: off, on, disable, auto "
+"ili unix"
 
 msgid "Disable debugging"
 msgstr "onemogući debugiranje"
@@ -101,6 +101,7 @@ msgstr "Opcije GStreamera"
 msgid "Show GStreamer Options"
 msgstr "pokaže opcije GStreamera"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Nepoznata opcija"
 
@@ -122,7 +123,7 @@ msgstr ""
 "ispravnu poruku o grešci s razlogom za neuspjeh."
 
 msgid "Internal GStreamer error: pad problem."
-msgstr "Interna greška GStreamera: problem s konekcijom."
+msgstr "Interna greška GStreamera: problem sa sučeljem."
 
 # Rač.: nezavisni skup naredbi koji se samostalno izvršavaju u programu
 msgid "Internal GStreamer error: thread problem."
@@ -145,7 +146,7 @@ msgid "Internal GStreamer error: tag problem."
 msgstr "Interna greška GStreamera: problem s tagom."
 
 msgid "Your GStreamer installation is missing a plug-in."
-msgstr "Vašoj instalaciji GStreamera nedostaje plugin."
+msgstr "Vašoj instalaciji GStreamera manjka plugin."
 
 msgid "GStreamer error: clock problem."
 msgstr "Greška GStreamera: problem sa sinkronizacijom (clock)."
@@ -154,7 +155,7 @@ msgid ""
 "This application is trying to use GStreamer functionality that has been "
 "disabled."
 msgstr ""
-"Aplikacija pokušava koristiti funkcionalnost GStreamera a koja je bila "
+"Aplikacija pokušava koristiti funkcionalnost GStreamera koja je bila "
 "onemogućena."
 
 msgid "GStreamer encountered a general supporting library error."
@@ -225,37 +226,37 @@ msgstr ""
 "ovaj bug."
 
 msgid "Could not determine type of stream."
-msgstr "Nije moguće odrediti vrstu ovog protoka."
+msgstr "Nije moguće odrediti tip toka (strream)."
 
 msgid "The stream is of a different type than handled by this element."
-msgstr "Protok je vrste kojom ovaj element ne može manipulirati."
+msgstr "Ovaj element ne može manipulirati tok (stream) ovog tipa."
 
 msgid "There is no codec present that can handle the stream's type."
-msgstr "Nema kodeka koji može manipulirati s ovom vrstom protoka."
+msgstr "Nema kodeka koji može manipulirati s ovim tipom toka (stream)."
 
 msgid "Could not decode stream."
-msgstr "Nije moguće dekodirati protok."
+msgstr "Nije moguće dekodirati tok."
 
 msgid "Could not encode stream."
-msgstr "Nije moguće kodirati protok."
+msgstr "Nije moguće kodirati tok."
 
 msgid "Could not demultiplex stream."
-msgstr "Nije moguće demultipleksirati protok."
+msgstr "Nije moguće demultipleksirati tok."
 
 msgid "Could not multiplex stream."
-msgstr "Nije moguće multipleksirati protok."
+msgstr "Nije moguće multipleksirati tok."
 
 msgid "The stream is in the wrong format."
-msgstr "Protok je u krivom formatu."
+msgstr "Tok je u krivom formatu."
 
 msgid "The stream is encrypted and decryption is not supported."
-msgstr "Protok je šifriran a dešifriranje nije podržano."
+msgstr "Tok je šifriran a dešifriranje nije podržano."
 
 msgid ""
 "The stream is encrypted and can't be decrypted because no suitable key has "
 "been supplied."
 msgstr ""
-"Protok je šifriran i ne može se dešifrirati jer nije dobiven prikladni ključ."
+"Tok je šifriran i ne može se dešifrirati jer nije dobiven prikladni ključ."
 
 #, c-format
 msgid "No error message for domain %s."
@@ -285,7 +286,7 @@ msgid "commonly used title for sorting purposes"
 msgstr "uobičajeni naslov (za sortiranje)"
 
 msgid "artist"
-msgstr "izvođač"
+msgstr "artist"
 
 msgid "person(s) responsible for the recording"
 msgstr "osobe odgovorne za snimanje"
@@ -312,7 +313,7 @@ msgid "album artist"
 msgstr "izvođač albuma"
 
 msgid "The artist of the entire album, as it should be displayed"
-msgstr "Izvođač cijelog albuma (prikazan onako kako  treba)"
+msgstr "Izvođač cijelog albuma (pokazan onako kako  treba)"
 
 msgid "album artist sortname"
 msgstr "izvođač albuma (za sortiranje)"
@@ -342,7 +343,7 @@ msgid "comment"
 msgstr "komentar"
 
 msgid "free text commenting the data"
-msgstr "slobodni (tekst)komentar o tim podacima"
+msgstr "tekstno komentiranje podataka"
 
 msgid "extended comment"
 msgstr "prošireni komentar"
@@ -534,13 +535,13 @@ msgid "encoder"
 msgstr "koder"
 
 msgid "encoder used to encode this stream"
-msgstr "koder s kojim je kodiran ovaj protok"
+msgstr "koder s kojim je kodiran ovaj tok"
 
 msgid "encoder version"
 msgstr "inačica kodera"
 
 msgid "version of the encoder used to encode this stream"
-msgstr "inačica kodera s kojim je kodiran ovaj protok"
+msgstr "inačica kodera s kojim je kodiran ovaj tok"
 
 msgid "serial"
 msgstr "serijski broj"
@@ -584,7 +585,7 @@ msgid "language code"
 msgstr "jezični kȏd"
 
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "jezični kȏd za ovaj protok, u skladu s ISO-639-1 ili ISO-639-2"
+msgstr "jezični kȏd za ovaj tok, u skladu s ISO-639-1 ili ISO-639-2"
 
 msgid "language name"
 msgstr "ime jezika"
@@ -596,7 +597,7 @@ msgid "image"
 msgstr "slika"
 
 msgid "image related to this stream"
-msgstr "slika za ovaj protok"
+msgstr "slika za ovaj tok"
 
 # thumbnail
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
@@ -604,7 +605,7 @@ msgid "preview image"
 msgstr "pregledna slika"
 
 msgid "preview image related to this stream"
-msgstr "pregledna slika za ovaj protok"
+msgstr "pregledna slika za ovaj tok"
 
 msgid "attachment"
 msgstr "privitak"
@@ -838,9 +839,14 @@ msgstr "privatni-podaci"
 msgid "Private data"
 msgstr "Privatni podaci"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Nevaljani URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Za protokol %s nije pronađen URI rukovatelj"
@@ -861,6 +867,9 @@ msgstr ""
 "Dodatne informacije za debugiranje:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "poveznica nema izvor [sink=%s@%p]"
@@ -869,14 +878,33 @@ msgstr "poveznica nema izvor [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "poveznica nema ponor [source=%s@%p]"
 
+msgid "No such property."
+msgstr "Nema takvog svojstva."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nema svojstva „%s“ u elementu „%s“"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Element „%s“ nije GstPreset."
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nije moguće postaviti preset „%s“ u elementu „%s“"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nema elementa „%s“"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nije moguće postaviti svojstvo „%s“ u elementu „%s“ na „%s“"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "nije moguće postaviti svojstvo „%s“ u potomku od elementa „%s“ na „%s“"
+
 msgid "Delayed linking failed."
 msgstr "Odgođeno povezivanje nije uspjelo."
 
@@ -897,18 +925,14 @@ msgstr "nije moguće povezati %s sa %s sa sposobnostima %s"
 msgid "could not link %s to %s"
 msgstr "nije moguće povezati %s sa %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nema elementa „%s“"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr "neočekivana referencija „%s“ - ignorira se"
+msgstr "neočekivana referencija „%s“ - zanemareno"
 
-# pad (u elektronskoj glazbi) > A category of synthsizer patches which produce a soft, pleasing sound.
+# pad pads are the element's interface to the outside world -> sučelje
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr "neočekivana poveznica (pad-reference) „%s“ - ignorira se"
+msgstr "neočekivana referencija sučelja (pad-reference) „%s“ - zanemareno"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -923,7 +947,7 @@ msgid "no source element for URI \"%s\""
 msgstr "nema elementa-izvor za URI „%s“"
 
 msgid "syntax error"
-msgstr "greška u sintaksi"
+msgstr "sintaktična greška"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
@@ -975,7 +999,7 @@ msgstr "Nijedan privremeni direktorij nije specificiran."
 
 #, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Nije moguće kreirati privremenu datoteku „%s“."
+msgstr "Nije moguće stvoriti privremenu datoteku „%s“."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
@@ -1040,10 +1064,10 @@ msgid "force caps without doing a typefind"
 msgstr "nametne sposobnosti bez upotrebe „typefind“"
 
 msgid "Stream doesn't contain enough data."
-msgstr "Protok ne sadrži dovoljno podataka."
+msgstr "Tok ne sadrži dovoljno podataka."
 
 msgid "Stream contains no data."
-msgstr "Protok ne sadrži podatke."
+msgstr "Tok ne sadrži podatke."
 
 #, c-format
 msgid "%sImplemented Interfaces%s:\n"
@@ -1061,6 +1085,9 @@ msgstr "zastarjelo"
 msgid "controllable"
 msgstr "upravljivo"
 
+msgid "conditionally available"
+msgstr "uvjetno dostupno"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "promjenjivo u stanje NULL, READY, PAUSED ili PLAYING"
 
@@ -1153,11 +1180,14 @@ msgstr ""
 "                                         koji ih realiziraju"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
-"Onemogućite obojeni ispis. To možete učiniti i postavljanjem varijable "
-"okruženja „GST_INSPECT_NO_COLORS“ na bilo koju vrijednost."
+"Onemogućite obojeni izlaz. To možete također učiniti i postavljanjem "
+"varijable okruženja „GST_INSPECT_NO_COLORS“ na bilo koju vrijednost."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Obojeni izlaz, pa čak kad se šalje na tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1170,13 +1200,19 @@ msgstr "Nema takvog elementa ili plugina „%s“\n"
 msgid "Index statistics"
 msgstr "Indeksna statistika"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Postavljamo cjevovod na PLAYING ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "GREŠKA: cjevovod ne želi reproducirati (play).\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Primljena je poruka #%u od elementa „%s“ (%s): "
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr "Primljena je poruka #%u od konekcije „%s:%s“ (%s): "
+msgstr "Primljena je poruka #%u od sučelja „%s:%s“ (%s): "
 
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
@@ -1190,17 +1226,20 @@ msgstr "Primljena je poruka #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Primljen je EOS (znak kraja protoka) od elementa „%s“.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Primljen je EOS - cjevovod se zaustavlja...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr "PRONAĐEN TAG   : pronađen elementom „%s“.\n"
+msgstr "PRONAĐEN TAG   : pronađen po elementu „%s“.\n"
 
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
-msgstr "PRONAĐEN TAG   : pronađen s konekcijom „%s:%s“.\n"
+msgstr "PRONAĐEN TAG   : pronađen po sučelju „%s:%s“.\n"
 
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
-msgstr "PRONAĐEN TAG   : pronađen objektom „%s“.\n"
+msgstr "PRONAĐEN TAG   : pronađen po objektu „%s“.\n"
 
 msgid "FOUND TAG\n"
 msgstr "PRONAĐEN TAG\n"
@@ -1228,43 +1267,68 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "UPOZORENJE: od elementa %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Cjevovod je pripremljen (PREROLLED) ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
-msgstr "Pripremljeno, čeka se završetak punjenja međuspremnika...\n"
+msgstr "Pripremljeno, čekamo da završi punjenje međuspremnika...\n"
 
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr "Pripremljeno, čeka se završetak procesa...\n"
+msgstr "Pripremljeno, čekamo na kraj procesa...\n"
 
 msgid "buffering..."
-msgstr "punjenje međuspremnika..."
+msgstr "punimo međuspremnik..."
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Gotovo je s punjenjem, cjevovod se stavlja u stanje PLAYING ...\n"
+msgstr "Punjenje je gotovo, postavljamo cjevovod na PLAYING ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Punjenje međuspremnika, cjevovod se stavlja u stanje PAUSED ...\n"
+msgstr "Punimo međuspremnik, postavljamo cjevovod na PAUSED ...\n"
 
 msgid "Redistribute latency...\n"
 msgstr "Preraspodjela latencije...\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr "Uspostavlja se stanje %s prema zahtjevu od %s...\n"
+msgstr "Postavljamo stanje na %s prema zahtjevu od %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Prekid: Zaustavlja se cjevovod ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Prekid dok čekamo na EOS - cjevovod se zaustavlja...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Omogućen je EOS pri zatvaranju -- nameće se EOS na cjevovod\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "ÄŒekamo na EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Progres: (%s) %s\n"
 
 #, c-format
 msgid "Missing element: %s\n"
-msgstr "Nedostaje element %s\n"
+msgstr "Nema elementa %s\n"
 
 #, c-format
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Primljen je kontekst od elementa „%s“: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "GREŠKA: cjevovod se ne želi pripremiti (preroll).\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Dogodila se greška pri čekanju na EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Koristite Windows sat (clock) visoke rezolucije, preciznost: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "izlazni tagovi (znani i kao „metapodaci“)"
 
@@ -1301,6 +1365,22 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr "Prikupiti i ispisati indeksne statistike"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Ne ispisuje trenutni položaj cjevovoda. Ako ova opcija nije specificirana, "
+"ispisati će se položaj kad je stdout TTY. Da omogućite ispis položaja kad "
+"stdout nije TTY, koristite „force-position“ opciju."
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Dopušta ispis trenutnog položaja cjevovoda i kad stdout nije TTY. Ova opcija "
+"nema efekta ako je „no-position“ opcija specificirana."
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "GREŠKA: nije moguće sastaviti cjevovod: %s.\n"
@@ -1316,10 +1396,10 @@ msgid "ERROR: the 'pipeline' element wasn't found.\n"
 msgstr "GREŠKA: nije pronađen element „pipeline“.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Cjevovod se stavlja u stanje PAUSED ...\n"
+msgstr "Postavljamo cjevovod na PAUSED ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "GREŠKA: Cjevovod ne želi pauzirati.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nije uspjelo postaviti cjevovod u stanje PAUSED.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Cjevovod je aktiv i ne treba PREROLL (pripravu)...\n"
@@ -1327,48 +1407,24 @@ msgstr "Cjevovod je aktiv i ne treba PREROLL (pripravu)...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Cjevovod se priprema (PREROLLING)....\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "GREŠKA: cjevovod se ne želi pripremiti (preroll).\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Cjevovod je pripremljen (PREROLLED) ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Cjevovod je stavlja u stanje PLAYING ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "GREŠKA: cjevovod ne želi reproducirati (play).\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Omogućen je EOS pri zatvaranju -- nameće se EOS na cjevovod\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Omogućen je EOS pri zatvaranju -- čekanje na EOS nakon greške\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "ÄŒeka se EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Primljen je EOS - cjevovod se zaustavlja...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Prekid dok se čeka na EOS - cjevovod se zaustavlja...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Dogodila se greška pri čekanju na EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Izvršavanje je završilo nakon %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Cjevovod se stavlja u stanje READY ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
-msgstr "Cjevovod se stavlja u stanje NULL ...\n"
+msgstr "Postavljamo cjevovod na NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Cjevovod se prazni...\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "GREŠKA: Cjevovod ne želi pauzirati.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "Omogućen je EOS pri zatvaranju -- čekanje na EOS nakon greške\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Cjevovod se stavlja u stanje READY ...\n"
+
 #~ msgid "Error creating pipe: %s\n"
 #~ msgstr "Greška pri stvaranju cijevi: %s\n"
 
diff --git a/po/hu.po b/po/hu.po
index ab5f8f4..3af8f4c 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,23 +1,23 @@
-# Hungarian translation for gstreamer
-# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012, 2014, 2015, 2016, 2017 Canonical Ltd, and Rosetta Contributors
+# Hungarian translation for gstreamer.
+# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012, 2014, 2015, 2016, 2017, 2019, 2022 Canonical Ltd, and Rosetta Contributors
 # This file is distributed under the same license as the gstreamer package.
 #
 # Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008, 2009, 2010, 2012, 2016.
-# Balázs Úr <urbalazs@gmail.com>, 2014, 2015, 2017.
+# Balázs Úr <ur.balazs@fsf.hu>, 2014, 2015, 2017, 2019, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-05 20:17+0200\n"
-"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-10-18 21:55+0200\n"
+"Last-Translator: Balázs Úr <ur.balazs@fsf.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 19.12.3\n"
 "Plural-Forms:  nplurals=2; plural=(n != 1);\n"
 
 msgid "Print the GStreamer version"
@@ -95,6 +95,7 @@ msgstr "GStreamer beállításai"
 msgid "Show GStreamer Options"
 msgstr "A GStreamer beállításainak megjelenítése"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Ismeretlen beállítás"
 
@@ -152,13 +153,13 @@ msgid "GStreamer encountered a general supporting library error."
 msgstr "A GStreamer általános támogató programkönyvtárhibát észlelt."
 
 msgid "Could not initialize supporting library."
-msgstr "Nem sikerült inicializálni a támogató programkönyvtárat."
+msgstr "Nem sikerült előkészíteni a támogató programkönyvtárat."
 
 msgid "Could not close supporting library."
-msgstr "Nem zárható be a támogató programkönyvtár."
+msgstr "Nem sikerült bezárni a támogató programkönyvtárat."
 
 msgid "Could not configure supporting library."
-msgstr "Nem állítható be a támogató programkönyvtár."
+msgstr "Nem sikerült beállítani a támogató programkönyvtárat."
 
 msgid "Encoding error."
 msgstr "Kódolási hiba."
@@ -173,31 +174,31 @@ msgid "Resource busy or not available."
 msgstr "Az erőforrás foglalt vagy nem érhető el."
 
 msgid "Could not open resource for reading."
-msgstr "Az erőforrás nem nyitható meg olvasásra."
+msgstr "Nem sikerült megnyitni az erőforrást olvasásra."
 
 msgid "Could not open resource for writing."
-msgstr "Az erőforrás nem nyitható meg írásra."
+msgstr "Nem sikerült megnyitni az erőforrást írásra."
 
 msgid "Could not open resource for reading and writing."
-msgstr "Az erőforrás nem nyitható meg olvasásra és írásra."
+msgstr "Nem sikerült megnyitni az erőforrást olvasásra és írásra."
 
 msgid "Could not close resource."
-msgstr "Az erőforrás nem zárható le."
+msgstr "Nem sikerült bezárni az erőforrást."
 
 msgid "Could not read from resource."
-msgstr "Nem lehet olvasni az erőforrásból."
+msgstr "Nem sikerült olvasni az erőforrásból."
 
 msgid "Could not write to resource."
-msgstr "Nem lehet írni az erőforrásba."
+msgstr "Nem sikerült írni az erőforrásba."
 
 msgid "Could not perform seek on resource."
-msgstr "Nem végezhető pozicionálás az erőforráson."
+msgstr "Nem sikerült pozicionálás végezni az erőforráson."
 
 msgid "Could not synchronize on resource."
-msgstr "Nem lehet szinkronizálni az erőforráson."
+msgstr "Nem sikerült szinkronizálni az erőforráson."
 
 msgid "Could not get/set settings from/on resource."
-msgstr "Nem lehet lekérni/beállítani az erőforrás beállításait."
+msgstr "Nem sikerült lekérni/beállítani az erőforrás beállításait."
 
 msgid "No space left on the resource."
 msgstr "Nincs több hely az erőforráson."
@@ -214,7 +215,7 @@ msgstr ""
 "hibajelentést."
 
 msgid "Could not determine type of stream."
-msgstr "Nem állapítható meg az adatfolyam típusa."
+msgstr "Nem sikerült megállapítani az adatfolyam típusát."
 
 msgid "The stream is of a different type than handled by this element."
 msgstr "Az adatfolyam típusa eltér az elem által kezelttől."
@@ -223,16 +224,16 @@ msgid "There is no codec present that can handle the stream's type."
 msgstr "Nincs jelen az adatfolyam típusát kezelni képes kodek."
 
 msgid "Could not decode stream."
-msgstr "Nem fejthető vissza az adatfolyam."
+msgstr "Nem sikerült visszafejteni az adatfolyamot."
 
 msgid "Could not encode stream."
-msgstr "Az adatfolyam nem kódolható."
+msgstr "Nem sikerült kódolni az adatfolyamot."
 
 msgid "Could not demultiplex stream."
-msgstr "Nem választható szét az adatfolyam."
+msgstr "Nem sikerült szétválasztani az adatfolyamot."
 
 msgid "Could not multiplex stream."
-msgstr "Nem egyesíthető az adatfolyam."
+msgstr "Nem sikerült egyesíteni az adatfolyamot."
 
 msgid "The stream is in the wrong format."
 msgstr "Az adatfolyam formátuma rossz."
@@ -828,9 +829,14 @@ msgstr "privát-adatok"
 msgid "Private data"
 msgstr "Privát adatok"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Érvénytelen URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Nem található URI-kezelő a(z) %s protokollhoz"
@@ -851,6 +857,9 @@ msgstr ""
 "További hibakeresési információk:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "a hivatkozásnak nincs forrása [nyelő=%s@%p]"
@@ -859,13 +868,34 @@ msgstr "a hivatkozásnak nincs forrása [nyelő=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "a hivatkozásnak nincs nyelője [forrás=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nincs „%s” tulajdonság a(z) „%s” elemben"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "A(z) „%s” elem nem GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nem sikerült beállítani a(z) „%s” előbeállítást a(z) „%s” elemben"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nincs „%s” elem"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
-msgstr "nem állítható be a(z) „%2$s” elem „%1$s” tulajdonsága „%3$s” értékre"
+msgstr ""
+"nem sikerült beállítani a(z) „%2$s” elem „%1$s” tulajdonságát „%3$s” értékre"
+
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"nem sikerült beállítani a(z) „%2$s” elem „%1$s” tulajdonságát „%3$s” értékre"
 
 msgid "Delayed linking failed."
 msgstr "A késleltetett linkelés meghiúsult."
@@ -890,10 +920,6 @@ msgstr "%s nem linkelhető a következőre: %s ezekkel a képességekkel: %s"
 msgid "could not link %s to %s"
 msgstr "%s nem linkelhető a következőre: %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nincs „%s” elem"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "nem várt „%s” hivatkozás - mellőzés"
@@ -904,7 +930,7 @@ msgstr "nem várt „%s” kitöltési hivatkozás - mellőzés"
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "a(z) „%s” képesség nem elemezhető"
+msgstr "nem sikerült feldolgozni a(z) „%s” képességeket"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -929,7 +955,7 @@ msgid "empty pipeline not allowed"
 msgstr "üres adatcsatorna nem engedélyezett"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "A csővezetés felépítése érvénytelen, adjon hozzá sorokat."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Rengetek puffer kerül eldobásra."
@@ -967,11 +993,11 @@ msgstr "Nincs megadva ideiglenes könyvtár."
 
 #, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Nem hozható létre a következő ideiglenes fájl: „%s”."
+msgstr "Nem sikerült létrehozni a következő ideiglenes fájlt: „%s”."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
-msgstr "Nem nyitható meg a(z) „%s” fájl olvasásra."
+msgstr "Nem sikerült megnyitni a(z) „%s” fájlt olvasásra."
 
 msgid "Error while writing to download file."
 msgstr "Hiba a letöltési fájl írása közben."
@@ -981,7 +1007,7 @@ msgstr "Nincs fájlnév megadva az íráshoz."
 
 #, c-format
 msgid "Could not open file \"%s\" for writing."
-msgstr "Nem lehet írásra megnyitni a(z) „%s” fájlt."
+msgstr "Nem sikerült megnyitni a(z) „%s” fájlt írásra."
 
 #, c-format
 msgid "Error closing file \"%s\"."
@@ -1000,7 +1026,7 @@ msgstr "Nincs megadva fájlnév az olvasáshoz."
 
 #, c-format
 msgid "Could not get info on \"%s\"."
-msgstr "Nem kérhetők le információk a következőkről: „%s”."
+msgstr "Nem sikerült lekérni az információkat a következőkről: „%s”."
 
 #, c-format
 msgid "\"%s\" is a directory."
@@ -1014,7 +1040,7 @@ msgid "Failed after iterations as requested."
 msgstr "Ismétlések után kérésére meghiúsult."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "Az eos-after és error-after nem lehet egyszerre meghatározva."
 
 msgid "caps"
 msgstr "képességek"
@@ -1037,9 +1063,9 @@ msgstr "Az adatfolyam nem tartalmaz elég adatot."
 msgid "Stream contains no data."
 msgstr "Az adatfolyam nem tartalmaz adatokat."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Megvalósított felületek:\n"
+msgstr "%sMegvalósított felületek%s:\n"
 
 msgid "readable"
 msgstr "olvasható"
@@ -1053,6 +1079,9 @@ msgstr "elavult"
 msgid "controllable"
 msgstr "vezérelhető"
 
+msgid "conditionally available"
+msgstr "feltételesen elérhető"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "módosítható a NULL, KÉSZ, SZÜNETEL vagy LEJÁTSZÁS állapotban"
 
@@ -1065,9 +1094,9 @@ msgstr "csak a NULL vagy KÉSZ állapotban módosítható"
 msgid "Blacklisted files:"
 msgstr "Feketelistás fájlok:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Teljes szám: "
+msgstr "%sTeljes szám%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1133,13 +1162,18 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Támogatott URI sémák kiírása, az azokat megvalósító elemmel"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Színek letiltása a kimeneten. Ugyanezt érheti el a „GST_INSPECT_NO_COLORS” "
+"környezeti változó bármilyen értékre történő beállításával."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Kimenet színezése, akkor is ha nem a tty-ra kerül küldésre."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
-msgstr "Nem tölthető be a bővítményfájl: %s\n"
+msgstr "Nem sikerült betölteni a bővítményfájlt: %s\n"
 
 #, c-format
 msgid "No such element or plugin '%s'\n"
@@ -1148,6 +1182,12 @@ msgstr "Nincs ilyen elem vagy bővítmény: „%s”\n"
 msgid "Index statistics"
 msgstr "Indexstatisztika"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Adatcsatorna beállítása LEJÁTSZÁSRA…\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "HIBA: az adatcsatorna nem akar lejátszani.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "%u számú üzenet érkezett a következő elemtől: „%s” (%s)."
@@ -1168,6 +1208,9 @@ msgstr "%u számú üzenet (%s) érkezett:"
 msgid "Got EOS from element \"%s\".\n"
 msgstr "EOS érkezett a következő elemtől: „%s”.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS érkezett – adatcsatorna leállítása…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "CÍMKE MEGTALÁLVA: a(z) „%s” elem által.\n"
@@ -1206,6 +1249,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "FIGYELMEZTETÉS: a következő elemtől: %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Az adatcsatorna ELINDÍTVA…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Előzetesen betöltve, várakozás a pufferelés befejeződésére…\n"
 
@@ -1218,6 +1264,7 @@ msgstr "pufferelés…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "A pufferelés kész, adatcsatorna beállítása LEJÁTSZÁSRA…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Pufferelés, az adatcsatorna beállítása SZÜNETELTETETT állapotúra…\n"
 
@@ -1228,9 +1275,20 @@ msgstr "Késleltetés újraelosztása…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Állapot beállítása erre: %s, %s kérésének megfelelően…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Megszakítás: Adatcsatorna leállítása…\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Megszakítás az EOS-ra várakozás közben – adatcsatorna leállítása…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Leállításkor EOS engedélyezve – EOS kényszerítése az adatcsatornára\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Várakozás EOS-ra…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Folyamat: (%s) %s\n"
@@ -1243,6 +1301,16 @@ msgstr "Hiányzó elem: „%s”\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Környezet lekérése a(z) „%s” elemtől: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "HIBA: az adatcsatorna nem akar elindulni.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Hiba történt az EOS-ra várakozáskor\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "A Windows nagy felbontású órájának használata, pontosság: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Kimeneti címkék (metaadatok)"
 
@@ -1277,12 +1345,30 @@ msgstr "EOS kényszerítése a forrásokra az adatcsatorna leállítása előtt"
 msgid "Gather and print index statistics"
 msgstr "Indexstatisztikák gyűjtése és kiírása"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Ne írja ki az adatcsatorna jelenlegi pozícióját. Ha ez a kapcsoló nincs "
+"megadva, akkor a pozíció kiírásra kerül, ha a szabványos kimenet egy TTY. Ha "
+"a szabványos kimenet nem TTY, a pozíció kiírásának engedélyezéséhez "
+"használja a „force-position” kapcsolót."
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Az adatcsatorna jelenlegi pozíciója kiírásának engedélyezése akkor is, ha a "
+"szabványos kimenet nem TTY. Ennek a kapcsolónak nincs hatása, ha a „no-"
+"position” kapcsoló van megadva."
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
-msgstr "HIBA: az adatcsatorna nem építhető fel: %s.\n"
+msgstr "HIBA: az adatcsatornát nem sikerült felépíteni: %s.\n"
 
 msgid "ERROR: pipeline could not be constructed.\n"
-msgstr "HIBA: az adatcsatorna nem építhető fel.\n"
+msgstr "HIBA: az adatcsatornát nem sikerült felépíteni.\n"
 
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
@@ -1294,8 +1380,8 @@ msgstr "HIBA: az „adatcsatorna” elem nem található.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Adatcsatorna beállítása SZÜNETELTETETT állapotúra…\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "HIBA: az adatcsatorna nem akar megállni.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nem sikerült beállítani az adatcsatornát SZÜNETELTETETT állapotúra.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Az adatcsatorna él és nem szükséges ELINDÍTANI…\n"
@@ -1303,56 +1389,11 @@ msgstr "Az adatcsatorna él és nem szükséges ELINDÍTANI…\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Az adatcsatorna INDÍTÁSA…\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "HIBA: az adatcsatorna nem akar elindulni.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Az adatcsatorna ELINDÍTVA…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Adatcsatorna beállítása LEJÁTSZÁSRA…\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "HIBA: az adatcsatorna nem akar lejátszani.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Leállításkor EOS engedélyezve – EOS kényszerítése az adatcsatornára\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Leállításkor EOS engedélyezve – várakozás EOS-ra hiba után\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Várakozás EOS-ra…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS érkezett – adatcsatorna leállítása…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Megszakítás az EOS-ra várakozás közben – adatcsatorna leállítása…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Hiba történt az EOS-ra várakozáskor\n"
-
 msgid "Execution ended after %"
 msgstr "A végrehajtás befejeződött %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Az adatcsatorna beállítása KÉSZ állapotra…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Az adatcsatorna beállítása NULL értékre…\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Adatcsatorna felszabadítása…\n"
-
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Hiba a(z) „%s” fájl bezárása közben."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Hiba a(z) „%s” fájl bezárása közben."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Hiba a(z) „%s” fájl írása közben."
diff --git a/po/id.po b/po/id.po
index 8406c02..f75d65c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,28 +1,29 @@
 # Indonesian translations for gstreamer package.
 # This file is put in the public domain.
-# Andika Triwidada <andika@gmail.com>, 2013.
+# Andika Triwidada <andika@gmail.com>, 2013, 2021, 2023.
 # Andhika Padmawan <andhika.padmawan@gmail.com>, 2010-2016.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.10.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2016-11-14 20:59+0700\n"
-"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-16 09:15+0700\n"
+"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
 "Language: id\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid "Print the GStreamer version"
 msgstr "Cetak versi GStreamer"
 
 msgid "Make all warnings fatal"
-msgstr "Buat semua peringatan fatal"
+msgstr "Jadikan semua peringatan fatal"
 
 msgid "Print available debug categories and exit"
 msgstr "Cetak kategori awakutu yang tersedia lalu keluar"
@@ -94,6 +95,7 @@ msgstr "Opsi GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Tampilkan Opsi GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opsi tak diketahui"
 
@@ -130,8 +132,9 @@ msgstr "Galat GStreamer internal: masalah event."
 msgid "Internal GStreamer error: seek problem."
 msgstr "Galat GStreamer internal: masalah pencarian."
 
+# caps here is not related to character upper/lower case
 msgid "Internal GStreamer error: caps problem."
-msgstr "Galat GStreamer internal: masalah huruf."
+msgstr "Galat GStreamer internal: masalah caps."
 
 msgid "Internal GStreamer error: tag problem."
 msgstr "Galat GStreamer internal: masalah tag."
@@ -831,9 +834,14 @@ msgstr "data-privat"
 msgid "Private data"
 msgstr "Data privat"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "URI tidak valid: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Tak ditemukan penangan URI bagi protokol %s"
@@ -854,6 +862,9 @@ msgstr ""
 "Info awakutu tambahan:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "tautan tidak mempunyai sumber [sink=%s@%p]"
@@ -862,36 +873,55 @@ msgstr "tautan tidak mempunyai sumber [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "tautan mempunyai buangan [source=%s@%p]"
 
+msgid "No such property."
+msgstr "Tidak ada properti seperti itu."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "tak ada properti \"%s\" di elemen \"%s\""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Elemen \"%s\" bukat suatu GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "tak dapat mengatur pratata \"%s\" di elemen \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "tak ada elemen \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "tak dapat mengatur properti \"%s\" di elemen \"%s\" ke \"%s\""
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "tak bisa mengatur properti \"%s\" di anak elemen \"%s\" ke \"%s\""
+
 msgid "Delayed linking failed."
 msgstr "Jeda penautan gagal."
 
-#, fuzzy, c-format
+# caps here is not related to character upper/lower case
+#, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "tak dapat menautkan %s ke %s"
+msgstr "tidak dapat menautkan %s ke %s, %s tidak dapat menangani caps %s"
 
-#, fuzzy, c-format
+# caps here is not related to character upper/lower case
+#, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr "tak dapat menautkan elemen buang untuk URI \"%s\""
+msgstr ""
+"tidak dapat menautkan %s ke %s, kedua elemen tidak dapat menangani caps %s"
 
-#, fuzzy, c-format
+# caps here is not related to character upper/lower case
+#, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "tak dapat menautkan %s ke %s"
+msgstr "tidak dapat menautkan %s ke %s dengan caps %s"
 
 #, c-format
 msgid "could not link %s to %s"
-msgstr "tak dapat menautkan %s ke %s"
-
-#, c-format
-msgid "no element \"%s\""
-msgstr "tak ada elemen \"%s\""
+msgstr "tidak dapat menautkan %s ke %s"
 
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
@@ -901,9 +931,10 @@ msgstr "referensi tak diharapkan \"%s\" - mengabaikan"
 msgid "unexpected pad-reference \"%s\" - ignoring"
 msgstr "referensi pad tak diharapkan \"%s\" - mengabaikan"
 
+# caps here is not related to character upper/lower case
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "tak dapat menguraikan huruf \"%s\""
+msgstr "tak dapat menguraikan caps \"%s\""
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -928,7 +959,7 @@ msgid "empty pipeline not allowed"
 msgstr "baris pipa kosong tak diizinkan"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Konstruksi pipeline tidak valid, silakan tambahkan antrian."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Banyak penyangga yang didrop."
@@ -945,8 +976,9 @@ msgstr "Galat jam internal."
 msgid "Failed to map buffer."
 msgstr "Gagal memetakan penyangga."
 
+# caps here is not related to character upper/lower case
 msgid "Filter caps"
-msgstr "Filter huruf"
+msgstr "Filter caps"
 
 msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
@@ -955,11 +987,13 @@ msgstr ""
 "Larang kemampuan yang mungkin diizinkan (KOSONG berarti APAPUN). Pengaturan "
 "properti ini bersumber pada objek GstCaps yang disediakan."
 
+# caps here is not related to character upper/lower case
 msgid "Caps Change Mode"
-msgstr "Mode Ubah Huruf"
+msgstr "Mode Ubah Caps"
 
+# caps here is not related to character upper/lower case
 msgid "Filter caps change behaviour"
-msgstr "Filter perilaku ubah huruf"
+msgstr "Filter perilaku ubah caps"
 
 msgid "No Temp directory specified."
 msgstr "Tak ada direktori Temp yang ditentukan."
@@ -1013,10 +1047,11 @@ msgid "Failed after iterations as requested."
 msgstr "Gagal setelah pengulangan seperti yang diminta."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after dan error-after tidak dapat didefinisikan bersamaan."
 
+# caps here is not related to character upper/lower case
 msgid "caps"
-msgstr "huruf"
+msgstr "caps"
 
 msgid "detected capabilities in stream"
 msgstr "mendeteksi kemampuan dalam arus"
@@ -1024,11 +1059,13 @@ msgstr "mendeteksi kemampuan dalam arus"
 msgid "minimum"
 msgstr "minimum"
 
+# caps here is not related to character upper/lower case
 msgid "force caps"
-msgstr "paksa huruf"
+msgstr "paksa caps"
 
+# caps here is not related to character upper/lower case
 msgid "force caps without doing a typefind"
-msgstr "paksa huruf tanpa melakukan pencarian tipe"
+msgstr "paksa caps tanpa melakukan pencarian tipe"
 
 msgid "Stream doesn't contain enough data."
 msgstr "Arus tidak berisi cukup data."
@@ -1036,9 +1073,9 @@ msgstr "Arus tidak berisi cukup data."
 msgid "Stream contains no data."
 msgstr "Arus tidak berisi data."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Antarmuka Terimplementasi:\n"
+msgstr "%sAntarmuka Terimplementasi%s:\n"
 
 msgid "readable"
 msgstr "dapat dibaca"
@@ -1052,6 +1089,9 @@ msgstr "usang"
 msgid "controllable"
 msgstr "dapat dikendalikan"
 
+msgid "conditionally available"
+msgstr "tersedia bersyarat"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "dapat diubah dalam kondisi NULL, READY, PAUSED atau PLAYING"
 
@@ -1064,9 +1104,9 @@ msgstr "hanya dapat diubah dalam kondisi NULL atau READY"
 msgid "Blacklisted files:"
 msgstr "Berkas yang dilarang:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Jumlah total: "
+msgstr "%sCacah total%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1112,6 +1152,8 @@ msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
+"Sebuah slashes ('/') terpisah daftar jenis elemen (juga dikenal sebagai "
+"klass) untuk daftar. (tidak terurut)"
 
 msgid "Check if the specified element or plugin exists"
 msgstr "Klik bila elemen atau plugin yang dinyatakan ada"
@@ -1128,9 +1170,14 @@ msgstr ""
 "Cetak skema URI yang didukung, dengan elemen yang mengimplementasikannya"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Nonaktifkan warna dalam keluaran. Anda juga dapat mencapai hal yang sama "
+"dengan mengatur variabel lingkungan 'GST_INSPECT_NO_COLORS' ke nilai apa pun."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Warnai keluaran, bahkan ketika tidak mengirim ke suatu tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1143,6 +1190,12 @@ msgstr "Tak ada elemen atau plugin '%s'\n"
 msgid "Index statistics"
 msgstr "Statistik indeks"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Mengatur baris pipa ke PUTAR ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "GALAT: baris pipa tidak ingin diputar.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Mendapat pesan #%u dari elemen \"%s\" (%s): "
@@ -1163,6 +1216,9 @@ msgstr "Mendapat Pesan #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Mendapat EOS dari elemen \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS diterima - menghentikan baris pipa...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "MENEMUKAN TAG      : ditemukan oleh elemen \"%s\".\n"
@@ -1201,6 +1257,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "PERINGATAN: dari elemen %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Baris pipa telah PRAGULUNG ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Pragulung, menunggu hingga penyangga selesai...\n"
 
@@ -1213,6 +1272,7 @@ msgstr "menyangga..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Selesai menyangga, mengatur baris pipa ke MEMUTAR ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Menyangga, mengatur baris pipa ke JEDA ...\n"
 
@@ -1223,9 +1283,20 @@ msgstr "Mendistribusikan ulang latency...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Mengatur tingkat ke %s seperti diminta oleh %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interupsi: Menghentikan baris pipa ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interupsi saat menunggu EOS - menghentikan baris pipa...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS pada matikan diaktifkan -- Paksa EOS pada pemipaan\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Menunggu untuk EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Kemajuan: (%s) %s\n"
@@ -1238,6 +1309,16 @@ msgstr "Elemen kurang: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Mendapat konteks dari elemen '%s': %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "GALAT: baris pipa tak ingin dipragulung.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Galat terjadi ketika menunggu EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Gunakan jam resolusi tinggi Windows, ketelitian: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Tag keluaran (juga dikenal sebagai metadata)"
 
@@ -1272,6 +1353,23 @@ msgstr "Paksa EOS pada sumber sebelum mematikan pemipaan"
 msgid "Gather and print index statistics"
 msgstr "Kumpulkan dan cetak statistik indeks"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Jangan cetak posisi saat ini dari pipeline. Bila opsi ini tidak dinyatakan, "
+"posisi akan dicetak ketika stdout adalah sebuah TTY. Untuk memfungsikan "
+"pencetakan posisi ketika stdout bukan suatu TTY, gunakan opsi \"force-"
+"position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Izinkan pencetakan posisi saat ini dari pipeline bahkan bila stdout bukan "
+"suatu TTY. Opsi ini tidak punya pengaruh bila opsi \"no-position\" dinyatakan"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "GALAT: baris pipa tak dapat dibangun: %s.\n"
@@ -1287,10 +1385,10 @@ msgid "ERROR: the 'pipeline' element wasn't found.\n"
 msgstr "GALAT: elemen 'baris pipa' tak ditemukan.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Mengatur baris pipa ke JEDA ...\n"
+msgstr "Mengatur pipeline ke DIISTIRAHATKAN ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "GALAT: Baris pipa tak ingin dijedakan.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Gagal mengatur pipeline ke DIISTIRAHATKAN.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Baris pipa telah hidup dan tak membutuhkan PRAGULUNG ...\n"
@@ -1298,77 +1396,11 @@ msgstr "Baris pipa telah hidup dan tak membutuhkan PRAGULUNG ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Baris pipa PRAGULUNG ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "GALAT: baris pipa tak ingin dipragulung.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Baris pipa telah PRAGULUNG ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Mengatur baris pipa ke PUTAR ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "GALAT: baris pipa tidak ingin diputar.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS pada matikan diaktifkan -- Paksa EOS pada pemipaan\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS pada matikan diaktifkan -- menunggu EOS setelah Galat\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Menunggu untuk EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS diterima - menghentikan baris pipa...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interupsi saat menunggu EOS - menghentikan baris pipa...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Galat terjadi ketika menunggu EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Eksekusi berakhir setelah %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Mengatur baris pipa ke SIAP ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Mengatur baris pipa ke KOSONG ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Membebaskan baris pipa ...\n"
-
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Galat menulis berkas \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Galat menulis berkas \"%s\"."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Galat ketika menulis ke berkas \"%s\"."
-
-#~ msgid "bin"
-#~ msgstr "tempat sampah"
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Galat arus data internal."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Jangan keluarkan informasi status dari TIPE"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TIPE1, TIPE2,..."
-
-#~ msgid "link without source element"
-#~ msgstr "taut tanpa elemen sumber"
-
-#~ msgid "link without sink element"
-#~ msgstr "taut tanpa elemen buang"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "tak ada elemen ke taut URI \"%s\""
diff --git a/po/it.po b/po/it.po
index ca6fa64..61e4aaf 100644
--- a/po/it.po
+++ b/po/it.po
@@ -107,8 +107,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer-1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2019-01-29 09:16+0100\n"
 "Last-Translator: Milo Casagrande <milo@milo.name>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -213,6 +213,7 @@ msgstr "Opzioni di GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Mostra le opzioni di GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opzione sconosciuta"
 
@@ -986,9 +987,14 @@ msgstr "dati privati"
 msgid "Private data"
 msgstr "dati privati"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Non è stato trovato alcun gestore di URI con protocollo %s"
@@ -1009,6 +1015,9 @@ msgstr ""
 "Informazioni di debug aggiuntive:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "il collegamento non ha alcuna sorgente [sink=%s@%p]"
@@ -1017,14 +1026,33 @@ msgstr "il collegamento non ha alcuna sorgente [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "il collegamento non ha alcun sink [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nessuna proprietà «%s» nell'elemento «%s»"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Il file «%s» è un socket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "impossibile impostare la proprietà «%s» nell'elemento «%s» a «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nessun elemento «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "impossibile impostare la proprietà «%s» nell'elemento «%s» a «%s»"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "impossibile impostare la proprietà «%s» nell'elemento «%s» a «%s»"
+
 msgid "Delayed linking failed."
 msgstr "Collegamento ritardato non riuscito."
 
@@ -1046,10 +1074,6 @@ msgstr "impossibile collegare %s a %s con caps %s"
 msgid "could not link %s to %s"
 msgstr "impossibile collegare %s a %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nessun elemento «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "riferimento «%s» non atteso - ignorato"
@@ -1215,6 +1239,10 @@ msgstr "deprecato"
 msgid "controllable"
 msgstr "controllabile"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "controllabile"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "può passare allo stato  NULL, READY, PAUSED o PLAYING"
 
@@ -1310,14 +1338,18 @@ msgstr ""
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Stampa gli schemi URI supportati, con gli elementi che li implementano"
 
+#, fuzzy
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Disabilita i colori sull'output, è possibile ottenere lo stesso risultato "
 "impostando la variabile d'ambiente GST_INSPECT_NO_COLORS con un valore "
 "qualsiasi"
 
+msgid "Color output, even when not sending to a tty."
+msgstr ""
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Impossibile caricare il file di plugin: %s\n"
@@ -1329,6 +1361,12 @@ msgstr "Elemento o plugin «%s» inesistente\n"
 msgid "Index statistics"
 msgstr "Statistiche indice"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Impostazione della pipeline a PLAYING ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERRORE: la pipeline non vuole riprodurre.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Ottenuto messaggio #%u dall'elemento \"%s\" (%s): "
@@ -1349,6 +1387,9 @@ msgstr "Ottenuto messaggio #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Ottenuto EOS dall'elemento «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Ricevuto EOS - arresto della pipeline...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "TAG TROVATO    : trovato dall'elemento «%s».\n"
@@ -1387,6 +1428,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ATTENZIONE: dall'elemento %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "La pipeline è in PREROLLED ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Preroll eseguito, in attesa del riempimento buffer per completare...\n"
 
@@ -1400,6 +1444,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Riempimento buffer completato, impostazione della pipeline a PLAYING ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Riempimento buffer, impostazione della pipeline a PAUSED ...\n"
 
@@ -1410,9 +1455,20 @@ msgstr "Ridistribuzione latenza...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Impostazione dello stato a %s come richiesto da %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrotto: arresto della pipeline ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrotto durante l'atteso di EOS - arresto della pipeline...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS all'arresto abilitato -- Forzato EOS sulla pipeline\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "In attesa di EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Avanzamento: (%s) %s\n"
@@ -1425,6 +1481,16 @@ msgstr "Elemento mancante: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Ottenuto contesto dall'elemento «%s»: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERRORE: la pipeline non vuole fare il preroll.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Si è verificato un errore durante l'attesa di EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 # -t, --tags
 msgid "Output tags (also known as metadata)"
 msgstr "Stampa i tag (anche noti come metadati)"
@@ -1465,6 +1531,17 @@ msgstr "Forza EOS sulle sorgenti prima di arrestare la pipeline"
 msgid "Gather and print index statistics"
 msgstr "Recupera e stampa statistiche dell'indice"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERRORE: impossibile costruire la pipeline: %s.\n"
@@ -1482,8 +1559,9 @@ msgstr "ERRORE: l'elemento «pipeline» non è stato trovato.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Impostazione della pipeline a PAUSED ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERRORE: la pipeline non vuole mettersi in pausa.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Impostazione della pipeline a PAUSED ...\n"
 
 # Sinks are special elements in GStreamer. This is because sink elements have to take care of preroll, which is the process that takes care that elements going into the GST_STATE_PAUSED state will have buffers ready after the state change. The result of this is that such elements can start processing data immediately after going into the GST_STATE_PLAYING state, without requiring to take some time to initialize outputs or set up decoders; all that is done already before the state-change to GST_STATE_PAUSED  successfully completes.
 #
@@ -1494,65 +1572,45 @@ msgstr "La pipeline è viva e non necessita il PREROLL ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "La pipeline è in PREROLLING ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERRORE: la pipeline non vuole fare il preroll.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "La pipeline è in PREROLLED ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Impostazione della pipeline a PLAYING ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERRORE: la pipeline non vuole riprodurre.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS all'arresto abilitato -- Forzato EOS sulla pipeline\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"EOS all'arresto abilitato -- atteso EOS dopo errore\n"
-"\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "In attesa di EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Ricevuto EOS - arresto della pipeline...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrotto durante l'atteso di EOS - arresto della pipeline...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Si è verificato un errore durante l'attesa di EOS\n"
-
 # secondo me quel % è un errore... magari dovrebbe
 # essere %d o %s, a meno che non costruscano il messagio
 # in qualche modo esoterico...
 msgid "Execution ended after %"
 msgstr "Esecuzione terminata dopo %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Impostazione della pipeline a READY ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Impostazione della pipeline a NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Esecuzione di free sulla pipeline...\n"
 
+#, c-format
 #~ msgid "Error creating pipe: %s\n"
 #~ msgstr "Errore nel creare la pipe: %s\n"
 
+#, c-format
 #~ msgid "Error forking: %s\n"
 #~ msgstr "Errore nell'eseguire fork: %s\n"
 
+#, c-format
 #~ msgid "Error reading from console: %s\n"
 #~ msgstr "Errore nel leggere dalla console: %s\n"
 
+#, c-format
 #~ msgid "Error writing to console: %s\n"
 #~ msgstr "Errore nello scrivere sulla console: %s\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERRORE: la pipeline non vuole mettersi in pausa.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr ""
+#~ "EOS all'arresto abilitato -- atteso EOS dopo errore\n"
+#~ "\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Impostazione della pipeline a READY ...\n"
+
 #~ msgid "link without source element"
 #~ msgstr "collegamento senza elemento sorgente"
 
diff --git a/po/ja.po b/po/ja.po
index 5579a52..9948747 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.0.3\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2013-08-20 14:56+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -14,6 +14,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Lokalize 0.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
@@ -86,6 +87,7 @@ msgstr "GStreamer オプション"
 msgid "Show GStreamer Options"
 msgstr "GStreamer オプションを表示する"
 
+#, c-format
 msgid "Unknown option"
 msgstr "不明なオプション"
 
@@ -796,9 +798,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -819,6 +826,9 @@ msgstr ""
 "追加のデバッグ情報:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -827,14 +837,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "プロパティ \"%s\" がエレメント \"%s\" にありません"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "ファイル \"%s\" はソケットです"
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "プロパティ \"%s\" がエレメント \"%s\" にありません"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "エレメント \"%s\" がありません"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "プロパティ \"%s\" がエレメント \"%s\" にありません"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -854,10 +883,6 @@ msgstr "%s を %s へリンクできません"
 msgid "could not link %s to %s"
 msgstr "%s を %s へリンクできません"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "エレメント \"%s\" がありません"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1016,6 +1041,10 @@ msgstr ""
 msgid "controllable"
 msgstr "コントロール可能"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "コントロール可能"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1089,8 +1118,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1104,6 +1136,12 @@ msgstr ""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "パイプラインを再生中 (PLAYING) にしています...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1124,6 +1162,10 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr ""
 
+#, fuzzy
+msgid "EOS received - stopping pipeline...\n"
+msgstr "割り込み: パイプラインを停止しています...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr ""
@@ -1162,6 +1204,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr ""
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1176,6 +1221,7 @@ msgstr ""
 "バッファリングが完了しましたので、パイプラインを再生中 (PLAYING) にしま"
 "す...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "バッファリング中なので、パイプラインを一時停止 (PAUSED) にします...\n"
 
@@ -1186,9 +1232,21 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "割り込み: パイプラインを停止しています...\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "割り込み: パイプラインを停止しています...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1201,6 +1259,16 @@ msgstr "エレメントが見つかりません: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr ""
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "タグ (メタデータ) を出力する"
 
@@ -1234,6 +1302,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "エラー: パイプラインを構築することができません: %s\n"
@@ -1251,8 +1330,9 @@ msgstr "エラー: 'pipeline' エレメントが見つかりませんでした\n
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "パイプラインを一時停止 (PAUSED) にしています...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr ""
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "パイプラインを一時停止 (PAUSED) にしています...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
@@ -1260,44 +1340,9 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "パイプラインを再生中 (PLAYING) にしています...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-#, fuzzy
-msgid "EOS received - stopping pipeline...\n"
-msgstr "割り込み: パイプラインを停止しています...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "割り込み: パイプラインを停止しています...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr ""
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
@@ -1305,22 +1350,6 @@ msgstr ""
 msgid "Freeing pipeline ...\n"
 msgstr "パイプラインを解放 (FREEING) しています...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "ファイル \"%s\" のクローズ時にエラーが発生しました"
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "ファイル \"%s\" のクローズ時にエラーが発生しました"
-
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "レジストリ %s の再スキャン中にエラーが発生しました: %s"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "ファイル \"%s\" の書き込み中にエラーが発生しました"
-
 #~ msgid "Internal data stream error."
 #~ msgstr "内部データストリームエラー"
 
@@ -1330,6 +1359,9 @@ msgstr "パイプラインを解放 (FREEING) しています...\n"
 #~ msgid "TYPE1,TYPE2,..."
 #~ msgstr "TYPE1,TYPE2,..."
 
+#~ msgid "Error re-scanning registry %s: %s"
+#~ msgstr "レジストリ %s の再スキャン中にエラーが発生しました: %s"
+
 #~ msgid "Error re-scanning registry %s"
 #~ msgstr "レジストリ %s の再スキャン中にエラーが発生しました"
 
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..d6bee83
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,1337 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gstreamer package.
+# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-04-17 15:35+0200\n"
+"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
+"Language-Team: Georgian <(nothing)>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 3.0.1\n"
+
+msgid "Print the GStreamer version"
+msgstr "GStreamer-ის ვერსიის გამოტანა"
+
+msgid "Make all warnings fatal"
+msgstr "ყველა გაფრთხილების ფატალურად გამოცხადება"
+
+msgid "Print available debug categories and exit"
+msgstr ""
+
+msgid ""
+"Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
+msgstr ""
+
+msgid "LEVEL"
+msgstr "დონე"
+
+msgid ""
+"Comma-separated list of category_name:level pairs to set specific levels for "
+"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+msgstr ""
+
+msgid "LIST"
+msgstr "სია"
+
+msgid "Disable colored debugging output"
+msgstr ""
+
+msgid ""
+"Changes coloring mode of the debug log. Possible modes: off, on, disable, "
+"auto, unix"
+msgstr ""
+
+msgid "Disable debugging"
+msgstr "გამართვის გამორთვა"
+
+msgid "Enable verbose plugin loading diagnostics"
+msgstr "დამატებების დიაგნოსტიკური შეტყობინებების გამორთვა"
+
+msgid "Colon-separated paths containing plugins"
+msgstr ""
+
+msgid "PATHS"
+msgstr "ბილიკები"
+
+msgid ""
+"Comma-separated list of plugins to preload in addition to the list stored in "
+"environment variable GST_PLUGIN_PATH"
+msgstr ""
+
+msgid "PLUGINS"
+msgstr "PLUGINS"
+
+msgid "Disable trapping of segmentation faults during plugin loading"
+msgstr ""
+
+msgid "Disable updating the registry"
+msgstr "რეესტრის განახლების გამორთვა"
+
+msgid "Disable spawning a helper process while scanning the registry"
+msgstr "რეესტრის სკანირებისას ახალი პროცესის გაშვების გამორთვა"
+
+msgid "GStreamer Options"
+msgstr "GStreamer-ის მორგება"
+
+msgid "Show GStreamer Options"
+msgstr "GStreamer-ის პარამეტრების ჩვენება"
+
+#, c-format
+msgid "Unknown option"
+msgstr "უცნობი პარამეტრი"
+
+msgid "GStreamer encountered a general core library error."
+msgstr ""
+
+msgid ""
+"GStreamer developers were too lazy to assign an error code to this error."
+msgstr ""
+
+msgid "Internal GStreamer error: code not implemented."
+msgstr "GStreamer-ის შიდა შეცდომა: კოდი განხორციელებულ არაა."
+
+msgid ""
+"GStreamer error: state change failed and some element failed to post a "
+"proper error message with the reason for the failure."
+msgstr ""
+
+msgid "Internal GStreamer error: pad problem."
+msgstr "GStreamer-ის შიდა შეცდომა: პადის პრობლემა."
+
+msgid "Internal GStreamer error: thread problem."
+msgstr "GStreamer-ის შიდა შეცდომა: ნაკადის პრობლემა."
+
+msgid "GStreamer error: negotiation problem."
+msgstr "GStreamer-ის შეცდომა: დალაპარაკების პრობლემა."
+
+msgid "Internal GStreamer error: event problem."
+msgstr "GStreamer-ის შიდა შეცდომა: მოვლენის პრობლემა."
+
+msgid "Internal GStreamer error: seek problem."
+msgstr "GStreamer-ის შიდა შეცდომა: გადახვევის პრობლემა."
+
+msgid "Internal GStreamer error: caps problem."
+msgstr "GStreamer-ის შიდა შეცდომა: caps-ის პრობლემა."
+
+msgid "Internal GStreamer error: tag problem."
+msgstr "GStreamer-ის შიდა შეცდომა: ჭდის პრობლემა."
+
+msgid "Your GStreamer installation is missing a plug-in."
+msgstr "GStreamer-ის თქვენს ვარიანს დამატება აკლია."
+
+msgid "GStreamer error: clock problem."
+msgstr "GStreamer-ის შიდა შეცდომა: საათის პრობლემა."
+
+msgid ""
+"This application is trying to use GStreamer functionality that has been "
+"disabled."
+msgstr ""
+
+msgid "GStreamer encountered a general supporting library error."
+msgstr "GStreamer-ის მთავარი მხარდამჭერი ბიბლიოთეკის შეცდომა."
+
+msgid "Could not initialize supporting library."
+msgstr "მხარდაჭერის ბიბლიოთეკის ინიციალიზაციის შეცდომა."
+
+msgid "Could not close supporting library."
+msgstr "მხარდაჭერის ბიბლიოთეკის დახურვის შეცდომა."
+
+msgid "Could not configure supporting library."
+msgstr "მხარდაჭერის ბიბლიოთეკის მორგების შეცდომა."
+
+msgid "Encoding error."
+msgstr "კოდირების შეცდომა."
+
+msgid "GStreamer encountered a general resource error."
+msgstr "GStreamer-ის ზოგადი რესურსის შეცდომა."
+
+msgid "Resource not found."
+msgstr "რესურსი ნაპოვნი არაა."
+
+msgid "Resource busy or not available."
+msgstr "რესურსი დაკავებული ან მიუწვდომელია."
+
+msgid "Could not open resource for reading."
+msgstr "რესურსის წასაკითხად გახსნა შეუძლებელია."
+
+msgid "Could not open resource for writing."
+msgstr "რესურსის ჩასაწერად გახსნა შეუძლებელია."
+
+msgid "Could not open resource for reading and writing."
+msgstr "რესურსის წასაკითხად და ჩასაწერად გახსნა შეუძლებელია."
+
+msgid "Could not close resource."
+msgstr "რესურსის დახურვის შეცდომა."
+
+msgid "Could not read from resource."
+msgstr "რესურსიდან წაკითხვის შეცდომა."
+
+msgid "Could not write to resource."
+msgstr "რესურსში ჩაწერის შეცდომა."
+
+msgid "Could not perform seek on resource."
+msgstr "რესურსის გადახვევის შეცდომა."
+
+msgid "Could not synchronize on resource."
+msgstr "რესურსის სინქრონიზაციის შეცდომა."
+
+msgid "Could not get/set settings from/on resource."
+msgstr "პარამეტრების რესურს(იდან/ზე) მიღება/დაყენების შეცდომა."
+
+msgid "No space left on the resource."
+msgstr "რესურსზე ადგილი აღარ დარჩა."
+
+msgid "Not authorized to access resource."
+msgstr "შეამოწმეთ რესურსზე წვდომის უფლებები."
+
+msgid "GStreamer encountered a general stream error."
+msgstr "GStreamer-ის ზოგადი ნაკადის შეცდომა."
+
+msgid "Element doesn't implement handling of this stream. Please file a bug."
+msgstr ""
+
+msgid "Could not determine type of stream."
+msgstr "ნაკადის ტიპის დადგენა შეუძლებელია."
+
+msgid "The stream is of a different type than handled by this element."
+msgstr ""
+
+msgid "There is no codec present that can handle the stream's type."
+msgstr ""
+
+msgid "Could not decode stream."
+msgstr "ნაკადის დეკოდირების შეცდომა."
+
+msgid "Could not encode stream."
+msgstr "ნაკადის კოდირების შეცდომა."
+
+msgid "Could not demultiplex stream."
+msgstr "ნაკადის დემულტიპლექსირების შეცდომა."
+
+msgid "Could not multiplex stream."
+msgstr "ნაკადის მულტიპლექსირების შეცდომა."
+
+msgid "The stream is in the wrong format."
+msgstr "ნაკადის არასწორი ფორმატი."
+
+msgid "The stream is encrypted and decryption is not supported."
+msgstr "ნაკადი დაშიფრულია. გაშიფვრა მხარდაუჭერელია."
+
+msgid ""
+"The stream is encrypted and can't be decrypted because no suitable key has "
+"been supplied."
+msgstr ""
+
+#, c-format
+msgid "No error message for domain %s."
+msgstr "დომენს %s შეცდომები არ გააჩნია."
+
+#, c-format
+msgid "No standard error message for domain %s and code %d."
+msgstr ""
+
+msgid "Selected clock cannot be used in pipeline."
+msgstr ""
+
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr "რეესტრის კეშის %s-ში ჩაწერის შეცდომა: %s"
+
+msgid "title"
+msgstr "სათაური"
+
+msgid "commonly used title"
+msgstr "ზოგადად გამოყენებული სათაური"
+
+msgid "title sortname"
+msgstr "სათაურის დალაგების სახელი"
+
+msgid "commonly used title for sorting purposes"
+msgstr "დალაგებისთვის გამოყენებული სახელი"
+
+msgid "artist"
+msgstr "შემსრულებელი"
+
+msgid "person(s) responsible for the recording"
+msgstr "ჩაწერაზე პასუხისმგებელი პერსონალი"
+
+msgid "artist sortname"
+msgstr "შემსრულებლის დალაგების სახელი"
+
+msgid "person(s) responsible for the recording for sorting purposes"
+msgstr "დალაგებისთვის გამოყენებული ჩაწერაზე მომუშავე პერსონალი"
+
+msgid "album"
+msgstr "ალბომი"
+
+msgid "album containing this data"
+msgstr "ამ მონაცემების შემცველი ალბომი"
+
+msgid "album sortname"
+msgstr "დალაგებისთვის გამოყენებული ალბომის სახელი"
+
+msgid "album containing this data for sorting purposes"
+msgstr "დალაგებისთვის გამოყენებული ალბომის სახელი"
+
+msgid "album artist"
+msgstr "ალბომის შემსრულებელი"
+
+msgid "The artist of the entire album, as it should be displayed"
+msgstr "ალბომის შემსრულებელი, როგორც უნდა გამოჩნდეს"
+
+msgid "album artist sortname"
+msgstr "დალაგებისთვის გამოყენებული ალბომის შემსრულებლის სახელი"
+
+msgid "The artist of the entire album, as it should be sorted"
+msgstr "დალაგებისთვის გამოყენებული ალბომის შემსრულებლის სახელი"
+
+msgid "date"
+msgstr "თარიღი"
+
+msgid "date the data was created (as a GDate structure)"
+msgstr "მონაცემების შექმნის თარიღი (როგორც GDate-ის სტრუქტურა)"
+
+msgid "datetime"
+msgstr "თარიღი და დრო"
+
+msgid "date and time the data was created (as a GstDateTime structure)"
+msgstr "მონაცემების შექმნის თარიღი და დრო (როგორც GstDateTime-ის სტრუქტურა)"
+
+msgid "genre"
+msgstr "ჟანრი"
+
+msgid "genre this data belongs to"
+msgstr "ჟანრი, რომელსაც ეს მონაცემები ეკუთვნის"
+
+msgid "comment"
+msgstr "კომენტარები"
+
+msgid "free text commenting the data"
+msgstr "კომენტარის ტექსტი"
+
+msgid "extended comment"
+msgstr "გაფართოებული კომენტარი"
+
+msgid "free text commenting the data in key=value or key[en]=comment form"
+msgstr ""
+
+msgid "track number"
+msgstr "ტრეკის ნომერი"
+
+msgid "track number inside a collection"
+msgstr "ტრეკის ნომერი კოლექციაში"
+
+msgid "track count"
+msgstr "ტრეკების რაოდენობა"
+
+msgid "count of tracks inside collection this track belongs to"
+msgstr "ტრეკების რაოდენობა კოლექციაში, რომელსაც ის ეკუთვნის"
+
+msgid "disc number"
+msgstr "დისკის ნომერი"
+
+msgid "disc number inside a collection"
+msgstr "დისკის ნომერი კოლექციაში"
+
+msgid "disc count"
+msgstr "დისკების რაოდენობა"
+
+msgid "count of discs inside collection this disc belongs to"
+msgstr "დისკების რაოდენობა კოლექციაში, რომელსაც ის ეკუთვნის"
+
+msgid "location"
+msgstr "მდებარეობა"
+
+msgid ""
+"Origin of media as a URI (location, where the original of the file or stream "
+"is hosted)"
+msgstr ""
+"წყაროს მდებარეობის URI(მდებარეობა, სადაც ორიგინალი ნაკადი ან ფაილი ინახება)"
+
+msgid "homepage"
+msgstr "საწყისი გვერდი"
+
+msgid "Homepage for this media (i.e. artist or movie homepage)"
+msgstr "მედიის საწყისი გვერდი (შემსრულებლის ან ფილმის ვებგვერდი)"
+
+msgid "description"
+msgstr "აღწერა"
+
+msgid "short text describing the content of the data"
+msgstr "მონაცემების შემცველობის აღმწერი მოკლე ტექსტი"
+
+msgid "version"
+msgstr "ვერსია"
+
+msgid "version of this data"
+msgstr "მონაცემების ვერსია"
+
+msgid "ISRC"
+msgstr "ISRC"
+
+msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
+msgstr ""
+"ჩაწერის საერთაშორისო სტანდარტული კოდი - იხილეთ http://www.ifpi.org/isrc/"
+
+msgid "organization"
+msgstr "ორგანიზაცია"
+
+msgid "copyright"
+msgstr "უფლებები"
+
+msgid "copyright notice of the data"
+msgstr "მონაცემების საავტორო უფლებები"
+
+msgid "copyright uri"
+msgstr "საავტორო უფლებების URI"
+
+msgid "URI to the copyright notice of the data"
+msgstr "საავტორო უფლებების შემცველი ტექსტის URI-ი"
+
+msgid "encoded by"
+msgstr "კოდირების ავტორი"
+
+msgid "name of the encoding person or organization"
+msgstr "კოდირების ავტორი პერსონის ან ორგანიზაციის სახელი"
+
+msgid "contact"
+msgstr "კონტაქტი"
+
+msgid "contact information"
+msgstr "საკონტაქტო ინფორმაცია"
+
+msgid "license"
+msgstr "ლიცენზია"
+
+msgid "license of data"
+msgstr "მონაცემების ლიცენზია"
+
+msgid "license uri"
+msgstr "ლიცენზიის URI"
+
+msgid "URI to the license of the data"
+msgstr "მონაცემების ლიცენზიის URI"
+
+msgid "performer"
+msgstr "შემსრულებელი"
+
+msgid "person(s) performing"
+msgstr "შემსრულებლები"
+
+msgid "composer"
+msgstr "კომპოზიტორი"
+
+msgid "person(s) who composed the recording"
+msgstr "ჩანაწერის კომპოზიტორი"
+
+msgid "conductor"
+msgstr "დირიჟორი"
+
+msgid "conductor/performer refinement"
+msgstr "დირიჟორი"
+
+msgid "duration"
+msgstr "ხანგრძლივობა"
+
+msgid "length in GStreamer time units (nanoseconds)"
+msgstr "ხანგრძლივობა GStreamer-ის დროის ერთეულებში (ნანოწამებში)"
+
+msgid "codec"
+msgstr "კოდეკი"
+
+msgid "codec the data is stored in"
+msgstr "მონაცემების კოდეკი"
+
+msgid "video codec"
+msgstr "ვიდეო კოდეკი"
+
+msgid "codec the video data is stored in"
+msgstr "მონაცემების ვიდეო კოდეკი"
+
+msgid "audio codec"
+msgstr "აუდიო კოდეკი"
+
+msgid "codec the audio data is stored in"
+msgstr "მონაცემების აუდიო კოდეკი"
+
+msgid "subtitle codec"
+msgstr "სუბტიტრების კოდეკი"
+
+msgid "codec the subtitle data is stored in"
+msgstr "მონაცემების სუბტიტრების კოდეკი"
+
+msgid "container format"
+msgstr "კონტეინერის ფორმატი"
+
+msgid "container format the data is stored in"
+msgstr "მონაცემების კონტეინერის ფორმატი"
+
+msgid "bitrate"
+msgstr "სიჩქარე"
+
+msgid "exact or average bitrate in bits/s"
+msgstr "ზუსტი ან საშუალო სიჩქარე (ბიტი/წმ)"
+
+msgid "nominal bitrate"
+msgstr "ნომინალური სიჩქარე"
+
+msgid "nominal bitrate in bits/s"
+msgstr "ნომინალური სიჩქარე (ბიტი/წმ)"
+
+msgid "minimum bitrate"
+msgstr "მინიმალური სიჩქარე"
+
+msgid "minimum bitrate in bits/s"
+msgstr "მინიმალური სიჩქარე (ბიტი/წმ)"
+
+msgid "maximum bitrate"
+msgstr "მაქსიმალური სიჩქარე"
+
+msgid "maximum bitrate in bits/s"
+msgstr "მაქსიმალური სიჩქარე (ბიტი/წმ)"
+
+msgid "encoder"
+msgstr "ენკოდერი"
+
+msgid "encoder used to encode this stream"
+msgstr "ამ ნაკადის გადაყვანად გამოყენებული ენკოდერი"
+
+msgid "encoder version"
+msgstr "ენკოდერის ვერსია"
+
+msgid "version of the encoder used to encode this stream"
+msgstr "ამ ნაკადის გადასაყვანად გამოყენებული ენკოდერი"
+
+msgid "serial"
+msgstr "სერიული ნომერი"
+
+msgid "serial number of track"
+msgstr "ტრეკის სერიული ნომერი"
+
+msgid "replaygain track gain"
+msgstr ""
+
+msgid "track gain in db"
+msgstr ""
+
+msgid "replaygain track peak"
+msgstr ""
+
+msgid "peak of the track"
+msgstr ""
+
+msgid "replaygain album gain"
+msgstr ""
+
+msgid "album gain in db"
+msgstr ""
+
+msgid "replaygain album peak"
+msgstr ""
+
+msgid "peak of the album"
+msgstr ""
+
+msgid "replaygain reference level"
+msgstr ""
+
+msgid "reference level of track and album gain values"
+msgstr ""
+
+msgid "language code"
+msgstr "ენის კოდი"
+
+msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
+msgstr ""
+
+msgid "language name"
+msgstr "ენის სახელი"
+
+msgid "freeform name of the language this stream is in"
+msgstr ""
+
+msgid "image"
+msgstr "გამოსახულება"
+
+msgid "image related to this stream"
+msgstr ""
+
+#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
+msgid "preview image"
+msgstr "გამოსახულების გადახედვა"
+
+msgid "preview image related to this stream"
+msgstr ""
+
+msgid "attachment"
+msgstr "მიმაგრება"
+
+msgid "file attached to this stream"
+msgstr ""
+
+msgid "beats per minute"
+msgstr "ტაქტი წუთში"
+
+msgid "number of beats per minute in audio"
+msgstr ""
+
+msgid "keywords"
+msgstr "საკვანძო სიტყვები"
+
+msgid "comma separated keywords describing the content"
+msgstr ""
+
+msgid "geo location name"
+msgstr "გელოკაციის სახელი"
+
+msgid ""
+"human readable descriptive location of where the media has been recorded or "
+"produced"
+msgstr ""
+"ადამიანისთვის გასაგები სახელი ადგილისა, სადაც ეს მედია ჩაიწერა ან გამოიცა"
+
+msgid "geo location latitude"
+msgstr "გეოლოკაციის განედი"
+
+msgid ""
+"geo latitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the equator, negative values for "
+"southern latitudes)"
+msgstr ""
+"გეოლოკაციის განედი, სადაც ეს მედია ჩაიწერა ან გამოიცა (WGS84 (0 ეკვატორთან, "
+"უარყოფითი სამხრეთ ნახევარსფეროში))"
+
+msgid "geo location longitude"
+msgstr "გეოლოკაციის გრძედი"
+
+msgid ""
+"geo longitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
+"negative values for western longitudes)"
+msgstr ""
+"გეოლოკაციის გრძედი, სადაც ეს მედია ჩაიწერა ან გამოიცა (WGS84 (0 ნულოვან "
+"სარტყელთან, უარყოფითი მნიშვნელობა დასავლეთ გრძედებში))"
+
+msgid "geo location elevation"
+msgstr "გეოლოკაციის სიმაღლე"
+
+msgid ""
+"geo elevation of where the media has been recorded or produced in meters "
+"according to WGS84 (zero is average sea level)"
+msgstr ""
+"გეოლოკაციის სიმაღლე, სადაც ეს მედია ჩაიწერა ან გამოიცა (WGS84 (0 ზღვის დონეა)"
+
+msgid "geo location country"
+msgstr "ქვეყნის გეოლოკაცია"
+
+msgid "country (english name) where the media has been recorded or produced"
+msgstr "ქვეყანა, სადაც ეს მედია ჩაიწერა ან გამოიცა"
+
+msgid "geo location city"
+msgstr "ქალაქის გეოლოკაცია"
+
+msgid "city (english name) where the media has been recorded or produced"
+msgstr "ქალაქის სახელი(ინგლისურად), სადაც ეს მედია ჩაიწერა ან გამოიცა"
+
+msgid "geo location sublocation"
+msgstr "გეოლოკაციის ქველოკაცია"
+
+msgid ""
+"a location within a city where the media has been produced or created (e.g. "
+"the neighborhood)"
+msgstr ""
+"მდებარეობა ქალაქის შიგნით, სადაც ეს მედია ჩაიწერა ან გამოიცა (მაგ: უბნის "
+"სახელი)"
+
+msgid "geo location horizontal error"
+msgstr "გეოლოკაციის ჰორიზონტალური შეცდომა"
+
+msgid "expected error of the horizontal positioning measures (in meters)"
+msgstr ""
+
+msgid "geo location movement speed"
+msgstr "გეოლოკაციის გადაადგილების სიჩქარე"
+
+msgid ""
+"movement speed of the capturing device while performing the capture in m/s"
+msgstr ""
+
+msgid "geo location movement direction"
+msgstr "გეოლოკაციის მოძრაობის მიმართულება"
+
+msgid ""
+"indicates the movement direction of the device performing the capture of a "
+"media. It is represented as degrees in floating point representation, 0 "
+"means the geographic north, and increases clockwise"
+msgstr ""
+
+msgid "geo location capture direction"
+msgstr "გეოლოკაციის ჩაწერის მიმართულება"
+
+msgid ""
+"indicates the direction the device is pointing to when capturing  a media. "
+"It is represented as degrees in floating point  representation, 0 means the "
+"geographic north, and increases clockwise"
+msgstr ""
+
+#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
+msgid "show name"
+msgstr "სახელის ჩვენება"
+
+msgid "Name of the tv/podcast/series show the media is from"
+msgstr ""
+
+#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
+msgid "show sortname"
+msgstr "დასალაგებელი სახელის ჩვენება"
+
+msgid ""
+"Name of the tv/podcast/series show the media is from, for sorting purposes"
+msgstr ""
+
+msgid "episode number"
+msgstr "ეპიზოდის ნომერი"
+
+msgid "The episode number in the season the media is part of"
+msgstr ""
+
+msgid "season number"
+msgstr "სეზონის ნომერი"
+
+msgid "The season number of the show the media is part of"
+msgstr ""
+
+msgid "lyrics"
+msgstr "ლირიკა"
+
+msgid "The lyrics of the media, commonly used for songs"
+msgstr ""
+
+msgid "composer sortname"
+msgstr ""
+
+msgid "person(s) who composed the recording, for sorting purposes"
+msgstr ""
+
+msgid "grouping"
+msgstr "დაჯგუფება"
+
+msgid ""
+"Groups related media that spans multiple tracks, like the different pieces "
+"of a concerto. It is a higher level than a track, but lower than an album"
+msgstr ""
+
+msgid "user rating"
+msgstr "მომხმარებლის შეფასება"
+
+msgid ""
+"Rating attributed by a user. The higher the rank, the more the user likes "
+"this media"
+msgstr ""
+
+msgid "device manufacturer"
+msgstr "მოწყობილობის მწარმოებელი"
+
+msgid "Manufacturer of the device used to create this media"
+msgstr ""
+
+msgid "device model"
+msgstr "მოწყობილობის მოდელი"
+
+msgid "Model of the device used to create this media"
+msgstr ""
+
+msgid "application name"
+msgstr "აპლიკაციის სახელი"
+
+msgid "Application used to create the media"
+msgstr "ამ მედიის შესაქმნელად გამოყენებული აპლიკაცია"
+
+msgid "application data"
+msgstr "აპლიკაციის მონაცემები"
+
+msgid "Arbitrary application data to be serialized into the media"
+msgstr ""
+
+msgid "image orientation"
+msgstr "გამოსახულების ორიენტაცია"
+
+msgid "How the image should be rotated or flipped before display"
+msgstr ""
+
+msgid "publisher"
+msgstr "გამომცემელი"
+
+msgid "Name of the label or publisher"
+msgstr "გამომცემლის ან ლეიბლის სახელი"
+
+msgid "interpreted-by"
+msgstr "ინტერპრეტატორი"
+
+msgid "Information about the people behind a remix and similar interpretations"
+msgstr ""
+
+msgid "midi-base-note"
+msgstr "midi-base-note"
+
+msgid "Midi note number of the audio track."
+msgstr "აუდიო ბილიკის MIDI ნომერი."
+
+msgid "private-data"
+msgstr "private-data"
+
+msgid "Private data"
+msgstr "პირადი მონაცემები"
+
+#. separator between two strings
+msgid ", "
+msgstr ", "
+
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "არასწორი URI: %s"
+
+#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr "URI-ს სქემა %s მხარდაუჭერელია"
+
+#, c-format
+msgid "ERROR: from element %s: %s\n"
+msgstr "შეცდომა: ელემენტიდან %s: %s\n"
+
+#, c-format
+msgid ""
+"Additional debug info:\n"
+"%s\n"
+msgstr ""
+"გამართვის დამატებითი ინფორმაცია:\n"
+"%s\n"
+
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
+#, c-format
+msgid "link has no source [sink=%s@%p]"
+msgstr ""
+
+#, c-format
+msgid "link has no sink [source=%s@%p]"
+msgstr ""
+
+msgid "No such property."
+msgstr ""
+
+#, c-format
+msgid "no property \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "ელემენტი \"%s\" არ არსებობს"
+
+#, c-format
+msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
+msgstr ""
+
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
+msgid "Delayed linking failed."
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s, %s can't handle caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s, neither element can handle caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s with caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s"
+msgstr ""
+
+#, c-format
+msgid "unexpected reference \"%s\" - ignoring"
+msgstr ""
+
+#, c-format
+msgid "unexpected pad-reference \"%s\" - ignoring"
+msgstr ""
+
+#, c-format
+msgid "could not parse caps \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no sink element for URI \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no source element for URI \"%s\""
+msgstr ""
+
+msgid "syntax error"
+msgstr "სინტაქსური შეცდომა"
+
+#, c-format
+msgid "specified empty bin \"%s\", not allowed"
+msgstr ""
+
+#, c-format
+msgid "no bin \"%s\", unpacking elements"
+msgstr ""
+
+msgid "empty pipeline not allowed"
+msgstr ""
+
+msgid "Pipeline construction is invalid, please add queues."
+msgstr ""
+
+msgid "A lot of buffers are being dropped."
+msgstr ""
+
+msgid "Internal data flow problem."
+msgstr "მონაცემების შიდა დინების პრობლემა."
+
+msgid "Internal data flow error."
+msgstr "მონაცემების შიდა დინების შეცდომა."
+
+msgid "Internal clock error."
+msgstr "შიდა საათის შეცდომა."
+
+msgid "Failed to map buffer."
+msgstr "ბაფერის დადების შეცდომა."
+
+msgid "Filter caps"
+msgstr ""
+
+msgid ""
+"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
+"property takes a reference to the supplied GstCaps object."
+msgstr ""
+
+msgid "Caps Change Mode"
+msgstr ""
+
+msgid "Filter caps change behaviour"
+msgstr ""
+
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+msgid "Error while writing to download file."
+msgstr ""
+
+msgid "No file name specified for writing."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for writing."
+msgstr ""
+
+#, c-format
+msgid "Error closing file \"%s\"."
+msgstr "ფაილის (%s) დახურვის შეცდომა."
+
+#, c-format
+msgid "Error while seeking in file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Error while writing to file \"%s\"."
+msgstr ""
+
+msgid "No file name specified for reading."
+msgstr ""
+
+#, c-format
+msgid "Could not get info on \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "\"%s\" is a directory."
+msgstr "\"%s\" საქაღალდეა."
+
+#, c-format
+msgid "File \"%s\" is a socket."
+msgstr "ფაილი \"%s\" სოკეტია."
+
+msgid "Failed after iterations as requested."
+msgstr ""
+
+msgid "eos-after and error-after can't both be defined."
+msgstr ""
+
+msgid "caps"
+msgstr ""
+
+msgid "detected capabilities in stream"
+msgstr ""
+
+msgid "minimum"
+msgstr "მინიმუმი"
+
+msgid "force caps"
+msgstr ""
+
+msgid "force caps without doing a typefind"
+msgstr ""
+
+msgid "Stream doesn't contain enough data."
+msgstr ""
+
+msgid "Stream contains no data."
+msgstr ""
+
+#, c-format
+msgid "%sImplemented Interfaces%s:\n"
+msgstr ""
+
+msgid "readable"
+msgstr "კითხვადი"
+
+msgid "writable"
+msgstr "ჩაწერადი"
+
+msgid "deprecated"
+msgstr "მოძველებული"
+
+msgid "controllable"
+msgstr "კონტროლირებადი"
+
+msgid "conditionally available"
+msgstr "პირობითად ხელმისაწვდომი"
+
+msgid "changeable in NULL, READY, PAUSED or PLAYING state"
+msgstr "შეცვლადია NULL, READY, PAUSED და PLAYING მდგომარეობაში"
+
+msgid "changeable only in NULL, READY or PAUSED state"
+msgstr "შეცვლადია მხოლოდ NULL, READY ან PAUSED მდგომარეობაში"
+
+msgid "changeable only in NULL or READY state"
+msgstr "შეცვლადია მხოლოდ NULL ან READY მდგომარეობაში"
+
+msgid "Blacklisted files:"
+msgstr "შავ სიაში ჩასმული ფაილები:"
+
+#, c-format
+msgid "%sTotal count%s: %s"
+msgstr "%sსრული რაოდენობა%s: %s"
+
+#, c-format
+msgid "%d blacklisted file"
+msgid_plural "%d blacklisted files"
+msgstr[0] "%d შავ სიაში ჩასმული ფაილიკი"
+msgstr[1] "%d შავ სიაში ჩასმული ფაილიკი"
+
+#, c-format
+msgid "%d plugin"
+msgid_plural "%d plugins"
+msgstr[0] "%d დამატება"
+msgstr[1] "%d დამატება"
+
+#, c-format
+msgid "%d blacklist entry"
+msgid_plural "%d blacklist entries"
+msgstr[0] "%d შავი სიის ჩანაწერი"
+msgstr[1] "%d შავი სიის ჩანაწერი"
+
+#, c-format
+msgid "%d feature"
+msgid_plural "%d features"
+msgstr[0] "%d თვისება"
+msgstr[1] "%d თვისება"
+
+msgid "Print all elements"
+msgstr "ყველა ელემენტის გამოტანა"
+
+msgid "Print list of blacklisted files"
+msgstr "ყველა გაშავებული ფაილის სიის ჩვენება"
+
+msgid ""
+"Print a machine-parsable list of features the specified plugin or all "
+"plugins provide.\n"
+"                                       Useful in connection with external "
+"automatic plugin installation mechanisms"
+msgstr ""
+
+msgid "List the plugin contents"
+msgstr "დამატების შემცველობის ჩვენება"
+
+msgid ""
+"A slashes ('/') separated list of types of elements (also known as klass) to "
+"list. (unordered)"
+msgstr ""
+
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
+msgid "Print supported URI schemes, with the elements that implement them"
+msgstr ""
+
+msgid ""
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
+msgstr ""
+
+#, c-format
+msgid "Could not load plugin file: %s\n"
+msgstr "დამატების ფაილის ჩატვირთვა შეუძლებელია: %s\n"
+
+#, c-format
+msgid "No such element or plugin '%s'\n"
+msgstr ""
+
+msgid "Index statistics"
+msgstr "ინდექსის სტატისტიკა"
+
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr ""
+
+#, c-format
+msgid "Got message #%u from element \"%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u from pad \"%s:%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u from object \"%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got EOS from element \"%s\".\n"
+msgstr ""
+
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
+#, c-format
+msgid "FOUND TAG      : found by element \"%s\".\n"
+msgstr "ნაპოვნია ჭდე      : იპოვნა ელემენტმა \"%s\".\n"
+
+#, c-format
+msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
+msgstr "ნაპოვნია ჭდე      : იპოვნა PAD-მა \"%s:%s\".\n"
+
+#, c-format
+msgid "FOUND TAG      : found by object \"%s\".\n"
+msgstr "ნაპოვნია ჭდე      : იპოვნა ობიექტმა \"%s\".\n"
+
+msgid "FOUND TAG\n"
+msgstr "ნაპოვნია ჭდე\n"
+
+#, c-format
+msgid "FOUND TOC      : found by element \"%s\".\n"
+msgstr "ნაპოვნია სარჩევი      : იპოვნა ელემენტმა \"%s\".\n"
+
+#, c-format
+msgid "FOUND TOC      : found by object \"%s\".\n"
+msgstr "ნაპოვნია სარჩევი      : იპოვნა ობიექტმა \"%s\".\n"
+
+msgid "FOUND TOC\n"
+msgstr "ნაპოვნია სარჩევი\n"
+
+#, c-format
+msgid ""
+"INFO:\n"
+"%s\n"
+msgstr ""
+"ინფორმაცია:\n"
+"%s\n"
+
+#, c-format
+msgid "WARNING: from element %s: %s\n"
+msgstr ""
+
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
+msgid "Prerolled, waiting for buffering to finish...\n"
+msgstr ""
+
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
+msgid "buffering..."
+msgstr "ბუფერის შევსება..."
+
+msgid "Done buffering, setting pipeline to PLAYING ...\n"
+msgstr ""
+
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
+msgid "Buffering, setting pipeline to PAUSED ...\n"
+msgstr ""
+
+msgid "Redistribute latency...\n"
+msgstr ""
+
+#, c-format
+msgid "Setting state to %s as requested by %s...\n"
+msgstr ""
+
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
+msgid "Interrupt: Stopping pipeline ...\n"
+msgstr ""
+
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr "მიმდინარეობა (%s) %s\n"
+
+#, c-format
+msgid "Missing element: %s\n"
+msgstr "ნაკლული ელემენტი: %s\n"
+
+#, c-format
+msgid "Got context from element '%s': %s=%s\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
+msgid "Output tags (also known as metadata)"
+msgstr ""
+
+msgid "Output TOC (chapters and editions)"
+msgstr ""
+
+msgid "Output status information and property notifications"
+msgstr ""
+
+msgid "Do not print any progress information"
+msgstr ""
+
+msgid "Output messages"
+msgstr "გამოტანილი შეტყობინებები"
+
+msgid ""
+"Do not output status information for the specified property if verbose "
+"output is enabled (can be used multiple times)"
+msgstr ""
+
+msgid "PROPERTY-NAME"
+msgstr ""
+
+msgid "Do not install a fault handler"
+msgstr ""
+
+msgid "Force EOS on sources before shutting the pipeline down"
+msgstr ""
+
+msgid "Gather and print index statistics"
+msgstr ""
+
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
+#, c-format
+msgid "ERROR: pipeline could not be constructed: %s.\n"
+msgstr ""
+
+msgid "ERROR: pipeline could not be constructed.\n"
+msgstr ""
+
+#, c-format
+msgid "WARNING: erroneous pipeline: %s\n"
+msgstr ""
+
+msgid "ERROR: the 'pipeline' element wasn't found.\n"
+msgstr ""
+
+msgid "Setting pipeline to PAUSED ...\n"
+msgstr ""
+
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
+
+msgid "Pipeline is live and does not need PREROLL ...\n"
+msgstr ""
+
+msgid "Pipeline is PREROLLING ...\n"
+msgstr ""
+
+msgid "Execution ended after %"
+msgstr ""
+
+msgid "Setting pipeline to NULL ...\n"
+msgstr ""
+
+msgid "Freeing pipeline ...\n"
+msgstr ""
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..ebd711e
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,1331 @@
+# Korea Translation for GStreamer
+# Copyright (C) 2021 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gstreamer package.
+# SooHyun Kim <soohyunkim@kw.ac.kr>, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2021-10-07 17:01+0900\n"
+"Last-Translator: SooHyun Kim <soohyunkim@kw.ac.kr>\n"
+"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgid "Print the GStreamer version"
+msgstr "GStreamer 버전 표시"
+
+msgid "Make all warnings fatal"
+msgstr "모든 경고를 치명적으로 하기"
+
+msgid "Print available debug categories and exit"
+msgstr "이용 가능한 디버그 카테고리 표시하고 나가기"
+
+msgid ""
+"Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
+msgstr ""
+
+msgid "LEVEL"
+msgstr "레벨"
+
+msgid ""
+"Comma-separated list of category_name:level pairs to set specific levels for "
+"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+msgstr ""
+"콤마로 구분된 category_name:level 쌍 목록으로 각각의 카테고리 마다 특정한 레"
+"벨을 지정할 수 있습니다. 예: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+
+msgid "LIST"
+msgstr "목록"
+
+msgid "Disable colored debugging output"
+msgstr "디버그 출력의 색상 표시 끄기"
+
+msgid ""
+"Changes coloring mode of the debug log. Possible modes: off, on, disable, "
+"auto, unix"
+msgstr ""
+"디버그 로그의 색상 모드를 변경합니다. 가능한 모드: off, on, disable, auto, "
+"unix"
+
+msgid "Disable debugging"
+msgstr "디버깅 끄기"
+
+msgid "Enable verbose plugin loading diagnostics"
+msgstr "상세한 플러그인 로딩 진단 활성화"
+
+msgid "Colon-separated paths containing plugins"
+msgstr "플러그인을 포함하는 콜론(:)으로 구분된 경로"
+
+msgid "PATHS"
+msgstr ""
+
+msgid ""
+"Comma-separated list of plugins to preload in addition to the list stored in "
+"environment variable GST_PLUGIN_PATH"
+msgstr ""
+
+msgid "PLUGINS"
+msgstr "플러그인"
+
+msgid "Disable trapping of segmentation faults during plugin loading"
+msgstr "플러그인 로드중에는 세그멘테이션 오류의 트랩을 중지"
+
+msgid "Disable updating the registry"
+msgstr "레지스트리 업데이트 중지"
+
+msgid "Disable spawning a helper process while scanning the registry"
+msgstr "레지스트리를 스캔하는 중에 헬퍼 프로세스의 소환 중지"
+
+msgid "GStreamer Options"
+msgstr "GStreamer 옵션"
+
+msgid "Show GStreamer Options"
+msgstr "GStreamer 옵션 보기"
+
+#, c-format
+msgid "Unknown option"
+msgstr "알 수 없는 옵션"
+
+msgid "GStreamer encountered a general core library error."
+msgstr "GStreamer가 일반적인 코어 라이브러리 오류를 만남."
+
+msgid ""
+"GStreamer developers were too lazy to assign an error code to this error."
+msgstr ""
+"이런, GStreamer 개발자들이 너무 게을러서 이 오류에 에러코드를 부여하지 못했습"
+"니다."
+
+msgid "Internal GStreamer error: code not implemented."
+msgstr "GStreamer 내부 오류: 코드 구현되지 않음."
+
+msgid ""
+"GStreamer error: state change failed and some element failed to post a "
+"proper error message with the reason for the failure."
+msgstr ""
+
+msgid "Internal GStreamer error: pad problem."
+msgstr "GStreamer 내부 오류: 패드 문제."
+
+msgid "Internal GStreamer error: thread problem."
+msgstr "GStreamer 내부 오류: 쓰레드 문제."
+
+msgid "GStreamer error: negotiation problem."
+msgstr "GStreamer 오류: 협상 문제."
+
+msgid "Internal GStreamer error: event problem."
+msgstr "GStreamer 내부 오류: 이벤트 문제."
+
+msgid "Internal GStreamer error: seek problem."
+msgstr "GStreamer 내부 오류: 탐색 문제."
+
+msgid "Internal GStreamer error: caps problem."
+msgstr "GStreamer 내부 오류: caps 문제."
+
+msgid "Internal GStreamer error: tag problem."
+msgstr "GStreamer 내부 오류: 태그 문제."
+
+msgid "Your GStreamer installation is missing a plug-in."
+msgstr "설치된 GStreamer에 플러그인이 없습니다."
+
+msgid "GStreamer error: clock problem."
+msgstr "GStreamer 오류: 클럭 문제."
+
+msgid ""
+"This application is trying to use GStreamer functionality that has been "
+"disabled."
+msgstr ""
+"이 어플리케이션은 사용이 중지된 GStreamer의 기능을 이용하려고 하고 있습니다."
+
+msgid "GStreamer encountered a general supporting library error."
+msgstr "GStreamer가 일반적인 지원 라이브러리 오류를 만남."
+
+msgid "Could not initialize supporting library."
+msgstr "지원 라이브러리를 초기화할 수 없음."
+
+msgid "Could not close supporting library."
+msgstr "지원 라이브러리를 닫을 수 없음."
+
+msgid "Could not configure supporting library."
+msgstr "지원 라이브러리를 설정할 수 없음."
+
+msgid "Encoding error."
+msgstr "인코딩 에러."
+
+msgid "GStreamer encountered a general resource error."
+msgstr "GStreamer가 일반적인 자원 오류를 만남."
+
+msgid "Resource not found."
+msgstr "리소스 찾을 수 없음."
+
+msgid "Resource busy or not available."
+msgstr "리소스가 바쁘거나 사용할 수 없습니다."
+
+msgid "Could not open resource for reading."
+msgstr "자원을 읽기를 위해 열 수 없음."
+
+msgid "Could not open resource for writing."
+msgstr "자원을 쓰기를 위해 열 수 없음."
+
+msgid "Could not open resource for reading and writing."
+msgstr "자원을 읽기와 쓰기를 위해 열 수 없음."
+
+msgid "Could not close resource."
+msgstr "자원을 닫을 수 없음."
+
+msgid "Could not read from resource."
+msgstr "자원에서 읽을 수 없음."
+
+msgid "Could not write to resource."
+msgstr "자원에 쓸 수 없음."
+
+msgid "Could not perform seek on resource."
+msgstr "자원에서 탐색을 할 수 없음."
+
+msgid "Could not synchronize on resource."
+msgstr "자원에 동기화를 할 수 없음."
+
+msgid "Could not get/set settings from/on resource."
+msgstr "자원에서 설정을 읽거나 쓸 수 없음."
+
+msgid "No space left on the resource."
+msgstr "자원에 남은 공간 없음."
+
+msgid "Not authorized to access resource."
+msgstr "자원에 접근 권한 없음."
+
+msgid "GStreamer encountered a general stream error."
+msgstr "GStreamer가 일반적인 스트림 오류를 만남."
+
+msgid "Element doesn't implement handling of this stream. Please file a bug."
+msgstr ""
+
+msgid "Could not determine type of stream."
+msgstr "스트림의 형식을 결정할 수 없습니다."
+
+msgid "The stream is of a different type than handled by this element."
+msgstr ""
+
+msgid "There is no codec present that can handle the stream's type."
+msgstr ""
+
+msgid "Could not decode stream."
+msgstr "스트림을 디코드할 수 없음."
+
+msgid "Could not encode stream."
+msgstr "스트림을 인코드할 수 없음."
+
+msgid "Could not demultiplex stream."
+msgstr "스트림을 디멀티플렉스 할 수 없음."
+
+msgid "Could not multiplex stream."
+msgstr "스트림을 멀티플렉스 할 수 없음."
+
+msgid "The stream is in the wrong format."
+msgstr "이 스트림은 잘못된 형식입니다."
+
+msgid "The stream is encrypted and decryption is not supported."
+msgstr "이 스트림은 암호화되었으며 복호화를 지원하지 않습니다."
+
+msgid ""
+"The stream is encrypted and can't be decrypted because no suitable key has "
+"been supplied."
+msgstr ""
+"이 스트림은 암호화되었고, 적합한 키가 제공되지 않았기 때문에 복호화될 수 없습"
+"니다."
+
+#, c-format
+msgid "No error message for domain %s."
+msgstr ""
+
+#, c-format
+msgid "No standard error message for domain %s and code %d."
+msgstr ""
+
+msgid "Selected clock cannot be used in pipeline."
+msgstr "파이프라인에 선택한 클락은 사용할 수 없습니다."
+
+#, c-format
+msgid "Error writing registry cache to %s: %s"
+msgstr ""
+
+msgid "title"
+msgstr "제목"
+
+msgid "commonly used title"
+msgstr "흔히 사용되는 제목"
+
+msgid "title sortname"
+msgstr "정렬을 위한 제목"
+
+msgid "commonly used title for sorting purposes"
+msgstr "정렬을 위해 사용되는 흔히 사용되는 제목"
+
+msgid "artist"
+msgstr "아티스트"
+
+msgid "person(s) responsible for the recording"
+msgstr "녹음에 참여한 사람들"
+
+msgid "artist sortname"
+msgstr "정렬을 위한 아티스트"
+
+msgid "person(s) responsible for the recording for sorting purposes"
+msgstr "정렬을 위해 사용되는 녹음에 참여한 사람들의 목록"
+
+msgid "album"
+msgstr "앨범"
+
+msgid "album containing this data"
+msgstr "이 데이터가 속하는 앨범"
+
+msgid "album sortname"
+msgstr ""
+
+msgid "album containing this data for sorting purposes"
+msgstr ""
+
+msgid "album artist"
+msgstr "앨범 아티스트"
+
+msgid "The artist of the entire album, as it should be displayed"
+msgstr ""
+
+msgid "album artist sortname"
+msgstr ""
+
+msgid "The artist of the entire album, as it should be sorted"
+msgstr ""
+
+msgid "date"
+msgstr ""
+
+msgid "date the data was created (as a GDate structure)"
+msgstr ""
+
+msgid "datetime"
+msgstr ""
+
+msgid "date and time the data was created (as a GstDateTime structure)"
+msgstr ""
+
+msgid "genre"
+msgstr "장르"
+
+msgid "genre this data belongs to"
+msgstr "이 데이터가 속하는 장르"
+
+msgid "comment"
+msgstr "주석"
+
+msgid "free text commenting the data"
+msgstr "이 데이터와 관련된 주석"
+
+msgid "extended comment"
+msgstr "확장된 주석"
+
+msgid "free text commenting the data in key=value or key[en]=comment form"
+msgstr ""
+
+msgid "track number"
+msgstr "트랙 순서"
+
+msgid "track number inside a collection"
+msgstr "모음집 안에서의 트랙 순서"
+
+msgid "track count"
+msgstr "트랙 개수"
+
+msgid "count of tracks inside collection this track belongs to"
+msgstr "이 트랙이 속하는 모음집의 트랙 개수"
+
+msgid "disc number"
+msgstr "디스크 순서"
+
+msgid "disc number inside a collection"
+msgstr ""
+
+msgid "disc count"
+msgstr "디스크 개수"
+
+msgid "count of discs inside collection this disc belongs to"
+msgstr ""
+
+msgid "location"
+msgstr ""
+
+msgid ""
+"Origin of media as a URI (location, where the original of the file or stream "
+"is hosted)"
+msgstr ""
+
+msgid "homepage"
+msgstr "홈페이지"
+
+msgid "Homepage for this media (i.e. artist or movie homepage)"
+msgstr ""
+
+msgid "description"
+msgstr "설명"
+
+msgid "short text describing the content of the data"
+msgstr ""
+
+msgid "version"
+msgstr "버전"
+
+msgid "version of this data"
+msgstr ""
+
+msgid "ISRC"
+msgstr "ISRC"
+
+msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
+msgstr "International Standard Recording Code - http://www.ifpi.org/isrc/ 참조"
+
+msgid "organization"
+msgstr "조직"
+
+msgid "copyright"
+msgstr "저작권"
+
+msgid "copyright notice of the data"
+msgstr ""
+
+msgid "copyright uri"
+msgstr "저작권 URI"
+
+msgid "URI to the copyright notice of the data"
+msgstr ""
+
+msgid "encoded by"
+msgstr "인코딩 한 사람"
+
+msgid "name of the encoding person or organization"
+msgstr "인코딩 한 사람이나 조직의 이름"
+
+msgid "contact"
+msgstr "연락처"
+
+msgid "contact information"
+msgstr "연락 정보"
+
+msgid "license"
+msgstr "라이선스"
+
+msgid "license of data"
+msgstr "데이터의 라이선스"
+
+msgid "license uri"
+msgstr "라이선스 URI"
+
+msgid "URI to the license of the data"
+msgstr ""
+
+msgid "performer"
+msgstr ""
+
+msgid "person(s) performing"
+msgstr ""
+
+msgid "composer"
+msgstr ""
+
+msgid "person(s) who composed the recording"
+msgstr ""
+
+msgid "conductor"
+msgstr ""
+
+msgid "conductor/performer refinement"
+msgstr ""
+
+msgid "duration"
+msgstr "길이"
+
+msgid "length in GStreamer time units (nanoseconds)"
+msgstr ""
+
+msgid "codec"
+msgstr "코덱"
+
+msgid "codec the data is stored in"
+msgstr ""
+
+msgid "video codec"
+msgstr "비디오 코덱"
+
+msgid "codec the video data is stored in"
+msgstr ""
+
+msgid "audio codec"
+msgstr "오디오 코덱"
+
+msgid "codec the audio data is stored in"
+msgstr ""
+
+msgid "subtitle codec"
+msgstr "자막 코덱"
+
+msgid "codec the subtitle data is stored in"
+msgstr ""
+
+msgid "container format"
+msgstr "컨테이너 포맷"
+
+msgid "container format the data is stored in"
+msgstr ""
+
+msgid "bitrate"
+msgstr "비트레이트"
+
+msgid "exact or average bitrate in bits/s"
+msgstr ""
+
+msgid "nominal bitrate"
+msgstr ""
+
+msgid "nominal bitrate in bits/s"
+msgstr ""
+
+msgid "minimum bitrate"
+msgstr "최소 비트레이트"
+
+msgid "minimum bitrate in bits/s"
+msgstr "최소 비트레이트 (bits/s)"
+
+msgid "maximum bitrate"
+msgstr "최대 비트레이트"
+
+msgid "maximum bitrate in bits/s"
+msgstr "최대 비트레이트 (bits/s)"
+
+msgid "encoder"
+msgstr "인코더"
+
+msgid "encoder used to encode this stream"
+msgstr ""
+
+msgid "encoder version"
+msgstr "인코더 버전"
+
+msgid "version of the encoder used to encode this stream"
+msgstr ""
+
+msgid "serial"
+msgstr ""
+
+msgid "serial number of track"
+msgstr ""
+
+msgid "replaygain track gain"
+msgstr ""
+
+msgid "track gain in db"
+msgstr ""
+
+msgid "replaygain track peak"
+msgstr ""
+
+msgid "peak of the track"
+msgstr "트랙의 피크"
+
+msgid "replaygain album gain"
+msgstr ""
+
+msgid "album gain in db"
+msgstr "앨범의 이득 값 (dB)"
+
+msgid "replaygain album peak"
+msgstr ""
+
+msgid "peak of the album"
+msgstr "앨범의 피크"
+
+msgid "replaygain reference level"
+msgstr ""
+
+msgid "reference level of track and album gain values"
+msgstr ""
+
+msgid "language code"
+msgstr "언어 코드"
+
+msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
+msgstr "ISO-639-1 혹은 ISO-639-2에 따른 이 스트림의 언어 코드"
+
+msgid "language name"
+msgstr "언어 이름"
+
+msgid "freeform name of the language this stream is in"
+msgstr "이 스트림이 속하는 언어의 이름"
+
+msgid "image"
+msgstr ""
+
+msgid "image related to this stream"
+msgstr ""
+
+#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
+msgid "preview image"
+msgstr ""
+
+msgid "preview image related to this stream"
+msgstr ""
+
+msgid "attachment"
+msgstr ""
+
+msgid "file attached to this stream"
+msgstr ""
+
+msgid "beats per minute"
+msgstr ""
+
+msgid "number of beats per minute in audio"
+msgstr ""
+
+msgid "keywords"
+msgstr "키워드"
+
+msgid "comma separated keywords describing the content"
+msgstr ""
+
+msgid "geo location name"
+msgstr ""
+
+msgid ""
+"human readable descriptive location of where the media has been recorded or "
+"produced"
+msgstr ""
+
+msgid "geo location latitude"
+msgstr ""
+
+msgid ""
+"geo latitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the equator, negative values for "
+"southern latitudes)"
+msgstr ""
+
+msgid "geo location longitude"
+msgstr ""
+
+msgid ""
+"geo longitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
+"negative values for western longitudes)"
+msgstr ""
+
+msgid "geo location elevation"
+msgstr ""
+
+msgid ""
+"geo elevation of where the media has been recorded or produced in meters "
+"according to WGS84 (zero is average sea level)"
+msgstr ""
+
+msgid "geo location country"
+msgstr ""
+
+msgid "country (english name) where the media has been recorded or produced"
+msgstr ""
+
+msgid "geo location city"
+msgstr ""
+
+msgid "city (english name) where the media has been recorded or produced"
+msgstr ""
+
+msgid "geo location sublocation"
+msgstr ""
+
+msgid ""
+"a location within a city where the media has been produced or created (e.g. "
+"the neighborhood)"
+msgstr ""
+
+msgid "geo location horizontal error"
+msgstr ""
+
+msgid "expected error of the horizontal positioning measures (in meters)"
+msgstr ""
+
+msgid "geo location movement speed"
+msgstr ""
+
+msgid ""
+"movement speed of the capturing device while performing the capture in m/s"
+msgstr ""
+
+msgid "geo location movement direction"
+msgstr ""
+
+msgid ""
+"indicates the movement direction of the device performing the capture of a "
+"media. It is represented as degrees in floating point representation, 0 "
+"means the geographic north, and increases clockwise"
+msgstr ""
+
+msgid "geo location capture direction"
+msgstr ""
+
+msgid ""
+"indicates the direction the device is pointing to when capturing  a media. "
+"It is represented as degrees in floating point  representation, 0 means the "
+"geographic north, and increases clockwise"
+msgstr ""
+
+#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
+msgid "show name"
+msgstr ""
+
+msgid "Name of the tv/podcast/series show the media is from"
+msgstr ""
+
+#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
+msgid "show sortname"
+msgstr ""
+
+msgid ""
+"Name of the tv/podcast/series show the media is from, for sorting purposes"
+msgstr ""
+
+msgid "episode number"
+msgstr ""
+
+msgid "The episode number in the season the media is part of"
+msgstr ""
+
+msgid "season number"
+msgstr ""
+
+msgid "The season number of the show the media is part of"
+msgstr ""
+
+msgid "lyrics"
+msgstr ""
+
+msgid "The lyrics of the media, commonly used for songs"
+msgstr ""
+
+msgid "composer sortname"
+msgstr ""
+
+msgid "person(s) who composed the recording, for sorting purposes"
+msgstr ""
+
+msgid "grouping"
+msgstr ""
+
+msgid ""
+"Groups related media that spans multiple tracks, like the different pieces "
+"of a concerto. It is a higher level than a track, but lower than an album"
+msgstr ""
+
+msgid "user rating"
+msgstr "유저 평점"
+
+msgid ""
+"Rating attributed by a user. The higher the rank, the more the user likes "
+"this media"
+msgstr ""
+
+msgid "device manufacturer"
+msgstr "디바이스 제조사"
+
+msgid "Manufacturer of the device used to create this media"
+msgstr "이 미디어를 만들기 위해 사용한 장치의 제조사"
+
+msgid "device model"
+msgstr "디바이스 모델"
+
+msgid "Model of the device used to create this media"
+msgstr ""
+
+msgid "application name"
+msgstr "어플리케이션 이름"
+
+msgid "Application used to create the media"
+msgstr "미디어를 만들기 위해 사용한 어플리케이션"
+
+msgid "application data"
+msgstr ""
+
+msgid "Arbitrary application data to be serialized into the media"
+msgstr ""
+
+msgid "image orientation"
+msgstr ""
+
+msgid "How the image should be rotated or flipped before display"
+msgstr ""
+
+msgid "publisher"
+msgstr ""
+
+msgid "Name of the label or publisher"
+msgstr ""
+
+msgid "interpreted-by"
+msgstr ""
+
+msgid "Information about the people behind a remix and similar interpretations"
+msgstr ""
+
+msgid "midi-base-note"
+msgstr ""
+
+msgid "Midi note number of the audio track."
+msgstr ""
+
+msgid "private-data"
+msgstr ""
+
+msgid "Private data"
+msgstr ""
+
+#. separator between two strings
+msgid ", "
+msgstr ", "
+
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
+#, c-format
+msgid "No URI handler for the %s protocol found"
+msgstr ""
+
+#, c-format
+msgid "URI scheme '%s' not supported"
+msgstr ""
+
+#, c-format
+msgid "ERROR: from element %s: %s\n"
+msgstr ""
+
+#, c-format
+msgid ""
+"Additional debug info:\n"
+"%s\n"
+msgstr ""
+
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
+#, c-format
+msgid "link has no source [sink=%s@%p]"
+msgstr ""
+
+#, c-format
+msgid "link has no sink [source=%s@%p]"
+msgstr ""
+
+msgid "No such property."
+msgstr ""
+
+#, c-format
+msgid "no property \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr ""
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr ""
+
+#, c-format
+msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
+msgstr ""
+
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+
+msgid "Delayed linking failed."
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s, %s can't handle caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s, neither element can handle caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s with caps %s"
+msgstr ""
+
+#, c-format
+msgid "could not link %s to %s"
+msgstr ""
+
+#, c-format
+msgid "unexpected reference \"%s\" - ignoring"
+msgstr ""
+
+#, c-format
+msgid "unexpected pad-reference \"%s\" - ignoring"
+msgstr ""
+
+#, c-format
+msgid "could not parse caps \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no sink element for URI \"%s\""
+msgstr ""
+
+#, c-format
+msgid "no source element for URI \"%s\""
+msgstr ""
+
+msgid "syntax error"
+msgstr "문법 오류"
+
+#, c-format
+msgid "specified empty bin \"%s\", not allowed"
+msgstr ""
+
+#, c-format
+msgid "no bin \"%s\", unpacking elements"
+msgstr ""
+
+msgid "empty pipeline not allowed"
+msgstr "빈 파이프라인 허용되지 않음"
+
+msgid "Pipeline construction is invalid, please add queues."
+msgstr ""
+
+msgid "A lot of buffers are being dropped."
+msgstr ""
+
+msgid "Internal data flow problem."
+msgstr "내부 데이터 흐름 문제."
+
+msgid "Internal data flow error."
+msgstr "내부 데이터 흐름 오류."
+
+msgid "Internal clock error."
+msgstr "내부 클락 오류."
+
+msgid "Failed to map buffer."
+msgstr ""
+
+msgid "Filter caps"
+msgstr ""
+
+msgid ""
+"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
+"property takes a reference to the supplied GstCaps object."
+msgstr ""
+
+msgid "Caps Change Mode"
+msgstr ""
+
+msgid "Filter caps change behaviour"
+msgstr ""
+
+msgid "No Temp directory specified."
+msgstr ""
+
+#, c-format
+msgid "Could not create temp file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for reading."
+msgstr ""
+
+msgid "Error while writing to download file."
+msgstr ""
+
+msgid "No file name specified for writing."
+msgstr ""
+
+#, c-format
+msgid "Could not open file \"%s\" for writing."
+msgstr ""
+
+#, c-format
+msgid "Error closing file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Error while seeking in file \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "Error while writing to file \"%s\"."
+msgstr ""
+
+msgid "No file name specified for reading."
+msgstr ""
+
+#, c-format
+msgid "Could not get info on \"%s\"."
+msgstr ""
+
+#, c-format
+msgid "\"%s\" is a directory."
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" is a socket."
+msgstr ""
+
+msgid "Failed after iterations as requested."
+msgstr ""
+
+msgid "eos-after and error-after can't both be defined."
+msgstr ""
+
+msgid "caps"
+msgstr ""
+
+msgid "detected capabilities in stream"
+msgstr ""
+
+msgid "minimum"
+msgstr ""
+
+msgid "force caps"
+msgstr ""
+
+msgid "force caps without doing a typefind"
+msgstr ""
+
+msgid "Stream doesn't contain enough data."
+msgstr ""
+
+msgid "Stream contains no data."
+msgstr ""
+
+#, c-format
+msgid "%sImplemented Interfaces%s:\n"
+msgstr ""
+
+msgid "readable"
+msgstr ""
+
+msgid "writable"
+msgstr ""
+
+msgid "deprecated"
+msgstr ""
+
+msgid "controllable"
+msgstr ""
+
+msgid "conditionally available"
+msgstr ""
+
+msgid "changeable in NULL, READY, PAUSED or PLAYING state"
+msgstr ""
+
+msgid "changeable only in NULL, READY or PAUSED state"
+msgstr ""
+
+msgid "changeable only in NULL or READY state"
+msgstr ""
+
+msgid "Blacklisted files:"
+msgstr "블랙리스트된 파일들:"
+
+#, c-format
+msgid "%sTotal count%s: %s"
+msgstr ""
+
+#, c-format
+msgid "%d blacklisted file"
+msgid_plural "%d blacklisted files"
+msgstr[0] "%d 개의 블랙리스트된 파일"
+
+#, c-format
+msgid "%d plugin"
+msgid_plural "%d plugins"
+msgstr[0] "%d개의 플러그인"
+
+#, c-format
+msgid "%d blacklist entry"
+msgid_plural "%d blacklist entries"
+msgstr[0] "%d개의 블랙리스트 목록"
+
+#, c-format
+msgid "%d feature"
+msgid_plural "%d features"
+msgstr[0] "%d개의 기능"
+
+msgid "Print all elements"
+msgstr "모든 요소 표시"
+
+msgid "Print list of blacklisted files"
+msgstr ""
+
+msgid ""
+"Print a machine-parsable list of features the specified plugin or all "
+"plugins provide.\n"
+"                                       Useful in connection with external "
+"automatic plugin installation mechanisms"
+msgstr ""
+
+msgid "List the plugin contents"
+msgstr "플러그인 내용 표시"
+
+msgid ""
+"A slashes ('/') separated list of types of elements (also known as klass) to "
+"list. (unordered)"
+msgstr ""
+
+msgid "Check if the specified element or plugin exists"
+msgstr ""
+
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
+msgstr ""
+
+msgid "Print supported URI schemes, with the elements that implement them"
+msgstr ""
+
+msgid ""
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
+msgstr "tty를 통해 보내지 않더라도 컬러로 출력."
+
+#, c-format
+msgid "Could not load plugin file: %s\n"
+msgstr "플러그인 파일을 불러올 수 없음: %s\n"
+
+#, c-format
+msgid "No such element or plugin '%s'\n"
+msgstr ""
+
+msgid "Index statistics"
+msgstr ""
+
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "파이프라인을 재생중으로 변경중 ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "오류: 파이프라인이 재생을 원하지 않음.\n"
+
+#, c-format
+msgid "Got message #%u from element \"%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u from pad \"%s:%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u from object \"%s\" (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got message #%u (%s): "
+msgstr ""
+
+#, c-format
+msgid "Got EOS from element \"%s\".\n"
+msgstr ""
+
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
+#, c-format
+msgid "FOUND TAG      : found by element \"%s\".\n"
+msgstr ""
+
+#, c-format
+msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
+msgstr ""
+
+#, c-format
+msgid "FOUND TAG      : found by object \"%s\".\n"
+msgstr ""
+
+msgid "FOUND TAG\n"
+msgstr "태그 찾음\n"
+
+#, c-format
+msgid "FOUND TOC      : found by element \"%s\".\n"
+msgstr ""
+
+#, c-format
+msgid "FOUND TOC      : found by object \"%s\".\n"
+msgstr ""
+
+msgid "FOUND TOC\n"
+msgstr "TOC 찾음\n"
+
+#, c-format
+msgid ""
+"INFO:\n"
+"%s\n"
+msgstr ""
+"ì •ë³´:\n"
+"%s\n"
+
+#, c-format
+msgid "WARNING: from element %s: %s\n"
+msgstr ""
+
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "파이프라인이 PREROLL됨...\n"
+
+msgid "Prerolled, waiting for buffering to finish...\n"
+msgstr ""
+
+msgid "Prerolled, waiting for progress to finish...\n"
+msgstr ""
+
+msgid "buffering..."
+msgstr "버퍼링..."
+
+msgid "Done buffering, setting pipeline to PLAYING ...\n"
+msgstr ""
+
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
+msgid "Buffering, setting pipeline to PAUSED ...\n"
+msgstr ""
+
+msgid "Redistribute latency...\n"
+msgstr ""
+
+#, c-format
+msgid "Setting state to %s as requested by %s...\n"
+msgstr ""
+
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
+msgid "Interrupt: Stopping pipeline ...\n"
+msgstr "인터럽트: 파이프라인 멈추는 중 ...\n"
+
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr "EOS 기다리는 중...\n"
+
+#, c-format
+msgid "Progress: (%s) %s\n"
+msgstr "진행: (%s) %s\n"
+
+#, c-format
+msgid "Missing element: %s\n"
+msgstr "없는 요소: %s\n"
+
+#, c-format
+msgid "Got context from element '%s': %s=%s\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "오류: 파이프라인이 PREROLL하기를 원하지 않음.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
+msgid "Output tags (also known as metadata)"
+msgstr ""
+
+msgid "Output TOC (chapters and editions)"
+msgstr ""
+
+msgid "Output status information and property notifications"
+msgstr ""
+
+msgid "Do not print any progress information"
+msgstr "어떠한 진행 정보도 표시하지 않기"
+
+msgid "Output messages"
+msgstr "출력 메시지"
+
+msgid ""
+"Do not output status information for the specified property if verbose "
+"output is enabled (can be used multiple times)"
+msgstr ""
+
+msgid "PROPERTY-NAME"
+msgstr ""
+
+msgid "Do not install a fault handler"
+msgstr "오류 핸들러 설치하지 않기"
+
+msgid "Force EOS on sources before shutting the pipeline down"
+msgstr ""
+
+msgid "Gather and print index statistics"
+msgstr ""
+
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
+#, c-format
+msgid "ERROR: pipeline could not be constructed: %s.\n"
+msgstr ""
+
+msgid "ERROR: pipeline could not be constructed.\n"
+msgstr ""
+
+#, c-format
+msgid "WARNING: erroneous pipeline: %s\n"
+msgstr ""
+
+msgid "ERROR: the 'pipeline' element wasn't found.\n"
+msgstr "오류: '파이프라인' 요소를 찾을 수 없음.\n"
+
+msgid "Setting pipeline to PAUSED ...\n"
+msgstr "파이프라인을 PAUSED로 만드는 중 ...\n"
+
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "파이프라인을 PAUSED로 만드는데 실패함.\n"
+
+msgid "Pipeline is live and does not need PREROLL ...\n"
+msgstr ""
+"파이프라인이 살아있으므로 PREROLL이 필요하지 않음 ...\n"
+"\n"
+
+msgid "Pipeline is PREROLLING ...\n"
+msgstr "파이프라인 PREROLLING중 ...\n"
+
+msgid "Execution ended after %"
+msgstr "다음 시간 이후 실행 마침 %"
+
+msgid "Setting pipeline to NULL ...\n"
+msgstr "파이프라인을 NULL로 만드는 중 ...\n"
+
+msgid "Freeing pipeline ...\n"
+msgstr "파이프라인 비우는 중 ...\n"
diff --git a/po/lt.po b/po/lt.po
index c6409e6..bd5e293 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.10.29.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2010-07-16 00:50+0300\n"
 "Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -15,8 +15,9 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
-"%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"(n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Virtaal 0.6.1\n"
 
 msgid "Print the GStreamer version"
@@ -94,6 +95,7 @@ msgstr "GStreamer parinktys"
 msgid "Show GStreamer Options"
 msgstr "Rodyti GStreamer parinktis"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Nežinoma parinktis"
 
@@ -836,9 +838,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -859,6 +866,9 @@ msgstr ""
 "Papildoma derinimo informacija:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -867,14 +877,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nenurodyta savybė „%s“ elemente „%s“"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Failas „%s“ yra lizdas."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nepavyko nustatyti savybės „%s“ elemente „%s“ į „%s“"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nėra elemento „%s“"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nepavyko nustatyti savybės „%s“ elemente „%s“ į „%s“"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "nepavyko nustatyti savybės „%s“ elemente „%s“ į „%s“"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -894,10 +923,6 @@ msgstr "nepavyko susieti %s su %s"
 msgid "could not link %s to %s"
 msgstr "nepavyko susieti %s su %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nėra elemento „%s“"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1058,6 +1083,10 @@ msgstr ""
 msgid "controllable"
 msgstr "valdomas"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "valdomas"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1139,8 +1168,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Išvesti palaikomas URI schemas su jas sukuriančiais elementais"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1154,6 +1186,12 @@ msgstr "Nėra tokio elemento arba įskiepio „%s“\n"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Nustatomas konvejeris į GROJAMA...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "KLAIDA: konvejeris nepradeda groti.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Gautas pranešimas #%u iš elemento „%s“ (%s): "
@@ -1174,6 +1212,9 @@ msgstr "Gautas pranešimas #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Gautas EOS iš elemento „%s“.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS gautas – stabdomas konvejeris...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "RASTA ŽYMA      : rasta elemento „%s“.\n"
@@ -1213,6 +1254,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ĮSPĖJIMAS: iš elemento %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Konvejeris PARUOÅ TAS...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Paruošta, laukiama kol bus sukurtas buferis...\n"
 
@@ -1226,6 +1270,7 @@ msgstr "kuriamas buferis..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Buferis sukurtas, konvejeris nustatomas GROJIMUI...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Kuriamas buferis, konvejeris nustatomas į PRISTABDYTĄ...\n"
 
@@ -1236,9 +1281,21 @@ msgstr "Perskirstyti gaišties laiką...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Nustatoma būsena į %s, kaip prašė %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Pertraukimas: stabdomas konvejeris...\n"
 
+#, fuzzy
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Pertraukimas: stabdomas konvejeris...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Įjungtas EOS išjungiant – priverstinai naudojama EOS konvejeryje\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Laukiama EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1251,6 +1308,16 @@ msgstr "nėra elemento „%s“"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "ĮSPĖJIMAS: iš elemento %s: %s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "KLAIDA: konvejeris nesileidžia paruošiamas.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Įvyko klaida laukiant EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Išvesti žymas (dar žinomas kaip metaduomenys)"
 
@@ -1283,6 +1350,17 @@ msgstr "Priverstinai naudoti EOS šaltiniuose prie išjungiant konvejerį"
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "KLAIDA: nepavyko sukurti konvejerio: %s.\n"
@@ -1300,8 +1378,9 @@ msgstr "KLAIDA: „pipeline“ elementas nerastas.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Nustatomas konvejeris į PRISTABDYTĄ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "KLAIDA: konvejeris nesileidžia pristabdomas.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nustatomas konvejeris į PRISTABDYTĄ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Konvejeris aktyvus ir nereikalauja PARUOÅ IMO...\n"
@@ -1309,90 +1388,40 @@ msgstr "Konvejeris aktyvus ir nereikalauja PARUOÅ IMO...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Konvejeris RUOÅ IAMAS...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "KLAIDA: konvejeris nesileidžia paruošiamas.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Konvejeris PARUOÅ TAS...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Nustatomas konvejeris į GROJAMA...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "KLAIDA: konvejeris nepradeda groti.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Įjungtas EOS išjungiant – priverstinai naudojama EOS konvejeryje\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Įjungtas EOS išjungiant – priverstinai naudojama EOS konvejeryje\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Laukiama EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS gautas – stabdomas konvejeris...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Pertraukimas: stabdomas konvejeris...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Įvyko klaida laukiant EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Vykdymas baigÄ—si po %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Nustatomas konvejeris į PARUOŠTA...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Nustatomas konvejeris į NULL...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Atlaisvinamas konvejeris...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Klaida užveriant failą „%s“."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Klaida užveriant failą „%s“."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Klaida rašant į failą „%s“."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Vidinė duomenų srauto klaida."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Neišvesti šio TIPO būsenos informacijos"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TIPAS1,TIPAS2,..."
-
 #~ msgid "link without source element"
 #~ msgstr "saitas be Å¡altinio elemento"
 
 #~ msgid "link without sink element"
 #~ msgstr "saitas be išvesties elemento"
 
+#, c-format
 #~ msgid "no element to link URI \"%s\" to"
 #~ msgstr "nėra elemento, su kuriuo susieti URI „%s“"
 
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Išvesti alloc sekimą (jei įjungta kompiliavimo metu)"
+#~ msgid "Internal data stream error."
+#~ msgstr "Vidinė duomenų srauto klaida."
+
+#~ msgid "maximum"
+#~ msgstr "didžiausios"
 
 #~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
 #~ msgstr ""
 #~ "Naudojimas: gst-xmllaunch <failas.xml> [ elementas.savybė=reikšmė ... ]\n"
 
+#, c-format
 #~ msgid "ERROR: parse of xml file '%s' failed.\n"
 #~ msgstr "KLAIDA: nepavyko perskaityti xml failo „%s“.\n"
 
+#, c-format
 #~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
 #~ msgstr "KLAIDA: nėra aukščiausio lygmens konvejerio elemento faile „%s“.\n"
 
@@ -1401,12 +1430,20 @@ msgstr "Atlaisvinamas konvejeris...\n"
 #~ "ĮSPĖJIMAS: šiuo metu palaikomas tik vienas aukščiausio lygmens "
 #~ "elementas.\n"
 
+#, c-format
 #~ msgid "ERROR: could not parse command line argument %d: %s.\n"
 #~ msgstr "KLAIDA: nepavyko apdoroti komandinÄ—s eilutÄ—s argumento %d: %s.\n"
 
+#, c-format
 #~ msgid "WARNING: element named '%s' not found.\n"
 #~ msgstr "ĮSPĖJIMAS: nerastas elementas „%s“.\n"
 
+#~ msgid "Do not output status information of TYPE"
+#~ msgstr "Neišvesti šio TIPO būsenos informacijos"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "TIPAS1,TIPAS2,..."
+
 #~ msgid "Save xml representation of pipeline to FILE and exit"
 #~ msgstr "Įrašyti konvejerio xml atitikmenį į FAILĄ ir išeiti"
 
@@ -1416,3 +1453,12 @@ msgstr "Atlaisvinamas konvejeris...\n"
 #~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
 #~ msgstr ""
 #~ "Neįdiegti signalų apdorojimo posistemės signalams SIGUSR1 ir SIGUSR2"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Išvesti alloc sekimą (jei įjungta kompiliavimo metu)"
+
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "KLAIDA: konvejeris nesileidžia pristabdomas.\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Nustatomas konvejeris į PARUOŠTA...\n"
diff --git a/po/nb.po b/po/nb.po
index 5480522..d301287 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2,23 +2,23 @@
 # This file is put in the public domain.
 #
 # Kjartan Maraas <kmaraas@gnome.org>, 2004-2010.
-# Johnny A. Solbu <johnny@solbu.net>, 2015-2017
+# Johnny A. Solbu <johnny@solbu.net>, 2015-2023
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-23 22:59+0200\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 14:22+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
-"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
+"Language-Team: Norwegian Bokmaal <l10n-no@lister.huftis.org>\n"
 "Language: nb_NO\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.7.1\n"
+"X-Generator: Poedit 2.2.3\n"
 
 msgid "Print the GStreamer version"
 msgstr "Skriv ut versjonsnummer for GStreamer"
@@ -95,6 +95,7 @@ msgstr "GStreamer-flagg"
 msgid "Show GStreamer Options"
 msgstr "Vis flagg for GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Ukjent flagg"
 
@@ -827,9 +828,14 @@ msgstr "private-data"
 msgid "Private data"
 msgstr "Private data"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Ugyldig URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Ingen URI-behandler for %s protokollen funnet"
@@ -850,6 +856,9 @@ msgstr ""
 "Tilleggsinformasjon for feilsøking:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "link har ingen slik kilde [sink=%s@%p]"
@@ -858,14 +867,33 @@ msgstr "link har ingen slik kilde [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "link har ingen slik sink [source=%s@%p]"
 
+msgid "No such property."
+msgstr "Egenskapen finnes ikke."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "ingen egenskap «%s» i element «%s»"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Elementet «%s» er ikke en GstPreset."
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "kunne ikke sette forhåndsinstilling «%s» i elementet «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "ingen element «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "kunne ikke sette egenskapen «%s» i elementet «%s» til «%s»"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "kunne ikke sette egenskapen «%s» i underordnet elementet «%s» til «%s»"
+
 msgid "Delayed linking failed."
 msgstr "Forsinket linking feilet."
 
@@ -887,10 +915,6 @@ msgstr "kunne ikke lenke %s til %s med store bokstaver %s"
 msgid "could not link %s to %s"
 msgstr "kunne ikke lenke %s til %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "ingen element «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "uventet referanse «%s» – ignorerer"
@@ -901,7 +925,7 @@ msgstr "uventet pad-referanse «%s» – ignorerer"
 
 #, c-format
 msgid "could not parse caps \"%s\""
-msgstr "kunne ikke analysere capskunne ikke analysere caps «%s»"
+msgstr "kunne ikke analysere caps «%s»"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
@@ -926,7 +950,7 @@ msgid "empty pipeline not allowed"
 msgstr "Tom rørledning ikke tillatt"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Datakanal-konstruksjon er ugyldig, vennligst legg til køer."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Mange av buffere blir droppet."
@@ -1011,7 +1035,7 @@ msgid "Failed after iterations as requested."
 msgstr "Mislyktes etter iterasjoner som forespurt."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after og error-after kan ikke begge være definert."
 
 msgid "caps"
 msgstr "caps"
@@ -1034,9 +1058,9 @@ msgstr "Strømmen inneholder ikke nok data."
 msgid "Stream contains no data."
 msgstr "Strømmen inneholder ikke data."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Implementerte grensesnitt:\n"
+msgstr "%sImplementerte grensesnitt%s:\n"
 
 msgid "readable"
 msgstr "lesbar"
@@ -1050,6 +1074,9 @@ msgstr "foreldet"
 msgid "controllable"
 msgstr "kontrollerbar"
 
+msgid "conditionally available"
+msgstr "betinget tilgjengelig"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "kan bare endres i NULL-, KLAR-, PAUSE- eller SPILLER-tilstand"
 
@@ -1062,9 +1089,9 @@ msgstr "kan bare endres i NULL-, eller KLAR-tilstand"
 msgid "Blacklisted files:"
 msgstr "Svartelistede filer:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Totalt antall: "
+msgstr "%sTotalt antall%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1131,9 +1158,14 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Skrive ut støttede URI-schemes, med elementer som implementerer dem"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Deaktiver farger i utdata. Du kan også oppnå det samme ved å stille inn "
+"miljøvariabelen «GST_INSPECT_NO_COLORS» til hvilken som helst verdi."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Fargeutgang, selv når det ikke sendes til en tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1146,6 +1178,12 @@ msgstr "Ingen slik element eller programtillegg '%s'\n"
 msgid "Index statistics"
 msgstr "Indeksstatistikk"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Setter rørledning til SPILLER ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FEIL: rørledningen vil ikke spille.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Fikk melding #%u fra element «%s» (%s): "
@@ -1166,6 +1204,9 @@ msgstr "Fikk melding #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Fikk EOS fra element «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS mottatt - stopper rørledning...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "FANT TAG      : funnet av element «%s».\n"
@@ -1204,6 +1245,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ADVARSEL: fra element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Rørledning er forberedt ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Forbereder, venter på at buffering fullfører ...\n"
 
@@ -1216,6 +1260,7 @@ msgstr "bufrer ..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Ferdig med bufring, setter rørledning til SPILLER\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Bufrer, setter rørledning til PAUSE ...\n"
 
@@ -1226,9 +1271,20 @@ msgstr "Redistribuer ventetid ...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Setter status til %s som foresåurt av  %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Avbrudd: Stopper rørledning ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Avbryt mens du venter på EOS - stopper rørledning...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS ved avslutning aktivert - Tvinger EOS på rørledningen\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Venter på EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Fremdrift: (%s) %s\n"
@@ -1241,6 +1297,16 @@ msgstr "Mangler element: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Fikk sammenheng fra element «%s»: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FEIL: rørledningen vil ikke forberede.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "En feil oppsto ved venting på EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Bruk Windows høyoppløselig klokke, presisjon: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "skriv ut tagger (også kjent som metadata)"
 
@@ -1275,6 +1341,24 @@ msgstr "Tvinge EOS på kilder før rørledningen stenges"
 msgid "Gather and print index statistics"
 msgstr "Samle og skriv ut indeksstatistikk"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Ikke skriv ut nåværende posisjon for rørledningen. Hvis dette alternativet "
+"er uspesifisert, blir posisjonen skrevet ut når std.ut er en TTY. For å "
+"aktivere utskriftsposisjon når std.ut ikke er en TTY, bruk «force-position»-"
+"alternativet "
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Tillat utskrift av nåværende posisjon av rørledningen, selv om standard ut "
+"er ikke en TTY. Dette alternativet har ingen effekt hvis alternativet \"no-"
+"position\" er spesifisert"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FEIL: rørledningen kunne ikke bygges: %s.\n"
@@ -1292,8 +1376,8 @@ msgstr "FEIL: elementet «rørledning» ble ike funnet.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Setter rørledning til PAUSE\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FEIL: rørledningen vil ikke pause\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Kunnen ikke sette rørledning til PAUSE\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Rørledningen er live og trenger ikke forberedelse\n"
@@ -1301,59 +1385,23 @@ msgstr "Rørledningen er live og trenger ikke forberedelse\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Rørledningen forbereder ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FEIL: rørledningen vil ikke forberede.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Rørledning er forberedt ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Setter rørledning til SPILLER ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FEIL: rørledningen vil ikke spille.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS ved avslutning aktivert - Tvinger EOS på rørledningen\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ved avslutning aktivert - venter på AOS etter feil\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Venter på EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS mottatt - stopper rørledning...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Avbryt mens du venter på EOS - stopper rørledning...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "En feil oppsto ved venting på EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Kjøring endte etter %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Setter rørledning til KLAR ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Setter rørledning til NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Frigjør rør ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Feil ved lukking av fil «%s»."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FEIL: rørledningen vil ikke pause\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Feil ved lukking av fil «%s»."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS ved avslutning aktivert - venter på AOS etter feil\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Feil ved skriving til fil «%s»."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Setter rørledning til KLAR ...\n"
 
 #~ msgid "bin"
 #~ msgstr "bin"
diff --git a/po/nl.po b/po/nl.po
index 90510c2..94dd657 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,13 +5,13 @@
 #
 # Thomas Vander Stichele <thomas@apestaart.org>, 2004.
 # Taco Witte <tcwitte@cs.uu.nl>, 2006.
-# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017.
+# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-10-24 22:53+0100\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-02-08 13:38+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 21.12.2\n"
 
 msgid "Print the GStreamer version"
 msgstr "Toon de GStreamer versie"
@@ -101,6 +101,7 @@ msgstr "GStreamer-opties"
 msgid "Show GStreamer Options"
 msgstr "Toon de GStreamer-opties"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Onbekende optie"
 
@@ -350,7 +351,7 @@ msgstr "uitgebreid commentaar"
 msgid "free text commenting the data in key=value or key[en]=comment form"
 msgstr ""
 "vrij te kiezen commentaartekst bij gegevens in de vorm key=waarde of "
-"key[en]=commentaar "
+"key[en]=commentaar"
 
 msgid "track number"
 msgstr "nummer"
@@ -383,7 +384,7 @@ msgid ""
 "Origin of media as a URI (location, where the original of the file or stream "
 "is hosted)"
 msgstr ""
-"oorsprong van het medium als een URI (locatie, waar de oorsprong van het "
+"Oorsprong van het medium als een URI (locatie, waar de oorsprong van het "
 "bestand of stroom wordt gehost)"
 
 msgid "homepage"
@@ -840,9 +841,14 @@ msgstr "privégegevens"
 msgid "Private data"
 msgstr "Privégegevens"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Ongeldige URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Geen behandelaar van de URI voor het protocol %s gevonden"
@@ -863,6 +869,9 @@ msgstr ""
 "Extra debug-informatie:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "link heeft geen bron [sink=%s@%p]"
@@ -871,14 +880,33 @@ msgstr "link heeft geen bron [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "link heeft geen sink [bron=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "geen eigenschap \"%s\" in element \"%s\""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Element \"%s\" is geen GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "kon voorinstelling \"%s\" in element \"%s\" niet instellen"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "geen element \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "kon eigenschap \"%s\" in element \"%s\" niet op \"%s\" instellen"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "kon eigenschap \"%s\" in element \"%s\" niet op \"%s\" instellen"
+
 msgid "Delayed linking failed."
 msgstr "Vertraagd koppelen is mislukt."
 
@@ -899,10 +927,6 @@ msgstr "kon %s niet koppelen naar %s met hoofdletters %s"
 msgid "could not link %s to %s"
 msgstr "kon %s niet verbinden met %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "geen element \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "onverwachte referentie \"%s\" - wordt genegeerd"
@@ -938,7 +962,7 @@ msgid "empty pipeline not allowed"
 msgstr "lege pijplijn niet toegelaten"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Pijplijn-constructie is ongeldig, voeg wachtrijen toe."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Er worden veel buffers gedropt."
@@ -1024,7 +1048,7 @@ msgid "Failed after iterations as requested."
 msgstr "Mislukt na iteraties zoals gevraagd."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after en error-after kunnen niet beiden gedefinieerd worden."
 
 msgid "caps"
 msgstr "mogelijkheden"
@@ -1047,9 +1071,9 @@ msgstr "Stream bevat niet genoeg gegevens."
 msgid "Stream contains no data."
 msgstr "Stroom zonder gegevens."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Geïmplementeerde interfaces:\n"
+msgstr "%sGeïmplementeerde interfaces%s:\n"
 
 msgid "readable"
 msgstr "leesbaar"
@@ -1063,6 +1087,9 @@ msgstr "verouderd"
 msgid "controllable"
 msgstr "controleerbaar"
 
+msgid "conditionally available"
+msgstr "voorwaardelijk beschikbaar"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "te veranderen in NUL, GEREED-, GEPAUZEERD- of SPEEL-status"
 
@@ -1075,9 +1102,9 @@ msgstr "alleen te veranderen in NUL of GEREED-status"
 msgid "Blacklisted files:"
 msgstr "Bestanden op de zwarte lijst:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Totaal aantal: "
+msgstr "%sTotaal aantal%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1145,9 +1172,14 @@ msgstr ""
 "Toon de ondersteunde URI-schema's met de elementen die deze implementeren"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Uitvoer in kleur uitschakelen. U kunt hetzelfde ook bereiken door de "
+"omgevingsvariabele 'GST_INSPECT_NO_COLORS' een waarde te geven."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Kleuruitvoer, zelfs wanneer niet verzenden naar een tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1160,6 +1192,12 @@ msgstr "Geen element of plugin '%s'\n"
 msgid "Index statistics"
 msgstr "Indexstatistieken"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Pijplijn gezet op afspelen ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FOUT: pijplijn wil niet afspelen.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Bericht #%u ontvangen uit element \"%s\" (%s): "
@@ -1180,6 +1218,9 @@ msgstr "Bericht #%u (%s) ontvangen: "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Einde-stroom ontvangen van element \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS ontvangen - pijplijn wordt gestopt...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "TAG GEVONDEN   : gevonden door element \"%s\".\n"
@@ -1218,6 +1259,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "WAARSCHUWING: van element %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Pijplijn klaar met PREROLL ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Voorbereid, wacht op gereedkomen van de buffering...\n"
 
@@ -1230,6 +1274,7 @@ msgstr "in buffer opslaan..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Buffering is gereed, pijplijn gezet op AFSPELEN ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Wordt gebufferd, pijplijn gezet op PAUZE ...\n"
 
@@ -1240,9 +1285,20 @@ msgstr "Herverdeel de vertraging...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Stel de status in op %s zoals verzocht door %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrupt: Pijplijn ingesteld op gestopt ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Interrupt bij wachten op EOS - pijplijn wordt gestopt...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS bij afsluiten ingeschakeld -- Forceer een EOS op de pijplijn\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Wacht op EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Voortgang: (%s) %s\n"
@@ -1255,6 +1311,16 @@ msgstr "ontbrekend element: \"%s\"\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Context verkregen van element '%s': %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FOUT: pijplijn wil niet PREROLL uitvoeren.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Er trad een fout op bij het wachten op EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Hoge resolutie klok van Windows gebruiken, precisie: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Tags (ook bekend als metadata) weergeven"
 
@@ -1289,6 +1355,24 @@ msgstr "Forceer een EOS op de bron bij het afsluiten van de pijplijn"
 msgid "Gather and print index statistics"
 msgstr "Verzamel en print indexstatistieken"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Niet de huidige positie van pijplijn afdrukken. Als deze optie niet is "
+"gespecificeerd zal de positie afgedrukt worden wanneer stdout een TTY is. Om "
+"afdrukken van positie in te schakelen wanneer stdout geen TTY is, gebruik "
+"optie \"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Afdrukken van huidige positie van pijplijn toestaan ook als stdout geen TTY "
+"is. Deze optie heeft geen effect als de optie \"no-position\" is "
+"gespecificeerd"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FOUT: pijplijn kon niet gemaakt worden: %s.\n"
@@ -1306,8 +1390,8 @@ msgstr "FOUT: het 'pijplijn' element werd niet gevonden.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Pijplijn gezet op gepauzeerd ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FOUT: pijplijn wil niet pauzeren.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Pijplijn zetten op GEPAUZEERD is mislukt.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Pijplijn klaar en heeft PREROLL niet nodig...\n"
@@ -1315,59 +1399,23 @@ msgstr "Pijplijn klaar en heeft PREROLL niet nodig...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Pijplijn is bezig met PREROLL ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FOUT: pijplijn wil niet PREROLL uitvoeren.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Pijplijn klaar met PREROLL ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Pijplijn gezet op afspelen ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FOUT: pijplijn wil niet afspelen.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS bij afsluiten ingeschakeld -- Forceer een EOS op de pijplijn\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS bij afsluiten ingeschakeld -- wacht op EOS na fout\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Wacht op EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS ontvangen - pijplijn wordt gestopt...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Interrupt bij wachten op EOS - pijplijn wordt gestopt...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Er trad een fout op bij het wachten op EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Uitvoering beëindigd na %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Pijplijn gezet op gereed ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Pijplijn gezet op NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Pijplijn wordt vrijgemaakt ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Fout bij het sluiten van bestand \"%s\"."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FOUT: pijplijn wil niet pauzeren.\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Fout bij het sluiten van bestand \"%s\"."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS bij afsluiten ingeschakeld -- wacht op EOS na fout\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Fout bij het schrijven naar bestand \"%s\"."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Pijplijn gezet op gereed ...\n"
 
 #~ msgid "bin"
 #~ msgstr "bin"
diff --git a/po/pl.po b/po/pl.po
index 9f9907f..ae5b22d 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
 # Polish translation for gstreamer.
 # This file is distributed under the same license as the gstreamer package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2019.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-01-24 21:45+0100\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 20:51+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
@@ -96,6 +96,7 @@ msgstr "Opcje GStreamera"
 msgid "Show GStreamer Options"
 msgstr "Pokazanie opcji GStreamera"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Nieznana opcja"
 
@@ -833,9 +834,14 @@ msgstr "dane-prywatne"
 msgid "Private data"
 msgstr "Dane prywatne"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Błędny URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Nie znaleziono sposobu obsługi URI dla protokołu %s"
@@ -856,6 +862,9 @@ msgstr ""
 "Dodatkowe informacje diagnostyczne:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "dowiązanie nie ma źródła [cel=%s@%p]"
@@ -864,14 +873,35 @@ msgstr "dowiązanie nie ma źródła [cel=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "dowiązanie nie ma celu [źródło=%s@%p]"
 
+msgid "No such property."
+msgstr "Nie ma takiej właściwości."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "brak właściwości \"%s\" w elemencie \"%s\""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Element \"%s\" to nie GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nie udało się ustawić predefiniowanego \"%s\" w elemencie \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "brak elementu \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nie udało się ustawić właściwości \"%s\" w elemencie \"%s\" na \"%s\""
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"nie udało się ustawić właściwości \"%s\" w elemencie potomnym \"%s\" na "
+"\"%s\""
+
 msgid "Delayed linking failed."
 msgstr "Opóźnione dowiązanie nie powiodło się."
 
@@ -892,10 +922,6 @@ msgstr "nie udało się dowiązać %s do %s z możliwościami %s"
 msgid "could not link %s to %s"
 msgstr "nie udało się dowiązać %s do %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "brak elementu \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "nieoczekiwane odniesienie \"%s\" - zignorowano"
@@ -1055,6 +1081,9 @@ msgstr "przestarzałe"
 msgid "controllable"
 msgstr "sterowanie"
 
+msgid "conditionally available"
+msgstr "warunkowo dostępne"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "możliwa zmiana w stanie NULL, GOTOWOŚĆ, PAUZOWANIE lub ODTWARZANIE"
 
@@ -1141,12 +1170,15 @@ msgstr ""
 "Wypisanie obsługiwanych schematów URI wraz z implementującymi je elementami"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Wyłączenie kolorów na wyjściu. Można to samo osiągnąć ustawiając na dowolną "
 "wartość zmienną środowiskową 'GST_INSPECT_NO_COLORS'."
 
+msgid "Color output, even when not sending to a tty."
+msgstr "Kolorowe wyjście, nawet jeśli nie jest wysyłane na terminal."
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Nie udało się wczytać pliku wtyczki: %s\n"
@@ -1158,6 +1190,12 @@ msgstr "Nie ma takiego elementu lub wtyczki '%s'\n"
 msgid "Index statistics"
 msgstr "Statystyki indeksu"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Ustawianie potoku na ODTWARZANIE...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "BŁĄD: potok odmawia odtwarzania.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Odebrano komunikat #%u od elementu \"%s\" (%s): "
@@ -1178,6 +1216,9 @@ msgstr "Odebrano komunikat #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Otrzymano EOS od elementu \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Otrzymano EOS - zatrzymywanie potoku...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ZNACZNIK       : znaleziony przez element \"%s\".\n"
@@ -1216,6 +1257,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "UWAGA: od elementu %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Potok jest PRZEWINIĘTY...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Przewinięto, czekanie na zakończenie buforowania...\n"
 
@@ -1228,6 +1272,7 @@ msgstr "buforowanie..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Buforowanie zakończone, ustawianie potoku na ODTWARZANIE...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Buforowanie, ustawianie potoku na PAUZOWANIE...\n"
 
@@ -1238,9 +1283,20 @@ msgstr "Rozprzestrzenianie opóźnień...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Ustawianie stanu na %s zgodnie z wymaganiem %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Przerwanie: Zatrzymywanie potoku...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Przerwanie podczas oczekiwania na EOS - zatrzymywanie potoku...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Włączony EOS przy wyłączaniu - wymuszanie EOS w potoku\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Oczekiwanie na EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Postęp: (%s) %s\n"
@@ -1253,6 +1309,17 @@ msgstr "Brak elementu: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Otrzymano kontekst od elementu '%s': %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "BŁĄD: potok odmawia przewinięcia.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Wystąpił błąd w trakcie oczekiwania na EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+"Użycie zegara wysokiej rozdzielczości systemu Windows, dokładność: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Wypisanie znaczników (znanych także jako metadane)"
 
@@ -1287,6 +1354,23 @@ msgstr "Wymuszanie EOS na źródłach przed zamknięciem potoku"
 msgid "Gather and print index statistics"
 msgstr "Zebranie i wypisanie statystyk indeksu"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Bez wypisywania bieżącego położenia potoku. Bez tej opcji położenie będzie "
+"wypisane, jeśli standardowym wyjściem jest terminal. Aby włączyć wypisywanie "
+"pozycji nie na terminal, można użyć opcji \"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Zezwolenie na wypisywanie bieżącego położenia potoku, nawet jeśli "
+"standardowym wyjściem nie jest terminal. Ta opcja nic nie robi, jeśli podano "
+"opcjÄ™ \"no-position\""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "BŁĄD: nie udało się skonstruować potoku: %s.\n"
@@ -1304,8 +1388,8 @@ msgstr "BŁĄD: nie znaleziono elementu 'pipeline'.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Ustawianie potoku na PAUZOWANIE...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "BŁĄD: potok odmawia pauzowania.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nie udało się ustawić potoku na PAUZOWANIE.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Potok jest na żywo i nie wymaga PRZEWINIĘCIA...\n"
@@ -1313,56 +1397,11 @@ msgstr "Potok jest na żywo i nie wymaga PRZEWINIĘCIA...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Potok jest PRZEWIJANY...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "BŁĄD: potok odmawia przewinięcia.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Potok jest PRZEWINIĘTY...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Ustawianie potoku na ODTWARZANIE...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "BŁĄD: potok odmawia odtwarzania.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Włączony EOS przy wyłączaniu - wymuszanie EOS w potoku\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Włączony EOS przy wyłączaniu - oczekiwanie na EOS po błędzie\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Oczekiwanie na EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Otrzymano EOS - zatrzymywanie potoku...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Przerwanie podczas oczekiwania na EOS - zatrzymywanie potoku...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Wystąpił błąd w trakcie oczekiwania na EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Wykonywanie zakończone po %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Ustawianie potoku na GOTOWOŚĆ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Ustawianie potoku na NULL...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Zwalnianie potoku...\n"
-
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "BÅ‚Ä…d tworzenia potoku: %s\n"
-
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Błąd odgałęziania procesu: %s\n"
-
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "BÅ‚Ä…d odczytu z konsoli: %s\n"
-
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "BÅ‚Ä…d zapisu na konsolÄ™: %s\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 8fb2c4b..f7ee5f2 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,7 +1,7 @@
 # Brazilian Portuguese translation of GStreamer.
-# Copyright (C) 2008-2016 Free Software Foundation, Inc.
+# Copyright (C) 2008-2021 Free Software Foundation, Inc.
 # This file is distributed under the same license as the GStreamer package.
-# Fabrício Godoy <skarllot@gmail.com>, 2008-2016.
+# Fabrício Godoy <skarllot@gmail.com>, 2008-2021.
 #
 # pipeline -> fila de processamento
 # sink -> consumidor
@@ -12,13 +12,14 @@
 # sources + sinks = pad
 # element + element + ... = bin
 # description of media formats = caps
+# handler -> controlador
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.7.90\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2016-05-06 18:23-0300\n"
+"Project-Id-Version: gstreamer-1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2021-09-25 15:17-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
 "net>\n"
@@ -26,7 +27,9 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 3.0\n"
 
 msgid "Print the GStreamer version"
 msgstr "Exibir a versão do GStreamer"
@@ -71,7 +74,7 @@ msgid "Disable debugging"
 msgstr "Desabilitar depuração"
 
 msgid "Enable verbose plugin loading diagnostics"
-msgstr "Habilitar diagnótico detalhado do carregamento do plug-in"
+msgstr "Habilitar diagnóstico detalhado do carregamento do plug-in"
 
 msgid "Colon-separated paths containing plugins"
 msgstr "Caminhos, separados por dois-pontos, de plug-ins"
@@ -107,6 +110,7 @@ msgstr "Opções do GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Exibir opções do GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opção desconhecida"
 
@@ -133,7 +137,7 @@ msgid "Internal GStreamer error: pad problem."
 msgstr "Erro interno no GStreamer: problema no Pad."
 
 msgid "Internal GStreamer error: thread problem."
-msgstr "Erro interno no GStreamer: problema no segmento (thread)."
+msgstr "Erro interno no GStreamer: problema na thread."
 
 msgid "GStreamer error: negotiation problem."
 msgstr "Erro no GStreamer: problema de negociação."
@@ -253,7 +257,7 @@ msgid "The stream is in the wrong format."
 msgstr "Esse fluxo está com um formato errado."
 
 msgid "The stream is encrypted and decryption is not supported."
-msgstr "O fluxo está criptografado e não há suporte a descriptografação."
+msgstr "O fluxo está criptografado e não há suporte a descriptografia."
 
 msgid ""
 "The stream is encrypted and can't be decrypted because no suitable key has "
@@ -282,13 +286,13 @@ msgid "title"
 msgstr "título"
 
 msgid "commonly used title"
-msgstr "título normalmente usado"
+msgstr "título normalmente utilizado"
 
 msgid "title sortname"
 msgstr "título para ordenação"
 
 msgid "commonly used title for sorting purposes"
-msgstr "título normalmente usado, para ordenação"
+msgstr "título normalmente utilizado, para ordenação"
 
 msgid "artist"
 msgstr "artista"
@@ -422,16 +426,16 @@ msgid "organization"
 msgstr "organização"
 
 msgid "copyright"
-msgstr "copyright"
+msgstr "direitos autorais"
 
 msgid "copyright notice of the data"
-msgstr "informação de copyright dos dados"
+msgstr "informação de direitos autorais dos dados"
 
 msgid "copyright uri"
-msgstr "URI do copyright"
+msgstr "URI dos direitos autorais"
 
 msgid "URI to the copyright notice of the data"
-msgstr "URI para a informação de copyright dos dados"
+msgstr "URI para a informação de direitos autorais dos dados"
 
 msgid "encoded by"
 msgstr "codificado por"
@@ -485,31 +489,31 @@ msgid "codec"
 msgstr "CODEC"
 
 msgid "codec the data is stored in"
-msgstr "CODEC usado nos dados"
+msgstr "CODEC utilizado nos dados"
 
 msgid "video codec"
 msgstr "CODEC de vídeo"
 
 msgid "codec the video data is stored in"
-msgstr "CODEC de vídeo usado nos dados"
+msgstr "CODEC de vídeo utilizado nos dados"
 
 msgid "audio codec"
 msgstr "CODEC de áudio"
 
 msgid "codec the audio data is stored in"
-msgstr "CODEC de áudio usado nos dados"
+msgstr "CODEC de áudio utilizado nos dados"
 
 msgid "subtitle codec"
 msgstr "CODEC de legenda"
 
 msgid "codec the subtitle data is stored in"
-msgstr "CODEC de legenda usado nos dados"
+msgstr "CODEC de legenda utilizado nos dados"
 
 msgid "container format"
 msgstr "formato do contêiner"
 
 msgid "container format the data is stored in"
-msgstr "formato do contêiner usado para os dados"
+msgstr "formato do contêiner onde os dados são armazenados"
 
 msgid "bitrate"
 msgstr "taxa de bits"
@@ -539,13 +543,13 @@ msgid "encoder"
 msgstr "codificador"
 
 msgid "encoder used to encode this stream"
-msgstr "codificador usado pelo fluxo"
+msgstr "codificador utilizado pelo fluxo"
 
 msgid "encoder version"
 msgstr "versão do codificador"
 
 msgid "version of the encoder used to encode this stream"
-msgstr "versão do codificador usado pelo fluxo"
+msgstr "versão do codificador utilizado pelo fluxo"
 
 msgid "serial"
 msgstr "série"
@@ -656,7 +660,7 @@ msgid ""
 "negative values for western longitudes)"
 msgstr ""
 "longitude da localização geográfica de onde a mídia foi gravada ou produzida "
-"em graus de acordo com WGS84 (zero corresponde ao meridiano de Greenwich/UK "
+"em graus de acordo com WGS84 (zero corresponde ao meridiano de Greenwich/RU "
 "e valores negativos a latitudes ao oeste)"
 
 msgid "geo location elevation"
@@ -763,13 +767,13 @@ msgid "lyrics"
 msgstr "letras de música"
 
 msgid "The lyrics of the media, commonly used for songs"
-msgstr "As letras de música da mídia"
+msgstr "As letras de música da mídia, normalmente para músicas"
 
 msgid "composer sortname"
 msgstr "compositor para ordenação"
 
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "pessoa(s) que compôs a gravação, para ordenação"
+msgstr "pessoa(s) que compôs(useram) a gravação, para ordenação"
 
 msgid "grouping"
 msgstr "parte"
@@ -778,7 +782,7 @@ msgid ""
 "Groups related media that spans multiple tracks, like the different pieces "
 "of a concerto. It is a higher level than a track, but lower than an album"
 msgstr ""
-"Partes da mídia que se extende em várias faixas, como diferentes partes de "
+"Partes da mídia que se estende em várias faixas, como diferentes partes de "
 "um concerto. Tem um nível acima da faixa, mas abaixo do álbum"
 
 msgid "user rating"
@@ -795,22 +799,22 @@ msgid "device manufacturer"
 msgstr "fabricante do dispositivo"
 
 msgid "Manufacturer of the device used to create this media"
-msgstr "Fabricante do dispositivo usado para criar esta mídia"
+msgstr "Fabricante do dispositivo utilizado para criar esta mídia"
 
 msgid "device model"
 msgstr "modelo do dispositivo"
 
 msgid "Model of the device used to create this media"
-msgstr "Modelo do dispositivo usado para criar esta mídia"
+msgstr "Modelo do dispositivo utilizado para criar esta mídia"
 
 msgid "application name"
 msgstr "nome do aplicativo"
 
 msgid "Application used to create the media"
-msgstr "Aplicativo usado para criar a mídia"
+msgstr "Aplicativo utilizado para criar a mídia"
 
 msgid "application data"
-msgstr "Dados do aplicativo"
+msgstr "dados do aplicativo"
 
 msgid "Arbitrary application data to be serialized into the media"
 msgstr "Dados arbitrários do aplicativo para ser serializado na mídia"
@@ -846,9 +850,14 @@ msgstr "dados-privados"
 msgid "Private data"
 msgstr "Dados privados"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "URI inválido: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Nenhum manipulador URI para o protocolo %s foi encontrado"
@@ -869,6 +878,9 @@ msgstr ""
 "Informação adicional de depuração:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "não há elemento fonte no link [sink=%s@%p]"
@@ -877,39 +889,58 @@ msgstr "não há elemento fonte no link [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "não há consumidor no link [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nenhuma propriedade \"%s\" no elemento \"%s\""
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "O elemento \"%s\" não é um GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "não foi possível definir o valor \"%s\" no elemento \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "nenhum elemento \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 "não foi possível definir a propriedade \"%s\" no elemento \"%s\" para o "
 "valor \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"não foi possível definir a propriedade \"%s\" no elemento \"%s\" para o "
+"valor \"%s\""
+
 msgid "Delayed linking failed."
 msgstr "Falha no vínculo postergado."
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "não foi possível vincular %s em %s"
+msgstr "não foi possível vincular %s em %s, %s não consegue manipular Caps %s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr "não foi possível vincular o elemento consumidor para o URI \"%s\""
+msgstr ""
+"não foi possível vincular %s em %s, nenhum elemento consegue manipular Caps "
+"%s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "não foi possível vincular %s em %s"
+msgstr "não foi possível vincular %s em %s com Caps %s"
 
 #, c-format
 msgid "could not link %s to %s"
 msgstr "não foi possível vincular %s em %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "nenhum elemento \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "referência inesperada \"%s\" - ignorando"
@@ -946,6 +977,7 @@ msgstr "não é permitido que a fila de processamento seja vazia"
 
 msgid "Pipeline construction is invalid, please add queues."
 msgstr ""
+"A construção da fila de processamento está inválida, favor acrescentar filas."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Uma grande quantidade de buffers está sendo descartada."
@@ -1030,7 +1062,7 @@ msgid "Failed after iterations as requested."
 msgstr "Falha após as interações requeridas."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "não é permitido definir eos-after e error-after ao mesmo tempo."
 
 msgid "caps"
 msgstr "Caps"
@@ -1053,9 +1085,9 @@ msgstr "O fluxo não contém dados suficientes."
 msgid "Stream contains no data."
 msgstr "O fluxo não contém dados."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Interfaces implementadas:\n"
+msgstr "%sInterfaces implementadas%s:\n"
 
 msgid "readable"
 msgstr "legível"
@@ -1069,6 +1101,9 @@ msgstr "obsoleto"
 msgid "controllable"
 msgstr "controlável"
 
+msgid "conditionally available"
+msgstr "condicionalmente disponível"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "estado alterável para NULO, PRONTO, PAUSADO ou REPRODUZINDO"
 
@@ -1081,9 +1116,9 @@ msgstr "estado alterável apenas para NULO ou PRONTO"
 msgid "Blacklisted files:"
 msgstr "Arquivos colocados na lista negra:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Contagem total: "
+msgstr "%sContagem total%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1133,6 +1168,8 @@ msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
+"Uma lista de tipos de elementos separados por barras, \"/\", (também "
+"conhecidos como klass) para lista (não-ordenada)."
 
 msgid "Check if the specified element or plugin exists"
 msgstr "Verificar se o elemento ou plug-in especificado existe"
@@ -1148,9 +1185,14 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Exibir esquemas URI com suporte, com os elementos que os implementam"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Desabilita saída colorida. Você consegue o mesmo resultado definindo a "
+"variável de ambiente \"GST_INSPECT_NO_COLORS\" para um valor qualquer."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Saída colorida, mesmo quando não estiver enviando para um TTY."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1163,6 +1205,12 @@ msgstr "Nenhum elemento ou plug-in \"%s\"\n"
 msgid "Index statistics"
 msgstr "Tabela de estatísticas"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Definindo a fila de processamento para REPRODUZINDO...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ERRO: a fila de processamento não quer reproduzir.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Obtida a mensagem #%u do elemento \"%s\" (%s): "
@@ -1183,6 +1231,9 @@ msgstr "Obtida a mensagem #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Obtido o final do fluxo do elemento \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Final do fluxo encontrado - parando a fila de processamento...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETIQ. ENCONTR. : encontrada pelo elemento \"%s\".\n"
@@ -1221,6 +1272,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "AVISO: do elemento %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "A fila de processamento foi PREPARADA...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Preparado, esperando o preenchimento do buffer para finalizar...\n"
 
@@ -1235,6 +1289,7 @@ msgstr ""
 "Preenchimento do buffer completo, definindo a fila de processamento para "
 "REPRODUZIR...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 "Preenchendo buffer, definindo a fila de processamento para PAUSADO...\n"
@@ -1246,9 +1301,24 @@ msgstr "Redistribuição de latência...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Definindo estado de %s como requerido por %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Interrupção: Parando a fila de processamento...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+"Interrupção recebida enquanto a finalização do fluxo estava sendo aguardada "
+"- parando a fila de processamento...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Finalizar fluxo ao sair habilitado -- Forçando finalização do fluxo na fila "
+"de processamento\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Esperando pelo final do fluxo...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Progresso: (%s) %s\n"
@@ -1261,6 +1331,16 @@ msgstr "Elemento faltando: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Contexto obtido do elemento \"%s\": %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ERRO: a fila de processamento não quer preparar.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Um erro ocorreu ao esperar pelo final do fluxo\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Usar o relógio de alta precisão do Windows: precisão de %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Exibir etiquetas (metadados)"
 
@@ -1297,6 +1377,24 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr "Reunir e imprimir a tabela de estatísticas"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Não exibir a posição atual da fila de processamento. Se essa opção não for "
+"especificada, a posição será exibida quando a saída for um TTY. Para "
+"habilitar a exibição da posição quando a saída não for um TTY, utilize a "
+"opção \"force-position\""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Permite exibir a posição atual da fila de processamento mesmo se a saída não "
+"for um TTY. Essa opção não tem efeito se a opção \"no-position\" for "
+"especificada"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ERRO: não foi possível construir a fila de processamento: %s.\n"
@@ -1314,8 +1412,8 @@ msgstr "ERRO: o elemento de \"fila de processamento\" não foi encontrado.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Definindo a fila de processamento para PAUSADO...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ERRO: A fila do processamento não quer pausar.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Falha ao definir a fila de processamento para PAUSADO...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
@@ -1324,64 +1422,36 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "A fila de processamento está PREPARANDO...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ERRO: a fila de processamento não quer preparar.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "A fila de processamento foi PREPARADA...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Definindo a fila de processamento para REPRODUZINDO...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ERRO: a fila de processamento não quer reproduzir.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Finalizar fluxo ao sair habilitado -- Forçando finalização do fluxo na fila "
-"de processamento\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-"Finalizar fluxo ao sair habilitado -- esperando o fim do fluxo após erro\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Esperando pelo final do fluxo...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Final do fluxo encontrado - parando a fila de processamento...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-"Interrupção recebida enquanto a finalização do fluxo estava sendo aguardada "
-"- parando a fila de processamento...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Um erro ocorreu ao esperar pelo final do fluxo\n"
-
 msgid "Execution ended after %"
 msgstr "Execução finalizada depois de %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Definindo a fila de processamento para PRONTO...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Definindo a fila de processamento para NULO...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Liberando a fila de processamento...\n"
 
-#, fuzzy
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ERRO: A fila do processamento não quer pausar.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr ""
+#~ "Finalizar fluxo ao sair habilitado -- esperando o fim do fluxo após erro\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Definindo a fila de processamento para PRONTO...\n"
+
 #~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Erro ao fechar o arquivo \"%s\"."
+#~ msgstr "Erro ao criar o pipe: %s\n"
 
-#, fuzzy
 #~ msgid "Error forking: %s\n"
-#~ msgstr "Erro ao fechar o arquivo \"%s\"."
+#~ msgstr "Erro ao dividir processo: %s\n"
+
+#~ msgid "Error reading from console: %s\n"
+#~ msgstr "Erro ao ler do console: %s\n"
 
-#, fuzzy
 #~ msgid "Error writing to console: %s\n"
-#~ msgstr "Erro ao escrever no arquivo \"%s\"."
+#~ msgstr "Erro ao escrever no console: %s\n"
 
 #~ msgid "bin"
 #~ msgstr "Bin"
diff --git a/po/ro.po b/po/ro.po
index baa245c..c2cdccd 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,37 +1,62 @@
 # Romanian translation for gstreamer
 # This file is distributed under the same license as the gstreamer package.
+#
 # Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2010.
+# Florentina Mușat <florentina.musat.28@gmail.com>, 2020.
+# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>. 2022 - 2023.
+#
+# Cronologia traducerii fișierului „gstreamer”:
+# Traducerea inițială, făcută de LAG, pentru versiunea gstreamer 0.10.29.2
+# Actualizare a traducerii pentru versiunea 1.16.0, făcută de FM, iun-2020.
+# Actualizare a mesajelor, de la fișierul „gstreamer-1.19.2.pot”.
+# Eliminare a mesajelor ce-au dispărut în ultima versiune.
+# Actualizare a traducerii pentru versiunea 1.19.2, făcută de R-GC, ian-2022.
+# Actualizare a traducerii pentru versiunea 1.21.90, făcută de R-GC, ian-2023.
+# Actualizare a traducerii pentru versiunea Y, făcută de X, Z(anul).
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.10.29.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2010-08-16 01:10+0300\n"
-"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 19:23+0100\n"
+"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
-"20)) ? 1 : 2);;\n"
-"X-Generator: Virtaal 0.6.1\n"
+"20)) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.2.2\n"
 
 msgid "Print the GStreamer version"
 msgstr "Afișează versiunea GStreamer"
 
+# R-GC, scrie:
+# s-a modificat de la:
+# „Setează toate avertizările ca fiind fatale”
 msgid "Make all warnings fatal"
-msgstr "Setează toate avertizările ca fiind fatale"
+msgstr "Face ca toate avertizările să fie fatale"
 
 msgid "Print available debug categories and exit"
-msgstr "Afișează categoriile de depanare disponibile și ieși"
-
-#, fuzzy
+msgstr "Afișează categoriile de depanare disponibile și iese"
+
+# Sugestie de la DȘ:
+# «→ pentru a face diferența între „preset” și
+# „default” ar trebui să traduci ”default” prin
+# „implicit”»
+# R-GC, scrie:
+# părerea mea e că:
+# preset = preconfigurat(și familia)
+# după cum:
+# settings = configu-rare/rări
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Nivelul standard de depanare de la 1 (numai erorile) la 5 (orice) sau 0 fără "
-"afișare"
+"Nivelul de depanare predefinit de la 1 (doar eroare) la 9 (orice) sau 0 "
+"pentru nicio ieșire"
 
 msgid "LEVEL"
 msgstr "NIVEL"
@@ -40,8 +65,8 @@ msgid ""
 "Comma-separated list of category_name:level pairs to set specific levels for "
 "the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 msgstr ""
-"Lista separată de virgule cu perechile nume_categorie:nivel pentru a seta "
-"nivelul specific pentru fiecare categorie. Exemplu: GST_AUTOPLUG:5,"
+"Listă separată prin virgulă de perechi nume_categorie:nivel pentru a stabili "
+"niveluri specifice pentru fiecare categorie. Exemplu: GST_AUTOPLUG:5,"
 "GST_ELEMENT_*:3"
 
 msgid "LIST"
@@ -50,10 +75,15 @@ msgstr "LISTÄ‚"
 msgid "Disable colored debugging output"
 msgstr "Dezactivează afișarea în culori pentru depanare"
 
+# R-GC, scrie:
+# s-a modificat de la:
+# „Modifică modul de colorare a istoricului de depanare. Moduri posibile: oprit, pornit, dezactivează, auto, unix”
 msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Modifică modul de colorare al jurnalului de depanare. Moduri posibile: "
+"oprit, pornit, dezactivat, auto, unix"
 
 msgid "Disable debugging"
 msgstr "Dezactivează depanarea"
@@ -63,7 +93,7 @@ msgstr ""
 "Activează diagnosticele detaliate pentru încărcarea modulelor de extensie"
 
 msgid "Colon-separated paths containing plugins"
-msgstr "Căile către module de extensie, separate prin două puncte (:)"
+msgstr "Căile către modulele de extensie, separate prin două puncte (:)"
 
 msgid "PATHS"
 msgstr "CÄ‚I"
@@ -95,6 +125,7 @@ msgstr "Opțiuni GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Arată opțiunile GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Opțiune necunoscută"
 
@@ -110,31 +141,34 @@ msgstr ""
 msgid "Internal GStreamer error: code not implemented."
 msgstr "Eroare internă GStreamer: cod neimplementat."
 
+# R-GC, a scris:
+# s-a modificat de la:
+# „schimbarea de stare nu a reușit și un element nu pentru a posta un mesaj de eroare corespunzător cu motivul eșecului.”
 msgid ""
 "GStreamer error: state change failed and some element failed to post a "
 "proper error message with the reason for the failure."
 msgstr ""
-"Eroare GStreamer: schimbarea de stare nu a reușit și un element nu pentru a "
-"posta un mesaj de eroare corespunzător cu motivul eșecului."
+"Eroare GStreamer: schimbarea stării a eșuat și un element nu a reușit să "
+"posteze un mesaj de eroare adecvat cu motivul eșecului."
 
 msgid "Internal GStreamer error: pad problem."
-msgstr "Eroare internă GStreamer: problemă de „pad”."
+msgstr "Eroare internă GStreamer: problemă de contact la pini(pad)."
 
 msgid "Internal GStreamer error: thread problem."
 msgstr "Eroare internă GStreamer: problemă cu firele de execuție."
 
-#, fuzzy
 msgid "GStreamer error: negotiation problem."
-msgstr "Eroare internă GStreamer: problemă de negociere."
+msgstr "Eroare GStreamer: problemă de negociere."
 
 msgid "Internal GStreamer error: event problem."
 msgstr "Eroare internă GStreamer: problemă legată de un eveniment."
 
 msgid "Internal GStreamer error: seek problem."
-msgstr "Eroare internă GStreamer: problemă de derulare."
+msgstr "Eroare internă GStreamer: problemă de căutare."
 
 msgid "Internal GStreamer error: caps problem."
-msgstr "Eroare internă GStreamer: problemă de majuscule."
+msgstr ""
+"Eroare internă GStreamer: problemă cu recunoașterea de majuscule/minuscule."
 
 msgid "Internal GStreamer error: tag problem."
 msgstr "Eroare internă Gstreamer: problemă de etichetă."
@@ -142,9 +176,8 @@ msgstr "Eroare internă Gstreamer: problemă de etichetă."
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "Lipsește un modul din instalarea programului GStreamer."
 
-#, fuzzy
 msgid "GStreamer error: clock problem."
-msgstr "Eroare internă GStreamer: problemă de ceas."
+msgstr "Eroare GStreamer: problemă de ceas."
 
 msgid ""
 "This application is trying to use GStreamer functionality that has been "
@@ -166,7 +199,7 @@ msgid "Could not configure supporting library."
 msgstr "Nu se poate configura biblioteca suport."
 
 msgid "Encoding error."
-msgstr ""
+msgstr "Eroare de codificare."
 
 msgid "GStreamer encountered a general resource error."
 msgstr "GStreamer a întâlnit o eroare generală de resurse."
@@ -196,7 +229,7 @@ msgid "Could not write to resource."
 msgstr "Nu se poate scrie în resursă."
 
 msgid "Could not perform seek on resource."
-msgstr "Nu se poate derula în resursă."
+msgstr "Nu s-a putut efectua căutarea asupra resursei."
 
 msgid "Could not synchronize on resource."
 msgstr "Nu se poate sincroniza resursa."
@@ -207,9 +240,8 @@ msgstr "Nu s-au putut obține/defini configurările din/în resursă."
 msgid "No space left on the resource."
 msgstr "Nu mai există spațiu liber pe resursă."
 
-#, fuzzy
 msgid "Not authorized to access resource."
-msgstr "Nu mai există spațiu liber pe resursă."
+msgstr "Nu este autorizat să acceseze resursa."
 
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer a întâlnit o eroare generală de flux."
@@ -264,9 +296,12 @@ msgstr "Niciun mesaj standard de eroare pentru domeniul %s și codul %d."
 msgid "Selected clock cannot be used in pipeline."
 msgstr "Ceasul selectat nu poate fi utilizat în linia de asamblare."
 
+# R-GC, scrie:
+# modificat de la:
+# „Eroare la scrierea cache-ului de registru la %s: %s”
 #, c-format
 msgid "Error writing registry cache to %s: %s"
-msgstr ""
+msgstr "Eroare la scrierea memoriei tampon a registrului la %s: %s"
 
 msgid "title"
 msgstr "titlu"
@@ -274,8 +309,26 @@ msgstr "titlu"
 msgid "commonly used title"
 msgstr "titlu folosit în mod obișnuit"
 
+# R-GC, scrie:
+# s-a modificat de la:
+# „nume de sortare al titlului”
+# DȘ, a venit cu sugestia:
+# «→ cred că este mai lizibil cu ”sortare după numele artistului” și „..
+# după numele albumului”»
+# Pe care nu am aplicat-o, pentru că studiind
+# referința mejului/ a mesajelor de același tip +
+# traducerile făcute de celelalte echipe ale acestui
+# mesaj și a celor asemănătoare, am juns la
+# concluzia că traducerea pe care am făcut-o, este
+# cea mai apropiată de intenția autorului, pentru
+# a definii această acțiune
+# =====================================
+# oricum, această versiune, «19.2» este o
+# versiune aflată „în curs de dezvoltare”, la
+# momentul scrieriii acestui comentariu; așa că
+# sugestia făcută, rămîne în „vizor”
 msgid "title sortname"
-msgstr "nume de sortare al titlului"
+msgstr "sortare după nume, a titlului"
 
 msgid "commonly used title for sorting purposes"
 msgstr "titlu folosit în mod obișnuit în scop de sortare"
@@ -287,7 +340,7 @@ msgid "person(s) responsible for the recording"
 msgstr "persoana responsabilă pentru înregistrare"
 
 msgid "artist sortname"
-msgstr "nume de sortare al artistului"
+msgstr "sortare după nume, a artistului"
 
 msgid "person(s) responsible for the recording for sorting purposes"
 msgstr "persoana responsabilă pentru înregistrarea în scop de sortare"
@@ -299,7 +352,7 @@ msgid "album containing this data"
 msgstr "album care conține aceste date"
 
 msgid "album sortname"
-msgstr "numele de sortare al albumului"
+msgstr "sortare după nume, a  albumului"
 
 msgid "album containing this data for sorting purposes"
 msgstr "album care conține aceste date în scop de sortare"
@@ -311,7 +364,7 @@ msgid "The artist of the entire album, as it should be displayed"
 msgstr "Artistul albumului întreg, așa cum ar trebui să fie afișat"
 
 msgid "album artist sortname"
-msgstr "nume de sortare al artistului albumului"
+msgstr "sortare după nume, a artistului albumului"
 
 msgid "The artist of the entire album, as it should be sorted"
 msgstr "Artistul al albumului întreg, așa cum ar trebui să fie sortat"
@@ -322,13 +375,11 @@ msgstr "data"
 msgid "date the data was created (as a GDate structure)"
 msgstr "data la care au fost create aceste date (ca structură GDate)"
 
-#, fuzzy
 msgid "datetime"
-msgstr "data"
+msgstr "dată_oră"
 
-#, fuzzy
 msgid "date and time the data was created (as a GstDateTime structure)"
-msgstr "data la care au fost create aceste date (ca structură GDate)"
+msgstr "data și ora la care datele au fost create (ca o structură GstDateTime)"
 
 msgid "genre"
 msgstr "gen"
@@ -355,8 +406,11 @@ msgstr "număr piesă"
 msgid "track number inside a collection"
 msgstr "numărul piesei în cadrul unei colecții"
 
+# R-GC, scrie:
+# s-a modificat de la:
+# „număr piesă”
 msgid "track count"
-msgstr "număr piesă"
+msgstr "numărul de piese"
 
 msgid "count of tracks inside collection this track belongs to"
 msgstr "numărul pieselor în colecția din care face parte această piesă"
@@ -365,7 +419,7 @@ msgid "disc number"
 msgstr "număr disc"
 
 msgid "disc number inside a collection"
-msgstr "număr disc în cadrul unei colecții"
+msgstr "numărul discului în cadrul unei colecții"
 
 msgid "disc count"
 msgstr "numărul discurilor"
@@ -426,12 +480,11 @@ msgstr "uri pentru drepturile de autor"
 msgid "URI to the copyright notice of the data"
 msgstr "URI către notița asupra drepturilor de autor pentru aceste date (URI)"
 
-#, fuzzy
 msgid "encoded by"
-msgstr "codor"
+msgstr "codat de"
 
 msgid "name of the encoding person or organization"
-msgstr ""
+msgstr "numele persoanei sau organizației care codează"
 
 msgid "contact"
 msgstr "contact"
@@ -464,10 +517,10 @@ msgid "person(s) who composed the recording"
 msgstr "persoana care a compus înregistrarea"
 
 msgid "conductor"
-msgstr ""
+msgstr "dirijor"
 
 msgid "conductor/performer refinement"
-msgstr ""
+msgstr "rafinament dirijor/executant"
 
 msgid "duration"
 msgstr "durata"
@@ -475,6 +528,9 @@ msgstr "durata"
 msgid "length in GStreamer time units (nanoseconds)"
 msgstr "durata în unitățile de timp ale programului GStreamer (nanosecunde)"
 
+# R-GC, întreabă:
+# nici pentru „codec”, nu avem corespondent în limba română?
+# codificator(ul) mi se pare că e în chineză... :)ˇ
 msgid "codec"
 msgstr "codec"
 
@@ -530,16 +586,16 @@ msgid "maximum bitrate in bits/s"
 msgstr "rata de biți maximă în biți/s"
 
 msgid "encoder"
-msgstr "codor"
+msgstr "codificator"
 
 msgid "encoder used to encode this stream"
-msgstr "codorul folosit pentru a coda acest flux"
+msgstr "codificatorul folosit pentru a coda acest flux"
 
 msgid "encoder version"
-msgstr "versiunea codorului"
+msgstr "versiunea codificatorului"
 
 msgid "version of the encoder used to encode this stream"
-msgstr "versiunea codorului folosit pentru a coda acest flux"
+msgstr "versiunea codificatorului folosit pentru a coda acest flux"
 
 msgid "serial"
 msgstr "serial"
@@ -547,12 +603,22 @@ msgstr "serial"
 msgid "serial number of track"
 msgstr "numărul serial al pistei"
 
+# R-GC, scrie:
+# cred că traducerea corectă, ar fi:
+# „câștig pistă câștig (de) redare”
+# Aplicând în consecvență pentru mesajele următoare....
 msgid "replaygain track gain"
 msgstr "câștigul replaygain al pistei"
 
 msgid "track gain in db"
 msgstr "câștigul în db al pistei"
 
+# DȘ, scrie (ca sugestie):
+# → „track” este în mare parte „piesă”
+# R-GC, îl contrazice:
+# prima definiție(înțeles), pentru «track»
+# este cea de pistă (de la discurile de vinil) unde
+# s-au înmagazinat pentru prima oară piesele unor artiști; apoi s-a trecut la înregistrarea pieselor în piste, pe CD-uri
 msgid "replaygain track peak"
 msgstr "vârful replaygain al pistei"
 
@@ -580,16 +646,18 @@ msgstr "nivelul de referință al valorilor câștigului pentru pistă și album
 msgid "language code"
 msgstr "cod limbă"
 
-#, fuzzy
+# R-GC, scrie:
+# s-a modificat de la:
+# „codul de limbă pentru acest flux, care se conformează cu ISO-639-1 sau ISO-639-2”
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
-msgstr "codul de limbă al acestui flux, conform ISO-639-1"
+msgstr ""
+"codul de limbă pentru acest flux, în conformitate cu ISO-639-1 sau ISO-639-2"
 
-#, fuzzy
 msgid "language name"
-msgstr "cod limbă"
+msgstr "nume limbă"
 
 msgid "freeform name of the language this stream is in"
-msgstr ""
+msgstr "nume în formă liberă a limbii în care este acest flux"
 
 msgid "image"
 msgstr "imagine"
@@ -625,12 +693,15 @@ msgstr "cuvinte cheie separate prin virgulă, care descriu conținutul"
 msgid "geo location name"
 msgstr "nume geo-locație"
 
+# R-GC, scrie:
+# s-a modificat de la:
+# „nume lizibil descriptiv al locației unde a fost înregistrat sau produs acest fișier media”
 msgid ""
 "human readable descriptive location of where the media has been recorded or "
 "produced"
 msgstr ""
-"nume lizibil descriptiv al locației unde a fost înregistrat sau produs acest "
-"fișier media"
+"descrierea care poate fi citită de om a locației în care a fost înregistrat "
+"sau produs acest conținut media"
 
 msgid "geo location latitude"
 msgstr "latitudine geo-locație"
@@ -686,20 +757,18 @@ msgstr ""
 msgid "geo location sublocation"
 msgstr "sublocație geo-locație"
 
-#, fuzzy
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
-"locație în orașul unde a fost înregistrat sau produs acest fișier media (de "
-"ex. cartierul)"
+"o locație într-un oraș unde media a fost produsă sau creată (de ex. "
+"vecinătatea)"
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "nume geo-locație"
+msgstr "eroare orizontală de locație geografică"
 
 msgid "expected error of the horizontal positioning measures (in meters)"
-msgstr ""
+msgstr "eroare așteptată a măsurilor de poziționare orizontală (în metri)"
 
 msgid "geo location movement speed"
 msgstr "viteza de circulație a geo-locației"
@@ -734,23 +803,31 @@ msgstr ""
 "fișierul media. Acesta este reprezentat ca de grade în virgulă mobilă, 0 "
 "înseamnă nord geografic și crește în sensul acelor de ceasornic"
 
+# R-GC, scrie:
+# ce păcat că dezvoltatorii programului dau piste
+# traducătorilor și nu „chiorilor”...
+# Am modificat de la:
+# „nume show”
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
 msgid "show name"
-msgstr "nume show"
+msgstr "nume program"
 
 msgid "Name of the tv/podcast/series show the media is from"
 msgstr ""
-"Numele unui show tv/podcast/serial din care acest fișier media face parte"
+"Numele unui program tv/podcast/serial din care acest fișier media face parte"
 
+# R-GC, scrie:
+# am modificat de la:
+# „arată numele de sortare”
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
 msgid "show sortname"
-msgstr "arată numele de sortare"
+msgstr "sortare după nume, a programului"
 
 msgid ""
 "Name of the tv/podcast/series show the media is from, for sorting purposes"
 msgstr ""
-"Numele unui show tv/podcast/serial din care acest fișier media face parte, "
-"pentru sortare"
+"Numele unui program tv/podcast/serial din care acest fișier media face "
+"parte, pentru sortare"
 
 msgid "episode number"
 msgstr "număr episod"
@@ -771,7 +848,7 @@ msgid "The lyrics of the media, commonly used for songs"
 msgstr "Versurile fișierului media, frecvent utilizate pentru cântece"
 
 msgid "composer sortname"
-msgstr "nume sortare compozitor"
+msgstr "sortare după nume, a compozitorului"
 
 msgid "person(s) who composed the recording, for sorting purposes"
 msgstr "persoana care a compus înregistrarea, în scop de sortare"
@@ -809,19 +886,17 @@ msgstr "model dispozitiv"
 msgid "Model of the device used to create this media"
 msgstr "Modelul dispozitivului utilizat pentru a crea acest fișier media"
 
-#, fuzzy
 msgid "application name"
-msgstr "nume geo-locație"
+msgstr "numele aplicației"
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "Modelul dispozitivului utilizat pentru a crea acest fișier media"
+msgstr "Aplicația utilizată pentru a crea media"
 
 msgid "application data"
-msgstr ""
+msgstr "datele aplicației"
 
 msgid "Arbitrary application data to be serialized into the media"
-msgstr ""
+msgstr "Date arbitrare ale aplicației care urmează să fie serializate în media"
 
 msgid "image orientation"
 msgstr "orientare imagine"
@@ -830,39 +905,45 @@ msgid "How the image should be rotated or flipped before display"
 msgstr "Cum ar trebui rotită sau întoarsă imaginea înainte de afișare"
 
 msgid "publisher"
-msgstr ""
+msgstr "editor"
 
 msgid "Name of the label or publisher"
-msgstr ""
+msgstr "Numele mărcii sau editorului"
 
 msgid "interpreted-by"
-msgstr ""
+msgstr "interpretat de"
 
 msgid "Information about the people behind a remix and similar interpretations"
 msgstr ""
+"Informații despre persoanele în spatele unui remix și interpretări similare"
 
 msgid "midi-base-note"
-msgstr ""
+msgstr "notă-bază-midi"
 
 msgid "Midi note number of the audio track."
-msgstr ""
+msgstr "Numărul notei midi de pe piesa audio."
 
 msgid "private-data"
-msgstr ""
+msgstr "date-private"
 
 msgid "Private data"
-msgstr ""
+msgstr "Date private"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "URI-ul: %s nu este valid"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
-msgstr ""
+msgstr "Nu există niciun manipulant de URI pentru protocolul %s găsit"
 
 #, c-format
 msgid "URI scheme '%s' not supported"
-msgstr ""
+msgstr "Schema URL „%s” nu este suportată"
 
 #, c-format
 msgid "ERROR: from element %s: %s\n"
@@ -876,53 +957,83 @@ msgstr ""
 "Informații suplimentare pentru depanare:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
-msgstr ""
+msgstr "legătura nu are nicio sursă [sink=%s@%p]"
 
 #, c-format
 msgid "link has no sink [source=%s@%p]"
-msgstr ""
+msgstr "legătura nu are niciun destinatar [sursă=%s@%p]"
+
+msgid "No such property."
+msgstr "Nici o astfel de proprietate."
 
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "nicio proprietate „%s” în elementul „%s”"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Elementul „%s” nu este o preconfigurare Gstreamer"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nu se poate stabili preconfigurarea „%s” în elementul „%s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "niciun element „%s”"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 "nu se poate stabili proprietatea „%s” în elementul „%s” la valoarea „%s”"
 
-msgid "Delayed linking failed."
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
 msgstr ""
+"nu se poate stabili proprietatea „%s” din fiul-elementului „%s” la valoarea "
+"„%s”"
 
-#, fuzzy, c-format
+msgid "Delayed linking failed."
+msgstr "Legătura întârziată a eșuat."
+
+# R-GC, scrie:
+# cred că traducerea corectă, ar fi:
+# „nu s-a putut asocia %s cu %s, %s nu poate manipula majusculele %s”
+# ***
+# La actualizarea fișierului la versiunea 1.21.90,
+# am schimbat „lega”, cu „vincula”; ce mi se pare
+# un termen mai apropiat pentru traducerea
+# acestui mesaj
+#, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "nu se poate lega %s la %s"
+msgstr "nu s-a putut vincula %s la %s, %s nu poate manipula majusculele %s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr "nu se poate lega elementul derivat pentru URI „%s”"
+msgstr ""
+"nu s-a putut lega %s la %s, niciunul dintre elemente nu poate să manipuleze "
+"majusculele %s"
 
-#, fuzzy, c-format
+#, c-format
 msgid "could not link %s to %s with caps %s"
-msgstr "nu se poate lega %s la %s"
+msgstr "nu s-a putut lega %s la %s cu majusculele %s"
 
 #, c-format
 msgid "could not link %s to %s"
 msgstr "nu se poate lega %s la %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "niciun element „%s”"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referință neașteptată „%s” - se ignoră"
 
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
-msgstr ""
+msgstr "referință a contactului, neașteptată „%s” - se ignoră"
 
 #, c-format
 msgid "could not parse caps \"%s\""
@@ -930,28 +1041,28 @@ msgstr "nu se pot analiza majusculele „%s”"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
-msgstr "niciun element derivat pentru URI „%s”"
+msgstr "niciun element receptor pentru URI „%s”"
 
 #, c-format
 msgid "no source element for URI \"%s\""
 msgstr "niciun element sursă pentru URI „%s”"
 
 msgid "syntax error"
-msgstr ""
+msgstr "eroare de sintaxă"
 
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "containerul gol „%s” specificat, nu este permis"
 
-#, fuzzy, c-format
+#, c-format
 msgid "no bin \"%s\", unpacking elements"
-msgstr "niciun container „%s”, se omite"
+msgstr "niciun container „%s”, se despachetează elementele"
 
 msgid "empty pipeline not allowed"
 msgstr "linia de asamblare vidă nu este permisă"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Construcția liniei de asamblare nu este validă, adăugați cozi."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Multe zone de memorie tampon sunt abandonate."
@@ -966,7 +1077,7 @@ msgid "Internal clock error."
 msgstr "Eroare internă de ceas."
 
 msgid "Failed to map buffer."
-msgstr ""
+msgstr "Nu s-a putut cartografia memoria tampon."
 
 msgid "Filter caps"
 msgstr "Filtrare majuscule"
@@ -975,21 +1086,21 @@ msgid ""
 "Restrict the possible allowed capabilities (NULL means ANY). Setting this "
 "property takes a reference to the supplied GstCaps object."
 msgstr ""
-"Restricționează capacitățile permise (NULL înseamnă ORICE). Definirea "
+"Restricționează caracteristicele permise (NULL înseamnă ORICE). Definirea "
 "acestei proprietăți preia o referință către obiectul GstCaps furnizat."
 
 msgid "Caps Change Mode"
-msgstr ""
+msgstr "Modul de modificare a majusculelor"
 
 msgid "Filter caps change behaviour"
-msgstr ""
+msgstr "Majusculele de filtru schimbă comportamentul"
 
 msgid "No Temp directory specified."
 msgstr "Niciun director temporar specificat."
 
 #, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "Nu am putut crea fișierul temporar „%s”."
+msgstr "Nu s-a putut crea fișierul temporar „%s”."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
@@ -1011,7 +1122,7 @@ msgstr "Eroare la închiderea fișierului „%s”."
 
 #, c-format
 msgid "Error while seeking in file \"%s\"."
-msgstr "Eroare în timpul derulării în fișierul „%s”."
+msgstr "Eroare în timpul căutării în fișierul „%s”."
 
 #, c-format
 msgid "Error while writing to file \"%s\"."
@@ -1036,33 +1147,33 @@ msgid "Failed after iterations as requested."
 msgstr "Eșec după numărul de iterații care a fost cerut."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "eos-after și error-after nu pot fi amândouă definite."
 
 msgid "caps"
 msgstr "majuscule"
 
 msgid "detected capabilities in stream"
-msgstr "capabilități detectate în flux"
+msgstr "caracteristici detectate în flux"
 
 msgid "minimum"
 msgstr "minim"
 
 msgid "force caps"
-msgstr "forțează caps"
+msgstr "forțează folosirea majusculelor"
 
 msgid "force caps without doing a typefind"
-msgstr "forțează caps fără a efectua un typefind"
+msgstr ""
+"forțează folosirea majusculelor fără a efectua un tip de găsire(typefind)"
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "Fluxul nu conține date."
+msgstr "Fluxul nu conține destule date."
 
 msgid "Stream contains no data."
 msgstr "Fluxul nu conține date."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Interfețe implementate:\n"
+msgstr "%sInterfețe implementate%s:\n"
 
 msgid "readable"
 msgstr "se poate citi"
@@ -1071,26 +1182,29 @@ msgid "writable"
 msgstr "se poate scrie"
 
 msgid "deprecated"
-msgstr ""
+msgstr "perimat"
 
 msgid "controllable"
 msgstr "se poate controla"
 
+msgid "conditionally available"
+msgstr "condiționare disponibilă"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr ""
+msgstr "modificabil în stările NULL, GATA, PAUZAT sau REDARE"
 
 msgid "changeable only in NULL, READY or PAUSED state"
-msgstr ""
+msgstr "modificabil doar în stările NULL, GATA sau PAUZAT"
 
 msgid "changeable only in NULL or READY state"
-msgstr ""
+msgstr "modificabil doar în stările NULL sau GATA"
 
 msgid "Blacklisted files:"
 msgstr "Fișierele de pe lista neagră:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Număr total: "
+msgstr "%sNumăr total%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1121,10 +1235,10 @@ msgstr[1] "%d caracteristici"
 msgstr[2] "%d de caracteristici"
 
 msgid "Print all elements"
-msgstr "Tipărește toate elementele"
+msgstr "Imprimă toate elementele"
 
 msgid "Print list of blacklisted files"
-msgstr "Tipărește lista de fișiere de pe lista neagră"
+msgstr "Imprimă lista de fișiere de pe lista neagră"
 
 msgid ""
 "Print a machine-parsable list of features the specified plugin or all "
@@ -1132,7 +1246,7 @@ msgid ""
 "                                       Useful in connection with external "
 "automatic plugin installation mechanisms"
 msgstr ""
-"Tipărește o listă prelucrabilă de o mașină a caracteristicilor furnizate de "
+"Imprimă o listă prelucrabilă de o mașină a caracteristicilor furnizate de "
 "modulul de extensie specificat sau de toate modulele.\n"
 "                                       Util în conexiunile către mecanisme "
 "externe de instalare automată de module de extensie"
@@ -1144,23 +1258,34 @@ msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
 msgstr ""
+"O listă separată prin liniuțe oblice („/”) de tipuri de elemente (cunoscută, "
+"de asemenea, ca și klass) de listat. (neordonat)"
 
 msgid "Check if the specified element or plugin exists"
-msgstr ""
+msgstr "Verifică dacă elementul sau modulul specificat există"
 
 msgid ""
 "When checking if an element or plugin exists, also check that its version is "
 "at least the version specified"
 msgstr ""
+"Când se verifică dacă un element sau modul există, verifică, de asemenea, ca "
+"versiunea acestuia să fie cel puțin versiunea specificată"
 
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
-"Tipărește schemele URI suportate, cu elementele pe care le implementează"
+"Imprimă schemele URI suportate, cu elementele pe care acestea le "
+"implementează"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Dezactivează culorile la ieșire. Puteți, de asemenea, să obțineți același "
+"lucru prin stabilirea variabilei de mediu „GST_INSPECT_NO_COLORS” la orice "
+"valoare."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Ieșire de culoare, chiar și atunci când nu se trimite la un tty."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1171,31 +1296,40 @@ msgid "No such element or plugin '%s'\n"
 msgstr "Niciun astfel de element sau modul „%s”\n"
 
 msgid "Index statistics"
-msgstr ""
+msgstr "Statistici de index"
+
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Se stabilește linia de asamblare pe REDARE ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "EROARE: linia de asamblare nu vrea să redea.\n"
 
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
-msgstr "Primit mesajul #%u, de la elementul „%s” (%s):"
+msgstr "A fost primit mesajul #%u de la elementul „%s” (%s): "
 
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
-msgstr "Primit mesajul #%u, de la pad-ul „%s:%s” (%s):"
+msgstr "A fost primit mesajul #%u de la contactul „%s:%s” (%s): "
 
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
-msgstr "Primit mesajul #%u, de la obiectul „%s” (%s):"
+msgstr "A fost primit mesajul #%u de la obiectul „%s” (%s): "
 
 #, c-format
 msgid "Got message #%u (%s): "
-msgstr "Primit mesajul #%u (%s):"
+msgstr "A fost primit mesajul #%u (%s): "
 
 #, c-format
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Primire EOS de la elementul „%s”.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS primit - se oprește linia de asamblare...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr "MARCAJ GĂSIT: găsit de către elementul „%s”.\n"
+msgstr "MARCAJ GĂSIT   : găsit de către elementul „%s”.\n"
 
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
@@ -1208,17 +1342,16 @@ msgstr "MARCAJ GĂSIT   : găsit de către obiectul „%s”.\n"
 msgid "FOUND TAG\n"
 msgstr "MARCAJ GÄ‚SIT\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
-msgstr "MARCAJ GĂSIT: găsit de către elementul „%s”.\n"
+msgstr "S-A GĂSIT TOC      : găsit de elementul „%s”.\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
-msgstr "MARCAJ GĂSIT   : găsit de către obiectul „%s”.\n"
+msgstr "S-A GĂSIT TOC      : găsit de elementul „%s”.\n"
 
-#, fuzzy
 msgid "FOUND TOC\n"
-msgstr "MARCAJ GÄ‚SIT\n"
+msgstr "S-A GÄ‚SIT TOC\n"
 
 #, c-format
 msgid ""
@@ -1232,55 +1365,82 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "AVERTISMENT: de la elementul %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Linia de asamblare se PREÃŽNCARCÄ‚ ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Preîncărcare, se așteaptă terminarea umplerii memoriei tampon...\n"
 
-#, fuzzy
 msgid "Prerolled, waiting for progress to finish...\n"
-msgstr "Preîncărcare, se așteaptă terminarea umplerii memoriei tampon...\n"
+msgstr "Pre-rulat, așteptând finalizarea progresului... \n"
 
 msgid "buffering..."
-msgstr ""
+msgstr "se preîncarcă..."
 
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
-msgstr "Preîncărcare completă, se setează liniei de asamblare pe REDARE ...\n"
+msgstr ""
+"Preîncărcare completă, se stabilește linia de asamblare pe REDARE ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
-msgstr "Preîncărcare, se setează linia de asamblare pe PAUZĂ ...\n"
+msgstr "Preîncărcare, se stabilește linia de asamblare pe PAUZĂ ...\n"
 
 msgid "Redistribute latency...\n"
 msgstr "Se redistribuie latența...\n"
 
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
-msgstr "Se definește starea la %s după cum a fost cerut de %s...\n"
+msgstr "Se configurează starea la %s după cum a fost cerut de %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Întrerupere: Se oprește linia de asamblare ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+"Întrerupere în timpul așteptării pentru EOS - se oprește linia de "
+"asamblare...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS la închidere activat -- Se forțează EOS pe linia de asamblare\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Se așteaptă EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
-msgstr ""
+msgstr "Progres: (%s) %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Missing element: %s\n"
-msgstr "niciun element „%s”"
+msgstr "Element lipsă: %s\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "Got context from element '%s': %s=%s\n"
-msgstr "AVERTISMENT: de la elementul %s: %s\n"
+msgstr "S-a obținut contextul de la elementul „%s”: %s=%s\n"
+
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "EROARE: linia de asamblare nu vrea să se preîncarce.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "A apărut o eroare în timp ce se aștepta EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Se utilizează ceasul Windows de înaltă rezoluție, precizie: %u ms\n"
 
 msgid "Output tags (also known as metadata)"
-msgstr "Marcaje de ieșire (cunoscute și ca „metadata”)"
+msgstr "Etichete de ieșire (cunoscute și ca „metadata”)"
 
 msgid "Output TOC (chapters and editions)"
-msgstr ""
+msgstr "Ieșire TOC (capitole și ediții)"
 
 msgid "Output status information and property notifications"
 msgstr "Informații asupra stării de ieșire și notificări proprietăți"
 
 msgid "Do not print any progress information"
-msgstr "Nu tipări niciun fel de informații de progres"
+msgstr "Nu se imprimă niciun fel de informații de progres"
 
 msgid "Output messages"
 msgstr "Mesaje de ieșire"
@@ -1289,9 +1449,11 @@ msgid ""
 "Do not output status information for the specified property if verbose "
 "output is enabled (can be used multiple times)"
 msgstr ""
+"Nu produce informații de stare pentru proprietatea specificată dacă ieșirea "
+"detaliată este activată (poate fi utilizată de mai multe ori)"
 
 msgid "PROPERTY-NAME"
-msgstr ""
+msgstr "NUME-PROPRIETATE"
 
 msgid "Do not install a fault handler"
 msgstr "Nu instala un gestionar de erori"
@@ -1300,7 +1462,25 @@ msgid "Force EOS on sources before shutting the pipeline down"
 msgstr "Forțează EOS pe surse înainte de a închide linia de asamblare"
 
 msgid "Gather and print index statistics"
+msgstr "Adună și imprimă statistici de index"
+
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Nu se imprimă poziția curentă a liniei de asamblare. Dacă această opțiune nu "
+"este specificată, poziția va fi imprimată atunci când ieșirea standard este "
+"un TTY. Pentru a activa imprimarea poziției atunci când ieșirea standard nu "
+"este un TTY, utilizați opțiunea „force-position”."
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
 msgstr ""
+"Permite imprimarea poziției curente a liniei de asamblare chiar dacă ieșire "
+"standard nu este un TTY. Această opțiune nu are efect dacă este specificată "
+"opțiunea „fără poziție(no-position)”."
 
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
@@ -1314,13 +1494,13 @@ msgid "WARNING: erroneous pipeline: %s\n"
 msgstr "AVERTISMENT: linia de asamblare conține erori: %s\n"
 
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
-msgstr "EROARE: elementul „pipeline” (linie de asamblare) nu a fost găsit.\n"
+msgstr "EROARE: elementul „pipeline” (linia de asamblare) nu a fost găsit.\n"
 
 msgid "Setting pipeline to PAUSED ...\n"
-msgstr "Se setează linia de asamblare pe PAUZĂ ...\n"
+msgstr "Se stabilește linia de asamblare pe PAUZĂ ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "EROARE: Linia de asamblare nu vrea să fie pusă pe pauză.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nu s-a putut stabili linia de asamblare pe PAUZÄ‚ ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Linia de asamblare este „live” și nu necesită PREÎNCĂRCARE ...\n"
@@ -1328,112 +1508,11 @@ msgstr "Linia de asamblare este „live” și nu necesită PREÎNCĂRCARE ...\n
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Linia de asamblare este PREÃŽNCÄ‚RCATÄ‚ ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "EROARE: linia de asamblare nu vrea să se preîncarce.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Linia de asamblare se PREÃŽNCARCÄ‚ ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Se setează linia de asamblare pe REDARE ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "EROARE: linia de asamblare nu vrea să redea.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS la închidere activat -- Se forțează EOS pe linia de asamblare\n"
-
-#, fuzzy
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS la închidere activat -- Se forțează EOS pe linia de asamblare\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Se așteaptă EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS primit - se oprește linia de asamblare...\n"
-
-#, fuzzy
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Întrerupere: Se oprește linia de asamblare ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "A apărut o eroare în timp ce se aștepta EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Execuție terminată după %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Se setează linia de asamblare pe PREGĂTIT ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
-msgstr "Se setează linia de asamblare pe NULL ...\n"
+msgstr "Se stabilește linia de asamblare la NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Se eliberează linia de asamblare...\n"
-
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Eroare la închiderea fișierului „%s”."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Eroare la închiderea fișierului „%s”."
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Eroare la scrierea fișierului „%s\"."
-
-#~ msgid "Internal data stream error."
-#~ msgstr "Eroare internă a fluxului de date."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Nu scoate informații despre stările de TIPUL"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "TIP1,TIP2,..."
-
-#~ msgid "link without source element"
-#~ msgstr "legătură fără un element sursă"
-
-#~ msgid "link without sink element"
-#~ msgstr "legătură fără un element derivat"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "niciun element pentru a lega URI „%s” la"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Afișează căile de alocare (dacă s-a activat la momentul compilării)"
-
-#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-#~ msgstr ""
-#~ "Utilizare: gst-xmllaunch <fișier.xml> [ element.property=valoare ... ]\n"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "EROARE: prelucrarea fișierului xml „%s” a eșuat.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr ""
-#~ "EROARE: niciun element de prim nivel al liniei de asamblare în fișierul "
-#~ "„%s”.\n"
-
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr ""
-#~ "AVERTISMENT: doar un element de nivel de vârf este suportat în acest "
-#~ "moment.\n"
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr "EROARE: nu se poate analiza argumetul %d al liniei de comandă: %s\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "AVERTISMENT: elementul cu numele „%s” nu a fost găsit.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr ""
-#~ "Salvarea unei reprezentări xml a liniei de asamblare în FIȘIER și ieșire"
-
-#~ msgid "FILE"
-#~ msgstr "FIȘIER"
-
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Nu instala rutine de tratare a semnalului pentru SIGUSR1 și SIGUSR2"
diff --git a/po/ru.po b/po/ru.po
index e6da810..4d9c20c 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,13 +4,13 @@
 # Peter Astakhov <astakhovp@mail.ru>, 2005.
 # Артём Попов <artfwo@gmail.com>, 2009.
 # Pavel Maryanov <acid_jack@ukr.net>, 2009.
-# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019.
+# Yuri Kozlov <yuray@komyakino.ru>, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2021, 2023.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-01-25 19:43+0300\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 12:54+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
 "Language: ru\n"
@@ -18,9 +18,9 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Lokalize 2.0\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Lokalize 20.12.0\n"
 
 msgid "Print the GStreamer version"
 msgstr "Вывести версию GStreamer"
@@ -99,6 +99,7 @@ msgstr "Параметры GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Показать параметры GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Неизвестный параметр"
 
@@ -832,9 +833,14 @@ msgstr "private-data"
 msgid "Private data"
 msgstr "Частная информация"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Неверный URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Для протокола «%s» не найден URI обработчика"
@@ -855,6 +861,9 @@ msgstr ""
 "Дополнительная отладочная информация:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "соединение без источника [приёмник=%s@%p]"
@@ -863,14 +872,35 @@ msgstr "соединение без источника [приёмник=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "соединение без приёмника [источник=%s@%p]"
 
+msgid "No such property."
+msgstr "Такого свойства нет."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "свойство «%s» не найдено для элемента «%s»"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Элемент «%s» не является GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "невозможно установить свойство «%s» в элементе «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "элемент «%s» не найден"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "не удалось установить свойство «%s» элемента «%s» в значение «%s»"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"невозможно установить свойство «%s» в потомке элемента «%s» равным значению "
+"«%s»"
+
 msgid "Delayed linking failed."
 msgstr "Ошибка при отложенной компоновке."
 
@@ -891,10 +921,6 @@ msgstr "не удалось соединить %s и %s с возможност
 msgid "could not link %s to %s"
 msgstr "не удалось соединить %s и %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "элемент «%s» не найден"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "неожиданная ссылка «%s» — игнорируется"
@@ -1054,6 +1080,9 @@ msgstr "устаревший"
 msgid "controllable"
 msgstr "контролируемый"
 
+msgid "conditionally available"
+msgstr "условно доступно"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "может быть равно состоянию NULL, READY, PAUSED или PLAYING"
 
@@ -1138,12 +1167,15 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Вывести поддерживаемые схемы URI для элементов, которые их используют"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Отключить цветность в выводе. Также это можно сделать задав переменной "
 "окружения «GST_INSPECT_NO_COLORS» любое значение."
 
+msgid "Color output, even when not sending to a tty."
+msgstr "Цветность в выводе даже если не отправляется на tty."
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Не удалось загрузить файл модуля: «%s»\n"
@@ -1155,6 +1187,12 @@ msgstr "Модуль или элемент «%s» не найден\n"
 msgid "Index statistics"
 msgstr "Индексная статистика"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Установка конвейера в состояние PLAYING…\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ОШИБКА: конвейер не хочет воспроизводить.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Получено сообщение #%u от элемента «%s» (%s): "
@@ -1175,6 +1213,9 @@ msgstr "Получено сообщение #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Получен маркер EOS («конец потока») от элемента «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Получен EOS — остановка конвейера…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "НАЙДЕН ТЕГ: найден элементом «%s».\n"
@@ -1213,6 +1254,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: от элемента %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Конвейер подготовлен (PREROLLED)…\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Конвейер подготовлен, ожидается завершение буферизации…\n"
 
@@ -1225,6 +1269,7 @@ msgstr "буферизация…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Буферизация завершена, конвейер переведён в состояние PLAYING…\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Идёт буферизация, конвейер переведён в состояние PAUSED…\n"
 
@@ -1235,9 +1280,20 @@ msgstr "Перераспределение латентности…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Устанавливается состояние %s, запрошенное %s…\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Прерывание: Остановка конвейера…\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Прерывание во время ожидания EOS — остановка конвейера…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Включён EOS при закрытии — Выдача EOS в конвейер\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Ожидание EOS…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Ход выполнения: (%s) %s\n"
@@ -1250,6 +1306,16 @@ msgstr "Элемент отсутствует: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Получен контекст из элемента «%s»: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ОШИБКА: конвейер не хочет подготавливаться (PREROLL).\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Во время ожидания EOS произошла ошибка\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Использовать таймер высокой точности Windows, точность: %u мс\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Выводить теги (метаданные)"
 
@@ -1284,6 +1350,22 @@ msgstr "Выдать EOS в источники перед закрытием к
 msgid "Gather and print index statistics"
 msgstr "Собрать и вывести индексную статистику"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Не выводить текущее положение канала. Если этот параметр не задан, то "
+"положение будет выводиться, если stdout является TTY. Чтобы включить вывод "
+"положения когда stdout не равен TTY, используйте параметр «force-position»"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Позволяет выводить текущее положение канала даже, если stdout не является "
+"TTY. Этот параметр игнорируется, если указан параметр «no-position»"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ОШИБКА: не удалось собрать конвейер: %s.\n"
@@ -1301,8 +1383,8 @@ msgstr "ОШИБКА: не найден элемент «pipeline».\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Установка конвейера в состояние PAUSED…\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ОШИБКА: Конвейер не хочет становиться на паузу.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Не удалось поставить конвейер в состояние PAUSED.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Конвейер работает и не требует состояния PREROLL…\n"
@@ -1310,42 +1392,9 @@ msgstr "Конвейер работает и не требует состоян
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Подготовка конвейера (PREROLL)…\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ОШИБКА: конвейер не хочет подготавливаться (PREROLL).\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Конвейер подготовлен (PREROLLED)…\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Установка конвейера в состояние PLAYING…\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ОШИБКА: конвейер не хочет воспроизводить.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Включён EOS при закрытии — Выдача EOS в конвейер\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Включён EOS при закрытии — ожидание EOS после ошибки\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Ожидание EOS…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Получен EOS — остановка конвейера…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Прерывание во время ожидания EOS — остановка конвейера…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Во время ожидания EOS произошла ошибка\n"
-
 msgid "Execution ended after %"
 msgstr "Выполнение окончено после %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Установка конвейера в состояние READY…\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Установка конвейера в состояние NULL…\n"
 
@@ -1364,6 +1413,15 @@ msgstr "Освобождение конвейера…\n"
 #~ msgid "Error writing to console: %s\n"
 #~ msgstr "Ошибка записи в консоль: %s»\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ОШИБКА: Конвейер не хочет становиться на паузу.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "Включён EOS при закрытии — ожидание EOS после ошибки\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Установка конвейера в состояние READY…\n"
+
 #~ msgid "bin"
 #~ msgstr "контейнер"
 
diff --git a/po/rw.po b/po/rw.po
index 2d89a66..8d5f979 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -14,8 +14,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 0.8.8\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -136,6 +136,7 @@ msgstr ""
 msgid "Show GStreamer Options"
 msgstr "i Verisiyo"
 
+#, c-format
 msgid "Unknown option"
 msgstr ""
 
@@ -996,9 +997,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -1017,6 +1023,9 @@ msgid ""
 "%s\n"
 msgstr "Kosora amakosa Ibisobanuro"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -1025,14 +1034,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, fuzzy, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "Oya indangakintu in Ikigize:"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Idosiye ni a"
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "OYA Gushyiraho indangakintu in Ikigize: Kuri"
+
+#, fuzzy, c-format
+msgid "no element \"%s\""
+msgstr "Oya Ikigize:"
+
 #, fuzzy, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "OYA Gushyiraho indangakintu in Ikigize: Kuri"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "OYA Gushyiraho indangakintu in Ikigize: Kuri"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -1052,10 +1080,6 @@ msgstr "OYA Ihuza Kuri"
 msgid "could not link %s to %s"
 msgstr "OYA Ihuza Kuri"
 
-#, fuzzy, c-format
-msgid "no element \"%s\""
-msgstr "Oya Ikigize:"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1231,6 +1255,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1305,8 +1332,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, fuzzy, c-format
@@ -1320,6 +1350,13 @@ msgstr "Oya Inkomoko Ikigize: kugirango"
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+#, fuzzy
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "Kuri Gukina"
+
 #, fuzzy, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Bivuye Ikigize:"
@@ -1340,6 +1377,9 @@ msgstr "Bivuye Ikigize:"
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Bivuye Ikigize:"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, fuzzy, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "Byabonetse ku Ikigize:"
@@ -1376,6 +1416,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "Bivuye Ikigize:"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1388,6 +1431,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1398,9 +1442,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1413,6 +1468,17 @@ msgstr "Oya Ikigize:"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Bivuye Ikigize:"
 
+#, fuzzy
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "Kuri Gukina"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 #, fuzzy
 msgid "Output tags (also known as metadata)"
 msgstr "Nka"
@@ -1449,6 +1515,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, fuzzy, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "OYA"
@@ -1468,9 +1545,8 @@ msgstr "i Ikigize: Byabonetse"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "Kuri Gukina"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
@@ -1478,50 +1554,19 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "Kuri Gukina"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-#, fuzzy
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "Kuri Gukina"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr ""
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
 msgid "Freeing pipeline ...\n"
 msgstr ""
 
+#, fuzzy
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "Kuri Gukina"
+
 #, fuzzy
 #~ msgid "Error creating pipe: %s\n"
 #~ msgstr "Itangira..."
diff --git a/po/sk.po b/po/sk.po
index 249e51e..b9f06b8 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.7.90\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2016-05-20 11:32+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -16,8 +16,9 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.6.10\n"
 
 msgid "Print the GStreamer version"
@@ -96,6 +97,7 @@ msgstr "Možnosti pre GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Zobraziť možnosti pre GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Neznáma možnosť"
 
@@ -829,9 +831,14 @@ msgstr "súkromné-dáta"
 msgid "Private data"
 msgstr "Súkromné dáta"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Nenašla sa obsluha URI pre protokol %s"
@@ -852,6 +859,9 @@ msgstr ""
 "Prídavné ladiace informácie:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "odkaz nemá zdroj [sink=%s@%p]"
@@ -860,14 +870,33 @@ msgstr "odkaz nemá zdroj [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "odkaz nemá sink  [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "neexistuje vlastnosť \"%s\" v prvku \"%s\""
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Súbor \"%s\" je zásuvka."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "nepodarilo sa nastaviť vlastnosť \"%s\" v prvku \"%s\" na \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "prvok \"%s\" neexistuje"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "nepodarilo sa nastaviť vlastnosť \"%s\" v prvku \"%s\" na \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "nepodarilo sa nastaviť vlastnosť \"%s\" v prvku \"%s\" na \"%s\""
+
 msgid "Delayed linking failed."
 msgstr "Oneskorené odkazovanie zlyhalo."
 
@@ -887,10 +916,6 @@ msgstr "nepodarilo sa pripojiť %s ku %s"
 msgid "could not link %s to %s"
 msgstr "nepodarilo sa pripojiť %s ku %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "prvok \"%s\" neexistuje"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "nečakaný odkaz \"%s\" - ignorujem"
@@ -1050,6 +1075,10 @@ msgstr "zastaralé"
 msgid "controllable"
 msgstr "ovládateľné"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "ovládateľné"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "meniteľné v stave NULOVÝ, PRIPRAVENÝ, POZASTAVENÝ alebo HRAJÚCI"
 
@@ -1134,8 +1163,11 @@ msgstr ""
 "Zobraziť podporované URI schémy, spolu s prvkami ktoré ich implementujú"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1149,6 +1181,13 @@ msgstr "Takýto prvok alebo zásuvný modul neexistuje '%s'\n"
 msgid "Index statistics"
 msgstr "Å tatistika indexu"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Nastavujem rúru na HRAJÚCU ...\n"
+
+# On strike?
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "CHYBA: Rúra nechce hrať.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Dostal som správu #%u od prvku \"%s\" (%s):"
@@ -1169,6 +1208,9 @@ msgstr "Dostal som správu #%u (%s):"
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Dostal som EOS od prvku \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Prijatý EOS - zastavujem rúru ...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "NAŠLA SA ZNAČKA    : našiel ju prvok \"%s\".\n"
@@ -1207,6 +1249,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "VAROVANIE: z prvku %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Rúra je v stave PREROLLED ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Predčítané, čakám na dokončenie napĺňania vyrovnávacej pamäte...\n"
 
@@ -1219,6 +1264,7 @@ msgstr "Ukladám do vyrovnávacej pamäte..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Vyrovnávacia pamäť je naplnená, nastavujem rúru na HRAJÚCU ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Napĺňa sa vyrovnávacia pamäť, nastavujem rúru na POZASTAVENÚ ...\n"
 
@@ -1229,9 +1275,20 @@ msgstr "Predistribuovať latenciu...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Nastavujem stav na %s ako požaduje %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Prerušenie: Zastavujem rúru ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Prerušenie počas čakania na EOS - zastavujem rúru ...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS pri vypnutí je povolený -- Vynucujem EOS pre rúru\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Čakám na EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Priebeh: (%s) %s\n"
@@ -1244,6 +1301,17 @@ msgstr "Chýba prvok %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Získal som kontext z prvku '%s': %s=%s\n"
 
+# On strike?
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "CHYBA: rúra nechce prerollovať.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Počas čakania na EOS nastala chyba\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Vypísať značky (známe tiež ako metadáta)"
 
@@ -1278,6 +1346,17 @@ msgstr "Vynútiť EOS na zdrojoch pred vypnutím rúry"
 msgid "Gather and print index statistics"
 msgstr "Zozbierať a zobraziť štatistiku indexu"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "CHYBA: nepodarilo sa vytvoriť rúru: %s.\n"
@@ -1295,9 +1374,9 @@ msgstr "CHYBA: prvok 'rúra' sa nenašiel.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Nastavujem rúru na POZASTAVENÚ ...\n"
 
-# On strike?
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "CHYBA: Rúra sa nechce pozastaviť.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nastavujem rúru na POZASTAVENÚ ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Rúra je živá a nepotrebuje PREROLL ...\n"
@@ -1305,72 +1384,31 @@ msgstr "Rúra je živá a nepotrebuje PREROLL ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Rúra je v stave PREROLLING ...\n"
 
-# On strike?
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "CHYBA: rúra nechce prerollovať.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Rúra je v stave PREROLLED ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Nastavujem rúru na HRAJÚCU ...\n"
-
-# On strike?
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "CHYBA: Rúra nechce hrať.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS pri vypnutí je povolený -- Vynucujem EOS pre rúru\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS pri vypnutí je povolený -- čakám na EOS po chybe\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Čakám na EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Prijatý EOS - zastavujem rúru ...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Prerušenie počas čakania na EOS - zastavujem rúru ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Počas čakania na EOS nastala chyba\n"
-
 msgid "Execution ended after %"
 msgstr "Vykonávanie skončilo po %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Nastavujem rúru na PRIPRAVENÚ ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Nastavujem rúru na NULOVÚ ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Uvoľňujem rúru ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Chyba pri zatváraní súboru \"%s\"."
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Chyba pri zatváraní súboru \"%s\"."
-
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "Chyba pri opätovnom skenovaní registrov %s: %s"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Chyba pri zápise do súboru \"%s\"."
-
 #~ msgid "bin"
 #~ msgstr "zásobník"
 
 #~ msgid "Internal data stream error."
 #~ msgstr "Vnútorná chyba prúdu údajov."
 
+# On strike?
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "CHYBA: Rúra sa nechce pozastaviť.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS pri vypnutí je povolený -- čakám na EOS po chybe\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Nastavujem rúru na PRIPRAVENÚ ...\n"
+
 #~ msgid "link without source element"
 #~ msgstr "pripojenie bez zdrojového prvku"
 
@@ -1422,6 +1460,9 @@ msgstr "Uvoľňujem rúru ...\n"
 #~ msgid "Print alloc trace (if enabled at compile time)"
 #~ msgstr "Vypisovať stopu alokácie (ak je to povolené pri kompilácii)"
 
+#~ msgid "Error re-scanning registry %s: %s"
+#~ msgstr "Chyba pri opätovnom skenovaní registrov %s: %s"
+
 #~ msgid "Error re-scanning registry %s"
 #~ msgstr "Chyba pri opätovnom skenovaní registrov %s"
 
diff --git a/po/sl.po b/po/sl.po
index 197e116..63a46d5 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer-1.2.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2014-04-09 22:38+0100\n"
 "Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -18,8 +18,9 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
+"n%100==4 ? 3 : 0);\n"
 "X-Generator: Poedit 1.6.4\n"
 
 msgid "Print the GStreamer version"
@@ -97,6 +98,7 @@ msgstr "Možnosti GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Pokaži možnosti GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Neznana možnost"
 
@@ -828,9 +830,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Ročnika URI za protokol %s ni mogoče najti"
@@ -851,6 +858,9 @@ msgstr ""
 "Dodatni podatki razhroščevanja:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -859,15 +869,36 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "lastnost \"%s\" v predmetu \"%s\" ne obstaja"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Datoteka \"%s\" je vtič."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr ""
+"lastnosti \"%s\" v predmetu \"%s\" ni mogoče nastaviti na vrednost \"%s\""
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "predmet \"%s\" ne obstaja"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr ""
 "lastnosti \"%s\" v predmetu \"%s\" ni mogoče nastaviti na vrednost \"%s\""
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"lastnosti \"%s\" v predmetu \"%s\" ni mogoče nastaviti na vrednost \"%s\""
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -887,10 +918,6 @@ msgstr "%s in %s ni mogoče povezati"
 msgid "could not link %s to %s"
 msgstr "%s in %s ni mogoče povezati"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "predmet \"%s\" ne obstaja"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -1051,6 +1078,10 @@ msgstr ""
 msgid "controllable"
 msgstr "nadzorljivo"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "nadzorljivo"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "spremenljivo le v stanjih NULL, READY, PAUSED in PLAYING"
 
@@ -1138,8 +1169,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Izpiši podprte sheme URI s predmeti, ki jih vstavljajo"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1153,6 +1187,12 @@ msgstr "Predmet ali datoteka \"%s\" ne obstaja\n"
 msgid "Index statistics"
 msgstr "Statistika kazala"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Nastavljanje cevovoda na PLAYING ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "NAPAKA: vsebine cevovoda ni mogoče predvajati.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Prejeto sporočilo #%u od predmeta \"%s\" (%s): "
@@ -1173,6 +1213,9 @@ msgstr "Prejeto sporočilo #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Prejet EOS predmeta \"%s\".\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Prejet EOS - zaustavljanje cevovoda ...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "NAJDENA OZNAKA      : najdeno s predmetom \"%s\".\n"
@@ -1211,6 +1254,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "OPOZORILO: predmet %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Cevovod je pripravljen ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Pripravljeno, čakanje na zaključek polnjenja medpomnilnika ...\n"
 
@@ -1224,6 +1270,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Polnjenje medpomnilnika je končano, nastavljanje cevovoda na PLAYING ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Polnjenje medpomnilnika, nastavljanje cevovoda na PAUSED ...\n"
 
@@ -1234,9 +1281,20 @@ msgstr "Prerazporejanje pritajenosti ...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Nastavljanje stanja na %s, kot to zahteva %s ...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Prekinitev: zaustavljanje cevovoda ... \n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Prekinitev med čakanjem na EOS. Zaustavljanje cevovoda ...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS ob izklopu je omogočen -- vsiljen EOS vsebine cevovoda\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "ÄŒakanje na EOS ...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Napredek: (%s) %s\n"
@@ -1249,6 +1307,16 @@ msgstr "Manjkajoči element: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Vsebina je bila pridobljena iz elementa \"%s\": %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "NAPAKA: cevovoda ni mogoče pripraviti.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Med čakanjem na EOS je prišlo do napake\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Izhodne oznake (znane tudi kot metapodatki)"
 
@@ -1281,6 +1349,17 @@ msgstr "Viru vsili EOS pred zaustavitvijo cevovoda"
 msgid "Gather and print index statistics"
 msgstr "Zberi in natisni statistiko kazala"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "NAPAKA: cevovoda ni mogoče izgraditi: %s.\n"
@@ -1298,8 +1377,9 @@ msgstr "NAPAKA: predmeta \"cevovoda\" ni mogoče najti.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Nastavljanje cevovoda na PAUSED ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "NAPAKA: cevovoda ni mogoče postaviti v mirovanje.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Nastavljanje cevovoda na PAUSED ...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Cevovod je živ in ga ni potrebno pripraviti ...\n"
@@ -1307,59 +1387,24 @@ msgstr "Cevovod je živ in ga ni potrebno pripraviti ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Cevovod se pripravlja ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "NAPAKA: cevovoda ni mogoče pripraviti.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Cevovod je pripravljen ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Nastavljanje cevovoda na PLAYING ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "NAPAKA: vsebine cevovoda ni mogoče predvajati.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS ob izklopu je omogočen -- vsiljen EOS vsebine cevovoda\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS ob izklopu je omogočen -- čakanje na EOS, ki sledi napaki\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "ÄŒakanje na EOS ...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Prejet EOS - zaustavljanje cevovoda ...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Prekinitev med čakanjem na EOS. Zaustavljanje cevovoda ...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Med čakanjem na EOS je prišlo do napake\n"
-
 msgid "Execution ended after %"
 msgstr "Izvajanje je bilo prekinjeno po %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Nastavljanje cevovoda na READY ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Nastavljanje cevovoda na NULL ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Sproščanje cevovoda ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Napaka med zapiranjem datoteke \"%s\"."
+#~ msgid "link without source element"
+#~ msgstr "povezava brez predmeta vira"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Napaka med zapiranjem datoteke \"%s\"."
+#~ msgid "link without sink element"
+#~ msgstr "povezava brez predmeta ponora"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Napaka med pisanjem v datoteko \"%s\"."
+#, c-format
+#~ msgid "no element to link URI \"%s\" to"
+#~ msgstr "ni predmeta za povezovanje naslova \"%s\" na"
 
 #~ msgid "Internal data stream error."
 #~ msgstr "Notranja napaka pretoka podatkov."
@@ -1370,11 +1415,11 @@ msgstr "Sproščanje cevovoda ...\n"
 #~ msgid "TYPE1,TYPE2,..."
 #~ msgstr "VRSTA1, VRSTA2 ..."
 
-#~ msgid "link without source element"
-#~ msgstr "povezava brez predmeta vira"
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "NAPAKA: cevovoda ni mogoče postaviti v mirovanje.\n"
 
-#~ msgid "link without sink element"
-#~ msgstr "povezava brez predmeta ponora"
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS ob izklopu je omogočen -- čakanje na EOS, ki sledi napaki\n"
 
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "ni predmeta za povezovanje naslova \"%s\" na"
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Nastavljanje cevovoda na READY ...\n"
diff --git a/po/sq.po b/po/sq.po
index 823cf94..4bd06e5 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -1,20 +1,24 @@
 # Përkthimi i mesazheve të gstreamer në shqip.
 # Copyright (C) 2004 Free Software Foundation, Inc.
-# Laurent Dhima <laurenti@alblinux.net>, 2004.
 #
+# This file is distributed under the same license as the gstreamer package.
+# Laurent Dhima <laurenti@alblinux.net>, 2004.
+# Agron Selimaj <as9902613@gmail.com>, 2022.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 0.8.4\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2004-08-07 23:46+0200\n"
-"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
-"Language-Team: Albanian <begraj@hotmail.com>\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-03-22 10:52-0400\n"
+"Last-Translator: Agron Selimaj <as9902613@gmail.com>\n"
+"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
 "Language: sq\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 21.12.3\n"
 
 msgid "Print the GStreamer version"
 msgstr "Printo versionin e GStreamer"
@@ -25,12 +29,11 @@ msgstr "Bëj që të gjithë paralajmërimet të jenë fatale"
 msgid "Print available debug categories and exit"
 msgstr "Printo kategoritë e debug në dispozicion dhe dil"
 
-#, fuzzy
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr ""
-"Niveli i prezgjedhur i debug nga 1 (vetëm gabimi) në 5 (gjithçka) ose 0 për "
-"jo output"
+"Niveli i prezgjedhur i debug nga 1 (vetëm gabimi) deri në 9 (gjithçka) ose 0 "
+"për të mos shtypur asgjë"
 
 msgid "LEVEL"
 msgstr "NIVELI"
@@ -53,6 +56,8 @@ msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
+"Ndryshon regjimin e ngjyrave të raportit të debugut. Regjimet e mundshme "
+"janë: fikur, kyqur, e pamundësuar, auto, unix"
 
 msgid "Disable debugging"
 msgstr "Ç'aktivo debug"
@@ -61,10 +66,10 @@ msgid "Enable verbose plugin loading diagnostics"
 msgstr "Aktivo kërkesën e plugin të ngarkimit të diagnostikimeve"
 
 msgid "Colon-separated paths containing plugins"
-msgstr ""
+msgstr "Shtigjet e ndara me pikpresje qe permbajne plugins"
 
 msgid "PATHS"
-msgstr "POZICIONET"
+msgstr "SHTIGJET"
 
 #, fuzzy
 msgid ""
@@ -82,20 +87,21 @@ msgstr ""
 "Ç'aktivo regjistrimin e dështimeve të segmentuara gjatë ngarkimit të plugin"
 
 msgid "Disable updating the registry"
-msgstr ""
+msgstr "Pamundesoje azhurimin e regjistrit"
 
 msgid "Disable spawning a helper process while scanning the registry"
 msgstr ""
 
 msgid "GStreamer Options"
-msgstr ""
+msgstr "Opsionet e GStreamer"
 
 #, fuzzy
 msgid "Show GStreamer Options"
 msgstr "Printo versionin e GStreamer"
 
+#, c-format
 msgid "Unknown option"
-msgstr ""
+msgstr "Opsion i panjohur"
 
 msgid "GStreamer encountered a general core library error."
 msgstr "GStreamer ndeshi në një gabim të përgjithshëm të librarisë bazë."
@@ -170,7 +176,7 @@ msgid "Could not configure supporting library."
 msgstr "E pamundur mbyllja e librarisë mbështetëse."
 
 msgid "Encoding error."
-msgstr ""
+msgstr "Gabim enkodimi."
 
 #, fuzzy
 msgid "GStreamer encountered a general resource error."
@@ -673,9 +679,8 @@ msgid ""
 "according to WGS84 (zero is average sea level)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location country"
-msgstr "pozicioni"
+msgstr ""
 
 msgid "country (english name) where the media has been recorded or produced"
 msgstr ""
@@ -687,33 +692,29 @@ msgstr "pozicioni"
 msgid "city (english name) where the media has been recorded or produced"
 msgstr ""
 
-#, fuzzy
 msgid "geo location sublocation"
-msgstr "pozicioni"
+msgstr ""
 
 msgid ""
 "a location within a city where the media has been produced or created (e.g. "
 "the neighborhood)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location horizontal error"
-msgstr "pozicioni"
+msgstr ""
 
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement speed"
-msgstr "pozicioni"
+msgstr ""
 
 msgid ""
 "movement speed of the capturing device while performing the capture in m/s"
 msgstr ""
 
-#, fuzzy
 msgid "geo location movement direction"
-msgstr "pozicioni"
+msgstr ""
 
 msgid ""
 "indicates the movement direction of the device performing the capture of a "
@@ -721,9 +722,8 @@ msgid ""
 "means the geographic north, and increases clockwise"
 msgstr ""
 
-#, fuzzy
 msgid "geo location capture direction"
-msgstr "pozicioni"
+msgstr ""
 
 msgid ""
 "indicates the direction the device is pointing to when capturing  a media. "
@@ -760,9 +760,8 @@ msgstr "numri i diskut"
 msgid "The season number of the show the media is part of"
 msgstr ""
 
-#, fuzzy
 msgid "lyrics"
-msgstr "liçenca"
+msgstr ""
 
 msgid "The lyrics of the media, commonly used for songs"
 msgstr ""
@@ -770,9 +769,8 @@ msgstr ""
 msgid "composer sortname"
 msgstr ""
 
-#, fuzzy
 msgid "person(s) who composed the recording, for sorting purposes"
-msgstr "personi(at) përgjegjës për regjistrimin"
+msgstr ""
 
 msgid "grouping"
 msgstr ""
@@ -805,13 +803,11 @@ msgstr ""
 msgid "Model of the device used to create this media"
 msgstr "versioni i kodifikuesit të përdorur për të kodifikuar këtë fluks"
 
-#, fuzzy
 msgid "application name"
-msgstr "pozicioni"
+msgstr ""
 
-#, fuzzy
 msgid "Application used to create the media"
-msgstr "versioni i kodifikuesit të përdorur për të kodifikuar këtë fluks"
+msgstr ""
 
 msgid "application data"
 msgstr ""
@@ -849,9 +845,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr ""
@@ -872,6 +873,9 @@ msgstr ""
 "Informacione shtesë të debug:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -880,14 +884,33 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "asnjë pronësi \"%s\" tek elementi \"%s\""
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "File \"%s\" është një socket."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "e pamundur vendosja e pronësisë \"%s\" tek elementi \"%s\" në \"%s"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "asnjë element \"%s\""
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "e pamundur vendosja e pronësisë \"%s\" tek elementi \"%s\" në \"%s"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "e pamundur vendosja e pronësisë \"%s\" tek elementi \"%s\" në \"%s"
+
 msgid "Delayed linking failed."
 msgstr ""
 
@@ -907,10 +930,6 @@ msgstr "e pamundur lidhja e %s me %s"
 msgid "could not link %s to %s"
 msgstr "e pamundur lidhja e %s me %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "asnjë element \"%s\""
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr ""
@@ -982,7 +1001,7 @@ msgstr ""
 
 #, fuzzy, c-format
 msgid "Could not create temp file \"%s\"."
-msgstr "E pamundur marrja/vendosja e rregullimeve nga/në burim."
+msgstr "E pamundur hapja e file \"%s\" në shkrim."
 
 #, c-format
 msgid "Could not open file \"%s\" for reading."
@@ -1047,9 +1066,8 @@ msgstr ""
 msgid "force caps without doing a typefind"
 msgstr ""
 
-#, fuzzy
 msgid "Stream doesn't contain enough data."
-msgstr "albumi që përmban këtë të dhënë"
+msgstr ""
 
 #, fuzzy
 msgid "Stream contains no data."
@@ -1062,9 +1080,8 @@ msgstr ""
 msgid "readable"
 msgstr ""
 
-#, fuzzy
 msgid "writable"
-msgstr "titulli"
+msgstr ""
 
 msgid "deprecated"
 msgstr ""
@@ -1072,6 +1089,9 @@ msgstr ""
 msgid "controllable"
 msgstr ""
 
+msgid "conditionally available"
+msgstr ""
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr ""
 
@@ -1084,9 +1104,9 @@ msgstr ""
 msgid "Blacklisted files:"
 msgstr ""
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "numërimi i pjesës"
+msgstr ""
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1145,8 +1165,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr ""
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, fuzzy, c-format
@@ -1160,6 +1183,12 @@ msgstr "asnjë element burues për URI \"%s\""
 msgid "Index statistics"
 msgstr ""
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr ""
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "GABIM: pipeline nuk dëshiron të luajë.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr ""
@@ -1180,6 +1209,9 @@ msgstr ""
 msgid "Got EOS from element \"%s\".\n"
 msgstr "GABIM: nga elementi %s: %s\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr ""
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "NDRYSHIM I GJETUR      : u gjet nga elementi \"%s\".\n"
@@ -1216,6 +1248,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "GABIM: nga elementi %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr ""
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 
@@ -1228,6 +1263,7 @@ msgstr ""
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr ""
 
@@ -1238,9 +1274,20 @@ msgstr ""
 msgid "Setting state to %s as requested by %s...\n"
 msgstr ""
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr ""
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+
+msgid "Waiting for EOS...\n"
+msgstr ""
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr ""
@@ -1253,6 +1300,17 @@ msgstr "asnjë element \"%s\""
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "GABIM: nga elementi %s: %s\n"
 
+#, fuzzy
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "GABIM: pipeline nuk dëshiron të luajë.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr ""
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Tags e output (njohur gjithashtu si metadata)"
 
@@ -1286,6 +1344,17 @@ msgstr ""
 msgid "Gather and print index statistics"
 msgstr ""
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "GABIM: i pamundur ndërtimi i pipeline: %s.\n"
@@ -1303,9 +1372,8 @@ msgstr "GABIM: elementi 'konduktor' nuk u gjet.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "GABIM: pipeline nuk dëshiron të luajë.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr ""
@@ -1313,43 +1381,9 @@ msgstr ""
 msgid "Pipeline is PREROLLING ...\n"
 msgstr ""
 
-#, fuzzy
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "GABIM: pipeline nuk dëshiron të luajë.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr ""
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr ""
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "GABIM: pipeline nuk dëshiron të luajë.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr ""
-
-msgid "Waiting for EOS...\n"
-msgstr ""
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr ""
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-
-msgid "An error happened while waiting for EOS\n"
-msgstr ""
-
 msgid "Execution ended after %"
 msgstr "Ekzekutimi përfundoi mbas %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr ""
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr ""
 
@@ -1357,71 +1391,6 @@ msgstr ""
 msgid "Freeing pipeline ...\n"
 msgstr "DUKE ZBATUAR pipeline ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Gabim gjatë ngarkimit të %s\n"
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Gabim gjatë ngarkimit të %s\n"
-
-#, fuzzy
-#~ msgid "Error reading from console: %s\n"
-#~ msgstr "Gabim gjatë ngarkimit të %s\n"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Gabim gjatë shkrimit tek file \"%s\"."
-
-#~ msgid "Do not output status information of TYPE"
-#~ msgstr "Mos jep informacionin e gjendjes së LLOJIT"
-
-#~ msgid "TYPE1,TYPE2,..."
-#~ msgstr "LLOJI1,LLOJI2,..."
-
-#~ msgid "link without source element"
-#~ msgstr "lidhje ma element burues"
-
-#~ msgid "link without sink element"
-#~ msgstr "lidhje pa elementin sink"
-
-#~ msgid "no element to link URI \"%s\" to"
-#~ msgstr "asnjë element për të lidhur URI \"%s\" me"
-
-#~ msgid "Print alloc trace (if enabled at compile time)"
-#~ msgstr "Printo shenjat e alloc (nëse aktivuar në kohën e kompilimit)"
-
-#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
-#~ msgstr ""
-#~ "Përdorimi: gst-xmllaunch <file.xml> [ element.property=vlera ... ]\n"
-
-#~ msgid "ERROR: parse of xml file '%s' failed.\n"
-#~ msgstr "GABIM: analizimi i file xml '%s' dështoi.\n"
-
-#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
-#~ msgstr "GABIM: asnjë element i pipline të toplevel tek file '%s'.\n"
-
-#, fuzzy
-#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
-#~ msgstr "KUJDES: vetëm një element toplevel suportohet aktualisht."
-
-#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
-#~ msgstr ""
-#~ "GABIM: i pamundur analizimi i argumentit %d të rreshtit të komandës: %s.\n"
-
-#~ msgid "WARNING: element named '%s' not found.\n"
-#~ msgstr "KUJDES: elementi me emrin '%s' nuk u gjet.\n"
-
-#~ msgid "Save xml representation of pipeline to FILE and exit"
-#~ msgstr "Ruaj prezantimin xml të pipeline tek FILE dhe dil"
-
-#~ msgid "FILE"
-#~ msgstr "FILE"
-
-#, fuzzy
-#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
-#~ msgstr "Mos instalo një ushqyes të dëmtuar"
-
 #~ msgid "Disable accelerated CPU instructions"
 #~ msgstr "Ç'aktivo instruksionet e përshpejtimit të CPU"
 
@@ -1454,6 +1423,18 @@ msgstr "DUKE ZBATUAR pipeline ...\n"
 #~ msgstr ""
 #~ "Nuk ekziston asnjë element për të trajtuar llojin mime %s të fluksit."
 
+#~ msgid "maximum"
+#~ msgstr "maksimum"
+
+#~ msgid "link without source element"
+#~ msgstr "lidhje ma element burues"
+
+#~ msgid "link without sink element"
+#~ msgstr "lidhje pa elementin sink"
+
+#~ msgid "no element to link URI \"%s\" to"
+#~ msgstr "asnjë element për të lidhur URI \"%s\" me"
+
 #~ msgid " iterations (sum %"
 #~ msgstr " përsëritjet (shuma %"
 
@@ -1469,6 +1450,38 @@ msgstr "DUKE ZBATUAR pipeline ...\n"
 #~ msgid " ns).\n"
 #~ msgstr " ns).\n"
 
+#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
+#~ msgstr ""
+#~ "Përdorimi: gst-xmllaunch <file.xml> [ element.property=vlera ... ]\n"
+
+#~ msgid "ERROR: parse of xml file '%s' failed.\n"
+#~ msgstr "GABIM: analizimi i file xml '%s' dështoi.\n"
+
+#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
+#~ msgstr "GABIM: asnjë element i pipline të toplevel tek file '%s'.\n"
+
+#~ msgid "WARNING: only one toplevel element is supported at this time."
+#~ msgstr "KUJDES: vetëm një element toplevel suportohet aktualisht."
+
+#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
+#~ msgstr ""
+#~ "GABIM: i pamundur analizimi i argumentit %d të rreshtit të komandës: %s.\n"
+
+#~ msgid "WARNING: element named '%s' not found.\n"
+#~ msgstr "KUJDES: elementi me emrin '%s' nuk u gjet.\n"
+
+#~ msgid "TYPE1,TYPE2,..."
+#~ msgstr "LLOJI1,LLOJI2,..."
+
+#~ msgid "Save xml representation of pipeline to FILE and exit"
+#~ msgstr "Ruaj prezantimin xml të pipeline tek FILE dhe dil"
+
+#~ msgid "FILE"
+#~ msgstr "FILE"
+
+#~ msgid "Print alloc trace (if enabled at compile time)"
+#~ msgstr "Printo shenjat e alloc (nëse aktivuar në kohën e kompilimit)"
+
 #~ msgid "Number of times to iterate pipeline"
 #~ msgstr "Numri i herëve të përsëritjes së kanalit"
 
@@ -1487,5 +1500,8 @@ msgstr "DUKE ZBATUAR pipeline ...\n"
 #~ msgid "Trying to load %s ...\n"
 #~ msgstr "Duke u përpjekur të ngarkoj %s ...\n"
 
+#~ msgid "Error loading %s\n"
+#~ msgstr "Gabim gjatë ngarkimit të %s\n"
+
 #~ msgid "Loaded %d plugins with %d %s.\n"
 #~ msgstr "U ngarkuan %d plugins me %d %s.\n"
diff --git a/po/sr.po b/po/sr.po
index fc11fc0..21b466a 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,22 +1,22 @@
 # Serbian translation of gstreamer
-# Copyright © 2014 Free Software Foundation, Inc.
+# Copyright © 2020 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Danilo Segan <dsegan@gmx.net>, 2004-2005.
-# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2017.
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011–2021.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer-1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2017-05-07 12:42+0200\n"
+"Project-Id-Version: gstreamer-1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2021-10-01 22:08+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Project-Style: gnome\n"
 
@@ -96,6 +96,7 @@ msgstr "Опције Гстримера"
 msgid "Show GStreamer Options"
 msgstr "Приказује опције Гстримера"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Непозната опција"
 
@@ -832,9 +833,14 @@ msgstr "приватни подаци"
 msgid "Private data"
 msgstr "Приватни подаци"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Неисправна путања: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Нисам пронашао руковаоца путањом за протокол %s"
@@ -855,6 +861,9 @@ msgstr ""
 "Додатни подаци за исправљање грешака:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "веза нема извора [sink=%s@%p]"
@@ -863,14 +872,33 @@ msgstr "веза нема извора [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "веза нема усклађивање [source=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "нема особине „%s“ у елементу „%s“"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Елемент „%s“ није Гст претподешавање"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "не могу да поставим претподешавање „%s“ у елементу „%s“"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "нема елемента „%s“"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "не могу да поставим особину „%s“ у елементу „%s“ на „%s“"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "не могу да поставим особину „%s“ у елементу „%s“ на „%s“"
+
 msgid "Delayed linking failed."
 msgstr "Одложено повезивање није успело."
 
@@ -893,10 +921,6 @@ msgstr "не могу да вежем „%s“ са „%s“ са могућно
 msgid "could not link %s to %s"
 msgstr "не могу да вежем %s са %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "нема елемента „%s“"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "неочекивана упута „%s“ — занемарујем"
@@ -932,7 +956,7 @@ msgid "empty pipeline not allowed"
 msgstr "није допуштена празна спојка низа"
 
 msgid "Pipeline construction is invalid, please add queues."
-msgstr ""
+msgstr "Конструкција спојке није исправна, додајте на чекање."
 
 msgid "A lot of buffers are being dropped."
 msgstr "Много помоћне меморије је одбачено."
@@ -1017,7 +1041,7 @@ msgid "Failed after iterations as requested."
 msgstr "Неуспех након траженог броја покушаја."
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "„eos-after“ и „error-after“ се не могу одредити."
 
 # bug: this should be full word
 msgid "caps"
@@ -1041,9 +1065,9 @@ msgstr "Овај ток не садржи довољно података."
 msgid "Stream contains no data."
 msgstr "Овај ток не садржи податке."
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sImplemented Interfaces%s:\n"
-msgstr "Примењени уређаји:\n"
+msgstr "%sПримењени уређаји%s:\n"
 
 msgid "readable"
 msgstr "читљив"
@@ -1057,6 +1081,9 @@ msgstr "застарело"
 msgid "controllable"
 msgstr "управљив"
 
+msgid "conditionally available"
+msgstr "условно доступан"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "измењив у стање НИШТА, СПРЕМАН, ПАУЗИРАН или ПУШТАМ"
 
@@ -1069,9 +1096,9 @@ msgstr "измењив само у стање НИШТА или СПРЕМАН"
 msgid "Blacklisted files:"
 msgstr "Забрањене датотеке:"
 
-#, fuzzy, c-format
+#, c-format
 msgid "%sTotal count%s: %s"
-msgstr "Укупан број:"
+msgstr "%sУкупан број%s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1142,9 +1169,14 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Штампа подржане шеме адреса, са елементима који их примењују."
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"Искључује боје на излазу. Исто можете постићи подешавањем "
+"„GST_INSPECT_NO_COLORS“ променљиве окружења на било коју вредност."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Боји излаз, чак и када не шаље на конзолу."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1157,6 +1189,12 @@ msgstr "Нема таквог елемента или прикључка „%s
 msgid "Index statistics"
 msgstr "Статистике пописа"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Постављам спојку низа на ПУШТАМ ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ГРЕШКА: спојка низа не жели да пусти.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Добих поруку #%u од елемента „%s“ (%s): "
@@ -1177,6 +1215,9 @@ msgstr "Добих поруку #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Добих ЕОС од елемента „%s“.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "ЕОС је примљен — заустављам спојку низа…\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "НАЂОХ ОЗНАКУ   : нађена је елементом „%s“.\n"
@@ -1215,6 +1256,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "УПОЗОРЕЊЕ: из елемента %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Спојка низа је ПРИПРЕМЉЕНА ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Припремљено, чекам да заврши смештање у међумеморију…\n"
 
@@ -1228,6 +1272,7 @@ msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr ""
 "Обавио сам смештање у међумеморију, постављам спојку низа на ПУШТАМ ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Смештам у међумеморију, постављам спојку низа на ПАУЗИРАН ...\n"
 
@@ -1238,9 +1283,20 @@ msgstr "Расподељујем кашњење...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Постављам стање на %s као што је затражио %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Прекид: Заустављам спојку низа ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Прекид за време чекања на ЕОС — заустављам спојку низа...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "ЕОС је укључен приликом гашења —— Присиљавам ЕОС на спојци низа\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Чекам на ЕОС...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Напредовање: (%s) %s\n"
@@ -1253,6 +1309,16 @@ msgstr "Недостаје елемент: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Добих садржај из елемента „%s“: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "ГРЕШКА: спојка низа не жели да припреми.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Дошло је до грешке док сам чекао на ЕОС\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Користи Виндоузов сат високе резолуције, тачност: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Излазне ознаке (такође познате и као метаподаци)"
 
@@ -1287,6 +1353,23 @@ msgstr "Приморај ЕОС на извору пре гашења спојк
 msgid "Gather and print index statistics"
 msgstr "Прикупи и штампај статистике регистра"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Не исписује тренутни положај спојке. Ако ова опција није одређена, положај "
+"ће бити исписан када је стандардни излаз конзола. Да укључите положај "
+"исписивања када стандардни излаз није конзола, користитие опцију „force-"
+"position“"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Омогућава исписивање тренутног положаја спојке чак и ако стандардни излаз "
+"није конзола. Ова опција нема дејства ако је опција „no-position“ наведена"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ГРЕШКА: не могу да саставим спојку низа: %s.\n"
@@ -1304,8 +1387,8 @@ msgstr "ГРЕШКА: елемент „спојка низа“ није нађ
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Постављам спојку низа на ПАУЗИРАН ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ГРЕШКА: Спојка низа не жели да иде на паузу.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Нисам успео да поставим спојку на ПАУЗИРАНО.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Спојка низа је жива и не треба јој ПРИПРЕМА ...\n"
@@ -1313,59 +1396,23 @@ msgstr "Спојка низа је жива и не треба јој ПРИПР
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Спојка низа врши ПРИПРЕМУ ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "ГРЕШКА: спојка низа не жели да припреми.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Спојка низа је ПРИПРЕМЉЕНА ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Постављам спојку низа на ПУШТАМ ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ГРЕШКА: спојка низа не жели да пусти.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "ЕОС је укључен приликом гашења —— Присиљавам ЕОС на спојци низа\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "ЕОС је укључен гашењем —— чекам на ЕОС након грешке\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Чекам на ЕОС...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "ЕОС је примљен — заустављам спојку низа…\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Прекид за време чекања на ЕОС — заустављам спојку низа...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Дошло је до грешке док сам чекао на ЕОС\n"
-
 msgid "Execution ended after %"
 msgstr "Извршење је окончано након %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Постављам спојку низа на СПРЕМАН ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Постављам спојку низа на НИШТА ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Ослобађам спојку низа...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Грешка при затварању датотеке „%s“."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ГРЕШКА: Спојка низа не жели да иде на паузу.\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Грешка при затварању датотеке „%s“."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "ЕОС је укључен гашењем —— чекам на ЕОС након грешке\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Грешка при упису у датотеку „%s“."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Постављам спојку низа на СПРЕМАН ...\n"
 
 #~ msgid "bin"
 #~ msgstr "канта"
diff --git a/po/sv.po b/po/sv.po
index e318470..8b0453e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,25 +1,25 @@
 # Swedish messages for gstreamer.
-# Copyright © 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2015, 2016, 2017, 2019 Free Software Foundation, Inc.
+# Copyright © 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2014, 2015, 2016, 2017, 2019, 2022 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Christian Rose <menthos@menthos.com>, 2004, 2005.
 # Daniel Nylander <po@danielnylander.se>, 2007, 2008, 2009, 2010, 2011.
-# Sebastian Rasmussen <sebras@gmail.com>, 2014, 2015, 2016, 2017, 2019.
+# Sebastian Rasmussen <sebras@gmail.com>, 2014, 2015, 2016, 2017, 2019, 2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-02-05 18:22+0100\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2022-10-27 01:35+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.1.1\n"
 
 msgid "Print the GStreamer version"
 msgstr "Skriv ut GStreamer-versionen"
@@ -56,7 +56,7 @@ msgid ""
 "Changes coloring mode of the debug log. Possible modes: off, on, disable, "
 "auto, unix"
 msgstr ""
-"Ändrar färgläggning av felsökningsutskrifter. Möjliga alternativ: off, on, "
+"Ändrar färgläggning av felsökningsutskrifter. Möjliga lägen: off, on, "
 "disable, auto, unix"
 
 msgid "Disable debugging"
@@ -92,13 +92,14 @@ msgid "Disable spawning a helper process while scanning the registry"
 msgstr "Inaktivera start av en hjälpprocess vid avsökning av registret"
 
 msgid "GStreamer Options"
-msgstr "GStreamer-alternativ"
+msgstr "GStreamer-flaggor"
 
 msgid "Show GStreamer Options"
-msgstr "Visa GStreamer-alternativ"
+msgstr "Visa GStreamer-flaggor"
 
+#, c-format
 msgid "Unknown option"
-msgstr "Okänt alternativ"
+msgstr "Okänt flagga"
 
 msgid "GStreamer encountered a general core library error."
 msgstr "GStreamer stötte på ett allmänt fel i kärnbibliotek."
@@ -415,7 +416,7 @@ msgid "copyright notice of the data"
 msgstr "copyrightnotis för dessa data"
 
 msgid "copyright uri"
-msgstr "Uri till copyrightnotis"
+msgstr "copyright-uri"
 
 msgid "URI to the copyright notice of the data"
 msgstr "Uri till copyrightnotis för datat"
@@ -439,7 +440,7 @@ msgid "license of data"
 msgstr "licens för data"
 
 msgid "license uri"
-msgstr "Uri för licensinformation"
+msgstr "licens-uri"
 
 msgid "URI to the license of the data"
 msgstr "Uri till licens för datat"
@@ -831,9 +832,14 @@ msgstr "privat-data"
 msgid "Private data"
 msgstr "Privat data"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Ogiltig URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Ingen uri-hanterare hittades för %s-protokollet"
@@ -854,6 +860,9 @@ msgstr ""
 "Ytterligare felsökningsinformation:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "länk har ingen källa [utgång=%s@%p]"
@@ -862,14 +871,33 @@ msgstr "länk har ingen källa [utgång=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "länk har ingen utgång [källa=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "ingen ”%s”-egenskap i elementet ”%s”"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Elementet ”%s” är inte en GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "kunde inte ställa in förinställningen ”%s” i elementet ”%s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "inget ”%s”-element"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "kunde inte ställa in egenskapen ”%s” i elementet ”%s” till ”%s”"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "kunde inte ställa in egenskapen ”%s” i elementet ”%s” till ”%s”"
+
 msgid "Delayed linking failed."
 msgstr "Fördröjd länkning misslyckades."
 
@@ -890,10 +918,6 @@ msgstr "kunde inte länka %s med %s med förmågor %s"
 msgid "could not link %s to %s"
 msgstr "kunde inte länka %s med %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "inget ”%s”-element"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "oväntad referens ”%s” - ignorerar"
@@ -1053,6 +1077,9 @@ msgstr "föråldrad"
 msgid "controllable"
 msgstr "kontrollerbar"
 
+msgid "conditionally available"
+msgstr "villkorligt tillgänglig"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "ändringsbart i tillstånden NULL, READY, PAUSED eller PLAYING"
 
@@ -1138,12 +1165,15 @@ msgstr ""
 "dem"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Inaktivera färger i utdata. Du kan också åstadkomma detsamma genom att sätta "
 "miljövariabeln ”GST_INSPECT_NO_COLORS” till vilket värde som helst."
 
+msgid "Color output, even when not sending to a tty."
+msgstr "Färgutmatning, även då utmatning inte skickas till en tty."
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Kunde inte läsa in fil för insticksmodul: %s\n"
@@ -1155,6 +1185,12 @@ msgstr "Inget sådant element eller insticksmodul ”%s”\n"
 msgid "Index statistics"
 msgstr "Indexstatistik"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Ställer in rörledningen till PLAYING...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "FEL: rörledningen vill inte spela.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Fick meddelande #%u från elementet ”%s” (%s): "
@@ -1175,6 +1211,9 @@ msgstr "Fick meddelande #%u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Fick EOS från element ”%s”.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS togs emot - stoppar rörledning...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "HITTADE TAGG   : hittat av elementet ”%s”.\n"
@@ -1213,6 +1252,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "VARNING: från elementet %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Rörledningen har utfört PREROLL...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Förinläst, väntar på att buffringen ska bli färdig...\n"
 
@@ -1225,6 +1267,7 @@ msgstr "buffrar..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Färdig med buffringen, ställer in rörledningen till PLAYING...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Buffrar, ställer in rörledningen till PAUSED...\n"
 
@@ -1235,9 +1278,20 @@ msgstr "Fördröjning för vidaresändning...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Ställer in tillståndet till %s enligt begäran från %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Avbrott: Stoppar rörledningen ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Avbrott medan EOS väntades på: Stoppar rörledningen...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "EOS vid avstängning aktiverad -- Tvingar EOS på rörledningen\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Väntar på EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Förlopp: (%s) %s\n"
@@ -1250,6 +1304,16 @@ msgstr "Element saknas: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Fick kontext från elementet ”%s”: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "FEL: rörledningen vill inte utföra preroll.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Ett fel inträffade vid väntan på EOS\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Använd Windows högupplösta klocka, precision: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Mata ut taggar (även känt som metadata)"
 
@@ -1284,6 +1348,23 @@ msgstr "Tvinga EOS på källor innan rörledningen stängs av"
 msgid "Gather and print index statistics"
 msgstr "Samla och skriv ut indexstatistik"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Skriv inte ut aktuell position för rörledningen. Om denna flagga inte är "
+"angivet, kommer positionen att skrivas ut då standard ut är en TTY. För att "
+"aktivera utskrift av position när standard ut inte är en TTY använd ”force-"
+"position”-flaggan."
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Tillåt utskrift av aktuell position av rörledningen även om standard ut inte "
+"är en TTY. Denna flagga har ingen effekt om flaggan ”no-position” är angiven."
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "FEL: rörledningen kunde inte konstrueras: %s.\n"
@@ -1301,8 +1382,10 @@ msgstr "FEL: ”pipeline”-elementet hittades inte.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Ställer in rörledningen till PAUSED...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "FEL: Rörledningen vill inte göra paus.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr ""
+"Misslyckades med att sätta rörledningen till PAUSED.\n"
+"\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Rörledningen lever och behöver inte PREROLL ...\n"
@@ -1310,42 +1393,9 @@ msgstr "Rörledningen lever och behöver inte PREROLL ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Rörledningen utför PREROLL...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "FEL: rörledningen vill inte utföra preroll.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Rörledningen har utfört PREROLL...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Ställer in rörledningen till PLAYING...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "FEL: rörledningen vill inte spela.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "EOS vid avstängning aktiverad -- Tvingar EOS på rörledningen\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS vid avstängning aktiverad -- Väntar på EOS efter fel\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Väntar på EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS togs emot - stoppar rörledning...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Avbrott medan EOS väntades på: Stoppar rörledningen...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Ett fel inträffade vid väntan på EOS\n"
-
 msgid "Execution ended after %"
 msgstr "Körning avslutades efter %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Ställer in rörledningen till READY...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Ställer in rörledningen till NULL...\n"
 
@@ -1364,6 +1414,15 @@ msgstr "Frigör rörledning ...\n"
 #~ msgid "Error writing to console: %s\n"
 #~ msgstr "Fel vid skrivning till konsol: %s\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "FEL: Rörledningen vill inte göra paus.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS vid avstängning aktiverad -- Väntar på EOS efter fel\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Ställer in rörledningen till READY...\n"
+
 #~ msgid "bin"
 #~ msgstr "korg"
 
diff --git a/po/tr.po b/po/tr.po
index 7717a09..f94e210 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2,21 +2,21 @@
 # Copyright (C) 2004 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gstreamer package.
 # Baris Cicek <baris@teamforce.name.tr>, 2004, 2015.
-# Mehmet Kececi <mkececi@mehmetkececi.com>, 2017, 2019.
+# Mehmet Kececi <mkececi@mehmetkececi.com>, 2017, 2019, 2021.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-01-25 11:54+0300\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2021-10-04 13:42+0300\n"
 "Last-Translator: Mehmet Kececi <mkececi@mehmetkececi.com>\n"
-"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+"Language-Team: Turkish <gnome-turk@gnome.org>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Virtaal 0.7.1\n"
+"X-Generator: Poedit 3.0\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Project-Style: gnome\n"
 
@@ -96,6 +96,7 @@ msgstr "GStreamer Seçenekleri"
 msgid "Show GStreamer Options"
 msgstr "GStreamer Seçeneklerini Göster"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Bilinmeyen seçenek"
 
@@ -279,7 +280,7 @@ msgid "artist"
 msgstr "sanatçı"
 
 msgid "person(s) responsible for the recording"
-msgstr "kayıttan sorumlu olan kişi ya da kişiler"
+msgstr "kayıttan sorumlu olan kişi(ler)"
 
 msgid "artist sortname"
 msgstr "sanatçı sıralamadı"
@@ -443,7 +444,7 @@ msgid "performer"
 msgstr "icra eden"
 
 msgid "person(s) performing"
-msgstr "icra eden kiÅŸi"
+msgstr "icra eden kiÅŸi(ler)"
 
 msgid "composer"
 msgstr "düzenleyici"
@@ -461,7 +462,7 @@ msgid "duration"
 msgstr "süre"
 
 msgid "length in GStreamer time units (nanoseconds)"
-msgstr "GStreamer zaman birimi (nano saniye) olarak uzunluk"
+msgstr "GStreamer zaman birimleri cinsinden uzunluk (nanosaniye)"
 
 msgid "codec"
 msgstr "kodek"
@@ -624,8 +625,8 @@ msgid ""
 "degrees according to WGS84 (zero at the equator, negative values for "
 "southern latitudes)"
 msgstr ""
-"WGS84 yerlem derecesinde (ekvatorda sıfır, güney enlemler için negatif "
-"değerler) üretilen ya da kaydedilen ortamın coğrafik enlem konumu"
+"WGS84'e göre ortamın derece olarak kaydedildiği veya üretildiği coğrafi "
+"enlem konumu (ekvatorda sıfır, güney enlemleri için negatif değerler)"
 
 msgid "geo location longitude"
 msgstr "coğrafi konum boylamı"
@@ -635,9 +636,9 @@ msgid ""
 "degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
 "negative values for western longitudes)"
 msgstr ""
-"WGS84 yerlem derecesinde (Greenwich/UK baş meridyeninde sıfır,  batı "
-"boylamları için negatif değerler) üretilen ya da kaydedilen ortamın coğrafik "
-"boylam konumu"
+"WGS84'e göre medyanın derece olarak kaydedildiği veya üretildiği coğrafi "
+"boylam konumu (Greenwich/UK'deki prime meridyende sıfır, batı boylamları "
+"için negatif değerler)"
 
 msgid "geo location elevation"
 msgstr "coğrafi konum yüksekliği"
@@ -646,8 +647,8 @@ msgid ""
 "geo elevation of where the media has been recorded or produced in meters "
 "according to WGS84 (zero is average sea level)"
 msgstr ""
-"WGS84 yerlem ölçüsünde (ortalama deniz seviyesi sıfırdır) üretilen ya da "
-"kaydedilen ortamın coğrafik yüksekliği"
+"WGS84'e göre ortamın kaydedildiği veya metre olarak üretildiği yerin coğrafi "
+"yüksekliği (sıfır ortalama deniz seviyesidir)"
 
 msgid "geo location country"
 msgstr "ülke coğrafi konumu"
@@ -691,9 +692,9 @@ msgid ""
 "media. It is represented as degrees in floating point representation, 0 "
 "means the geographic north, and increases clockwise"
 msgstr ""
-"Bir medyada yakalama yapan aygıtın haraket yönünü belirtir. Kayan noktalı "
-"sayı olarak, derece biçiminde gösterilir, 0 çoğrafik kuzeydir ve saat "
-"yönünde belirtilir"
+"bir ortamın yakalanmasını gerçekleştiren aygıtın hareket yönünü gösterir. "
+"Kayan nokta gösteriminde derece olarak temsil edilir, 0 coğrafi kuzey "
+"anlamına gelir ve saat yönünde artar"
 
 msgid "geo location capture direction"
 msgstr "coğrafi konum yakalama açıklaması"
@@ -703,9 +704,9 @@ msgid ""
 "It is represented as degrees in floating point  representation, 0 means the "
 "geographic north, and increases clockwise"
 msgstr ""
-"Bir medya yakalanırken işaret edilen aygıtın yönünü belirtir. Kayan noktalı "
-"sayı olarak, derece biçiminde gösterilir, 0 çoğrafik kuzeydir ve saat "
-"yönünde belirtilir"
+"bir medyayı yakalarken aygıtın işaret ettiği yönü gösterir. Kayan nokta "
+"gösteriminde derece olarak temsil edilir, 0 coğrafi kuzey anlamına gelir ve "
+"saat yönünde artar"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
 msgid "show name"
@@ -820,9 +821,14 @@ msgstr "özel-veri"
 msgid "Private data"
 msgstr "Özel veri"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Geçersiz URI: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "%s protokolü için URI işleyicisi bulunamadı"
@@ -843,6 +849,9 @@ msgstr ""
 "Ek hata ayıklama bilgisi:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "bağlantı kaynağı yok [alıcı=%s@%p]"
@@ -851,14 +860,33 @@ msgstr "bağlantı kaynağı yok [alıcı=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "bağlantı alış noktası yok [kaynak=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "\"%s\" öğesinde \"%s\" özelliği yok"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "\"%s\" öğesi bir GstPreset değildir"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "\"%s\" öğesinde kurulu ayar \"%s\" ayarlanamadı"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "\"%s\" öğesi yok"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "\"%s\" öğesindeki \"%s\" özelliğine \"%s\" değeri atanamadı"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "\"%s\" öğesindeki \"%s\" özelliğine \"%s\" değeri atanamadı"
+
 msgid "Delayed linking failed."
 msgstr "Gecikmeli bağlama başarısız oldu."
 
@@ -868,7 +896,7 @@ msgstr "%s i %s e bağlanamadı, %s başlıklar işlenemiyor %s"
 
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr "%s i %s e bağlanamadı, hiçbir başlık başlık öğesi işlenemiyor %s"
+msgstr "%s i %s e bağlanamadı, hiçbir başlık öğesi işlenemiyor %s"
 
 #, c-format
 msgid "could not link %s to %s with caps %s"
@@ -878,10 +906,6 @@ msgstr "%s, %s e %s başlıklar ile bağlanamadı"
 msgid "could not link %s to %s"
 msgstr "%s, %s'a bağlanamadı"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "\"%s\" öğesi yok"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "beklenmeyen kaynak \"%s\" - yoksayılıyor"
@@ -896,7 +920,7 @@ msgstr "\"%s\" kabiliyetleri ayrıştırılamadı"
 
 #, c-format
 msgid "no sink element for URI \"%s\""
-msgstr "\"%s\" URI'si için 'sink' öğesi yok"
+msgstr "\"%s\" URI'si için sink öğesi yok"
 
 #, c-format
 msgid "no source element for URI \"%s\""
@@ -1041,8 +1065,11 @@ msgstr "kullanım dışı"
 msgid "controllable"
 msgstr "yöneltilebilir"
 
+msgid "conditionally available"
+msgstr "koşullu olarak kullanılabilir"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
-msgstr "BOŞ, HAZIR, DURDURULMUŞ ya da YÜRÜTÜLÜYOR durumlarına değiştirilebilir"
+msgstr "BOŞ, HAZIR, DURDURULMUŞ veya YÜRÜTÜLÜYOR durumlarına değiştirilebilir"
 
 msgid "changeable only in NULL, READY or PAUSED state"
 msgstr "sadece NULL, READY ya da PAUSED olarak deÄŸiÅŸtirilebilir"
@@ -1122,12 +1149,14 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Desteklenen URI şemalarını onlara uygulanan ögelerle yazdır"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
-"Çıktıda renkleri devre dışı bırakın. Aynı zamanda 'GST_INSPECT_NO_COLORS' "
-"ortam değişkenini herhangi bir değere ayarlayarak da aynı şekilde elde "
-"edebilirsiniz."
+"Çıktıdaki renkleri devre dışı bırakın. 'GST_INSPECT_NO_COLORS' ortam "
+"değişkenini herhangi bir değere ayarlayarak da aynısını elde edebilirsiniz."
+
+msgid "Color output, even when not sending to a tty."
+msgstr "Bir tty göndermese bile renk çıkışı."
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
@@ -1140,6 +1169,12 @@ msgstr "Böyle bir öge ya da '%s' eklentisi yok\n"
 msgid "Index statistics"
 msgstr "Dizin istatistikleri"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Boru hattı PLAYING olarak ayarlanıyor ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "HATA: boruhattı çalmak istemiyor.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "#%u iletisi \"%s\" ögesinden alındı (%s): "
@@ -1160,6 +1195,9 @@ msgstr "İleti #%u alındı (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "\"%s\" ögesinden gelen EOS.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "EOS alındı - boru hattı durduruluyor...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ETİKET BULUNDU      : \"%s\" öğesi tarafından bulundu.\n"
@@ -1198,6 +1236,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "UYARI: %s ögesinden: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Boru hattı PREROLLED ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Kullanım öncesi, önbelleğe alma işleminin bitmesi bekleniyor...\n"
 
@@ -1212,6 +1253,7 @@ msgstr ""
 "Önbelleğe alma işlemi, YÜRÜTÜLÜYOR durumu için ardışık düzen ayarlamaları "
 "yapıldı ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Tamponlama, DURAKLAT olarak ayarlanıyor ...\n"
 
@@ -1222,9 +1264,20 @@ msgstr "Yeniden dağıtım gecikmesi...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Durum %s olarak ayarlanıyor, %s tarafından istenmiş...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Kesme: Boru hattı durduruluyor ...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "EOS için beklenirken kesme - boru hattı durduruluyor...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Kapanmada EOS etkin - Boru hattında EOS zorlanıyor\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "EOS için bekleniyor...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Ä°lerleme: (%s) %s\n"
@@ -1237,6 +1290,16 @@ msgstr "Eksik öge: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Ögeden '%s' içerik alındı: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "HATA: boru hattı kullanım öncesi yapmak istemiyor.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Akış sonu için beklerken bir hata oldu\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Windows yüksek çözünürlüklü saat, hassasiyet kullanımı: %u ms\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Çıktı etiketleri (metadata olarak da bilinir)"
 
@@ -1271,6 +1334,23 @@ msgstr "Boru hattı kapatılmadan önce kaynaklarda EOS zorla"
 msgid "Gather and print index statistics"
 msgstr "Dizin istatistiklerini topla ve yazdır"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"İşlem hattının geçerli konumunu yazdırmayın. Bu seçenek belirtilmezse, "
+"stdout bir TTY olduğunda konum yazdırılır. Stdout bir TTY olmadığında "
+"yazdırma konumunu etkinleştirmek için \"kuvvet-konum\" seçeneğini kullanın"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Stdout bir TTY olmasa bile işlem hattının geçerli konumunu yazdırmaya izin "
+"verin. \"pozisyon-yok\" seçeneği belirtilirse bu seçeneğin hiçbir etkisi "
+"olmaz"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "HATA: boruhattı oluşturulamadı: %s.\n"
@@ -1288,8 +1368,8 @@ msgstr "HATA: 'pipeline' öğesi bulunamadı.\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "DURDURULDU durumu için ardışık düzen ayarlamaları ...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "HATA: Ardışık düzen durdurmayı istemez.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "İşlem hattı DURAKLATILDI olarak ayarlanamadı.\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Boru hattı çalışıyor ve PREROLL ihtiyacı yok ...\n"
@@ -1297,48 +1377,24 @@ msgstr "Boru hattı çalışıyor ve PREROLL ihtiyacı yok ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Boru hattı PREROLLING yapıyor ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "HATA: boru hattı kullanım öncesi yapmak istemiyor.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Boru hattı PREROLLED ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Boru hattı PLAYING olarak ayarlanıyor ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "HATA: boruhattı çalmak istemiyor.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Kapanmada EOS etkin - Boru hattında EOS zorlanıyor\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Kapanmada EOS etkin -- Hatadan sonra EOS için bekleniyor\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "EOS için bekleniyor...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "EOS alındı - boru hattı durduruluyor...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "EOS için beklenirken kesme - boru hattı durduruluyor...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Akış sonu için beklerken bir hata oldu\n"
-
 msgid "Execution ended after %"
 msgstr "Çalıştırma % sonrası bitti"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Boru hattı READY olarak ayarlanıyor ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Boru hattı NULL olarak ayarlanıyor ...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Boru hattı boşaltılıyor ...\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "HATA: Ardışık düzen durdurmayı istemez.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "Kapanmada EOS etkin -- Hatadan sonra EOS için bekleniyor\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Boru hattı READY olarak ayarlanıyor ...\n"
+
 #~ msgid "Error creating pipe: %s\n"
 #~ msgstr "Pipe oluşturma hatası: %s\n"
 
diff --git a/po/uk.po b/po/uk.po
index 57df997..a01266c 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,23 +3,23 @@
 # This file is distributed under the same license as the gstreamer package.
 #
 # Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
-# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2021, 2023.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2019-01-24 21:55+0200\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-15 17:39+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
-"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 2.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 20.12.0\n"
 
 msgid "Print the GStreamer version"
 msgstr "Показати дані щодо версії GStreamer"
@@ -96,6 +96,7 @@ msgstr "Параметри GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Показати параметри GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Невідомий параметр"
 
@@ -829,9 +830,14 @@ msgstr "конфіденційні-дані"
 msgid "Private data"
 msgstr "Конфіденційні дані"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "Некоректна адреса: %s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Не знайдено обробника адрес для протоколу %s"
@@ -852,6 +858,9 @@ msgstr ""
 "Додаткова діагностична інформація:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "у посилання немає джерела [приймач=%s@%p]"
@@ -860,14 +869,35 @@ msgstr "у посилання немає джерела [приймач=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "у посилання немає приймача [джерело=%s@%p]"
 
+msgid "No such property."
+msgstr "Такої властивості немає."
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "немає властивості «%s» у елементі «%s»"
 
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Елемент «%s» не належить до типу GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "не вдалося встановити набір «%s» у елементі «%s»"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "немає елемента «%s»"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "не вдалося встановити властивість «%s» у елементі «%s» у значення «%s»"
 
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr ""
+"не вдалося встановити властивість «%s» у дочірньому записі елемента «%s» у "
+"значення «%s»"
+
 msgid "Delayed linking failed."
 msgstr "Спроба відкладеного компонування зазнала невдачі."
 
@@ -888,10 +918,6 @@ msgstr "не вдалося прив'язати %s до %s із можливос
 msgid "could not link %s to %s"
 msgstr "не вдалося прив'язати %s до %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "немає елемента «%s»"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "неочікуване посилання «%s» — ігноруємо"
@@ -1051,6 +1077,9 @@ msgstr "застаріле"
 msgid "controllable"
 msgstr "контроль"
 
+msgid "conditionally available"
+msgstr "умовно доступний"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "можна змінювати у станах NULL, READY, PAUSED та PLAYING"
 
@@ -1136,12 +1165,15 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "Показати підтримувані схеми адрес з елементами, які їх реалізують"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
 "Вимкнути кольори у виведених даних. Ви також можете досягти встановленням "
 "для змінної середовища GST_INSPECT_NO_COLORS будь-якого значення."
 
+msgid "Color output, even when not sending to a tty."
+msgstr "Розфарбовувати виведені дані, навіть якщо вони не надсилаються до tty."
+
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "Не вдалося завантажити файл модулю %s\n"
@@ -1153,6 +1185,12 @@ msgstr "Немає елемента елемента або модуля «%s»\
 msgid "Index statistics"
 msgstr "Статистичні дані покажчика"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Канал переводиться у стан ВІДТВОРЕННЯ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "ПОМИЛКА: канал не може почати відтворення.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Отримано повідомлення %u від елемента «%s» (%s): "
@@ -1173,6 +1211,9 @@ msgstr "Отримано повідомлення %u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Отримано ознаку кінця рядка від елементу «%s».\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Отримано EOS - завершення роботи каналу...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "ЗНАЙДЕНО ТЕГ  : знайдено у елементі «%s».\n"
@@ -1211,6 +1252,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "ПОПЕРЕДЖЕННЯ: у елементі %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Канал у стані випереджального просування даних...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr ""
 "Виконано випереджальне просування даних, очікуємо на завершення "
@@ -1226,6 +1270,7 @@ msgstr "буферизація..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Буферизацію завершено, канал переводиться у стан ВІДТВОРЕННЯ ...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Буферизація, канал переводиться у стан ПРИЗУПИНЕНО ...\n"
 
@@ -1236,9 +1281,22 @@ msgstr "Перерозподіл затримки...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Встановлення стану %s, потрібно для %s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Переривання: зупинка каналу...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr ""
+"Переривання під час очікування на EOS - перериваємо роботу каналу "
+"передавання даних...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "Увімкнено EOS при завершенні - Примусове виведення EOS до каналу\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Очікування на EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Поступ: (%s) %s\n"
@@ -1251,6 +1309,17 @@ msgstr "Не вистачає елемента: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Отримано контекст з елемента «%s»: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr ""
+"ПОМИЛКА: канал не може перейти у стан випереджального просування даних.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Під час очікування на EOS сталася помилка\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "Використати високоточний годинник Windows, точність: %u мс\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "Вивести мітки (також відомі як метадані)"
 
@@ -1285,6 +1354,22 @@ msgstr "Примусово надіслати EOS до джерел до зав
 msgid "Gather and print index statistics"
 msgstr "Зібрати та показати статистичні дані покажчика"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"Не виводити поточну позицію конвеєра. Якщо не вказано цей параметр, позицію "
+"буде виведено, якщо stdout є TTY. Щоб увімкнути виведення позиції, якщо "
+"stdout не є TTY, скористайтеся параметром «force-position»."
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"Дозволити виведення поточної позиції у конвеєрі, навіть якщо stdout не є "
+"TTY. Цей параметр ні на що не впливає, якщо вказано параметр «no-position»."
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "ПОМИЛКА: канал не може бути сконструйований: %s.\n"
@@ -1302,8 +1387,8 @@ msgstr "ПОМИЛКА: не знайдений елемент \"pipeline\".\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Канал переводиться у стан PAUSED...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "ПОМИЛКА: канал не може призупинитись.\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Не вдалося встановити стан конвеєра PAUSED (ПРИЗУПИНЕНО).\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Конвеєр активний та не потребує випереджального просування даних...\n"
@@ -1311,45 +1396,9 @@ msgstr "Конвеєр активний та не потребує випере
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Канал у стані приготування до випереджального просування даних...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr ""
-"ПОМИЛКА: канал не може перейти у стан випереджального просування даних.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Канал у стані випереджального просування даних...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Канал переводиться у стан ВІДТВОРЕННЯ...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "ПОМИЛКА: канал не може почати відтворення.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "Увімкнено EOS при завершенні - Примусове виведення EOS до каналу\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "Увімкнено EOS при завершенні - очікуємо на EOS після помилки\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Очікування на EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Отримано EOS - завершення роботи каналу...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr ""
-"Переривання під час очікування на EOS - перериваємо роботу каналу "
-"передавання даних...\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Під час очікування на EOS сталася помилка\n"
-
 msgid "Execution ended after %"
 msgstr "Виконання завершено після %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Канал переводиться у стан ГОТОВИЙ ...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Канал переводиться у стан NULL ...\n"
 
@@ -1368,6 +1417,15 @@ msgstr "Спорожнення каналу...\n"
 #~ msgid "Error writing to console: %s\n"
 #~ msgstr "Помилка під час запису до консолі: %s\n"
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "ПОМИЛКА: канал не може призупинитись.\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "Увімкнено EOS при завершенні - очікуємо на EOS після помилки\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Канал переводиться у стан ГОТОВИЙ ...\n"
+
 #~ msgid "bin"
 #~ msgstr "фрагмент"
 
diff --git a/po/vi.po b/po/vi.po
index d5d6fce..654ee1c 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gstreamer 1.12.0\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
 "PO-Revision-Date: 2017-05-05 06:45+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -97,6 +97,7 @@ msgstr "Tùy chọn GStreamer"
 msgid "Show GStreamer Options"
 msgstr "Hiện Tùy chọn GStreamer"
 
+#, c-format
 msgid "Unknown option"
 msgstr "Tùy chọn lạ"
 
@@ -833,9 +834,14 @@ msgstr "dữ-liệu-riêng"
 msgid "Private data"
 msgstr "Dữ liệu riêng"
 
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "Không tìm thấy bộ tiếp hợp với URI dành cho giao thức %s"
@@ -856,6 +862,9 @@ msgstr ""
 "Thông tin gỡ lỗi thêm:\n"
 "%s\n"
 
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "liên kết không có nguồn [sink=%s@%p]"
@@ -864,14 +873,33 @@ msgstr "liên kết không có nguồn [sink=%s@%p]"
 msgid "link has no sink [source=%s@%p]"
 msgstr "liên kết không có sink [nguồn=%s@%p]"
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "không có thuộc tính “%s” trong phần tử “%s”"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "Tập tin “%s” là ổ cắm mạng."
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "không thể đặt thuộc tính “%s” trong phần tử “%s” thành “%s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "không có phần tử “%s”"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "không thể đặt thuộc tính “%s” trong phần tử “%s” thành “%s”"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "không thể đặt thuộc tính “%s” trong phần tử “%s” thành “%s”"
+
 msgid "Delayed linking failed."
 msgstr "Gặp lỗi khi liên kết trễ."
 
@@ -893,10 +921,6 @@ msgstr "không thể liên kết %s đến %s với caps %s"
 msgid "could not link %s to %s"
 msgstr "không thể liên kết %s đến %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "không có phần tử “%s”"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "gặp tham chiếu không cần \"%s\" nên bỏ qua"
@@ -1059,6 +1083,10 @@ msgstr "đã lạc hậu"
 msgid "controllable"
 msgstr "điều khiển được"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "điều khiển được"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "có thể thay đổi được trong trạng thái NULL, READY, PAUSED hay PLAYING"
 
@@ -1136,8 +1164,11 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "In ra các lược đồ URI được hỗ trợ, với những phần tử thực hiện chúng."
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+
+msgid "Color output, even when not sending to a tty."
 msgstr ""
 
 #, c-format
@@ -1151,6 +1182,12 @@ msgstr "Không có phần tử hay phần bổ sung như vậy “%s”\n"
 msgid "Index statistics"
 msgstr "Thống kê chỉ mục"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "Đang đặt đường ống thành ĐANG PHÁT …\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "LỖI: đường ống không phát được.\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "Nhận được thông điệp số %u từ phần tử “%s” (%s): "
@@ -1171,6 +1208,9 @@ msgstr "Nhận được thông điệp số %u (%s): "
 msgid "Got EOS from element \"%s\".\n"
 msgstr "Mới nhận kết thúc luồng (EOS) từ phần tử “%s”.\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "Nhận được tín hiệu kết thúc luồng: đang ngừng chạy đường ống …\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "THẺ ĐÃ TÌM     : được tìm bởi phần tử “%s”.\n"
@@ -1209,6 +1249,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "CẢNH BÁO: từ phần tử %s: %s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Đường ống ĐÃ TIỀN CUỘN …\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "Cuộn sẵn, đợi chuyển hoán đệm xong…\n"
 
@@ -1221,6 +1264,7 @@ msgstr "đang chuyển hoán đệm…"
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "Hoàn tất chuyển hoán đệm nên đặt đường ống thành ĐANG PHÁT …\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "Đang chuyển hoán đệm nên đặt đường ống thành BỊ TẠM DỪNG …\n"
 
@@ -1231,9 +1275,22 @@ msgstr "Phân phối lại độ trễ…\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "Đang đặt tình trạng thành %s như yêu cầu bởi %s….\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "Ngắt: đang ngừng chạy đường ống …\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "Ngắt trong khi chờ EOS - đang dừng đường ống lại…\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr ""
+"Kết thúc luồng khi tắt phần mềm vẫn còn hoạt động thì đang ép buộc kết thúc "
+"luồng trên đường ống\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "Đang đợi kết thúc luồng…\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "Tiến trình: (%s) %s\n"
@@ -1246,6 +1303,16 @@ msgstr "Thiếu phần tử: %s\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "Đã nhận nội dung từ phần tử “%s”: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "LỖI: đường ống không tiền cuộn được.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "Gặp lỗi trong khi đợi kết thúc luồng\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "Xuất các thẻ (cũng được biết là siêu dữ liệu)"
 
@@ -1280,6 +1347,17 @@ msgstr "Ép buộc kết thúc luồng trên các nguồn trước khi đóng đ
 msgid "Gather and print index statistics"
 msgstr "Tập hợp lại và in ra thống kê chỉ mục"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "LỖI: không thể xây dựng đường ống: %s.\n"
@@ -1297,8 +1375,9 @@ msgstr "LỖI: không tìm thấy phần tử “đường ống” (pipeline).\
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "Đang đặt đường ống thành BỊ TẠM DỪNG …\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "LỖI: đường ống không tạm dừng được.\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "Đang đặt đường ống thành BỊ TẠM DỪNG …\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Đường ống đang sống và không cần TIỀN CUỘN …\n"
@@ -1306,61 +1385,23 @@ msgstr "Đường ống đang sống và không cần TIỀN CUỘN …\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Đường ống ĐANG TIỀN CUỘN …\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "LỖI: đường ống không tiền cuộn được.\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Đường ống ĐÃ TIỀN CUỘN …\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "Đang đặt đường ống thành ĐANG PHÁT …\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "LỖI: đường ống không phát được.\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr ""
-"Kết thúc luồng khi tắt phần mềm vẫn còn hoạt động thì đang ép buộc kết thúc "
-"luồng trên đường ống\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "EOS khi tắt máy được bật -- chờ sau Lỗi EOS\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "Đang đợi kết thúc luồng…\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "Nhận được tín hiệu kết thúc luồng: đang ngừng chạy đường ống …\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "Ngắt trong khi chờ EOS - đang dừng đường ống lại…\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "Gặp lỗi trong khi đợi kết thúc luồng\n"
-
 msgid "Execution ended after %"
 msgstr "Thực hiện xong sau %"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "Đang đặt đường ống thành SẴN_SÀNG …\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "Đang đặt đường ống thành VÔ_GIÁ_TRỊ …\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "Đang giải phóng đường ống …\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "Gặp lỗi khi đóng tập tin “%s”."
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "LỖI: đường ống không tạm dừng được.\n"
 
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "Gặp lỗi khi đóng tập tin “%s”."
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "EOS khi tắt máy được bật -- chờ sau Lỗi EOS\n"
 
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "Gặp lỗi khi ghi vào tập tin “%s”."
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "Đang đặt đường ống thành SẴN_SÀNG …\n"
 
 #~ msgid "bin"
 #~ msgstr "nhị phân"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 632797a..45db2bb 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -5,10 +5,10 @@
 # Tianze Wang <zwpwjwtz@126.com>, 2015.
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.15.1\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-01-17 01:38+0000\n"
-"PO-Revision-Date: 2019-02-28 16:15+0100\n"
+"Project-Id-Version: gstreamer 1.21.90\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 16:27+0000\n"
+"PO-Revision-Date: 2023-01-21 13:39+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -17,990 +17,808 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.0.7\n"
+"X-Generator: Poedit 2.2.1\n"
 
-#: gst/gst.c:250
 msgid "Print the GStreamer version"
 msgstr "打印 GStreamer 版本"
 
-#: gst/gst.c:252
 msgid "Make all warnings fatal"
 msgstr "将所有的警告也当作严重问题"
 
-#: gst/gst.c:256
 msgid "Print available debug categories and exit"
 msgstr "打印可用的调试类别并退出"
 
-#: gst/gst.c:260
-msgid "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
+msgid ""
+"Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
 msgstr "默认调试级别,从 1(仅有错误)到 9(所有内容),0代表无输出"
 
-#: gst/gst.c:262
 msgid "LEVEL"
 msgstr "级别"
 
-#: gst/gst.c:264
-msgid "Comma-separated list of category_name:level pairs to set specific levels for the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
-msgstr "逗号分隔的“类别名称:级别”列表用来为每个类别设置指定的调试级别。如:GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+msgid ""
+"Comma-separated list of category_name:level pairs to set specific levels for "
+"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
+msgstr ""
+"逗号分隔的“类别名称:级别”列表用来为每个类别设置指定的调试级别。如:"
+"GST_AUTOPLUG:5,GST_ELEMENT_*:3"
 
-#: gst/gst.c:267
 msgid "LIST"
 msgstr "列表"
 
-#: gst/gst.c:269
 msgid "Disable colored debugging output"
 msgstr "禁止彩色的调试信息输出"
 
-#: gst/gst.c:273
-msgid "Changes coloring mode of the debug log. Possible modes: off, on, disable, auto, unix"
+msgid ""
+"Changes coloring mode of the debug log. Possible modes: off, on, disable, "
+"auto, unix"
 msgstr "改变调试日志的颜色模式。可能的模式有:off、on、disable、auto和unix"
 
-#: gst/gst.c:277
 msgid "Disable debugging"
 msgstr "禁止调试"
 
-#: gst/gst.c:281
 msgid "Enable verbose plugin loading diagnostics"
 msgstr "开启详细的插件载入分析"
 
-#: gst/gst.c:285
 msgid "Colon-separated paths containing plugins"
 msgstr "冒号分隔的包含插件的路径"
 
-#: gst/gst.c:285
 msgid "PATHS"
 msgstr "路径"
 
-#: gst/gst.c:288
-msgid "Comma-separated list of plugins to preload in addition to the list stored in environment variable GST_PLUGIN_PATH"
-msgstr "逗号分隔的预载入的插件列表,而且此列表被保存于环境变量 GST_PLUGIN_PATH 中"
+msgid ""
+"Comma-separated list of plugins to preload in addition to the list stored in "
+"environment variable GST_PLUGIN_PATH"
+msgstr ""
+"逗号分隔的预载入的插件列表,而且此列表被保存于环境变量 GST_PLUGIN_PATH 中"
 
-#: gst/gst.c:290
 msgid "PLUGINS"
 msgstr "插件"
 
-#: gst/gst.c:293
 msgid "Disable trapping of segmentation faults during plugin loading"
 msgstr "禁止跟踪装入插件时的段严重错误"
 
-#: gst/gst.c:298
 msgid "Disable updating the registry"
 msgstr "禁止更新寄存器"
 
-#: gst/gst.c:303
 msgid "Disable spawning a helper process while scanning the registry"
 msgstr "扫描寄存器时禁止启动帮助进程"
 
-#: gst/gst.c:308
 msgid "GStreamer Options"
 msgstr "GStreamer 选项"
 
-#: gst/gst.c:309
 msgid "Show GStreamer Options"
 msgstr "显示 GStreamer 选项"
 
-#: gst/gst.c:1012
+#, c-format
 msgid "Unknown option"
 msgstr "未知选项"
 
-#: gst/gsterror.c:130
 msgid "GStreamer encountered a general core library error."
 msgstr "GStreamer 遇到了常规核心库错误。"
 
-#: gst/gsterror.c:132 gst/gsterror.c:174 gst/gsterror.c:198 gst/gsterror.c:240
-msgid "GStreamer developers were too lazy to assign an error code to this error."
+msgid ""
+"GStreamer developers were too lazy to assign an error code to this error."
 msgstr "GStreamer 开发者未对此错误指派错误代码。"
 
-#: gst/gsterror.c:135
 msgid "Internal GStreamer error: code not implemented."
 msgstr "GStreamer 内部错误:代码未实现。"
 
-#: gst/gsterror.c:137
-msgid "GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure."
-msgstr "Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。"
+msgid ""
+"GStreamer error: state change failed and some element failed to post a "
+"proper error message with the reason for the failure."
+msgstr ""
+"Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。"
 
-#: gst/gsterror.c:140
 msgid "Internal GStreamer error: pad problem."
 msgstr "GStreamer 内部错误: 填充问题。"
 
-#: gst/gsterror.c:142
 msgid "Internal GStreamer error: thread problem."
 msgstr "GStreamer 内部错误:线程问题。"
 
-#: gst/gsterror.c:144
 msgid "GStreamer error: negotiation problem."
 msgstr "GStreamer 错误: 协商问题。"
 
-#: gst/gsterror.c:146
 msgid "Internal GStreamer error: event problem."
 msgstr "GStreamer 内部错误:事件问题。"
 
-#: gst/gsterror.c:148
 msgid "Internal GStreamer error: seek problem."
 msgstr "GStreamer 内部错误:搜索问题。"
 
-#: gst/gsterror.c:150
 msgid "Internal GStreamer error: caps problem."
 msgstr "GStreamer 内部错误: 分析器问题。"
 
-#: gst/gsterror.c:152
 msgid "Internal GStreamer error: tag problem."
 msgstr "GStreamer 内部错误:标签问题。"
 
-#: gst/gsterror.c:154
 msgid "Your GStreamer installation is missing a plug-in."
 msgstr "您的 GStreamer 安装缺少插件。"
 
-#: gst/gsterror.c:156
 msgid "GStreamer error: clock problem."
 msgstr "GStreamer 错误:时钟错误。"
 
-#: gst/gsterror.c:158
-msgid "This application is trying to use GStreamer functionality that has been disabled."
+msgid ""
+"This application is trying to use GStreamer functionality that has been "
+"disabled."
 msgstr "此程序正尝试使用已被禁用的 GStreamer 功能。"
 
-#: gst/gsterror.c:172
 msgid "GStreamer encountered a general supporting library error."
 msgstr "GStreamer 遇到了常规支持库错误。"
 
-#: gst/gsterror.c:177
 msgid "Could not initialize supporting library."
 msgstr "无法初始化支持库。"
 
-#: gst/gsterror.c:179
 msgid "Could not close supporting library."
 msgstr "无法关闭支持库。"
 
-#: gst/gsterror.c:181
 msgid "Could not configure supporting library."
 msgstr "无法配置支持库。"
 
-#: gst/gsterror.c:183
 msgid "Encoding error."
 msgstr "编码错误。"
 
-#: gst/gsterror.c:196
 msgid "GStreamer encountered a general resource error."
 msgstr "GStreamer 遇到了常规资源错误。"
 
-#: gst/gsterror.c:201
 msgid "Resource not found."
 msgstr "资源未找到。"
 
-#: gst/gsterror.c:203
 msgid "Resource busy or not available."
 msgstr "资源忙或不可用。"
 
-#: gst/gsterror.c:205
 msgid "Could not open resource for reading."
 msgstr "无法打开资源读取。"
 
-#: gst/gsterror.c:207
 msgid "Could not open resource for writing."
 msgstr "无法打开资源写入。"
 
-#: gst/gsterror.c:209
 msgid "Could not open resource for reading and writing."
 msgstr "无法打开资源读取和写入。"
 
-#: gst/gsterror.c:211
 msgid "Could not close resource."
 msgstr "无法关闭资源。"
 
-#: gst/gsterror.c:213
 msgid "Could not read from resource."
 msgstr "无法从资源阅读。"
 
-#: gst/gsterror.c:215
 msgid "Could not write to resource."
 msgstr "无法写入资源。"
 
-#: gst/gsterror.c:217
 msgid "Could not perform seek on resource."
 msgstr "无法在资源上执行搜索。"
 
-#: gst/gsterror.c:219
 msgid "Could not synchronize on resource."
 msgstr "无法在资源上同步。"
 
-#: gst/gsterror.c:221
 msgid "Could not get/set settings from/on resource."
 msgstr "无法从资源获得设置或在资源上设定设置。"
 
-#: gst/gsterror.c:223
 msgid "No space left on the resource."
 msgstr "资源上无剩余空间。"
 
-#: gst/gsterror.c:225
 msgid "Not authorized to access resource."
 msgstr "无权访问资源。"
 
-#: gst/gsterror.c:238
 msgid "GStreamer encountered a general stream error."
 msgstr "GStreamer 遇到了常规流错误。"
 
-#: gst/gsterror.c:243
 msgid "Element doesn't implement handling of this stream. Please file a bug."
 msgstr "组件未实现对此流的处理。请提交错误报告。"
 
-#: gst/gsterror.c:246
 msgid "Could not determine type of stream."
 msgstr "无法确定流类型。"
 
-#: gst/gsterror.c:248
 msgid "The stream is of a different type than handled by this element."
 msgstr "此流的类型与此组件可处理的类型不符。"
 
-#: gst/gsterror.c:251
 msgid "There is no codec present that can handle the stream's type."
 msgstr "没有可处理此流类型的编解码器。"
 
-#: gst/gsterror.c:253
 msgid "Could not decode stream."
 msgstr "无法解码流。"
 
-#: gst/gsterror.c:255
 msgid "Could not encode stream."
 msgstr "无法编码流。"
 
-#: gst/gsterror.c:257
 msgid "Could not demultiplex stream."
 msgstr "无法解码多工传送的流。"
 
-#: gst/gsterror.c:259
 msgid "Could not multiplex stream."
 msgstr "无法编码多工传送的流。"
 
-#: gst/gsterror.c:261
 msgid "The stream is in the wrong format."
 msgstr "此流的格式错误。"
 
-#: gst/gsterror.c:263
 msgid "The stream is encrypted and decryption is not supported."
 msgstr "此为加密流且不支持解密。"
 
-#: gst/gsterror.c:265
-msgid "The stream is encrypted and can't be decrypted because no suitable key has been supplied."
+msgid ""
+"The stream is encrypted and can't be decrypted because no suitable key has "
+"been supplied."
 msgstr "此为加密流,而且由于未提供合适的密钥因此无法解密。"
 
-#: gst/gsterror.c:305
 #, c-format
 msgid "No error message for domain %s."
 msgstr "域 %s 无错误信息。"
 
-#: gst/gsterror.c:313
 #, c-format
 msgid "No standard error message for domain %s and code %d."
 msgstr "域 %s 和代码 %d 中无标准错误信息。"
 
-#: gst/gstpipeline.c:562
 msgid "Selected clock cannot be used in pipeline."
 msgstr "选中的时钟序列无法用在管道中。"
 
-#: gst/gstregistry.c:1694
 #, c-format
 msgid "Error writing registry cache to %s: %s"
 msgstr "寄存器缓存写入 %s 时出错: %s"
 
-#: gst/gsttaglist.c:108
 msgid "title"
 msgstr "标题"
 
-#: gst/gsttaglist.c:108
 msgid "commonly used title"
 msgstr "公用标题"
 
-#: gst/gsttaglist.c:111
 msgid "title sortname"
 msgstr "排序后的标题名"
 
-#: gst/gsttaglist.c:111
 msgid "commonly used title for sorting purposes"
 msgstr "用于排序的公用标题"
 
-#: gst/gsttaglist.c:114
 msgid "artist"
 msgstr "艺术家"
 
-#: gst/gsttaglist.c:115
 msgid "person(s) responsible for the recording"
 msgstr "负责录制的个人"
 
-#: gst/gsttaglist.c:119
 msgid "artist sortname"
 msgstr "排序后的艺术家"
 
-#: gst/gsttaglist.c:120
 msgid "person(s) responsible for the recording for sorting purposes"
 msgstr "用于排序的负责录制的人名"
 
-#: gst/gsttaglist.c:123
 msgid "album"
 msgstr "专辑"
 
-#: gst/gsttaglist.c:124
 msgid "album containing this data"
 msgstr "包含此数据的专辑"
 
-#: gst/gsttaglist.c:127
 msgid "album sortname"
 msgstr "排序后的专辑名"
 
-#: gst/gsttaglist.c:128
 msgid "album containing this data for sorting purposes"
 msgstr "用于排序的专辑名"
 
-#: gst/gsttaglist.c:131
 msgid "album artist"
 msgstr "艺术家列表"
 
-#: gst/gsttaglist.c:132
 msgid "The artist of the entire album, as it should be displayed"
 msgstr "用于显示的整张专辑的艺术家"
 
-#: gst/gsttaglist.c:136
 msgid "album artist sortname"
 msgstr "排序后的艺术家名"
 
-#: gst/gsttaglist.c:137
 msgid "The artist of the entire album, as it should be sorted"
 msgstr "用于排序的整张专辑的艺术家名"
 
-#: gst/gsttaglist.c:139
 msgid "date"
 msgstr "日期"
 
-#: gst/gsttaglist.c:139
 msgid "date the data was created (as a GDate structure)"
 msgstr "创建数据的日期(为 GDate 结构)"
 
-#: gst/gsttaglist.c:141
 msgid "datetime"
 msgstr "日期和时间"
 
-#: gst/gsttaglist.c:142
 msgid "date and time the data was created (as a GstDateTime structure)"
 msgstr "创建数据的日期和时间为 GDate 结构)"
 
-#: gst/gsttaglist.c:146
 msgid "genre"
 msgstr "流派"
 
-#: gst/gsttaglist.c:147
 msgid "genre this data belongs to"
 msgstr "此数据所属的流派"
 
-#: gst/gsttaglist.c:150
 msgid "comment"
 msgstr "注释"
 
-#: gst/gsttaglist.c:151
 msgid "free text commenting the data"
 msgstr "注释数据的任意文本"
 
-#: gst/gsttaglist.c:154
 msgid "extended comment"
 msgstr "更多注释"
 
-#: gst/gsttaglist.c:155
 msgid "free text commenting the data in key=value or key[en]=comment form"
 msgstr "以“关键词=值或 key[en]=注释”这种形式注释数据的任意文本"
 
-#: gst/gsttaglist.c:159
 msgid "track number"
 msgstr "音轨编号"
 
-#: gst/gsttaglist.c:160
 msgid "track number inside a collection"
 msgstr "收藏集中的音轨编号"
 
-#: gst/gsttaglist.c:163
 msgid "track count"
 msgstr "音轨数"
 
-#: gst/gsttaglist.c:164
 msgid "count of tracks inside collection this track belongs to"
 msgstr "此音轨所属的收藏集中的音轨数"
 
-#: gst/gsttaglist.c:168
 msgid "disc number"
 msgstr "碟片编号"
 
-#: gst/gsttaglist.c:169
 msgid "disc number inside a collection"
 msgstr "收藏集中的碟片编号"
 
-#: gst/gsttaglist.c:172
 msgid "disc count"
 msgstr "碟片数"
 
-#: gst/gsttaglist.c:173
 msgid "count of discs inside collection this disc belongs to"
 msgstr "此碟所属的收藏集中的碟片数"
 
-#: gst/gsttaglist.c:177
 msgid "location"
 msgstr "位置"
 
-#: gst/gsttaglist.c:177
-msgid "Origin of media as a URI (location, where the original of the file or stream is hosted)"
+msgid ""
+"Origin of media as a URI (location, where the original of the file or stream "
+"is hosted)"
 msgstr "媒体来源作为 URI 地址(原始文件或流所在的位置)"
 
-#: gst/gsttaglist.c:182
 msgid "homepage"
 msgstr "主页"
 
-#: gst/gsttaglist.c:183
 msgid "Homepage for this media (i.e. artist or movie homepage)"
 msgstr "此媒体的主页(艺术家或电影等)"
 
-#: gst/gsttaglist.c:186
 msgid "description"
 msgstr "描述"
 
-#: gst/gsttaglist.c:187
 msgid "short text describing the content of the data"
 msgstr "描述数据内容的简要文本"
 
-#: gst/gsttaglist.c:190
 msgid "version"
 msgstr "版本"
 
-#: gst/gsttaglist.c:190
 msgid "version of this data"
 msgstr "此数据的版本"
 
-#: gst/gsttaglist.c:192
 msgid "ISRC"
 msgstr "ISRC"
 
-#: gst/gsttaglist.c:194
 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
 msgstr "International Standard Recording Code - see http://www.ifpi.org/isrc/"
 
-#: gst/gsttaglist.c:198
 msgid "organization"
 msgstr "组织"
 
-#: gst/gsttaglist.c:201
 msgid "copyright"
 msgstr "版权"
 
-#: gst/gsttaglist.c:201
 msgid "copyright notice of the data"
 msgstr "数据的版权警告"
 
-#: gst/gsttaglist.c:203
 msgid "copyright uri"
 msgstr "版权 uri"
 
-#: gst/gsttaglist.c:204
 msgid "URI to the copyright notice of the data"
 msgstr "数据的版权警告 URI"
 
-#: gst/gsttaglist.c:206
 msgid "encoded by"
 msgstr "编码者为"
 
-#: gst/gsttaglist.c:206
 msgid "name of the encoding person or organization"
 msgstr "进行编码的人或组织"
 
-#: gst/gsttaglist.c:210
 msgid "contact"
 msgstr "联系人"
 
-#: gst/gsttaglist.c:210
 msgid "contact information"
 msgstr "联系人信息"
 
-#: gst/gsttaglist.c:212
 msgid "license"
 msgstr "许可证"
 
-#: gst/gsttaglist.c:212
 msgid "license of data"
 msgstr "数据许可证"
 
-#: gst/gsttaglist.c:214
 msgid "license uri"
 msgstr "许可证 uri"
 
-#: gst/gsttaglist.c:215
 msgid "URI to the license of the data"
 msgstr "数据许可证的 URI"
 
-#: gst/gsttaglist.c:218
 msgid "performer"
 msgstr "演奏者"
 
-#: gst/gsttaglist.c:219
 msgid "person(s) performing"
 msgstr "演奏者"
 
-#: gst/gsttaglist.c:222
 msgid "composer"
 msgstr "作曲人"
 
-#: gst/gsttaglist.c:223
 msgid "person(s) who composed the recording"
 msgstr "负责录制的人"
 
-#: gst/gsttaglist.c:227
 msgid "conductor"
 msgstr "指挥"
 
-#: gst/gsttaglist.c:228
 msgid "conductor/performer refinement"
 msgstr "现场指挥/演奏者"
 
-#: gst/gsttaglist.c:231
 msgid "duration"
 msgstr "时期"
 
-#: gst/gsttaglist.c:231
 msgid "length in GStreamer time units (nanoseconds)"
 msgstr "GStreamer 时间单位的长度(纳秒)"
 
-#: gst/gsttaglist.c:234
 msgid "codec"
 msgstr "编码"
 
-#: gst/gsttaglist.c:235
 msgid "codec the data is stored in"
 msgstr "数据以...编码存储"
 
-#: gst/gsttaglist.c:238
 msgid "video codec"
 msgstr "视频编码"
 
-#: gst/gsttaglist.c:238
 msgid "codec the video data is stored in"
 msgstr "视频数据以...编码存储"
 
-#: gst/gsttaglist.c:241
 msgid "audio codec"
 msgstr "音频编码"
 
-#: gst/gsttaglist.c:241
 msgid "codec the audio data is stored in"
 msgstr "音频数据以...编码存储"
 
-#: gst/gsttaglist.c:244
 msgid "subtitle codec"
 msgstr "字幕编码"
 
-#: gst/gsttaglist.c:244
 msgid "codec the subtitle data is stored in"
 msgstr "字幕编码数据保存在"
 
-#: gst/gsttaglist.c:246
 msgid "container format"
 msgstr "容器格式"
 
-#: gst/gsttaglist.c:247
 msgid "container format the data is stored in"
 msgstr "用于储存数据的容器格式"
 
-#: gst/gsttaglist.c:249
 msgid "bitrate"
 msgstr "比特率"
 
-#: gst/gsttaglist.c:249
 msgid "exact or average bitrate in bits/s"
 msgstr "精确或平均比特率(比特/秒)"
 
-#: gst/gsttaglist.c:251
 msgid "nominal bitrate"
 msgstr "名义比特率"
 
-#: gst/gsttaglist.c:251
 msgid "nominal bitrate in bits/s"
 msgstr "名义比特率(比特/秒)"
 
-#: gst/gsttaglist.c:253
 msgid "minimum bitrate"
 msgstr "最小比特率"
 
-#: gst/gsttaglist.c:253
 msgid "minimum bitrate in bits/s"
 msgstr "最小比特率(比特/秒)"
 
-#: gst/gsttaglist.c:255
 msgid "maximum bitrate"
 msgstr "最大比特率"
 
-#: gst/gsttaglist.c:255
 msgid "maximum bitrate in bits/s"
 msgstr "最大比特率(比特/秒)"
 
-#: gst/gsttaglist.c:258
 msgid "encoder"
 msgstr "编码器"
 
-#: gst/gsttaglist.c:258
 msgid "encoder used to encode this stream"
 msgstr "用于编码此流的编码器"
 
-#: gst/gsttaglist.c:261
 msgid "encoder version"
 msgstr "编码器版本"
 
-#: gst/gsttaglist.c:262
 msgid "version of the encoder used to encode this stream"
 msgstr "用于编码此流的编码器版本"
 
-#: gst/gsttaglist.c:264
 msgid "serial"
 msgstr "序列号"
 
-#: gst/gsttaglist.c:264
 msgid "serial number of track"
 msgstr "音轨的序列号"
 
-#: gst/gsttaglist.c:266
 msgid "replaygain track gain"
 msgstr "重放增益音轨增益"
 
-#: gst/gsttaglist.c:266
 msgid "track gain in db"
 msgstr "音轨增益(db)"
 
-#: gst/gsttaglist.c:268
 msgid "replaygain track peak"
 msgstr "重放增益音轨峰值"
 
-#: gst/gsttaglist.c:268
 msgid "peak of the track"
 msgstr "音轨峰值"
 
-#: gst/gsttaglist.c:270
 msgid "replaygain album gain"
 msgstr "重放增益专辑增益"
 
-#: gst/gsttaglist.c:270
 msgid "album gain in db"
 msgstr "专辑增益(db)"
 
-#: gst/gsttaglist.c:272
 msgid "replaygain album peak"
 msgstr "回放增益专辑峰值"
 
-#: gst/gsttaglist.c:272
 msgid "peak of the album"
 msgstr "专辑峰值"
 
-#: gst/gsttaglist.c:274
 msgid "replaygain reference level"
 msgstr "回放增益参考级别"
 
-#: gst/gsttaglist.c:275
 msgid "reference level of track and album gain values"
 msgstr "音轨和专辑增益的参考级别值"
 
-#: gst/gsttaglist.c:277
 msgid "language code"
 msgstr "语言代码"
 
-#: gst/gsttaglist.c:278
 msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
 msgstr "此流的语言代码(依照 ISO-639-1 或 ISO-639-2 规范)"
 
-#: gst/gsttaglist.c:281
 msgid "language name"
 msgstr "语言名称"
 
-#: gst/gsttaglist.c:282
 msgid "freeform name of the language this stream is in"
 msgstr "此流的语言名称(freeform格式)"
 
-#: gst/gsttaglist.c:284
 msgid "image"
 msgstr "图像"
 
-#: gst/gsttaglist.c:284
 msgid "image related to this stream"
 msgstr "有关此流的图像"
 
 #. TRANSLATORS: 'preview image' = image that shows a preview of the full image
-#: gst/gsttaglist.c:288
 msgid "preview image"
 msgstr "上一图像"
 
-#: gst/gsttaglist.c:288
 msgid "preview image related to this stream"
 msgstr "有关此流的上一图像"
 
-#: gst/gsttaglist.c:290
 msgid "attachment"
 msgstr "附加信息"
 
-#: gst/gsttaglist.c:290
 msgid "file attached to this stream"
 msgstr "有关此流的文件"
 
-#: gst/gsttaglist.c:293
 msgid "beats per minute"
 msgstr "每分钟节拍数"
 
-#: gst/gsttaglist.c:294
 msgid "number of beats per minute in audio"
 msgstr "音频中的每分钟节拍数"
 
-#: gst/gsttaglist.c:296
 msgid "keywords"
 msgstr "简要文本"
 
-#: gst/gsttaglist.c:296
 msgid "comma separated keywords describing the content"
 msgstr "逗号分隔的描述数据内容的简要文本"
 
-#: gst/gsttaglist.c:299
 msgid "geo location name"
 msgstr "地理位置名称"
 
-#: gst/gsttaglist.c:300
-msgid "human readable descriptive location of where the media has been recorded or produced"
+msgid ""
+"human readable descriptive location of where the media has been recorded or "
+"produced"
 msgstr "有关此媒体在何处录制或生产的可读信息"
 
-#: gst/gsttaglist.c:303
 msgid "geo location latitude"
 msgstr "地理纬度"
 
-#: gst/gsttaglist.c:304
-msgid "geo latitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the equator, negative values for southern latitudes)"
-msgstr "根据 WGS84(赤道为 0 度,南半球为负值)标准确定的地理纬度值(有关此媒体在哪里录制或产生的)"
+msgid ""
+"geo latitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the equator, negative values for "
+"southern latitudes)"
+msgstr ""
+"根据 WGS84(赤道为 0 度,南半球为负值)标准确定的地理纬度值(有关此媒体在哪里"
+"录制或产生的)"
 
-#: gst/gsttaglist.c:308
 msgid "geo location longitude"
 msgstr "地理经度"
 
-#: gst/gsttaglist.c:309
-msgid "geo longitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  negative values for western longitudes)"
-msgstr "根据 WGS84(英国格林威治本初子午线上为 0 度,西半球为负值)标准确定的地理经度值(有关此媒体在哪里录制或产生的)"
+msgid ""
+"geo longitude location of where the media has been recorded or produced in "
+"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
+"negative values for western longitudes)"
+msgstr ""
+"根据 WGS84(英国格林威治本初子午线上为 0 度,西半球为负值)标准确定的地理经度"
+"值(有关此媒体在哪里录制或产生的)"
 
-#: gst/gsttaglist.c:313
 msgid "geo location elevation"
 msgstr "地理海拔"
 
-#: gst/gsttaglist.c:314
-msgid "geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level)"
-msgstr "根据 WGS84(平均海平面为 0 米)标准确定的地理海拔高度(有关此媒体在哪里录制或产生的)"
+msgid ""
+"geo elevation of where the media has been recorded or produced in meters "
+"according to WGS84 (zero is average sea level)"
+msgstr ""
+"根据 WGS84(平均海平面为 0 米)标准确定的地理海拔高度(有关此媒体在哪里录制或"
+"产生的)"
 
-#: gst/gsttaglist.c:317
 msgid "geo location country"
 msgstr "地理位置(国家)"
 
-#: gst/gsttaglist.c:318
 msgid "country (english name) where the media has been recorded or produced"
 msgstr "媒体录制或制作地所在国家(的英语名)"
 
-#: gst/gsttaglist.c:321
 msgid "geo location city"
 msgstr "地理位置(城市)"
 
-#: gst/gsttaglist.c:322
 msgid "city (english name) where the media has been recorded or produced"
 msgstr "媒体录制或制作地所在城市(的英语名)"
 
-#: gst/gsttaglist.c:325
 msgid "geo location sublocation"
 msgstr "地理区域(区)"
 
-#: gst/gsttaglist.c:326
-msgid "a location within a city where the media has been produced or created (e.g. the neighborhood)"
+msgid ""
+"a location within a city where the media has been produced or created (e.g. "
+"the neighborhood)"
 msgstr "媒体录制或制作地所在城市的区(的英语名),如“the neighborhood”"
 
-#: gst/gsttaglist.c:329
 msgid "geo location horizontal error"
 msgstr "地理位置(水平误差)"
 
-#: gst/gsttaglist.c:330
 msgid "expected error of the horizontal positioning measures (in meters)"
 msgstr "预期的水平定位测量误差(单位为米)"
 
-#: gst/gsttaglist.c:333
 msgid "geo location movement speed"
 msgstr "地理位置(移动速度)"
 
-#: gst/gsttaglist.c:334
-msgid "movement speed of the capturing device while performing the capture in m/s"
+msgid ""
+"movement speed of the capturing device while performing the capture in m/s"
 msgstr "进行捕捉时捕捉设备的移动速度,单位:米每秒"
 
-#: gst/gsttaglist.c:337
 msgid "geo location movement direction"
 msgstr "地理位置(移动方向)"
 
-#: gst/gsttaglist.c:338
-msgid "indicates the movement direction of the device performing the capture of a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise"
-msgstr "进行捕捉时捕捉设备的移动方向。它由角度的浮点值表示,0为地理北极,且按顺时针方向增大"
+msgid ""
+"indicates the movement direction of the device performing the capture of a "
+"media. It is represented as degrees in floating point representation, 0 "
+"means the geographic north, and increases clockwise"
+msgstr ""
+"进行捕捉时捕捉设备的移动方向。它由角度的浮点值表示,0为地理北极,且按顺时针方"
+"向增大"
 
-#: gst/gsttaglist.c:343
 msgid "geo location capture direction"
 msgstr "地理位置(捕获方向)"
 
-#: gst/gsttaglist.c:344
-msgid "indicates the direction the device is pointing to when capturing  a media. It is represented as degrees in floating point  representation, 0 means the geographic north, and increases clockwise"
-msgstr "进行捕捉时捕捉设备的朝向。它由角度的浮点值表示,0为地理北极,且按顺时针方向增大"
+msgid ""
+"indicates the direction the device is pointing to when capturing  a media. "
+"It is represented as degrees in floating point  representation, 0 means the "
+"geographic north, and increases clockwise"
+msgstr ""
+"进行捕捉时捕捉设备的朝向。它由角度的浮点值表示,0为地理北极,且按顺时针方向增"
+"大"
 
 #. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
-#: gst/gsttaglist.c:350
 msgid "show name"
 msgstr "显示名称"
 
-#: gst/gsttaglist.c:351
 msgid "Name of the tv/podcast/series show the media is from"
 msgstr "tv/podcast/series 的名称,此名称代表媒体来自何处"
 
 #. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
-#: gst/gsttaglist.c:356
 msgid "show sortname"
 msgstr "显示排序名"
 
-#: gst/gsttaglist.c:357
-msgid "Name of the tv/podcast/series show the media is from, for sorting purposes"
+msgid ""
+"Name of the tv/podcast/series show the media is from, for sorting purposes"
 msgstr "tv/podcast/series 名称代表此媒体来自何处(排名显示)"
 
-#: gst/gsttaglist.c:360
 msgid "episode number"
 msgstr "年代"
 
-#: gst/gsttaglist.c:361
 msgid "The episode number in the season the media is part of"
 msgstr "媒体是一季中的第几场景"
 
-#: gst/gsttaglist.c:364
 msgid "season number"
 msgstr "季号"
 
-#: gst/gsttaglist.c:365
 msgid "The season number of the show the media is part of"
 msgstr "媒体是第几季"
 
-#: gst/gsttaglist.c:368
 msgid "lyrics"
 msgstr "歌词"
 
-#: gst/gsttaglist.c:368
 msgid "The lyrics of the media, commonly used for songs"
 msgstr "媒体歌词,通常用于歌曲"
 
-#: gst/gsttaglist.c:371
 msgid "composer sortname"
 msgstr "排序后的作曲者"
 
-#: gst/gsttaglist.c:372
 msgid "person(s) who composed the recording, for sorting purposes"
 msgstr "用于排序的负责制作的人名"
 
-#: gst/gsttaglist.c:374
 msgid "grouping"
 msgstr "媒体组"
 
-#: gst/gsttaglist.c:375
-msgid "Groups related media that spans multiple tracks, like the different pieces of a concerto. It is a higher level than a track, but lower than an album"
-msgstr "媒体组横跨多个音轨,就好像是一场音乐会的不同时段。这个概念范围比音轨高,但小于专辑"
+msgid ""
+"Groups related media that spans multiple tracks, like the different pieces "
+"of a concerto. It is a higher level than a track, but lower than an album"
+msgstr ""
+"媒体组横跨多个音轨,就好像是一场音乐会的不同时段。这个概念范围比音轨高,但小"
+"于专辑"
 
-#: gst/gsttaglist.c:379
 msgid "user rating"
 msgstr "用户评级"
 
-#: gst/gsttaglist.c:380
-msgid "Rating attributed by a user. The higher the rank, the more the user likes this media"
+msgid ""
+"Rating attributed by a user. The higher the rank, the more the user likes "
+"this media"
 msgstr "由用户提供的评级。评级越高,意味着有越多的用户喜欢这一媒体"
 
-#: gst/gsttaglist.c:383
 msgid "device manufacturer"
 msgstr "设备商"
 
-#: gst/gsttaglist.c:384
 msgid "Manufacturer of the device used to create this media"
 msgstr "用于创建此媒体的设备的生产厂家"
 
-#: gst/gsttaglist.c:386
 msgid "device model"
 msgstr "设备模式"
 
-#: gst/gsttaglist.c:387
 msgid "Model of the device used to create this media"
 msgstr "用于创建此媒体的设备的模式"
 
-#: gst/gsttaglist.c:389
 msgid "application name"
 msgstr "应用程序名称"
 
-#: gst/gsttaglist.c:390
 msgid "Application used to create the media"
 msgstr "用于创建此媒体的应用程序"
 
-#: gst/gsttaglist.c:392
 msgid "application data"
 msgstr "应用程序数据"
 
-#: gst/gsttaglist.c:393
 msgid "Arbitrary application data to be serialized into the media"
 msgstr "被序列化后写入到媒体中的应用程序数据"
 
-#: gst/gsttaglist.c:395
 msgid "image orientation"
 msgstr "图像方向"
 
-#: gst/gsttaglist.c:396
 msgid "How the image should be rotated or flipped before display"
 msgstr "指示应如何旋转或翻转该图像后再显示它"
 
-#: gst/gsttaglist.c:399
 msgid "publisher"
 msgstr "出版者"
 
-#: gst/gsttaglist.c:400
 msgid "Name of the label or publisher"
 msgstr "标签或出版商的名称"
 
-#: gst/gsttaglist.c:403
 msgid "interpreted-by"
 msgstr "解说者为"
 
-#: gst/gsttaglist.c:404
 msgid "Information about the people behind a remix and similar interpretations"
 msgstr "混音(或类似解说)作者的信息"
 
-#: gst/gsttaglist.c:408
 msgid "midi-base-note"
 msgstr "基于midi的注解"
 
-#: gst/gsttaglist.c:408
 msgid "Midi note number of the audio track."
 msgstr "音频轨的midi注解编号"
 
-#: gst/gsttaglist.c:411
 msgid "private-data"
 msgstr "私有数据"
 
-#: gst/gsttaglist.c:411
 msgid "Private data"
 msgstr "专有用途的数据"
 
-#: gst/gsttaglist.c:451
+#. separator between two strings
 msgid ", "
 msgstr ", "
 
-#: gst/gsturi.c:648
+#, c-format
+msgid "Invalid URI: %s"
+msgstr "无效的 URI:%s"
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "未找到用于 %s 协议的URI处理器"
 
-#: gst/gsturi.c:823
 #, c-format
 msgid "URI scheme '%s' not supported"
 msgstr "不支持URI方案“%s”"
 
-#: gst/gstutils.c:2632 tools/gst-launch.c:325
 #, c-format
 msgid "ERROR: from element %s: %s\n"
 msgstr "错误:来自组件 %s:%s\n"
 
-#: gst/gstutils.c:2634 tools/gst-launch.c:327 tools/gst-launch.c:697
 #, c-format
 msgid ""
 "Additional debug info:\n"
@@ -1009,438 +827,372 @@ msgstr ""
 "额外的调试信息:\n"
 "%s\n"
 
-#: gst/parse/grammar.y:216
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr "链接没有源 [汇为 %s@%p]"
 
-#: gst/parse/grammar.y:221
 #, c-format
 msgid "link has no sink [source=%s@%p]"
 msgstr "链接没有汇 [源为 %s@%p]"
 
-#: gst/parse/grammar.y:413
+msgid "No such property."
+msgstr "找不到该属性。"
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "组件“%2$s”中找不到属性“%1$s”"
 
-#: gst/parse/grammar.y:454
+#, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "元素“%s”不是GstPreset"
+
+#, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "无法设置元素“%2$s”中的预设属性“%1$s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "无组件“%s”"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "无法设置组件“%2$s”中的属性“%1$s”为“%3$s”"
 
-#: gst/parse/grammar.y:507
+#, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "无法设置元素“%2$s”中子元素的属性“%1$s”为“%3$s”"
+
 msgid "Delayed linking failed."
 msgstr "延迟链接失败。"
 
-#: gst/parse/grammar.y:719 gst/parse/grammar.y:724
 #, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
 msgstr "无法将 %s 链接到 %s,%s 无法处理分析器 %s"
 
-#: gst/parse/grammar.y:729
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
 msgstr "无法将 %s 链接到 %s,没有可以处理分析器 %s 的元素"
 
-#: gst/parse/grammar.y:733
 #, c-format
 msgid "could not link %s to %s with caps %s"
 msgstr "无法将带有分析器 %3$s 的 %1$s 链接到 %2$s"
 
-#: gst/parse/grammar.y:739
 #, c-format
 msgid "could not link %s to %s"
 msgstr "无法将 %s 链接到 %s"
 
-#: gst/parse/grammar.y:816
-#, c-format
-msgid "no element \"%s\""
-msgstr "无组件“%s”"
-
-#: gst/parse/grammar.y:877
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "未预期的引用“%s” - 忽略"
 
-#: gst/parse/grammar.y:883
 #, c-format
 msgid "unexpected pad-reference \"%s\" - ignoring"
 msgstr "未预期的填充引用“%s” - 忽略"
 
-#: gst/parse/grammar.y:915 gst/parse/grammar.y:924
 #, c-format
 msgid "could not parse caps \"%s\""
 msgstr "无法解析分析器“%s”"
 
-#: gst/parse/grammar.y:952
 #, c-format
 msgid "no sink element for URI \"%s\""
 msgstr "URI“%s”上无消音组件"
 
-#: gst/parse/grammar.y:971
 #, c-format
 msgid "no source element for URI \"%s\""
 msgstr "URI“%s”无源组件"
 
-#: gst/parse/grammar.y:1061
 msgid "syntax error"
 msgstr "语法错误"
 
-#: gst/parse/grammar.y:1084
 #, c-format
 msgid "specified empty bin \"%s\", not allowed"
 msgstr "不允许指定空储仓“%s”"
 
-#: gst/parse/grammar.y:1094
 #, c-format
 msgid "no bin \"%s\", unpacking elements"
 msgstr "找不到用于解包组件的储仓“%s”"
 
-#: gst/parse/grammar.y:1125
 msgid "empty pipeline not allowed"
 msgstr "不允许空管道"
 
-#: libs/gst/base/gstbasesink.c:1210
 msgid "Pipeline construction is invalid, please add queues."
 msgstr "无法建立有效的管道,请改用队列。"
 
-#: libs/gst/base/gstbasesink.c:3004
 msgid "A lot of buffers are being dropped."
 msgstr "许多缓冲被丢弃。"
 
-#: libs/gst/base/gstbasesink.c:3496
 msgid "Internal data flow problem."
 msgstr "内部数据流问题。"
 
-#: libs/gst/base/gstbasesink.c:4222 libs/gst/base/gstbasesrc.c:2702
 msgid "Internal data flow error."
 msgstr "内部数据流错误。"
 
-#: libs/gst/base/gstbasesrc.c:2632
 msgid "Internal clock error."
 msgstr "内部时钟错误。"
 
-#: libs/gst/base/gstbasesrc.c:2660 plugins/elements/gstdownloadbuffer.c:842
-#: plugins/elements/gstdownloadbuffer.c:1265
 msgid "Failed to map buffer."
 msgstr "映射缓冲失败。"
 
-#: plugins/elements/gstcapsfilter.c:128
 msgid "Filter caps"
 msgstr "过滤分析器"
 
-#: plugins/elements/gstcapsfilter.c:129
-msgid "Restrict the possible allowed capabilities (NULL means ANY). Setting this property takes a reference to the supplied GstCaps object."
-msgstr "限制所允许的功能 (NULL 表示无限制)。此属性可以为所提供的 GstCaps 对象设置一个关联应用。"
+msgid ""
+"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
+"property takes a reference to the supplied GstCaps object."
+msgstr ""
+"限制所允许的功能 (NULL 表示无限制)。此属性可以为所提供的 GstCaps 对象设置一个"
+"关联应用。"
 
-#: plugins/elements/gstcapsfilter.c:136
 msgid "Caps Change Mode"
 msgstr "分析器变更模式"
 
-#: plugins/elements/gstcapsfilter.c:137
 msgid "Filter caps change behaviour"
 msgstr "过滤分析器变更行为"
 
-#: plugins/elements/gstdownloadbuffer.c:927 plugins/elements/gstqueue2.c:1792
 msgid "No Temp directory specified."
 msgstr "未指定临时目录。"
 
-#: plugins/elements/gstdownloadbuffer.c:933 plugins/elements/gstqueue2.c:1798
 #, c-format
 msgid "Could not create temp file \"%s\"."
 msgstr "无法创建临时文件“%s”。"
 
-#: plugins/elements/gstdownloadbuffer.c:941 plugins/elements/gstfilesrc.c:537
-#: plugins/elements/gstqueue2.c:1806
 #, c-format
 msgid "Could not open file \"%s\" for reading."
 msgstr "无法打开文件“%s”读取。"
 
-#: plugins/elements/gstdownloadbuffer.c:1274 plugins/elements/gstqueue2.c:2225
 msgid "Error while writing to download file."
 msgstr "写入下载文件时出错。"
 
-#: plugins/elements/gstfilesink.c:404
 msgid "No file name specified for writing."
 msgstr "未指定写入的文件名。"
 
-#: plugins/elements/gstfilesink.c:410
 #, c-format
 msgid "Could not open file \"%s\" for writing."
 msgstr "无法打开文件“%s”写入。"
 
-#: plugins/elements/gstfilesink.c:422 plugins/elements/gstfilesink.c:426
 #, c-format
 msgid "Error closing file \"%s\"."
 msgstr "关闭文件“%s”出错。"
 
-#: plugins/elements/gstfilesink.c:605
 #, c-format
 msgid "Error while seeking in file \"%s\"."
 msgstr "在文件“%s”搜寻时出错。"
 
-#: plugins/elements/gstfilesink.c:613 plugins/elements/gstfilesink.c:620
-#: plugins/elements/gstfilesink.c:793 plugins/elements/gstfilesink.c:848
 #, c-format
 msgid "Error while writing to file \"%s\"."
 msgstr "写入文件“%s”时出错。"
 
-#: plugins/elements/gstfilesrc.c:525
 msgid "No file name specified for reading."
 msgstr "未指定读取的文件名。"
 
-#: plugins/elements/gstfilesrc.c:546
 #, c-format
 msgid "Could not get info on \"%s\"."
 msgstr "无法在“%s”上获得信息。"
 
-#: plugins/elements/gstfilesrc.c:552
 #, c-format
 msgid "\"%s\" is a directory."
 msgstr "“%s”不是目录。"
 
-#: plugins/elements/gstfilesrc.c:558
 #, c-format
 msgid "File \"%s\" is a socket."
 msgstr "文件“%s”是套接字。"
 
-#: plugins/elements/gstidentity.c:722
 msgid "Failed after iterations as requested."
 msgstr "在完成所要求的迭代操作后出错。"
 
-#: plugins/elements/gstidentity.c:903
 msgid "eos-after and error-after can't both be defined."
 msgstr "无法同时定义 eos-after 和 error-after。"
 
-#: plugins/elements/gsttypefindelement.c:251
 msgid "caps"
 msgstr "分析器"
 
-#: plugins/elements/gsttypefindelement.c:252
 msgid "detected capabilities in stream"
 msgstr "流中探测到的信息"
 
-#: plugins/elements/gsttypefindelement.c:255
 msgid "minimum"
 msgstr "最小"
 
-#: plugins/elements/gsttypefindelement.c:260
 msgid "force caps"
 msgstr "强制分析"
 
-#: plugins/elements/gsttypefindelement.c:261
 msgid "force caps without doing a typefind"
 msgstr "不做类型查找的强制分析"
 
-#: plugins/elements/gsttypefindelement.c:987
-#: plugins/elements/gsttypefindelement.c:1009
 msgid "Stream doesn't contain enough data."
 msgstr "流中没有足够数据。"
 
-#: plugins/elements/gsttypefindelement.c:1129
 msgid "Stream contains no data."
 msgstr "流中不含数据"
 
-#: tools/gst-inspect.c:280
 #, c-format
 msgid "%sImplemented Interfaces%s:\n"
 msgstr "%s实现的接口%s:\n"
 
-#: tools/gst-inspect.c:390
 msgid "readable"
 msgstr "可读"
 
-#: tools/gst-inspect.c:395
 msgid "writable"
 msgstr "可写"
 
-#: tools/gst-inspect.c:400
 msgid "deprecated"
 msgstr "已废弃"
 
-#: tools/gst-inspect.c:404
 msgid "controllable"
 msgstr "可控制"
 
-#: tools/gst-inspect.c:410
+msgid "conditionally available"
+msgstr "部分情况下可用"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "可以在NULL、READY、PAUSED或PLAYING状态下改变"
 
-#: tools/gst-inspect.c:413
 msgid "changeable only in NULL, READY or PAUSED state"
 msgstr "只能在NULL、READY或PAUSED状态下改变"
 
-#: tools/gst-inspect.c:416
 msgid "changeable only in NULL or READY state"
 msgstr "只能在NULL、或READY状态下改变"
 
-#: tools/gst-inspect.c:1119
 msgid "Blacklisted files:"
 msgstr "文件黑名单:"
 
-#: tools/gst-inspect.c:1131 tools/gst-inspect.c:1264
 #, c-format
 msgid "%sTotal count%s: %s"
 msgstr "%s总数%s:%s"
 
-#: tools/gst-inspect.c:1133
 #, c-format
 msgid "%d blacklisted file"
 msgid_plural "%d blacklisted files"
 msgstr[0] "%d 个黑名单文件"
 
-#: tools/gst-inspect.c:1266
 #, c-format
 msgid "%d plugin"
 msgid_plural "%d plugins"
 msgstr[0] "%d 个插件"
 
-#: tools/gst-inspect.c:1269
 #, c-format
 msgid "%d blacklist entry"
 msgid_plural "%d blacklist entries"
 msgstr[0] "%d 个黑名单记录"
 
-#: tools/gst-inspect.c:1274
 #, c-format
 msgid "%d feature"
 msgid_plural "%d features"
 msgstr[0] "%d 个特性"
 
-#: tools/gst-inspect.c:1875
-#, c-format
-msgid "Error creating pipe: %s\n"
-msgstr "创建管道时出错:“%s\n"
-
-#: tools/gst-inspect.c:1881
-#, c-format
-msgid "Error forking: %s\n"
-msgstr "创建子进程时出错:%s\n"
-
-#: tools/gst-inspect.c:1917
-#, c-format
-msgid "Error reading from console: %s\n"
-msgstr "从终端中读取内容时出错:%s\n"
-
-#: tools/gst-inspect.c:1927
-#, c-format
-msgid "Error writing to console: %s\n"
-msgstr "写入到终端时出错:%s\n"
-
-#: tools/gst-inspect.c:1963
 msgid "Print all elements"
 msgstr "打印全部组件"
 
-#: tools/gst-inspect.c:1965
 msgid "Print list of blacklisted files"
 msgstr "显示黑名单文件列表"
 
-#: tools/gst-inspect.c:1967
 msgid ""
-"Print a machine-parsable list of features the specified plugin or all plugins provide.\n"
-"                                       Useful in connection with external automatic plugin installation mechanisms"
+"Print a machine-parsable list of features the specified plugin or all "
+"plugins provide.\n"
+"                                       Useful in connection with external "
+"automatic plugin installation mechanisms"
 msgstr ""
 "打印机器可解析的指定(或所有)插件提供的特性列表。\n"
 "                                       可以用于与外部自动插件安装机制的连接"
 
-#: tools/gst-inspect.c:1972
 msgid "List the plugin contents"
 msgstr "列出插件信息"
 
-#: tools/gst-inspect.c:1974
-msgid "A slashes ('/') separated list of types of elements (also known as klass) to list. (unordered)"
-msgstr "斜杠(“/”)用于将一系列元素类型(也叫做 klass)分割成(未排序的)类型列表。"
+msgid ""
+"A slashes ('/') separated list of types of elements (also known as klass) to "
+"list. (unordered)"
+msgstr ""
+"斜杠(“/”)用于将一系列元素类型(也叫做 klass)分割成(未排序的)类型列表。"
 
-#: tools/gst-inspect.c:1977
 msgid "Check if the specified element or plugin exists"
 msgstr "检查指定的组件或插件是否存在"
 
-#: tools/gst-inspect.c:1980
-msgid "When checking if an element or plugin exists, also check that its version is at least the version specified"
+msgid ""
+"When checking if an element or plugin exists, also check that its version is "
+"at least the version specified"
 msgstr "当检查组件或插件是否存在时,也检测它们的版本是否大于等于指定版本"
 
-#: tools/gst-inspect.c:1984
 msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "打印所支持的 URI 样式及它们的关联组件"
 
-#: tools/gst-inspect.c:1989
-msgid "Disable colors in output. You can also achieve the same by setting'GST_INSPECT_NO_COLORS' environment variable to any value."
-msgstr "禁止在输出中使用文字着色功能。您也可以通过设置“GST_INSPECT_NO_COLORS”环境变量(可以为任意值)来实现同样的效果。"
+msgid ""
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
+msgstr ""
+"禁止在输出中使用文字着色功能。您也可以通过设置“GST_INSPECT_NO_COLORS”环境变量"
+"(可以为任意值)来实现同样的效果。"
+
+msgid "Color output, even when not sending to a tty."
+msgstr "在输出中使用文字着色功能,即便输出目标不是终端(TTY)。"
 
-#: tools/gst-inspect.c:2146
 #, c-format
 msgid "Could not load plugin file: %s\n"
 msgstr "无法载入插件文件: %s\n"
 
-#: tools/gst-inspect.c:2151
 #, c-format
 msgid "No such element or plugin '%s'\n"
 msgstr "没有那样的组件或插件‘%s’\n"
 
-#: tools/gst-launch.c:252
 msgid "Index statistics"
 msgstr "索引统计"
 
-#: tools/gst-launch.c:578
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "设置播放管道 ...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "错误: 管道不想播放。\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "从组件“%2$s”获得消息 #%1$u(%3$s): "
 
-#: tools/gst-launch.c:582
 #, c-format
 msgid "Got message #%u from pad \"%s:%s\" (%s): "
 msgstr "从填充“%2$s:%3$s”获得消息 #%1$u(%4$s): "
 
-#: tools/gst-launch.c:586
 #, c-format
 msgid "Got message #%u from object \"%s\" (%s): "
 msgstr "从对象“%2$s”获得消息 #%1$u(%3$s): "
 
-#: tools/gst-launch.c:590
 #, c-format
 msgid "Got message #%u (%s): "
 msgstr "获得消息 #%u(%s): "
 
-#: tools/gst-launch.c:622
 #, c-format
 msgid "Got EOS from element \"%s\".\n"
 msgstr "收到来自组件“%s”的 EOS 信号。\n"
 
-#: tools/gst-launch.c:631
+msgid "EOS received - stopping pipeline...\n"
+msgstr "收到 EOS 信号 - 中止管道 ...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
 msgstr "找到标识      :由组件“%s”找到。\n"
 
-#: tools/gst-launch.c:634
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
 msgstr "找到标识      :由填充“%s:%s”找到。\n"
 
-#: tools/gst-launch.c:637
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
 msgstr "找到标识      :由对象“%s”找到。\n"
 
-#: tools/gst-launch.c:640
 msgid "FOUND TAG\n"
 msgstr "找到标识\n"
 
-#: tools/gst-launch.c:655
 #, c-format
 msgid "FOUND TOC      : found by element \"%s\".\n"
 msgstr "找到TOC      :由组件“%s”找到。\n"
 
-#: tools/gst-launch.c:658
 #, c-format
 msgid "FOUND TOC      : found by object \"%s\".\n"
 msgstr "找到TOC      :由对象“%s”找到。\n"
 
-#: tools/gst-launch.c:661
 msgid "FOUND TOC\n"
 msgstr "找到TOC\n"
 
-#: tools/gst-launch.c:678
 #, c-format
 msgid ""
 "INFO:\n"
@@ -1449,188 +1201,175 @@ msgstr ""
 "信息:\n"
 "%s\n"
 
-#: tools/gst-launch.c:695
 #, c-format
 msgid "WARNING: from element %s: %s\n"
 msgstr "警告:来自组件 %s:%s\n"
 
-#: tools/gst-launch.c:730
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "管道被 PREROLLED ...\n"
+
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "已加载预告片,等待缓冲完成...\n"
 
-#: tools/gst-launch.c:734
 msgid "Prerolled, waiting for progress to finish...\n"
 msgstr "已加载预告片,等待处理完成...\n"
 
-#: tools/gst-launch.c:746
 msgid "buffering..."
 msgstr "正在缓冲..."
 
-#: tools/gst-launch.c:757
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "缓冲完成,设置播放管道 ...\n"
 
-#: tools/gst-launch.c:765
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "正在缓冲,设置暂停管道 ...\n"
 
-#: tools/gst-launch.c:774
 msgid "Redistribute latency...\n"
 msgstr "重新分配延迟时间...\n"
 
-#: tools/gst-launch.c:785
 #, c-format
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "%2$s 发起请求时状态设置为 %1$s...\n"
 
-#: tools/gst-launch.c:801
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "中断: 中止管道 ...\n"
 
-#: tools/gst-launch.c:830
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "等待EOS信号时被中断 - 正在中止管道...\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "允许关闭时发出 EOS 信号 —— 强制对管道发出 EOS 信号\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "等待 EOS 信号...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "进度:(%s)%s\n"
 
-#: tools/gst-launch.c:843
 #, c-format
 msgid "Missing element: %s\n"
 msgstr "缺少组件:“%s”\n"
 
-#: tools/gst-launch.c:857
 #, c-format
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "从组件“%s”获取上下文:%s=%s\n"
 
-#: tools/gst-launch.c:991
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "错误: 管道不需要 preroll.\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "等待 EOS 信号时出现一个错误\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr "使用Windows高精度时钟,精度为%u毫秒\n"
+
 msgid "Output tags (also known as metadata)"
 msgstr "输出标识(也可认为是元数据)"
 
-#: tools/gst-launch.c:993
 msgid "Output TOC (chapters and editions)"
 msgstr "输出TOC(章节和版本)"
 
-#: tools/gst-launch.c:995
 msgid "Output status information and property notifications"
 msgstr "输出状态信息和属性通知"
 
-#: tools/gst-launch.c:997
 msgid "Do not print any progress information"
 msgstr "不打印任何进度信息"
 
-#: tools/gst-launch.c:999
 msgid "Output messages"
 msgstr "输出信息"
 
-#: tools/gst-launch.c:1001
-msgid "Do not output status information for the specified property if verbose output is enabled (can be used multiple times)"
+msgid ""
+"Do not output status information for the specified property if verbose "
+"output is enabled (can be used multiple times)"
 msgstr "如果启用了详细输出模式,不输出指定属性的状态信息(可以多次使用)"
 
-#: tools/gst-launch.c:1003
 msgid "PROPERTY-NAME"
 msgstr "属性名"
 
-#: tools/gst-launch.c:1005
 msgid "Do not install a fault handler"
 msgstr "不安装错误的处理程序"
 
-#: tools/gst-launch.c:1007
 msgid "Force EOS on sources before shutting the pipeline down"
 msgstr "关闭管道前强制对源发出 EOS 信号"
 
-#: tools/gst-launch.c:1010
 msgid "Gather and print index statistics"
 msgstr "收集并显示索引统计"
 
-#: tools/gst-launch.c:1077
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"不显示管道的当前位置。如果未指定此选项且输出目标为标准输出(stdout),将会显"
+"示当前位置。若要在stdout不为终端(TTY)时仍然输出当前位置,请使用“force-"
+"position”选项"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"允许在输出目标非TTY时显示管道的当前位置。如果同时指定了“no-position”选项,此"
+"选项将不起作用。"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "错误: 无法创建管道: %s。\n"
 
-#: tools/gst-launch.c:1081
 msgid "ERROR: pipeline could not be constructed.\n"
 msgstr "错误: 无法创建管道。\n"
 
-#: tools/gst-launch.c:1085
 #, c-format
 msgid "WARNING: erroneous pipeline: %s\n"
 msgstr "警告: 错误管道: %s\n"
 
-#: tools/gst-launch.c:1101
 msgid "ERROR: the 'pipeline' element wasn't found.\n"
 msgstr "错误: 未找到‘管道’组件。\n"
 
-#: tools/gst-launch.c:1132 tools/gst-launch.c:1233
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "设置暂停管道 ...\n"
 
-#: tools/gst-launch.c:1137
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "错误: 管道不想暂停。\n"
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "将管道设为暂停状态失败。\n"
 
-#: tools/gst-launch.c:1142
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "管道正在使用且不需要 PREROLL ...\n"
 
-#: tools/gst-launch.c:1146
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "管道正在 PREROLLING ...\n"
 
-#: tools/gst-launch.c:1149 tools/gst-launch.c:1163
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "错误: 管道不需要 preroll.\n"
-
-#: tools/gst-launch.c:1156
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "管道被 PREROLLED ...\n"
-
-#: tools/gst-launch.c:1169
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "设置播放管道 ...\n"
-
-#: tools/gst-launch.c:1176
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "错误: 管道不想播放。\n"
-
-#: tools/gst-launch.c:1195
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "允许关闭时发出 EOS 信号 —— 强制对管道发出 EOS 信号\n"
+msgid "Execution ended after %"
+msgstr "在 % 后运行终止"
 
-#: tools/gst-launch.c:1199
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "允许关闭时发出 EOS 信号 —— 发生错误后等待EOS信号\n"
+msgid "Setting pipeline to NULL ...\n"
+msgstr "设置 NULL 管道 ...\n"
 
-#: tools/gst-launch.c:1202
-msgid "Waiting for EOS...\n"
-msgstr "等待 EOS 信号...\n"
+msgid "Freeing pipeline ...\n"
+msgstr "释放管道资源 ...\n"
 
-#: tools/gst-launch.c:1209
-msgid "EOS received - stopping pipeline...\n"
-msgstr "收到 EOS 信号 - 中止管道 ...\n"
+#~ msgid "Error creating pipe: %s\n"
+#~ msgstr "创建管道时出错:“%s\n"
 
-#: tools/gst-launch.c:1213
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "等待EOS信号时被中断 - 正在中止管道...\n"
+#~ msgid "Error forking: %s\n"
+#~ msgstr "创建子进程时出错:%s\n"
 
-#: tools/gst-launch.c:1218
-msgid "An error happened while waiting for EOS\n"
-msgstr "等待 EOS 信号时出现一个错误\n"
+#~ msgid "Error reading from console: %s\n"
+#~ msgstr "从终端中读取内容时出错:%s\n"
 
-#: tools/gst-launch.c:1229
-msgid "Execution ended after %"
-msgstr "在 % 后运行终止"
+#~ msgid "Error writing to console: %s\n"
+#~ msgstr "写入到终端时出错:%s\n"
 
-#: tools/gst-launch.c:1245
-msgid "Setting pipeline to READY ...\n"
-msgstr "设置备用管道 ...\n"
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "错误: 管道不想暂停。\n"
 
-#: tools/gst-launch.c:1257
-msgid "Setting pipeline to NULL ...\n"
-msgstr "设置 NULL 管道 ...\n"
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "允许关闭时发出 EOS 信号 —— 发生错误后等待EOS信号\n"
 
-#: tools/gst-launch.c:1261
-msgid "Freeing pipeline ...\n"
-msgstr "释放管道资源 ...\n"
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "设置备用管道 ...\n"
 
 #~ msgid "bin"
 #~ msgstr "储仓"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 6dd8e3d..debae02 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -25,16 +25,17 @@
 # 5. metadata
 msgid ""
 msgstr ""
-"Project-Id-Version: gstreamer 1.3.2\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2019-02-26 11:37+0000\n"
-"PO-Revision-Date: 2014-06-08 00:22+0800\n"
+"Project-Id-Version: gstreamer 1.19.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-11 15:40+0000\n"
+"PO-Revision-Date: 2021-09-26 21:45+0800\n"
 "Last-Translator: Wen Liao <wen.cf83@gmail.com>\n"
-"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+"Language-Team: Chinese (traditional) <zh-l10n@lists.linux.org.tw>\n"
 "Language: zh_TW\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
 msgid "Print the GStreamer version"
@@ -44,7 +45,7 @@ msgid "Make all warnings fatal"
 msgstr "將所有警告視為嚴重錯誤"
 
 msgid "Print available debug categories and exit"
-msgstr "顯示可以偵錯的類別,並結束"
+msgstr "顯示可以偵錯的類別並結束"
 
 msgid ""
 "Default debug level from 1 (only error) to 9 (anything) or 0 for no output"
@@ -52,7 +53,7 @@ msgstr ""
 "將預設偵錯等級設定為 1 (只顯示錯誤) 至 9 (任何訊息),或者用 0 表示不顯示訊息"
 
 msgid "LEVEL"
-msgstr ""
+msgstr "等級"
 
 msgid ""
 "Comma-separated list of category_name:level pairs to set specific levels for "
@@ -109,6 +110,7 @@ msgstr "GStreamer 選項"
 msgid "Show GStreamer Options"
 msgstr "顯示 GStreamer 選項"
 
+#, c-format
 msgid "Unknown option"
 msgstr "未知的選項"
 
@@ -822,9 +824,14 @@ msgstr ""
 msgid "Private data"
 msgstr ""
 
+#. separator between two strings
 msgid ", "
 msgstr ""
 
+#, c-format
+msgid "Invalid URI: %s"
+msgstr ""
+
 #, c-format
 msgid "No URI handler for the %s protocol found"
 msgstr "找不到%s的URI處理程式"
@@ -846,6 +853,9 @@ msgstr ""
 "%s\n"
 
 # Wen, 不翻譯,幾乎都是專有名詞
+#. ******************************************************************************************
+#. *** helpers for pipeline-setup
+#. ******************************************************************************************
 #, c-format
 msgid "link has no source [sink=%s@%p]"
 msgstr ""
@@ -855,24 +865,43 @@ msgstr ""
 msgid "link has no sink [source=%s@%p]"
 msgstr ""
 
+msgid "No such property."
+msgstr ""
+
 #, c-format
 msgid "no property \"%s\" in element \"%s\""
 msgstr "“%2$s” 元件沒有 “%1$s” 屬性"
 
+#, fuzzy, c-format
+msgid "Element \"%s\" is not a GstPreset"
+msgstr "“%s” 是一個 socket。"
+
+#, fuzzy, c-format
+msgid "could not set preset \"%s\" in element \"%s\""
+msgstr "無法將 “%2$s” element的 “%1$s” 屬性設定為 “%3$s”"
+
+#, c-format
+msgid "no element \"%s\""
+msgstr "“%s” element不存在"
+
 #, c-format
 msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
 msgstr "無法將 “%2$s” element的 “%1$s” 屬性設定為 “%3$s”"
 
+#, fuzzy, c-format
+msgid "could not set property \"%s\" in child of element \"%s\" to \"%s\""
+msgstr "無法將 “%2$s” element的 “%1$s” 屬性設定為 “%3$s”"
+
 msgid "Delayed linking failed."
 msgstr ""
 
 #, fuzzy, c-format
 msgid "could not link %s to %s, %s can't handle caps %s"
-msgstr "無法連接 %s 和 %s"
+msgstr "無法將%s連接到%s"
 
 #, c-format
 msgid "could not link %s to %s, neither element can handle caps %s"
-msgstr ""
+msgstr "無法將%s連接到%s,也沒有element 可以處理 caps %s"
 
 #, fuzzy, c-format
 msgid "could not link %s to %s with caps %s"
@@ -882,10 +911,6 @@ msgstr "無法連接 %s 和 %s"
 msgid "could not link %s to %s"
 msgstr "無法連接 %s 和 %s"
 
-#, c-format
-msgid "no element \"%s\""
-msgstr "“%s” element不存在"
-
 #, c-format
 msgid "unexpected reference \"%s\" - ignoring"
 msgstr "忽略非預期的參照: \"%s\""
@@ -948,10 +973,10 @@ msgid ""
 msgstr "限制允許的capabilities (NULL表示不限制),打開該屬性將會參照GstCaps物件"
 
 msgid "Caps Change Mode"
-msgstr ""
+msgstr "變更 Caps 模式"
 
 msgid "Filter caps change behaviour"
-msgstr ""
+msgstr "過慮caps 變更行為"
 
 msgid "No Temp directory specified."
 msgstr "未指定暫存目錄"
@@ -1006,10 +1031,10 @@ msgid "Failed after iterations as requested."
 msgstr "重複送出請求後發生失敗"
 
 msgid "eos-after and error-after can't both be defined."
-msgstr ""
+msgstr "不允許下面兩個同時定義: eos-after. error-after"
 
 msgid "caps"
-msgstr ""
+msgstr "caps"
 
 msgid "detected capabilities in stream"
 msgstr "已從資料串流中偵測到capabilities"
@@ -1046,6 +1071,10 @@ msgstr ""
 msgid "controllable"
 msgstr "可控制"
 
+#, fuzzy
+msgid "conditionally available"
+msgstr "可控制"
+
 msgid "changeable in NULL, READY, PAUSED or PLAYING state"
 msgstr "可以切換到NULL, READY, PAUSED 或PLAYING狀態"
 
@@ -1060,7 +1089,7 @@ msgstr "黑名單檔案"
 
 #, fuzzy, c-format
 msgid "%sTotal count%s: %s"
-msgstr "總數量:"
+msgstr "%s 總數量 %s: %s"
 
 #, c-format
 msgid "%d blacklisted file"
@@ -1104,7 +1133,7 @@ msgstr "列出外掛程式內容"
 msgid ""
 "A slashes ('/') separated list of types of elements (also known as klass) to "
 "list. (unordered)"
-msgstr ""
+msgstr "使用'/'區隔element type列表中的資料(無先後順序)"
 
 msgid "Check if the specified element or plugin exists"
 msgstr "檢查指定的element或是外掛程式是否存在"
@@ -1118,13 +1147,17 @@ msgid "Print supported URI schemes, with the elements that implement them"
 msgstr "印出支援的URI schemes以及有實作它的elements"
 
 msgid ""
-"Disable colors in output. You can also achieve the same by "
-"setting'GST_INSPECT_NO_COLORS' environment variable to any value."
+"Disable colors in output. You can also achieve the same by setting "
+"'GST_INSPECT_NO_COLORS' environment variable to any value."
 msgstr ""
+"關閉輸出顯示色彩,您可以設定'GST_INSPECT_NO_COLORS'環境變數達到相同效果"
+
+msgid "Color output, even when not sending to a tty."
+msgstr "即使沒有送到tty 也要輸出時顯示色彩"
 
 #, c-format
 msgid "Could not load plugin file: %s\n"
-msgstr "無法再入外掛程式檔案: “%s”\n"
+msgstr "無法載入外掛程式檔案: “%s”\n"
 
 #, c-format
 msgid "No such element or plugin '%s'\n"
@@ -1133,6 +1166,12 @@ msgstr "找不到element或外掛程式'%s'\n"
 msgid "Index statistics"
 msgstr "索引統計"
 
+msgid "Setting pipeline to PLAYING ...\n"
+msgstr "將pipeline狀態設為PLAYING...\n"
+
+msgid "ERROR: pipeline doesn't want to play.\n"
+msgstr "錯誤:Pipeline 不想要播放。\n"
+
 #, c-format
 msgid "Got message #%u from element \"%s\" (%s): "
 msgstr "從element \"%2$s\"(%3$s) 中得到訊息#%1$u:"
@@ -1153,17 +1192,20 @@ msgstr "收到訊息 #%u (%s):"
 msgid "Got EOS from element \"%s\".\n"
 msgstr "從element \"%s\" 中得到EOS通知\n"
 
+msgid "EOS received - stopping pipeline...\n"
+msgstr "收到EOS - 停止pipeline...\n"
+
 #, c-format
 msgid "FOUND TAG      : found by element \"%s\".\n"
-msgstr "找到標籤      : 由element \"%s\"找到。\n"
+msgstr "找到標籤      : 在element \"%s\"找到。\n"
 
 #, c-format
 msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
-msgstr "找到標籤      : 由pad \"%s:%s\"找到。\n"
+msgstr "找到標籤      : 在pad \"%s:%s\"找到。\n"
 
 #, c-format
 msgid "FOUND TAG      : found by object \"%s\".\n"
-msgstr "找到標籤      : 由從物件 \"%s\"找到。\n"
+msgstr "找到標籤      : 在從物件 \"%s\"找到。\n"
 
 msgid "FOUND TAG\n"
 msgstr "找到標籤\n"
@@ -1191,6 +1233,9 @@ msgstr ""
 msgid "WARNING: from element %s: %s\n"
 msgstr "警告:來自element %s :%s\n"
 
+msgid "Pipeline is PREROLLED ...\n"
+msgstr "Pipleline已經緩衝完畢 ...\n"
+
 # Wen, 怪怪的, 如何精確區分preroll和buffer?
 msgid "Prerolled, waiting for buffering to finish...\n"
 msgstr "緩衝中,等待緩衝完成...\n"
@@ -1204,6 +1249,7 @@ msgstr "緩衝中..."
 msgid "Done buffering, setting pipeline to PLAYING ...\n"
 msgstr "緩衝完成,將pipeline狀態設成PLAYING...\n"
 
+#. we were not buffering but PLAYING, PAUSE  the pipeline.
 msgid "Buffering, setting pipeline to PAUSED ...\n"
 msgstr "緩衝完成,將pipeline狀態設成PAUSE...\n"
 
@@ -1214,9 +1260,20 @@ msgstr "重新分配延遲時間...\n"
 msgid "Setting state to %s as requested by %s...\n"
 msgstr "由%2$s要求,將狀態設成%1$s...\n"
 
+#. this application message is posted when we caught an interrupt and
+#. * we need to stop the pipeline.
 msgid "Interrupt: Stopping pipeline ...\n"
 msgstr "中斷:停止pipeline...\n"
 
+msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
+msgstr "等待EOS時發生中斷 - 停止pipeline\n"
+
+msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
+msgstr "關閉時送出EOS已設定 -- 強迫Pipeline EOS\n"
+
+msgid "Waiting for EOS...\n"
+msgstr "等待EOS...\n"
+
 #, c-format
 msgid "Progress: (%s) %s\n"
 msgstr "進度:(%s) %s\n"
@@ -1229,6 +1286,16 @@ msgstr "“%s” element不存在\n"
 msgid "Got context from element '%s': %s=%s\n"
 msgstr "從element '%s' 取得內容: %s=%s\n"
 
+msgid "ERROR: pipeline doesn't want to preroll.\n"
+msgstr "錯誤:Pipeline 不想要緩衝。\n"
+
+msgid "An error happened while waiting for EOS\n"
+msgstr "等待EOS時發生錯誤\n"
+
+#, c-format
+msgid "Use Windows high-resolution clock, precision: %u ms\n"
+msgstr ""
+
 msgid "Output tags (also known as metadata)"
 msgstr "輸出標籤 (即metadata)"
 
@@ -1244,16 +1311,17 @@ msgstr "不顯示任何進度資訊"
 msgid "Output messages"
 msgstr "輸出訊息"
 
+# Wen, 小括號不懂意思,只能照翻
 msgid ""
 "Do not output status information for the specified property if verbose "
 "output is enabled (can be used multiple times)"
-msgstr ""
+msgstr "當開啟verbose 輸出時請勿印出指定的屬性中的狀態資訊 (可被多次使用)"
 
 msgid "PROPERTY-NAME"
 msgstr ""
 
 msgid "Do not install a fault handler"
-msgstr "不安裝錯誤處理程式"
+msgstr "請勿安裝錯誤處理程式"
 
 msgid "Force EOS on sources before shutting the pipeline down"
 msgstr "在關閉pipeline前強迫source EOS"
@@ -1261,6 +1329,21 @@ msgstr "在關閉pipeline前強迫source EOS"
 msgid "Gather and print index statistics"
 msgstr "收集並列印索引統計"
 
+msgid ""
+"Do not print current position of pipeline. If this option is unspecified, "
+"the position will be printed when stdout is a TTY. To enable printing "
+"position when stdout is not a TTY, use \"force-position\" option"
+msgstr ""
+"不可印出目前pipeline的位置。如果該選項未指定,在stdout為TTY時才會印出位置。如"
+"果想在stdout不是TTY的情況下印出問位置,請開啟\"force-position\"選項"
+
+msgid ""
+"Allow printing current position of pipeline even if stdout is not a TTY. "
+"This option has no effect if the \"no-position\" option is specified"
+msgstr ""
+"就算stdout不是TTY時才會印出位置也允許印出目前pipeline的位置。該選項遇到\"no-"
+"position\"開啟時無效"
+
 #, c-format
 msgid "ERROR: pipeline could not be constructed: %s.\n"
 msgstr "錯誤:無法建立pipeline:%s。\n"
@@ -1278,8 +1361,9 @@ msgstr "錯誤:找不到 ‘pipeline’ element。\n"
 msgid "Setting pipeline to PAUSED ...\n"
 msgstr "將pipeline狀態設為PAUSED...\n"
 
-msgid "ERROR: Pipeline doesn't want to pause.\n"
-msgstr "錯誤:Pipeline 不想要暫停。\n"
+#, fuzzy
+msgid "Failed to set pipeline to PAUSED.\n"
+msgstr "將pipeline狀態設為PAUSED...\n"
 
 msgid "Pipeline is live and does not need PREROLL ...\n"
 msgstr "Pipepline可以正常運動,不需要緩衝 ...\n"
@@ -1287,60 +1371,15 @@ msgstr "Pipepline可以正常運動,不需要緩衝 ...\n"
 msgid "Pipeline is PREROLLING ...\n"
 msgstr "Pipeline正在緩衝 ...\n"
 
-msgid "ERROR: pipeline doesn't want to preroll.\n"
-msgstr "錯誤:Pipeline 不想要緩衝。\n"
-
-msgid "Pipeline is PREROLLED ...\n"
-msgstr "Pipleline已經緩衝完畢 ...\n"
-
-msgid "Setting pipeline to PLAYING ...\n"
-msgstr "將pipeline狀態設為PLAYING...\n"
-
-msgid "ERROR: pipeline doesn't want to play.\n"
-msgstr "錯誤:Pipeline 不想要播放。\n"
-
-msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
-msgstr "關閉時送出EOS已設定 -- 強迫Pipeline EOS\n"
-
-msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
-msgstr "關閉時送出EOS已設定 -- 產生錯誤後等待EOS\n"
-
-msgid "Waiting for EOS...\n"
-msgstr "等待EOS...\n"
-
-msgid "EOS received - stopping pipeline...\n"
-msgstr "收到EOS - 停止pipeline...\n"
-
-msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
-msgstr "等待EOS時發生中斷 - 停止pipeline\n"
-
-msgid "An error happened while waiting for EOS\n"
-msgstr "等待EOS時發生錯誤\n"
-
 msgid "Execution ended after %"
 msgstr "在 % 之後執行結束"
 
-msgid "Setting pipeline to READY ...\n"
-msgstr "將pipeline狀態設為READY...\n"
-
 msgid "Setting pipeline to NULL ...\n"
 msgstr "將pipeline狀態設為NULL...\n"
 
 msgid "Freeing pipeline ...\n"
 msgstr "釋放pipeline ...\n"
 
-#, fuzzy
-#~ msgid "Error creating pipe: %s\n"
-#~ msgstr "關閉檔案 “%s” 時發生錯誤。"
-
-#, fuzzy
-#~ msgid "Error forking: %s\n"
-#~ msgstr "關閉檔案 “%s” 時發生錯誤。"
-
-#, fuzzy
-#~ msgid "Error writing to console: %s\n"
-#~ msgstr "當寫入內容至檔案 “%s” 時發生錯誤。"
-
 #~ msgid "Internal data stream error."
 #~ msgstr "內部資料串流錯誤"
 
@@ -1350,6 +1389,15 @@ msgstr "釋放pipeline ...\n"
 #~ msgid "TYPE1,TYPE2,..."
 #~ msgstr "TYPE1,TYPE2,..."
 
+#~ msgid "ERROR: Pipeline doesn't want to pause.\n"
+#~ msgstr "錯誤:Pipeline 不想要暫停。\n"
+
+#~ msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
+#~ msgstr "關閉時送出EOS已設定 -- 產生錯誤後等待EOS\n"
+
+#~ msgid "Setting pipeline to READY ...\n"
+#~ msgstr "將pipeline狀態設為READY...\n"
+
 #~ msgid "link without source element"
 #~ msgstr "管線中沒有來源元件"
 
diff --git a/scripts/dist-translations.py b/scripts/dist-translations.py
index 65148d6..e10cd5d 100755
--- a/scripts/dist-translations.py
+++ b/scripts/dist-translations.py
@@ -21,11 +21,13 @@ import os
 import subprocess
 import shutil
 import tempfile
+import sys
 
 if __name__ == "__main__":
     dist_root = os.environ['MESON_DIST_ROOT']
     build_root = os.environ['MESON_BUILD_ROOT']
     source_root = os.environ['MESON_SOURCE_ROOT']
+    project_version = sys.argv[1]
     pwd = os.environ['PWD']
     tmpdir = tempfile.gettempdir()
 
@@ -35,8 +37,22 @@ if __name__ == "__main__":
     print('Generating pot file ...')
     subprocess.run(['ninja', '-C', build_root, module + '-1.0-pot'], check=True)
 
-    # Dist pot file in tarball
-    print('Copying pot file into dist staging directory ...')
     pot_src = os.path.join(source_root, 'po', module + '-1.0.pot')
-    dist_po_dir = os.path.join(dist_root, 'po')
-    shutil.copy2(pot_src, dist_po_dir)
+
+    # Dist pot file in tarball, and fix up version in POT file to match
+    # Translation Project requirements as part of the copying.
+    with open(pot_src, 'r') as f:
+        pot_file = f.read()
+
+    pot_file = pot_file.replace(f'Project-Id-Version: {module}-1.0',
+                                f'Project-Id-Version: {module}-{project_version}', 1)
+
+    print('Copying pot file into dist staging directory ...')
+    dist_pot_with_suffix = os.path.join(dist_root, 'po', f'{module}-1.0.pot')
+    with open(dist_pot_with_suffix, 'w') as f:
+        f.write(pot_file)
+
+    # And another copy without the 1.0 suffix
+    dist_pot_without_suffix = os.path.join(dist_root, 'po', f'{module}.pot')
+    with open(dist_pot_without_suffix, 'w') as f:
+        f.write(pot_file)
diff --git a/scripts/gen-changelog.py b/scripts/gen-changelog.py
new file mode 100755
index 0000000..3924e6e
--- /dev/null
+++ b/scripts/gen-changelog.py
@@ -0,0 +1,240 @@
+#!/usr/bin/env python3
+#
+# Makes a GNU-Style ChangeLog from a git repository
+import os
+import sys
+import subprocess
+import re
+
+meson_source_root = os.environ.get('MESON_SOURCE_ROOT')
+
+meson_dist_root = os.environ.get('MESON_DIST_ROOT')
+if meson_dist_root:
+    output_fn = os.path.join(meson_dist_root, 'ChangeLog')
+else:
+    output_fn = sys.stdout.fileno()
+
+# commit hash => release version tag string
+release_refs = {}
+
+# These are the pre-monorepo module beginnings
+changelog_starts = {
+    'gstreamer': '70521179a75db0c7230cc47c6d7f9d63cf73d351',
+    'gst-plugins-base': '68746a38d5e48e6f7c220663dcc2f175ff55cb3c',
+    'gst-plugins-good': '81f63142d65b62b0971c19ceb79956c49ffc2f06',
+    'gst-plugins-ugly': '7d7c3e478e32b7b66c44cc4442d571fbab534740',
+    'gst-plugins-bad': 'ea6821e2934fe8d356ea89d5610f0630b3446877',
+    'gst-libav': '3c440154c60d1ec0a54186f0fad4aebfd2ecc3ea',
+    'gst-rtsp-server': '5029c85a46a8c366c4bf272d503e22bbcd624ece',
+    'gst-editing-services': 'ee8bf88ebf131cf7c7161356540efc20bf411e14',
+    'gst-python': 'b3e564eff577e2f577d795051bbcca85d47c89dc',
+    'gstreamer-vaapi': 'c89e9afc5d43837c498a55f8f13ddf235442b83b',
+    'gst-omx': 'd2463b017f222e678978582544a9c9a80edfd330',
+    'gst-devtools': 'da962d096af9460502843e41b7d25fdece7ff1c2',
+    'gstreamer-sharp': 'b94528f8e7979df49fedf137dfa228d8fe475e1b',
+}
+
+
+def print_help():
+    print('', file=sys.stderr)
+    print('gen-changelog: generate GNU-style changelog from git history',
+          file=sys.stderr)
+    print('', file=sys.stderr)
+    print('Usage: {} [OPTIONS] GSTREAMER-MODULE [START-TAG] [HEAD-TAG]'.format(
+        sys.argv[0]), file=sys.stderr)
+    print('', file=sys.stderr)
+    sys.exit(1)
+
+
+if len(sys.argv) < 2 or len(sys.argv) > 4 or '--help' in sys.argv:
+    print_help()
+
+module = sys.argv[1]
+
+if len(sys.argv) > 2:
+    start_tag = sys.argv[2]
+else:
+    start_tag = None
+
+if len(sys.argv) > 3:
+    head_tag = sys.argv[3]
+else:
+    head_tag = None
+
+if module not in changelog_starts:
+    print(f'Unknown module {module}', file=sys.stderr)
+    print_help()
+
+
+def process_commit(lines, files, subtree_path=None):
+    # DATE NAME
+    # BLANK LINE
+    # Subject
+    # BLANK LINE
+    # ...
+    # FILES
+    fileincommit = False
+    lines = [x.strip() for x in lines if x.strip()
+             and not x.startswith('git-svn-id')]
+    files = [x.strip() for x in files if x.strip()]
+    for line in lines:
+        if line.startswith('* ') and ':' in line:
+            fileincommit = True
+            break
+
+    top_line = lines[0]
+    print(top_line.strip())
+    print()
+    if not fileincommit:
+        for f in files:
+            if subtree_path and f.startswith(subtree_path):
+                # requires Python 3.9
+                print('\t* %s:' % f.removeprefix(subtree_path))
+            else:
+                print('\t* %s:' % f)
+    for line in lines[1:]:
+        print('\t ', line)
+    print()
+
+
+def output_commits(module, start_tag, end_tag, subtree_path=None):
+    # retrieve commit date for start tag so we can filter the log for commits
+    # after that date. That way we don't include commits from merged-in
+    # plugin-move branches that go back to the beginning of time.
+    start_date = get_commit_date_for_ref(start_tag)
+
+    cmd = ['git', 'log',
+           '--pretty=format:--START-COMMIT--%H%n%ai  %an <%ae>%n%n%s%n%b%n--END-COMMIT--',
+           '--date=short',
+           '--name-only',
+           f'--since={start_date}',
+           f'{start_tag}..{end_tag}',
+           ]
+
+    if subtree_path:
+        cmd += ['--', '.']
+
+    p = subprocess.Popen(args=cmd, shell=False,
+                         stdout=subprocess.PIPE, cwd=meson_source_root)
+    buf = []
+    files = []
+    filemode = False
+    for lin in [x.decode('utf8', errors='replace') for x in p.stdout.readlines()]:
+        if lin.startswith("--START-COMMIT--"):
+            commit_hash = lin[16:].strip()
+            if buf != []:
+                process_commit(buf, files, subtree_path)
+
+            if commit_hash in release_refs:
+                version_str = release_refs[commit_hash]
+                print(f'=== release {version_str} ===\n')
+
+            buf = []
+            files = []
+            filemode = False
+        elif lin.startswith("--END-COMMIT--"):
+            filemode = True
+        elif filemode is True:
+            files.append(lin)
+        else:
+            buf.append(lin)
+    if buf != []:
+        process_commit(buf, files, subtree_path)
+
+
+def get_commit_date_for_ref(ref):
+    cmd = ['git', 'log', '--pretty=format:%cI', '-1', ref]
+    r = subprocess.run(cmd, capture_output=True, text=True,
+                       check=True, cwd=meson_source_root)
+    commit_date = r.stdout.strip()
+    return commit_date
+
+
+def populate_release_tags_for_premonorepo_module(module_tag_prefix):
+    if module_tag_prefix != '':
+        cmd = ['git', 'tag', '--list', f'{module_tag_prefix}*']
+    else:
+        cmd = ['git', 'tag', '--list', '1.*', 'RELEASE-*']
+
+    p = subprocess.Popen(args=cmd, shell=False,
+                         stdout=subprocess.PIPE, cwd=meson_source_root)
+    for line in [x.decode('utf8') for x in p.stdout.readlines()]:
+        git_tag = line.strip()
+        version_str = git_tag.removeprefix(module_tag_prefix).removeprefix('RELEASE-').split('-')[0].replace('_', '.')
+        # might have been populated with post-monorepo tags already for gstreamer core
+        if version_str not in release_refs:
+            # find last commit before tag in module subdirectory
+            cmd = ['git', 'log', '--pretty=format:%H', '-1', git_tag]
+            r = subprocess.run(cmd, capture_output=True,
+                               text=True, check=True, cwd=meson_source_root)
+            commit_hash = r.stdout.strip()
+            release_refs[commit_hash] = version_str
+
+            # print(f'{git_tag} => {version_str} => {commit_hash}')
+
+
+def populate_release_tags_for_monorepo_subproject():
+    cmd = ['git', 'tag', '--list', '1.*']
+    p = subprocess.Popen(args=cmd, shell=False,
+                         stdout=subprocess.PIPE, cwd=meson_source_root)
+    for line in [x.decode('utf8') for x in p.stdout.readlines()]:
+        version_str = line.strip()
+        version_arr = version_str.split('.')
+        major = int(version_arr[0])
+        minor = int(version_arr[1])
+        micro = int(version_arr[2])
+        # ignore pre-monorepo versions
+        if major < 1:
+            continue
+        if major == 1 and minor < 19:
+            continue
+        if major == 1 and minor == 19 and micro < 2:
+            continue
+        # find last commit before tag in module subdirectory
+        cmd = ['git', 'log', '--pretty=format:%H',
+               '-1', version_str, '--', '.']
+        r = subprocess.run(cmd, capture_output=True, text=True,
+                           check=True, cwd=meson_source_root)
+        commit_hash = r.stdout.strip()
+        release_refs[commit_hash] = version_str
+
+
+if __name__ == '__main__':
+    module_tag_prefix = '' if module == 'gstreamer' else f'{module}-'
+
+    populate_release_tags_for_monorepo_subproject()
+
+    with open(output_fn, 'w') as f:
+        sys.stdout = f
+
+        # Force writing of head tag
+        if head_tag and head_tag not in release_refs.values():
+            print(f'=== release {head_tag} ===\n')
+
+        # Output all commits from start_tag onwards, otherwise output full history.
+        # (We assume the start_tag is after the monorepo merge if it's specified.)
+        if start_tag and start_tag != 'start':
+            output_commits(module, start_tag, 'HEAD', f'subprojects/{module}/')
+        else:
+            # First output all post-monorepo commits or commits from start_tag if specified
+            output_commits(module, 'monorepo-start',
+                           'HEAD', f'subprojects/{module}/')
+
+            populate_release_tags_for_premonorepo_module(module_tag_prefix)
+
+            # Next output all pre-monorepo commits (modules have their own root)
+            if not start_tag:
+                module_start = f'{module_tag_prefix}1.0.0'
+            elif start_tag == 'start':
+                module_start = changelog_starts[module]
+            else:
+                module_start = f'{module_tag_prefix}{start_tag}'
+
+            output_commits(module, module_start,
+                           f'{module_tag_prefix}1.19.2', None)
+
+        # Write start tag at end for clarity
+        if not start_tag:
+            print(f'=== release 1.0.0 ===\n')
+        elif start_tag != 'start':
+            print(f'=== release {start_tag} ===\n')
diff --git a/scripts/meson.build b/scripts/meson.build
index f5d9106..3cc83c2 100644
--- a/scripts/meson.build
+++ b/scripts/meson.build
@@ -1,4 +1,4 @@
 # dist scripts
 if not meson.is_subproject()
-  meson.add_dist_script('dist-translations.py')
+  meson.add_dist_script('dist-translations.py', meson.project_version())
 endif
diff --git a/tests/benchmarks/meson.build b/tests/benchmarks/meson.build
index 598f19c..a40f0a9 100644
--- a/tests/benchmarks/meson.build
+++ b/tests/benchmarks/meson.build
@@ -14,6 +14,6 @@ benchmarks = [
 foreach b : benchmarks
   executable(b, '@0@.c'.format(b),
     c_args : gst_c_args,
-    dependencies : [gobject_dep, gmodule_dep, glib_dep, gst_dep, gst_controller_dep],
+    dependencies : [gst_dep, gst_controller_dep, gmodule_dep],
     )
 endforeach
diff --git a/tests/check/elements/clocksync.c b/tests/check/elements/clocksync.c
index 3069e72..df04b6b 100644
--- a/tests/check/elements/clocksync.c
+++ b/tests/check/elements/clocksync.c
@@ -168,6 +168,76 @@ GST_START_TEST (test_stopping_element_unschedules_sync)
 
 GST_END_TEST;
 
+typedef struct
+{
+  guint notify_count;
+  GstClockTimeDiff ts_offset;
+} ClockSyncTestData;
+
+static void
+clock_sync_ts_offset_changed_cb (GstElement * clocksync, GParamSpec * pspec,
+    ClockSyncTestData * data)
+{
+  data->notify_count++;
+  g_object_get (clocksync, "ts-offset", &data->ts_offset, NULL);
+}
+
+GST_START_TEST (test_sync_to_first)
+{
+  /* the reason to use the queue in front of the clocksync element
+     is to effectively make gst_harness_push asynchronous, not locking
+     up the test, waiting for gst_clock_id_wait */
+  GstHarness *h =
+      gst_harness_new_parse ("queue ! clocksync sync-to-first=true");
+  GstBuffer *buf;
+  GstClock *clock;
+  GstClockTime timestamp = 123456789;
+  GstElement *clocksync;
+  ClockSyncTestData data;
+  data.notify_count = 0;
+  data.ts_offset = 0;
+
+  clocksync = gst_harness_find_element (h, "clocksync");
+  g_signal_connect (clocksync, "notify::ts-offset",
+      G_CALLBACK (clock_sync_ts_offset_changed_cb), &data);
+  gst_object_unref (clocksync);
+
+  /* use testclock */
+  gst_harness_use_testclock (h);
+  gst_harness_set_src_caps_str (h, "mycaps");
+
+  /* make a buffer and set the timestamp */
+  buf = gst_buffer_new ();
+  GST_BUFFER_PTS (buf) = timestamp;
+
+  /* push the buffer, and verify it does *not* make it through */
+  gst_harness_push (h, buf);
+  fail_unless_equals_int (0, gst_harness_buffers_in_queue (h));
+
+  /* verify the clocksync element has registered exactly one GstClockID */
+  fail_unless (gst_harness_wait_for_clock_id_waits (h, 1, 42));
+
+  /* crank the clock and pull the buffer */
+  gst_harness_crank_single_clock_wait (h);
+  buf = gst_harness_pull (h);
+
+  /* verify that the buffer has the right timestamp, and that the time on
+     the clock is equal to the timestamp */
+  fail_unless_equals_int64 (timestamp, GST_BUFFER_PTS (buf));
+  clock = gst_element_get_clock (h->element);
+  /* this buffer must be pushed without clock waiting */
+  fail_unless_equals_int64 (gst_clock_get_time (clock), 0);
+  fail_unless_equals_int (data.notify_count, 1);
+  fail_unless_equals_int64 (data.ts_offset, -timestamp);
+
+  /* cleanup */
+  gst_object_unref (clock);
+  gst_buffer_unref (buf);
+  gst_harness_teardown (h);
+}
+
+GST_END_TEST;
+
 static Suite *
 clocksync_suite (void)
 {
@@ -179,6 +249,7 @@ clocksync_suite (void)
   tcase_add_test (tc_chain, test_sync_on_timestamp);
   tcase_add_test (tc_chain, test_stopping_element_unschedules_sync);
   tcase_add_test (tc_chain, test_no_sync_on_timestamp);
+  tcase_add_test (tc_chain, test_sync_to_first);
 
 
   return s;
diff --git a/tests/check/elements/concat.c b/tests/check/elements/concat.c
index 43054dc..a205771 100644
--- a/tests/check/elements/concat.c
+++ b/tests/check/elements/concat.c
@@ -120,13 +120,13 @@ GST_START_TEST (test_concat_simple_time)
   concat = gst_element_factory_make ("concat", NULL);
   fail_unless (concat != NULL);
 
-  sink1 = gst_element_get_request_pad (concat, "sink_%u");
+  sink1 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink1 != NULL);
 
-  sink2 = gst_element_get_request_pad (concat, "sink_%u");
+  sink2 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink2 != NULL);
 
-  sink3 = gst_element_get_request_pad (concat, "sink_%u");
+  sink3 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink3 != NULL);
 
   src = gst_element_get_static_pad (concat, "src");
@@ -242,13 +242,13 @@ GST_START_TEST (test_concat_simple_bytes)
   concat = gst_element_factory_make ("concat", NULL);
   fail_unless (concat != NULL);
 
-  sink1 = gst_element_get_request_pad (concat, "sink_%u");
+  sink1 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink1 != NULL);
 
-  sink2 = gst_element_get_request_pad (concat, "sink_%u");
+  sink2 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink2 != NULL);
 
-  sink3 = gst_element_get_request_pad (concat, "sink_%u");
+  sink3 = gst_element_request_pad_simple (concat, "sink_%u");
   fail_unless (sink3 != NULL);
 
   src = gst_element_get_static_pad (concat, "src");
diff --git a/tests/check/elements/fdsrc.c b/tests/check/elements/fdsrc.c
index 8e1c421..5d0cc63 100644
--- a/tests/check/elements/fdsrc.c
+++ b/tests/check/elements/fdsrc.c
@@ -74,6 +74,7 @@ cleanup_fdsrc (GstElement * fdsrc)
   gst_check_teardown_element (fdsrc);
 }
 
+#ifdef HAVE_PIPE
 GST_START_TEST (test_num_buffers)
 {
   GstElement *src;
@@ -165,6 +166,7 @@ GST_START_TEST (test_nonseeking)
 }
 
 GST_END_TEST;
+#endif /* HAVE_PIPE */
 
 GST_START_TEST (test_seeking)
 {
@@ -209,8 +211,10 @@ fdsrc_suite (void)
   TCase *tc_chain = tcase_create ("general");
 
   suite_add_tcase (s, tc_chain);
+#ifdef HAVE_PIPE
   tcase_add_test (tc_chain, test_num_buffers);
   tcase_add_test (tc_chain, test_nonseeking);
+#endif
   tcase_add_test (tc_chain, test_seeking);
 
   return s;
diff --git a/tests/check/elements/funnel.c b/tests/check/elements/funnel.c
index 2d221fc..d88628e 100644
--- a/tests/check/elements/funnel.c
+++ b/tests/check/elements/funnel.c
@@ -44,11 +44,11 @@ setup_test_objects (struct TestData *td, GstPadChainFunction chain_func)
   td->funnelsrc = gst_element_get_static_pad (td->funnel, "src");
   fail_unless (td->funnelsrc != NULL);
 
-  td->funnelsink11 = gst_element_get_request_pad (td->funnel, "sink_11");
+  td->funnelsink11 = gst_element_request_pad_simple (td->funnel, "sink_11");
   fail_unless (td->funnelsink11 != NULL);
   fail_unless (!strcmp (GST_OBJECT_NAME (td->funnelsink11), "sink_11"));
 
-  td->funnelsink22 = gst_element_get_request_pad (td->funnel, "sink_22");
+  td->funnelsink22 = gst_element_request_pad_simple (td->funnel, "sink_22");
   fail_unless (td->funnelsink22 != NULL);
   fail_unless (!strcmp (GST_OBJECT_NAME (td->funnelsink22), "sink_22"));
 
@@ -197,7 +197,7 @@ GST_START_TEST (test_funnel_eos)
   gst_object_unref (td.funnelsink11);
   fail_unless (num_eos == 2);
 
-  td.funnelsink11 = gst_element_get_request_pad (td.funnel, "sink_11");
+  td.funnelsink11 = gst_element_request_pad_simple (td.funnel, "sink_11");
   fail_unless (td.funnelsink11 != NULL);
   fail_unless (!strcmp (GST_OBJECT_NAME (td.funnelsink11), "sink_11"));
 
@@ -214,7 +214,7 @@ GST_START_TEST (test_funnel_eos)
   fail_unless (num_eos == 2);
 
   /* send only eos to check, it handles empty streams */
-  td.funnelsink11 = gst_element_get_request_pad (td.funnel, "sink_11");
+  td.funnelsink11 = gst_element_request_pad_simple (td.funnel, "sink_11");
   fail_unless (td.funnelsink11 != NULL);
   fail_unless (!strcmp (GST_OBJECT_NAME (td.funnelsink11), "sink_11"));
 
@@ -235,7 +235,7 @@ GST_START_TEST (test_funnel_eos)
   gst_object_unref (td.funnelsink11);
   fail_unless (num_eos == 3);
 
-  td.funnelsink11 = gst_element_get_request_pad (td.funnel, "sink_11");
+  td.funnelsink11 = gst_element_request_pad_simple (td.funnel, "sink_11");
   fail_unless (td.funnelsink11 != NULL);
   fail_unless (!strcmp (GST_OBJECT_NAME (td.funnelsink11), "sink_11"));
 
diff --git a/tests/check/elements/leaks.c b/tests/check/elements/leaks.c
index 767609b..f1ef5dc 100644
--- a/tests/check/elements/leaks.c
+++ b/tests/check/elements/leaks.c
@@ -224,6 +224,13 @@ GST_START_TEST (test_get_live_objects_filtered_detailed)
   GstPad *srcpad;
   GstMessage *m;
   struct RetBufferCtx *ctx = g_new0 (struct RetBufferCtx, 1);
+  gboolean check_trace = FALSE;
+
+#if defined (HAVE_BACKTRACE) || defined (HAVE_UNWIND) || defined (HAVE_DBGHELP)
+  /* Otherwise, trace string (returned from gst_debug_get_stack_trace())
+   * will be null */
+  check_trace = TRUE;
+#endif
 
   pipe = gst_pipeline_new ("pipeline");
   fail_unless (pipe);
@@ -286,7 +293,8 @@ GST_START_TEST (test_get_live_objects_filtered_detailed)
       fail_unless_equals_int (ref_count, 1);
 
       fail_unless (gst_structure_has_field_typed (s, "trace", G_TYPE_STRING));
-      fail_unless (gst_structure_get_string (s, "trace"));
+      if (check_trace)
+        fail_unless (gst_structure_get_string (s, "trace"));
 
       fail_unless (gst_structure_has_field_typed (s, "ref-infos",
               GST_TYPE_LIST));
@@ -312,7 +320,8 @@ GST_START_TEST (test_get_live_objects_filtered_detailed)
         fail_unless (ref_count > 0);
 
         fail_unless (gst_structure_has_field_typed (r, "trace", G_TYPE_STRING));
-        fail_unless (gst_structure_get_string (r, "trace"));
+        if (check_trace)
+          fail_unless (gst_structure_get_string (r, "trace"));
 
         fail_unless_equals_int (gst_structure_n_fields (r), 4);
       }
diff --git a/tests/check/elements/multiqueue.c b/tests/check/elements/multiqueue.c
index 6ec638a..817afa4 100644
--- a/tests/check/elements/multiqueue.c
+++ b/tests/check/elements/multiqueue.c
@@ -42,7 +42,7 @@ setup_multiqueue (GstElement * pipe, GstElement * inputs[],
     GstPad *srcpad = NULL;
 
     /* create multiqueue sink (and source) pad */
-    sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+    sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
     fail_unless (sinkpad != NULL,
         "failed to create multiqueue request pad #%u", i);
 
@@ -67,7 +67,7 @@ setup_multiqueue (GstElement * pipe, GstElement * inputs[],
 
       /* only the sink pads are by request, the source pads are sometimes pads,
        * so this should return NULL */
-      srcpad = gst_element_get_request_pad (mq, "src_%u");
+      srcpad = gst_element_request_pad_simple (mq, "src_%u");
       fail_unless (srcpad == NULL);
 
       g_snprintf (padname, sizeof (padname), "src_%u", i);
@@ -194,21 +194,21 @@ GST_START_TEST (test_request_pads)
 
   mq = gst_element_factory_make ("multiqueue", NULL);
 
-  sink1 = gst_element_get_request_pad (mq, "foo_%u");
+  sink1 = gst_element_request_pad_simple (mq, "foo_%u");
   fail_unless (sink1 == NULL,
       "Expected NULL pad, as there is no request pad template for 'foo_%%u'");
 
-  sink1 = gst_element_get_request_pad (mq, "src_%u");
+  sink1 = gst_element_request_pad_simple (mq, "src_%u");
   fail_unless (sink1 == NULL,
       "Expected NULL pad, as there is no request pad template for 'src_%%u'");
 
-  sink1 = gst_element_get_request_pad (mq, "sink_%u");
+  sink1 = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (sink1 != NULL);
   fail_unless (GST_IS_PAD (sink1));
   fail_unless (GST_PAD_IS_SINK (sink1));
   GST_LOG ("Got pad %s:%s", GST_DEBUG_PAD_NAME (sink1));
 
-  sink2 = gst_element_get_request_pad (mq, "sink_%u");
+  sink2 = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (sink2 != NULL);
   fail_unless (GST_IS_PAD (sink2));
   fail_unless (GST_PAD_IS_SINK (sink2));
@@ -251,21 +251,21 @@ GST_START_TEST (test_request_pads_named)
 
   mq = gst_element_factory_make ("multiqueue", NULL);
 
-  sink1 = gst_element_get_request_pad (mq, "sink_1");
+  sink1 = gst_element_request_pad_simple (mq, "sink_1");
   fail_unless (sink1 != NULL);
   fail_unless (GST_IS_PAD (sink1));
   fail_unless (GST_PAD_IS_SINK (sink1));
   fail_unless_equals_string (GST_PAD_NAME (sink1), "sink_1");
   GST_LOG ("Got pad %s:%s", GST_DEBUG_PAD_NAME (sink1));
 
-  sink3 = gst_element_get_request_pad (mq, "sink_3");
+  sink3 = gst_element_request_pad_simple (mq, "sink_3");
   fail_unless (sink3 != NULL);
   fail_unless (GST_IS_PAD (sink3));
   fail_unless (GST_PAD_IS_SINK (sink3));
   fail_unless_equals_string (GST_PAD_NAME (sink3), "sink_3");
   GST_LOG ("Got pad %s:%s", GST_DEBUG_PAD_NAME (sink3));
 
-  sink2 = gst_element_get_request_pad (mq, "sink_2");
+  sink2 = gst_element_request_pad_simple (mq, "sink_2");
   fail_unless (sink2 != NULL);
   fail_unless (GST_IS_PAD (sink2));
   fail_unless (GST_PAD_IS_SINK (sink2));
@@ -273,7 +273,7 @@ GST_START_TEST (test_request_pads_named)
   GST_LOG ("Got pad %s:%s", GST_DEBUG_PAD_NAME (sink2));
 
   /* This gets us the first unused id, sink0 */
-  sink4 = gst_element_get_request_pad (mq, "sink_%u");
+  sink4 = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (sink4 != NULL);
   fail_unless (GST_IS_PAD (sink4));
   fail_unless (GST_PAD_IS_SINK (sink4));
@@ -431,7 +431,7 @@ construct_n_pads (GstElement * mq, struct PadData *pad_data, gint n_pads,
     g_free (name);
     gst_pad_set_query_function (inpad, mq_dummypad_query);
 
-    mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+    mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
     fail_unless (mq_sinkpad != NULL);
     fail_unless (gst_pad_link (inpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -749,7 +749,7 @@ GST_START_TEST (test_sparse_stream)
     g_free (name);
     gst_pad_set_query_function (inputpads[i], mq_dummypad_query);
 
-    mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+    mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
     fail_unless (mq_sinkpad != NULL);
     fail_unless (gst_pad_link (inputpads[i], mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -950,7 +950,7 @@ GST_START_TEST (test_initial_fill_above_high_threshold)
   inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
   gst_pad_set_query_function (inputpad, mq_dummypad_query);
 
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1038,7 +1038,7 @@ GST_START_TEST (test_watermark_and_fill_level)
   inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
   gst_pad_set_query_function (inputpad, mq_dummypad_query);
 
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1136,7 +1136,7 @@ GST_START_TEST (test_high_threshold_change)
   inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
   gst_pad_set_query_function (inputpad, mq_dummypad_query);
 
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1231,7 +1231,7 @@ GST_START_TEST (test_low_threshold_change)
   inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
   gst_pad_set_query_function (inputpad, mq_dummypad_query);
 
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1319,7 +1319,7 @@ GST_START_TEST (test_limit_changes)
   inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
   gst_pad_set_query_function (inputpad, mq_dummypad_query);
 
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1440,7 +1440,7 @@ GST_START_TEST (test_buffering_with_none_pts)
   outputpad = gst_pad_new ("dummysink", GST_PAD_SINK);
   gst_pad_set_chain_function (outputpad, pad_chain_block);
   gst_pad_set_event_function (outputpad, pad_event_always_ok);
-  mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+  mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
   mq_srcpad = gst_element_get_static_pad (mq, "src_0");
   fail_unless (mq_sinkpad != NULL);
   fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
@@ -1536,7 +1536,7 @@ GST_START_TEST (test_initial_events_nodelay)
 
     inputpad = gst_pad_new ("dummysrc", GST_PAD_SRC);
 
-    mq_sinkpad = gst_element_get_request_pad (mq, "sink_%u");
+    mq_sinkpad = gst_element_request_pad_simple (mq, "sink_%u");
     fail_unless (mq_sinkpad != NULL);
     fail_unless (gst_pad_link (inputpad, mq_sinkpad) == GST_PAD_LINK_OK);
 
@@ -1641,7 +1641,7 @@ GST_START_TEST (test_stream_status_messages)
 
   gst_bin_add (GST_BIN (pipe), mq);
 
-  pad = gst_element_get_request_pad (mq, "sink_%u");
+  pad = gst_element_request_pad_simple (mq, "sink_%u");
   gst_object_unref (pad);
 
   gst_element_set_state (pipe, GST_STATE_PAUSED);
@@ -1649,7 +1649,7 @@ GST_START_TEST (test_stream_status_messages)
   check_for_stream_status_msg (pipe, mq, GST_STREAM_STATUS_TYPE_CREATE);
   check_for_stream_status_msg (pipe, mq, GST_STREAM_STATUS_TYPE_ENTER);
 
-  pad = gst_element_get_request_pad (mq, "sink_%u");
+  pad = gst_element_request_pad_simple (mq, "sink_%u");
   gst_object_unref (pad);
 
   check_for_stream_status_msg (pipe, mq, GST_STREAM_STATUS_TYPE_CREATE);
diff --git a/tests/check/elements/selector.c b/tests/check/elements/selector.c
index 529c046..40102be 100644
--- a/tests/check/elements/selector.c
+++ b/tests/check/elements/selector.c
@@ -85,7 +85,7 @@ setup_output_pad (GstElement * element, GstStaticPadTemplate * tmpl)
       GINT_TO_POINTER (probe_id));
 
   /* request src pad */
-  srcpad = gst_element_get_request_pad (element, "src_%u");
+  srcpad = gst_element_request_pad_simple (element, "src_%u");
   fail_if (srcpad == NULL, "Could not get source pad from %s",
       GST_ELEMENT_NAME (element));
 
@@ -303,7 +303,7 @@ setup_input_pad (GstElement * element)
   fail_if (input_pad == NULL, "Could not create a input_pad");
 
   /* request sink pad */
-  sinkpad = gst_element_get_request_pad (element, "sink_%u");
+  sinkpad = gst_element_request_pad_simple (element, "sink_%u");
   fail_if (sinkpad == NULL, "Could not get sink pad from %s",
       GST_ELEMENT_NAME (element));
 
diff --git a/tests/check/elements/tee.c b/tests/check/elements/tee.c
index a76779c..a19e73e 100644
--- a/tests/check/elements/tee.c
+++ b/tests/check/elements/tee.c
@@ -76,7 +76,7 @@ GST_START_TEST (test_num_buffers)
     g_object_set (sinks[i], "signal-handoffs", TRUE, NULL);
     g_signal_connect (sinks[i], "handoff", (GCallback) handoff, &counts[i]);
 
-    req_pads[i] = gst_element_get_request_pad (tee, "src_%u");
+    req_pads[i] = gst_element_request_pad_simple (tee, "src_%u");
     fail_unless (req_pads[i] != NULL);
 
     qpad = gst_element_get_static_pad (queues[i], "sink");
@@ -142,7 +142,7 @@ GST_START_TEST (test_stress)
   for (i = 0; i < 50000; i++) {
     GstPad *pad;
 
-    pad = gst_element_get_request_pad (tee, "src_%u");
+    pad = gst_element_request_pad_simple (tee, "src_%u");
     gst_element_release_request_pad (tee, pad);
     gst_object_unref (pad);
 
@@ -201,7 +201,7 @@ buffer_alloc_harness_setup (BufferAllocHarness * h, gint countdown)
   h->tee_sinkpad = gst_element_get_static_pad (h->tee, "sink");
   fail_if (h->tee_sinkpad == NULL);
 
-  h->tee_srcpad = gst_element_get_request_pad (h->tee, "src_%u");
+  h->tee_srcpad = gst_element_request_pad_simple (h->tee, "src_%u");
   fail_if (h->tee_srcpad == NULL);
 
   h->final_sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
@@ -353,7 +353,7 @@ GST_START_TEST (test_internal_links)
   fail_unless (res == GST_ITERATOR_DONE);
   fail_unless (g_value_get_object (&val1) == NULL);
 
-  srcpad1 = gst_element_get_request_pad (tee, "src_%u");
+  srcpad1 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (srcpad1 != NULL);
 
   /* iterator should resync */
@@ -373,7 +373,7 @@ GST_START_TEST (test_internal_links)
   fail_unless (res == GST_ITERATOR_DONE);
   fail_unless (g_value_get_object (&val1) == NULL);
 
-  srcpad2 = gst_element_get_request_pad (tee, "src_%u");
+  srcpad2 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (srcpad2 != NULL);
 
   /* iterator should resync */
@@ -467,9 +467,9 @@ GST_START_TEST (test_flow_aggregation)
   fail_unless (tee != NULL);
   teesink = gst_element_get_static_pad (tee, "sink");
   fail_unless (teesink != NULL);
-  teesrc1 = gst_element_get_request_pad (tee, "src_%u");
+  teesrc1 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (teesrc1 != NULL);
-  teesrc2 = gst_element_get_request_pad (tee, "src_%u");
+  teesrc2 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (teesrc2 != NULL);
 
   GST_DEBUG ("Creating mysink1");
@@ -602,16 +602,16 @@ GST_START_TEST (test_request_pads)
 
   tee = gst_check_setup_element ("tee");
 
-  srcpad1 = gst_element_get_request_pad (tee, "src_%u");
+  srcpad1 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (srcpad1 != NULL);
   fail_unless_equals_string (GST_OBJECT_NAME (srcpad1), "src_0");
-  srcpad2 = gst_element_get_request_pad (tee, "src_100");
+  srcpad2 = gst_element_request_pad_simple (tee, "src_100");
   fail_unless (srcpad2 != NULL);
   fail_unless_equals_string (GST_OBJECT_NAME (srcpad2), "src_100");
-  srcpad3 = gst_element_get_request_pad (tee, "src_10");
+  srcpad3 = gst_element_request_pad_simple (tee, "src_10");
   fail_unless (srcpad3 != NULL);
   fail_unless_equals_string (GST_OBJECT_NAME (srcpad3), "src_10");
-  srcpad4 = gst_element_get_request_pad (tee, "src_%u");
+  srcpad4 = gst_element_request_pad_simple (tee, "src_%u");
   fail_unless (srcpad4 != NULL);
 
   gst_object_unref (srcpad1);
@@ -661,11 +661,11 @@ GST_START_TEST (test_allow_not_linked)
 
   fail_unless (gst_pad_push (srcpad, gst_buffer_ref (buffer)) == GST_FLOW_OK);
 
-  src1 = gst_element_get_request_pad (tee, "src_%u");
+  src1 = gst_element_request_pad_simple (tee, "src_%u");
 
   fail_unless (gst_pad_push (srcpad, gst_buffer_ref (buffer)) == GST_FLOW_OK);
 
-  src2 = gst_element_get_request_pad (tee, "src_%u");
+  src2 = gst_element_request_pad_simple (tee, "src_%u");
 
   fail_unless (gst_pad_push (srcpad, gst_buffer_ref (buffer)) == GST_FLOW_OK);
 
@@ -850,7 +850,7 @@ GST_START_TEST (test_allocation_query_allow_not_linked)
   add_sink_pad_and_setup_query_func (tee, allocation_query3);
   /* This unlinked pad is what will make a difference between having
    * allow-not-linked set or not */
-  srcpad = gst_element_get_request_pad (tee, "src_%u");
+  srcpad = gst_element_request_pad_simple (tee, "src_%u");
   caps = gst_caps_new_empty_simple ("test/test");
 
   /* Without allow-not-linked the query should fail */
diff --git a/tests/check/gst/capslist.h b/tests/check/gst/capslist.h
index 0991fa8..9988dbc 100644
--- a/tests/check/gst/capslist.h
+++ b/tests/check/gst/capslist.h
@@ -32,6 +32,9 @@ static const gchar *caps_list[] = {
   /* Some random checks */
   "video/x-raw, format = (string) { I420, Y42B, Y444 }, framerate = (fraction) [1/MAX, MAX], width = (int) [ 1, MAX ], height = (int) [ 1, MAX ]",
 
+  /* Some nesting check */
+  "caps, nested=(GstCaps)[c1;c2;c3,deeply-nested-field=[deep-structure, test=true]]",
+
   "ANY",
   "EMPTY"
 };
diff --git a/tests/check/gst/gst.c b/tests/check/gst/gst.c
index fc82763..c8208fb 100644
--- a/tests/check/gst/gst.c
+++ b/tests/check/gst/gst.c
@@ -39,7 +39,7 @@ GST_START_TEST (test_deinit)
 {
   gst_init (NULL, NULL);
 
-  gst_deinit ();
+  /* gst_deinit will be called by test exit handler */
 }
 
 GST_END_TEST;
@@ -53,7 +53,7 @@ GST_START_TEST (test_deinit_sysclock)
   clock = gst_system_clock_obtain ();
   gst_object_unref (clock);
 
-  gst_deinit ();
+  /* gst_deinit will be called by test exit handler */
 }
 
 GST_END_TEST;
@@ -100,15 +100,19 @@ gst_suite (void)
 {
   Suite *s = suite_create ("Gst");
   TCase *tc_chain = tcase_create ("gst tests");
+  const char *ck_fork = g_getenv ("CK_FORK");
 
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_init);
   tcase_add_test (tc_chain, test_new_pipeline);
   tcase_add_test (tc_chain, test_new_fakesrc);
   tcase_add_test (tc_chain, test_version);
-  /* run these last so the others don't fail if CK_FORK=no is being used */
+  /* run these last so the others don't fail if CK_FORK=no is being used.
+   * only run single test for deinitialization if CK_FORK=no, so system exit
+   * will make the single deinit call */
   tcase_add_test (tc_chain, test_deinit_sysclock);
-  tcase_add_test (tc_chain, test_deinit);
+  if (!ck_fork || (strcmp (ck_fork, "no") != 0))
+    tcase_add_test (tc_chain, test_deinit);
 
   return s;
 }
diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
index 1a88426..88ff44d 100644
--- a/tests/check/gst/gstbin.c
+++ b/tests/check/gst/gstbin.c
@@ -27,35 +27,95 @@
 #include <gst/base/gstbasesrc.h>
 
 static void
-pop_async_done (GstBus * bus)
+pop_async_done (GstBus * bus, gboolean * had_latency)
 {
   GstMessage *message;
+  GstMessageType types = GST_MESSAGE_ASYNC_DONE;
+
+  if (!*had_latency)
+    types |= GST_MESSAGE_LATENCY;
 
   GST_DEBUG ("popping async-done message");
-  message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1);
 
-  fail_unless (message && GST_MESSAGE_TYPE (message)
-      == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
+  do {
+    message = gst_bus_poll (bus, types, -1);
 
-  gst_message_unref (message);
-  GST_DEBUG ("popped message");
+    fail_unless (message);
+    GST_DEBUG ("popped message %s",
+        gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
+
+    if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
+      fail_unless (*had_latency == FALSE);
+      *had_latency = TRUE;
+      gst_clear_message (&message);
+      types &= ~GST_MESSAGE_LATENCY;
+      continue;
+    }
+
+    fail_unless (GST_MESSAGE_TYPE (message)
+        == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
+
+    gst_clear_message (&message);
+    break;
+  } while (TRUE);
 }
 
 static void
-pop_messages (GstBus * bus, int count)
+pop_latency (GstBus * bus, gboolean * had_latency)
 {
   GstMessage *message;
 
+  if (*had_latency)
+    return;
+
+  GST_DEBUG ("popping latency message");
+  message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1);
+
+  fail_unless (message);
+  fail_unless (GST_MESSAGE_TYPE (message)
+      == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY");
+
+  GST_DEBUG ("popped message %s",
+      gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
+  gst_clear_message (&message);
+
+  *had_latency = TRUE;
+}
+
+static void
+pop_state_changed (GstBus * bus, int count, gboolean * had_latency)
+{
+  GstMessage *message;
+  GstMessageType types = GST_MESSAGE_STATE_CHANGED;
   int i;
 
+  if (!*had_latency)
+    types |= GST_MESSAGE_LATENCY;
+
   GST_DEBUG ("popping %d messages", count);
   for (i = 0; i < count; ++i) {
-    message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1);
-
-    fail_unless (message && GST_MESSAGE_TYPE (message)
-        == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED");
-
-    gst_message_unref (message);
+    do {
+      message = gst_bus_poll (bus, types, -1);
+
+      fail_unless (message);
+      GST_DEBUG ("popped message %s",
+          gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
+
+      if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
+        fail_unless (*had_latency == FALSE);
+        *had_latency = TRUE;
+        gst_clear_message (&message);
+        types &= ~GST_MESSAGE_LATENCY;
+        continue;
+      }
+
+      fail_unless (GST_MESSAGE_TYPE (message)
+          == GST_MESSAGE_STATE_CHANGED,
+          "did not get GST_MESSAGE_STATE_CHANGED");
+
+      gst_message_unref (message);
+      break;
+    } while (TRUE);
   }
   GST_DEBUG ("popped %d messages", count);
 }
@@ -523,6 +583,7 @@ GST_START_TEST (test_message_state_changed_children)
   GstBus *bus;
   GstStateChangeReturn ret;
   GstState current, pending;
+  gboolean had_latency = FALSE;
 
   pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
   fail_unless (pipeline != NULL, "Could not create pipeline");
@@ -561,7 +622,7 @@ GST_START_TEST (test_message_state_changed_children)
   ASSERT_OBJECT_REFCOUNT (sink, "sink", 2);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 2);
 
-  pop_messages (bus, 3);
+  pop_state_changed (bus, 3, &had_latency);
   fail_if (gst_bus_have_pending (bus), "unexpected pending messages");
 
   ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
@@ -599,18 +660,19 @@ GST_START_TEST (test_message_state_changed_children)
   ASSERT_OBJECT_REFCOUNT (src, "src", 4);
   /* refcount can be 4 if the bin is still processing the async_done message of
    * the sink. */
-  ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 3);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 4);
   /* 3 or 4 is valid, because the pipeline might still be posting 
    * its state_change message */
   ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4);
 
-  pop_messages (bus, 3);
-  pop_async_done (bus);
+  pop_state_changed (bus, 3, &had_latency);
+  pop_async_done (bus, &had_latency);
+  pop_latency (bus, &had_latency);
   fail_if ((gst_bus_pop (bus)) != NULL);
 
-  ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (bus, "bus", 2, 3);
   ASSERT_OBJECT_REFCOUNT (src, "src", 1);
-  ASSERT_OBJECT_REFCOUNT (sink, "sink", 2);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 3);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 1);
 
   /* change state to PLAYING, spawning three messages */
@@ -632,7 +694,7 @@ GST_START_TEST (test_message_state_changed_children)
   ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 4);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
 
-  pop_messages (bus, 3);
+  pop_state_changed (bus, 3, &had_latency);
   fail_if ((gst_bus_pop (bus)) != NULL);
 
   ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
@@ -650,10 +712,10 @@ GST_START_TEST (test_message_state_changed_children)
   /* each object is referenced by two messages, the source also has the
    * stream-status message referencing it */
   ASSERT_OBJECT_REFCOUNT (src, "src", 4);
-  ASSERT_OBJECT_REFCOUNT (sink, "sink", 3);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 3, 4);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
 
-  pop_messages (bus, 6);
+  pop_state_changed (bus, 6, &had_latency);
   fail_if ((gst_bus_pop (bus)) != NULL);
 
   ASSERT_OBJECT_REFCOUNT (src, "src", 1);
@@ -680,6 +742,7 @@ GST_START_TEST (test_watch_for_state_change)
   GstElement *src, *sink, *bin;
   GstBus *bus;
   GstStateChangeReturn ret;
+  gboolean had_latency = FALSE;
 
   bin = gst_element_factory_make ("bin", NULL);
   fail_unless (bin != NULL, "Could not create bin");
@@ -706,8 +769,9 @@ GST_START_TEST (test_watch_for_state_change)
       GST_CLOCK_TIME_NONE);
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
 
-  pop_messages (bus, 6);
-  pop_async_done (bus);
+  pop_state_changed (bus, 6, &had_latency);
+  pop_async_done (bus, &had_latency);
+  pop_latency (bus, &had_latency);
 
   fail_unless (gst_bus_have_pending (bus) == FALSE,
       "Unexpected messages on bus");
@@ -715,15 +779,18 @@ GST_START_TEST (test_watch_for_state_change)
   ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
 
-  pop_messages (bus, 3);
+  pop_state_changed (bus, 3, &had_latency);
 
+  had_latency = FALSE;
   /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
   ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
   gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
 
-  pop_messages (bus, 3);
-  if (ret == GST_STATE_CHANGE_ASYNC)
-    pop_async_done (bus);
+  pop_state_changed (bus, 3, &had_latency);
+  if (ret == GST_STATE_CHANGE_ASYNC) {
+    pop_async_done (bus, &had_latency);
+    pop_latency (bus, &had_latency);
+  }
 
   fail_unless (gst_bus_have_pending (bus) == FALSE,
       "Unexpected messages on bus");
@@ -879,6 +946,7 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
   GstStateChangeReturn ret;
   GstState current, pending;
   GstBus *bus;
+  gboolean had_latency = FALSE;
 
   pipeline = gst_pipeline_new (NULL);
   fail_unless (pipeline != NULL, "Could not create pipeline");
@@ -932,10 +1000,11 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
   ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 107);
 #else
 
-  pop_messages (bus, 2);        /* pop remaining ready => paused messages off the bus */
+  pop_state_changed (bus, 2, &had_latency);     /* pop remaining ready => paused messages off the bus */
   ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
       108);
-  pop_async_done (bus);
+  pop_async_done (bus, &had_latency);
+  pop_latency (bus, &had_latency);
 #endif
   /* PAUSED => PLAYING */
   GST_DEBUG ("popping PAUSED -> PLAYING messages");
@@ -953,8 +1022,8 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
   fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
 
   /* TODO: do we need to check downwards state change order as well? */
-  pop_messages (bus, 4);        /* pop playing => paused messages off the bus */
-  pop_messages (bus, 4);        /* pop paused => ready messages off the bus */
+  pop_state_changed (bus, 4, &had_latency);     /* pop playing => paused messages off the bus */
+  pop_state_changed (bus, 4, &had_latency);     /* pop paused => ready messages off the bus */
 
   while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
     THREAD_SWITCH ();
@@ -983,6 +1052,7 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
   GstStateChangeReturn ret;
   GstState current, pending;
   GstBus *bus;
+  gboolean had_latency = FALSE;
 
   /* (2) Now again, but check other code path where we don't have
    *     a proper sink correctly flagged as such, but a 'semi-sink' */
@@ -1037,10 +1107,11 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
   ASSERT_STATE_CHANGE_MSG (bus, src, GST_STATE_READY, GST_STATE_PAUSED, 206);
   ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 207);
 #else
-  pop_messages (bus, 2);        /* pop remaining ready => paused messages off the bus */
+  pop_state_changed (bus, 2, &had_latency);     /* pop remaining ready => paused messages off the bus */
   ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
       208);
-  pop_async_done (bus);
+  pop_async_done (bus, &had_latency);
+  pop_latency (bus, &had_latency);
 
   /* PAUSED => PLAYING */
   GST_DEBUG ("popping PAUSED -> PLAYING messages");
@@ -1057,8 +1128,8 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
   fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
 
   /* TODO: do we need to check downwards state change order as well? */
-  pop_messages (bus, 4);        /* pop playing => paused messages off the bus */
-  pop_messages (bus, 4);        /* pop paused => ready messages off the bus */
+  pop_state_changed (bus, 4, &had_latency);     /* pop playing => paused messages off the bus */
+  pop_state_changed (bus, 4, &had_latency);     /* pop paused => ready messages off the bus */
 
   GST_DEBUG ("waiting for pipeline to reach refcount 1");
   while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 99a6f9a..647dcb6 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -923,6 +923,50 @@ GST_START_TEST (test_wrapped_bytes)
 
 GST_END_TEST;
 
+GST_START_TEST (test_new_memdup)
+{
+  GstBuffer *buf;
+  GstMemory *mem;
+
+  buf = gst_buffer_new_memdup (ro_memory, sizeof (ro_memory));
+
+  fail_if (gst_buffer_memcmp (buf, 0, ro_memory, sizeof (ro_memory)));
+  fail_unless_equals_int (gst_buffer_get_size (buf), sizeof (ro_memory));
+
+  /* the memory should be writable */
+  mem = gst_buffer_peek_memory (buf, 0);
+  fail_unless (gst_memory_is_writable (mem));
+  fail_unless (gst_buffer_is_writable (buf));
+  gst_buffer_memset (buf, 0, 0xaa, sizeof (ro_memory));
+
+  gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_auto_unmap)
+{
+#ifdef g_auto
+  g_autoptr (GstBuffer) buf = NULL;
+  g_autoptr (GstMemory) mem = NULL;
+
+  buf = gst_buffer_new_memdup (ro_memory, sizeof (ro_memory));
+
+  {
+    g_auto (GstBufferMapInfo) map = GST_MAP_INFO_INIT;
+    fail_unless (gst_buffer_map (buf, &map, GST_MAP_READ));
+    mem = gst_memory_ref (map.memory);
+    /* mem should be reffed by buffer, map and us */
+    fail_unless_equals_int (GST_MINI_OBJECT_REFCOUNT (mem), 3);
+  }
+
+  /* mem should have been unreffed by g_auto() */
+  fail_unless_equals_int (GST_MINI_OBJECT_REFCOUNT (mem), 2);
+#endif
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_buffer_suite (void)
 {
@@ -948,6 +992,8 @@ gst_buffer_suite (void)
   tcase_add_test (tc_chain, test_parent_buffer_meta);
   tcase_add_test (tc_chain, test_writable_memory);
   tcase_add_test (tc_chain, test_wrapped_bytes);
+  tcase_add_test (tc_chain, test_new_memdup);
+  tcase_add_test (tc_chain, test_auto_unmap);
 
   return s;
 }
diff --git a/tests/check/gst/gstbus.c b/tests/check/gst/gstbus.c
index 78aa0f1..578e9d9 100644
--- a/tests/check/gst/gstbus.c
+++ b/tests/check/gst/gstbus.c
@@ -900,6 +900,32 @@ GST_START_TEST (test_async_message)
 
 GST_END_TEST;
 
+GST_START_TEST (test_single_gsource)
+{
+  GstBus *bus = gst_bus_new ();
+  GSource *source = gst_bus_create_watch (bus);
+  g_source_attach (source, NULL);
+  g_source_unref (source);
+
+  source = gst_bus_create_watch (bus);
+  fail_if (source, "Only one GSource can be added to a bus");
+
+  ASSERT_CRITICAL (gst_bus_add_signal_watch (bus));
+  ASSERT_CRITICAL (gst_bus_remove_signal_watch (bus));
+
+  fail_unless (gst_bus_remove_watch (bus), "Could not remove watch");
+  gst_bus_add_signal_watch (bus);
+
+  fail_if (gst_bus_remove_watch (bus), "Signal watch should be removed"
+      " with gst_bus_remove_signal_watch");
+
+  gst_bus_remove_signal_watch (bus);
+
+  gst_object_unref (bus);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_bus_suite (void)
 {
@@ -922,6 +948,7 @@ gst_bus_suite (void)
   tcase_add_test (tc_chain, test_timed_pop_filtered_with_timeout);
   tcase_add_test (tc_chain, test_custom_main_context);
   tcase_add_test (tc_chain, test_async_message);
+  tcase_add_test (tc_chain, test_single_gsource);
   return s;
 }
 
diff --git a/tests/check/gst/gstcaps.c b/tests/check/gst/gstcaps.c
index 0335e8b..b6c1541 100644
--- a/tests/check/gst/gstcaps.c
+++ b/tests/check/gst/gstcaps.c
@@ -43,7 +43,16 @@ GST_START_TEST (test_from_string)
         "Could not convert caps back to string %s\n", caps_list[i]);
     caps2 = gst_caps_from_string (to_str);
     fail_if (caps2 == NULL, "Could not create caps from string %s\n", to_str);
+    g_free (to_str);
+
+    fail_unless (gst_caps_is_equal (caps, caps));
+    fail_unless (gst_caps_is_equal (caps, caps2));
+    gst_caps_unref (caps2);
 
+    to_str = gst_caps_serialize (caps, GST_SERIALIZE_FLAG_NONE);
+    fail_if (to_str == NULL,
+        "Could not convert caps back to string %s\n", caps_list[i]);
+    caps2 = gst_caps_from_string (to_str);
     fail_unless (gst_caps_is_equal (caps, caps));
     fail_unless (gst_caps_is_equal (caps, caps2));
 
@@ -1395,16 +1404,15 @@ GST_START_TEST (test_special_caps)
 
   caps = gst_caps_new_any ();
   fail_unless (gst_caps_is_any (caps));
-  fail_unless (gst_caps_is_any (caps) == TRUE);
+  fail_unless (gst_caps_is_any (caps));
   fail_if (gst_caps_is_empty (caps));
   fail_unless (gst_caps_is_empty (caps) == FALSE);
   gst_caps_unref (caps);
 
   caps = gst_caps_new_empty ();
   fail_if (gst_caps_is_any (caps));
-  fail_unless (gst_caps_is_any (caps) == FALSE);
   fail_unless (gst_caps_is_empty (caps));
-  fail_unless (gst_caps_is_empty (caps) == TRUE);
+  fail_unless (gst_caps_is_empty (caps));
   gst_caps_unref (caps);
 }
 
@@ -1808,6 +1816,32 @@ GST_START_TEST (test_remains_any)
 
 GST_END_TEST;
 
+GST_START_TEST (test_fixed)
+{
+  GstCaps *caps;
+
+  caps =
+      gst_caps_from_string
+      ("video/x-raw, format=I420; video/x-raw(foo:bar); video/x-h264");
+  fail_if (gst_caps_is_fixed (caps));
+  gst_caps_unref (caps);
+
+  caps = gst_caps_new_any ();
+  fail_if (gst_caps_is_fixed (caps));
+  gst_caps_unref (caps);
+
+  caps = gst_caps_from_string ("ANY");
+  fail_unless (gst_caps_is_any (caps));
+  fail_if (gst_caps_is_fixed (caps));
+  gst_caps_unref (caps);
+
+  caps = gst_caps_from_string ("video/x-raw, format=I420");
+  fail_unless (gst_caps_is_fixed (caps));
+  gst_caps_unref (caps);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_caps_suite (void)
 {
@@ -1845,6 +1879,7 @@ gst_caps_suite (void)
   tcase_add_test (tc_chain, test_filter_and_map_in_place);
   tcase_add_test (tc_chain, test_equality);
   tcase_add_test (tc_chain, test_remains_any);
+  tcase_add_test (tc_chain, test_fixed);
 
   return s;
 }
diff --git a/tests/check/gst/gstcontroller.c b/tests/check/gst/gstcontroller.c
index 936274d..04a11e2 100644
--- a/tests/check/gst/gstcontroller.c
+++ b/tests/check/gst/gstcontroller.c
@@ -181,7 +181,7 @@ gst_test_obj_class_init (GstTestObjClass * klass)
 static GType
 gst_test_obj_get_type (void)
 {
-  static volatile gsize test_obj_type = 0;
+  static gsize test_obj_type = 0;
 
   if (g_once_init_enter (&test_obj_type)) {
     GType type;
@@ -276,7 +276,7 @@ gst_test_control_source_init (GstTestControlSource * self)
 static GType
 gst_test_control_source_get_type (void)
 {
-  static volatile gsize test_countrol_source_type = 0;
+  static gsize test_countrol_source_type = 0;
 
   if (g_once_init_enter (&test_countrol_source_type)) {
     GType type;
@@ -406,7 +406,7 @@ gst_test_control_binding_class_init (gpointer klass, gpointer class_data)
 static GType
 gst_test_control_binding_get_type (void)
 {
-  static volatile gsize test_countrol_binding_type = 0;
+  static gsize test_countrol_binding_type = 0;
 
   if (g_once_init_enter (&test_countrol_binding_type)) {
     GType type;
diff --git a/tests/check/gst/gstdatetime.c b/tests/check/gst/gstdatetime.c
index 07ab993..b083431 100644
--- a/tests/check/gst/gstdatetime.c
+++ b/tests/check/gst/gstdatetime.c
@@ -241,11 +241,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
   /* Invalid values */
 
   /* Year */
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (0, 2, 28, 12, 0, 0));     // -1 has special meaning!
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (0, 2, 28, 12, 0, 0));  // -1 has special meaning!
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (10000, 2, 28, 12, 0, 0));
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (10000, 2, 28, 12, 0, 0));
 
   dt = gst_date_time_new_local_time (1, 2, 28, 12, 0, 0);
   fail_unless (dt != NULL);
@@ -257,11 +255,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
 
   /* Month */
   dt = NULL;
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 0, 28, 12, 0, 0));
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 0, 28, 12, 0, 0));
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 13, 28, 12, 0, 0));
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 13, 28, 12, 0, 0));
 
   dt = gst_date_time_new_local_time (2020, 1, 28, 12, 0, 0);
   fail_unless (dt != NULL);
@@ -277,10 +273,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
 
   /* Day */
   dt = NULL;
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 0, 12, 0, 0));
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 2, 0, 12, 0, 0));
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 32, 12, 0, 0));
+  fail_if (gst_date_time_new_local_time (2020, 2, 32, 12, 0, 0));
   fail_unless (dt == NULL);
 
   dt = gst_date_time_new_local_time (2020, 2, 1, 12, 0, 0);
@@ -297,10 +292,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
 
   /* Hour */
   dt = NULL;
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, -10, 0, 0)); // -1 has special meaning!
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, -10, 0, 0));      // -1 has special meaning!
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, 24, 0, 0));
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, 24, 0, 0));
   fail_unless (dt == NULL);
 
   dt = gst_date_time_new_local_time (2020, 2, 28, 0, 0, 0);
@@ -313,10 +307,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
 
   /* Min */
   dt = NULL;
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, 12, -10, 0));        // -1 has special meaning!
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, 12, -10, 0));     // -1 has special meaning!
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, 12, 60, 0));
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, 12, 60, 0));
   fail_unless (dt == NULL);
 
   dt = gst_date_time_new_local_time (2020, 2, 28, 12, 0, 0);
@@ -329,10 +322,9 @@ GST_START_TEST (test_GstDateTime_new_local_time)
 
   /* Sec */
   dt = NULL;
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, 12, 0, -10));        // -1 has special meaning!
-  fail_unless (dt == NULL);
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, 12, 0, -10));     // -1 has special meaning!
 
-  ASSERT_CRITICAL (dt = gst_date_time_new_local_time (2020, 2, 28, 12, 0, 60));
+  fail_if (gst_date_time_new_local_time (2020, 2, 28, 12, 0, 60));
   fail_unless (dt == NULL);
 
   dt = gst_date_time_new_local_time (2020, 2, 28, 12, 0, 0);
@@ -470,21 +462,21 @@ GST_START_TEST (test_GstDateTime_partial_fields)
 {
   GstDateTime *dt;
 
-  ASSERT_CRITICAL (gst_date_time_new (0.0, -1, -1, -1, -1, -1, -1));
-  ASSERT_CRITICAL (gst_date_time_new (0.0, 2012, 7, 18, 9, -1, -1));
+  fail_if (gst_date_time_new (0.0, -1, -1, -1, -1, -1, -1));
+  fail_if (gst_date_time_new (0.0, 2012, 7, 18, 9, -1, -1));
 
   dt = gst_date_time_new (0.0, 2012, -1, -1, -1, -1, -1);
   fail_unless (gst_date_time_has_year (dt));
   fail_unless_equals_int (gst_date_time_get_year (dt), 2012);
   fail_if (gst_date_time_has_month (dt));
-  ASSERT_CRITICAL (gst_date_time_get_month (dt));
+  fail_unless_equals_int (gst_date_time_get_month (dt), -1);
   fail_if (gst_date_time_has_day (dt));
-  ASSERT_CRITICAL (gst_date_time_get_day (dt));
+  fail_unless_equals_int (gst_date_time_get_day (dt), -1);
   fail_if (gst_date_time_has_time (dt));
-  ASSERT_CRITICAL (gst_date_time_get_hour (dt));
-  ASSERT_CRITICAL (gst_date_time_get_minute (dt));
+  fail_unless_equals_int (gst_date_time_get_hour (dt), -1);
+  fail_unless_equals_int (gst_date_time_get_minute (dt), -1);
   fail_if (gst_date_time_has_second (dt));
-  ASSERT_CRITICAL (gst_date_time_get_second (dt));
+  fail_unless_equals_float (gst_date_time_get_second (dt), -1.0);
   gst_date_time_unref (dt);
 
   dt = gst_date_time_new (0.0, 2012, 7, -1, -1, -1, -1);
@@ -493,12 +485,12 @@ GST_START_TEST (test_GstDateTime_partial_fields)
   fail_unless (gst_date_time_has_month (dt));
   fail_unless_equals_int (gst_date_time_get_month (dt), 7);
   fail_if (gst_date_time_has_day (dt));
-  ASSERT_CRITICAL (gst_date_time_get_day (dt));
+  fail_unless_equals_int (gst_date_time_get_day (dt), -1);
   fail_if (gst_date_time_has_time (dt));
-  ASSERT_CRITICAL (gst_date_time_get_hour (dt));
-  ASSERT_CRITICAL (gst_date_time_get_minute (dt));
+  fail_unless_equals_int (gst_date_time_get_hour (dt), -1);
+  fail_unless_equals_int (gst_date_time_get_minute (dt), -1);
   fail_if (gst_date_time_has_second (dt));
-  ASSERT_CRITICAL (gst_date_time_get_second (dt));
+  fail_unless_equals_float (gst_date_time_get_second (dt), -1.0);
   gst_date_time_unref (dt);
 
   dt = gst_date_time_new (0.0, 2012, 7, 1, -1, -1, -1);
diff --git a/tests/check/gst/gstdevice.c b/tests/check/gst/gstdevice.c
index 70e186a..0c4d91f 100644
--- a/tests/check/gst/gstdevice.c
+++ b/tests/check/gst/gstdevice.c
@@ -174,8 +174,12 @@ gst_test_device_provider_init (GstTestDeviceProvider * self)
 {
 }
 
-static void
-register_test_device_provider (void)
+GST_DEVICE_PROVIDER_REGISTER_DECLARE (testdeviceprovider);
+
+GST_DEVICE_PROVIDER_REGISTER_DEFINE (testdeviceprovider, "testdeviceprovider",
+    1, gst_test_device_provider_get_type ())
+
+     static void register_test_device_provider (void)
 {
   gst_device_provider_register (NULL, "testdeviceprovider", 1,
       gst_test_device_provider_get_type ());
@@ -187,7 +191,7 @@ GST_START_TEST (test_device_provider_factory)
   GList *factories;
   GstDeviceProviderFactory *f;
 
-  register_test_device_provider ();
+  GST_DEVICE_PROVIDER_REGISTER (testdeviceprovider, NULL);
 
   factories = gst_device_provider_factory_list_get_device_providers (1);
 
@@ -244,12 +248,14 @@ GST_START_TEST (test_device_provider)
   g_list_free_full (devs, (GDestroyNotify) gst_object_unref);
 
   fail_if (gst_device_provider_can_monitor (dp));
+  fail_if (gst_device_provider_is_started (dp));
   fail_unless (gst_device_provider_start (dp));
 
   bus = gst_device_provider_get_bus (dp);
   fail_unless (GST_IS_BUS (bus));
   gst_object_unref (bus);
 
+  fail_unless (gst_device_provider_is_started (dp));
   gst_device_provider_stop (dp);
 
   gst_object_unref (dp);
diff --git a/tests/check/gst/gstelement.c b/tests/check/gst/gstelement.c
index 62d469c..a80aa45 100644
--- a/tests/check/gst/gstelement.c
+++ b/tests/check/gst/gstelement.c
@@ -83,6 +83,56 @@ GST_START_TEST (test_add_pad_unref_element)
 
 GST_END_TEST;
 
+static void
+test_add_pad_while_paused_dummy_task (void *user_data)
+{
+  GstPad *pad = (GstPad *) user_data;
+  gst_pad_pause_task (pad);
+}
+
+static gboolean
+test_add_pad_while_paused_pad_activatemode (GstPad * pad, GstObject * parent,
+    GstPadMode mode, gboolean active)
+{
+  *(gboolean *) pad->activatemodedata = active;
+  fail_unless (mode == GST_PAD_MODE_PUSH);
+  if (active)
+    gst_pad_start_task (pad, test_add_pad_while_paused_dummy_task, pad, NULL);
+  else
+    gst_pad_stop_task (pad);
+  return TRUE;
+}
+
+GST_START_TEST (test_add_pad_while_paused)
+{
+  GstElement *e;
+  GstPad *p;
+  gboolean active = FALSE;
+
+  e = gst_element_factory_make ("fakesrc", "source");
+  gst_element_set_state (e, GST_STATE_PAUSED);
+  {
+    GstPad *old_pad = gst_element_get_static_pad (e, "src");
+    gst_pad_set_active (old_pad, FALSE);
+    gst_element_remove_pad (e, old_pad);
+    gst_object_unref (old_pad);
+  }
+
+  p = gst_pad_new ("dynamic", GST_PAD_SRC);
+  gst_pad_set_activatemode_function_full (p,
+      test_add_pad_while_paused_pad_activatemode, (void *) &active, NULL);
+
+  fail_if (active);
+  gst_element_add_pad (e, p);
+  fail_if (!active);
+  gst_element_set_state (e, GST_STATE_NULL);
+  fail_if (active);
+
+  gst_object_unref (e);
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_error_no_bus)
 {
   GstElement *e;
@@ -654,7 +704,6 @@ GST_START_TEST (test_request_pad_templates)
   GHashTableIter iter;
   gpointer key, value;
   const gchar *pad_name, *templ_name;
-  GSList *padname_blacklists = NULL, *item;
   GError *err = NULL;
 
   padnames = g_hash_table_new (g_str_hash, g_str_equal);
@@ -703,23 +752,7 @@ GST_START_TEST (test_request_pad_templates)
   g_hash_table_insert (padnames, (gpointer) "src_%s", (gpointer) "src_%s");
   g_hash_table_insert (padnames, (gpointer) "src_%u_%s",
       (gpointer) "src_%u_%s");
-
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%u%u");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%u_%d");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%u_%u_");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%u_%s_%s");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%s_%u");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%s_%s");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%s_%s_%s");
-  padname_blacklists =
-      g_slist_append (padname_blacklists, (gpointer) "src_%s_blah");
+  g_hash_table_insert (padnames, (gpointer) "src_foo_bar", (gpointer) "src_%s");
 
   test = g_object_new (gst_test_element3_get_type (), NULL);
 
@@ -729,7 +762,7 @@ GST_START_TEST (test_request_pad_templates)
     pad_name = (const gchar *) key;
     templ_name = (const gchar *) value;
 
-    pad = gst_element_get_request_pad (GST_ELEMENT (test), pad_name);
+    pad = gst_element_request_pad_simple (GST_ELEMENT (test), pad_name);
     fail_unless (pad != NULL);
     gst_element_release_request_pad (GST_ELEMENT (test), pad);
     gst_object_unref (pad);
@@ -742,16 +775,6 @@ GST_START_TEST (test_request_pad_templates)
     gst_object_unref (pad);
   }
 
-  item = padname_blacklists;
-
-  /* check invalid request pad name */
-  while (item) {
-    pad_name = (const gchar *) (item->data);
-    item = g_slist_next (item);
-    pad = gst_element_get_request_pad (GST_ELEMENT (test), pad_name);
-    fail_unless (pad == NULL);
-  }
-
   /* check it working with some APIs
    * gst_element_link/link_pads */
   sink = gst_element_factory_make ("fakesink", "sink");
@@ -782,13 +805,45 @@ GST_START_TEST (test_request_pad_templates)
   if (err) {
     g_error_free (err);
   }
-  g_slist_free (padname_blacklists);
   g_hash_table_unref (padnames);
   gst_object_unref (pipeline);
 }
 
 GST_END_TEST;
 
+GST_START_TEST (test_forbidden_pad_template_names)
+{
+  const gchar *pad_name;
+  GSList *padname_blacklists = NULL, *item;
+
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%u%u");
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%u_%s_%s");
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%s_%u");
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%s_%s");
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%s_%s_%s");
+  padname_blacklists =
+      g_slist_append (padname_blacklists, (gpointer) "src_%s_blah");
+
+  item = padname_blacklists;
+
+  /* check invalid request pad name */
+  while (item) {
+    pad_name = (const gchar *) (item->data);
+    item = g_slist_next (item);
+    ASSERT_WARNING (gst_pad_template_new (pad_name, GST_PAD_SRC,
+            GST_PAD_REQUEST, GST_CAPS_ANY));
+  }
+
+  g_slist_free (padname_blacklists);
+}
+
+GST_END_TEST;
+
 static gboolean run_foreach_thread;
 
 /* thread function that just adds/removes pads while main thread iterates pads */
@@ -870,7 +925,7 @@ GST_START_TEST (test_foreach_pad)
   MAIN_START_THREAD_FUNCTION (0, thread_add_remove_pads, e);
   MAIN_SYNCHRONIZE ();
 
-  for (i = 0; i < 10000; ++i) {
+  for (i = 0; i < 1000; ++i) {
     gchar num[32];
 
     g_snprintf (num, 32, "foreach-test-%u", i);
@@ -916,12 +971,14 @@ gst_element_suite (void)
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_add_remove_pad);
   tcase_add_test (tc_chain, test_add_pad_unref_element);
+  tcase_add_test (tc_chain, test_add_pad_while_paused);
   tcase_add_test (tc_chain, test_error_no_bus);
   tcase_add_test (tc_chain, test_link);
   tcase_add_test (tc_chain, test_link_no_pads);
   tcase_add_test (tc_chain, test_pad_templates);
   tcase_add_test (tc_chain, test_property_notify_message);
   tcase_add_test (tc_chain, test_request_pad_templates);
+  tcase_add_test (tc_chain, test_forbidden_pad_template_names);
   tcase_add_test (tc_chain, test_foreach_pad);
 
   return s;
diff --git a/tests/check/gst/gstelementfactory.c b/tests/check/gst/gstelementfactory.c
index 7a7cca9..7d72247 100644
--- a/tests/check/gst/gstelementfactory.c
+++ b/tests/check/gst/gstelementfactory.c
@@ -77,6 +77,35 @@ GST_START_TEST (test_create)
 
 GST_END_TEST;
 
+/* test element creation */
+GST_START_TEST (test_element_factory)
+{
+  GstElement *e, *e_name, *e_prop;
+  const gchar name[] = "source";
+  const int nb = 10;
+  const gboolean do_ts = TRUE;
+  int num_buffers = nb;
+  gboolean do_timestamp = do_ts;
+
+  e = gst_element_factory_make ("fakesrc", NULL);
+  fail_if (e == NULL);
+
+  e_name = gst_element_factory_make ("fakesrc", name);
+  fail_if (e_name == NULL || g_strcmp0 (name, GST_OBJECT_NAME (e_name)) != 0);
+
+  e_prop = gst_element_factory_make_full ("fakesrc",
+      "num-buffers", nb, "do-timestamp", do_ts, NULL);
+  g_object_get (e_prop,
+      "num_buffers", &num_buffers, "do-timestamp", &do_timestamp, NULL);
+  fail_if (e_prop == NULL || num_buffers != nb || do_timestamp != do_ts);
+
+  gst_object_unref (e);
+  gst_object_unref (e_name);
+  gst_object_unref (e_prop);
+}
+
+GST_END_TEST;
+
 /* test if the factory can accept some caps */
 GST_START_TEST (test_can_sink_any_caps)
 {
@@ -174,6 +203,7 @@ gst_element_factory_suite (void)
   suite_add_tcase (s, tc_chain);
   tcase_add_test (tc_chain, test_class);
   tcase_add_test (tc_chain, test_create);
+  tcase_add_test (tc_chain, test_element_factory);
   tcase_add_test (tc_chain, test_can_sink_any_caps);
   tcase_add_test (tc_chain, test_can_sink_all_caps);
 
diff --git a/tests/check/gst/gstinfo.c b/tests/check/gst/gstinfo.c
index 52f0c3b..dba7d63 100644
--- a/tests/check/gst/gstinfo.c
+++ b/tests/check/gst/gstinfo.c
@@ -62,7 +62,7 @@ GST_START_TEST (info_ptr_format_printf_extension)
   gst_debug_remove_log_function (gst_debug_log_default);
   gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_LOG);
+  gst_debug_set_threshold_from_string ("LOG", TRUE);
 
   /* NULL object */
   GST_LOG ("NULL: %" GST_PTR_FORMAT, (gpointer) NULL);
@@ -148,7 +148,7 @@ GST_START_TEST (info_segment_format_printf_extension)
   gst_debug_remove_log_function (gst_debug_log_default);
   gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_LOG);
+  gst_debug_set_threshold_from_string ("LOG", TRUE);
 
   /* TIME segment */
   {
@@ -252,7 +252,7 @@ GST_START_TEST (info_log_handler_get_line)
   gst_debug_remove_log_function (gst_debug_log_default);
   gst_debug_add_log_function (compare_gst_log_func, NULL, NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_LOG);
+  gst_debug_set_threshold_from_string ("LOG", TRUE);
   GST_DEBUG ("test message");
 
   /* clean up */
@@ -330,7 +330,7 @@ GST_START_TEST (info_old_printf_extensions)
   gst_debug_remove_log_function (gst_debug_log_default);
   gst_debug_add_log_function (printf_extension_log_func, NULL, NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_LOG);
+  gst_debug_set_threshold_from_string ("LOG", TRUE);
 
   save_messages = TRUE;
 
@@ -389,21 +389,20 @@ GST_END_TEST;
 
 GST_START_TEST (info_set_and_unset_single)
 {
-  GstDebugLevel orig = gst_debug_get_default_threshold ();
   GstDebugLevel cat1, cat2;
   GstDebugCategory *states;
 
   GST_DEBUG_CATEGORY_GET (states, "GST_STATES");
   fail_unless (states != NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_WARNING);
+  gst_debug_set_threshold_from_string ("WARNING", TRUE);
 
   gst_debug_set_threshold_for_name ("GST_STATES", GST_LEVEL_DEBUG);
   cat1 = gst_debug_category_get_threshold (states);
   gst_debug_unset_threshold_for_name ("GST_STATES");
   cat2 = gst_debug_category_get_threshold (states);
 
-  gst_debug_set_default_threshold (orig);
+  gst_debug_set_default_threshold (GST_LEVEL_NONE);
   fail_unless_equals_int (cat1, GST_LEVEL_DEBUG);
   fail_unless_equals_int (cat2, GST_LEVEL_WARNING);
 }
@@ -412,7 +411,6 @@ GST_END_TEST;
 
 GST_START_TEST (info_set_and_unset_multiple)
 {
-  GstDebugLevel orig = gst_debug_get_default_threshold ();
   GstDebugLevel cat1, cat2, cat3;
   GstDebugCategory *states;
   GstDebugCategory *caps;
@@ -422,7 +420,7 @@ GST_START_TEST (info_set_and_unset_multiple)
   fail_unless (states != NULL);
   fail_unless (caps != NULL);
 
-  gst_debug_set_default_threshold (GST_LEVEL_WARNING);
+  gst_debug_set_threshold_from_string ("WARNING", TRUE);
 
   gst_debug_set_threshold_for_name ("GST_STATES", GST_LEVEL_DEBUG);
   gst_debug_set_threshold_for_name ("GST_CAPS", GST_LEVEL_DEBUG);
@@ -432,7 +430,7 @@ GST_START_TEST (info_set_and_unset_multiple)
   cat2 = gst_debug_category_get_threshold (states);
   cat3 = gst_debug_category_get_threshold (caps);
 
-  gst_debug_set_default_threshold (orig);
+  gst_debug_set_default_threshold (GST_LEVEL_NONE);
 
   fail_unless_equals_int (cat1, GST_LEVEL_DEBUG);
   fail_unless_equals_int (cat2, GST_LEVEL_WARNING);
@@ -487,34 +485,75 @@ GST_START_TEST (info_post_gst_init_category_registration)
     g_free (name);
   }
 
-  /* These checks will only work if no one else set anything externally */
-  if (g_getenv ("GST_DEBUG") == NULL) {
-    /* none */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[0]),
-        GST_LEVEL_DEFAULT);
-    /* d*:2 */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[1]),
-        GST_LEVEL_WARNING);
-    /* none */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[2]),
-        GST_LEVEL_DEFAULT);
-    /* d*:2 */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[3]),
-        GST_LEVEL_WARNING);
-    /* *c:3 */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xc]),
-        GST_LEVEL_FIXME);
-    /* *c:3 */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[0x4c]),
-        GST_LEVEL_FIXME);
-    /* *a*b:6 and d*:2, but d*:2 takes priority here as cat name is "dog-a1b"
-     * and order matters: items listed later override earlier ones. */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xa1b]),
-        GST_LEVEL_WARNING);
-    /* *a*0:6 */
-    fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xb10]),
-        GST_LEVEL_LOG);
-  }
+  /* none */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[0]),
+      GST_LEVEL_DEFAULT);
+  /* d*:2 */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[1]),
+      GST_LEVEL_WARNING);
+  /* none */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[2]),
+      GST_LEVEL_DEFAULT);
+  /* d*:2 */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[3]),
+      GST_LEVEL_WARNING);
+  /* *c:3 */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xc]),
+      GST_LEVEL_FIXME);
+  /* *c:3 */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[0x4c]),
+      GST_LEVEL_FIXME);
+  /* *a*b:6 and d*:2, but d*:2 takes priority here as cat name is "dog-a1b"
+   * and order matters: items listed later override earlier ones. */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xa1b]),
+      GST_LEVEL_WARNING);
+  /* *a*0:6 */
+  fail_unless_equals_int (gst_debug_category_get_threshold (cats[0xb10]),
+      GST_LEVEL_LOG);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (info_set_and_reset_string)
+{
+  GstDebugCategory *states;
+  GstDebugCategory *caps;
+  GstDebugLevel cat;
+
+  GST_DEBUG_CATEGORY_GET (states, "GST_STATES");
+  GST_DEBUG_CATEGORY_GET (caps, "GST_CAPS");
+  fail_unless (states != NULL);
+  fail_unless (caps != NULL);
+
+  gst_debug_set_threshold_from_string ("WARNING,GST_CAPS:DEBUG", TRUE);
+  cat = gst_debug_category_get_threshold (states);
+  fail_unless_equals_int (cat, GST_LEVEL_WARNING);
+  cat = gst_debug_category_get_threshold (caps);
+  fail_unless_equals_int (cat, GST_LEVEL_DEBUG);
+
+  gst_debug_set_threshold_from_string ("GST_STATES:TRACE", FALSE);
+  cat = gst_debug_category_get_threshold (states);
+  fail_unless_equals_int (cat, GST_LEVEL_TRACE);
+  cat = gst_debug_category_get_threshold (caps);
+  fail_unless_equals_int (cat, GST_LEVEL_DEBUG);
+
+  gst_debug_set_threshold_from_string ("INFO,GST_CAPS:FIXME", FALSE);
+  cat = gst_debug_category_get_threshold (states);
+  fail_unless_equals_int (cat, GST_LEVEL_TRACE);
+  cat = gst_debug_category_get_threshold (caps);
+  fail_unless_equals_int (cat, GST_LEVEL_FIXME);
+
+  gst_debug_set_threshold_from_string ("INFO,GST_CAPS:FIXME", TRUE);
+  cat = gst_debug_category_get_threshold (states);
+  fail_unless_equals_int (cat, GST_LEVEL_INFO);
+  cat = gst_debug_category_get_threshold (caps);
+  fail_unless_equals_int (cat, GST_LEVEL_FIXME);
+
+  gst_debug_set_threshold_from_string ("", TRUE);
+  cat = gst_debug_category_get_threshold (states);
+  fail_unless_equals_int (cat, GST_LEVEL_DEFAULT);
+  cat = gst_debug_category_get_threshold (caps);
+  fail_unless_equals_int (cat, GST_LEVEL_DEFAULT);
 }
 
 GST_END_TEST;
@@ -541,6 +580,7 @@ gst_info_suite (void)
   tcase_add_test (tc_chain, info_set_and_unset_single);
   tcase_add_test (tc_chain, info_set_and_unset_multiple);
   tcase_add_test (tc_chain, info_post_gst_init_category_registration);
+  tcase_add_test (tc_chain, info_set_and_reset_string);
 #endif
 
   return s;
diff --git a/tests/check/gst/gstmeta.c b/tests/check/gst/gstmeta.c
index 03af6d7..b5d0392 100644
--- a/tests/check/gst/gstmeta.c
+++ b/tests/check/gst/gstmeta.c
@@ -135,7 +135,7 @@ test_transform_func (GstBuffer * transbuf, GstMeta * meta,
 static GType
 gst_meta_test_api_get_type (void)
 {
-  static volatile GType type;
+  static GType type;
   static const gchar *tags[] = { "timing", NULL };
 
   if (g_once_init_enter (&type)) {
@@ -182,7 +182,7 @@ foo_transform_func (GstBuffer * transbuf, GstMeta * meta,
       g_quark_to_string (type), buffer, transbuf, meta);
 
   if (GST_META_TRANSFORM_IS_COPY (type)) {
-    G_GNUC_UNUSED GstMetaFoo *unused = GST_META_FOO_ADD (transbuf);
+    GST_META_FOO_ADD (transbuf);
   } else {
     /* return FALSE, if transform type is not supported */
     return FALSE;
@@ -193,7 +193,7 @@ foo_transform_func (GstBuffer * transbuf, GstMeta * meta,
 static GType
 gst_meta_foo_api_get_type (void)
 {
-  static volatile GType type;
+  static GType type;
   static const gchar *tags[] = { NULL };
 
   if (g_once_init_enter (&type)) {
@@ -688,6 +688,126 @@ GST_START_TEST (test_meta_seqnum)
 
 GST_END_TEST;
 
+GST_START_TEST (test_meta_custom)
+{
+  GstBuffer *buffer, *trans_buf;
+  const GstMetaInfo *info;
+  GstCustomMeta *meta, *trans_meta;
+  GstMeta *it;
+  GstStructure *s, *trans_s, *expected;
+  gpointer state = NULL;
+  const gchar *tags[] = { "test-tag", NULL };
+
+  info = gst_meta_register_custom ("test-custom", tags, NULL, NULL, NULL);
+
+  fail_unless (info != NULL);
+
+  buffer = gst_buffer_new_and_alloc (4);
+  fail_if (buffer == NULL);
+
+  /* add some metadata */
+  meta = gst_buffer_add_custom_meta (buffer, "test-custom");
+  fail_if (meta == NULL);
+
+  fail_unless (gst_custom_meta_has_name ((GstCustomMeta *) meta,
+          "test-custom"));
+
+  expected = gst_structure_new_empty ("test-custom");
+  s = gst_custom_meta_get_structure (meta);
+  fail_unless (gst_structure_is_equal (s, expected));
+  gst_structure_free (expected);
+
+  gst_structure_set (s, "test-field", G_TYPE_INT, 42, NULL);
+
+  gst_buffer_ref (buffer);
+
+  ASSERT_CRITICAL (gst_structure_set (s, "test-field", G_TYPE_INT, 43, NULL));
+
+  /* Test that a copied buffer's meta structure has the correct refcount */
+  trans_buf = gst_buffer_copy (buffer);
+  trans_meta = gst_buffer_get_custom_meta (trans_buf, "test-custom");
+  trans_s = gst_custom_meta_get_structure (trans_meta);
+  gst_structure_set (trans_s, "test-field", G_TYPE_INT, 43, NULL);
+
+  gst_buffer_unref (buffer);
+
+  expected = gst_structure_new ("test-custom",
+      "test-field", G_TYPE_INT, 42, NULL);
+  fail_unless (gst_structure_is_equal (s, expected));
+  gst_structure_free (expected);
+
+  it = gst_buffer_iterate_meta (buffer, &state);
+
+  fail_unless ((GstCustomMeta *) it == meta);
+
+  fail_unless (it->info == info);
+
+  /* clean up */
+  gst_buffer_unref (buffer);
+  gst_buffer_unref (trans_buf);
+}
+
+GST_END_TEST;
+
+static gboolean
+transform_custom (GstBuffer * transbuf, GstMeta * meta, GstBuffer * buffer,
+    GQuark type, gpointer data, gint * user_data)
+{
+  if (GST_META_TRANSFORM_IS_COPY (type)) {
+    GstStructure *s;
+    GstCustomMeta *custom;
+
+    custom = (GstCustomMeta *) gst_buffer_add_meta (transbuf, meta->info, NULL);
+    s = gst_custom_meta_get_structure (custom);
+    gst_structure_set (s, "test-field", G_TYPE_INT, *user_data, NULL);
+  } else {
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+GST_START_TEST (test_meta_custom_transform)
+{
+  GstBuffer *buffer, *buffer_copy;
+  const GstMetaInfo *info;
+  GstCustomMeta *meta;
+  GstStructure *s, *expected;
+  const gchar *tags[] = { "test-tag", NULL };
+  gint *user_data;
+
+  /* That memory should be deallocated at gst_deinit time */
+  user_data = g_malloc (sizeof (gint));
+  *user_data = 42;
+  info =
+      gst_meta_register_custom ("test-custom-transform", tags,
+      (GstCustomMetaTransformFunction) transform_custom, user_data, g_free);
+
+  fail_unless (info != NULL);
+
+  buffer = gst_buffer_new_and_alloc (4);
+  fail_if (buffer == NULL);
+
+  /* add some metadata */
+  meta = gst_buffer_add_custom_meta (buffer, "test-custom-transform");
+  fail_if (meta == NULL);
+
+  buffer_copy = gst_buffer_copy (buffer);
+  meta = gst_buffer_get_custom_meta (buffer_copy, "test-custom-transform");
+  fail_unless (meta != NULL);
+  expected = gst_structure_new ("test-custom-transform",
+      "test-field", G_TYPE_INT, 42, NULL);
+  s = gst_custom_meta_get_structure (meta);
+  fail_unless (gst_structure_is_equal (s, expected));
+  gst_structure_free (expected);
+
+  /* clean up */
+  gst_buffer_unref (buffer_copy);
+  gst_buffer_unref (buffer);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_buffermeta_suite (void)
 {
@@ -705,6 +825,8 @@ gst_buffermeta_suite (void)
   tcase_add_test (tc_chain, test_meta_foreach_remove_several);
   tcase_add_test (tc_chain, test_meta_iterate);
   tcase_add_test (tc_chain, test_meta_seqnum);
+  tcase_add_test (tc_chain, test_meta_custom);
+  tcase_add_test (tc_chain, test_meta_custom_transform);
 
   return s;
 }
diff --git a/tests/check/gst/gstminiobject.c b/tests/check/gst/gstminiobject.c
index e2cc14e..93724dc 100644
--- a/tests/check/gst/gstminiobject.c
+++ b/tests/check/gst/gstminiobject.c
@@ -220,7 +220,7 @@ struct _MyBufferPool
 {
   GSList *buffers;
 
-  volatile gboolean is_closed;
+  gboolean is_closed;
 };
 
 static void my_recycle_buffer_destroy (MyRecycleBuffer * buf);
@@ -310,7 +310,7 @@ thread_buffer_producer (MyBufferPool * pool)
     gst_buffer_unref (buf);
   }
 
-  pool->is_closed = TRUE;
+  g_atomic_int_set (&pool->is_closed, TRUE);
 }
 
 static void
@@ -327,7 +327,7 @@ thread_buffer_consumer (MyBufferPool * pool)
 
     THREAD_SWITCH ();
   }
-  while (!pool->is_closed);
+  while (!g_atomic_int_get (&pool->is_closed));
 }
 
 GST_START_TEST (test_recycle_threaded)
diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
index f5faabe..3d9660a 100644
--- a/tests/check/gst/gstobject.c
+++ b/tests/check/gst/gstobject.c
@@ -48,7 +48,7 @@ struct _GstFakeObjectClass
 static GType
 gst_fake_object_get_type (void)
 {
-  static volatile gsize fake_object_type = 0;
+  static gsize fake_object_type = 0;
 
   if (g_once_init_enter (&fake_object_type)) {
     GType type;
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 004ff1e..0b545ee 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -169,15 +169,10 @@ GST_START_TEST (test_get_allowed_caps)
 {
   GstPad *src, *sink;
   GstCaps *caps, *gotcaps;
-  GstBuffer *buffer;
   GstPadLinkReturn plr;
 
   ASSERT_CRITICAL (gst_pad_get_allowed_caps (NULL));
 
-  buffer = gst_buffer_new ();
-  ASSERT_CRITICAL (gst_pad_get_allowed_caps ((GstPad *) buffer));
-  gst_buffer_unref (buffer);
-
   src = gst_pad_new ("src", GST_PAD_SRC);
   fail_if (src == NULL);
   caps = gst_pad_get_allowed_caps (src);
@@ -1729,9 +1724,6 @@ probe_remove_self_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
 {
   gst_pad_remove_probe (pad, info->id);
 
-  fail_unless (pad->num_probes == 0);
-  fail_unless (pad->num_blocked == 0);
-
   return GST_PAD_PROBE_REMOVE;
 }
 
@@ -1769,6 +1761,52 @@ GST_START_TEST (test_pad_probe_remove)
 
 GST_END_TEST;
 
+GST_START_TEST (test_pad_disjoint_blocks_probe_remove)
+{
+  GstPad *pad;
+
+  /* Test that installing 2 separate blocking probes - one on events
+   * and one on buffers, and then removing the blocking event probe
+   * releases the dataflow until a buffer is caught
+   *
+   * https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/658
+   */
+  pad = gst_pad_new ("src", GST_PAD_SRC);
+  fail_unless (pad != NULL);
+
+  gst_pad_set_active (pad, TRUE);
+  fail_unless (pad->num_probes == 0);
+  fail_unless (pad->num_blocked == 0);
+  gst_pad_add_probe (pad,
+      GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+      probe_remove_self_cb, NULL, probe_remove_notify_cb);
+  fail_unless (pad->num_probes == 1);
+  fail_unless (pad->num_blocked == 1);
+
+  gst_pad_add_probe (pad,
+      GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_BUFFER,
+      probe_remove_self_cb, NULL, probe_remove_notify_cb);
+  fail_unless (pad->num_probes == 2);
+  fail_unless (pad->num_blocked == 2);
+
+  pad_probe_remove_notifiy_called = FALSE;
+  gst_pad_push_event (pad, gst_event_new_stream_start ("asda"));
+
+  fail_unless (gst_pad_push_event (pad,
+          gst_event_new_segment (&dummy_segment)) == TRUE);
+
+  pad_probe_remove_notifiy_called = FALSE;
+  gst_pad_push (pad, gst_buffer_new ());
+
+  fail_unless (pad->num_probes == 0);
+  fail_unless (pad->num_blocked == 0);
+
+  gst_object_unref (pad);
+}
+
+GST_END_TEST;
+
+
 typedef struct
 {
   gulong probe_id;
@@ -2553,6 +2591,12 @@ test_sticky_events_handler (GstPad * pad, GstObject * parent, GstEvent * event)
     case 2:
       fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT);
       break;
+    case 3:
+      fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_INSTANT_RATE_CHANGE);
+      break;
+    case 4:
+      fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_COLLECTION);
+      break;
     default:
       fail_unless (FALSE);
       break;
@@ -2604,6 +2648,15 @@ GST_START_TEST (test_sticky_events)
   gst_segment_init (&seg, GST_FORMAT_TIME);
   gst_pad_push_event (srcpad, gst_event_new_segment (&seg));
 
+  /* Push a stream collection */
+  GstStreamCollection *collection = gst_stream_collection_new (0);
+  gst_pad_push_event (srcpad, gst_event_new_stream_collection (collection));
+  gst_object_unref (collection);
+
+  /* Push an instant rate change, which should be sent earlier than the preceding stream collection */
+  gst_pad_push_event (srcpad, gst_event_new_instant_rate_change (1.0,
+          GST_SEGMENT_FLAG_NONE));
+
   /* now make a sinkpad */
   sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
   fail_unless (sinkpad != NULL);
@@ -2624,13 +2677,13 @@ GST_START_TEST (test_sticky_events)
   gst_pad_push_event (srcpad, gst_event_new_caps (caps));
   gst_caps_unref (caps);
 
-  /* should have triggered 2 events, the segment event is still pending */
+  /* should have triggered 2 events, the segment, stream collection and instant-rate events are still pending */
   fail_unless_equals_int (sticky_count, 2);
 
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
 
-  /* should have triggered 3 events */
-  fail_unless_equals_int (sticky_count, 3);
+  /* should have triggered 5 events */
+  fail_unless_equals_int (sticky_count, 5);
 
   gst_object_unref (srcpad);
   gst_object_unref (sinkpad);
@@ -2661,11 +2714,13 @@ GST_START_TEST (test_last_flow_return_push)
 
   /* initial value is flushing */
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_FLUSHING);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_FLUSHING);
 
   /* when active it goes to ok */
   gst_pad_set_active (srcpad, TRUE);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
   gst_pad_set_active (sinkpad, TRUE);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
 
   /* startup events */
   gst_pad_push_event (srcpad, gst_event_new_stream_start ("test"));
@@ -2677,11 +2732,13 @@ GST_START_TEST (test_last_flow_return_push)
   next_return = GST_FLOW_OK;
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
 
   /* push not-linked */
   next_return = GST_FLOW_NOT_LINKED;
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
 
   /* push not-linked */
   next_return = GST_FLOW_NOT_NEGOTIATED;
@@ -2689,25 +2746,32 @@ GST_START_TEST (test_last_flow_return_push)
           gst_buffer_new ()) == GST_FLOW_NOT_NEGOTIATED);
   fail_unless (gst_pad_get_last_flow_return (srcpad) ==
       GST_FLOW_NOT_NEGOTIATED);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) ==
+      GST_FLOW_NOT_NEGOTIATED);
 
   /* push error */
   next_return = GST_FLOW_ERROR;
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_ERROR);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_ERROR);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_ERROR);
 
   /* back to ok */
   next_return = GST_FLOW_OK;
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
 
   /* unlinked push */
   gst_pad_unlink (srcpad, sinkpad);
   fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+  /* The last flow ret from the peer pad shouldn't have changed */
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
 
   gst_pad_link (srcpad, sinkpad);
   fail_unless (gst_pad_push_event (srcpad, gst_event_new_eos ()));
   fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_EOS);
+  fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_EOS);
 
   gst_object_unref (srcpad);
   gst_object_unref (sinkpad);
@@ -2746,17 +2810,20 @@ GST_START_TEST (test_last_flow_return_pull)
   gst_pad_link (srcpad, sinkpad);
 
   /* initial value is flushing */
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_FLUSHING);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_FLUSHING);
 
   /* when active it goes to ok */
   gst_pad_set_active (sinkpad, TRUE);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
   gst_pad_set_active (srcpad, TRUE);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
 
   /* pull Ok */
   next_return = GST_FLOW_OK;
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
   gst_buffer_unref (buf);
   buf = NULL;
 
@@ -2764,11 +2831,13 @@ GST_START_TEST (test_last_flow_return_pull)
   next_return = GST_FLOW_NOT_LINKED;
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
 
   /* pull error */
   next_return = GST_FLOW_ERROR;
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_ERROR);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_ERROR);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_ERROR);
 
   /* pull not-nego */
   next_return = GST_FLOW_NOT_NEGOTIATED;
@@ -2776,11 +2845,14 @@ GST_START_TEST (test_last_flow_return_pull)
           &buf) == GST_FLOW_NOT_NEGOTIATED);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) ==
       GST_FLOW_NOT_NEGOTIATED);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) ==
+      GST_FLOW_NOT_NEGOTIATED);
 
   /* pull ok again */
   next_return = GST_FLOW_OK;
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
   gst_buffer_unref (buf);
   buf = NULL;
 
@@ -2788,12 +2860,15 @@ GST_START_TEST (test_last_flow_return_pull)
   gst_pad_unlink (srcpad, sinkpad);
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+  /* Return value for the remote pad didn't change */
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
 
   /* eos */
   gst_pad_link (srcpad, sinkpad);
   next_return = GST_FLOW_EOS;
   fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_EOS);
   fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_EOS);
+  fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_EOS);
 
   gst_object_unref (srcpad);
   gst_object_unref (sinkpad);
@@ -3352,6 +3427,7 @@ gst_pad_suite (void)
   tcase_add_test (tc_chain, test_pad_probe_pull_idle);
   tcase_add_test (tc_chain, test_pad_probe_pull_buffer);
   tcase_add_test (tc_chain, test_pad_probe_remove);
+  tcase_add_test (tc_chain, test_pad_disjoint_blocks_probe_remove);
   tcase_add_test (tc_chain, test_pad_probe_block_add_remove);
   tcase_add_test (tc_chain, test_pad_probe_block_and_drop_buffer);
   tcase_add_test (tc_chain, test_pad_probe_flush_events);
diff --git a/tests/check/gst/gstpoll.c b/tests/check/gst/gstpoll.c
index 78e73ef..a66de98 100644
--- a/tests/check/gst/gstpoll.c
+++ b/tests/check/gst/gstpoll.c
@@ -28,11 +28,13 @@
 #ifdef G_OS_WIN32
 #include <winsock2.h>
 #include <fcntl.h>
+#include <io.h>
 #else
 #include <unistd.h>
 #include <sys/socket.h>
 #endif
 
+#ifdef HAVE_PIPE
 GST_START_TEST (test_poll_wait)
 {
   GstPoll *set;
@@ -101,6 +103,8 @@ GST_START_TEST (test_poll_wait)
 
 GST_END_TEST;
 
+#endif /* HAVE_PIPE */
+
 GST_START_TEST (test_poll_basic)
 {
   GstPoll *set;
@@ -341,7 +345,10 @@ gst_poll_suite (void)
   tcase_add_test (tc_chain, test_poll_controllable);
 #else
   tcase_skip_broken_test (tc_chain, test_poll_basic);
+#ifdef HAVE_PIPE
+  /* pipe() or _pipe() is not available on UWP */
   tcase_skip_broken_test (tc_chain, test_poll_wait);
+#endif
   tcase_skip_broken_test (tc_chain, test_poll_wait_stop);
   tcase_skip_broken_test (tc_chain, test_poll_wait_restart);
   tcase_skip_broken_test (tc_chain, test_poll_wait_flush);
diff --git a/tests/check/gst/gstpreset.c b/tests/check/gst/gstpreset.c
index 808dfb1..840e886 100644
--- a/tests/check/gst/gstpreset.c
+++ b/tests/check/gst/gstpreset.c
@@ -114,7 +114,7 @@ gst_preset_test_base_init (GstPresetTestClass * klass)
 static GType
 gst_preset_test_get_type (void)
 {
-  static volatile gsize preset_test_type = 0;
+  static gsize preset_test_type = 0;
 
   if (g_once_init_enter (&preset_test_type)) {
     GType type;
diff --git a/tests/check/gst/gstprotection.c b/tests/check/gst/gstprotection.c
index 1669c81..51908e9 100644
--- a/tests/check/gst/gstprotection.c
+++ b/tests/check/gst/gstprotection.c
@@ -96,7 +96,7 @@ gst_protection_test_base_init (GstProtectionTestClass * klass)
 static GType
 gst_protection_test_get_type (void)
 {
-  static volatile gsize protection_test_type = 0;
+  static gsize protection_test_type = 0;
 
   if (g_once_init_enter (&protection_test_type)) {
     GType type;
diff --git a/tests/check/gst/gststream.c b/tests/check/gst/gststream.c
index 4ff15d0..5c775bd 100644
--- a/tests/check/gst/gststream.c
+++ b/tests/check/gst/gststream.c
@@ -211,6 +211,79 @@ GST_START_TEST (test_notifies)
 
 GST_END_TEST;
 
+GST_START_TEST (test_stream_type_name)
+{
+  GstStream *stream = NULL;
+  GstStreamType stream_type;
+
+  /* Create and set stream type */
+  stream = gst_stream_new ("here/we/go", NULL, GST_STREAM_TYPE_UNKNOWN, 0);
+  fail_unless (stream != NULL);
+
+  /* Check the stream type names */
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type), "unknown");
+
+  gst_stream_set_stream_type (stream, GST_STREAM_TYPE_AUDIO);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type), "audio");
+
+  gst_stream_set_stream_type (stream, GST_STREAM_TYPE_VIDEO);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type), "video");
+
+  gst_stream_set_stream_type (stream, GST_STREAM_TYPE_CONTAINER);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "container");
+
+  gst_stream_set_stream_type (stream, GST_STREAM_TYPE_TEXT);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type), "text");
+
+  /* Check mixed stream type names */
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_VIDEO | GST_STREAM_TYPE_AUDIO);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "video+audio");
+
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_VIDEO | GST_STREAM_TYPE_TEXT);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "video+text");
+
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_AUDIO | GST_STREAM_TYPE_TEXT);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "audio+text");
+
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_VIDEO | GST_STREAM_TYPE_AUDIO | GST_STREAM_TYPE_TEXT);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "video+audio+text");
+
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_VIDEO | GST_STREAM_TYPE_AUDIO | GST_STREAM_TYPE_TEXT |
+      GST_STREAM_TYPE_CONTAINER);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "container+video+audio+text");
+
+  gst_stream_set_stream_type (stream,
+      GST_STREAM_TYPE_AUDIO | GST_STREAM_TYPE_CONTAINER);
+  stream_type = gst_stream_get_stream_type (stream);
+  fail_unless_equals_string (gst_stream_type_get_name (stream_type),
+      "container+audio");
+
+  gst_object_unref (stream);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_streams_suite (void)
 {
@@ -221,6 +294,7 @@ gst_streams_suite (void)
   tcase_add_test (tc_chain, test_stream_creation);
   tcase_add_test (tc_chain, test_stream_event);
   tcase_add_test (tc_chain, test_notifies);
+  tcase_add_test (tc_chain, test_stream_type_name);
   return s;
 }
 
diff --git a/tests/check/gst/gststructure.c b/tests/check/gst/gststructure.c
index b871636..21ad40a 100644
--- a/tests/check/gst/gststructure.c
+++ b/tests/check/gst/gststructure.c
@@ -161,6 +161,37 @@ GST_START_TEST (test_from_string)
   fail_unless_equals_int (g_value_get_boolean (val), TRUE);
   gst_structure_free (structure);
 
+  /* Test trailing comas */
+  s = "test-string,";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  gst_structure_free (structure);
+
+  s = "test-string,;";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  gst_structure_free (structure);
+
+  s = "test-string,value=true,";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  fail_unless ((val = gst_structure_get_value (structure, "value")) != NULL);
+  fail_unless (G_VALUE_HOLDS_BOOLEAN (val));
+  fail_unless_equals_int (g_value_get_boolean (val), TRUE);
+  gst_structure_free (structure);
+
+  s = "test-string,value=true,;";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  fail_unless ((val = gst_structure_get_value (structure, "value")) != NULL);
+  fail_unless (G_VALUE_HOLDS_BOOLEAN (val));
+  fail_unless_equals_int (g_value_get_boolean (val), TRUE);
+  gst_structure_free (structure);
+
+  s = "test-string,value=true,,";
+  structure = gst_structure_from_string (s, NULL);
+  fail_unless (structure == NULL, "Created structure from string %s", s);
+
   /* Tests for flagset deserialisation */
   s = "foobar,value=0010:ffff";
   structure = gst_structure_from_string (s, NULL);
@@ -192,6 +223,21 @@ GST_START_TEST (test_from_string)
   ASSERT_CRITICAL (structure = gst_structure_from_string (s, NULL));
   fail_unless (structure == NULL, "Could not get structure from string %s", s);
 
+  /* Test that escaping works both with and without a type */
+  s = "foo/bar, value=\"raven \\\"nevermore\\\"\"";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  fail_unless ((val = gst_structure_get_value (structure, "value")) != NULL);
+  fail_unless (G_VALUE_HOLDS_STRING (val));
+  gst_structure_free (structure);
+
+  s = "foo/bar, value=(string)\"raven \\\"nevermore\\\"\"";
+  structure = gst_structure_from_string (s, NULL);
+  fail_if (structure == NULL, "Could not get structure from string %s", s);
+  fail_unless ((val = gst_structure_get_value (structure, "value")) != NULL);
+  fail_unless (G_VALUE_HOLDS_STRING (val));
+  gst_structure_free (structure);
+
   /* make sure we bail out correctly in case of an error or if parsing fails */
   s = "***foo***, abc=(boolean)false";
   structure = gst_structure_from_string (s, NULL);
@@ -723,6 +769,41 @@ GST_START_TEST (test_structure_nested_from_and_to_string)
 
 GST_END_TEST;
 
+GST_START_TEST (test_serialize_nested_structures)
+{
+  GstStructure *s;
+  const gchar *str1;
+  gchar *str2, *end = NULL;
+
+  str1 = "main"
+      ", main-sub1=(structure)[type-b, machine-type=(int)0;]"
+      ", main-sub2=(structure)[type-a, plugin-filename=(string)\"/home/user/lib/lib\\ with\\ spaces.dll\", machine-type=(int)1;]"
+      ", main-sub3=(structure)[type-b, plugin-filename=(string)/home/user/lib/lib_no_spaces.so, machine-type=(int)1;]"
+      ", main-sub4=(structure){ [s1, a=(int)1;], [s2, b=(int)2;] }" ";";
+
+  s = gst_structure_from_string (str1, &end);
+  fail_unless (s != NULL);
+
+  GST_DEBUG ("not parsed part : %s", end);
+  fail_unless (*end == '\0');
+
+  fail_unless (gst_structure_n_fields (s) == 4);
+
+  fail_unless (gst_structure_has_field_typed (s, "main-sub1",
+          GST_TYPE_STRUCTURE));
+
+  str2 = gst_structure_serialize (s, GST_SERIALIZE_FLAG_NONE);
+  fail_unless (str2 != NULL);
+
+  fail_unless_equals_string (str1, str2);
+
+  g_free (str2);
+
+  gst_structure_free (s);
+}
+
+GST_END_TEST;
+
 GST_START_TEST (test_vararg_getters)
 {
   GstStructure *s;
@@ -937,6 +1018,22 @@ GST_START_TEST (test_flagset)
 
 GST_END_TEST;
 
+GST_START_TEST (test_flags)
+{
+  GstStructure *s;
+  GstSeekFlags flags = GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT;
+  guint parsed_flags = 0;
+
+  s = gst_structure_new ("test-struct", "test-seek-flags",
+      GST_TYPE_SEEK_FLAGS, flags, NULL);
+  fail_unless (gst_structure_get_flags (s, "test-seek-flags",
+          GST_TYPE_SEEK_FLAGS, &parsed_flags));
+  fail_unless (flags == (GstSeekFlags) parsed_flags);
+  gst_structure_free (s);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_structure_suite (void)
 {
@@ -963,11 +1060,13 @@ gst_structure_suite (void)
   tcase_add_test (tc_chain, test_is_subset_superset_extra_values);
   tcase_add_test (tc_chain, test_structure_nested);
   tcase_add_test (tc_chain, test_structure_nested_from_and_to_string);
+  tcase_add_test (tc_chain, test_serialize_nested_structures);
   tcase_add_test (tc_chain, test_vararg_getters);
   tcase_add_test (tc_chain, test_foreach);
   tcase_add_test (tc_chain, test_map_in_place);
   tcase_add_test (tc_chain, test_filter_and_map_in_place);
   tcase_add_test (tc_chain, test_flagset);
+  tcase_add_test (tc_chain, test_flags);
   return s;
 }
 
diff --git a/tests/check/gst/gstsystemclock.c b/tests/check/gst/gstsystemclock.c
index c1ae6bd..2307a63 100644
--- a/tests/check/gst/gstsystemclock.c
+++ b/tests/check/gst/gstsystemclock.c
@@ -328,6 +328,9 @@ GST_START_TEST (test_stress_cleanup_unschedule)
   for (i = 0; i < num; i++) {
     WaitUnscheduleData *d = &data[i];
     d->running = FALSE;
+  }
+  for (i = 0; i < num; i++) {
+    WaitUnscheduleData *d = &data[i];
     g_thread_join (d->thread_wait);
     g_thread_join (d->thread_unschedule);
     g_mutex_clear (&d->lock);
@@ -370,6 +373,9 @@ GST_START_TEST (test_stress_reschedule)
   for (i = 0; i < num; i++) {
     WaitUnscheduleData *d = &data[i];
     d->running = FALSE;
+  }
+  for (i = 0; i < num; i++) {
+    WaitUnscheduleData *d = &data[i];
     g_thread_join (d->thread_wait);
     g_thread_join (d->thread_unschedule);
     g_mutex_clear (&d->lock);
diff --git a/tests/check/gst/gsttask.c b/tests/check/gst/gsttask.c
index 843d0e2..dcf7038 100644
--- a/tests/check/gst/gsttask.c
+++ b/tests/check/gst/gsttask.c
@@ -293,6 +293,176 @@ GST_START_TEST (test_create)
 
 GST_END_TEST;
 
+typedef struct
+{
+  gboolean called;
+  gpointer caller_thread;
+
+  GCond blocked_cond;
+  GMutex blocked_lock;
+  gboolean blocked;
+
+  GCond unblock_cond;
+  GMutex unblock_lock;
+  gboolean unblock;
+} TaskData;
+
+static void
+task_cb (TaskData * tdata)
+{
+  tdata->called = TRUE;
+  tdata->caller_thread = g_thread_self ();
+
+  g_mutex_lock (&tdata->blocked_lock);
+  tdata->blocked = TRUE;
+  g_cond_signal (&tdata->blocked_cond);
+  g_mutex_unlock (&tdata->blocked_lock);
+
+  g_mutex_lock (&tdata->unblock_lock);
+  while (!tdata->unblock)
+    g_cond_wait (&tdata->unblock_cond, &tdata->unblock_lock);
+
+  g_mutex_unlock (&tdata->unblock_lock);
+}
+
+static void
+init_task_data (TaskData * tdata)
+{
+  tdata->called = FALSE;
+  tdata->caller_thread = NULL;
+  tdata->unblock = FALSE;
+  g_cond_init (&tdata->unblock_cond);
+  g_mutex_init (&tdata->unblock_lock);
+
+  tdata->blocked = FALSE;
+  g_cond_init (&tdata->blocked_cond);
+  g_mutex_init (&tdata->blocked_lock);
+}
+
+static void
+cleanup_task_data (TaskData * tdata)
+{
+  g_mutex_clear (&tdata->unblock_lock);
+  g_cond_clear (&tdata->unblock_cond);
+  g_mutex_clear (&tdata->blocked_lock);
+  g_cond_clear (&tdata->blocked_cond);
+}
+
+/* In this test, we use a shared task pool with max-threads=1 and verify
+ * that the caller thread for two tasks is the same */
+GST_START_TEST (test_shared_task_pool_shared_thread)
+{
+  GstTaskPool *pool;
+  gpointer handle, handle2;
+  GError *err = NULL;
+  TaskData tdata, tdata2;
+
+  init_task_data (&tdata);
+  init_task_data (&tdata2);
+
+  pool = gst_shared_task_pool_new ();
+  gst_task_pool_prepare (pool, &err);
+
+  fail_unless (err == NULL);
+
+  /* We request that two tasks be executed, and our task function is blocking.
+   * This means no new thread is available to spawn, and the second task should
+   * be queued up on the first thread */
+  handle =
+      gst_task_pool_push (pool, (GstTaskPoolFunction) task_cb, &tdata, &err);
+  fail_unless (err == NULL);
+  handle2 =
+      gst_task_pool_push (pool, (GstTaskPoolFunction) task_cb, &tdata2, &err);
+  fail_unless (err == NULL);
+
+  g_mutex_lock (&tdata.unblock_lock);
+  tdata.unblock = TRUE;
+  g_cond_signal (&tdata.unblock_cond);
+  g_mutex_unlock (&tdata.unblock_lock);
+
+  g_mutex_lock (&tdata2.unblock_lock);
+  tdata2.unblock = TRUE;
+  g_cond_signal (&tdata2.unblock_cond);
+  g_mutex_unlock (&tdata2.unblock_lock);
+
+  gst_task_pool_join (pool, handle);
+  gst_task_pool_join (pool, handle2);
+
+  fail_unless (tdata.called == TRUE);
+  fail_unless (tdata2.called == TRUE);
+  fail_unless (tdata.caller_thread == tdata2.caller_thread);
+
+  cleanup_task_data (&tdata);
+  cleanup_task_data (&tdata2);
+
+  gst_task_pool_cleanup (pool);
+
+  g_object_unref (pool);
+}
+
+GST_END_TEST;
+
+/* In this test, we use a shared task pool with max-threads=2 and verify
+ * that the caller thread for two tasks is different */
+GST_START_TEST (test_shared_task_pool_two_threads)
+{
+  GstTaskPool *pool;
+  gpointer handle, handle2;
+  GError *err = NULL;
+  TaskData tdata, tdata2;
+
+  init_task_data (&tdata);
+  init_task_data (&tdata2);
+
+  pool = gst_shared_task_pool_new ();
+  gst_shared_task_pool_set_max_threads (GST_SHARED_TASK_POOL (pool), 2);
+  gst_task_pool_prepare (pool, &err);
+
+  fail_unless (err == NULL);
+
+  /* We request that two tasks be executed, and our task function is blocking.
+   * This means the pool will have to spawn a new thread to handle the task */
+  handle =
+      gst_task_pool_push (pool, (GstTaskPoolFunction) task_cb, &tdata, &err);
+  fail_unless (err == NULL);
+  handle2 =
+      gst_task_pool_push (pool, (GstTaskPoolFunction) task_cb, &tdata2, &err);
+  fail_unless (err == NULL);
+
+  /* Make sure that the second task has started executing before unblocking */
+  g_mutex_lock (&tdata2.blocked_lock);
+  while (!tdata2.blocked) {
+    g_cond_wait (&tdata2.blocked_cond, &tdata2.blocked_lock);
+  }
+  g_mutex_unlock (&tdata2.blocked_lock);
+
+  g_mutex_lock (&tdata.unblock_lock);
+  tdata.unblock = TRUE;
+  g_cond_signal (&tdata.unblock_cond);
+  g_mutex_unlock (&tdata.unblock_lock);
+
+  g_mutex_lock (&tdata2.unblock_lock);
+  tdata2.unblock = TRUE;
+  g_cond_signal (&tdata2.unblock_cond);
+  g_mutex_unlock (&tdata2.unblock_lock);
+
+  gst_task_pool_join (pool, handle);
+  gst_task_pool_join (pool, handle2);
+
+  fail_unless (tdata.called == TRUE);
+  fail_unless (tdata2.called == TRUE);
+
+  fail_unless (tdata.caller_thread != tdata2.caller_thread);
+
+  cleanup_task_data (&tdata);
+  cleanup_task_data (&tdata2);
+
+  gst_task_pool_cleanup (pool);
+
+  g_object_unref (pool);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_task_suite (void)
@@ -308,6 +478,8 @@ gst_task_suite (void)
   tcase_add_test (tc_chain, test_join);
   tcase_add_test (tc_chain, test_pause_stop_race);
   tcase_add_test (tc_chain, test_resume);
+  tcase_add_test (tc_chain, test_shared_task_pool_shared_thread);
+  tcase_add_test (tc_chain, test_shared_task_pool_two_threads);
 
   return s;
 }
diff --git a/tests/check/gst/gsturi.c b/tests/check/gst/gsturi.c
index 3364ee7..92511b3 100644
--- a/tests/check/gst/gsturi.c
+++ b/tests/check/gst/gsturi.c
@@ -477,12 +477,7 @@ static const struct URITest url_presenting_tests[] = {
   {.uri = {"scheme", "user:pass", "host", 1234, "/path/to/dir",
           {{"query", NULL}, {"key", "value"}}, "fragment"},
       .str =
-#if GLIB_CHECK_VERSION(2, 59, 0)
       "scheme://user:pass@host:1234/path/to/dir?key=value&query#fragment"},
-#else
-      "scheme://user:pass@host:1234/path/to/dir?query&key=value#fragment"},
-#endif
-
   /* IPv6 literal should render in square brackets */
   {.uri = {"scheme", "user:pass", "12:34:56:78:9a:bc:de:f0", 1234,
           "/path/to/dir", {{"query", "value"}}, "fragment"},
@@ -1044,24 +1039,14 @@ GST_START_TEST (test_url_get_set)
 
   fail_unless (gst_uri_set_query_value (url, "key", "value"));
   tmp_str = gst_uri_to_string (url);
-#if GLIB_CHECK_VERSION(2, 59, 0)
   fail_unless_equals_string (tmp_str,
       "//example.com/path/to/file/there/segment?key=value&query#fragment");
-#else
-  fail_unless_equals_string (tmp_str,
-      "//example.com/path/to/file/there/segment?query&key=value#fragment");
-#endif
   g_free (tmp_str);
 
   fail_unless (gst_uri_set_query_value (url, "key", NULL));
   tmp_str = gst_uri_to_string (url);
-#if GLIB_CHECK_VERSION(2, 59, 0)
   fail_unless_equals_string (tmp_str,
       "//example.com/path/to/file/there/segment?key&query#fragment");
-#else
-  fail_unless_equals_string (tmp_str,
-      "//example.com/path/to/file/there/segment?query&key#fragment");
-#endif
   g_free (tmp_str);
 
   fail_unless (!gst_uri_set_query_value (NULL, "key", "value"));
diff --git a/tests/check/gst/gstutils.c b/tests/check/gst/gstutils.c
index ea53494..4ac2b67 100644
--- a/tests/check/gst/gstutils.c
+++ b/tests/check/gst/gstutils.c
@@ -984,12 +984,12 @@ GST_START_TEST (test_pad_proxy_query_caps_aggregation)
   tee = gst_element_factory_make ("tee", "tee");
 
   sink1 = gst_element_factory_make ("fakesink", "sink1");
-  tee_src1 = gst_element_get_request_pad (tee, "src_%u");
+  tee_src1 = gst_element_request_pad_simple (tee, "src_%u");
   sink1_sink = gst_element_get_static_pad (sink1, "sink");
   fail_unless_equals_int (gst_pad_link (tee_src1, sink1_sink), GST_PAD_LINK_OK);
 
   sink2 = gst_element_factory_make ("fakesink", "sink2");
-  tee_src2 = gst_element_get_request_pad (tee, "src_%u");
+  tee_src2 = gst_element_request_pad_simple (tee, "src_%u");
   sink2_sink = gst_element_get_static_pad (sink2, "sink");
   fail_unless_equals_int (gst_pad_link (tee_src2, sink2_sink), GST_PAD_LINK_OK);
 
diff --git a/tests/check/gst/gstvalue.c b/tests/check/gst/gstvalue.c
index 95882f5..3a4ccfb 100644
--- a/tests/check/gst/gstvalue.c
+++ b/tests/check/gst/gstvalue.c
@@ -447,6 +447,31 @@ GST_START_TEST (test_serialize_flags)
 
 GST_END_TEST;
 
+GST_START_TEST (test_serialize_flags_invalid)
+{
+  GValue value = { 0 };
+  gchar *string;
+
+  g_value_init (&value, GST_TYPE_SEEK_FLAGS);
+
+  /* Invalid value */
+  g_value_set_flags (&value, 1 << 20);
+  ASSERT_CRITICAL (string = gst_value_serialize (&value));
+  fail_if (string == NULL, "could not serialize invalid flags");
+  fail_unless (strcmp (string, "0") == 0,
+      "resulting value is %s, not 0, for invalid flags", string);
+  g_free (string);
+
+  /* Valid & invalid value */
+  g_value_set_flags (&value, GST_SEEK_FLAG_FLUSH | 1 << 20);
+  ASSERT_CRITICAL (string = gst_value_serialize (&value));
+  fail_if (string == NULL, "could not serialize invalid flags");
+  fail_unless (strcmp (string, "0") == 0,
+      "resulting value is %s, not 0, for invalid flags", string);
+  g_free (string);
+}
+
+GST_END_TEST;
 
 GST_START_TEST (test_deserialize_flags)
 {
@@ -801,21 +826,21 @@ GST_START_TEST (test_deserialize_string)
     "\"Hello\\ World", "\"Hello\\ World"}, {
     "\"\\", "\"\\"}, {
     "\"\\0", "\"\\0"}, {
+    "\"t\\303\\274t\"", "tüt"}, {
+      /* utf8 octal sequence */
     "", ""},                    /* empty strings */
     {
-    "\"\"", ""},                /* quoted empty string -> empty string */
+    "\"\"", ""}, {              /* quoted empty string -> empty string */
+    "\" \"", " "}, {            /* allow spaces to be not escaped */
+    "tüüt", "tüüt"},        /* allow special chars to be not escaped */
         /* Expected FAILURES: */
     {
-    "\"\\0\"", NULL},           /* unfinished escaped character */
-    {
-    "\"", NULL},                /* solitary quote */
-    {
-    "\" \"", NULL},             /* spaces must be escaped */
-#if 0
-        /* FIXME 0.9: this test should fail, but it doesn't */
-    {
-    "tüüt", NULL}             /* string with special chars must be escaped */
-#endif
+    "\"\\0\"", NULL}, {         /* unfinished escaped character */
+    "\"", NULL}, {              /* solitary quote */
+    "\"\\380\"", NULL}, {       /* invalid octal sequence */
+    "\"\\344\\204\\062\"", NULL}, {
+      /* invalid utf8: wrong end byte */
+    "\"\\344\\204\"", NULL}     /* invalid utf8: wrong number of bytes */
   };
   guint i;
   GValue v = { 0, };
@@ -2754,51 +2779,118 @@ GST_START_TEST (test_compare_caps)
 
 GST_END_TEST;
 
+static void
+_test_serialize_deserialize_boxed_in_structure (const gpointer boxed_value,
+    GType type)
+{
+  GValue value = G_VALUE_INIT, str_val = G_VALUE_INIT;
+  const GValue *value_after;
+  GstStructure *s, *s2;
+  const gchar *first_str_val = "first \" string", *second_str_val =
+      "second \" string";
+  gchar *str, *str2, *end;
+
+  g_value_init (&value, type);
+  g_value_init (&str_val, G_TYPE_STRING);
+  g_value_set_boxed (&value, boxed_value);
+
+  s = gst_structure_new_empty ("test-struct");
+  g_value_set_string (&str_val, first_str_val);
+  gst_structure_set_value (s, "first", &str_val);
+  gst_structure_set_value (s, "test-value", &value);
+  g_value_set_string (&str_val, second_str_val);
+  gst_structure_set_value (s, "second", &str_val);
+
+  /* serialize the values in the structure */
+  str = gst_structure_to_string (s);
+  fail_unless (str != NULL);
+  GST_DEBUG ("Got structure string '%s'", str);
+
+  /* recreate the structure */
+  s2 = gst_structure_from_string (str, &end);
+  fail_unless (s2 != NULL);
+  fail_unless (end[0] == '\0');
+
+  /* make sure the new structure serializes to the same string */
+  str2 = gst_structure_to_string (s2);
+  fail_unless_equals_string (str, str2);
+
+  /* test for equality if values can be compared */
+  value_after = gst_structure_get_value (s2, "test-value");
+  fail_unless (value_after != NULL);
+  fail_unless (G_VALUE_TYPE (value_after) == G_VALUE_TYPE (&value));
+  if (gst_value_can_compare (&value, value_after))
+    fail_unless (gst_value_compare (&value, value_after) == GST_VALUE_EQUAL);
+
+  /* test to make sure that the string values are still present, and
+   * haven't been gobbled by the value serialization */
+  fail_unless_equals_string (gst_structure_get_string (s2, "first"),
+      first_str_val);
+  fail_unless_equals_string (gst_structure_get_string (s2, "second"),
+      second_str_val);
+
+  /* cleanup */
+  gst_structure_free (s);
+  gst_structure_free (s2);
+  g_free (str);
+  g_free (str2);
+  g_value_unset (&value);
+  g_value_unset (&str_val);
+}
+
 GST_START_TEST (test_serialize_deserialize_caps)
 {
-  GValue value = { 0 }
-  , value2 = {
-  0};
+  GValue value = G_VALUE_INIT, value2 = G_VALUE_INIT;
+  GstCaps *incaps = gst_caps_new_simple ("caps/internal",
+      "in-field", G_TYPE_INT, 20, "in-field2",
+      G_TYPE_STRING, "some in ternal field", NULL);
+  GstCaps *test_caps[] = {
+    gst_caps_new_simple ("test/caps",
+        "foo", G_TYPE_INT, 10, "bar", G_TYPE_STRING, "test",
+        "int-caps", GST_TYPE_CAPS, incaps, NULL),
+    gst_caps_new_any (),
+    gst_caps_new_empty ()
+  };
   GstCaps *caps, *caps2;
-  GstCaps *incaps;
   gchar *serialized;
+  gint i;
 
-  incaps = gst_caps_new_simple ("caps/internal",
-      "in-field", G_TYPE_INT, 20, "in-field2",
-      G_TYPE_STRING, "some in ternal field", NULL);
-  caps = gst_caps_new_simple ("test/caps",
-      "foo", G_TYPE_INT, 10, "bar", G_TYPE_STRING, "test",
-      "int-caps", GST_TYPE_CAPS, incaps, NULL);
-  fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
   gst_caps_unref (incaps);
-
-  /* and assign caps to gvalue */
   g_value_init (&value, GST_TYPE_CAPS);
-  g_value_take_boxed (&value, caps);
-  fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
+  g_value_init (&value2, GST_TYPE_CAPS);
 
-  /* now serialize it */
-  serialized = gst_value_serialize (&value);
-  GST_DEBUG ("serialized caps to %s", serialized);
-  fail_unless (serialized != NULL);
+  for (i = 0; i < G_N_ELEMENTS (test_caps); i++) {
+    caps = test_caps[i];
+    fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
 
-  /* refcount should not change */
-  fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
+    /* and assign caps to gvalue */
+    g_value_take_boxed (&value, caps);
+    fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
 
-  /* now deserialize again */
-  g_value_init (&value2, GST_TYPE_CAPS);
-  fail_unless (gst_value_deserialize (&value2, serialized));
+    /* now serialize it */
+    serialized = gst_value_serialize (&value);
+    GST_DEBUG ("serialized caps to %s", serialized);
+    fail_unless (serialized != NULL);
 
-  caps2 = g_value_get_boxed (&value2);
-  fail_if (GST_CAPS_REFCOUNT_VALUE (caps2) != 1);
+    /* refcount should not change */
+    fail_if (GST_CAPS_REFCOUNT_VALUE (caps) != 1);
 
-  /* they should be equal */
-  fail_unless (gst_caps_is_equal (caps, caps2));
+    /* now deserialize again */
+    fail_unless (gst_value_deserialize (&value2, serialized));
 
-  /* cleanup */
+    caps2 = g_value_get_boxed (&value2);
+    fail_if (GST_CAPS_REFCOUNT_VALUE (caps2) != 1);
+
+    /* they should be equal */
+    fail_unless (gst_caps_is_equal (caps, caps2));
+    fail_unless (gst_caps_is_any (caps) == gst_caps_is_any (caps2));
+
+    _test_serialize_deserialize_boxed_in_structure (caps, GST_TYPE_CAPS);
+    /* cleanup */
+    g_free (serialized);
+  }
   g_value_unset (&value);
   g_value_unset (&value2);
-  g_free (serialized);
 }
 
 GST_END_TEST;
@@ -3294,31 +3386,30 @@ GST_START_TEST (test_structure_ops)
     const gchar *op;
     gint ret;
     GType str_type;
-    const gchar *str_result;
   } comparisons[] = {
     /* *INDENT-OFF* */
-    {"foo,bar=(int)1", "foo,bar=(int)1", "compare", GST_VALUE_EQUAL, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)1", "is_subset", TRUE, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)1", "intersect", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)1"},
-    {"foo,bar=(int)1", "foo,bar=(int)1", "union", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)1"},
-    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "compare", GST_VALUE_UNORDERED, 0, NULL},
-    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "is_subset", FALSE, 0, NULL},
-    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "intersect", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)1"},
-    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "union", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)[1,2]"},
-    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "compare", GST_VALUE_UNORDERED, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "is_subset", TRUE, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "intersect", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)1"},
-    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "union", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)[1,2]"},
-    {"foo,bar=(int)1", "foo,bar=(int)2", "compare", GST_VALUE_UNORDERED, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)2", "is_subset", FALSE, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)2", "intersect", FALSE, 0, NULL},
-    {"foo,bar=(int)1", "foo,bar=(int)2", "union", TRUE, GST_TYPE_STRUCTURE, "foo,bar=(int)[1,2]"},
-    {"foo,bar=(int)1", "baz,bar=(int)1", "compare", GST_VALUE_UNORDERED, 0, NULL},
-    {"foo,bar=(int)1", "baz,bar=(int)1", "is_subset", FALSE, 0, NULL},
-    {"foo,bar=(int)1", "baz,bar=(int)1", "intersect", FALSE, 0, NULL},
+    {"foo,bar=(int)1", "foo,bar=(int)1", "compare", GST_VALUE_EQUAL, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)1", "is_subset", TRUE, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)1", "intersect", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)1", "foo,bar=(int)1", "union", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "compare", GST_VALUE_UNORDERED, 0},
+    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "is_subset", FALSE, 0},
+    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "intersect", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)[1,2]", "foo,bar=(int)1", "union", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "compare", GST_VALUE_UNORDERED, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "is_subset", TRUE, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "intersect", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)1", "foo,bar=(int)[1,2]", "union", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)1", "foo,bar=(int)2", "compare", GST_VALUE_UNORDERED, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)2", "is_subset", FALSE, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)2", "intersect", FALSE, 0},
+    {"foo,bar=(int)1", "foo,bar=(int)2", "union", TRUE, GST_TYPE_STRUCTURE},
+    {"foo,bar=(int)1", "baz,bar=(int)1", "compare", GST_VALUE_UNORDERED, 0},
+    {"foo,bar=(int)1", "baz,bar=(int)1", "is_subset", FALSE, 0},
+    {"foo,bar=(int)1", "baz,bar=(int)1", "intersect", FALSE, 0},
 #if 0
     /* deserializing lists is not implemented (but this should still work!) */
-    {"foo,bar=(int)1", "baz,bar=(int)1", "union", TRUE, G_TYPE_LIST, "{foo,bar=(int)1;, baz,bar=(int)1;}"},
+    {"foo,bar=(int)1", "baz,bar=(int)1", "union", TRUE, G_TYPE_LIST},
 #endif
     /* *INDENT-ON* */
   };
@@ -3333,8 +3424,7 @@ GST_START_TEST (test_structure_ops)
     fail_unless (s2 != NULL);
 
     GST_DEBUG ("checking %s with structure1 %" GST_PTR_FORMAT " structure2 %"
-        GST_PTR_FORMAT " is %d, %s", comparisons[i].op, s1, s2,
-        comparisons[i].ret, comparisons[i].str_result);
+        GST_PTR_FORMAT " is %d", comparisons[i].op, s1, s2, comparisons[i].ret);
 
     g_value_init (&v1, GST_TYPE_STRUCTURE);
     gst_value_set_structure (&v1, s1);
@@ -3357,11 +3447,10 @@ GST_START_TEST (test_structure_ops)
 
         str = gst_value_serialize (&v3);
         GST_LOG ("result %s", str);
-        g_free (str);
 
         g_value_init (&result, comparisons[i].str_type);
-        fail_unless (gst_value_deserialize (&result,
-                comparisons[i].str_result));
+        fail_unless (gst_value_deserialize (&result, str));
+        g_free (str);
         fail_unless (gst_value_compare (&result, &v3) == GST_VALUE_EQUAL);
         g_value_unset (&v3);
         g_value_unset (&result);
@@ -3377,6 +3466,62 @@ GST_START_TEST (test_structure_ops)
 
 GST_END_TEST;
 
+static gpointer
+get_serialize_deserialize_boxed (const gpointer boxed, GType type)
+{
+  gchar *serialized, *cmp;
+  GValue value = G_VALUE_INIT, value2 = G_VALUE_INIT;
+  gpointer ret;
+
+  g_value_init (&value, type);
+  g_value_init (&value2, type);
+
+  g_value_set_boxed (&value, boxed);
+  serialized = gst_value_serialize (&value);
+  fail_unless (serialized != NULL);
+  GST_DEBUG ("serialized to %s", serialized);
+  fail_unless (gst_value_deserialize (&value2, serialized));
+  cmp = gst_value_serialize (&value2);
+  fail_unless_equals_string (cmp, serialized);
+
+  ret = g_value_dup_boxed (&value2);
+
+  g_free (serialized);
+  g_free (cmp);
+  g_value_unset (&value);
+  g_value_unset (&value2);
+  return ret;
+}
+
+GST_START_TEST (test_serialize_deserialize_structure)
+{
+  GstStructure *instr = gst_structure_new ("structure/internal",
+      "in-field", G_TYPE_INT, 20, "in-field2",
+      G_TYPE_STRING, "some in ternal field", NULL);
+  GstStructure *test_str[] = {
+    gst_structure_new ("test/structure",
+        "foo", G_TYPE_INT, 10, "bar", G_TYPE_STRING, "test",
+        "int-str", GST_TYPE_STRUCTURE, instr, NULL),
+    gst_structure_new_empty ("empty")
+  };
+  gint i;
+  GstStructure *str, *str2;
+
+  gst_structure_free (instr);
+  for (i = 0; i < G_N_ELEMENTS (test_str); i++) {
+    str = test_str[i];
+    str2 = get_serialize_deserialize_boxed (str, GST_TYPE_STRUCTURE);
+    fail_unless (gst_structure_is_equal (str, str2));
+
+    _test_serialize_deserialize_boxed_in_structure (str, GST_TYPE_STRUCTURE);
+
+    gst_structure_free (str);
+    gst_structure_free (str2);
+  }
+}
+
+GST_END_TEST;
+
 static void
 setup_test_value_array (GValue * value)
 {
@@ -3508,6 +3653,293 @@ GST_START_TEST (test_deserialize_array)
 
 GST_END_TEST;
 
+#define TEST_FLAGS_TYPE (test_flags_get_type())
+static GType
+test_flags_get_type (void)
+{
+  static const GFlagsValue values[] = {
+    {1, "One", "one"},
+    {1 << 1, "Two", "two"},
+    {1 << 3, "Eight", "eight"},
+    {0, NULL, NULL}
+  };
+  static GType id = 0;
+
+  if (g_once_init_enter ((gsize *) & id)) {
+    GType _id;
+
+    _id = g_flags_register_static ("TestFlags", values);
+
+    g_once_init_leave ((gsize *) & id, _id);
+  }
+
+  return id;
+}
+
+#define _RESULT(i) result_##i
+#define RESULT(i) _RESULT(i)
+
+GST_START_TEST (test_deserialize_with_pspec)
+{
+  GValue value = { 0 };
+  GParamSpec *pspec;
+  const gchar *strings[] = {
+    "< one, 0>",
+    "< one+eight, two >",
+    "< 9, 0>",
+  };
+  int i;
+
+  gint results[3][2] = {
+    {1, 0},
+    {9, 2},
+    {9, 0}
+  };
+
+  pspec = gst_param_spec_array ("flags-array",
+      "Flags Array", "An array of flags",
+      g_param_spec_flags ("flags", "Flags", "Flags", TEST_FLAGS_TYPE, 0,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+  for (i = 0; i < G_N_ELEMENTS (strings); ++i) {
+    int j;
+    gchar *str = g_strdup (strings[i]);
+    g_value_init (&value, GST_TYPE_ARRAY);
+
+    fail_unless (gst_value_deserialize_with_pspec (&value, str, pspec),
+        "could not deserialize %s (%d)", str, i);
+
+    fail_unless (gst_value_array_get_size (&value) ==
+        G_N_ELEMENTS (results[i]));
+
+    for (j = 0; j < G_N_ELEMENTS (results[i]); j++) {
+      const GValue *elem_value = gst_value_array_get_value (&value, j);
+      fail_unless (G_VALUE_TYPE (elem_value) == TEST_FLAGS_TYPE);
+      fail_unless_equals_int (g_value_get_flags (elem_value), results[i][j]);
+    }
+
+    g_value_unset (&value);
+    g_free (str);
+  }
+
+  g_param_spec_unref (pspec);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_serialize_deserialize_segment)
+{
+  GstSegment *seg, *seg2;
+
+  seg = gst_segment_new ();
+  gst_segment_init (seg, GST_FORMAT_DEFAULT);
+  fail_unless (gst_segment_do_seek (seg, 1.2, GST_FORMAT_DEFAULT,
+          GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 20, GST_SEEK_TYPE_SET, 30,
+          NULL));
+  seg2 = get_serialize_deserialize_boxed (seg, GST_TYPE_SEGMENT);
+  fail_unless (gst_segment_is_equal (seg, seg2));
+
+  _test_serialize_deserialize_boxed_in_structure (seg, GST_TYPE_SEGMENT);
+
+  gst_segment_free (seg);
+  gst_segment_free (seg2);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_serialize_deserialize_caps_features)
+{
+  GstCapsFeatures *test_feats[] = {
+    gst_caps_features_new ("abc:val1", "xyz:val2", NULL),
+    gst_caps_features_new ("feat:val", NULL),
+    gst_caps_features_new_any (),
+    gst_caps_features_new_empty ()
+  };
+  gint i;
+  GstCapsFeatures *feats, *feats2;
+
+  for (i = 0; i < G_N_ELEMENTS (test_feats); i++) {
+    feats = test_feats[i];
+    fail_unless (feats != NULL);
+    feats2 = get_serialize_deserialize_boxed (feats, GST_TYPE_CAPS_FEATURES);
+    fail_unless (gst_caps_features_is_equal (feats, feats2));
+    fail_unless (gst_caps_features_is_any (feats) ==
+        gst_caps_features_is_any (feats2));
+
+    _test_serialize_deserialize_boxed_in_structure (feats,
+        GST_TYPE_CAPS_FEATURES);
+
+    gst_caps_features_free (feats);
+    gst_caps_features_free (feats2);
+  }
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_serialize_deserialize_tag_list)
+{
+  GstTagList *test_tags[] = {
+    gst_tag_list_new (GST_TAG_TITLE, "A Title", GST_TAG_ARTIST, "Art櫱",
+        GST_TAG_TRACK_NUMBER, 1, NULL),
+    gst_tag_list_new_empty ()
+  };
+  gint i;
+  GstTagList *tags, *tags2;
+
+  for (i = 0; i < G_N_ELEMENTS (test_tags); i++) {
+    tags = test_tags[i];
+    fail_unless (tags != NULL);
+    tags2 = get_serialize_deserialize_boxed (tags, GST_TYPE_TAG_LIST);
+    fail_unless (gst_tag_list_is_equal (tags, tags2));
+
+    _test_serialize_deserialize_boxed_in_structure (tags, GST_TYPE_TAG_LIST);
+
+    gst_tag_list_unref (tags);
+    gst_tag_list_unref (tags2);
+  }
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_deserialize_serialize_nested_structures)
+{
+  gint i;
+  gchar *structure_str;
+  GstStructure *structure, *structure2;
+
+  /* *INDENT-OFF* */
+  struct
+  {
+    const gchar *serialized_struct;
+    gboolean should_fail;
+    const gchar *path_to_bool;
+    const gchar *subcaps_str;
+  } tests_data[] = {
+      {"s, substruct=[sub, is-deepest=true]", FALSE, "substruct"},
+      {"s, substruct=(structure) [sub, is-deepest=true]", FALSE, "substruct"},
+      {"s, substruct=[sub, is-substruct=true, subsubstruct=[subsub, is-deepest=true]]", FALSE, "substruct/subsubstruct"},
+      {"s, substruct=[sub, is-substruct=true, subsubstruct=[subsub, subsubsubstruct=[subsubsub, is-deepest=true]]]", FALSE, "substruct/subsubstruct/subsubsubstruct"},
+      {"s, substruct=[sub, an-array={a, b}, subsubstruct=[subsub, a-range=[1,2], a-string=\"this is a \\\"string\\\"\"]]", FALSE, NULL},
+      {"s, sub-caps=[nested-caps(some:Feature), is-caps=true; second, caps-structure=true]", FALSE, NULL, "nested-caps(some:Feature), is-caps=true; second, caps-structure=true"},
+      {"s, sub-caps=[nested-caps(some:Feature)]", FALSE, NULL, "nested-caps(some:Feature)"},
+      {"s, array=(structure){[struct, n=1], [struct, n=2]}"},
+      /* Broken structure with substructures */
+      {"s, substruct=[sub, is-substruct=true", TRUE},
+      {"s, substruct=[sub, is-substruct=true, sub=\"yes]", TRUE},
+      {"s, substruct=[sub, a-broken-string=$broken]", TRUE},
+      {"s, sub-caps=(int)[nested-caps(some:Feature)]", TRUE},
+  };
+  /* *INDENT-ON* */
+
+  for (i = 0; i < G_N_ELEMENTS (tests_data); i++) {
+    structure = gst_structure_new_from_string (tests_data[i].serialized_struct);
+    if (tests_data[i].should_fail) {
+      fail_if (structure, "%s not be deserialized",
+          tests_data[i].serialized_struct);
+      continue;
+    }
+    fail_unless (structure, "%s could not be deserialized",
+        tests_data[i].serialized_struct);
+    structure_str = gst_structure_to_string (structure);
+    structure2 = gst_structure_new_from_string (structure_str);
+    fail_unless (gst_structure_is_equal (structure, structure2));
+    g_free (structure_str);
+
+    if (tests_data[i].path_to_bool) {
+      const GstStructure *tmpstruct = structure;
+      gchar **tmpstrv = g_strsplit (tests_data[i].path_to_bool, "/", -1);
+      gint j;
+
+      for (j = 0; tmpstrv[j]; j++) {
+        const GValue *v = gst_structure_get_value (tmpstruct, tmpstrv[j]);
+
+        fail_unless (v, "Could not find '%s' in %s", tmpstrv[j],
+            gst_structure_to_string (tmpstruct));
+        tmpstruct = gst_value_get_structure (v);
+
+        fail_unless (GST_IS_STRUCTURE (tmpstruct));
+        if (!tmpstrv[j + 1]) {
+          gboolean tmp;
+
+          fail_unless (gst_structure_get_boolean (tmpstruct, "is-deepest", &tmp)
+              && tmp);
+        }
+      }
+      g_strfreev (tmpstrv);
+    }
+    if (tests_data[i].subcaps_str) {
+      const GValue *v = gst_structure_get_value (structure, "sub-caps");
+      const GstCaps *caps = gst_value_get_caps (v);
+      GstCaps *caps2 = gst_caps_from_string (tests_data[i].subcaps_str);
+
+      fail_unless (gst_caps_is_equal (caps, caps2));
+      gst_caps_unref (caps2);
+    }
+
+    /* Ensure that doing a round trip works as expected */
+    structure_str = gst_structure_to_string (structure2);
+    gst_structure_free (structure2);
+    structure2 = gst_structure_new_from_string (structure_str);
+    fail_unless (gst_structure_is_equal (structure, structure2));
+    gst_structure_free (structure);
+    gst_structure_free (structure2);
+    g_free (structure_str);
+  }
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_serialize_deserialize_sample)
+{
+  GstSample *samp, *samp2;
+  gsize buff_len = 8;
+  const gchar buff_str[8] = "buf\ndat";
+  gchar *buff_val;
+  GstBuffer *buff = gst_buffer_new_wrapped (g_strdup (buff_str), buff_len);
+  GstCaps *caps = gst_caps_new_simple ("caps", "Int", G_TYPE_INT, 20,
+      "String", G_TYPE_STRING, "a string", NULL);
+  GstSegment *seg = gst_segment_new ();
+
+  gst_segment_init (seg, GST_FORMAT_DEFAULT);
+  fail_unless (gst_segment_do_seek (seg, 1.2, GST_FORMAT_DEFAULT,
+          GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 20, GST_SEEK_TYPE_SET, 30,
+          NULL));
+  fail_unless (buff != NULL);
+  fail_unless (caps != NULL);
+  samp = gst_sample_new (buff, caps, seg,
+      gst_structure_new ("structure", "Float", G_TYPE_FLOAT, -2.5, NULL));
+  gst_buffer_unref (buff);
+  gst_caps_unref (caps);
+
+  samp2 = get_serialize_deserialize_boxed (samp, GST_TYPE_SAMPLE);
+  fail_unless (gst_caps_is_equal (gst_sample_get_caps (samp),
+          gst_sample_get_caps (samp2)));
+  fail_unless (gst_structure_is_equal (gst_sample_get_info (samp),
+          gst_sample_get_info (samp2)));
+  fail_unless (gst_segment_is_equal (gst_sample_get_segment (samp),
+          gst_sample_get_segment (samp2)));
+
+  buff = gst_sample_get_buffer (samp);
+  gst_buffer_extract_dup (buff, 0, -1, (gpointer *) & buff_val, &buff_len);
+  fail_unless_equals_int (buff_len, 8);
+  fail_unless_equals_string (buff_val, buff_str);
+  g_free (buff_val);
+  buff = gst_sample_get_buffer (samp2);
+  gst_buffer_extract_dup (buff, 0, -1, (gpointer *) & buff_val, &buff_len);
+  fail_unless_equals_int (buff_len, 8);
+  fail_unless_equals_string (buff_val, buff_str);
+  g_free (buff_val);
+
+  _test_serialize_deserialize_boxed_in_structure (samp, GST_TYPE_SAMPLE);
+
+  gst_sample_unref (samp);
+  gst_sample_unref (samp2);
+  gst_segment_free (seg);
+}
+
+GST_END_TEST;
+
 static Suite *
 gst_value_suite (void)
 {
@@ -3530,6 +3962,7 @@ gst_value_suite (void)
   tcase_add_test (tc_chain, test_deserialize_bitmask);
   tcase_add_test (tc_chain, test_deserialize_array);
   tcase_add_test (tc_chain, test_serialize_flags);
+  tcase_add_test (tc_chain, test_serialize_flags_invalid);
   tcase_add_test (tc_chain, test_deserialize_flags);
   tcase_add_test (tc_chain, test_serialize_deserialize_format_enum);
   tcase_add_test (tc_chain, test_serialize_deserialize_value_array);
@@ -3559,9 +3992,16 @@ gst_value_suite (void)
   tcase_add_test (tc_chain, test_structure_basic);
   tcase_add_test (tc_chain, test_structure_single_ops);
   tcase_add_test (tc_chain, test_structure_ops);
+  tcase_add_test (tc_chain, test_serialize_deserialize_structure);
   tcase_add_test (tc_chain, test_transform_array);
   tcase_add_test (tc_chain, test_transform_list);
   tcase_add_test (tc_chain, test_serialize_null_aray);
+  tcase_add_test (tc_chain, test_deserialize_with_pspec);
+  tcase_add_test (tc_chain, test_deserialize_serialize_nested_structures);
+  tcase_add_test (tc_chain, test_serialize_deserialize_segment);
+  tcase_add_test (tc_chain, test_serialize_deserialize_caps_features);
+  tcase_add_test (tc_chain, test_serialize_deserialize_tag_list);
+  tcase_add_test (tc_chain, test_serialize_deserialize_sample);
 
   return s;
 }
diff --git a/tests/check/gstreamer.supp b/tests/check/gstreamer.supp
index 61a653f..e69c0cf 100644
--- a/tests/check/gstreamer.supp
+++ b/tests/check/gstreamer.supp
@@ -4040,7 +4040,7 @@
    Memcheck:Leak
    fun:*alloc
    ...
-   fun:g_slist_copy_deep
+   fun:g_slist_copy*
    fun:gst_debug_add_log_function
 }
 
diff --git a/tests/check/libs/aggregator.c b/tests/check/libs/aggregator.c
index 24df768..215b061 100644
--- a/tests/check/libs/aggregator.c
+++ b/tests/check/libs/aggregator.c
@@ -24,7 +24,9 @@
 #  include "config.h"
 #endif
 
+#include <stdlib.h>
 #include <gst/check/gstcheck.h>
+#include <gst/check/gstharness.h>
 #include <gst/base/gstaggregator.h>
 
 /* dummy aggregator based element */
@@ -59,6 +61,7 @@ struct _GstTestAggregator
   guint64 timestamp;
   gboolean gap_expected;
   gboolean do_flush_on_aggregate;
+  gboolean do_remove_pad_on_aggregate;
 };
 
 struct _GstTestAggregatorClass
@@ -113,6 +116,14 @@ gst_test_aggregator_aggregate (GstAggregator * aggregator, gboolean timeout)
           fail_unless (buf == popped_buf);
           gst_buffer_unref (buf);
           gst_buffer_unref (popped_buf);
+        } else if (testagg->do_remove_pad_on_aggregate) {
+          buf = gst_aggregator_pad_peek_buffer (pad);
+
+          GST_DEBUG_OBJECT (pad, "Removing pad on aggregate");
+
+          gst_buffer_unref (buf);
+          gst_element_release_request_pad (GST_ELEMENT (aggregator),
+              GST_PAD (pad));
         } else {
           gst_aggregator_pad_drop_buffer (pad);
         }
@@ -133,10 +144,12 @@ gst_test_aggregator_aggregate (GstAggregator * aggregator, gboolean timeout)
   }
   gst_iterator_free (iter);
 
-  if (all_eos == TRUE) {
-    GST_INFO_OBJECT (testagg, "no data available, must be EOS");
-    gst_pad_push_event (aggregator->srcpad, gst_event_new_eos ());
-    return GST_FLOW_EOS;
+  if (!gst_aggregator_get_force_live (aggregator)) {
+    if (all_eos == TRUE) {
+      GST_INFO_OBJECT (testagg, "no data available, must be EOS");
+      gst_pad_push_event (aggregator->srcpad, gst_event_new_eos ());
+      return GST_FLOW_EOS;
+    }
   }
 
   buf = gst_buffer_new ();
@@ -178,6 +191,8 @@ gst_test_aggregator_class_init (GstTestAggregatorClass * klass)
 
   base_aggregator_class->aggregate =
       GST_DEBUG_FUNCPTR (gst_test_aggregator_aggregate);
+
+  base_aggregator_class->get_next_time = gst_aggregator_simple_get_next_time;
 }
 
 static void
@@ -379,7 +394,7 @@ _chain_data_init (ChainData * data, GstElement * agg, ...)
   g_free (pad_name);
   gst_pad_set_active (data->srcpad, TRUE);
   data->aggregator = agg;
-  data->sinkpad = gst_element_get_request_pad (agg, "sink_%u");
+  data->sinkpad = gst_element_request_pad_simple (agg, "sink_%u");
   fail_unless (GST_IS_PAD (data->sinkpad));
   fail_unless (gst_pad_link (data->srcpad, data->sinkpad) == GST_PAD_LINK_OK);
 
@@ -432,6 +447,9 @@ _test_chain (GstPad * pad, GstObject * object, GstBuffer * buffer)
 static void
 _test_data_init (TestData * test, gboolean needs_flushing)
 {
+  const gchar *timeout_factor_str = g_getenv ("TIMEOUT_FACTOR");
+  gint timeout = 1000;
+
   test->aggregator = gst_element_factory_make ("testaggregator", NULL);
   gst_element_set_state (test->aggregator, GST_STATE_PLAYING);
   test->ml = g_main_loop_new (NULL, TRUE);
@@ -456,8 +474,14 @@ _test_data_init (TestData * test, gboolean needs_flushing)
         (GstPadProbeCallback) _aggregated_cb, test->ml, NULL);
   }
 
+  if (timeout_factor_str) {
+    gint factor = g_ascii_strtoll (timeout_factor_str, NULL, 10);
+    if (factor)
+      timeout *= factor;
+  }
+
   test->timeout_id =
-      g_timeout_add (1000, (GSourceFunc) _aggregate_timeout, test->ml);
+      g_timeout_add (timeout, (GSourceFunc) _aggregate_timeout, test->ml);
 }
 
 static void
@@ -827,8 +851,8 @@ GST_START_TEST (test_flushing_seek)
   GST_BUFFER_TIMESTAMP (buf) = 0;
   _chain_data_init (&data2, test.aggregator, buf, NULL);
 
-  gst_segment_init (&GST_AGGREGATOR_PAD (GST_AGGREGATOR (test.
-              aggregator)->srcpad)->segment, GST_FORMAT_TIME);
+  gst_segment_init (&GST_AGGREGATOR_PAD (GST_AGGREGATOR (test.aggregator)->
+          srcpad)->segment, GST_FORMAT_TIME);
 
   /* now do a successful flushing seek */
   event = gst_event_new_seek (1, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
@@ -1304,6 +1328,58 @@ GST_START_TEST (test_flush_on_aggregate)
 
 GST_END_TEST;
 
+GST_START_TEST (test_remove_pad_on_aggregate)
+{
+  GThread *thread1, *thread2;
+  ChainData data1 = { 0, };
+  ChainData data2 = { 0, };
+  TestData test = { 0, };
+
+  _test_data_init (&test, FALSE);
+  ((GstTestAggregator *) test.aggregator)->do_remove_pad_on_aggregate = TRUE;
+  _chain_data_init (&data1, test.aggregator, gst_buffer_new (), NULL);
+  _chain_data_init (&data2, test.aggregator, gst_buffer_new (), NULL);
+
+  thread1 = g_thread_try_new ("gst-check", push_data, &data1, NULL);
+  thread2 = g_thread_try_new ("gst-check", push_data, &data2, NULL);
+
+  g_main_loop_run (test.ml);
+  g_source_remove (test.timeout_id);
+
+  /* these will return immediately as when the data is popped the threads are
+   * unlocked and will terminate */
+  g_thread_join (thread1);
+  g_thread_join (thread2);
+
+  _chain_data_clear (&data1);
+  _chain_data_clear (&data2);
+  _test_data_clear (&test);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_force_live)
+{
+  GstElement *agg;
+  GstHarness *h;
+  GstBuffer *buf;
+
+  agg = gst_check_setup_element ("testaggregator");
+  g_object_set (agg, "latency", GST_USECOND, NULL);
+  gst_aggregator_set_force_live (GST_AGGREGATOR (agg), TRUE);
+  h = gst_harness_new_with_element (agg, NULL, "src");
+
+  gst_harness_play (h);
+
+  gst_harness_crank_single_clock_wait (h);
+  buf = gst_harness_pull (h);
+
+  gst_buffer_unref (buf);
+  gst_harness_teardown (h);
+  gst_object_unref (agg);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_aggregator_suite (void)
@@ -1333,6 +1409,8 @@ gst_aggregator_suite (void)
   tcase_add_test (general, test_add_remove);
   tcase_add_test (general, test_change_state_intensive);
   tcase_add_test (general, test_flush_on_aggregate);
+  tcase_add_test (general, test_remove_pad_on_aggregate);
+  tcase_add_test (general, test_force_live);
 
   return suite;
 }
diff --git a/tests/check/libs/baseparse.c b/tests/check/libs/baseparse.c
index e03fc2a..d92b19f 100644
--- a/tests/check/libs/baseparse.c
+++ b/tests/check/libs/baseparse.c
@@ -24,6 +24,7 @@
 #endif
 #include <gst/gst.h>
 #include <gst/check/gstcheck.h>
+#include <gst/check/gstharness.h>
 #include <gst/base/gstbaseparse.h>
 
 static GstPad *mysrcpad, *mysinkpad;
@@ -56,6 +57,9 @@ struct _GstParserTester
 
   guint min_frame_size;
   guint last_frame_size;
+
+  /* don't immediately set the src caps when receiving sink caps */
+  gboolean delay_srccaps;
 };
 
 struct _GstParserTesterClass
@@ -80,7 +84,11 @@ gst_parser_tester_stop (GstBaseParse * parse)
 static gboolean
 gst_parser_tester_set_sink_caps (GstBaseParse * parse, GstCaps * caps)
 {
-  gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (parse), caps);
+  GstParserTester *test = (GstParserTester *) parse;
+
+  if (!test->delay_srccaps)
+    gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (parse), caps);
+
   return TRUE;
 }
 
@@ -672,6 +680,89 @@ GST_START_TEST (parser_pull_frame_growth)
 
 GST_END_TEST;
 
+GST_START_TEST (parser_initial_gap_prefer_upstream_caps)
+{
+  GstHarness *h;
+  GstCaps *upstream_caps, *downstream_caps, *caps;
+  GstEvent *e;
+
+  parsetest = g_object_new (GST_PARSER_TESTER_TYPE, NULL);
+  /* we need this so that baseparse tries to negotiate default caps */
+  ((GstParserTester *) parsetest)->delay_srccaps = TRUE;
+
+  h = gst_harness_new_with_element (parsetest, "sink", "src");
+  downstream_caps =
+      gst_caps_new_simple ("video/x-test-custom", "width", GST_TYPE_INT_RANGE,
+      TEST_VIDEO_WIDTH - 2, TEST_VIDEO_WIDTH + 2, "height", G_TYPE_INT,
+      TEST_VIDEO_HEIGHT, "framerate", GST_TYPE_FRACTION, TEST_VIDEO_FPS_N,
+      TEST_VIDEO_FPS_D, NULL);
+  upstream_caps =
+      gst_caps_new_simple ("video/x-test-custom", "width", G_TYPE_INT,
+      TEST_VIDEO_WIDTH * 2, "height", G_TYPE_INT, TEST_VIDEO_HEIGHT * 2,
+      "framerate", GST_TYPE_FRACTION, TEST_VIDEO_FPS_N, TEST_VIDEO_FPS_D, NULL);
+  gst_harness_set_caps (h, upstream_caps, downstream_caps);
+
+  fail_unless (gst_harness_push_event (h, gst_event_new_gap (0,
+              GST_CLOCK_TIME_NONE)));
+
+  fail_unless (e = gst_harness_pull_event (h));
+  fail_unless_equals_int (GST_EVENT_STREAM_START, GST_EVENT_TYPE (e));
+  gst_event_unref (e);
+
+  fail_unless (e = gst_harness_pull_event (h));
+  fail_unless_equals_int (GST_EVENT_CAPS, GST_EVENT_TYPE (e));
+  gst_event_parse_caps (e, &caps);
+  gst_event_unref (e);
+
+  fail_unless (gst_caps_can_intersect (caps, downstream_caps));
+
+  gst_harness_teardown (h);
+  gst_object_unref (parsetest);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (parser_convert_duration)
+{
+  static const gint64 seconds = 45 * 60;
+  gint64 value, expect;
+  gboolean ret;
+
+  have_eos = FALSE;
+  have_data = FALSE;
+  loop = g_main_loop_new (NULL, FALSE);
+
+  setup_parsertester ();
+  gst_pad_set_getrange_function (mysrcpad, _src_getrange);
+  gst_pad_set_query_function (mysrcpad, _src_query);
+  gst_pad_set_chain_function (mysinkpad, _sink_chain);
+  gst_pad_set_event_function (mysinkpad, _sink_event);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_element_set_state (parsetest, GST_STATE_PLAYING);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  g_main_loop_run (loop);
+  fail_unless (have_eos == TRUE);
+  fail_unless (have_data == TRUE);
+
+  ret = gst_base_parse_convert_default (GST_BASE_PARSE (parsetest),
+      GST_FORMAT_TIME, seconds * GST_SECOND, GST_FORMAT_BYTES, &value);
+  fail_unless (ret == TRUE);
+  expect = gst_util_uint64_scale_round (seconds * sizeof (guint64),
+      TEST_VIDEO_FPS_N, TEST_VIDEO_FPS_D);
+  fail_unless_equals_int (value, expect);
+  gst_element_set_state (parsetest, GST_STATE_NULL);
+
+  check_no_error_received ();
+  cleanup_parsertest ();
+
+  g_main_loop_unref (loop);
+  loop = NULL;
+}
+
+GST_END_TEST;
+
 
 static void
 baseparse_setup (void)
@@ -704,6 +795,8 @@ gst_baseparse_suite (void)
   tcase_add_test (tc, parser_reverse_playback);
   tcase_add_test (tc, parser_pull_short_read);
   tcase_add_test (tc, parser_pull_frame_growth);
+  tcase_add_test (tc, parser_initial_gap_prefer_upstream_caps);
+  tcase_add_test (tc, parser_convert_duration);
 
   return s;
 }
diff --git a/tests/check/libs/bitwriter.c b/tests/check/libs/bitwriter.c
index d6f68d3..19fb2d7 100644
--- a/tests/check/libs/bitwriter.c
+++ b/tests/check/libs/bitwriter.c
@@ -29,6 +29,7 @@
 #include <gst/check/gstcheck.h>
 #include <gst/base/gstbitwriter.h>
 #include <gst/base/gstbitreader.h>
+#include "gst/glib-compat-private.h"
 
 GST_START_TEST (test_initialization)
 {
@@ -76,7 +77,7 @@ GST_START_TEST (test_data)
   fail_unless (gst_bit_writer_put_bits_uint64 (&writer, 0x45, 48));
   fail_unless_equals_int (gst_bit_writer_get_remaining (&writer), 2048 - 71);
   fail_unless (gst_bit_writer_align_bytes (&writer, 0));
-  data = g_memdup (sdata, sizeof (sdata));
+  data = g_memdup2 (sdata, sizeof (sdata));
   fail_unless (gst_bit_writer_put_bytes (&writer, data, sizeof (sdata)));
 
   gst_bit_reader_init (&reader, gst_bit_writer_get_data (&writer), 256);
@@ -148,6 +149,66 @@ GST_START_TEST (test_reset)
 
 GST_END_TEST;
 
+GST_START_TEST (test_reset_data_unaligned)
+{
+  GstBitWriter writer;
+  static guint8 sdata[] = { 0xff, 0xf1, 0xf2, 0x80 };
+  guint8 *data, i;
+  GstBuffer *buf;
+  GstMapInfo info;
+
+  gst_bit_writer_init_with_size (&writer, 32, TRUE);
+  fail_unless_equals_int (gst_bit_writer_get_remaining (&writer), 2048);
+
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0xf, 4));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x7, 3));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x3, 2));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x3, 2));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x8, 4));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x1, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0xf2, 8));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x2, 2));
+
+  fail_unless_equals_int (gst_bit_writer_get_remaining (&writer), 2048 - 26);
+
+  data = gst_bit_writer_reset_and_get_data (&writer);
+  fail_unless (data != NULL);
+
+  for (i = 0; i < 4; i++)
+    fail_unless (memcmp (&sdata[i], &data[i], 1) == 0);
+
+  gst_bit_writer_init (&writer);
+
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x7, 3));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0xf, 4));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x1, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x1, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x3, 2));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x8, 4));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x1, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0xf2, 8));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x1, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x0, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x0, 1));
+  fail_unless (gst_bit_writer_put_bits_uint8 (&writer, 0x0, 3));
+
+  fail_unless_equals_int (gst_bit_writer_get_size (&writer), 30);
+
+  buf = gst_bit_writer_reset_and_get_buffer (&writer);
+  fail_unless (buf != NULL);
+  fail_unless (gst_buffer_map (buf, &info, GST_MAP_READWRITE));
+  fail_unless (info.data);
+  fail_unless_equals_int (info.size, 4);
+
+  for (i = 0; i < 4; i++)
+    fail_unless (memcmp (&sdata[i], &info.data[i], 1) == 0);
+
+  g_free (data);
+  gst_buffer_unmap (buf, &info);
+  gst_buffer_unref (buf);
+}
+
+GST_END_TEST;
 
 static Suite *
 gst_bit_writer_suite (void)
@@ -160,6 +221,7 @@ gst_bit_writer_suite (void)
   tcase_add_test (tc_chain, test_initialization);
   tcase_add_test (tc_chain, test_data);
   tcase_add_test (tc_chain, test_reset);
+  tcase_add_test (tc_chain, test_reset_data_unaligned);
 
   return s;
 }
diff --git a/tests/check/libs/bytereader.c b/tests/check/libs/bytereader.c
index 24a2971..bc4c406 100644
--- a/tests/check/libs/bytereader.c
+++ b/tests/check/libs/bytereader.c
@@ -27,6 +27,7 @@
 #include <gst/gst.h>
 #include <gst/check/gstcheck.h>
 #include <gst/base/gstbytereader.h>
+#include "gst/glib-compat-private.h"
 
 #ifndef fail_unless_equals_int64
 #define fail_unless_equals_int64(a, b)					\
@@ -574,7 +575,7 @@ GST_START_TEST (test_scan)
     gint found;
 
     /* dup so valgrind can detect out of bounds access more easily */
-    m = g_memdup (sync_data, sizeof (sync_data));
+    m = g_memdup2 (sync_data, sizeof (sync_data));
     gst_byte_reader_init (&reader, m, sizeof (sync_data));
 
     found = gst_byte_reader_masked_scan_uint32_peek (&reader, 0xffffff00,
diff --git a/tests/check/libs/bytewriter.c b/tests/check/libs/bytewriter.c
index 89999af..c8017b8 100644
--- a/tests/check/libs/bytewriter.c
+++ b/tests/check/libs/bytewriter.c
@@ -27,6 +27,7 @@
 #include <gst/gst.h>
 #include <gst/check/gstcheck.h>
 #include <gst/base/gstbytewriter.h>
+#include "gst/glib-compat-private.h"
 
 GST_START_TEST (test_initialization)
 {
@@ -42,7 +43,7 @@ GST_START_TEST (test_initialization)
           (&writer)), 0);
   gst_byte_writer_reset (&writer);
 
-  data = g_memdup (sdata, sizeof (sdata));
+  data = g_memdup2 (sdata, sizeof (sdata));
   gst_byte_writer_init_with_data (&writer, data, sizeof (sdata), FALSE);
   fail_unless_equals_int (gst_byte_writer_get_pos (&writer), 0);
   fail_unless_equals_int (gst_byte_writer_get_size (&writer), 0);
@@ -56,7 +57,7 @@ GST_START_TEST (test_initialization)
   g_free (data);
   data = tmp = NULL;
 
-  data = g_memdup (sdata, sizeof (sdata));
+  data = g_memdup2 (sdata, sizeof (sdata));
   gst_byte_writer_init_with_data (&writer, data, sizeof (sdata), TRUE);
   fail_unless_equals_int (gst_byte_writer_get_pos (&writer), 0);
   fail_unless_equals_int (gst_byte_writer_get_size (&writer), sizeof (sdata));
diff --git a/tests/check/libs/collectpads.c b/tests/check/libs/collectpads.c
index 9c11017..083c7f4 100644
--- a/tests/check/libs/collectpads.c
+++ b/tests/check/libs/collectpads.c
@@ -836,7 +836,7 @@ setup_src_pad (GstElement * element,
   GstPad *srcpad, *sinkpad;
 
   srcpad = gst_pad_new_from_static_template (tmpl, "src");
-  sinkpad = gst_element_get_request_pad (element, name);
+  sinkpad = gst_element_request_pad_simple (element, name);
   fail_unless (gst_pad_link (srcpad, sinkpad) == GST_PAD_LINK_OK,
       "Could not link source and %s sink pads", GST_ELEMENT_NAME (element));
   gst_pad_set_event_function (srcpad, src_event);
diff --git a/tests/check/libs/controller.c b/tests/check/libs/controller.c
index 41ae33a..4ada88e 100644
--- a/tests/check/libs/controller.c
+++ b/tests/check/libs/controller.c
@@ -240,7 +240,7 @@ gst_test_obj_base_init (GstTestObjClass * klass)
 static GType
 gst_test_obj_get_type (void)
 {
-  static volatile gsize test_obj_type = 0;
+  static gsize test_obj_type = 0;
 
   if (g_once_init_enter (&test_obj_type)) {
     GType type;
diff --git a/tests/check/meson.build b/tests/check/meson.build
index a617cf1..9787b0a 100644
--- a/tests/check/meson.build
+++ b/tests/check/meson.build
@@ -135,8 +135,7 @@ if get_option('check').disabled()
   endif
 endif
 
-glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
-gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
+gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep, gio_dep, gmodule_dep]
 
 foreach t : core_tests
   fname = t[0]
@@ -150,11 +149,11 @@ foreach t : core_tests
         cpp_args : gst_c_args + test_defines,
         include_directories : [configinc],
         link_with : link_with_libs,
-        dependencies : test_deps + glib_deps + gst_deps,
+        dependencies : gst_deps + test_deps,
     )
 
     env = environment()
-    env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
+    env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
     env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
     env.set('GST_STATE_IGNORE_ELEMENTS', '')
     env.set('CK_DEFAULT_TIMEOUT', '20')
diff --git a/tests/check/pipelines/cleanup.c b/tests/check/pipelines/cleanup.c
index 5ccb50b..4bb5e43 100644
--- a/tests/check/pipelines/cleanup.c
+++ b/tests/check/pipelines/cleanup.c
@@ -92,7 +92,7 @@ GST_START_TEST (test_pipeline_unref)
   run_pipeline (pipeline, s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
       GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_EOS);
   while (GST_OBJECT_REFCOUNT_VALUE (src) > 1)
     THREAD_SWITCH ();
   ASSERT_OBJECT_REFCOUNT (src, "src", 1);
diff --git a/tests/check/pipelines/parse-launch.c b/tests/check/pipelines/parse-launch.c
index 58c2e53..f0fd735 100644
--- a/tests/check/pipelines/parse-launch.c
+++ b/tests/check/pipelines/parse-launch.c
@@ -102,7 +102,6 @@ static const gchar *test_lines[] = {
   "fakesrc name=100 fakesink name=101 silent=true 100. ! 101.", /* linking with named reference on both sides */
   "fakesrc ! 1__dentity ! fakesink silent=true",        /* using a freshly registered element type */
   "fakesrc ! tee name=t  t.src_12 ! queue ! fakesink  t.src_3 ! queue ! fakesink",
-  "fakesrc name=foo name=fin  fin. ! fakesink", /* testing assignments are executed in correct order (left-to-right) */
   "( fakesrc ) ! fakesink",     /* ghostPad creation on-the-fly, infix notation link */
   "( fakesrc name=dasrc ) dasrc. ! fakesink",   /* ghostPad creation on-the-fly, named link */
 /*  "(name=mabin fakesrc) mabin. ! fakesink", FIXME: linking to named bin does not work yet */
@@ -366,8 +365,6 @@ static const gchar *expected_failures[] = {
   "fakesrc ! fakesink s.ch1",
   /* unlinked src/sink URI */
   "http://eff.org fakesrc ! fakesink",
-  /* catch assignments evaluated in wrong order */
-  "fakesrc name=ss name=st  ss. ! fakesink",
   /* unbalanced brackets */
   "(", ")", ")  (",
   /* END: */
@@ -379,6 +376,7 @@ GST_START_TEST (expected_to_fail_pipes)
   const gchar **s;
 
   for (s = expected_failures; *s != NULL; s++) {
+    GST_ERROR ("Running %s", *s);
     expected_fail_pipe (*s);
   }
 }
diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
index 28bb884..bf89282 100644
--- a/tests/check/pipelines/seek.c
+++ b/tests/check/pipelines/seek.c
@@ -169,7 +169,7 @@ dummy_parser_handle_frame (GstBaseParse * parse,
   if (((DummyParser *) parse)->caps_set == FALSE) {
     GstCaps *caps;
     /* push caps */
-    caps = gst_caps_new_empty_simple ("ANY");
+    caps = gst_caps_new_empty_simple ("video/x-raw");
     gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (parse), caps);
     gst_caps_unref (caps);
     ((DummyParser *) parse)->caps_set = TRUE;
@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
 
   GST_INFO ("wait for segment done message");
 
-  msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
+  msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
       GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
   fail_unless (msg, "no message within the timed window");
   fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c
index 62385b2..cf03db3 100644
--- a/tests/check/pipelines/simple-launch-lines.c
+++ b/tests/check/pipelines/simple-launch-lines.c
@@ -103,31 +103,31 @@ GST_START_TEST (test_2_elements)
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
       GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=true ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
       GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false num-buffers=10 ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
       GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=true num-buffers=10 ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
       GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false ! fakesink can-activate-pull=false";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
           GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
           GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
-          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_STREAM_START | GST_MESSAGE_LATENCY, GST_MESSAGE_UNKNOWN));
 }
 
 GST_END_TEST;
diff --git a/tests/examples/adapter/meson.build b/tests/examples/adapter/meson.build
index 200c5c4..971f822 100644
--- a/tests/examples/adapter/meson.build
+++ b/tests/examples/adapter/meson.build
@@ -1,7 +1,7 @@
 if cdata.has('HAVE_SYS_TIMES_H') and cdata.has('HAVE_UNISTD_H')
   executable('adapter_test', 'adapter_test.c',
     install: false,
-    dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_base_dep],
+    dependencies : [gst_dep, gst_base_dep, gmodule_dep, mathlib],
     c_args: gst_c_args,
   )
 endif
diff --git a/tests/examples/controller/control-sources.c b/tests/examples/controller/control-sources.c
index 5322933..6c190ff 100644
--- a/tests/examples/controller/control-sources.c
+++ b/tests/examples/controller/control-sources.c
@@ -153,7 +153,7 @@ gst_test_obj_base_init (GstTestObjClass * klass)
 static GType
 gst_test_obj_get_type (void)
 {
-  static volatile gsize TEST_OBJ_type = 0;
+  static gsize TEST_OBJ_type = 0;
 
   if (g_once_init_enter (&TEST_OBJ_type)) {
     GType type;
diff --git a/tests/examples/controller/controller-graph.c b/tests/examples/controller/controller-graph.c
index ef90a27..ea87bef 100644
--- a/tests/examples/controller/controller-graph.c
+++ b/tests/examples/controller/controller-graph.c
@@ -88,7 +88,7 @@ on_graph_draw (GtkWidget * widget, cairo_t * cr, gpointer user_data)
   ts = G_GUINT64_CONSTANT (0);
   for (i = 0; i < G_N_ELEMENTS (yval); i++) {
     cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
-    cairo_arc (cr, x + ts, y + yval[i] * h, 3.0, 0.0, 2 * M_PI);
+    cairo_arc (cr, x + ts, y + yval[i] * h, 3.0, 0.0, 2 * G_PI);
     cairo_stroke_preserve (cr);
     cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
     cairo_fill (cr);
diff --git a/tests/examples/controller/meson.build b/tests/examples/controller/meson.build
index 52896ee..d975e02 100644
--- a/tests/examples/controller/meson.build
+++ b/tests/examples/controller/meson.build
@@ -8,7 +8,7 @@ progs = [
 foreach prog : progs
   executable(prog, prog + '.c',
     install: false,
-    dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_controller_dep],
+    dependencies : [gst_dep, gst_controller_dep, gmodule_dep, mathlib],
     c_args: gst_c_args,
   )
 endforeach
@@ -17,7 +17,7 @@ gtk_dep = dependency('gtk+-3.0', required : get_option('examples'))
 if gtk_dep.found()
   executable('controller-graph', 'controller-graph.c',
     install: false,
-    dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_controller_dep, gtk_dep],
+    dependencies : [gst_dep, gst_controller_dep, gmodule_dep, mathlib, gtk_dep],
     c_args: gst_c_args,
   )
 endif
diff --git a/tests/examples/helloworld/meson.build b/tests/examples/helloworld/meson.build
index 5eea10b..6a4afc8 100644
--- a/tests/examples/helloworld/meson.build
+++ b/tests/examples/helloworld/meson.build
@@ -1,5 +1,5 @@
 executable('helloworld', 'helloworld.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/memory/meson.build b/tests/examples/memory/meson.build
index edce02a..9786e24 100644
--- a/tests/examples/memory/meson.build
+++ b/tests/examples/memory/meson.build
@@ -1,5 +1,5 @@
 executable('memory_test', 'memory_test.c', 'my-memory.c', 'my-vidmem.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/netclock/meson.build b/tests/examples/netclock/meson.build
index 6d9589d..acc2380 100644
--- a/tests/examples/netclock/meson.build
+++ b/tests/examples/netclock/meson.build
@@ -1,11 +1,11 @@
 executable('netclock-server', 'netclock-server.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_net_dep],
+  dependencies : [gst_dep, gst_net_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
 
 executable('netclock-client', 'netclock-client.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_net_dep],
+  dependencies : [gst_dep, gst_net_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/ptp/meson.build b/tests/examples/ptp/meson.build
index 7e89b1e..920b192 100644
--- a/tests/examples/ptp/meson.build
+++ b/tests/examples/ptp/meson.build
@@ -1,5 +1,5 @@
 executable('ptp-print-times', 'ptp-print-times.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, gst_net_dep],
+  dependencies : [gst_dep, gst_net_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/stepping/meson.build b/tests/examples/stepping/meson.build
index e4d4f28..5568114 100644
--- a/tests/examples/stepping/meson.build
+++ b/tests/examples/stepping/meson.build
@@ -1,5 +1,5 @@
 executable('framestep1', 'framestep1.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/streamiddemux/meson.build b/tests/examples/streamiddemux/meson.build
index 88c4823..6de16a7 100644
--- a/tests/examples/streamiddemux/meson.build
+++ b/tests/examples/streamiddemux/meson.build
@@ -1,5 +1,5 @@
 executable('streamiddemux-stream', 'streamiddemux-stream.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
diff --git a/tests/examples/streamiddemux/streamiddemux-stream.c b/tests/examples/streamiddemux/streamiddemux-stream.c
index 8302bc1..d3ab9b2 100644
--- a/tests/examples/streamiddemux/streamiddemux-stream.c
+++ b/tests/examples/streamiddemux/streamiddemux-stream.c
@@ -69,7 +69,7 @@ sink_do_reconfigure (App * app)
 
   for (i = 0; i < NUM_STREAM; i++) {
     sync_sinkpad[i] =
-        gst_element_get_request_pad (app->stream_synchronizer, "sink_%u");
+        gst_element_request_pad_simple (app->stream_synchronizer, "sink_%u");
     it = gst_pad_iterate_internal_links (sync_sinkpad[i]);
     g_assert (it);
     gst_iterator_next (it, &item);
@@ -210,7 +210,7 @@ main (gint argc, gchar * argv[])
 
   for (stream_cnt = 0; stream_cnt < NUM_STREAM; stream_cnt++) {
     funnel_sinkpad[stream_cnt] =
-        gst_element_get_request_pad (app->funnel, "sink_%u");
+        gst_element_request_pad_simple (app->funnel, "sink_%u");
     oggmux_srcpad[stream_cnt] =
         gst_element_get_static_pad (app->oggmux[stream_cnt], "src");
     gst_pad_link (oggmux_srcpad[stream_cnt], funnel_sinkpad[stream_cnt]);
diff --git a/tests/examples/streams/meson.build b/tests/examples/streams/meson.build
index 88dcc11..6414a09 100644
--- a/tests/examples/streams/meson.build
+++ b/tests/examples/streams/meson.build
@@ -1,6 +1,6 @@
 executable('stream-status', 'stream-status.c',
   install: false,
-  dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
+  dependencies : [gst_dep, gmodule_dep, mathlib],
   c_args: gst_c_args,
 )
 
@@ -8,7 +8,7 @@ if cc.has_header('pthread.h')
   threads_dep = dependency('threads')
   executable('rtpool-test', 'rtpool-test.c', 'testrtpool.c',
     install: false,
-    dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep, threads_dep],
+    dependencies : [gst_dep, threads_dep, gmodule_dep, mathlib],
     c_args: gst_c_args,
   )
 endif
diff --git a/tests/misc/netclock-replay.c b/tests/misc/netclock-replay.c
index be81233..e405902 100644
--- a/tests/misc/netclock-replay.c
+++ b/tests/misc/netclock-replay.c
@@ -48,24 +48,6 @@ static GOptionEntry entries[] = {
   {NULL,}
 };
 
-/* g_ascii_string_to_unsigned is available since 2.54. Get rid of this wrapper
- * when we bump the version in 1.18 */
-#if !GLIB_CHECK_VERSION(2,54,0)
-#define g_ascii_string_to_unsigned parse_ascii_string_to_unsigned
-static gboolean
-parse_ascii_string_to_unsigned (const gchar * str, guint base, guint64 min,
-    guint64 max, guint64 * out_num, GError ** error)
-{
-  gchar *endptr = NULL;
-  *out_num = g_ascii_strtoull (str, &endptr, base);
-  if (errno)
-    return FALSE;
-  if (endptr == str)
-    return FALSE;
-  return TRUE;
-}
-#endif
-
 static gboolean
 parse_time_values (const gchar * line, GstClockTime * local_1,
     GstClockTime * remote_1, GstClockTime * remote_2, GstClockTime * local_2)
diff --git a/tests/validate/meson.build b/tests/validate/meson.build
index 4f1ab1e..29e5264 100644
--- a/tests/validate/meson.build
+++ b/tests/validate/meson.build
@@ -1,8 +1,9 @@
 gst_tester = executable('gst-tester-' + apiversion,
     'gst-tester.c',
-    c_args : gst_c_args + ['-DBUILDDIR=' + meson.build_root()],
+    c_args : gst_c_args,
     include_directories : [configinc],
     install: true,
+    install_tag: 'bin-devel',
     dependencies : [gio_dep],
 )
 
@@ -13,7 +14,7 @@ tests = [
 ]
 
 env = environment()
-env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
+env.set('GST_PLUGIN_PATH_1_0', meson.global_build_root())
 env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
 env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), 'validate'))
 env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
@@ -30,4 +31,4 @@ foreach t: tests
     test_file = join_paths(meson.current_source_dir(), t + '.validatetest')
     test(test_name, gst_tester, args: [test_file, '--use-fakesinks'],
         env: test_env, timeout : 3 * 60, protocol: 'tap')
-endforeach
\ No newline at end of file
+endforeach
diff --git a/tools/gst-indent b/tools/gst-indent
deleted file mode 100755
index a9b8bfe..0000000
--- a/tools/gst-indent
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-for execname in gnuindent gindent indent; do
-  version=`$execname --version 2>/dev/null`
-  if test "x$version" != "x"; then
-    INDENT=$execname
-    break
-  fi
-done
-
-if test -z $INDENT; then
-  echo "GStreamer git pre-commit hook:"
-  echo "Did not find GNU indent, please install it before continuing."
-  exit 1
-fi
-
-case `$INDENT --version` in
-  GNU*)
-      ;;
-  default)
-      echo "Did not find GNU indent, please install it before continuing."
-      echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
-      exit 1
-      ;;
-esac
-
-# Run twice. GNU indent isn't idempotent
-# when run once
-for i in 1 2; do
-$INDENT \
-  --braces-on-if-line \
-  --case-brace-indentation0 \
-  --case-indentation2 \
-  --braces-after-struct-decl-line \
-  --line-length80 \
-  --no-tabs \
-  --cuddle-else \
-  --dont-line-up-parentheses \
-  --continuation-indentation4 \
-  --honour-newlines \
-  --tab-size8 \
-  --indent-level2 \
-  --leave-preprocessor-space \
-  $* || exit $?
-done
diff --git a/tools/gst-inspect-1.0.1 b/tools/gst-inspect-1.0.1
index 6cd5c66..6299f4c 100644
--- a/tools/gst-inspect-1.0.1
+++ b/tools/gst-inspect-1.0.1
@@ -81,6 +81,17 @@ Enable printout of errors while loading \fIGStreamer\fP plugins
 .B  \-\-gst\-plugin\-path=PATH
 Add directories separated with ':' to the plugin search path
 .
+.SH "ENVIRONMENT VARIABLES"
+.l
+\fIgst\-inspect\-1.0\fP reads the following environment variables, in addition
+to the generic \fIGStreamer\fP environment variables also described in
+.BR gst\-launch\-1.0 (1):
+.TP 8
+.B GST_LESS
+Override the options passed to \fIless\fR (by default "RXF").
+.br
+See \fBless\fR(1) for more information.
+.
 .SH "SEE ALSO"
 .BR gst\-launch\-1.0 (1),
 .BR gst\-typefind\-1.0 (1)
diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c
index f8a268f..40001a1 100644
--- a/tools/gst-inspect.c
+++ b/tools/gst-inspect.c
@@ -41,15 +41,34 @@
 #   include <sys/wait.h>
 #endif
 
+#ifdef G_OS_WIN32
+/* _isatty() */
+#include <io.h>
+#endif
+
+#ifdef __APPLE__
+#include <TargetConditionals.h>
+#endif
 
 /* "R" : support color
  * "X" : do not clear the screen when leaving the pager
  * "F" : skip the pager if content fit into the screen
+ *
+ * Don't forget to update the manpage gst-inspect-1.0.1
+ * after changing this default.
  */
 #define DEFAULT_LESS_OPTS "RXF"
 
 gboolean colored_output = TRUE;
 
+typedef enum
+{
+  SORT_TYPE_NONE = 0,
+  SORT_TYPE_NAME,               /* default */
+} SortType;
+
+SortType sort_output = SORT_TYPE_NAME;
+
 #ifdef G_OS_UNIX
 static const gchar DEFAULT_PAGER[] = "less";
 GPid child_pid = -1;
@@ -103,6 +122,14 @@ GMainLoop *loop = NULL;
 #define FEATURE_RANK_COLOR    (colored_output? CYAN : "")
 #define FEATURE_PROTO_COLOR   (colored_output? BRYELLOW : "")
 
+#define GST_DOC_BASE_URL "https://gstreamer.freedesktop.org/documentation"
+
+static const gchar *gstreamer_modules[] = {
+  "gstreamer", "gst-plugins-base", "gst-plugins-good", "gst-plugins-ugly",
+  "gst-plugins-bad", "gst-editing-services", "gst-libav", "gst-rtsp-server",
+  "gstreamer-vaapi", NULL
+};
+
 static char *_name = NULL;
 static int indent = 0;
 
@@ -228,9 +255,10 @@ get_rank_name (char *s, gint rank)
 }
 
 static void
-print_factory_details_info (GstElementFactory * factory)
+print_factory_details_info (GstElementFactory * factory, GstPlugin * plugin)
 {
   gchar **keys, **k;
+  gboolean seen_doc_uri = FALSE;
   GstRank rank;
   char s[40];
 
@@ -251,9 +279,42 @@ print_factory_details_info (GstElementFactory * factory)
       key[0] = g_ascii_toupper (key[0]);
       n_print ("%s%-25s%s%s%s\n", PROP_NAME_COLOR, key, PROP_VALUE_COLOR, val,
           RESET_COLOR);
+      seen_doc_uri =
+          seen_doc_uri || g_str_equal (key, GST_ELEMENT_METADATA_DOC_URI);
     }
     g_strfreev (keys);
   }
+
+  if (!seen_doc_uri && plugin != NULL &&
+      !gst_element_factory_get_skip_documentation (factory)) {
+    const gchar *module = gst_plugin_get_source (plugin);
+    const gchar *origin = gst_plugin_get_origin (plugin);
+
+    /* gst-plugins-rs has per-plugin module names so need to check origin there */
+    if (g_strv_contains (gstreamer_modules, module)
+        || (origin != NULL && g_str_has_suffix (origin, "/gst-plugins-rs"))) {
+      GList *features;
+
+      features =
+          gst_registry_get_feature_list_by_plugin (gst_registry_get (),
+          gst_plugin_get_name (plugin));
+
+      /* if the plugin only has a single feature, plugin page == feature page */
+      if (features != NULL && features->next == NULL) {
+        n_print ("%s%-25s%s%s%s/%s/#%s-page%s\n", PROP_NAME_COLOR,
+            "Documentation", RESET_COLOR, PROP_VALUE_COLOR, GST_DOC_BASE_URL,
+            gst_plugin_get_name (plugin), GST_OBJECT_NAME (factory),
+            RESET_COLOR);
+      } else {
+        n_print ("%s%-25s%s%s%s/%s/%s.html%s\n", PROP_NAME_COLOR,
+            "Documentation", RESET_COLOR, PROP_VALUE_COLOR, GST_DOC_BASE_URL,
+            gst_plugin_get_name (plugin), GST_OBJECT_NAME (factory),
+            RESET_COLOR);
+      }
+      gst_plugin_feature_list_free (features);
+    }
+  }
+
   pop_indent ();
   n_print ("\n");
 }
@@ -348,7 +409,7 @@ flags_to_string (GFlagsValue * vals, guint flags)
   G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_DEPRECATED | \
   GST_PARAM_CONTROLLABLE | GST_PARAM_MUTABLE_PLAYING | \
   GST_PARAM_MUTABLE_PAUSED | GST_PARAM_MUTABLE_READY | \
-  GST_PARAM_CONDITIONALLY_AVAILABLE)
+  GST_PARAM_CONDITIONALLY_AVAILABLE | GST_PARAM_DOC_SHOW_DEFAULT)
 
 static int
 sort_gparamspecs (GParamSpec ** a, GParamSpec ** b)
@@ -687,6 +748,15 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class,
         } else if (param->value_type == GST_TYPE_ARRAY) {
           GstParamSpecArray *parray = GST_PARAM_SPEC_ARRAY_LIST (param);
 
+          if (GST_VALUE_HOLDS_ARRAY (&value)) {
+            gchar *def = gst_value_serialize (&value);
+
+            n_print ("%sDefault%s: \"%s\"\n", PROP_ATTR_VALUE_COLOR,
+                RESET_COLOR, def);
+
+            g_free (def);
+          }
+
           if (parray->element_spec) {
             n_print ("%sGstValueArray of GValues of type%s %s\"%s\"%s",
                 PROP_VALUE_COLOR, RESET_COLOR, DATATYPE_COLOR,
@@ -727,10 +797,22 @@ print_element_properties_info (GstElement * element)
       G_OBJECT_GET_CLASS (element), "Element Properties");
 }
 
+static gint
+gst_static_pad_compare_func (gconstpointer p1, gconstpointer p2)
+{
+  GstStaticPadTemplate *pt1, *pt2;
+
+  pt1 = (GstStaticPadTemplate *) p1;
+  pt2 = (GstStaticPadTemplate *) p2;
+
+  return strcmp (pt1->name_template, pt2->name_template);
+}
+
+
 static void
 print_pad_templates_info (GstElement * element, GstElementFactory * factory)
 {
-  const GList *pads;
+  GList *pads, *tmp;
   GstStaticPadTemplate *padtemplate;
   GstPadTemplate *tmpl;
 
@@ -743,10 +825,12 @@ print_pad_templates_info (GstElement * element, GstElementFactory * factory)
     goto done;
   }
 
-  pads = gst_element_factory_get_static_pad_templates (factory);
-  while (pads) {
-    padtemplate = (GstStaticPadTemplate *) (pads->data);
-    pads = g_list_next (pads);
+  pads = g_list_copy ((GList *)
+      gst_element_factory_get_static_pad_templates (factory));
+  pads = g_list_sort (pads, gst_static_pad_compare_func);
+
+  for (tmp = pads; tmp; tmp = tmp->next) {
+    padtemplate = (GstStaticPadTemplate *) (tmp->data);
 
     if (padtemplate->direction == GST_PAD_SRC)
       n_print ("%sSRC template%s: %s'%s'%s\n", PROP_NAME_COLOR, RESET_COLOR,
@@ -803,10 +887,10 @@ print_pad_templates_info (GstElement * element, GstElementFactory * factory)
 
     pop_indent ();
 
-    if (pads != NULL)
+    if (tmp->next)
       n_print ("\n");
   }
-
+  g_list_free (pads);
 done:
   pop_indent ();
 }
@@ -1142,6 +1226,19 @@ print_preset_list (GstElement * element)
   }
 }
 
+static gint
+gst_plugin_name_compare_func (gconstpointer p1, gconstpointer p2)
+{
+  return strcmp (gst_plugin_get_name ((GstPlugin *) p1),
+      gst_plugin_get_name ((GstPlugin *) p2));
+}
+
+static gint
+gst_plugin_feature_name_compare_func (gconstpointer p1, gconstpointer p2)
+{
+  return strcmp (GST_OBJECT_NAME (p1), GST_OBJECT_NAME (p2));
+}
+
 static void
 print_blacklist (void)
 {
@@ -1151,6 +1248,9 @@ print_blacklist (void)
   g_print ("%s%s%s\n", HEADING_COLOR, _("Blacklisted files:"), RESET_COLOR);
 
   plugins = gst_registry_get_plugin_list (gst_registry_get ());
+  if (sort_output == SORT_TYPE_NAME)
+    plugins = g_list_sort (plugins, gst_plugin_name_compare_func);
+
   for (cur = plugins; cur != NULL; cur = g_list_next (cur)) {
     GstPlugin *plugin = (GstPlugin *) (cur->data);
     if (GST_OBJECT_FLAG_IS_SET (plugin, GST_PLUGIN_FLAG_BLACKLISTED)) {
@@ -1196,6 +1296,8 @@ print_element_list (gboolean print_all, gchar * ftypes)
   }
 
   orig_plugins = plugins = gst_registry_get_plugin_list (gst_registry_get ());
+  if (sort_output == SORT_TYPE_NAME)
+    plugins = g_list_sort (plugins, gst_plugin_name_compare_func);
   while (plugins) {
     GList *features, *orig_features;
     GstPlugin *plugin;
@@ -1212,6 +1314,8 @@ print_element_list (gboolean print_all, gchar * ftypes)
     orig_features = features =
         gst_registry_get_feature_list_by_plugin (gst_registry_get (),
         gst_plugin_get_name (plugin));
+    if (sort_output == SORT_TYPE_NAME)
+      features = g_list_sort (features, gst_plugin_feature_name_compare_func);
     while (features) {
       GstPluginFeature *feature;
 
@@ -1313,14 +1417,16 @@ print_all_uri_handlers (void)
   GList *plugins, *p, *features, *f;
 
   plugins = gst_registry_get_plugin_list (gst_registry_get ());
-
+  if (sort_output == SORT_TYPE_NAME)
+    plugins = g_list_sort (plugins, gst_plugin_name_compare_func);
   for (p = plugins; p; p = p->next) {
     GstPlugin *plugin = (GstPlugin *) (p->data);
 
     features =
         gst_registry_get_feature_list_by_plugin (gst_registry_get (),
         gst_plugin_get_name (plugin));
-
+    if (sort_output == SORT_TYPE_NAME)
+      features = g_list_sort (features, gst_plugin_feature_name_compare_func);
     for (f = features; f; f = f->next) {
       GstPluginFeature *feature = GST_PLUGIN_FEATURE (f->data);
 
@@ -1392,15 +1498,18 @@ print_all_uri_handlers (void)
 static void
 print_plugin_info (GstPlugin * plugin)
 {
+  const gchar *plugin_name = gst_plugin_get_name (plugin);
   const gchar *release_date = gst_plugin_get_release_date_string (plugin);
   const gchar *filename = gst_plugin_get_filename (plugin);
+  const gchar *module = gst_plugin_get_source (plugin);
+  const gchar *origin = gst_plugin_get_origin (plugin);
 
   n_print ("%sPlugin Details%s:\n", HEADING_COLOR, RESET_COLOR);
 
   push_indent ();
 
   n_print ("%s%-25s%s%s%s%s\n", PROP_NAME_COLOR, "Name", RESET_COLOR,
-      PROP_VALUE_COLOR, gst_plugin_get_name (plugin), RESET_COLOR);
+      PROP_VALUE_COLOR, plugin_name, RESET_COLOR);
   n_print ("%s%-25s%s%s%s%s\n", PROP_NAME_COLOR, "Description", RESET_COLOR,
       PROP_VALUE_COLOR, gst_plugin_get_description (plugin), RESET_COLOR);
   n_print ("%s%-25s%s%s%s%s\n", PROP_NAME_COLOR, "Filename", RESET_COLOR,
@@ -1410,7 +1519,15 @@ print_plugin_info (GstPlugin * plugin)
   n_print ("%s%-25s%s%s%s%s\n", PROP_NAME_COLOR, "License", RESET_COLOR,
       PROP_VALUE_COLOR, gst_plugin_get_license (plugin), RESET_COLOR);
   n_print ("%s%-25s%s%s%s%s\n", PROP_NAME_COLOR, "Source module", RESET_COLOR,
-      PROP_VALUE_COLOR, gst_plugin_get_source (plugin), RESET_COLOR);
+      PROP_VALUE_COLOR, module, RESET_COLOR);
+
+  /* gst-plugins-rs has per-plugin module names so need to check origin there */
+  if (g_strv_contains (gstreamer_modules, module)
+      || (origin != NULL && g_str_has_suffix (origin, "/gst-plugins-rs"))) {
+    n_print ("%s%-25s%s%s%s/%s/%s\n", PROP_NAME_COLOR, "Documentation",
+        RESET_COLOR, PROP_VALUE_COLOR, GST_DOC_BASE_URL, plugin_name,
+        RESET_COLOR);
+  }
 
   if (release_date != NULL) {
     const gchar *tz = "(UTC)";
@@ -1456,7 +1573,8 @@ print_plugin_features (GstPlugin * plugin)
   origlist = features =
       gst_registry_get_feature_list_by_plugin (gst_registry_get (),
       gst_plugin_get_name (plugin));
-
+  if (sort_output == SORT_TYPE_NAME)
+    features = g_list_sort (features, gst_plugin_feature_name_compare_func);
   while (features) {
     GstPluginFeature *feature;
 
@@ -1597,9 +1715,10 @@ print_element_info (GstPluginFeature * feature, gboolean print_names)
   else
     _name = NULL;
 
-  print_factory_details_info (factory);
-
   plugin = gst_plugin_feature_get_plugin (GST_PLUGIN_FEATURE (factory));
+
+  print_factory_details_info (factory, plugin);
+
   if (plugin) {
     print_plugin_info (plugin);
     gst_object_unref (plugin);
@@ -1885,6 +2004,8 @@ print_all_plugin_automatic_install_info (void)
   GList *plugins, *orig_plugins;
 
   orig_plugins = plugins = gst_registry_get_plugin_list (gst_registry_get ());
+  if (sort_output == SORT_TYPE_NAME)
+    plugins = g_list_sort (plugins, gst_plugin_name_compare_func);
   while (plugins) {
     GstPlugin *plugin;
 
@@ -1902,7 +2023,7 @@ redirect_stdout (void)
 {
   GError *error = NULL;
   gchar **argv;
-  const gchar *pager;
+  const gchar *pager, *less;
   gint stdin_fd;
   gchar **envp;
 
@@ -1912,8 +2033,12 @@ redirect_stdout (void)
 
   argv = g_strsplit (pager, " ", 0);
 
+  less = g_getenv ("GST_LESS");
+  if (less == NULL)
+    less = DEFAULT_LESS_OPTS;
+
   envp = g_get_environ ();
-  envp = g_environ_setenv (envp, "LESS", DEFAULT_LESS_OPTS, TRUE);
+  envp = g_environ_setenv (envp, "LESS", less, TRUE);
 
   if (!g_spawn_async_with_pipes (NULL, argv, envp,
           G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
@@ -1951,8 +2076,23 @@ child_exit_cb (GPid child_pid, gint status, gpointer user_data)
 }
 #endif
 
-int
-main (int argc, char *argv[])
+static gboolean
+_parse_sort_type (const gchar * option_name, const gchar * optarg,
+    gpointer data, GError ** error)
+{
+  if (!g_strcmp0 (optarg, "name")) {
+    sort_output = SORT_TYPE_NAME;
+    return TRUE;
+  } else if (!g_strcmp0 (optarg, "none")) {
+    sort_output = SORT_TYPE_NONE;
+    return TRUE;
+  }
+
+  return FALSE;
+}
+
+static int
+real_main (int argc, char *argv[])
 {
   gboolean print_all = FALSE;
   gboolean do_print_blacklist = FALSE;
@@ -1997,9 +2137,13 @@ main (int argc, char *argv[])
     {"no-colors", '\0', G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE,
           &colored_output,
           N_
-          ("Disable colors in output. You can also achieve the same by setting"
+          ("Disable colors in output. You can also achieve the same by setting "
               "'GST_INSPECT_NO_COLORS' environment variable to any value."),
         NULL},
+    {"sort", '\0', G_OPTION_ARG_NONE, G_OPTION_ARG_CALLBACK, &_parse_sort_type,
+          "Sort plugins and features. Sorting keys: name (default), none.",
+        "<sort-key>"}
+    ,
     {"color", 'C', 0, G_OPTION_ARG_NONE, &color_always,
           N_("Color output, even when not sending to a tty."),
         NULL},
@@ -2104,15 +2248,11 @@ main (int argc, char *argv[])
 #elif defined(G_OS_WIN32)
   {
     /* g_log_writer_supports_color is available since 2.50.0 */
-#if GLIB_CHECK_VERSION(2,50,0)
     gint fd = _fileno (stdout);
     /* On Windows 10, g_log_writer_supports_color will also setup the console
      * so that it correctly interprets ANSI VT sequences if it's supported */
     if (!_isatty (fd) || !g_log_writer_supports_color (fd))
       colored_output = FALSE;
-#else
-    colored_output = FALSE;
-#endif
   }
 #endif
 
@@ -2194,3 +2334,13 @@ done:
 
   return exit_code;
 }
+
+int
+main (int argc, char *argv[])
+{
+#if defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE
+  return gst_macos_main ((GstMainFunc) real_main, argc, argv, NULL);
+#else
+  return real_main (argc, argv);
+#endif
+}
diff --git a/tools/gst-launch-1.0.1 b/tools/gst-launch-1.0.1
index 19f05bf..8195768 100644
--- a/tools/gst-launch-1.0.1
+++ b/tools/gst-launch-1.0.1
@@ -11,7 +11,7 @@ gst\-launch\-1.0 \- build and run a GStreamer pipeline
 In simple form, a PIPELINE\-DESCRIPTION is a list of
 elements separated by exclamation marks (!). Properties may be appended to
 elements, in the form \fIproperty=value\fR. A "preset" can also be set using
-the \fI@preset=<preset name>\fR synthax.
+the \fI@preset=<preset name>\fR syntax.
 
 For a complete description of possible PIPELINE-DESCRIPTIONS see the section
 \fIpipeline description\fR below or consult the GStreamer documentation.
diff --git a/tools/gst-launch.c b/tools/gst-launch.c
index 2e8efa5..7d93993 100644
--- a/tools/gst-launch.c
+++ b/tools/gst-launch.c
@@ -46,6 +46,13 @@
 #endif
 #include <locale.h>             /* for LC_ALL */
 #include "tools.h"
+#ifdef HAVE_WINMM
+#include <mmsystem.h>
+#endif
+
+#ifdef __APPLE__
+#include <TargetConditionals.h>
+#endif
 
 extern volatile gboolean glib_on_error_halt;
 
@@ -1030,8 +1037,45 @@ query_pipeline_position (gpointer user_data)
   return G_SOURCE_CONTINUE;
 }
 
-int
-main (int argc, char *argv[])
+#ifdef HAVE_WINMM
+static guint
+enable_winmm_timer_resolution (void)
+{
+  TIMECAPS time_caps;
+  guint resolution = 0;
+  MMRESULT res;
+
+  res = timeGetDevCaps (&time_caps, sizeof (TIMECAPS));
+  if (res != TIMERR_NOERROR) {
+    g_warning ("timeGetDevCaps() returned non-zero code %d", res);
+    return 0;
+  }
+
+  resolution = MIN (MAX (time_caps.wPeriodMin, 1), time_caps.wPeriodMax);
+  res = timeBeginPeriod (resolution);
+  if (res != TIMERR_NOERROR) {
+    g_warning ("timeBeginPeriod() returned non-zero code %d", res);
+    return 0;
+  }
+
+  PRINT (_("Use Windows high-resolution clock, precision: %u ms\n"),
+      resolution);
+
+  return resolution;
+}
+
+static void
+clear_winmm_timer_resolution (guint resolution)
+{
+  if (resolution == 0)
+    return;
+
+  timeEndPeriod (resolution);
+}
+#endif
+
+static int
+real_main (int argc, char *argv[])
 {
   /* options */
   gboolean verbose = FALSE;
@@ -1092,6 +1136,9 @@ main (int argc, char *argv[])
   gulong deep_notify_id = 0;
   guint bus_watch_id = 0;
   GSource *position_source = NULL;
+#ifdef HAVE_WINMM
+  guint winmm_timer_resolution = 0;
+#endif
 
   free (malloc (8));            /* -lefence */
 
@@ -1106,6 +1153,7 @@ main (int argc, char *argv[])
   g_set_prgname ("gst-launch-" GST_API_VERSION);
   /* Ensure XInitThreads() is called if/when needed */
   g_setenv ("GST_GL_XINITTHREADS", "1", TRUE);
+  g_setenv ("GST_XINITTHREADS", "1", TRUE);
 
 #ifndef GST_DISABLE_OPTION_PARSING
   ctx = g_option_context_new ("PIPELINE-DESCRIPTION");
@@ -1174,6 +1222,23 @@ main (int argc, char *argv[])
       gst_bin_add (GST_BIN (real_pipeline), pipeline);
       pipeline = real_pipeline;
     }
+#ifdef HAVE_WINMM
+    /* Enable high-precision clock which will improve accuracy of various
+     * Windows timer APIs (e.g., Sleep()), and it will increase the precision
+     * of GstSystemClock as well
+     */
+
+    /* NOTE: Once timer resolution is updated via timeBeginPeriod(),
+     * application should undo it by calling timeEndPeriod()
+     *
+     * Prior to Windows 10, version 2004, timeBeginPeriod() affects global
+     * Windows setting (meaning that it will affect other processes),
+     * but starting with Windows 10, version 2004, this function no longer
+     * affects global timer resolution
+     */
+    winmm_timer_resolution = enable_winmm_timer_resolution ();
+#endif
+
     if (verbose) {
       deep_notify_id =
           gst_element_add_property_deep_notify_watch (pipeline, NULL, TRUE);
@@ -1285,6 +1350,11 @@ main (int argc, char *argv[])
 #endif
     g_source_remove (bus_watch_id);
     g_main_loop_unref (loop);
+
+#ifdef HAVE_WINMM
+    /* Undo timeBeginPeriod() if required */
+    clear_winmm_timer_resolution (winmm_timer_resolution);
+#endif
   }
 
   PRINT (_("Freeing pipeline ...\n"));
@@ -1294,3 +1364,13 @@ main (int argc, char *argv[])
 
   return last_launch_code;
 }
+
+int
+main (int argc, char *argv[])
+{
+#if defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE
+  return gst_macos_main ((GstMainFunc) real_main, argc, argv, NULL);
+#else
+  return real_main (argc, argv);
+#endif
+}
diff --git a/tools/gst-stats.c b/tools/gst-stats.c
index 8b49090..597c1ba 100644
--- a/tools/gst-stats.c
+++ b/tools/gst-stats.c
@@ -47,6 +47,8 @@ static GstClockTime last_ts = G_GUINT64_CONSTANT (0);
 static guint total_cpuload = 0;
 static gboolean have_cpuload = FALSE;
 
+static GPtrArray *plugin_stats = NULL;
+
 static gboolean have_latency = FALSE;
 static gboolean have_element_latency = FALSE;
 static gboolean have_element_reported_latency = FALSE;
@@ -122,6 +124,22 @@ typedef struct
   guint cpuload;
 } GstThreadStats;
 
+static const gchar *FACTORY_TYPES[] = {
+  "element",
+  "device-provider",
+  "typefind",
+  "dynamic-type",
+};
+
+#define N_FACTORY_TYPES G_N_ELEMENTS(FACTORY_TYPES)
+
+typedef struct
+{
+  gchar *name;
+
+  GPtrArray *factories[N_FACTORY_TYPES];
+} GstPluginStats;
+
 /* stats helper */
 
 static gint
@@ -283,6 +301,36 @@ free_thread_stats (gpointer data)
   g_slice_free (GstThreadStats, data);
 }
 
+static GstPluginStats *
+new_plugin_stats (const gchar * plugin_name)
+{
+  GstPluginStats *plugin = g_slice_new (GstPluginStats);
+  guint i;
+
+  plugin->name = g_strdup (plugin_name);
+
+  for (i = 0; i < N_FACTORY_TYPES; i++)
+    plugin->factories[i] = g_ptr_array_new_with_free_func (g_free);
+
+  g_ptr_array_add (plugin_stats, plugin);
+
+  return plugin;
+}
+
+static void
+free_plugin_stats (gpointer data)
+{
+  GstPluginStats *plugin = data;
+  guint i;
+
+  g_free (plugin->name);
+
+  for (i = 0; i < N_FACTORY_TYPES; i++)
+    g_ptr_array_unref (plugin->factories[i]);
+
+  g_slice_free (GstPluginStats, data);
+}
+
 static void
 do_pad_stats (GstPadStats * stats, guint elem_ix, guint size, guint64 ts,
     guint64 buffer_ts, guint64 buffer_dur, GstBufferFlags buffer_flags)
@@ -608,6 +656,48 @@ do_element_reported_latency (GstStructure * s)
   have_element_reported_latency = TRUE;
 }
 
+static void
+do_factory_used (GstStructure * s)
+{
+  const gchar *factory = NULL;
+  const gchar *factory_type = NULL;
+  const gchar *plugin_name = NULL;
+  GstPluginStats *plugin = NULL;
+  guint i, f;
+
+  factory = gst_structure_get_string (s, "factory");
+  factory_type = gst_structure_get_string (s, "factory-type");
+  plugin_name = gst_structure_get_string (s, "plugin");
+
+  if (!g_strcmp0 (plugin_name, "staticelements"))
+    return;
+
+  if (plugin_name == NULL || plugin_name[0] == 0)
+    plugin_name = "built-in";
+
+  for (f = 0; f < N_FACTORY_TYPES; f++)
+    if (!g_strcmp0 (factory_type, FACTORY_TYPES[f]))
+      break;
+  if (f == N_FACTORY_TYPES)
+    return;
+
+  for (i = 0; i < plugin_stats->len; i++) {
+    GstPluginStats *tmp_plugin = g_ptr_array_index (plugin_stats, i);
+    if (!strcmp (tmp_plugin->name, plugin_name)) {
+      plugin = tmp_plugin;
+      break;
+    }
+  }
+
+  if (plugin == NULL)
+    plugin = new_plugin_stats (plugin_name);
+
+  if (factory && factory[0] &&
+      !g_ptr_array_find_with_equal_func (plugin->factories[f], factory,
+          g_str_equal, NULL))
+    g_ptr_array_add (plugin->factories[f], g_strdup (factory));
+}
+
 /* reporting */
 
 static gint
@@ -874,6 +964,8 @@ init (void)
       free_latency_stats);
   element_reported_latencies = g_queue_new ();
 
+  plugin_stats = g_ptr_array_new_with_free_func (free_plugin_stats);
+
   return TRUE;
 }
 
@@ -902,12 +994,32 @@ done (void)
     element_reported_latencies = NULL;
   }
 
+  g_clear_pointer (&plugin_stats, g_ptr_array_unref);
+
   if (raw_log)
     g_regex_unref (raw_log);
   if (ansi_log)
     g_regex_unref (ansi_log);
 }
 
+static gint
+compare_plugin_stats (gconstpointer a, gconstpointer b)
+{
+  const GstPluginStats *plugin_a = *(GstPluginStats **) a;
+  const GstPluginStats *plugin_b = *(GstPluginStats **) b;
+
+  return strcmp (plugin_a->name, plugin_b->name);
+}
+
+static gint
+compare_string (gconstpointer a, gconstpointer b)
+{
+  const char *str_a = *(const char **) a;
+  const char *str_b = *(const char **) b;
+
+  return strcmp (str_a, str_b);
+}
+
 static void
 print_stats (void)
 {
@@ -1012,6 +1124,43 @@ print_stats (void)
         (GFunc) reported_latencies_foreach_print_stats, NULL);
     puts ("");
   }
+
+  if (plugin_stats->len > 0) {
+    guint i, j, f;
+
+    g_ptr_array_sort (plugin_stats, compare_plugin_stats);
+
+    printf ("Plugins used: ");
+    for (i = 0; i < plugin_stats->len; i++) {
+      GstPluginStats *ps = g_ptr_array_index (plugin_stats, i);
+      printf ("%s%s", i == 0 ? "" : ";", ps->name);
+    }
+    printf ("\n");
+
+    for (f = 0; f < N_FACTORY_TYPES; f++) {
+      gboolean first = TRUE;
+
+      printf ("%c%ss: ", g_ascii_toupper (FACTORY_TYPES[f][0]),
+          FACTORY_TYPES[f] + 1);
+      for (i = 0; i < plugin_stats->len; i++) {
+        GstPluginStats *ps = g_ptr_array_index (plugin_stats, i);
+
+        if (ps->factories[f]->len > 0) {
+          printf ("%s%s:", first ? "" : ";", ps->name);
+          first = FALSE;
+
+          g_ptr_array_sort (ps->factories[f], compare_string);
+
+          for (j = 0; j < ps->factories[f]->len; j++) {
+            const gchar *factory = g_ptr_array_index (ps->factories[f], j);
+
+            printf ("%s%s", j == 0 ? "" : ",", factory);
+          }
+        }
+      }
+      printf ("\n");
+    }
+  }
 }
 
 static void
@@ -1072,6 +1221,8 @@ collect_stats (const gchar * filename)
                   do_element_latency_stats (s);
                 } else if (!strcmp (name, "element-reported-latency")) {
                   do_element_reported_latency (s);
+                } else if (!strcmp (name, "factory-used")) {
+                  do_factory_used (s);
                 } else {
                   // TODO(ensonic): parse the xxx.class log lines
                   if (!g_str_has_suffix (data, ".class")) {
diff --git a/tools/gst-typefind.c b/tools/gst-typefind.c
index 490aca8..b6b1b8a 100644
--- a/tools/gst-typefind.c
+++ b/tools/gst-typefind.c
@@ -29,6 +29,10 @@
 #include <string.h>
 #include <locale.h>
 
+#ifdef __APPLE__
+#include <TargetConditionals.h>
+#endif
+
 #include "tools.h"
 
 static void
@@ -134,8 +138,8 @@ typefind_file (const gchar * filename)
   gst_object_unref (pipeline);
 }
 
-int
-main (int argc, char *argv[])
+static int
+real_main (int argc, char *argv[])
 {
   gchar **filenames = NULL;
   guint num, i;
@@ -185,3 +189,13 @@ main (int argc, char *argv[])
 
   return 0;
 }
+
+int
+main (int argc, char *argv[])
+{
+#if defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE
+  return gst_macos_main ((GstMainFunc) real_main, argc, argv, NULL);
+#else
+  return real_main (argc, argv);
+#endif
+}
diff --git a/tools/meson.build b/tools/meson.build
index 1e33811..cc1ec2f 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,21 +1,55 @@
+# If tools are disabled, we still allow building them against gst-full
+# later, so populate the gst_tools dictionary in any case.
+gst_tools = {}
+
 tools = ['gst-inspect', 'gst-stats', 'gst-typefind']
 
+extra_launch_dep = []
+extra_launch_arg = []
+
 if gst_parse
+  if host_system == 'windows' and not building_for_uwp
+    winmm_lib = cc.find_library('winmm', required: false)
+    if winmm_lib.found() and cc.has_header('mmsystem.h')
+      extra_launch_dep += [winmm_lib]
+      extra_launch_arg += ['-DHAVE_WINMM']
+    endif
+  endif
+
   tools += ['gst-launch']
 endif
 
 foreach tool : tools
   exe_name = '@0@-@1@'.format(tool, apiversion)
   src_file = '@0@.c'.format(tool)
+  extra_deps = []
+  extra_c_args = []
+
+  if tool == 'gst-launch'
+    extra_deps += extra_launch_dep
+    extra_c_args += extra_launch_arg
+  endif
+
+  man_page = files('@0@-1.0.1'.format(tool))
+  if not get_option('tools').disabled()
+    executable(exe_name,
+      src_file,
+      install: true,
+      install_tag: 'bin',
+      include_directories : [configinc],
+      dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep] + extra_deps,
+      c_args: gst_c_args + extra_c_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
+    )
 
-  executable(exe_name,
-    src_file,
-    install: true,
-    include_directories : [configinc],
-    dependencies : [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep],
-    c_args: gst_c_args,
-  )
+    install_man(man_page)
+  endif
 
-  man_page = '@0@-1.0.1'.format(tool)
-  install_man(man_page)
+  gst_tools += {tool:
+    {
+      'files': files(src_file),
+      'deps': [glib_dep, gobject_dep, gmodule_dep, mathlib, gst_dep] + extra_deps,
+      'extra_c_args': extra_c_args,
+      'man_page': man_page,
+    }
+  }
 endforeach
diff --git a/tools/tools.h b/tools/tools.h
index fb24718..bda8cf4 100644
--- a/tools/tools.h
+++ b/tools/tools.h
@@ -26,7 +26,7 @@
 #include <stdlib.h>
 
 #include <gst/gst.h>
-#include "gst/gst-i18n-app.h"
+#include <glib/gi18n.h>
 
 /*
  * This is a kind of hacky way to make all the tools use the same version code.
-- 
GitLab